:root{color-scheme:dark;--paper:#faf4e7;--sub:#d9d8cb;--gold:#dbc08c;--edge:clamp(20px,4.3vw,80px);--shelf:108px;--serif:"Noto Serif CJK SC","Source Han Serif SC","Songti SC","STSong","SimSun",Georgia,serif;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--paper);background:#111c23}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #ffe3ac;outline-offset:4px}svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}.symbols,.sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.skip{position:absolute;top:-60px;left:1rem;z-index:30;background:#122630;padding:.7em}.skip:focus{top:1rem}[hidden]{display:none!important}
.atlas{isolation:isolate;position:relative;height:100vh;height:100svh;min-height:540px;overflow:hidden;background:#132836}.art-background,.stage-view,.stage-shade{position:absolute;inset:0 0 var(--shelf);overflow:hidden}.art-background{z-index:-4;background:linear-gradient(155deg,#13202d,#466776 68%,#bacacc)}.art-background img{width:100%;height:100%;object-fit:cover;display:block;object-position:58% center}.stage-view{z-index:-3;touch-action:none;cursor:grab}.stage-view:active{cursor:grabbing}.stage-view canvas{display:block;width:100%;height:100%}.stage-shade{z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(6,15,20,.70),transparent 24%,transparent 70%,rgba(5,14,20,.44)),linear-gradient(90deg,rgba(7,20,27,.74) 0%,rgba(7,20,27,.45) 20%,transparent 49%)}.atlas[data-mode=poster] .stage-view{cursor:default}.mast{position:relative;z-index:3;height:86px;padding:0 var(--edge);display:flex;align-items:center;gap:23px}.brand{display:inline-flex;align-items:center;gap:12px}.seal{background:#914d3c;width:42px;height:44px;border-radius:3px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #cc96705c}.seal svg{width:34px;height:34px;stroke-width:1.8;color:#fff0d4}.wordmark{font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.05;letter-spacing:.11em}.wordmark small{display:block;font:8px/1.5 Georgia,serif;letter-spacing:.25em;margin-top:5px;color:#e5decc}.mast-rule{height:25px;width:1px;background:#f3efdb4f}.mast-chapter{font-size:12px;letter-spacing:.22em;color:#e8e2d3}.mast nav{display:flex;align-items:center;gap:clamp(12px,2.4vw,40px);margin-left:auto}.mast nav a,.mast nav button{display:inline-flex;gap:9px;align-items:center;justify-content:center;font-size:13px;min-height:42px;letter-spacing:.08em;padding:0}.mast nav a:hover,.mast nav button:hover{color:#ffe2a9}.mast nav .nav-guide{padding:4px 14px 4px 5px;border:1px solid #e4dbbd70;background:#19272ba8;border-radius:25px}.nav-guide img{width:32px;height:32px;object-fit:cover;object-position:50% 22%;border-radius:50%}
.story{position:absolute;left:var(--edge);bottom:calc(var(--shelf) + clamp(65px,11.7vh,145px));max-width:min(47vw,630px);pointer-events:none;text-shadow:0 2px 20px #09202b70}.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.28em;color:#ead8b7}.rule{display:inline-block;width:35px;height:1px;background:#d3af79}.folio{font:italic 14px Georgia,serif;letter-spacing:.05em}.story h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,5.3vw,94px);letter-spacing:.06em;line-height:1.2;margin:18px 0 12px}.place{display:flex;align-items:center;gap:7px;color:#eadcc4;font-size:12px;letter-spacing:.17em;margin:0}.place svg{width:15px;height:15px}.verse{font-family:var(--serif);font-size:clamp(16px,1.3vw,22px);letter-spacing:.08em;color:#f1eee3;margin:19px 0 22px;line-height:1.55}.album-link{display:inline-flex;align-items:center;gap:26px;pointer-events:auto;border-bottom:1px solid #dfc599;padding:7px 0 9px;font-size:13px;letter-spacing:.11em}.album-link:hover{color:#f9da9d}.hotspot{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:7px;transform:translate(-9px,-50%);padding:9px 0;font-size:12px;pointer-events:auto}.hotspot-dot{width:17px;height:17px;background:#fcedc9;border:5px solid #34454aa8;border-radius:50%;box-shadow:0 0 0 1px #fae5b2,0 1px 8px #10202899}.hotspot-label{background:#15262cee;border:1px solid #dfc59988;color:#f9e8c3;letter-spacing:.12em;padding:5px 9px;border-radius:3px}.view-tools{position:absolute;right:var(--edge);bottom:calc(var(--shelf) + 54px);display:flex;flex-direction:column;border:1px solid #ddd6c059;background:#15242ac4;border-radius:24px;overflow:hidden}.view-tools button{width:43px;height:43px;padding:0;font:20px/1 Arial;display:grid;place-items:center}.view-tools button:hover:not(:disabled),.view-tools [aria-pressed=true]{background:#d8bb8530;color:#f7dca2}.view-tools svg{width:18px;height:18px}.take-note{position:absolute;left:var(--edge);bottom:calc(var(--shelf) + 20px);display:flex;align-items:center;gap:10px;font-size:11px;color:#e3e1d6;letter-spacing:.08em}.take-note b{font-weight:400;color:#c3ae8a}.live-dot{width:6px;height:6px;border-radius:50%;background:#dfbd84}
.shelf{position:absolute;bottom:0;left:0;right:0;height:var(--shelf);display:flex;align-items:center;gap:clamp(16px,2.5vw,48px);padding:0 var(--edge);background:linear-gradient(110deg,#18292c,#101e24);border-top:1px solid #d5c7a24a}.shelf-heading{flex:none;padding-right:clamp(16px,2vw,36px);border-right:1px solid #b9c4b333}.shelf-caption{font-size:11px;color:#cebf9f;letter-spacing:.21em}.shelf-number{display:flex;gap:8px;align-items:baseline;font:27px/1.15 Georgia,serif;margin-top:4px}.shelf-number em{font:12px Georgia,serif;color:#c0bdb2}.scene-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:860px;flex:1}.scene-choice{display:flex;align-items:center;gap:13px;padding:8px 12px 8px 8px;border:1px solid transparent;border-radius:4px;min-width:0;transition:background .2s,border-color .2s}.scene-choice.active{background:#e8dbb911;border-color:#c6aa737a}.scene-choice:hover{background:#d6cda91b}.scene-choice img{width:clamp(48px,5vw,76px);height:47px;object-fit:cover;border-radius:2px;filter:saturate(.78)}.scene-choice span{min-width:0}.scene-choice small{display:flex;align-items:center;gap:5px;font-size:10px;color:#c2bfad;white-space:nowrap;letter-spacing:.07em}.scene-choice small i{width:10px;height:1px;background:#af9568}.scene-choice strong{display:block;margin-top:4px;font-family:var(--serif);font-size:clamp(15px,1.4vw,20px);letter-spacing:.06em;font-weight:500;white-space:nowrap}.about{margin-left:auto;display:flex;align-items:center;gap:6px;min-height:42px;font-size:11px;color:#dfd7c5;white-space:nowrap}.about svg{width:16px;height:16px}
dialog{background:#f7f3e8;color:#263531;border:1px solid #c7ba9c;border-radius:5px;max-height:84svh;max-width:calc(100vw - 28px);width:550px;padding:0;overscroll-behavior:contain;box-shadow:0 18px 100px #06131a80}dialog::backdrop{background:#0b1b23ba}.sheet{padding:clamp(22px,3vw,42px)}.sheet-head{display:flex;align-items:center;justify-content:space-between}.kicker{letter-spacing:.2em;font-size:10px;color:#896a44}.close-dialog{width:42px;height:42px;line-height:1;color:#354842;font-size:27px}.sheet h2{font:500 35px/1.2 var(--serif);margin:12px 0}.sheet h3{font:600 18px var(--serif);margin:24px 0 4px}.sheet p:not(.kicker),.credits{line-height:1.8;font-size:14px;color:#46574f}.credits{padding-left:17px}.credits a,.sheet-link{color:#335949;text-decoration:underline;text-underline-offset:3px}.sheet-link{font-size:14px;display:inline-block;margin-top:10px}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #aaa78c;padding:9px 2px}.search input{border:0;background:transparent;color:#263531;width:100%;padding:.45em;font-size:16px;outline-offset:0}.city-results{max-height:36svh;overflow:auto;margin:8px 0 12px}.city-results a{display:flex;justify-content:space-between;padding:12px 4px;gap:12px;border-bottom:1px solid #d7d1c1;font-size:14px}.city-results a:hover{background:#e9e4d6}.city-results small{color:#596a62}.noscript{position:absolute;top:80px;left:var(--edge);font-size:13px}
@media(max-width:900px){.shelf{gap:12px}.scene-choices{gap:2px}.scene-choice{padding:6px;gap:8px}.about span{display:none}.shelf-heading{padding-right:14px}.mast nav{gap:15px}}
@media(max-width:660px){:root{--edge:18px;--shelf:104px}.atlas{min-height:520px}.mast{height:68px;gap:12px}.seal{width:32px;height:35px}.seal svg{width:27px;height:27px}.brand{gap:8px}.wordmark{font-size:20px}.wordmark small{font-size:6px}.mast-rule,.mast-chapter{display:none}.mast nav{gap:12px}.mast nav a,.mast nav button{font-size:12px;gap:4px}.mast nav svg{width:14px}.mast nav .nav-guide{padding:4px 8px 4px 4px}.nav-guide img{width:24px;height:24px}.stage-shade{background:linear-gradient(180deg,#07141d9e,transparent 25%,transparent 44%,#081720c4 97%),linear-gradient(90deg,#0c1c2324,transparent 70%)}.art-background img{object-position:65% 50%}.story{max-width:calc(100% - 80px);bottom:calc(var(--shelf) + 46px)}.eyebrow{font-size:10px;gap:8px}.rule{width:22px}.story h1{font-size:clamp(38px,10vw,56px);margin:8px 0}.verse{font-size:14px;margin:8px 0 7px}.place{font-size:10px}.album-link{font-size:12px;padding:5px 0;gap:15px}.take-note{bottom:calc(var(--shelf) + 12px);font-size:10px;gap:7px}.view-tools{right:12px;bottom:calc(var(--shelf) + 47px)}.view-tools button{width:39px;height:39px}.shelf{display:block;padding:8px var(--edge) max(6px,env(safe-area-inset-bottom))}.shelf-heading{border:0;padding:0;display:flex;align-items:center;gap:8px}.shelf-caption{font-size:10px}.shelf-number{margin:0;font:10px Georgia;gap:4px}.shelf-number em{font:9px Georgia}.scene-choices{margin-top:6px;gap:5px}.scene-choice{padding:5px;gap:6px;min-height:50px}.scene-choice img{width:29px;height:34px}.scene-choice small{font-size:8px;letter-spacing:0;gap:2px}.scene-choice small i{width:5px}.scene-choice strong{font-size:13px;margin-top:2px;letter-spacing:0}.about{position:absolute;top:0;right:var(--edge);min-height:27px;padding:0 2px}.about span{display:inline-block;font-size:9px}.hotspot-label{font-size:10px}.hotspot{gap:4px}}
@media(max-width:370px){.mast nav{gap:8px}.mast{padding:0 12px}.scene-choice img{width:22px}.scene-choice{gap:4px}.story h1{font-size:35px}}
@media(max-height:560px) and (min-width:661px){:root{--shelf:80px}.atlas{min-height:380px}.mast{height:58px}.story{bottom:calc(var(--shelf) + 36px)}.story h1{font-size:38px;margin:8px 0}.verse{font-size:14px;margin:7px 0}.take-note{bottom:calc(var(--shelf) + 6px)}.scene-choice img{height:35px}.view-tools{bottom:calc(var(--shelf) + 16px)}.view-tools button{height:34px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* A lost GPU context must reveal the views rendered from the same model. */
.atlas[data-mode=light] .stage-view canvas{visibility:hidden}
