:root{
  --bg:#0b1220;
  --panel:#0f1b33;
  --panel2:#101e3a;
  --text:#eaf0ff;
  --muted:#a9b7d6;
  --line:rgba(255,255,255,.12);
  --chip:rgba(255,255,255,.08);
  --tag:rgba(84, 151, 255, .18);
  --accent:#5aa0ff;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  background: radial-gradient(1000px 600px at 20% -10%, rgba(90,160,255,.20), transparent 60%),
              radial-gradient(900px 700px at 100% 0%, rgba(255,140,90,.14), transparent 55%),
              var(--bg);
  color:var(--text);
}
a{color:var(--accent)}
.container{max-width:1080px; padding:28px 18px; margin:0 auto}
.header{
  display:grid;
  grid-template-columns: 1fr 220px;
  gap:24px;
  align-items:start;
}
.kicker{color:var(--muted); letter-spacing:.14em; text-transform:uppercase; font-size:12px}
.title{margin:10px 0 6px 0; font-size:44px; line-height:1.06}
.subtitle{color:var(--muted); font-size:15px; line-height:1.4}
.meta{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin:14px 0 12px}
.meta__k{color:var(--muted); margin-right:8px}
.meta__v{font-weight:600}
.summary{margin:10px 0 14px; color:rgba(234,240,255,.92); line-height:1.7}
.chips{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 16px}
.chip{
  background:var(--chip);
  border:1px solid var(--line);
  padding:8px 10px;
  border-radius:999px;
  color:rgba(234,240,255,.92);
  font-size:13px;
}
.notice{
  background:linear-gradient(180deg, rgba(90,160,255,.16), rgba(90,160,255,.06));
  border:1px solid rgba(90,160,255,.22);
  border-radius:14px;
  padding:12px 14px;
  color:rgba(234,240,255,.92);
  line-height:1.6;
}
.avatar{
  width:220px;
  height:280px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  background:rgba(255,255,255,.06);
}

.section{margin-top:18px}
.section__title{
  margin:20px 0 12px;
  font-size:18px;
  letter-spacing:.06em;
  color:rgba(234,240,255,.95);
}
.grid2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}
.gallery{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}
.card{
  background:linear-gradient(180deg, var(--panel), var(--panel2));
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.card--pad{padding:14px 16px}
.card img{width:100%; height:320px; object-fit:cover; display:block}
.card figcaption{padding:10px 12px; color:var(--muted); font-size:13px}
.card__h{font-weight:700; margin-bottom:8px}
.list{margin:8px 0 0 18px; padding:0; color:rgba(234,240,255,.92); line-height:1.7}
.timeline{display:grid; gap:14px}
.item{background:linear-gradient(180deg, var(--panel), var(--panel2)); border:1px solid var(--line); border-radius:16px; padding:14px 16px; box-shadow:var(--shadow)}
.item__h{font-weight:700; margin-bottom:6px}
.muted{color:var(--muted); font-weight:500}
.projects{display:grid; gap:14px}
.proj__h{font-weight:800; margin-bottom:6px}
.proj__meta{color:var(--muted); font-size:13px; margin-bottom:8px}
.tag{
  display:inline-block;
  margin-left:8px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--tag);
  border:1px solid rgba(90,160,255,.25);
  color:rgba(234,240,255,.92);
  font-weight:600;
  font-size:12px;
}
.footer{padding:26px 0 40px; color:var(--muted); text-align:center}

@media (max-width: 880px){
  .header{grid-template-columns:1fr; }
  .meta{grid-template-columns:1fr}
  .avatar{width:180px; height:230px}
  .header__right{display:flex; justify-content:flex-start}
  .grid2{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .card img{height:260px}
}

