.shell{min-height:100vh;display:flex;flex-direction:column}.masthead{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px var(--gutter);background:#05060ab8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.wordmark{display:flex;align-items:baseline;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.wordmark-sigil{color:var(--amber);font-size:15px;transform:translateY(-1px)}.wordmark-cn{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.3em}.wordmark-en{letter-spacing:.22em;opacity:.75}.masthead-meta{display:flex;align-items:center;gap:10px}.model-short{display:none}.flux-dot{width:6px;height:6px;border-radius:50%;background:var(--paper-faint);transition:background .4s}.flux-dot.is-on{background:var(--plasma);box-shadow:0 0 8px var(--plasma)}.mode-switch{display:flex;border:1px solid var(--hairline);border-radius:999px;overflow:hidden}.mode-switch button{font-family:var(--font-display);font-size:12px;letter-spacing:.14em;color:var(--paper-faint);background:transparent;border:none;padding:9px 18px;min-height:40px;cursor:pointer;transition:all .3s}.mode-switch button.is-on{color:var(--ink-0);background:var(--paper)}.layout{flex:1}.main-col{padding:0 var(--gutter) 64px;max-width:1120px;margin:0 auto}.cover{padding:88px 0 60px}.cover-kicker{color:var(--amber);letter-spacing:.3em;margin-bottom:22px}.cover-title{font-family:var(--font-display);font-size:clamp(44px,7vw,84px);font-weight:900;letter-spacing:.08em;line-height:1.12;background:linear-gradient(160deg,var(--paper) 30%,#9aa3b5 70%,var(--plasma-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.cover-sub{margin-top:26px;max-width:560px;color:var(--paper-dim);font-weight:300;font-size:15px;line-height:2;letter-spacing:.04em}.cover-modes{margin-top:30px;max-width:640px;color:var(--paper-faint);line-height:2.1;letter-spacing:.1em}.era-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.era-row .era-chip{animation:rise-in .9s cubic-bezier(.2,.8,.2,1) both;text-decoration:none}.parse-cta{margin-top:44px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.btn-primary{font-family:var(--font-display);font-size:14px;letter-spacing:.18em;color:var(--ink-0);background:linear-gradient(120deg,var(--amber),#ffd9a3);border:none;border-radius:var(--radius);padding:13px 30px;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;box-shadow:0 0 #ffb45e00}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #ffb45e2e}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--paper-dim);background:#05060aa8;border:1px solid var(--hairline-bright);border-radius:var(--radius);padding:8px 14px;cursor:pointer;transition:all .3s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-ghost:hover:not(:disabled){color:var(--paper);border-color:var(--plasma)}.btn-ghost:disabled{opacity:.5;cursor:default}.gen-hint{font-style:normal;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--plasma);margin-top:10px}.progress{flex:1;min-width:220px;max-width:420px;display:flex;flex-direction:column;gap:8px}.progress-track{height:2px;background:var(--ink-3);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--plasma),var(--amber));border-radius:2px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.progress-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sec-head{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--hairline);margin-bottom:40px}.timeline-sec{margin-bottom:88px}.timeline-jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}.jump-chip{text-decoration:none;padding:8px 14px;border:1px solid var(--hairline);border-radius:999px;color:var(--paper-dim);transition:all .3s}.jump-chip:hover{border-color:var(--plasma);color:var(--plasma)}.era-block,.gallery-chapter,.reading-era,.chronicle-era,.era-titlecard{scroll-margin-top:88px}.era-block{margin-bottom:64px;position:relative}.era-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding-bottom:26px;border-bottom:1px solid var(--hairline)}.era-head-left{display:flex;gap:18px;align-items:flex-start}.era-head-right{display:flex;flex-direction:column;gap:12px;align-self:center}.era-collapse{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--hairline);border-radius:999px;color:var(--paper-faint);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;padding:7px 14px;min-height:36px;cursor:pointer;transition:all .3s}.era-collapse:hover{border-color:var(--era-color, var(--plasma));color:var(--paper)}.chevron{display:inline-block;transition:transform .3s}.chevron.is-down{transform:rotate(180deg)}.era-index{font-size:26px;color:var(--era-color, var(--plasma));opacity:.85;line-height:1.1;letter-spacing:.05em}.era-name{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:.18em;margin-bottom:8px}.era-epigraph{color:var(--paper-dim);font-family:var(--font-display);font-size:13px;letter-spacing:.08em;font-style:italic}.era-summary{color:var(--paper-dim);font-size:13.5px;font-weight:300;line-height:2.1;letter-spacing:.05em}.event-rail{list-style:none;position:relative;padding:18px 0 0 6px}.event-rail:before{content:"";position:absolute;left:2px;top:30px;bottom:30px;width:1px;background:linear-gradient(180deg,var(--era-color, var(--plasma)),transparent 92%);opacity:.4}.event-row{position:relative}.event-hit{width:100%;display:grid;grid-template-columns:34px 170px 190px minmax(0,1fr);gap:16px;align-items:baseline;padding:13px 10px;background:none;border:none;border-radius:var(--radius);cursor:pointer;text-align:left;color:inherit;transition:background .3s}.event-hit:hover{background:#e9e6df08}.event-hit.is-static{cursor:default}.event-hit.is-static:hover{background:none}.event-seq{color:var(--era-color, var(--plasma));opacity:.7}.event-time{color:var(--paper-faint);white-space:nowrap}.event-title{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.06em;color:var(--paper)}.event-summary{color:var(--paper-dim);font-size:12.5px;font-weight:300;letter-spacing:.03em;line-height:1.8}.event-detail{margin:2px 10px 14px 54px;padding:16px 20px;border-left:1px solid var(--hairline-bright);background:#e9e6df05;border-radius:0 var(--radius) var(--radius) 0;animation:rise-in .4s cubic-bezier(.2,.8,.2,1) both}.event-quote{font-family:var(--font-display);color:var(--paper-dim);font-size:14px;letter-spacing:.06em;line-height:1.9;margin-bottom:10px}.event-meta{display:flex;gap:20px;flex-wrap:wrap}.cast-sec{margin-bottom:88px}.cast-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.stage-fig{width:100%;animation:rise-in .9s cubic-bezier(.2,.8,.2,1) both}.stage-pic{position:relative;aspect-ratio:1 / 1;border-radius:var(--radius);overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(122,168,255,.08),transparent),linear-gradient(180deg,var(--ink-2),var(--ink-1));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.stage-pic img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.stage-fig:hover .stage-pic img{transform:scale(1.04)}.stage-overlay{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 16px;background:linear-gradient(180deg,transparent,rgba(5,6,10,.88));display:flex;flex-direction:column;gap:4px}.stage-overlay-head{display:flex;align-items:baseline;gap:12px}.stage-overlay-name{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:.12em;color:var(--paper)}.stage-overlay-stage{color:var(--paper-dim);letter-spacing:.14em}.stage-overlay-role{color:var(--amber);letter-spacing:.12em}.stage-overlay-arc{color:var(--paper-dim);font-size:12.5px;letter-spacing:.04em;line-height:1.8}.stage-empty{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--paper-faint);font-size:18px}.stage-btn{border:1px solid var(--hairline-bright);background:#05060a99;color:var(--paper);border-radius:var(--radius);padding:6px 12px;cursor:pointer;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;transition:all .3s}.stage-btn:hover{border-color:var(--plasma);color:var(--plasma)}.gallery-sec{margin-bottom:40px}.gallery-chapter{margin-bottom:80px}.gallery-chapter-head{display:flex;align-items:baseline;gap:18px;padding:14px 0 30px;border-bottom:1px solid var(--hairline);margin-bottom:40px}.gallery-chapter-head .mono-label{font-size:13px;color:var(--paper);letter-spacing:.22em}.gallery-chapter-epigraph{color:var(--paper-faint);font-family:var(--font-display);font-size:13px;font-style:italic;letter-spacing:.08em}.gallery-rows{display:flex;flex-direction:column;gap:56px}.scene-row{animation:rise-in .9s cubic-bezier(.2,.8,.2,1) both}.scene-row-media{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ink-1);display:flex;align-items:center;justify-content:center;min-height:260px}.scene-row-imgbtn{position:relative;display:block;width:100%;border:none;padding:0;cursor:zoom-in;background:transparent;text-align:left}.scene-row-imgbtn img{width:100%;height:auto;display:block}.scene-overlay{position:absolute;left:0;right:0;bottom:0;padding:70px 26px 22px;background:linear-gradient(180deg,transparent,rgba(5,6,10,.88));pointer-events:none}.scene-overlay-kicker{color:var(--amber);letter-spacing:.2em;display:block;margin-bottom:6px}.scene-overlay-title{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:.12em;color:var(--paper)}.scene-overlay-loc{margin-top:6px;color:var(--paper-dim);font-size:12.5px;letter-spacing:.06em}.scene-overlay-desc{margin-top:10px;max-width:760px;color:var(--paper-dim);font-size:13px;font-weight:300;line-height:2;letter-spacing:.04em;display:block}.scene-desc-below{display:none}.scene-row-placeholder{width:100%;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(122,168,255,.07),transparent),var(--ink-1)}.scene-sigil{font-size:30px;color:var(--paper-faint);opacity:.45}.lightbox{position:fixed;inset:0;z-index:60;background:#030408e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:4vh 4vw;animation:fade-in .35s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.lightbox-inner{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);max-width:1240px;width:100%;max-height:88vh;border:1px solid var(--hairline-bright);border-radius:var(--radius);overflow:hidden;background:var(--ink-1);position:relative;animation:rise-in .5s cubic-bezier(.2,.8,.2,1) both}.lightbox-close{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid var(--hairline-bright);background:#05060a99;color:var(--paper);cursor:pointer;transition:all .3s}.lightbox-close:hover{border-color:var(--amber);color:var(--amber)}.lightbox-media{display:flex;align-items:center;justify-content:center;background:var(--ink-0);min-height:0}.lightbox-media img{width:100%;height:100%;object-fit:contain}.lightbox-info{padding:40px 34px;overflow-y:auto;border-left:1px solid var(--hairline);display:flex;flex-direction:column;gap:14px}.lightbox-title{font-family:var(--font-display);font-size:26px;letter-spacing:.12em}.lightbox-loc{color:var(--paper-dim);letter-spacing:.06em;font-size:13px}.lightbox-desc{color:var(--paper-dim);font-size:13.5px;font-weight:300;line-height:2;letter-spacing:.04em}.lightbox-prompt{margin-top:6px;line-height:1.9;opacity:.8;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.reading{position:relative;padding-bottom:120px}.reading-cover{padding:110px var(--gutter) 70px;text-align:center;max-width:720px;margin:0 auto}.reading-kicker{color:var(--amber);letter-spacing:.34em;margin-bottom:26px}.reading-title{font-family:var(--font-display);font-size:clamp(40px,6vw,72px);font-weight:900;letter-spacing:.1em;background:linear-gradient(160deg,var(--paper) 30%,#9aa3b5 70%,var(--plasma-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.reading-author{margin-top:18px;font-family:var(--font-display);color:var(--paper-dim);letter-spacing:.24em;font-size:15px}.reading-intro{margin:30px auto 0;color:var(--paper-faint);font-size:13px;font-weight:300;letter-spacing:.08em;line-height:2.2}.reading-progress{position:fixed;left:26px;top:50%;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;gap:18px}.reading-progress-item{display:flex;align-items:center;gap:10px;text-decoration:none}.rp-dot{width:6px;height:6px;border-radius:50%;background:var(--paper-faint);transition:all .3s}.reading-progress-item:hover .rp-dot{background:var(--plasma);box-shadow:0 0 8px var(--plasma)}.rp-name{color:var(--paper-faint);letter-spacing:.14em;transition:color .3s}.reading-progress-item:hover .rp-name{color:var(--paper)}.rp-count{opacity:.5;font-size:10px}.era-titlecard{padding:100px var(--gutter) 60px;text-align:center;max-width:720px;margin:0 auto}.era-tc-index{color:var(--amber);letter-spacing:.4em}.era-tc-name{font-family:var(--font-display);font-size:clamp(34px,5vw,56px);font-weight:900;letter-spacing:.22em;margin:18px 0 10px}.era-tc-epigraph{font-family:var(--font-display);color:var(--paper-dim);font-style:italic;letter-spacing:.1em;font-size:15px}.era-tc-summary{margin-top:22px;color:var(--paper-faint);font-size:13px;font-weight:300;letter-spacing:.05em;line-height:2.1}.passage{max-width:1160px;margin:0 auto 72px;padding:0 var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:44px;align-items:start}.passage-text{width:100%}.passage-head{display:flex;justify-content:space-between;color:var(--paper-faint);margin-bottom:26px;letter-spacing:.16em}.passage-original p{font-family:var(--font-display);font-size:15.5px;line-height:2.25;letter-spacing:.05em;color:var(--paper);margin-bottom:16px;text-align:justify;cursor:text;-webkit-user-select:text;user-select:text}.passage-note{margin-top:28px;padding:14px 18px;border-left:2px solid var(--amber);background:#ffb45e0b;border-radius:0 var(--radius) var(--radius) 0}.note-label{color:var(--amber);letter-spacing:.18em;display:block;margin-bottom:8px}.passage-note p{color:var(--paper-dim);font-size:12.5px;font-weight:300;line-height:2;letter-spacing:.04em}.passage-media-col{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:24px}.passage-media{aspect-ratio:4 / 3;border-radius:var(--radius);overflow:hidden;background:var(--ink-1);display:flex;align-items:center;justify-content:center}.passage-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.passage-media:hover img{transform:scale(1.04)}.passage-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(122,168,255,.07),transparent),var(--ink-1)}.passage-sigil{font-size:34px;color:var(--paper-faint);opacity:.4}.chronicle{padding-bottom:120px}.chronicle-cover{padding:110px var(--gutter) 70px;text-align:center;max-width:720px;margin:0 auto}.chronicle-kicker{color:var(--amber);letter-spacing:.34em;margin-bottom:26px}.chronicle-title{font-family:var(--font-display);font-size:clamp(40px,6vw,72px);font-weight:900;letter-spacing:.2em;background:linear-gradient(160deg,var(--paper) 30%,#9aa3b5 70%,var(--amber-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.chronicle-intro{margin:30px auto 0;color:var(--paper-faint);font-size:13px;font-weight:300;letter-spacing:.08em;line-height:2.2}.chronicle-flow{max-width:1100px;margin:0 auto;padding:0 var(--gutter)}.chronicle-era{margin-bottom:90px}.chronicle-era-head{text-align:center;padding:40px 0 46px;border-bottom:1px solid var(--hairline);margin-bottom:50px}.chronicle-era-name{font-family:var(--font-display);font-size:34px;font-weight:900;letter-spacing:.24em;margin:14px 0 8px}.chronicle-era-epigraph{color:var(--paper-faint);font-family:var(--font-display);font-size:13px;font-style:italic;letter-spacing:.1em}.chronicle-rows{display:flex;flex-direction:column;gap:60px}.chronicle-row{animation:rise-in .9s cubic-bezier(.2,.8,.2,1) both}.chronicle-media{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ink-1);display:flex;align-items:center;justify-content:center;min-height:240px}.chronicle-media img{width:100%;height:auto;display:block}.chronicle-overlay{position:absolute;left:0;right:0;bottom:0;padding:90px 26px 22px;background:linear-gradient(180deg,transparent,rgba(5,6,10,.88));pointer-events:none}.chronicle-overlay-time{color:var(--plasma);letter-spacing:.16em;margin-bottom:6px}.chronicle-overlay-title{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:.12em;color:var(--paper)}.chronicle-overlay-summary{margin-top:8px;max-width:760px;color:var(--paper-dim);font-size:13px;font-weight:300;line-height:2;letter-spacing:.04em}.chronicle-overlay-quote{margin-top:8px;font-family:var(--font-display);color:var(--paper-dim);font-size:13px;font-style:italic;letter-spacing:.05em}.chronicle-overlay-meta{margin-top:8px;color:var(--paper-faint)}.chronicle-placeholder{width:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(122,168,255,.07),transparent),var(--ink-1)}.fade-on-view{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}.fade-on-view.is-visible{opacity:1;transform:translateY(0)}.back-to-top{position:fixed;right:22px;bottom:26px;z-index:40;width:44px;height:44px;border-radius:50%;border:1px solid var(--hairline-bright);background:#05060ac7;color:var(--paper);font-size:18px;cursor:pointer;opacity:0;transform:translateY(10px);pointer-events:none;transition:all .35s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{border-color:var(--amber);color:var(--amber)}.stage-fig,.scene-row,.chronicle-row{content-visibility:auto;contain-intrinsic-size:480px}.shelf-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:14px;letter-spacing:.18em;color:var(--amber);background:#ffb45e0f;border:1px solid rgba(255,180,94,.45);border-radius:999px;padding:9px 18px;min-height:40px;cursor:pointer;transition:all .3s;flex-shrink:0}.shelf-btn-icon{font-size:16px;line-height:1}.shelf-btn:hover{background:var(--amber);color:var(--ink-0);box-shadow:0 6px 20px #ffb45e38}.back-shelf-float{position:fixed;left:22px;bottom:26px;z-index:40;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:13px;letter-spacing:.14em;color:var(--amber);background:#05060ad1;border:1px solid rgba(255,180,94,.5);border-radius:999px;padding:10px 18px;min-height:44px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.2,.8,.2,1)}.back-shelf-float:hover{background:var(--amber);color:var(--ink-0);box-shadow:0 8px 26px #ffb45e47;transform:translateY(-2px)}.back-shelf-icon{font-size:15px;line-height:1}.shelf{padding-bottom:100px}.shelf-cover{padding:110px var(--gutter) 70px;text-align:center;max-width:720px;margin:0 auto}.shelf-kicker{color:var(--amber);letter-spacing:.34em;margin-bottom:26px}.shelf-title{font-family:var(--font-display);font-size:clamp(40px,6vw,72px);font-weight:900;letter-spacing:.24em;background:linear-gradient(160deg,var(--paper) 30%,#9aa3b5 70%,var(--amber-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.shelf-intro{margin:30px auto 0;color:var(--paper-faint);font-size:13px;font-weight:300;letter-spacing:.08em;line-height:2.2}.shelf-grid{max-width:1100px;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:40px}.book-card{animation:rise-in .9s cubic-bezier(.2,.8,.2,1) both}.book-cover{position:relative;display:block;width:100%;aspect-ratio:21 / 11;border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;padding:0;cursor:pointer;background:var(--ink-1);transition:border-color .4s,transform .5s cubic-bezier(.2,.8,.2,1)}.book-cover:hover{border-color:var(--hairline-bright);transform:translateY(-4px)}.book-cover img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}.book-cover:hover img{transform:scale(1.04)}.book-cover-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(122,168,255,.08),transparent),var(--ink-1)}.book-open-hint{position:absolute;right:12px;bottom:12px;padding:6px 12px;border:1px solid var(--hairline-bright);border-radius:999px;background:#05060aa8;color:var(--paper-dim);opacity:0;transition:opacity .35s}.book-cover:hover .book-open-hint{opacity:1}.book-info{padding:18px 6px 0}.book-title{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.14em}.book-author{margin-top:6px;color:var(--amber);letter-spacing:.2em}.book-stats{margin-top:12px;color:var(--paper-faint);line-height:1.9}.shelf-foot{margin-top:90px;text-align:center}.foot{padding:22px var(--gutter);text-align:center}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.9}}@media(max-width:1100px){.reading-progress{display:none}.passage{grid-template-columns:1fr}.passage-media-col{position:static}.era-head{grid-template-columns:1fr;gap:14px}.event-hit{grid-template-columns:34px 130px minmax(0,1fr)}.event-summary{grid-column:3}}@media(max-width:640px){.masthead{flex-wrap:wrap;gap:8px;padding:10px 14px}.wordmark{order:1}.wordmark-en,.masthead-tagline{display:none}.masthead-meta{order:2;margin-left:auto;gap:6px}.model-full{display:none}.model-short{display:inline}.mode-switch{order:3;width:100%}.mode-switch button{flex:1;min-height:44px;font-size:13px}.event-hit{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 8px}.event-hit .event-time{white-space:normal}.event-summary{grid-column:auto;width:100%}.event-detail{margin:2px 8px 12px 20px}.era-head{grid-template-columns:1fr}.era-collapse{min-height:44px}.cast-grid{grid-template-columns:1fr}.scene-overlay-desc{display:none}.scene-desc-below{display:block;padding:16px 18px;color:var(--paper-dim);font-size:13.5px;font-weight:300;line-height:2;letter-spacing:.04em;background:var(--ink-1)}.scene-overlay{padding:50px 16px 12px}.scene-overlay-title{font-size:20px}.lightbox-inner{grid-template-columns:1fr;max-height:92vh;overflow-y:auto}.lightbox-info{border-left:none;padding:22px 20px 28px}.lightbox-media{min-height:200px}.btn-primary,.btn-ghost,.chip,.stage-btn{min-height:44px}.jump-chip{min-height:40px;display:inline-flex;align-items:center}}:root{--ink-0: #05060a;--ink-1: #0a0c13;--ink-2: #10131d;--ink-3: #171b28;--paper: #e9e6df;--paper-dim: #b3b0a9;--paper-faint: #7c7a75;--plasma: #7aa8ff;--plasma-deep: #4f7ddb;--amber: #ffb45e;--amber-deep: #d98f3e;--hairline: rgba(233, 230, 223, .09);--hairline-bright: rgba(233, 230, 223, .18);--font-display: "Noto Serif SC", "Songti SC", "STSong", serif;--font-body: "Noto Sans SC", "PingFang SC", sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", monospace;--radius: 2px;--gutter: clamp(20px, 4vw, 56px)}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--ink-0)}body{font-family:var(--font-body);color:var(--paper);background:var(--ink-0);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;user-select:text;-webkit-user-select:text}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(1px 1px at 12% 22%,rgba(233,230,223,.55) 0,transparent 100%),radial-gradient(1px 1px at 68% 12%,rgba(122,168,255,.5) 0,transparent 100%),radial-gradient(1.5px 1.5px at 84% 38%,rgba(233,230,223,.35) 0,transparent 100%),radial-gradient(1px 1px at 32% 68%,rgba(255,180,94,.4) 0,transparent 100%),radial-gradient(1px 1px at 55% 84%,rgba(233,230,223,.3) 0,transparent 100%),radial-gradient(1px 1px at 91% 76%,rgba(122,168,255,.35) 0,transparent 100%),radial-gradient(1px 1px at 8% 88%,rgba(233,230,223,.4) 0,transparent 100%),radial-gradient(ellipse 60% 40% at 50% -5%,rgba(122,168,255,.08) 0,transparent 100%),radial-gradient(ellipse 50% 35% at 85% 110%,rgba(255,180,94,.05) 0,transparent 100%),var(--ink-0)}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E")}::selection{background:#7aa8ff47;color:var(--paper)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-3);border:2px solid var(--ink-0);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--plasma-deep)}.mono-label{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-faint)}.hairline-t{border-top:1px solid var(--hairline)}.hairline-b{border-bottom:1px solid var(--hairline)}.era-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border:1px solid var(--hairline);border-radius:999px;font-family:var(--font-display);font-size:13px;letter-spacing:.14em;color:var(--paper-dim);background:#e9e6df05;transition:all .35s cubic-bezier(.2,.8,.2,1);cursor:default}.era-chip:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7}.era-chip:hover{border-color:var(--hairline-bright);color:var(--paper);background:#e9e6df0a}.era-chip.is-plasma{color:var(--plasma)}.era-chip.is-amber{color:var(--amber)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{background-position:0 0}to{background-position:0 -160px}}.rise{animation:rise-in .9s cubic-bezier(.2,.8,.2,1) both}
