:root{
  --text:#f2f6ff;
  --muted:#b7c5db;
  --soft:#8195ba;
  --line:rgba(255,255,255,.14);
  --glass:rgba(23,46,80,.62);
  --glass-light:rgba(255,255,255,.08);
  --nav:rgba(8,24,48,.86);
  --accent:#8d8cff;
  --cyan:#86f7ff;
  --pink:#e899ff;
  --green:#9dffd4;
  --warm:#ffd28a;
  --shadow:0 28px 90px rgba(0,0,0,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;
  color:var(--text);
  background:#07162a;
  overflow-x:hidden;
}
body.light{
  --text:#14213d;--muted:#53647e;--soft:#64748b;--line:rgba(20,40,80,.16);
  --glass:rgba(255,255,255,.62);--glass-light:rgba(255,255,255,.48);--nav:rgba(239,246,255,.82);
}
a{text-decoration:none;color:inherit}
.bg{
  position:fixed;inset:0;z-index:-6;
  background:
    linear-gradient(rgba(7,22,42,.24),rgba(7,22,42,.80)),
    radial-gradient(circle at 47% 17%,rgba(255,255,255,.24),transparent 9rem),
    radial-gradient(circle at 68% 18%,rgba(232,153,255,.28),transparent 14rem),
    radial-gradient(circle at 18% 42%,rgba(28,114,200,.55),transparent 24rem),
    radial-gradient(circle at 86% 75%,rgba(96,55,190,.40),transparent 22rem),
    linear-gradient(135deg,#0b3766 0%,#0a1a34 56%,#2a1453 100%);
}
.skyline{
  position:fixed;left:0;right:0;bottom:0;height:180px;z-index:-4;opacity:.28;
  background:
    linear-gradient(transparent 0 40%,rgba(10,20,42,.9) 40% 100%),
    repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,255,255,.16) 19px 21px,transparent 22px 60px);
  mask-image:linear-gradient(transparent,black 55%);
}
.stars{position:fixed;inset:0;pointer-events:none;z-index:-3}
.star{
  position:absolute;width:5px;height:5px;border-radius:50%;
  background:var(--green);box-shadow:0 0 18px var(--green);
  animation:twinkle 3s ease-in-out infinite;
}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.3)}}
.orb{position:fixed;width:440px;height:440px;border-radius:50%;filter:blur(90px);z-index:-5;opacity:.42}
.orb-a{left:-150px;bottom:8%;background:#1d7bd0}
.orb-b{right:-130px;top:8%;background:#7b3be8}
.nav-bar{
  position:sticky;top:0;z-index:40;height:74px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 max(24px,calc((100vw - 1180px)/2));
  background:var(--nav);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.site-name{display:flex;align-items:center;gap:12px;font-weight:900}
.logo{
  display:grid;place-items:center;width:38px;height:38px;border-radius:13px;
  background:linear-gradient(135deg,var(--accent),var(--pink));
  box-shadow:0 0 26px rgba(141,140,255,.36);
}
.nav-bar nav{display:flex;gap:6px}
.nav-bar nav a{
  padding:10px 14px;border-radius:15px;color:var(--muted);
  font-weight:800;font-size:14px;transition:.2s;
}
.nav-bar nav a:hover,.nav-bar nav a.active{color:var(--text);background:rgba(141,140,255,.18)}
main{width:min(1180px,calc(100% - 32px));margin:0 auto}
.hero-layout{
  min-height:calc(100vh - 74px);
  display:grid;grid-template-columns:330px 1fr;gap:24px;
  align-items:center;padding:44px 0 34px;
}
.glass{
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--glass),rgba(22,43,75,.42));
  backdrop-filter:blur(22px);
  box-shadow:var(--shadow);
}
.side-card{border-radius:30px;padding:26px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.avatar-wrap{position:relative;width:104px;height:104px;margin-bottom:18px}
.avatar{
  width:104px;height:104px;border-radius:26px;padding:4px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--pink),var(--cyan));
  font-size:34px;font-weight:950;
}
.avatar-wrap i{
  position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;border-radius:50%;
  background:var(--green);border:4px solid rgba(10,25,50,.95);
}
h1,h2,h3,p{margin-top:0}
h1{margin:0 0 10px;font-size:34px;letter-spacing:-.04em}
h2{font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.055em;margin-bottom:18px}
h3{font-size:24px;margin-bottom:10px}
.role,.bio,.music-card p,.feature-text p,.post p,.project p,.about-card p{color:var(--muted);line-height:1.72}
.bio{margin:22px 0}
.mini-stats{display:grid;gap:10px;margin:10px 0 22px}
.mini-stats div{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}
.mini-stats b{color:var(--warm);font-size:24px}
.mini-stats span{color:var(--soft);font-size:13px}
.link-row{display:flex;flex-wrap:wrap;gap:10px}
.link-row a,.quick-btn{
  padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.08);
  border:1px solid var(--line);transition:.2s;
}
.link-row a:hover{transform:translateY(-3px);background:rgba(141,140,255,.18)}
.main-hero{display:grid;gap:20px}
.search-box{
  height:66px;width:min(640px,100%);margin:0 auto;
  display:flex;align-items:center;gap:14px;padding:0 22px;border-radius:25px;
  background:rgba(22,43,75,.72);border:1px solid var(--line);
  box-shadow:var(--shadow);backdrop-filter:blur(18px);
}
.search-box span{font-size:28px;color:var(--soft)}
.search-box input{width:100%;border:0;outline:none;background:transparent;color:var(--text);font-size:18px}
.search-box input::placeholder{color:var(--soft)}
.banner{
  min-height:300px;border-radius:32px;padding:34px;
  display:grid;grid-template-columns:1fr 260px;gap:28px;align-items:center;
  position:relative;overflow:hidden;
}
.banner::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background:radial-gradient(circle at 75% 22%,rgba(134,247,255,.18),transparent 18rem),radial-gradient(circle at 20% 90%,rgba(232,153,255,.18),transparent 18rem);
}
.banner>*{position:relative}
.kicker,.section-title p,.mini-title{
  margin:0 0 11px;color:var(--cyan);letter-spacing:.14em;font-weight:950;font-size:13px;
}
.banner p{max-width:620px;color:var(--muted);line-height:1.8}
.moon-card{
  min-height:220px;border-radius:28px;display:flex;flex-direction:column;justify-content:space-between;
  padding:24px;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
  border:1px solid var(--line);
}
.moon-card span{color:var(--warm);font-weight:900}
.moon-card b{font-size:38px;line-height:1.05;letter-spacing:-.04em}
.widget-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.music-card,.todo-card{border-radius:30px;padding:26px}
.music-top{display:flex;gap:18px;align-items:center}
.disc{
  width:76px;height:76px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle,#ffd0ff,#8d8cff 45%,#1b2442 65%);
  border:4px solid rgba(255,255,255,.18);font-size:28px;
}
.badge{
  display:inline-flex;margin-bottom:9px;padding:5px 9px;border-radius:8px;
  font-size:12px;letter-spacing:.12em;font-weight:950;color:#e8edff;background:rgba(141,140,255,.2);
}
.progress{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;margin:26px 0;color:var(--muted);font-weight:800}
.progress i{height:7px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.progress b{display:block;width:42%;height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan))}
.controls{display:flex;justify-content:center;gap:14px}
.controls button{
  width:42px;height:42px;border:0;border-radius:50%;
  color:var(--text);background:rgba(255,255,255,.08);cursor:pointer;
}
.controls .play{width:56px;height:56px;background:linear-gradient(135deg,var(--accent),var(--pink))}
.todo-card ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.todo-card li{padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.07);color:var(--muted)}
.quote-card{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:6px;padding:22px 30px;border-radius:25px;background:rgba(5,10,28,.78)}
.quote-card strong{text-align:center;line-height:1.6}.quote-card span{color:var(--accent);letter-spacing:.3em}
.section{padding:74px 0}.section-title{margin-bottom:28px}
.feature-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:18px}
.feature-card{border-radius:28px;overflow:hidden;transition:.24s}
.feature-card:hover,.post:hover,.project:hover{transform:translateY(-6px);border-color:rgba(134,247,255,.34)}
.feature-card.big{grid-row:span 2}
.fake-img{height:210px;display:flex;align-items:flex-end;padding:24px;background-size:cover}
.big .fake-img{height:320px}
.fake-img span{font-weight:950;font-size:28px;text-shadow:0 4px 20px rgba(0,0,0,.4)}
.fake-img.water{background:linear-gradient(135deg,rgba(0,0,0,.04),rgba(0,0,0,.40)),radial-gradient(circle at 30% 30%,#74d6ff,transparent 32%),linear-gradient(135deg,#0a315a,#1c6c80 48%,#0d1f3a)}
.fake-img.paper{background:linear-gradient(135deg,rgba(0,0,0,.04),rgba(0,0,0,.40)),radial-gradient(circle at 70% 30%,#f0d7a3,transparent 32%),linear-gradient(135deg,#33251c,#6d5035 48%,#18233c)}
.fake-img.server{background:linear-gradient(135deg,rgba(0,0,0,.04),rgba(0,0,0,.40)),radial-gradient(circle at 30% 30%,#a78bfa,transparent 32%),linear-gradient(135deg,#13223e,#253c78 48%,#140d2a)}
.feature-text{padding:24px}
.feature-text span,.post span,.project span{display:inline-flex;margin-bottom:12px;color:var(--cyan);font-size:13px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.post-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.post{min-height:220px;padding:22px;border-radius:24px;transition:.24s}
.project-list{display:grid;gap:16px}
.project{display:flex;justify-content:space-between;gap:24px;padding:26px;border-radius:26px;transition:.24s}
.project b{font-size:42px;color:rgba(255,255,255,.18)}
.about-card{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center;padding:32px;border-radius:30px}
.about-card a{color:var(--cyan);font-weight:900}
.mascot{min-height:170px;display:grid;place-items:center;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid var(--line)}
.cat{font-family:Consolas,monospace;font-size:48px;color:var(--warm)}.mascot span{color:var(--soft);font-size:13px}
.float-tools{position:fixed;right:26px;bottom:28px;display:grid;gap:12px;z-index:60}
.float-tools a,.float-tools button{width:50px;height:50px;border-radius:18px;border:1px solid var(--line);display:grid;place-items:center;background:rgba(29,61,103,.72);color:var(--text);backdrop-filter:blur(16px);cursor:pointer;box-shadow:0 14px 36px rgba(0,0,0,.24)}
footer{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 46px;display:flex;justify-content:space-between;gap:18px;color:var(--muted);border-top:1px solid var(--line);font-size:14px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
.hide{display:none!important}
@media(max-width:1050px){.hero-layout{grid-template-columns:1fr}.side-card{align-self:auto}.banner{grid-template-columns:1fr}.widget-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.nav-bar nav{display:none}.hero-layout{padding-top:24px}.post-grid{grid-template-columns:1fr}.about-card{grid-template-columns:1fr}.quote-card{flex-direction:column;align-items:flex-start}.feature-card.big{grid-row:auto}footer{flex-direction:column}.banner{padding:26px}.side-card{padding:24px}}
