
:root{
  --bg1:#eef8ff;
  --bg2:#f7f4ff;
  --card:rgba(255,255,255,.82);
  --card-strong:rgba(255,255,255,.9);
  --line:rgba(116,201,234,.18);
  --line-strong:rgba(116,201,234,.28);
  --text:#445a70;
  --text-soft:#7c8ea1;
  --primary:#74c9ea;
  --primary-deep:#4aa8d1;
  --secondary:#c9b7ff;
  --danger:#e67b95;
  --shadow:0 18px 40px rgba(116,201,234,.14);
  --shadow-soft:0 10px 24px rgba(116,201,234,.08);
  --radius-xl:34px;
  --radius-lg:26px;
  --radius-md:22px;
  --radius-sm:18px;
  --max-width:1180px;
}
:root[data-theme="dream"]{
  --bg1:#f4efff;
  --bg2:#eef8ff;
  --card:rgba(255,255,255,.84);
  --card-strong:rgba(255,255,255,.9);
  --line:rgba(201,183,255,.22);
  --line-strong:rgba(201,183,255,.34);
  --text:#584f73;
  --text-soft:#867e9f;
  --primary:#ad99ff;
  --primary-deep:#8775ee;
  --secondary:#7bd6ff;
}
:root[data-theme="dark"]{
  --bg1:#101620;
  --bg2:#1b2331;
  --card:rgba(23,33,49,.84);
  --card-strong:rgba(25,37,56,.92);
  --line:rgba(108,152,255,.16);
  --line-strong:rgba(108,152,255,.28);
  --text:#d7e3f3;
  --text-soft:#8fa1ba;
  --primary:#6eaefc;
  --primary-deep:#4f90ea;
  --secondary:#9e86ff;
  --danger:#ff8fb1;
  --shadow:0 18px 40px rgba(0,0,0,.22);
  --shadow-soft:0 10px 24px rgba(0,0,0,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 12%, rgba(116,201,234,.18), transparent 16%),
    radial-gradient(circle at 88% 8%, rgba(201,183,255,.2), transparent 18%),
    linear-gradient(135deg,var(--bg1),var(--bg2));
  min-height:100vh;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.88) 0 1px, transparent 1.3px),
    radial-gradient(circle, rgba(255,255,255,.52) 0 1px, transparent 1.3px);
  background-size:160px 160px, 220px 220px;
  background-position:18px 24px, 120px 140px;
  opacity:.38;
  animation:floatDust 16s linear infinite;
}
@keyframes floatDust{
  from{transform:translateY(0)}
  50%{transform:translateY(-8px)}
  to{transform:translateY(0)}
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{display:block;max-width:100%}
.container{width:min(var(--max-width), calc(100% - 28px));margin:0 auto}
.glass{
  background:var(--card);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.84);
  box-shadow:var(--shadow);
}
.nav-wrap{position:sticky;top:14px;z-index:40;padding-top:14px}
.nav{
  width:min(var(--max-width), calc(100% - 28px));margin:0 auto;padding:14px 18px;
  display:flex;justify-content:space-between;align-items:center;gap:14px;border-radius:999px;
  background:rgba(255,255,255,.72);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.88);box-shadow:0 12px 28px rgba(116,201,234,.12);
}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px;white-space:nowrap}
.brand-badge{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  box-shadow:0 10px 22px rgba(116,201,234,.18)
}
.nav-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.nav-links a,.nav-links button{
  padding:10px 14px;border-radius:999px;border:none;background:transparent;cursor:pointer;
  color:var(--text-soft);font-size:14px
}
.nav-links a:hover,.nav-links button:hover{background:rgba(255,255,255,.24);color:var(--primary-deep)}
.theme-switcher{display:flex;gap:8px;flex-wrap:wrap}
.theme-chip{
  padding:8px 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.18);color:var(--text-soft);cursor:pointer;font-size:12px
}
.theme-chip.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-color:transparent}
.hero{padding:44px 0 0}
.hero-card{
  display:grid;grid-template-columns:1.08fr .92fr;gap:24px;padding:clamp(28px,4vw,42px);border-radius:var(--radius-xl);
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.64)),
    radial-gradient(circle at 18% 20%, rgba(191,233,255,.86), transparent 24%),
    radial-gradient(circle at 86% 12%, rgba(205,183,255,.38), transparent 18%),
    linear-gradient(180deg, #fbfeff 0%, #eef8ff 100%);
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;margin-bottom:18px;
  background:rgba(255,255,255,.78);border:1px solid var(--line);font-size:13px;color:var(--primary-deep)
}
.hero h1{font-size:clamp(42px,7vw,72px);line-height:1.06;margin-bottom:12px;letter-spacing:2px}
.hero-typing{min-height:28px;font-size:18px;font-weight:700;color:var(--primary-deep);margin-bottom:14px}
.lead{font-size:clamp(16px,2.1vw,20px);line-height:1.9;color:var(--text-soft);max-width:680px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.btn{
  border:none;border-radius:999px;padding:14px 22px;cursor:pointer;font-size:15px;font-weight:700;transition:.22s ease
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-deep))}
.btn-secondary{color:var(--primary-deep);background:rgba(255,255,255,.84);border:1px solid var(--line)}
.btn-danger{color:#fff;background:linear-gradient(135deg,var(--danger),#d85f7f)}
.hero-visual{min-height:420px;display:grid;place-items:center;position:relative}
.visual-stack{position:relative;width:min(100%,370px);aspect-ratio:1/1.1}
.visual-card{
  position:absolute;inset:0;border-radius:34px;padding:14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.72)),
    linear-gradient(135deg, rgba(191,233,255,.56), rgba(205,183,255,.26));
  border:1px solid rgba(255,255,255,.88);box-shadow:0 22px 48px rgba(116,201,234,.16)
}
.visual-card.back{transform:rotate(-6deg) translate(-12px,10px);opacity:.64}
.visual-card.front{transform:rotate(4deg)}
.visual-card img{width:100%;height:100%;object-fit:cover;border-radius:26px}
.visual-note{
  position:absolute;right:-12px;bottom:24px;width:170px;padding:16px;border-radius:22px;
  background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-soft);line-height:1.8;font-size:13px;color:var(--text-soft)
}
.notice{
  margin-top:18px;padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.72);
  border:1px solid var(--line);line-height:1.8;color:var(--primary-deep)
}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.stats-card{padding:18px;border-radius:22px}
.stats-card h3{font-size:30px;margin-bottom:4px}
.stats-card p{font-size:13px;color:var(--text-soft)}
.section{padding-top:80px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}
.section-title{display:flex;align-items:center;gap:12px;font-size:clamp(28px,4vw,40px);margin-bottom:10px}
.section-title::before{
  content:"";width:40px;height:12px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary))
}
.section-desc{color:var(--text-soft);line-height:1.9;max-width:760px}
.search-panel{padding:20px;border-radius:28px;margin-top:24px}
.search-row{display:grid;grid-template-columns:1fr auto;gap:12px}
.input,.textarea,.select{
  width:100%;border:1px solid var(--line);border-radius:18px;padding:14px 15px;font-size:14px;outline:none;
  background:var(--card-strong);color:var(--text)
}
.textarea{min-height:120px;resize:vertical;line-height:1.7}
.input:focus,.textarea:focus,.select:focus{border-color:var(--line-strong);box-shadow:0 0 0 5px rgba(116,201,234,.12)}
.search-results{margin-top:14px;display:grid;gap:12px}
.search-item{padding:18px;border-radius:22px;transition:.22s ease}
.search-item:hover{transform:translateY(-2px)}
.search-item h4{margin-bottom:8px;font-size:18px}
.search-item p{color:var(--text-soft);line-height:1.8}
.meta{font-size:12px;color:var(--text-soft);margin-top:8px}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.filter-chip{
  font-size:13px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.18);cursor:pointer;color:var(--text-soft)
}
.filter-chip.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-color:transparent}
.grid{display:grid;gap:18px}
.saying-grid,.album-grid,.message-grid,.blog-grid,.works-grid{grid-template-columns:repeat(2,1fr)}
.album-grid{grid-template-columns:repeat(3,1fr)}
.card{padding:20px;border-radius:26px;transition:.25s ease;overflow:hidden;position:relative}
.card::after{
  content:"";position:absolute;inset:auto -20% -40% auto;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.28), transparent 66%);pointer-events:none
}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 34px rgba(116,201,234,.14)}
.card-kicker{font-size:12px;color:var(--text-soft);margin-bottom:10px}
.card-title{font-size:20px;line-height:1.5;margin-bottom:8px}
.card-desc{color:var(--text-soft);line-height:1.85;word-break:break-word}
.card-image{margin-top:14px;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.card-image img{width:100%;aspect-ratio:1.4/1;object-fit:cover;object-position:center;transition:transform .3s ease}
.card:hover .card-image img{transform:scale(1.03)}
.card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.tiny-btn{
  padding:8px 12px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.72);cursor:pointer;color:var(--primary-deep);font-size:12px;font-weight:700
}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tag{
  font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.8);
  border:1px solid var(--line);color:var(--text-soft)
}
.album-link{display:block}
.album-cover{
  aspect-ratio:1.25/1;border-radius:22px;overflow:hidden;margin-bottom:14px;position:relative;
  background:linear-gradient(135deg, rgba(191,233,255,.95), rgba(205,183,255,.7))
}
.album-cover img{width:100%;height:100%;object-fit:cover}
.album-count{
  position:absolute;top:12px;right:12px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.84);font-size:12px;color:var(--primary-deep)
}
.message-wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px}
.form-box{padding:22px;border-radius:28px}
.hint{margin-top:12px;font-size:12px;color:var(--text-soft);line-height:1.8}
.player{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:20px;border-radius:28px}
.player-badge{
  width:60px;height:60px;border-radius:20px;display:grid;place-items:center;color:#fff;font-size:22px;
  background:linear-gradient(135deg,var(--primary),var(--secondary))
}
.player h3{font-size:20px;margin-bottom:6px}
.player p{font-size:14px;color:var(--text-soft);line-height:1.7}
.progress{width:100%;height:8px;border-radius:999px;background:rgba(116,201,234,.12);overflow:hidden}
.progress-bar{width:0;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary))}
.time-line{display:flex;justify-content:space-between;font-size:12px;color:var(--text-soft);margin-top:8px}
.player-controls{display:flex;gap:10px;flex-wrap:wrap}
.page-hero{padding:44px 0 0}
.page-card{padding:28px;border-radius:34px}
.page-title{font-size:clamp(36px,6vw,58px);line-height:1.12;margin-bottom:12px}
.page-intro{font-size:18px;color:var(--text-soft);line-height:1.9;max-width:760px}
.empty{
  padding:24px;border-radius:24px;color:var(--text-soft);text-align:center;background:rgba(255,255,255,.72);border:1px solid var(--line)
}
.timeline{display:grid;gap:16px}
.timeline-item{
  display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;padding:18px;border-radius:24px
}
.timeline-date{font-size:14px;font-weight:700;color:var(--primary-deep)}
.timeline-main h3{font-size:20px;margin-bottom:8px}
.timeline-main p{color:var(--text-soft);line-height:1.8}
.footer{padding:88px 0 44px}
.footer-card{text-align:center;padding:28px;border-radius:28px}
.footer-card h3{font-size:clamp(26px,4vw,36px);margin-bottom:12px}
.footer-card p{color:var(--text-soft);line-height:1.9;max-width:700px;margin:0 auto 14px}
.copyright{font-size:14px;color:var(--text-soft)}
.hidden{display:none !important}
@media (max-width:980px){
  .hero-card,.player,.message-wrap,.stats-grid,.album-grid,.saying-grid,.message-grid,.blog-grid,.works-grid,.timeline-item{grid-template-columns:1fr}
  .hero-visual{order:-1;min-height:360px}
}
@media (max-width:760px){
  .nav{border-radius:26px;align-items:flex-start}
  .nav-links{justify-content:flex-start}
  .search-row{grid-template-columns:1fr}
  .hero-actions,.player-controls,.submit-row{width:100%}
  .btn{width:100%}
  .visual-note{display:none}
}
