:root{--paper:#fffdfa;--ink:#353635;--muted:#88857e;--line:#dedbd3;--accent:#FA5965;--tint:#f2e7dc;--scale:1;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:calc(16px * var(--scale))}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{border:1px solid var(--line);border-radius:11px;background:#fffaf3;color:var(--ink);padding:12px;outline-color:var(--accent);width:100%}p{line-height:1.85}.paper-grain{pointer-events:none;position:fixed;inset:0;z-index:9;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.btn{border:1px solid var(--line);background:transparent;border-radius:100px;padding:11px 21px;color:inherit;font-size:.85rem;letter-spacing:.02em;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-ghost{border-color:var(--line)}.eyebrow,.section-index{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600}.muted{color:var(--muted);font-size:.89rem}.intro{background:#fff;position:fixed;inset:0;z-index:50;min-height:100dvh;background:var(--paper);display:flex;flex-direction:column;padding:27px clamp(22px,5vw,84px);transition:opacity .8s ease,visibility .8s}.intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.intro-head,.intro-foot{display:flex;align-items:center;justify-content:space-between;font-size:.74rem;color:var(--muted);letter-spacing:.07em}.intro-center{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.petal-ring{position:absolute;width:min(84vw,68vh,650px);height:min(84vw,68vh,650px);max-height:100%;overflow:visible;pointer-events:none}.intro-core{position:relative;z-index:1;text-align:center;max-width:360px;margin:auto;transform:translateY(4px)}.intro-core h1{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-weight:500;font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:.12em;margin:13px 0 0}.intro-subtitle{font-size:.89rem;color:#777169;margin:8px 0 22px;letter-spacing:.03em}.wizard{max-width:315px;margin:auto}.wizard p{font-size:.76rem;color:var(--muted);margin:0 0 12px}.step-inputs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 15px}.choice{border:1px solid var(--line);border-radius:100px;padding:8px 15px;background:transparent;color:var(--ink);font-size:.76rem}.choice.selected{border-color:var(--accent);color:var(--accent);background:var(--tint)}.swatch{width:30px;height:30px;border-radius:50%;border:3px solid var(--paper);outline:1px solid var(--line);cursor:pointer}.swatch.selected{outline:2px solid var(--ink)}.wizard .btn{padding:9px 16px;font-size:.76rem}.intro-foot{padding-top:16px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,6vw,100px);border-bottom:1px solid var(--line)}.wordmark{font-family:"Songti SC",serif;font-size:1.12rem;letter-spacing:.08em}.tiny-flower{color:var(--accent)}.desktop-nav{display:flex;gap:32px;color:#67635f;font-size:.78rem}.desktop-nav a:hover{color:var(--accent)}.header-actions{display:flex;gap:12px;align-items:center}.session-name{color:var(--accent);font-size:.8rem}.hero{max-width:1440px;margin:auto;min-height:675px;padding:80px clamp(22px,8vw,128px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px}.hero-copy h2{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(3.5rem,7.2vw,7.8rem);font-weight:400;line-height:1.2;letter-spacing:.03em;margin:20px 0 22px}.hero-copy .dot{color:var(--accent)}.lead{font-size:1rem;line-height:2.15;color:#716d67}.text-link{display:inline-block;padding:16px 0;border-bottom:1px solid var(--accent);font-size:.84rem;margin-top:22px}.hero-meta{display:flex;gap:30px;color:var(--muted);font-size:.73rem;letter-spacing:.04em;margin-top:73px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1}.hero-art svg{width:100%;max-width:590px;filter:drop-shadow(0 16px 35px rgba(87,87,135,.10))}.art-note{position:absolute;bottom:0;color:var(--muted);font-size:.72rem;letter-spacing:.07em}.quote-section{padding:120px 24px;text-align:center;background:#ece6dd}.quote-section blockquote{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(1.8rem,4.2vw,3.5rem);font-weight:400;line-height:1.6;margin:35px 0}.quote-section blockquote em{font-style:normal;color:var(--accent)}.quote-section p{color:var(--muted);font-size:.9rem}.content-section{max-width:1240px;margin:0 auto;padding:110px clamp(22px,5vw,70px)}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:35px}.section-title-row h2,.content-section>h2{font-family:"Songti SC",serif;font-weight:400;font-size:clamp(2rem,4vw,3.7rem);margin:8px 0}.member-notice{min-height:270px;background:var(--tint);padding:50px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:20px}.member-notice h3{font-family:"Songti SC",serif;font-size:2rem;font-weight:400}.member-notice p{color:var(--muted)}.upload-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:var(--tint);padding:22px;border-radius:var(--radius)}.upload-form label,.admin-form label,.login-dialog label{display:flex;flex-direction:column;gap:8px;font-size:.78rem;color:#67635f}.upload-form label:nth-child(3){grid-column:1/-1}.upload-form .btn{justify-self:start}.form-status{font-size:.8rem;color:var(--accent);margin:0}.gallery{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.memory-card{background:#fffdf8;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.memory-thumb{aspect-ratio:4/3;background:var(--tint);display:grid;place-items:center}.memory-thumb img,.memory-thumb video{width:100%;height:100%;object-fit:cover}.memory-body{padding:17px 19px}.memory-body h3{font-size:1rem;font-weight:500}.memory-body p{font-size:.79rem;color:var(--muted)}.memory-body time{font-size:.68rem;color:var(--muted)}.note-section{border-top:1px solid var(--line)}.letter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.letter{border:1px solid var(--line);background:#fffbf5;border-radius:var(--radius);padding:25px}.letter p{white-space:pre-wrap;line-height:1.85}.letter small{color:var(--muted)}.post-form{margin-top:28px;display:grid;gap:13px}.post-form textarea{min-height:120px;resize:vertical}.post-form .btn{justify-self:start}.admin-panel{border-top:1px solid var(--line)}.admin-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-form button{justify-self:start}.site-footer{background:#363c38;color:#fff;padding:70px clamp(22px,7vw,110px);display:flex;justify-content:space-between;gap:30px;align-items:flex-end;font-size:.8rem}.site-footer p{color:#b7b9b4}.login-dialog{border:1px solid var(--line);background:var(--paper);padding:38px;max-width:420px;width:calc(100vw - 32px);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.15)}.login-dialog::backdrop{background:rgba(32,33,32,.4);backdrop-filter:blur(5px)}.login-dialog form{display:flex;flex-direction:column;gap:15px}.login-dialog h2{font-family:"Songti SC",serif;font-size:2.2rem;font-weight:400;margin:0}.login-dialog .muted{margin:0}.close-dialog{align-self:flex-end;border:0;background:none;font-size:1.8rem;color:var(--muted)}[hidden]{display:none!important}
/* Apple-inspired luminous motion: independent gradient petals and very slow ambient bloom.
   Not an Apple asset or a copy of any Apple page. */
:root { --ambient-a: rgba(255,158,121,.13); --ambient-b: rgba(153,128,242,.11); }
.intro-center { isolation: isolate; }
.intro-center::before, .hero-art::before {
  content: "";
  pointer-events: none;
  position: absolute;
  width: min(96vw, 84vh, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(ellipse 44% 43% at 35% 40%, var(--ambient-a) 0%, transparent 95%),
    radial-gradient(ellipse 45% 44% at 70% 57%, var(--ambient-b) 0%, transparent 95%);
  filter: blur(44px);
  opacity: .9;
  animation: ambient-breathe 16s ease-in-out infinite alternate;
}
.hero-art::before { width: 115%; filter:blur(34px); opacity:.65; }
.petal-ring { z-index: 0; filter: drop-shadow(0 5px 11px rgba(112,112,145,.09)); }
.hero-art svg { position:relative; z-index: 1; }
.petal-unit { will-change: auto; }
.petal-specular { pointer-events:none; }
@keyframes ambient-breathe {
  0% { transform: translate3d(-1%, 1%, 0) scale(.96); opacity:.73; }
  100% { transform: translate3d(1.5%, -1%, 0) scale(1.05); opacity:1; }
}
@media(prefers-reduced-motion:reduce){
  .intro-center::before, .hero-art::before { animation:none; }
}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:75px}.hero-art{max-width:520px;width:100%;margin:auto}.hero-meta{margin-top:40px}.desktop-nav{display:none}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form{grid-template-columns:1fr}.intro-core{max-width:300px}.intro-core h1{font-size:1.7rem}}
@media(max-width:580px){.intro{padding:24px 16px}.intro-head,.intro-foot{font-size:.66rem}.petal-ring{width:min(95vw,58vh);height:min(95vw,58vh)}.intro-core{max-width:220px}.intro-core h1{font-size:1.55rem}.intro-subtitle{font-size:.71rem;margin-bottom:12px}.wizard p{font-size:.7rem}.site-header{padding:18px 20px}.header-actions .session-name{display:none}.hero{padding:55px 22px;gap:10px}.hero-copy h2{font-size:3.8rem}.hero-art{max-width:380px}.hero-meta{gap:12px;font-size:.65rem}.content-section{padding:70px 22px}.quote-section{padding:70px 24px}.section-title-row{align-items:start;gap:20px}.section-title-row .muted{font-size:.7rem}.member-notice{padding:28px;flex-direction:column;align-items:start}.gallery{grid-template-columns:1fr}.upload-form{grid-template-columns:1fr}.letter-list{grid-template-columns:1fr}.site-footer{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Read-only shared-archive access, after removal of individual accounts. */
.archive-form{min-width:min(100%,290px);max-width:340px;display:grid;gap:10px}
.archive-form input{background:#fffdf9}
.archive-form .btn{justify-self:start}
.archive-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 0}
@media(max-width:580px){.archive-form{width:100%;min-width:0}.archive-toolbar{align-items:flex-start;flex-direction:column}}

/* ----------------------------------------------------------------------
   青春 · 长明 / 2026 — homepage edition. Independent editorial design.
   The visual covers are abstract CSS artwork, not alleged student photos.
   ---------------------------------------------------------------------- */
:root{--paper:#fbfaf8;--ink:#212623;--muted:#7d817c;--line:#e7e8e3;--tint:#f5ebe6;--radius:26px}
body{overflow-x:hidden;background:var(--paper)}
.skip-main{position:absolute;z-index:70;transform:translateY(-150%);background:#fff;color:#222;padding:10px;left:8px}.skip-main:focus{transform:none}
.visually-hidden{position:absolute!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;padding:0;border:0}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #789bef;outline-offset:4px}
.site-header{position:sticky;top:0;z-index:30;max-width:none;padding:17px clamp(24px,5.5vw,94px);background:rgba(251,250,248,.82);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border-color:rgba(210,214,207,.56)}
.wordmark{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-weight:650;font-size:1rem;display:flex;align-items:center;gap:11px;letter-spacing:0;line-height:1.28}
.wordmark small{display:block;font-weight:550;font-size:.50rem;letter-spacing:.23em;color:#a0a59f;margin-top:3px}
.brand-mark{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#ffd3cc,#f3e5fa 54%,#d0ebde);color:#6e7376;display:grid;place-items:center;font-size:1.55rem;font-weight:300}
.desktop-nav{gap:clamp(15px,2.2vw,32px);font-size:.78rem;color:#626760}.desktop-nav a{transition:color .2s;white-space:nowrap}
.header-icon-btn{border:1px solid #e1e4df;color:#545b55;border-radius:99px;background:#fffaf7;font-size:.83rem;padding:10px 16px;display:flex;align-items:center;gap:8px}
.header-icon-btn:hover{border-color:#babeb8}.nav-toggle{display:none}
.btn{border-radius:99px;padding:13px 24px;font-weight:600;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:21px}.btn-primary{background:#272c2b;border-color:#272c2b;color:#fff}.btn-primary:hover{background:#4a5250}
.intro{background:#fcfcfb}.intro-brand{font-weight:600}.intro-brand i{display:inline-block;border-radius:50%;width:4px;height:4px;background:#efb0a5;vertical-align:middle;margin:0 8px}.intro-core{max-width:360px}.intro-subtitle{max-width:330px;margin:8px auto 20px}.intro-core .btn-primary{box-shadow:0 7px 24px #51575a19}.intro-core input{max-width:260px;text-align:center;background:#fffffff2}
.hero{position:relative;max-width:1600px;min-height:min(800px,calc(100svh - 75px));grid-template-columns:1fr 1.04fr;padding:95px clamp(35px,8vw,130px) 112px;gap:clamp(30px,4vw,80px)}
.hero-copy{position:relative;z-index:2}.hero-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.71rem;color:#7e847d;letter-spacing:.03em}.live-pin{width:7px;height:7px;border-radius:50%;background:#e3a487;box-shadow:0 0 0 5px #f4ded5}.kicker-line{width:22px;height:1px;background:#cfd3cc}.visitor-greeting{margin:70px 0 2px;font-size:.72rem;letter-spacing:.15em;color:#919a91;font-weight:650}
.hero-copy h1{font-family:"Songti SC", "STSong", "Noto Serif CJK SC",serif;font-weight:400;letter-spacing:-.02em;line-height:1.13;font-size:clamp(4.2rem,6.2vw,7.2rem);margin:18px 0 26px;white-space:nowrap}.hero-copy .dot{color:#e7a892}.lead{font-size:1.04rem;color:#737b75;line-height:2.15}.hero-buttons{display:flex;align-items:center;gap:29px;margin-top:35px;flex-wrap:wrap}.hero-cta{min-width:173px}.quiet-link{display:inline-flex;align-items:center;gap:17px;font-size:.82rem;font-weight:650;color:#525e56;background:none;border:0;padding:10px 0}.quiet-link:hover{color:var(--accent)}
.hero-meta{margin-top:80px;display:flex;gap:clamp(14px,3vw,46px)}.hero-meta div{display:flex;flex-direction:column;gap:3px;min-width:72px}.hero-meta strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.65rem;line-height:1.1;color:#373b37}.hero-meta span{font-size:.66rem;letter-spacing:.06em;color:#8d938b}
.hero-art{max-width:680px;width:100%;aspect-ratio:1;justify-self:center;position:relative}.hero-art svg{width:100%;max-width:none;filter:drop-shadow(0px 25px 27px #8889c218)}.hero-art::before{width:116%;background:radial-gradient(ellipse 45% 45% at 30% 34%,var(--ambient-a),transparent 98%),radial-gradient(ellipse 43% 50% at 72% 66%,var(--ambient-b),transparent 96%);filter:blur(38px)}.art-center{position:absolute;z-index:2;display:flex;flex-direction:column;text-align:center;align-items:center;gap:2px;pointer-events:none}.art-center>span{font:400 clamp(3.9rem,6vw,7rem)/1 Georgia,serif;letter-spacing:-.09em;color:#4e534f;padding-right:.11em}.art-center small{font-size:.6rem;letter-spacing:.23em;color:#b0b1af}.floating-note{position:absolute;z-index:5;font-size:.69rem;color:#777d76;border-radius:99px;background:#ffffffd4;box-shadow:0 9px 28px #70757b0e;border:1px solid #ffffffde;padding:10px 17px;white-space:nowrap;backdrop-filter:blur(12px)}.note-top{right:-4%;top:12%}.note-top span{color:#eaa6aa}.note-bottom{left:2%;bottom:14%}.note-bottom span{margin-left:10px;color:#95b4a4}.hero-scroll-note{position:absolute;bottom:29px;left:clamp(35px,8vw,130px);font-size:.6rem;letter-spacing:.22em;color:#b3bab2}.hero-scroll-note span{margin-left:12px;color:#8c948c;font-size:.92rem}
.section-index{font-size:.7rem;color:#cb9986;letter-spacing:.21em;margin:0 0 19px;font-weight:700}.index-line{display:inline-block;width:26px;height:1px;background:currentColor;margin-right:8px;vertical-align:middle}.section-title-row{gap:25px;align-items:end;margin-bottom:38px}.section-title-row h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1.3;letter-spacing:-.04em;color:#282d29}.section-subcopy{font-size:.86rem;color:#969c95;line-height:1.8;margin:0 0 9px}
.story-intro{max-width:1600px;margin:auto;padding:125px clamp(35px,8vw,130px) 138px;border-top:1px solid #e7ebe5}.story-two-column{display:grid;grid-template-columns:1.15fr .75fr;gap:12%;align-items:end}.story-two-column h2{font-size:clamp(2.8rem,5.1vw,5.5rem);line-height:1.35;margin:3px 0;font-family:"Songti SC","STSong",serif;font-weight:400;letter-spacing:-.04em}.story-two-column em{font-style:normal;color:#a6b2a6}.story-prose{max-width:390px;padding-bottom:7px}.story-prose p{color:#727d75;font-size:.95rem;line-height:2.1;margin:13px 0}.story-stamp{margin-top:40px;color:#a0a99f;font-size:.72rem;letter-spacing:.14em}.story-stamp span{padding:0 12px}
.chapter-section{background:#f5f5f1;padding:116px clamp(35px,7.5vw,125px) 105px}.chapter-section>.section-title-row{max-width:1410px;margin:0 auto 42px}.chapter-grid{max-width:1420px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.chapter-card{position:relative;border-radius:22px;overflow:hidden;min-height:396px;transition:transform .4s,box-shadow .4s;background:#fff;display:flex;flex-direction:column}.chapter-card:hover{transform:translateY(-8px);box-shadow:0 18px 45px #767d6d1d}.chapter-top{position:absolute;z-index:3;top:18px;left:21px;right:21px;display:flex;justify-content:space-between;align-items:center;color:#425049a8;font-size:.75rem}.chapter-top span:last-child{font-size:1.15rem}.chapter-art{height:290px;position:relative;overflow:hidden;flex:1;min-height:250px}.chapter-caption{background:#fff;padding:20px 21px 24px;z-index:2}.chapter-caption h3{font-family:"Songti SC",serif;font-weight:500;font-size:1.36rem;margin:0 0 7px}.chapter-caption p{margin:0;color:#9b9e97;font-size:.72rem;line-height:1.8}
.classroom-art{background:linear-gradient(145deg,#f4d8b5 0%,#f7e9dc 38%,#e6ddcd 100%)}.window-frame{position:absolute;width:76%;height:67%;border:10px solid #d5c5b5;top:20%;left:12%;box-shadow:15px 23px 20px #bfae982f;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;background:linear-gradient(125deg,#c9dce8,#fae7b8 72%,#ffddb0)}.window-frame i{border:2px solid #e0d4c9}.sunbeam{position:absolute;clip-path:polygon(25% 0,62% 0,100% 100%,0 100%);background:#fff9d280;top:38%;width:100%;height:110%;transform:skewX(-20deg)}
.corridor-art{background:linear-gradient(140deg,#d0dfd0,#f1ecda 58%,#ebd3c7)}.perspective{position:absolute;inset:22% 20% 0;clip-path:polygon(34% 0,66% 0,100% 100%,0 100%);background:linear-gradient(90deg,#b6cab94d,#fff7e1aa,#9ab99e50)}.rail{position:absolute;height:3px;background:#839e8a6e;width:75%;top:65%}.rail.one{left:0;transform:rotate(21deg);transform-origin:left}.rail.two{right:0;transform:rotate(-21deg);transform-origin:right}
.field-art{background:linear-gradient(180deg,#d1d9ed,#f2d4c9 57%,#abafa2 58%,#869d90 100%)}.field-sun{position:absolute;width:86px;height:86px;border-radius:50%;background:#ffe6c7;box-shadow:0 0 44px #ffdec9;top:25%;right:15%}.track{position:absolute;border:2px solid #efe3d74f;border-radius:50%;width:130%;height:120%;top:66%;left:-15%;transform:rotate(-8deg)}.track-b{width:100%;left:0;top:76%}.track-c{width:70%;left:15%;top:86%}
.future-art{background:radial-gradient(circle at 45% 32%,#ecf3ed,#d8e0ee 45%,#cbd4e7)}.future-orbit{position:absolute;width:195px;height:195px;border-radius:50%;border:1px solid #ffffffa9;box-shadow:0 0 0 21px #ffffff38,0 0 0 46px #ffffff18;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center}.future-orbit span{font:150px/1 "Times New Roman",serif;color:#ffffffb9;transform:translateY(-16px)}.sparkle{position:absolute;color:white;font-style:normal}.s1{top:20%;left:20%}.s2{bottom:19%;right:22%;font-size:1.7rem}.content-disclaimer{font-size:.69rem;color:#adb2aa;margin:22px auto 0;max-width:1420px}
.timeline-section{max-width:1510px;margin:auto;padding:136px clamp(35px,7.5vw,115px) 125px}.timeline-heading h2{font-family:"Songti SC",serif;font-size:clamp(2.6rem,4.5vw,5rem);font-weight:400;line-height:1.3;margin:0 0 43px}.timeline-heading em{font-style:normal;color:#a3b3ab}.timeline-panel{border:1px solid #e5e7e1;background:#fefdfa;border-radius:27px;overflow:hidden;box-shadow:0 22px 70px #62696608}.timeline-tabs{display:flex;border-bottom:1px solid #e9e9e5;padding:0 42px;gap:45px}.timeline-tab{border:0;border-bottom:2px solid transparent;padding:22px 0;background:none;font:400 1.3rem Georgia,serif;color:#a8aca4;display:flex;align-items:center;gap:10px}.timeline-tab small{font-family:-apple-system,"PingFang SC",sans-serif;font-size:.64rem}.timeline-tab.active{border-color:#d0a68e;color:#333934}.timeline-display{min-height:345px;display:grid;grid-template-columns:.92fr 1.08fr;padding:30px 70px;align-items:center;gap:15px}.timeline-big-year{font:400 clamp(6rem,15vw,13rem)/1 Georgia,serif;letter-spacing:-.085em;color:#e0dcd1}.timeline-detail{max-width:430px}.timeline-detail h3{font:400 clamp(1.45rem,2.25vw,2.4rem)/1.6 "Songti SC",serif;margin:11px 0}.timeline-detail>p:not(.eyebrow){color:#828880;font-size:.86rem;line-height:2}.timeline-detail .timeline-note{font-size:.74rem;color:#c28c74!important;margin-top:30px}.timeline-footer{display:flex;justify-content:space-between;margin-top:20px;font-size:.7rem;color:#a1aaa0;letter-spacing:.1em}
.signature-feature{position:relative;overflow:hidden;isolation:isolate;min-height:560px;background:radial-gradient(ellipse at 85% 70%,#24334a,#101724 52%,#0b1019);display:flex;align-items:center;padding:85px clamp(35px,11vw,175px);color:#fff}.signature-feature-copy{position:relative;z-index:3;max-width:730px}.signature-feature .section-index{color:#c0beeb}.signature-feature h2{font:400 clamp(2.6rem,4.8vw,5rem)/1.4 "Songti SC",serif;margin:24px 0}.signature-feature h2 em{font-style:normal;color:#bdc7e3}.signature-feature-copy>p:not(.section-index){font-size:.95rem;color:#a2b0c4;max-width:520px;line-height:2}.btn-white{background:#f7f6f6;border-color:#f7f6f6;color:#202633;margin-top:23px}.signature-caption{display:block;color:#72849e;margin-top:24px;font-size:.7rem;letter-spacing:.12em}.signature-orbit{position:absolute;inset:0;z-index:1}.streak{display:block;position:absolute;height:2px;width:220px;background:linear-gradient(90deg,#f6e3ff00,#e7e0f8e8);filter:drop-shadow(0 0 8px #e8dcff9b);transform:rotate(-32deg)}.st1{right:4%;top:25%;width:360px}.st2{right:16%;top:52%;width:220px;opacity:.66}.st3{right:4%;bottom:12%;width:150px;opacity:.5}.st4{left:36%;top:9%;width:90px;opacity:.4}.star-field{position:absolute;inset:0;opacity:.68;background-image:radial-gradient(1px 1px at 22% 22%,#fff 50%,transparent 90%),radial-gradient(1px 1px at 78% 12%,#fff 50%,transparent 90%),radial-gradient(1.3px 1.3px at 58% 81%,#fff 50%,transparent 90%),radial-gradient(1px 1px at 92% 72%,#fff 50%,transparent 90%);background-size:200px 160px}
.archive-section{max-width:1420px;padding-top:124px;padding-bottom:140px}.film-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:40px}.film-card{min-height:195px;border-radius:12px;overflow:hidden;position:relative}.film-card span{position:absolute;bottom:17px;left:20px;color:#ffffffde;font-size:.75rem}.film-card.f1{background:linear-gradient(40deg,#8b9eac,#b8d7e4 55%,#efd6ad)}.film-card.f2{background:linear-gradient(128deg,#97a78f,#d4bfaa 55%,#f0e5d0)}.film-card.f3{background:linear-gradient(48deg,#e7ab8d,#fae2c9 50%,#aab8bd)}.film-card.f4{background:linear-gradient(130deg,#c0b9d2,#d0e0d7 55%,#d1dee4)}.member-notice{border:1px solid #e7e5df;border-radius:26px;background:linear-gradient(135deg,#fbf7f1,#f0f1ed);gap:45px;padding:46px 58px}.archive-lock-icon{display:inline-grid;place-items:center;background:#fff;width:40px;height:40px;border-radius:50%;color:#c79f91;margin-bottom:10px}.member-notice h3{margin:0 0 11px;font:400 2rem "Songti SC",serif}.member-notice p{max-width:520px;font-size:.85rem;line-height:2}.archive-form{width:310px;flex-shrink:0}.archive-form label{font-size:.77rem;color:#8b938b}.archive-form .btn{width:100%}
.october-feature{padding-top:0;padding-bottom:150px;max-width:1420px}.october-card{border-radius:28px;min-height:450px;overflow:hidden;background:#eeede6;display:grid;grid-template-columns:1fr .85fr}.october-card-left{padding:65px clamp(25px,5.3vw,85px);position:relative;z-index:2}.october-card-left h2{font:400 clamp(2rem,3.3vw,3.5rem)/1.5 "Songti SC",serif;margin:18px 0}.october-card-left p:not(.section-index){color:#89918a;max-width:470px;font-size:.88rem;line-height:1.95}.october-card-left .btn{margin-top:25px}.october-date{display:flex;position:relative;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;align-content:center;overflow:hidden;background:radial-gradient(circle at 38% 38%,#fae0d9,#e4ddd9 45%,#e5e4e1)}.october-date>span{font:400 clamp(4.5rem,7vw,8rem)/1 Georgia,serif;letter-spacing:-.08em;color:#b8a4a1;z-index:2}.october-date>i{font:100 4rem Georgia,serif;color:#d9c3ba;z-index:2}.october-date small{flex-basis:100%;text-align:center;letter-spacing:.2em;font-size:.6rem;color:#c19c91;z-index:2}.seal-glow{position:absolute;width:480px;height:480px;border-radius:50%;box-shadow:0 0 0 1px #ffffffaa,0 0 0 70px #ffffff33,0 0 0 130px #ffffff28;z-index:1}
.letters-section{padding-top:0;padding-bottom:140px;max-width:1420px}.letter-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.letter-writing{background:#fff;border:1px solid #e4e6e0;border-radius:24px;padding:34px;min-height:450px;display:flex;flex-direction:column}.letter-topline{display:flex;justify-content:space-between;color:#a0a7a0;font-size:.68rem;letter-spacing:.12em;border-bottom:1px solid #f0f0ec;padding-bottom:19px}.letter-writing textarea{padding:34px 4px;border:0;resize:vertical;min-height:230px;flex:1;background:transparent;outline-offset:0;color:#363a37;font-size:.99rem;line-height:2.1}.draft-actions{display:flex;gap:10px;flex-wrap:wrap}.draft-privacy{font-size:.72rem;line-height:1.8;color:#a0a59f;margin-top:14px}.draft-status{font-size:.74rem;color:#669380;margin:8px 0 0;min-height:16px}.prompt-board{background:linear-gradient(140deg,#dce6df,#e8e8e4 60%,#ecdedc);border-radius:24px;padding:44px 43px;display:flex;flex-direction:column;position:relative;overflow:hidden}.prompt-spark{font-size:5rem;position:absolute;right:-9px;top:-17px;color:#ffffffa0}.prompt-board .section-index{color:#879d92}.prompt-board h3{font:400 clamp(1.4rem,2.1vw,2rem)/1.6 "Songti SC",serif;max-width:290px}.prompt-board>p:not(.section-index){color:#7b9186;font-size:.91rem;line-height:2;max-width:330px}.prompt-board .quiet-link{margin-top:20px;align-self:flex-start}.prompt-date{margin-top:auto;padding-top:60px;font-size:.63rem;letter-spacing:.18em;color:#a2b5ab}.previous-letters{padding:50px 0}.previous-letter-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7e1;padding-bottom:13px;margin-bottom:30px}.previous-letter-head h3{font:400 1.5rem "Songti SC",serif}.previous-letter-head span{color:#9caba2;font-size:.75rem}.letter-list{grid-template-columns:repeat(2,1fr)}
.closing-section{text-align:center;padding:120px 24px 145px;background:linear-gradient(180deg,#f1f4ef,#f7f7f4);display:flex;flex-direction:column;align-items:center}.closing-flower{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#e5ece5;color:#93ab9b;font-size:2.25rem}.closing-section>p{font-size:.7rem;letter-spacing:.2em;color:#a4b2aa;margin:30px 0 3px}.closing-section h2{font:400 clamp(2.6rem,4.6vw,4.6rem)/1.45 "Songti SC",serif;margin:8px 0 26px}.closing-section h2 em{font-style:normal;color:#9bb3a6}.site-footer{background:#242b29;color:#fff;align-items:initial;padding:75px clamp(24px,8vw,120px) 80px}.site-footer .wordmark{font-family:-apple-system,"PingFang SC",sans-serif}.site-footer p{font-size:.78rem;line-height:1.95}.footer-right{display:flex;align-items:flex-end;flex-direction:column;gap:12px}.footer-right>span{font:400 2rem Georgia,serif;color:#dadad1}.footer-right small{color:#b0b7b0;font-size:.73rem}.footer-right button{background:none;border:0;color:#c3d8c8;margin-top:12px;font-size:.72rem}
.settings-dialog{width:min(520px,calc(100vw - 28px));border:1px solid #e7ebe4;border-radius:26px;padding:30px 36px;background:#fffefa;color:#2b342e;box-shadow:0 35px 100px #27312a30}.settings-dialog::backdrop{background:#17241f75;backdrop-filter:blur(8px)}.settings-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.settings-heading h2{font:400 2rem/1.5 "Songti SC",serif;margin:0 0 27px}.close-settings{border:0;background:none;color:#8d998f;font-size:1.8rem}.settings-dialog fieldset{border:0;padding:0;margin:0 0 28px}.settings-dialog legend{font-size:.78rem;color:#758075;margin-bottom:12px}.setting-theme-group,.setting-font-group{display:flex;flex-wrap:wrap;gap:9px}.setting-theme,.setting-font{background:#f4f5f1;border:1px solid #e4e8e1;color:#657165;border-radius:14px;padding:11px 19px;font-size:.82rem}.setting-theme.selected,.setting-font.selected{border-color:#bfa796;background:#f8eee6;color:#805d48}.settings-hint{font-size:.72rem;color:#97a29a;margin-top:23px}
.reveal-on-scroll{transition:transform .7s ease,opacity .7s ease}.reveal-on-scroll:not(.revealed){transform:translateY(18px);opacity:.82}
@media(max-width:1140px){.chapter-grid{grid-template-columns:repeat(2,1fr)}.chapter-card{min-height:350px}.hero{gap:16px;padding-inline:6vw}.hero-copy h1{font-size:clamp(3.9rem,6.8vw,6.3rem)}.note-top{right:-1%}.desktop-nav{gap:18px}.desktop-nav a{font-size:.7rem}}
@media(max-width:900px){.nav-toggle{display:flex}.desktop-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 28px 23px;background:var(--paper);border-bottom:1px solid #e4e7e2;box-shadow:0 15px 25px #3c413b14;flex-direction:column;gap:20px}.desktop-nav.mobile-open{display:flex}.hero{grid-template-columns:1fr;min-height:auto;padding-top:76px}.hero-art{max-width:620px;margin-top:-20px}.hero-copy h1{font-size:clamp(4rem,10vw,6rem)}.visitor-greeting{margin-top:55px}.hero-meta{margin-top:50px}.story-two-column{gap:35px}.timeline-display{padding:30px 50px}.timeline-big-year{font-size:clamp(6rem,13vw,11rem)}.letter-layout{grid-template-columns:1fr}.prompt-board{min-height:365px}.october-date>span{font-size:5rem}}
@media(max-width:610px){.site-header{padding:14px 18px}.header-icon-btn{padding:8px 11px}.header-icon-btn span{display:none}.brand-mark{width:32px;height:32px}.wordmark{font-size:.86rem}.hero{padding:54px 23px 70px;gap:0}.hero-copy h1{font-size:clamp(3.3rem,13vw,4.7rem);white-space:normal}.hero-kicker{font-size:.62rem;gap:7px}.hero-copy .lead{font-size:.9rem}.hero-buttons{gap:15px}.hero-meta{gap:26px;margin-top:43px}.hero-meta div{min-width:56px}.hero-meta strong{font-size:1.5rem}.hero-art{margin:24px auto 0;max-width:500px}.floating-note{font-size:.58rem;padding:7px 10px}.note-top{right:0%;top:7%}.note-bottom{left:0;bottom:8%}.art-center>span{font-size:clamp(3.3rem,15vw,5rem)}.hero-scroll-note{display:none}.story-intro{padding:80px 24px}.story-two-column{grid-template-columns:1fr;gap:20px}.story-two-column h2{font-size:2.9rem}.story-prose{max-width:none}.chapter-section{padding:77px 18px}.section-title-row{flex-direction:column;align-items:start;gap:6px}.section-title-row h2{font-size:2.65rem}.chapter-grid{grid-template-columns:1fr 1fr;gap:10px}.chapter-card{min-height:280px;border-radius:16px}.chapter-art{min-height:170px}.chapter-caption{padding:15px 13px}.chapter-caption h3{font-size:1rem}.chapter-caption p{font-size:.63rem}.chapter-top{top:12px;left:12px;right:12px;font-size:.63rem}.timeline-section{padding:90px 20px}.timeline-heading h2{font-size:2.75rem}.timeline-tabs{padding:0 22px;gap:18px}.timeline-tab{font-size:1.02rem;gap:6px}.timeline-tab small{font-size:.55rem}.timeline-display{grid-template-columns:1fr;padding:26px;min-height:380px;gap:0}.timeline-big-year{font-size:6rem}.timeline-detail h3{font-size:1.65rem}.timeline-footer{gap:20px;font-size:.57rem}.signature-feature{min-height:540px;padding:70px 27px}.signature-feature h2{font-size:2.7rem}.signature-feature-copy>p:not(.section-index){font-size:.87rem}.archive-section{padding-top:80px;padding-bottom:100px}.film-strip{grid-template-columns:repeat(2,1fr);gap:9px}.film-card{min-height:130px}.member-notice{padding:27px 21px}.member-notice h3{font-size:1.8rem}.october-feature{padding-bottom:90px}.october-card{grid-template-columns:1fr}.october-card-left{padding:36px 25px}.october-date{min-height:240px}.october-date>span{font-size:5rem}.letters-section{padding-bottom:85px}.letter-writing{padding:20px;min-height:405px}.letter-writing textarea{min-height:210px}.prompt-board{padding:30px;min-height:330px}.previous-letter-head{gap:10px;align-items:start}.previous-letter-head span{font-size:.65rem}.previous-letters{padding:35px 0}.closing-section{padding:85px 20px}.closing-section h2{font-size:2.6rem}.site-footer{flex-direction:column;align-items:start;gap:35px;padding:50px 28px}.footer-right{align-items:flex-start}.settings-dialog{padding:25px 22px}.intro-core{max-width:220px}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll:not(.revealed){transform:none;opacity:1}}

/* Prevent the dynamic greeting from expanding the grid's intrinsic width. */
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)}
.hero-copy,.hero-art{min-width:0}
.hero-copy h1{font-size:clamp(3.6rem,5.65vw,6.5rem);white-space:normal;overflow-wrap:break-word;letter-spacing:-.045em}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:610px){.hero-copy h1{font-size:clamp(3.3rem,12vw,4.7rem)}}

/* ─── TIME-RESPONSIVE VISUAL SYSTEM ─────────────────────────────────────
   Built for Asia/Shanghai (the class's local time), with automatic seasons,
   time-of-day, and dated holiday overlays. Existing archive/private media
   flows remain unchanged. ─────────────────────────────────────────── */
:root {
  --time-paper:#fbfaf8;
  --time-ink:#212623;
  --time-hero:#fbfaf8;
  --time-hero-text:#212623;
  --time-glow:rgba(255,187,152,.15);
  --time-dark:0;
}
html,body,.intro,.hero,.site-header,.time-chip,.time-whisper,.hero-copy h1,.hero-copy .lead {
  transition: background-color 1.1s ease, color 1.1s ease, border-color 1.1s ease;
}
html {color-scheme:light}
body {background:var(--time-paper);color:var(--time-ink)}
.intro {background:var(--time-paper)}
.site-header {background:color-mix(in srgb,var(--time-paper) 87%,transparent);border-bottom-color:color-mix(in srgb,var(--time-ink) 12%,transparent)}
.hero {
  background:
    radial-gradient(ellipse 43% 56% at 79% 26%,var(--time-glow),transparent 95%),
    var(--time-hero);
  color:var(--time-hero-text);
  isolation:isolate;
}
.hero-copy h1,.hero-meta strong,.art-center>span {color:var(--time-hero-text)}
.hero-kicker,.visitor-greeting,.hero-copy .lead,.hero-meta span,.hero-scroll-note,.floating-note {color:color-mix(in srgb,var(--time-hero-text) 62%,transparent)}
.hero .quiet-link {color:color-mix(in srgb,var(--time-hero-text) 80%,transparent)}
.time-chip{font-size:.63rem;letter-spacing:.04em;padding:6px 11px;border-radius:100px;border:1px solid currentColor;opacity:.72;white-space:nowrap}
.time-whisper{font-family:"Songti SC","STSong",serif;letter-spacing:.06em;font-size:clamp(.86rem,1.2vw,1.06rem);color:color-mix(in srgb,var(--time-hero-text) 72%,transparent);margin:8px 0 12px;min-height:1.6em}
.hero-copy h1 {margin-top:12px}
html[data-period="dawn"] .hero{background:radial-gradient(ellipse 49% 60% at 78% 46%,#ffd7ae77,transparent 95%),linear-gradient(128deg,#fff9ef,#fceee9)}
html[data-period="dusk"] .hero{background:radial-gradient(ellipse 54% 57% at 85% 27%,#d0a3dc73,transparent 98%),linear-gradient(128deg,#fff0df,#f9e5ec 72%,#f0ecfb)}
html[data-period="evening"] .hero,html[data-period="lateNight"] .hero{
  background:
    radial-gradient(ellipse 56% 64% at 75% 36%,rgba(104,120,203,.36),transparent 84%),
    radial-gradient(ellipse 38% 55% at 16% 84%,rgba(156,110,189,.21),transparent 90%),
    linear-gradient(120deg,#1d2740,#222b46 62%,#27345b);
  border-radius:0 0 28px 28px;
}
html[data-period="lateNight"] .hero{background:radial-gradient(ellipse 48% 62% at 78% 36%,rgba(67,88,165,.29),transparent 85%),linear-gradient(124deg,#111a30,#1c2442 75%,#222849)}
html[data-period="evening"] .hero::before,html[data-period="lateNight"] .hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.60;
  background-image:radial-gradient(circle,#ffffff 0 1px,transparent 1.8px),radial-gradient(circle,#ded5ff 0 1px,transparent 1.5px);
  background-position:0 0,82px 66px;background-size:181px 159px,267px 239px;
  mask-image:linear-gradient(90deg,transparent 10%,#000 80%);
}
html[data-period="evening"] .hero-copy .lead,html[data-period="lateNight"] .hero-copy .lead,
html[data-period="evening"] .hero-meta span,html[data-period="lateNight"] .hero-meta span,
html[data-period="evening"] .visitor-greeting,html[data-period="lateNight"] .visitor-greeting{
  color:#c5cade;
}
html[data-period="evening"] .hero .quiet-link,html[data-period="lateNight"] .hero .quiet-link {color:#e5e5f4}
html[data-period="evening"] .hero .btn-primary,html[data-period="lateNight"] .hero .btn-primary{background:#f3f2f7;border-color:#f3f2f7;color:#28334c}
html[data-period="evening"] .floating-note,html[data-period="lateNight"] .floating-note{background:#ffffff19;border-color:#ffffff2d;color:#eff0fb}
html[data-period="evening"] .hero-art svg,html[data-period="lateNight"] .hero-art svg{filter:drop-shadow(0 19px 39px #03092399)}
html[data-festival="reunion"] .hero{box-shadow:inset 0 0 0 2px #eebaaf4b}
html[data-festival="reunion"] .time-chip {background:linear-gradient(90deg,#fbd9b6,#f0a9c0);color:#6f3448;border-color:transparent;font-weight:650;opacity:1}
html[data-festival="midautumn"] .hero-art::before{filter:blur(25px);opacity:.95}
html[data-festival="springfest"] .time-chip,html[data-festival="lantern"] .time-chip{background:#f2c8a6;border-color:transparent;color:#87453e;opacity:1}
.live-theme-status{margin:0 0 27px;font-size:.78rem;color:#68746d;background:#eff5f0;border-radius:12px;padding:12px 14px;line-height:1.9}
@media(max-width:610px){.time-chip{font-size:.55rem;padding:5px 8px}.time-whisper{margin-top:5px}.hero-kicker{row-gap:9px}}
@media(prefers-reduced-motion:reduce){html,body,.intro,.hero,.site-header,.time-chip,.time-whisper,.hero-copy h1,.hero-copy .lead{transition:none}}

/* Phase II joins: color blooms between already-arranged petals; never a visible wire. */
.color-join-layer { pointer-events:none; }
.color-join-glow { filter:blur(4.1px); mix-blend-mode:normal; }
.color-join-shine { filter:blur(2.3px); mix-blend-mode:screen; }
@media (prefers-reduced-motion: reduce) {
  .color-join-glow,.color-join-shine{ filter:none; }
}

/* V5 · Three concentric rings of softly graduated color dots (not petals). */
.color-dot-field { pointer-events:none; }
.color-dot-circle { opacity:.97; filter:blur(.16px); }
.color-dot-halo { filter:blur(8px); mix-blend-mode:screen; pointer-events:none; }
.intro .petal-ring { filter:none; }
.hero-art svg { filter:none; }
@media(prefers-reduced-motion:reduce){.color-dot-halo{filter:none;opacity:0!important}}

/* V5.1: the original logo at the heart of the dot-ring changes with the season.
 * The actual season is calculated in Asia/Shanghai (not the visitor's locale). */
.art-center { gap: 9px; }
.art-center > .season-emblem {
  display:block; min-width:1.3em;
  padding:0; letter-spacing:0; line-height:1.23;
  font-size:clamp(4.2rem, 6.1vw, 6.3rem);
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-weight:normal;
  filter:drop-shadow(0 9px 15px rgba(75,89,113,.12));
}
.art-center small { letter-spacing:.22em; }
.intro-season-emblem {
  margin:0 auto 10px; width:max-content; min-width:1.2em;
  line-height:1.22;font-size:clamp(2.8rem,4.2vw,3.65rem);
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  filter:drop-shadow(0 6px 12px rgba(75,89,113,.09));
}
.season-emblem-enter { animation:season-emblem-enter .6s cubic-bezier(.25,.8,.25,1) both; }
@keyframes season-emblem-enter {from{opacity:.18;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@media(max-width:580px){
  .art-center > .season-emblem {font-size:clamp(3.4rem,16vw,4.8rem)}
  .intro-season-emblem {font-size:2.8rem; margin-bottom:8px}
  .art-center small {font-size:.51rem;letter-spacing:.1em}
}
@media(prefers-reduced-motion:reduce){.season-emblem-enter{animation:none}}


/* V6 intro revision */
.intro-core{position:relative;z-index:3}
.intro-season-emblem-hero{position:relative;transition:transform .85s cubic-bezier(.22,.8,.22,1),opacity .7s ease,margin .7s ease,font-size .85s cubic-bezier(.22,.8,.22,1);transform-origin:center center;font-size:clamp(6.8rem,17vw,10rem);margin:-10px auto 20px;line-height:1}
.intro-season-emblem-hero.is-docked{font-size:clamp(2.5rem,4vw,3.4rem);transform:translateY(-8px) scale(.92);margin:0 auto 10px;opacity:.98}
.intro-title-swap{animation:intro-fade-swap .48s ease both}
@keyframes intro-fade-swap{from{opacity:.18;transform:translateY(10px)}to{opacity:1;transform:none}}
.step-inputs.compact{gap:18px}
.slider-block{display:grid;gap:10px;width:min(420px,82vw);margin:0 auto}
.slider-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:var(--subtle)}
.slider-row input[type=range]{width:100%;accent-color:#20211f}
.appearance-group{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.appearance-choice{padding:12px 18px;border-radius:999px;border:1px solid var(--stroke);background:rgba(255,255,255,.72);font:600 0.92rem/1 var(--sans);cursor:pointer;color:var(--ink)}
.appearance-choice.selected{background:#20211f;color:#fff;border-color:#20211f;box-shadow:0 16px 34px rgba(20,22,25,.14)}
html[data-user-theme="dark"] body{background:#eef1f8}
html[data-user-theme="dark"] .site-header{background:color-mix(in srgb,var(--time-paper) 76%,rgba(17,24,39,.12));}
html[data-user-theme="dark"] .hero-copy .lead,html[data-user-theme="dark"] .story-prose p{color:color-mix(in srgb,var(--ink) 76%,transparent)}
html[data-user-theme="dark"] .timeline-panel,html[data-user-theme="dark"] .member-notice,html[data-user-theme="dark"] .october-card,html[data-user-theme="dark"] .letter-writing,html[data-user-theme="dark"] .prompt-board{background:rgba(20,28,44,.045)}


/* V7 intro staging: emblem dominates first, then docks upward and reveals copy */
.hidden-copy{opacity:0;transform:translateY(12px);pointer-events:none}
.intro-copy-visible{opacity:1;transform:none;pointer-events:auto;transition:opacity .55s ease, transform .55s ease}
.wizard.hidden-copy{display:grid}
.intro-season-emblem-hero{font-size:clamp(10rem,24vw,15rem);margin:0 auto 8px;}
.intro-season-emblem-hero.is-stage-hero{font-size:clamp(12rem,28vw,17.5rem);margin:0 auto 10px;}
.intro-season-emblem-hero.is-docked{font-size:clamp(2.8rem,4.8vw,3.6rem);transform:translateY(-6px) scale(.9);margin:0 auto 12px;opacity:.98}
#introTitle{max-width:12ch;margin-left:auto;margin-right:auto}
#intro .wizard{gap:16px}
#intro .wizard .btn{min-width:180px;margin-inline:auto}


/* V8: generated seasonal illustrations and calm, Apple-inspired page transitions. */
.art-center > img.season-emblem,
.intro img.intro-season-emblem {
  display:block;object-fit:contain;object-position:center;
  border:0;background:transparent;aspect-ratio:1;
  user-select:none;-webkit-user-drag:none;
  filter:drop-shadow(0 6px 16px rgba(83,93,117,.09));
}
.art-center > img.season-emblem {
  width:clamp(125px,17vw,175px);height:auto;
  min-width:0;max-width:50vw;
}
.intro img.intro-season-emblem-hero {
  width:clamp(200px,33vw,294px);height:auto;
  max-width:76vw;
  margin:0 auto 12px;
  transform:translate3d(0,0,0) scale(1);
  transition:width .80s cubic-bezier(.22,1,.36,1),
    transform .80s cubic-bezier(.22,1,.36,1),
    margin .80s cubic-bezier(.22,1,.36,1),
    opacity .65s ease;
}
.intro img.intro-season-emblem-hero.is-stage-hero{
  width:clamp(245px,45vw,340px);max-width:88vw;margin:0 auto 8px;
}
.intro img.intro-season-emblem-hero.is-docked{
  width:clamp(80px,11vw,112px);max-width:30vw;
  transform:translate3d(0,-13px,0) scale(1);
  margin:0 auto 5px;
}
.intro-core{width:min(420px,85vw);max-width:none;}
.intro-core #introTitle{max-width:100%;font-size:clamp(1.45rem,2.65vw,2.18rem);line-height:1.52;letter-spacing:.055em}
.intro-core .intro-copy,
.intro-core #wizard{
  transition:opacity .42s cubic-bezier(.25,.1,.25,1),transform .42s cubic-bezier(.22,1,.36,1);
}
.intro-core .hidden-copy{opacity:0;transform:translate3d(0,5px,0);pointer-events:none}
.intro-core .intro-copy-visible{opacity:1;transform:none;pointer-events:auto}
.intro-core.is-changing #introTitle,
.intro-core.is-changing #stepInputs,
.intro-core.is-changing #stepNext {
  opacity:0;transform:translate3d(0,-4px,0);
}
.intro-core.is-changing .appearance-group{pointer-events:none}
#intro .wizard{gap:12px}
#intro .wizard .btn{
  margin-top:11px;border-radius:999px;min-width:172px;
  transition:background-color .22s ease,box-shadow .22s ease,opacity .28s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
#intro .wizard .btn:hover{transform:none;box-shadow:0 5px 18px rgba(38,43,56,.12)}
#intro .wizard .btn:active{transform:scale(.985)}
#intro .slider-block{text-align:left;width:min(355px,80vw)}
#intro .appearance-label{color:var(--muted);letter-spacing:.02em;font-size:.78rem;margin:4px 0 0}
#intro .appearance-group{gap:12px}
#intro .appearance-choice{min-width:86px;transition:background-color .32s ease,color .32s ease,border-color .32s ease;}
@media(max-width:600px){
  .intro img.intro-season-emblem-hero.is-stage-hero{width:min(71vw,280px)}
  .intro img.intro-season-emblem-hero.is-docked{width:clamp(76px,21vw,98px)}
  .intro-core{width:min(330px,86vw)}
  .intro-core #introTitle{font-size:clamp(1.45rem,5.3vw,1.95rem)}
  .art-center > img.season-emblem{width:clamp(100px,29vw,155px)}
}
@media(prefers-reduced-motion:reduce){
  .intro img.intro-season-emblem-hero,
  .intro-core .intro-copy,.intro-core #wizard,
  #intro .wizard .btn{transition:none!important;animation:none!important}
}

.setting-theme{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:43px}
.setting-season-thumb{width:25px;height:25px;object-fit:contain;display:inline-block}


/* V8.1: Separate the art stage from the readable settings panel. */
.intro-center{--ring-size:min(69vw,49vh,448px);--ring-offset:clamp(12px,3vh,28px);}
.intro .petal-ring{
  position:absolute;top:var(--ring-offset);left:50%;transform:translateX(-50%);
  width:var(--ring-size);height:var(--ring-size);max-height:none;
}
.intro-emblem-stage{
  position:absolute;top:var(--ring-offset);left:50%;transform:translateX(-50%);
  width:var(--ring-size);height:var(--ring-size);
  display:block;z-index:2;pointer-events:none;
}
.intro-emblem-stage img.intro-season-emblem-hero{
  position:absolute;left:50%;top:50%;
  width:clamp(200px,33vw,292px);max-width:94%;height:auto;
  margin:0;transform:translate(-50%,-50%);
  transition:width .82s cubic-bezier(.22,1,.36,1), transform .82s cubic-bezier(.22,1,.36,1),opacity .55s ease;
}
.intro-emblem-stage img.intro-season-emblem-hero.is-stage-hero{
  width:clamp(240px,42vw,330px);max-width:98%;margin:0;transform:translate(-50%,-50%);
}
.intro-emblem-stage img.intro-season-emblem-hero.is-docked{
  width:clamp(88px,11vw,116px);max-width:40%;margin:0;
  transform:translate(-50%,calc(-50% - 23px));
}
.intro .intro-core{
  position:absolute;top:calc(var(--ring-offset) + var(--ring-size) - 3px);
  left:0;right:0;z-index:3;
  width:min(520px,90vw);max-width:none;
  margin:0 auto;transform:none;
}
.intro-core #introTitle{max-width:100%;margin:10px auto 8px;font-size:clamp(1.46rem,2.5vw,2.15rem);line-height:1.4}
.intro-core .eyebrow{min-height:0;font-size:.68rem}
.intro .wizard{max-width:min(400px,85vw)}
.intro .wizard .btn{margin-top:6px}
#intro .step-inputs{margin-bottom:8px}
@media(max-width:610px){
  .intro-center{--ring-size:min(85vw,47vh,380px);--ring-offset:12px}
  .intro .intro-core{top:calc(var(--ring-offset) + var(--ring-size) - 1px);width:min(330px,93vw)}
  .intro-core #introTitle{font-size:clamp(1.38rem,5.8vw,1.76rem);line-height:1.43;margin:7px auto 7px}
  .intro-emblem-stage img.intro-season-emblem-hero.is-stage-hero{width:min(73vw,280px)}
  .intro-emblem-stage img.intro-season-emblem-hero.is-docked{width:clamp(83px,22vw,104px)}
  .intro .wizard{max-width:min(335px,91vw)}
}
@media(prefers-reduced-motion:reduce){
  .intro-emblem-stage img.intro-season-emblem-hero{transition:none!important}
}


/* Accessibility: dark manual choice and time-triggered evening keep legible contrast. */
html[data-user-theme="dark"] .intro {background:#171d30;color:#f6f4fc}
html[data-user-theme="dark"] .intro-head,html[data-user-theme="dark"] .intro-foot,
html[data-user-theme="dark"] .intro #stepHint,
html[data-user-theme="dark"] .intro .slider-block,
html[data-user-theme="dark"] .intro .appearance-label {color:#c6cee1}
html[data-user-theme="dark"] .intro #introTitle{color:#f5f5fc}
html[data-user-theme="dark"] .intro .btn-primary{background:#f6f7fc;border-color:#f6f7fc;color:#263047}
html[data-user-theme="dark"] .intro .appearance-choice{background:#28344e;color:#e6eafd;border-color:#3b4965}
html[data-user-theme="dark"] .intro .appearance-choice.selected{background:#f6f7fc;color:#24304b;border-color:#f6f7fc}
html[data-user-theme="dark"] .intro input[type="range"]{accent-color:#e5e9ff}
html[data-period="evening"] .hero .lead,
html[data-period="lateNight"] .hero .lead {color:#e3e5f4!important}
html[data-user-theme="dark"] .hero{--time-hero-text:#f8f6ff;background:radial-gradient(ellipse 54% 62% at 78% 30%,rgba(107,113,215,.3),transparent 90%),linear-gradient(135deg,#15213b,#253151)!important;color:#f8f6ff}
html[data-user-theme="dark"] .hero .lead{color:#e0e4f2!important}
html[data-user-theme="dark"] .hero .hero-meta span,html[data-user-theme="dark"] .hero .visitor-greeting{color:#c8cde0}
