
:root{--bg:#080A0F;--panel:#11151f;--line:rgba(255,255,255,.1);--text:#f4f6f8;--muted:#8d96a8;--p:#7c8cff;--c:#61d5ff;--pk:#ff9fcf;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 10%,rgba(124,140,255,.15),transparent 30%),radial-gradient(circle at 15% 35%,rgba(97,213,255,.08),transparent 25%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{font-size:12px;letter-spacing:.25em;color:#b8c0d0}.muted{color:var(--muted)}.section{padding:110px 0}.title{font-size:clamp(44px,7vw,96px);line-height:.94;letter-spacing:-.055em;margin:10px 0 20px}.glass{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:0 20px 70px rgba(0,0,0,.35)}.btn{display:inline-flex;height:48px;align-items:center;padding:0 20px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}.btn.primary{background:linear-gradient(120deg,rgba(97,213,255,.2),rgba(124,140,255,.7),rgba(255,159,207,.45))}
.nav-shell{position:fixed;z-index:20;left:0;right:0;top:0;padding:14px 0}.nav-shell.scrolled{background:rgba(8,10,15,.75);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.nav{min-height:62px;border-radius:18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px}.brand{display:flex;align-items:center;gap:12px}.mark{width:36px;height:36px;border:1px solid rgba(255,255,255,.4);transform:rotate(45deg);position:relative}.mark:before,.mark:after{content:"";position:absolute;background:linear-gradient(135deg,var(--c),var(--p),var(--pk))}.mark:before{left:15px;top:-3px;width:6px;height:42px}.mark:after{left:-3px;top:15px;width:42px;height:6px}.brand b{letter-spacing:.16em;font-size:13px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.18em}.nav-links{display:flex;gap:28px;font-size:13px}.nav-links a{color:#d6dceb}.nav-right{display:flex;justify-content:flex-end}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--pk),var(--p));font-size:11px;font-weight:700}
.hero{min-height:100vh;display:flex;align-items:center;padding-top:100px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.hero h1{font-size:clamp(62px,8.5vw,140px);line-height:.84;letter-spacing:-.07em;margin:14px 0 25px}.hero h1 em{font-style:normal;background:linear-gradient(100deg,#fff,#bfc8ff,#7fdcff,#ffc0e0);-webkit-background-clip:text;color:transparent}.lead{max-width:720px;color:#aab3c4;font-size:20px}.actions{display:flex;gap:12px;margin-top:30px}.stats{display:flex;gap:32px;margin-top:34px;flex-wrap:wrap}.stat b{font-size:24px}.stat span{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em}.art{min-height:560px;display:grid;place-items:center}.orbit{width:min(520px,42vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(124,140,255,.25);position:relative;box-shadow:inset 0 0 90px rgba(124,140,255,.08),0 0 90px rgba(124,140,255,.09)}.orbit:before,.orbit:after{content:"";position:absolute;inset:14%;border:1px solid rgba(97,213,255,.15);border-radius:50%}.orbit:after{inset:31%;border-color:rgba(255,159,207,.15)}.crystal{position:absolute;inset:23%}.crystal i{position:absolute;width:44%;height:44%;background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(124,140,255,.18),rgba(97,213,255,.05));border:1px solid rgba(255,255,255,.35);clip-path:polygon(50% 0,100% 34%,76% 100%,17% 79%,0 32%)}.crystal i:nth-child(1){left:0;top:0;transform:rotate(-22deg)}.crystal i:nth-child(2){right:0;top:0;transform:rotate(24deg)}.crystal i:nth-child(3){left:0;bottom:0;transform:rotate(-150deg)}.crystal i:nth-child(4){right:0;bottom:0;transform:rotate(152deg)}
.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:45px}.member-card{min-height:500px;position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:#0f1420;transition:.3s}.member-card:hover{transform:translateY(-6px);border-color:rgba(124,140,255,.4)}.member-art{position:absolute;inset:0;background:radial-gradient(circle at 50% 26%,rgba(255,255,255,.12),transparent 18%),linear-gradient(145deg,rgba(97,213,255,.22),transparent 34%),linear-gradient(20deg,rgba(255,159,207,.17),transparent 44%),linear-gradient(180deg,#131b31,#0d111a 62%,#090b10)}.member-art:before{content:"";position:absolute;width:56%;height:56%;left:22%;top:14%;border-radius:50% 50% 42% 42%;background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(124,140,255,.14) 45%,rgba(10,12,18,.3));box-shadow:0 0 60px rgba(124,140,255,.18)}.member-art:after{content:"";position:absolute;width:74%;height:45%;left:13%;bottom:14%;background:linear-gradient(180deg,rgba(124,140,255,.14),rgba(12,15,24,.75));clip-path:polygon(50% 0,76% 12%,96% 100%,4% 100%,24% 12%)}.member-info{position:absolute;left:0;right:0;bottom:0;padding:25px;background:linear-gradient(transparent,rgba(5,7,12,.82) 28%,rgba(5,7,12,.97))}.member-no{font-size:11px;letter-spacing:.16em;color:#a9b0c0}.member-name{font-size:28px;font-weight:650;margin-top:4px}.member-quote{font-size:13px;color:#a7afbf;margin-top:5px}.member-meta{display:flex;justify-content:space-between;margin-top:22px;color:#788295;font-size:10px}
.page-head{padding:170px 0 55px}.page-head h1{font-size:clamp(58px,10vw,132px);line-height:.86;letter-spacing:-.07em;margin:14px 0 18px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.filter{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#aab3c4}.filter.active{background:rgba(124,140,255,.12);border-color:rgba(124,140,255,.45);color:#fff}.directory{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dir-card{display:grid;grid-template-columns:135px 1fr;min-height:190px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.02);transition:.3s}.dir-card:hover{transform:translateY(-4px);border-color:rgba(124,140,255,.4)}.dir-art{background:linear-gradient(145deg,rgba(124,140,255,.32),rgba(255,159,207,.08)),#111724;position:relative}.dir-art:after{content:"";position:absolute;width:74px;height:112px;left:31px;bottom:16px;border-radius:42px 42px 18px 18px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(124,140,255,.12),rgba(7,8,13,.55))}.dir-copy{padding:22px}.dir-copy h3{font-size:27px;margin:3px 0}.dir-copy p{margin:0;color:var(--muted);font-size:13px}.dir-stats{display:flex;gap:14px;margin-top:18px;color:#758096;font-size:10px}
.profile-hero{padding:150px 0 70px;min-height:740px}.profile-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.portrait{min-height:560px;border-radius:30px;border:1px solid var(--line);background:linear-gradient(145deg,#151b2f,#0e1119 54%,#090b10);position:relative;overflow:hidden}.portrait:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;left:50%;top:78px;transform:translateX(-50%);background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.20),rgba(124,140,255,.18) 36%,rgba(10,12,19,.12) 65%);box-shadow:0 0 120px rgba(124,140,255,.20)}.portrait:after{content:"";position:absolute;width:72%;height:54%;left:14%;bottom:0;background:linear-gradient(180deg,rgba(124,140,255,.18),rgba(7,8,12,.78));clip-path:polygon(50% 0,76% 12%,100% 100%,0 100%,24% 12%)}.profile-name{font-size:clamp(72px,9vw,140px);line-height:.82;letter-spacing:-.065em;margin:12px 0 12px}.profile-quote{font-size:24px;color:#c7cedb}.profile-bio{color:var(--muted);max-width:700px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.tag{height:30px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:#aab3c4;font-size:11px}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:32px}.pstat{border-top:1px solid var(--line);padding-top:16px}.pstat strong{display:block;font-size:28px}.pstat span{color:#707b8f;font-size:10px;letter-spacing:.1em}.profile-content{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.panel{border:1px solid var(--line);border-radius:24px;padding:26px;background:rgba(255,255,255,.02)}.panel h2{margin:0 0 20px}.activity{border-top:1px solid rgba(255,255,255,.07);padding:17px 0}.activity:first-of-type{border-top:0;padding-top:0}.activity small{color:#788296}.activity h3{margin:3px 0 4px}.activity p{margin:0;color:var(--muted);font-size:13px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini{aspect-ratio:1.22;border:1px solid var(--line);border-radius:14px;background:radial-gradient(circle at 65% 28%,rgba(255,159,207,.20),transparent 20%),linear-gradient(145deg,#1a2542,#11141c);position:relative}.mini span{position:absolute;left:10px;bottom:8px;font-size:10px}.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.badge{aspect-ratio:1;border:1px solid var(--line);border-radius:18px;display:grid;place-items:center;text-align:center;color:#9ea8bb;font-size:10px;background:rgba(255,255,255,.018)}.badge i{width:40px;height:40px;border-radius:50%;display:block;margin:0 auto 8px;background:linear-gradient(145deg,var(--c),var(--p),var(--pk))}
.footer{padding:42px 0;border-top:1px solid rgba(255,255,255,.06);background:#07090d}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.footer-links{display:flex;gap:22px;color:#aab3c4;font-size:12px}.world-age{text-align:center;color:#626d80;font-size:10px;letter-spacing:.16em;margin-top:32px}.reveal{opacity:0;transform:translateY(18px);transition:.65s}.reveal.on{opacity:1;transform:none}
@media(max-width:1050px){.nav{grid-template-columns:1fr auto}.nav-links{display:none}.hero-grid,.profile-grid{grid-template-columns:1fr}.art{min-height:430px}.orbit{width:min(600px,78vw)}.member-grid{grid-template-columns:1fr 1fr}.directory{grid-template-columns:1fr 1fr}.profile-content{grid-template-columns:1fr}}
@media(max-width:680px){.wrap{width:min(calc(100% - 28px),var(--max))}.section{padding:80px 0}.hero{min-height:auto;padding:140px 0 90px}.hero h1{font-size:clamp(56px,17vw,90px)}.lead{font-size:16px}.stats{display:grid;grid-template-columns:1fr 1fr}.art{min-height:350px}.orbit{width:88vw}.member-grid,.directory{grid-template-columns:1fr}.dir-card{grid-template-columns:105px 1fr}.profile-hero{padding-top:130px}.portrait{min-height:490px}.profile-name{font-size:72px}.profile-stats{grid-template-columns:1fr 1fr}.badges{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}


/* V0.3 GALLERY */
.gallery-hero{
  padding:170px 0 70px;
  position:relative;
  overflow:hidden;
}
.gallery-hero:after{
  content:"";
  position:absolute;
  width:620px;height:620px;
  right:-180px;top:-220px;border-radius:50%;
  background:radial-gradient(circle,rgba(97,213,255,.12),rgba(124,140,255,.09) 35%,transparent 70%);
  filter:blur(10px);
}
.gallery-head-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:end;
}
.gallery-head-grid h1{
  font-size:clamp(64px,10vw,138px);
  line-height:.84;letter-spacing:-.07em;
  margin:14px 0 18px;
}
.gallery-intro{color:var(--muted);max-width:700px;font-size:17px}
.gallery-summary{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.gallery-summary div{
  border-top:1px solid var(--line);
  padding-top:16px;
}
.gallery-summary strong{display:block;font-size:30px}
.gallery-summary span{display:block;color:#788397;font-size:10px;letter-spacing:.12em;margin-top:3px}

.gallery-toolbar{
  display:flex;justify-content:space-between;gap:16px;align-items:center;
  margin-bottom:28px;flex-wrap:wrap;
}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}
.gallery-filter{
  height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);color:#9da7ba;cursor:pointer;
}
.gallery-filter.active,.gallery-filter:hover{
  border-color:rgba(124,140,255,.48);
  background:rgba(124,140,255,.10);
  color:#fff;
}
.gallery-search{
  min-width:280px;height:40px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.025);color:#fff;padding:0 14px;outline:none;
}
.gallery-search:focus{border-color:rgba(124,140,255,.5)}

.gallery-grid{
  columns:4 280px;
  column-gap:16px;
}
.photo-card{
  break-inside:avoid;
  display:block;
  margin:0 0 16px;
  border-radius:20px;overflow:hidden;
  border:1px solid var(--line);
  background:#0d1118;
  transition:.3s ease;
}
.photo-card:hover{
  transform:translateY(-4px);
  border-color:rgba(124,140,255,.38);
}
.photo-visual{
  position:relative;
  aspect-ratio:var(--ratio,1.25);
  background:
    radial-gradient(circle at 65% 30%,rgba(255,159,207,.24),transparent 19%),
    radial-gradient(circle at 25% 72%,rgba(97,213,255,.22),transparent 23%),
    linear-gradient(145deg,#18243e,#121620 60%,#0b0e14);
  overflow:hidden;
}
.photo-visual:before{
  content:"";position:absolute;inset:9%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 70px rgba(124,140,255,.12) inset;
}
.photo-visual:after{
  content:"";position:absolute;width:38%;height:38%;
  right:12%;bottom:11%;border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(124,140,255,.05));
  filter:blur(.1px);
}
.photo-body{padding:16px 17px 18px}
.photo-kicker{font-size:9px;letter-spacing:.14em;color:#737f94}
.photo-title{font-size:17px;font-weight:620;margin-top:2px}
.photo-meta{margin-top:8px;color:#7e889b;font-size:11px;display:flex;gap:10px;flex-wrap:wrap}
.photo-people{
  display:flex;align-items:center;margin-top:13px;
}
.tiny-avatar{
  width:26px;height:26px;border-radius:50%;
  border:2px solid #0d1118;
  margin-right:-7px;
  display:grid;place-items:center;
  font-size:8px;font-weight:700;
  background:linear-gradient(145deg,var(--c),var(--p),var(--pk));
}
.more-people{margin-left:14px;font-size:10px;color:#788397}

.photo-detail-hero{
  padding:140px 0 52px;
}
.photo-detail-grid{
  display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:start;
}
.photo-stage{
  min-height:660px;
  border-radius:30px;
  border:1px solid var(--line);
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 65% 32%,rgba(255,159,207,.23),transparent 20%),
    radial-gradient(circle at 28% 75%,rgba(97,213,255,.22),transparent 26%),
    linear-gradient(145deg,#192540,#11141b 64%,#090b10);
}
.photo-stage:before{
  content:"";position:absolute;inset:8%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 120px rgba(124,140,255,.08);
}
.photo-stage:after{
  content:"";position:absolute;width:280px;height:280px;
  right:12%;bottom:12%;border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(124,140,255,.05));
}
.photo-info{
  position:sticky;top:110px;
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
  background:rgba(255,255,255,.025);
}
.photo-info h1{
  font-size:clamp(44px,5vw,76px);
  line-height:.92;letter-spacing:-.05em;
  margin:10px 0 14px;
}
.photo-note{color:#aab3c3;font-size:15px}
.meta-list{display:grid;gap:0;margin-top:24px}
.meta-row{
  display:grid;grid-template-columns:90px 1fr;gap:14px;
  padding:13px 0;border-top:1px solid rgba(255,255,255,.07);
  font-size:12px;
}
.meta-row span:first-child{color:#6f7a8e}
.person-list{display:flex;gap:8px;flex-wrap:wrap}
.person-chip{
  display:inline-flex;align-items:center;gap:8px;
  height:34px;padding:0 11px 0 6px;
  border:1px solid var(--line);border-radius:999px;
  color:#b7c0d0;font-size:11px;
}
.person-chip i{
  width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;
  font-style:normal;font-size:8px;font-weight:700;
  background:linear-gradient(145deg,var(--c),var(--p),var(--pk));
}
.event-link{
  display:block;margin-top:20px;padding:18px;
  border:1px solid var(--line);border-radius:16px;
  background:rgba(124,140,255,.045);
}
.event-link small{color:#707c92;letter-spacing:.1em}
.event-link strong{display:block;margin-top:3px}

.related-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px;
}
.related-card{
  border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0e1219;
}
.related-card .photo-visual{aspect-ratio:1.15}
.related-card .photo-body{padding:12px 13px 14px}
.related-card .photo-title{font-size:14px}

@media(max-width:1050px){
  .gallery-head-grid,.photo-detail-grid{grid-template-columns:1fr}
  .photo-info{position:static}
  .photo-stage{min-height:560px}
  .related-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .gallery-hero{padding:135px 0 48px}
  .gallery-summary{grid-template-columns:1fr 1fr 1fr}
  .gallery-toolbar{align-items:stretch}
  .gallery-search{width:100%;min-width:0}
  .gallery-grid{columns:1}
  .photo-stage{min-height:430px}
  .related-grid{grid-template-columns:1fr 1fr}
  .meta-row{grid-template-columns:74px 1fr}
}


/* V0.4 TIMELINE / EVENTS */
.timeline-hero{
  padding:170px 0 72px;
  position:relative;
  overflow:hidden;
}
.timeline-hero:after{
  content:"";
  position:absolute;
  width:680px;height:680px;
  right:-210px;top:-260px;border-radius:50%;
  background:radial-gradient(circle,rgba(124,140,255,.14),rgba(97,213,255,.07) 38%,transparent 70%);
  filter:blur(12px);
}
.timeline-head-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:end;
}
.timeline-head-grid h1{
  font-size:clamp(64px,10vw,138px);
  line-height:.84;letter-spacing:-.07em;
  margin:14px 0 18px;
}
.timeline-summary{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.timeline-summary div{
  border-top:1px solid var(--line);padding-top:16px;
}
.timeline-summary strong{display:block;font-size:30px}
.timeline-summary span{display:block;color:#788397;font-size:10px;letter-spacing:.12em;margin-top:3px}

.timeline-controls{
  display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px;
}
.timeline-filter{
  height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);color:#9da7ba;cursor:pointer;
}
.timeline-filter.active,.timeline-filter:hover{
  border-color:rgba(124,140,255,.48);
  background:rgba(124,140,255,.10);
  color:#fff;
}

.timeline-page{
  position:relative;
  max-width:1120px;
  margin:0 auto;
}
.timeline-page:before{
  content:"";
  position:absolute;
  left:50%;
  top:0;bottom:0;
  width:1px;
  background:linear-gradient(var(--p),rgba(255,255,255,.08),transparent);
}
.year-label{
  position:relative;
  z-index:2;
  width:max-content;
  margin:0 auto 40px;
  height:36px;padding:0 14px;
  display:flex;align-items:center;
  border-radius:999px;
  border:1px solid var(--line);
  background:#0b0e14;
  color:#c2cad8;
  font-size:11px;letter-spacing:.16em;
}
.timeline-item{
  position:relative;
  width:50%;
  padding:0 52px 72px 0;
}
.timeline-item.right{
  margin-left:50%;
  padding:0 0 72px 52px;
}
.timeline-dot{
  position:absolute;
  top:19px;right:-7px;
  width:14px;height:14px;border-radius:50%;
  background:#aeb7ff;
  box-shadow:0 0 0 7px rgba(124,140,255,.10),0 0 28px rgba(124,140,255,.55);
}
.timeline-item.right .timeline-dot{left:-7px;right:auto}
.timeline-card{
  display:block;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.02);
  transition:.3s ease;
}
.timeline-card:hover{
  transform:translateY(-5px);
  border-color:rgba(124,140,255,.4);
}
.timeline-card-visual{
  height:170px;
  background:
    radial-gradient(circle at 68% 28%,rgba(255,159,207,.23),transparent 20%),
    radial-gradient(circle at 25% 72%,rgba(97,213,255,.20),transparent 25%),
    linear-gradient(145deg,#192642,#11151d 63%,#0b0d13);
}
.timeline-card-body{padding:22px}
.timeline-card-date{font-size:10px;letter-spacing:.14em;color:#7a8599}
.timeline-card h3{font-size:25px;margin:6px 0}
.timeline-card p{margin:0;color:var(--muted);font-size:13px}
.timeline-card-meta{
  display:flex;justify-content:space-between;gap:12px;
  margin-top:18px;color:#748095;font-size:10px;
}

.event-hero{
  padding:145px 0 64px;
}
.event-hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:stretch;
}
.event-cover{
  min-height:620px;
  border-radius:30px;
  border:1px solid var(--line);
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 65% 30%,rgba(255,159,207,.23),transparent 21%),
    radial-gradient(circle at 22% 72%,rgba(97,213,255,.21),transparent 26%),
    linear-gradient(145deg,#1a2745,#10141c 63%,#090b10);
}
.event-cover:before{
  content:"";
  position:absolute;
  inset:9%;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:inset 0 0 130px rgba(124,140,255,.08);
}
.event-cover:after{
  content:"";
  position:absolute;
  width:240px;height:240px;
  right:12%;bottom:12%;border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(124,140,255,.04));
}
.event-info{
  border:1px solid var(--line);
  border-radius:28px;
  padding:32px;
  background:rgba(255,255,255,.022);
}
.event-info h1{
  font-size:clamp(50px,6vw,88px);
  line-height:.9;letter-spacing:-.055em;
  margin:10px 0 16px;
}
.event-lead{color:#c4ccda;font-size:19px}
.event-story{
  color:var(--muted);font-size:14px;margin-top:18px;
}
.event-meta-list{margin-top:26px}
.event-meta-row{
  display:grid;grid-template-columns:92px 1fr;gap:14px;
  padding:13px 0;border-top:1px solid rgba(255,255,255,.07);
  font-size:12px;
}
.event-meta-row span:first-child{color:#6f7a8e}
.event-section{
  padding:76px 0;
  border-top:1px solid rgba(255,255,255,.055);
}
.event-section-head{
  display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;
}
.event-section-head h2{
  font-size:clamp(34px,5vw,64px);
  line-height:.95;letter-spacing:-.045em;margin:8px 0 0;
}
.event-member-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.event-member{
  display:block;
  border:1px solid var(--line);
  border-radius:18px;overflow:hidden;background:rgba(255,255,255,.02);
}
.event-member-visual{
  aspect-ratio:1.05;
  background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.14),transparent 20%),linear-gradient(145deg,rgba(124,140,255,.28),rgba(255,159,207,.08)),#111724;
  position:relative;
}
.event-member-visual:after{
  content:"";
  position:absolute;width:44%;height:62%;left:28%;bottom:10%;
  border-radius:50% 50% 20% 20%;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(124,140,255,.12),rgba(8,9,14,.56));
}
.event-member-body{padding:14px}
.event-member-body strong{display:block;font-size:16px}
.event-member-body span{display:block;color:#778296;font-size:9px;letter-spacing:.1em}

.event-story-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.event-story-card{
  display:block;border:1px solid var(--line);border-radius:18px;
  padding:22px;background:rgba(255,255,255,.02);
}
.event-story-card small{color:#737f94;letter-spacing:.1em}
.event-story-card h3{font-size:20px;margin:6px 0}
.event-story-card p{margin:0;color:var(--muted);font-size:13px}

@media(max-width:1050px){
  .timeline-head-grid,.event-hero-grid{grid-template-columns:1fr}
  .timeline-page:before{left:18px}
  .timeline-item,.timeline-item.right{
    width:100%;margin-left:0;padding:0 0 48px 54px;
  }
  .timeline-dot,.timeline-item.right .timeline-dot{
    left:11px;right:auto;
  }
  .year-label{margin-left:0}
  .event-member-grid{grid-template-columns:repeat(2,1fr)}
  .event-story-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .timeline-hero{padding:135px 0 50px}
  .timeline-summary{grid-template-columns:repeat(3,1fr)}
  .timeline-card-visual{height:145px}
  .event-cover{min-height:430px}
  .event-member-grid{grid-template-columns:1fr 1fr}
  .event-meta-row{grid-template-columns:76px 1fr}
}


/* V0.5 STORY SYSTEM */
.stories-hero{
  padding:170px 0 70px;
  position:relative;
  overflow:hidden;
}
.stories-hero:after{
  content:"";position:absolute;width:680px;height:680px;
  right:-210px;top:-250px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,159,207,.10),rgba(124,140,255,.11) 35%,transparent 70%);
  filter:blur(12px);
}
.stories-head-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:end;
}
.stories-head-grid h1{
  font-size:clamp(64px,10vw,138px);
  line-height:.84;letter-spacing:-.07em;
  margin:14px 0 18px;
}
.story-summary{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.story-summary div{border-top:1px solid var(--line);padding-top:16px}
.story-summary strong{display:block;font-size:30px}
.story-summary span{display:block;color:#788397;font-size:10px;letter-spacing:.12em;margin-top:3px}

.story-toolbar{
  display:flex;justify-content:space-between;gap:16px;
  align-items:center;flex-wrap:wrap;margin-bottom:30px;
}
.story-filters{display:flex;gap:8px;flex-wrap:wrap}
.story-filter{
  height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);color:#9da7ba;cursor:pointer;
}
.story-filter.active,.story-filter:hover{
  border-color:rgba(124,140,255,.48);
  background:rgba(124,140,255,.10);color:#fff;
}
.story-search{
  min-width:280px;height:40px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.025);color:#fff;padding:0 14px;outline:none;
}
.story-search:focus{border-color:rgba(124,140,255,.5)}

.story-list-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:18px;
}
.story-main-card{
  min-height:600px;border-radius:28px;overflow:hidden;position:relative;
  border:1px solid var(--line);background:#0d1118;display:block;
}
.story-main-visual,
.story-card-visual{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 65% 32%,rgba(255,159,207,.23),transparent 19%),
    radial-gradient(circle at 25% 74%,rgba(97,213,255,.20),transparent 25%),
    linear-gradient(145deg,#1c2846,#12151d 62%,#090b10);
}
.story-main-copy{
  position:absolute;left:0;right:0;bottom:0;padding:34px;
  background:linear-gradient(transparent,rgba(5,6,10,.96));
}
.story-main-copy h2{
  font-size:clamp(36px,5vw,64px);line-height:.94;letter-spacing:-.045em;margin:8px 0 10px;
}
.story-main-copy p{margin:0;color:#abb4c5;max-width:760px}
.story-mini-stack{display:grid;gap:18px}
.story-mini-card{
  min-height:291px;border-radius:22px;overflow:hidden;position:relative;
  border:1px solid var(--line);background:#0d1118;display:block;
}
.story-mini-card .story-main-copy{padding:24px}
.story-mini-card .story-main-copy h2{font-size:27px}
.story-main-card:hover,.story-mini-card:hover{border-color:rgba(124,140,255,.4)}
.story-list-secondary{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;
}
.story-text-card{
  border:1px solid var(--line);border-radius:20px;padding:24px;
  background:rgba(255,255,255,.02);display:block;transition:.3s ease;
}
.story-text-card:hover{transform:translateY(-4px);border-color:rgba(124,140,255,.38)}
.story-text-card small{color:#758096;letter-spacing:.1em}
.story-text-card h3{font-size:22px;line-height:1.15;margin:8px 0}
.story-text-card p{margin:0;color:var(--muted);font-size:13px}
.story-author-line{display:flex;gap:8px;align-items:center;margin-top:18px;color:#8a94a7;font-size:11px}
.story-author-line i{
  width:26px;height:26px;border-radius:50%;
  background:linear-gradient(145deg,var(--c),var(--p),var(--pk));
  display:grid;place-items:center;font-style:normal;font-size:8px;font-weight:700;color:white;
}

/* article detail */
.article-hero{
  padding:150px 0 72px;
}
.article-cover{
  min-height:620px;border-radius:32px;border:1px solid var(--line);
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 65% 32%,rgba(255,159,207,.22),transparent 20%),
    radial-gradient(circle at 28% 74%,rgba(97,213,255,.20),transparent 26%),
    linear-gradient(145deg,#1c2948,#11151d 64%,#090b10);
}
.article-cover:before{
  content:"";position:absolute;inset:9%;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 130px rgba(124,140,255,.08);
}
.article-cover:after{
  content:"";position:absolute;width:270px;height:270px;
  right:11%;bottom:10%;border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(124,140,255,.04));
}
.article-head{
  max-width:1020px;margin:48px auto 0;text-align:center;
}
.article-head h1{
  font-size:clamp(50px,7vw,96px);line-height:.9;letter-spacing:-.055em;margin:12px 0 16px;
}
.article-deck{font-size:19px;color:#abb4c4;max-width:820px;margin:0 auto}
.article-meta{
  display:flex;justify-content:center;gap:12px;flex-wrap:wrap;
  margin-top:26px;color:#7d879a;font-size:11px;
}
.article-body{
  max-width:820px;margin:0 auto;
  font-size:18px;line-height:1.95;color:#d4d9e2;
}
.article-body p{margin:0 0 28px}
.article-body p:first-child::first-letter{
  float:left;font-size:68px;line-height:.8;padding:10px 10px 0 0;
  background:linear-gradient(145deg,#fff,var(--p),var(--c));
  -webkit-background-clip:text;color:transparent;
}
.article-quote{
  margin:42px 0;padding:26px 30px;border-left:2px solid var(--p);
  background:rgba(124,140,255,.045);border-radius:0 18px 18px 0;
  font-size:22px;color:#cdd4e1;
}
.article-relations{
  max-width:1020px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
.article-panel{
  border:1px solid var(--line);border-radius:22px;padding:24px;background:rgba(255,255,255,.02);
}
.article-panel h3{margin:0 0 18px}
.article-people{display:flex;gap:8px;flex-wrap:wrap}
.story-related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  max-width:1180px;margin:0 auto;
}
.story-related{
  border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0e1219;display:block;
}
.story-related .story-card-visual{position:relative;aspect-ratio:1.35}
.story-related-copy{padding:15px}
.story-related-copy small{color:#748095}
.story-related-copy h3{font-size:18px;margin:4px 0}

@media(max-width:1050px){
  .stories-head-grid{grid-template-columns:1fr}
  .story-list-grid{grid-template-columns:1fr}
  .story-list-secondary{grid-template-columns:1fr 1fr}
  .article-relations{grid-template-columns:1fr}
}
@media(max-width:680px){
  .stories-hero{padding:135px 0 50px}
  .story-summary{grid-template-columns:repeat(3,1fr)}
  .story-search{width:100%;min-width:0}
  .story-main-card{min-height:470px}
  .story-list-secondary{grid-template-columns:1fr}
  .article-cover{min-height:430px}
  .article-head{margin-top:34px}
  .article-deck{font-size:16px}
  .article-body{font-size:16px}
  .story-related-grid{grid-template-columns:1fr}
}


/* V0.6 GLOBAL INTEGRATION */
.nav a.active{color:#fff}
.nav a.active:after{right:0 !important}
.nav-search-btn,.nav-menu-btn{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line);background:rgba(255,255,255,.025);color:#fff;cursor:pointer;
}
.nav-actions-v06{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.mobile-panel{
  display:none;position:fixed;z-index:60;inset:88px 14px auto 14px;
  border-radius:20px;padding:18px;background:rgba(8,10,15,.94);
  border:1px solid var(--line);backdrop-filter:blur(20px);box-shadow:0 25px 80px rgba(0,0,0,.45)
}
.mobile-panel.open{display:grid;gap:8px}
.mobile-panel a{padding:12px 10px;border-radius:12px;color:#cbd2df}
.mobile-panel a:hover{background:rgba(255,255,255,.04);color:#fff}

/* search overlay */
.search-overlay{
  position:fixed;z-index:100;inset:0;background:rgba(3,5,9,.78);
  backdrop-filter:blur(18px);display:none;padding:7vh 18px;
}
.search-overlay.open{display:block}
.search-shell{
  width:min(860px,100%);margin:0 auto;border:1px solid var(--line);
  border-radius:26px;background:#0b0f16;box-shadow:0 30px 120px rgba(0,0,0,.55);overflow:hidden
}
.search-top{display:flex;gap:10px;padding:16px;border-bottom:1px solid rgba(255,255,255,.07)}
.search-input{
  flex:1;height:54px;border:0;outline:none;background:transparent;color:#fff;
  font-size:18px;padding:0 10px
}
.search-close{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:rgba(255,255,255,.02);color:#fff;cursor:pointer
}
.search-results{max-height:66vh;overflow:auto;padding:10px}
.search-empty{padding:38px;text-align:center;color:#6f7a8d}
.search-item{
  display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;
  padding:14px;border-radius:16px
}
.search-item:hover{background:rgba(124,140,255,.07)}
.search-type{
  height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--line);
  display:grid;place-items:center;color:#8f9bb0;font-size:9px;letter-spacing:.1em
}
.search-item h4{margin:0 0 3px;font-size:16px}
.search-item p{margin:0;color:#7e889b;font-size:12px}
.search-arrow{color:#7d87a0}

/* guestbook */
.guestbook-page{padding:170px 0 90px}
.guestbook-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;align-items:start}
.guestbook-form{
  position:sticky;top:115px;border:1px solid var(--line);border-radius:24px;
  padding:26px;background:rgba(255,255,255,.02)
}
.guestbook-form input,.guestbook-form textarea{
  width:100%;border:1px solid var(--line);background:rgba(255,255,255,.025);
  color:#fff;border-radius:12px;outline:none;padding:13px 14px
}
.guestbook-form input{height:46px}
.guestbook-form textarea{min-height:140px;resize:vertical;margin-top:10px}
.guestbook-form input:focus,.guestbook-form textarea:focus{border-color:rgba(124,140,255,.5)}
.guestbook-list{display:grid;gap:12px}
.guestbook-card{
  border:1px solid var(--line);border-radius:20px;padding:20px;
  background:rgba(255,255,255,.018)
}
.guestbook-card-head{display:flex;justify-content:space-between;gap:14px;align-items:center}
.guestbook-user{display:flex;align-items:center;gap:10px}
.guestbook-user i{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  font-style:normal;font-size:10px;font-weight:700;
  background:linear-gradient(145deg,var(--c),var(--p),var(--pk))
}
.guestbook-card time{font-size:10px;color:#6f7a8d}
.guestbook-card p{margin:12px 0 0;color:#b6bfce}
.guestbook-actions{display:flex;gap:14px;margin-top:14px;color:#6f7a8d;font-size:11px}
.guestbook-actions button{border:0;background:transparent;color:inherit;padding:0;cursor:pointer}

/* homepage integration */
.home-search{
  margin-top:28px;display:flex;gap:10px;max-width:620px
}
.home-search input{
  flex:1;height:48px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.025);color:#fff;padding:0 14px;outline:none
}
.home-search input:focus{border-color:rgba(124,140,255,.5)}
.home-guestbook-preview{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start
}
.home-message-list{display:grid;gap:10px}
.home-message{
  border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(255,255,255,.018)
}
.home-message b{font-size:12px}
.home-message p{margin:4px 0 0;color:#8f99aa;font-size:13px}

/* active relationship pill */
.relation-note{
  margin-top:18px;padding:14px 16px;border:1px solid rgba(124,140,255,.22);
  border-radius:14px;background:rgba(124,140,255,.045);color:#9ea8bb;font-size:12px
}

@media(max-width:1050px){
  .guestbook-layout,.home-guestbook-preview{grid-template-columns:1fr}
  .guestbook-form{position:static}
}
@media(max-width:680px){
  .nav-links{display:none}
  .nav-menu-btn{display:grid}
  .guestbook-page{padding-top:135px}
  .search-item{grid-template-columns:62px 1fr}
  .search-arrow{display:none}
  .home-search{flex-direction:column}
}


/* V1.0 AUTH / MEMBER / ADMIN */
.auth-page{min-height:100vh;padding:140px 0 80px;display:grid;align-items:center}
.auth-layout{display:grid;grid-template-columns:1fr 520px;gap:70px;align-items:center}
.auth-copy h1{font-size:clamp(58px,8vw,118px);line-height:.86;letter-spacing:-.065em;margin:12px 0 20px}
.auth-card{border:1px solid var(--line);border-radius:28px;padding:28px;background:rgba(255,255,255,.025)}
.auth-tabs{display:flex;gap:8px;margin-bottom:20px}
.auth-tab{height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#98a3b6;cursor:pointer}
.auth-tab.active{color:#fff;background:rgba(124,140,255,.12);border-color:rgba(124,140,255,.42)}
.field{margin-top:12px}
.field label{display:block;color:#808ba0;font-size:11px;margin-bottom:6px}
.field input,.field textarea,.field select{
  width:100%;border:1px solid var(--line);background:rgba(255,255,255,.025);
  color:#fff;border-radius:12px;outline:none;padding:0 13px
}
.field input,.field select{height:46px}
.field textarea{min-height:140px;padding-top:12px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(124,140,255,.5)}
.form-status{margin-top:14px;color:#9ba6b8;font-size:12px;min-height:20px}
.form-status.error{color:#ff9dad}.form-status.ok{color:#7bffd6}

.dashboard-page{padding:140px 0 90px}
.dash-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:32px}
.dash-head h1{font-size:clamp(48px,7vw,86px);line-height:.9;letter-spacing:-.05em;margin:8px 0 0}
.dash-grid{display:grid;grid-template-columns:280px 1fr;gap:22px}
.dash-sidebar{border:1px solid var(--line);border-radius:22px;padding:12px;background:rgba(255,255,255,.018);height:max-content;position:sticky;top:108px}
.dash-sidebar button,.dash-sidebar a{width:100%;display:flex;align-items:center;height:44px;padding:0 13px;border:0;border-radius:12px;background:transparent;color:#9da7b8;text-align:left;cursor:pointer}
.dash-sidebar button.active,.dash-sidebar button:hover,.dash-sidebar a:hover{background:rgba(124,140,255,.08);color:#fff}
.dash-content{display:grid;gap:18px}
.dash-card{border:1px solid var(--line);border-radius:22px;padding:24px;background:rgba(255,255,255,.018)}
.dash-card h2{margin:0 0 18px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.metric{border-top:1px solid var(--line);padding-top:14px}.metric strong{font-size:30px;display:block}.metric span{font-size:10px;color:#748094;letter-spacing:.1em}
.table-lite{width:100%;border-collapse:collapse;font-size:12px}.table-lite th,.table-lite td{padding:12px 8px;border-top:1px solid rgba(255,255,255,.065);text-align:left}.table-lite th{color:#7c879a;font-weight:500}.table-lite td{color:#b6bfce}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-form-grid .wide{grid-column:1/3}
.preview-note{padding:14px 16px;border-radius:14px;background:rgba(124,140,255,.05);border:1px solid rgba(124,140,255,.18);font-size:12px;color:#9aa5b7}
.hidden{display:none!important}

@media(max-width:1000px){
  .auth-layout{grid-template-columns:1fr}
  .dash-grid{grid-template-columns:1fr}
  .dash-sidebar{position:static;display:flex;overflow:auto}
  .dash-sidebar button,.dash-sidebar a{width:auto;white-space:nowrap}
  .metric-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .auth-page,.dashboard-page{padding-top:125px}
  .auth-card{padding:20px}
  .dash-head{align-items:start;flex-direction:column}
  .admin-form-grid{grid-template-columns:1fr}
  .admin-form-grid .wide{grid-column:auto}
}


/* =========================================================
   Digital World V1.1
   ========================================================= */
.v11-badge{
  display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;
  border:1px solid rgba(123,255,214,.24);background:rgba(123,255,214,.055);
  color:#9eeed4;font-size:10px;letter-spacing:.1em
}
.upload-zone{
  border:1px dashed rgba(124,140,255,.35);border-radius:18px;padding:20px;
  background:rgba(124,140,255,.035)
}
.upload-zone input[type=file]{width:100%;color:#9da8ba}
.image-preview{
  margin-top:14px;min-height:160px;border-radius:16px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);background-size:cover;background-position:center;
  display:grid;place-items:center;color:#69758a;font-size:12px;overflow:hidden
}
.image-preview.has-image{min-height:260px}
.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.check-chip{
  display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;
  padding:9px 10px;background:rgba(255,255,255,.018);font-size:11px;color:#aab4c5
}
.check-chip input{accent-color:#7c8cff}
.cms-list{display:grid;gap:10px;margin-top:16px}
.cms-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:15px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.014)
}
.cms-row-main{min-width:0}
.cms-row-main strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cms-row-main span{display:block;color:#748095;font-size:10px;margin-top:3px}
.cms-row-actions{display:flex;gap:8px}
.mini-btn{
  height:34px;padding:0 11px;border-radius:10px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);color:#aeb8c8;cursor:pointer
}
.mini-btn.danger{color:#ff9ead;border-color:rgba(255,120,145,.18)}
.mini-btn:hover{color:#fff;border-color:rgba(124,140,255,.4)}
.live-image{background-size:cover!important;background-position:center!important}
.avatar-preview{
  width:120px;height:120px;border-radius:50%;border:1px solid var(--line);
  background:linear-gradient(145deg,var(--c),var(--p),var(--pk));
  background-size:cover;background-position:center;margin-bottom:16px
}
.editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.editor-toolbar button{
  height:32px;padding:0 10px;border-radius:9px;border:1px solid var(--line);
  background:rgba(255,255,255,.02);color:#9da8ba;cursor:pointer
}
.editor-help{color:#69758a;font-size:10px;margin-top:8px}
.db-live-note{
  display:none;margin:0 0 22px;padding:12px 14px;border-radius:14px;
  border:1px solid rgba(123,255,214,.18);background:rgba(123,255,214,.04);
  color:#8fd7c0;font-size:11px
}
body.db-live .db-live-note{display:block}
.empty-state{
  padding:30px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:#758095
}
.loading-line{color:#758095;font-size:12px;padding:16px 0}
.real-cover{
  position:absolute;inset:0;background-size:cover;background-position:center
}
.real-cover:after{
  content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(5,7,12,.88))
}
.profile-real-avatar{
  position:absolute;inset:0;background-size:cover;background-position:center;z-index:2
}
.inline-stat{display:flex;gap:8px;flex-wrap:wrap;color:#758095;font-size:10px;margin-top:10px}

@media(max-width:720px){
  .check-grid{grid-template-columns:1fr 1fr}
  .cms-row{grid-template-columns:1fr}
  .cms-row-actions{flex-wrap:wrap}
}


/* =========================================================
   Digital World V1.2
   ========================================================= */
.admin-quick-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px
}
.admin-quick-grid button{
  min-height:74px;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(145deg,rgba(124,140,255,.08),rgba(255,255,255,.015));
  color:#d7deea;text-align:left;padding:14px;cursor:pointer
}
.admin-quick-grid button:hover{border-color:rgba(124,140,255,.42);transform:translateY(-2px)}
.admin-health{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.admin-health div{border-top:1px solid var(--line);padding-top:12px}
.admin-health span{display:block;color:#6e7a8e;font-size:9px;letter-spacing:.12em}
.admin-health strong{display:block;color:#a8f0d4;font-size:12px;margin-top:3px}

.admin-section-head,.batch-head{
  display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px
}
.admin-section-head h2,.batch-head h3{margin:3px 0 0}
.batch-panel{
  border:1px solid rgba(124,140,255,.18);border-radius:20px;padding:20px;
  background:linear-gradient(145deg,rgba(124,140,255,.045),rgba(255,255,255,.012))
}
.batch-progress{display:grid;gap:7px;margin-top:14px}
.batch-progress-row{
  display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 12px;
  border:1px solid rgba(255,255,255,.06);border-radius:11px;color:#9ca7b9;font-size:11px
}
.batch-progress-row.ok b{color:#7bffd6}.batch-progress-row.fail b{color:#ff9ead}
.switch-line{display:flex!important;align-items:center;gap:10px;color:#c0c8d6!important}
.switch-line input{width:18px!important;height:18px!important}

.comments-section{border-top:1px solid rgba(255,255,255,.055)}
.comments-wrap{max-width:980px}
.comments-title{font-size:clamp(36px,5vw,68px)}
.comments-login-note{
  margin:18px 0;color:#7f8a9e;font-size:12px
}
.comments-login-note a{color:#aeb8ff}
.comment-compose{
  border:1px solid var(--line);border-radius:20px;padding:16px;background:rgba(255,255,255,.018)
}
.comment-compose textarea{
  width:100%;min-height:110px;border:0;outline:none;resize:vertical;background:transparent;color:#fff;padding:4px
}
.comment-compose-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid rgba(255,255,255,.06);padding-top:12px}
.comment-compose-actions span{color:#7f899b;font-size:11px}
.comment-list{display:grid;gap:12px;margin-top:22px}
.comment-card{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.015)}
.comment-reply{margin-top:12px;background:rgba(124,140,255,.025)}
.comment-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--c),var(--p),var(--pk));background-size:cover;background-position:center;font-size:11px;font-weight:700}
.comment-head{display:flex;justify-content:space-between;gap:12px}
.comment-head strong{font-size:13px}.comment-head span{font-size:10px;color:#687488}
.comment-main p{margin:7px 0;color:#b5becc;font-size:13px}
.comment-actions{display:flex;gap:12px}
.comment-actions button{border:0;background:transparent;color:#758095;padding:0;cursor:pointer;font-size:10px}
.comment-actions button:hover{color:#fff}

.featured-v12{
  border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);
  background:radial-gradient(circle at 50% 50%,rgba(124,140,255,.06),transparent 45%)
}
.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.featured-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#0c1017;transition:.3s}
.featured-card:hover{transform:translateY(-5px);border-color:rgba(124,140,255,.4)}
.featured-visual{aspect-ratio:1.25;background:radial-gradient(circle at 60% 35%,rgba(255,159,207,.20),transparent 20%),linear-gradient(145deg,#18233c,#0e1118);background-size:cover;background-position:center}
.featured-copy{padding:16px}.featured-copy small{color:#738096;letter-spacing:.1em}.featured-copy h3{margin:4px 0;font-size:19px}.featured-copy p{margin:0;color:#8792a4;font-size:12px}

@media(max-width:1050px){
  .admin-quick-grid,.admin-health,.featured-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .admin-quick-grid,.admin-health,.featured-grid{grid-template-columns:1fr}
  .comment-compose-actions,.admin-section-head,.batch-head{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   Digital World V1.2.1 Detail Update
   ========================================================= */

.viva-brand{display:flex!important;align-items:center;min-width:110px}
.brand-logo-img{
  display:block;width:114px;height:auto;max-height:46px;object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(255,255,255,.04))
}
.footer .brand-logo-img{width:132px;max-height:54px}
.viva-brand .mark,.viva-brand b,.viva-brand small{display:none!important}

.nav-viva-home{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:34px;padding:0 11px;border-radius:10px;
  border:1px solid rgba(255,255,255,.11);
  color:#cbd4e2!important;background:rgba(255,255,255,.025);
  white-space:nowrap
}
.nav-viva-home:hover{border-color:rgba(124,140,255,.42);background:rgba(124,140,255,.08)}

.nav-sponsor-btn,.mobile-sponsor-btn{
  border:0;cursor:pointer;font-weight:850;
  background:linear-gradient(135deg,#ffe487,#ffbd3d);
  color:#211803;
  box-shadow:0 10px 28px rgba(255,194,61,.20),0 0 22px rgba(255,214,92,.10)
}
.nav-sponsor-btn{min-height:34px;padding:0 13px;border-radius:10px;font-size:12px;white-space:nowrap}
.mobile-sponsor-btn{height:42px;padding:0 12px;border-radius:12px;text-align:left}
.nav-sponsor-btn:hover,.mobile-sponsor-btn:hover{
  background:linear-gradient(135deg,#ffec9a,#ffc951);
  box-shadow:0 14px 34px rgba(255,194,61,.30),0 0 28px rgba(255,214,92,.15)
}

body.sponsor-open{overflow:hidden}
.viva-sponsor-modal{position:fixed;inset:0;z-index:180;display:none;place-items:center;padding:20px}
.viva-sponsor-modal.open{display:grid}
.viva-sponsor-backdrop{position:absolute;inset:0;background:rgba(3,5,9,.78);backdrop-filter:blur(15px)}
.viva-sponsor-card{
  position:relative;z-index:2;width:min(760px,96vw);max-height:90vh;overflow:auto;
  padding:30px;border-radius:26px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(20,24,34,.98),rgba(8,11,17,.98));
  box-shadow:0 30px 120px rgba(0,0,0,.58);text-align:center
}
.viva-sponsor-card h2{font-size:34px;margin:7px 0}
.viva-sponsor-card>p{max-width:600px;margin:0 auto;color:#96a1b3}
.viva-sponsor-close{
  position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#fff;cursor:pointer
}
.viva-qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.viva-qr-card{padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.025)}
.viva-qr-box{
  width:100%;max-width:230px;aspect-ratio:1/1;margin:0 auto;display:grid;place-items:center;
  border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.26)
}
.viva-qr-box img{display:block;width:100%;height:100%;object-fit:contain}
.viva-qr-card strong{display:block;margin-top:13px;font-size:16px}
.viva-qr-card small{display:block;margin-top:4px;color:#778498;font-size:11px}

.guestbook-fields{display:grid;gap:11px}
.guestbook-fields .field{margin-top:0}
.guestbook-fields .field label{color:#8e99ac;font-size:11px}
.guestbook-fields .field label b{color:#ff9daf}
.guestbook-fields input,.guestbook-fields textarea{margin-top:0!important}
.guestbook-name-link{color:inherit;text-decoration:none}
.guestbook-name-link:hover b{color:#aeb8ff}

@media(max-width:1220px){
  .nav-links{gap:15px}
  .nav-viva-home{font-size:11px;padding-inline:9px}
  .nav-sponsor-btn{padding-inline:9px;font-size:11px}
}
@media(max-width:1050px){
  .nav-viva-home,.nav-sponsor-btn{display:none!important}
}
@media(max-width:680px){
  .brand-logo-img{width:98px}
  .viva-qr-grid{grid-template-columns:1fr}
  .viva-qr-box{max-width:215px}
}


/* =========================================================
   Digital World V1.2.3 - Photo detail full image
   ========================================================= */

/* 真实上传照片详情：始终显示完整原图，不再使用 cover 裁切 */
.photo-stage.photo-stage-real{
  min-height:0!important;
  height:auto!important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#090c12!important;
  overflow:hidden;
  line-height:0;
}

/* 去掉原详情页覆盖在图片上的装饰圆环 */
.photo-stage.photo-stage-real::before,
.photo-stage.photo-stage-real::after{
  display:none!important;
}

.photo-stage-image{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:contain;
  object-position:center;
}

/* 竖图也保持完整，不强行拉伸或裁剪 */
@media(min-width:901px){
  .photo-stage.photo-stage-real{
    max-height:calc(100vh - 170px);
  }
  .photo-stage.photo-stage-real .photo-stage-image{
    width:auto;
    max-width:100%;
    max-height:calc(100vh - 170px);
  }
}

@media(max-width:900px){
  .photo-stage.photo-stage-real .photo-stage-image{
    width:100%;
    max-height:none;
  }
}


/* =========================================================
   Digital World V1.2.4 - Remove member card overlays
   ========================================================= */

/* 移除成员卡片照片上的椭圆形与多边形透明装饰层，避免遮挡图片 */
.member-card::before,
.member-card::after{
  display:none !important;
}


/* =========================================================
   Digital World V1.2.5 - Real image overlay cleanup
   ========================================================= */

/*
  原则：
  只有真正加载了用户上传图片时，移除几何透明装饰。
  没有真实图片的默认占位卡片仍保留原设计。
*/

/* 首页成员卡：椭圆 + 多边形 */
.member-art.live-image::before,
.member-art.live-image::after{
  display:none!important;
}

/* 成员列表缩略图：人物形透明装饰 */
.dir-art.live-image::after{
  display:none!important;
}

/* 人物详情主头像：圆形 + 多边形 */
.portrait.has-real-photo::before,
.portrait.has-real-photo::after{
  display:none!important;
}

/* 所有真实留影缩略图：圆形 + 透明球 */
.photo-visual.live-image::before,
.photo-visual.live-image::after{
  display:none!important;
}

/* 真实纪事封面：圆环 + 透明球 */
.event-cover.live-image::before,
.event-cover.live-image::after{
  display:none!important;
}

/* 纪事中的真实成员头像：人物形透明装饰 */
.event-member-visual.live-image::after{
  display:none!important;
}

/* 真实故事封面：圆环 + 透明球 */
.article-cover.live-image::before,
.article-cover.live-image::after{
  display:none!important;
}

/* 真实照片与头像不叠加额外渐变背景 */
.member-art.live-image,
.dir-art.live-image,
.photo-visual.live-image,
.event-cover.live-image,
.event-member-visual.live-image,
.article-cover.live-image{
  background-repeat:no-repeat!important;
}

/* 人物详情真实头像层始终位于最上层 */
.portrait.has-real-photo .profile-real-avatar{
  z-index:3;
}


/* =========================================================
   Digital World V1.2.6 - Header alignment refinement
   ========================================================= */

/*
  Desktop header:
  [Viva Logo] [主导航：左对齐] [官网+赞助：右对齐 | 搜索/账号/菜单]
*/
@media(min-width:1051px){
  .nav{
    grid-template-columns: 155px minmax(280px,1fr) auto!important;
    column-gap:22px;
    align-items:center!important;
  }

  /* 蓝框区域：主导航占满中间列，左对齐，上下居中 */
  .nav-links{
    width:100%;
    height:100%;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:28px;
    margin:0!important;
    padding:0!important;
  }

  .nav-links > a{
    display:inline-flex;
    align-items:center;
    min-height:60px;
  }

  /* 右侧整体动作区 */
  .nav-actions-v06{
    display:flex;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px;
    min-width:max-content;
  }

  /* 红框区域：两个按钮独立成组，并在自己的区域内靠右 */
  .nav-special-actions{
    min-width:300px;
    height:100%;
    display:flex;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:12px;
    margin-right:12px;
  }

  .nav-special-actions .nav-viva-home,
  .nav-special-actions .nav-sponsor-btn{
    align-self:center;
  }
}

/* 稍窄桌面：适度收紧，不影响左右对齐逻辑 */
@media(min-width:1051px) and (max-width:1280px){
  .nav{
    grid-template-columns:140px minmax(250px,1fr) auto!important;
    column-gap:16px;
  }
  .nav-links{gap:20px}
  .nav-special-actions{
    min-width:250px;
    gap:9px;
    margin-right:8px;
  }
}

/* 移动端继续使用现有 mobile panel */
@media(max-width:1050px){
  .nav-special-actions{display:none!important}
}


/* =========================================================
   Digital World V1.2.8 - Event Cover Upload
   ========================================================= */
.event-cover-preview{
  aspect-ratio:16/8;
  min-height:220px;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-color:#090c12;
}


/* =========================================================
   Digital World V1.2.10
   ALL UPLOADED IMAGES = FULL FRAME / NO CROP
   ========================================================= */

/*
  核心规则：
  所有来自 Supabase / 用户上传的真实图片，一律完整显示。
  禁止 cover 裁切；统一 contain；不足区域用深色背景补齐。
*/
.live-image{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#090c12!important;
}

/* 首页成员 / 成员列表 / 留影卡片 / 时间轴 / 故事卡片 / 首页精选 */
.member-art.live-image,
.dir-art.live-image,
.photo-visual.live-image,
.timeline-card-visual.live-image,
.story-main-visual.live-image,
.story-card-visual.live-image,
.event-cover.live-image,
.event-member-visual.live-image,
.article-cover.live-image,
.featured-visual.live-image,
.mini.live-image{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#090c12!important;
}

/* 人物详情真实头像：完整显示，不裁切 */
.profile-real-avatar{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#090c12!important;
}

/* 后台所有图片预览：完整显示 */
.image-preview.has-image,
.event-cover-preview.has-image{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#090c12!important;
}

/* 成员中心头像预览：完整显示 */
.avatar-preview[style*="background-image"]{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#090c12!important;
  border-radius:14px!important;
}

/* 评论里的真实头像也不裁切 */
.comment-avatar[style*="background-image"]{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#090c12!important;
  border-radius:6px!important;
}

/* 若未来使用 real-cover，也必须完整显示 */
.real-cover{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#090c12!important;
}

/* 照片详情主图保持原图比例、完整显示 */
.photo-stage.photo-stage-real{
  background:#090c12!important;
}
.photo-stage.photo-stage-real .photo-stage-image{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(100vh - 170px)!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
}

/* 手机端允许图片按自身比例完整展开 */
@media(max-width:900px){
  .photo-stage.photo-stage-real .photo-stage-image{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
}

/*
  纪事详情封面此前固定高度较大。
  使用 contain 后，完整图片居中展示，不再上下裁切。
*/
.event-cover.live-image,
.article-cover.live-image{
  background-size:contain!important;
}

/* 防止旧规则重新覆盖为 cover */
.live-image,
.profile-real-avatar,
.image-preview.has-image,
.avatar-preview[style*="background-image"],
.comment-avatar[style*="background-image"]{
  background-size:contain!important;
}


/* =========================================================
   Digital World V1.2.11 FINAL - Global sponsor behavior
   ========================================================= */
.mobile-panel .mobile-sponsor-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:6px;
}
