/* User artwork stays local. Depth is composed from transforms, never scroll capture. */
.finale-scene{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,7vw,110px);isolation:isolate;overflow:clip;min-height:620px;border-top:1px solid var(--line)}.finale-copy{position:relative;z-index:2;max-width:560px}.finale-copy>p:not(.finale-display){margin-top:24px;font-size:14px;line-height:1.9;max-width:480px}.finale-copy .micro{font-size:11px;color:var(--quiet)}.finale-copy h2{margin:22px 0 0}.finale-copy .text-link{margin-top:32px}.finale-art{position:relative;margin:0;min-width:0;perspective:1100px;--tilt-x:0deg;--tilt-y:0deg}.finale-art img{display:block;width:100%;height:100%;object-fit:contain;transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .25s ease-out;background:none;filter:drop-shadow(0 20px 22px #0003)}.finale-scene[data-in-view=true] .finale-art img{animation:sticker-breath 6s ease-in-out infinite alternate}.finale-opening{min-height:650px;height:min(84svh,900px);border-top:0;padding-top:40px;padding-bottom:40px;background:radial-gradient(ellipse at 75% 15%,#27354755,transparent 60%)}.finale-display{font-size:clamp(44px,5.8vw,86px);line-height:1.06;letter-spacing:-.065em;font-weight:650;margin:20px 0 0}.finale-display em{color:var(--accent);font-style:normal}.strings-art{height:100%;max-height:640px;justify-self:center;width:min(100%,420px)}.strings-art img{object-position:top center}.finale-index{position:absolute;bottom:24px;left:6vw;font-size:8px;letter-spacing:.25em;color:var(--quiet)}.guard-art{height:540px;align-self:end}.guard-art img{object-position:bottom center}.actor-orbit,.safe-orbit{position:absolute;inset:15% 2%;border:1px solid #ffd40038;border-radius:50%;transform:rotate(-24deg);z-index:-1}.actor-orbit:after,.safe-orbit:after{content:'';position:absolute;inset:12%;border:1px dashed #ffd40026;border-radius:50%}.shield-sticker{position:absolute;right:0;bottom:-105px;width:155px;height:155px;pointer-events:none}.shield-sticker img{width:100%;height:100%;object-fit:contain}.lightning-scene{min-height:700px;background:radial-gradient(ellipse at 75% 70%,#66511420,transparent 55%)}.lightning-art{height:550px;max-width:380px;justify-self:center}.lightning-art img{mix-blend-mode:screen;filter:none}.lightning-trace{position:absolute;bottom:8%;left:15%;width:70%;height:10%;border:1px solid #ffd40055;border-radius:50%;box-shadow:0 0 28px #ffd40025}.chess-tableau{border:0;background:transparent;color:var(--ink);padding:0;cursor:pointer;align-self:center;min-height:390px;display:grid;place-items:center;outline-offset:8px}.chess-tableau:focus-visible{outline:3px solid var(--accent)}.tableau-float{display:block;width:100%;max-width:520px;height:460px}.tableau-float img{width:100%;height:100%;object-fit:contain}.tableau-hint{position:relative;display:flex;gap:36px;align-items:center;border-bottom:1px solid var(--accent);padding:18px 0;font-size:10px;letter-spacing:.12em}.tableau-hint>span{font-size:24px;color:var(--accent)}.chess-panel{grid-column:1/-1;display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:60px;align-items:center;scroll-margin-top:110px}.chess-panel[hidden],.story-endings [hidden]{display:none!important}.chess-puzzle{padding:26px;border:1px solid var(--line);background:var(--panel,#171717);border-radius:4px;box-shadow:0 24px 70px #0003;min-width:0}.puzzle-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.puzzle-top h3{font-size:22px;line-height:1.25;letter-spacing:-.04em;margin-top:12px}.puzzle-top .eyebrow{font-size:8px}.chess-close{background:none;border:1px solid var(--line);color:var(--ink);font-size:25px;width:34px;height:34px;flex-shrink:0;cursor:pointer}.chess-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;margin:24px 0;border:1px solid #998365;overflow:hidden}.chess-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0}.chess-cell.light{background:#e1d8c1}.chess-cell.dark{background:#52616a}.chess-cell[data-last-move]{box-shadow:inset 0 0 0 3px #ffd400}.square-coordinate{position:absolute;bottom:1px;left:3px;font-size:8px;color:#2229;line-height:1}.chess-cell.dark .square-coordinate{color:#fffc}.chess-piece{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,3vw,42px);line-height:1;color:#141a23;text-shadow:0 1px #fff9}.chess-cell[data-side=white] .chess-piece{color:#fff9dc;text-shadow:1px 1px 0 #20252c,-1px -1px 0 #20252c,1px -1px 0 #20252c,-1px 1px 0 #20252c}.chess-moves{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chess-moves button{padding:13px 8px;text-align:left;background:transparent;border:1px solid var(--line);color:var(--ink);font:600 12px/1.5 Manrope,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}.chess-moves button>span{font-size:8px;color:var(--accent);display:block}.chess-moves small{display:block;color:var(--quiet);font-size:9px}.chess-moves button:hover,.chess-moves button:focus-visible,.chess-moves button[aria-pressed=true]{border-color:var(--accent);background:#ffd40012}.chess-result{font-size:12px;line-height:1.8;margin-top:20px;min-height:66px}.chess-next{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:12px}.chess-next a{font-size:12px;color:var(--accent);text-decoration:underline;text-underline-offset:5px}.chess-next button,.story-rechoose{font:inherit;font-size:10px;border:0;border-bottom:1px solid var(--line);color:var(--quiet);padding:6px 0;background:none;cursor:pointer}.glass-board{margin:0;min-width:0;perspective:1000px}.glass-board img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 30px 24px #0005)}.glass-board figcaption{font-size:10px;text-align:center;color:var(--quiet);margin-top:25px}.story-rechoose{display:block;margin-top:25px}.ending-intro{font-size:12px;padding-bottom:0;color:var(--quiet)}.js-endings .ending-intro{display:none}.incident-scene{background:radial-gradient(ellipse at 75% 50%,#7b2c1b26,transparent 60%)}.incident-scene h2 em{color:#edb05d}.bomb-art{height:390px}.incident-rings{position:absolute;inset:5% -3%;border:1px solid #d88f4338;border-radius:50%;z-index:-1}.incident-rings:after{content:'';position:absolute;inset:-15%;border:1px solid #d88f431a;border-radius:50%}.dog-frame{position:relative;margin:0;height:600px;max-width:420px;justify-self:center;overflow:hidden;border:1px solid #ab834f44;box-shadow:0 30px 65px #0005}.dog-frame img{display:block;width:100%;height:100%;object-fit:contain}.recovery-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#ffdd9c12 50%,transparent 65%)}.safe-art{height:460px}.footer-sticker{max-width:175px;justify-self:end;perspective:800px;min-width:0}.footer-sticker img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 20px #0006)}.footer-sticker p{font-size:9px!important;text-align:center;margin-top:12px!important}.site-footer:has(.footer-sticker){grid-template-columns:1fr 1fr 175px}.site-footer:has(.footer-sticker) .footer-bottom{grid-column:1/-1}.no-js .chess-close{display:none}
@keyframes sticker-breath{from{translate:0 -4px}to{translate:0 5px}}
html[data-motion=paused] .finale-scene img{animation:none!important;translate:none;transform:none!important}html[data-motion=paused] .finale-art img{transition:none}
:root[data-theme=light] .lightning-scene{background:#111;color:#f4f0e8}:root[data-theme=light] .lightning-scene h2{color:#f4f0e8}:root[data-theme=light] .chess-puzzle{background:#e9e4d9}:root[data-theme=light] .chess-tableau{color:var(--ink)}
@media(max-width:1000px){.finale-scene{gap:38px}.finale-copy h2{font-size:40px}.finale-copy>p:not(.finale-display){font-size:13px}.chess-panel{gap:30px}.guard-art{height:460px}.shield-sticker{width:120px;height:120px;bottom:-90px}.site-footer:has(.footer-sticker){grid-template-columns:1fr 1fr}.footer-sticker{grid-column:1/-1;justify-self:start;width:140px}}
@media(max-width:780px){.finale-scene{grid-template-columns:1fr;min-height:0;gap:30px;padding-top:58px;padding-bottom:60px}.finale-opening{height:auto;min-height:860px;grid-template-columns:1fr;padding-top:40px}.finale-display{font-size:56px}.finale-copy h2{font-size:36px}.strings-art{height:430px;width:300px;max-width:100%}.finale-index{bottom:16px}.guard-art{height:420px;order:1}.guard-scene .finale-copy{order:0}.shield-sticker{right:0;bottom:-120px;width:115px;height:115px;z-index:3}.lightning-art{height:420px;width:240px}.tableau-float{height:400px;max-width:370px}.chess-tableau{min-height:0}.chess-panel{grid-template-columns:1fr;gap:30px}.chess-puzzle{padding:18px;max-width:520px;width:100%;justify-self:center}.chess-piece{font-size:32px}.glass-board{max-width:350px;justify-self:center}.glass-board figcaption{font-size:9px}.bomb-art{height:280px}.dog-frame{height:500px;width:min(100%,300px);order:1}.recovery-scene .finale-copy{order:0}.safe-art{height:330px}.footer-sticker{width:130px}.finale-copy>p:not(.finale-display){font-size:13px}.site-footer:has(.footer-sticker){grid-template-columns:1fr}.chess-result{min-height:86px}}
@media(max-width:360px){.finale-display{font-size:46px}.finale-opening{min-height:810px}.chess-puzzle{padding:12px}.chess-piece{font-size:25px}.chess-moves button{font-size:11px}.square-coordinate{font-size:6px}.finale-copy h2{font-size:32px}.dog-frame{height:450px}}
@media(prefers-reduced-motion:reduce){.finale-scene img{animation:none!important;translate:none;transform:none!important}.finale-art img{transition:none}.chess-moves button{transition:none}}
/* Retain the user reference edge silhouette, flush to the screen. */
.story-edge-ornament{width:clamp(110px,14vw,210px);aspect-ratio:auto}.story-edge-ornament .edge-ornament-image{height:min(65svh,590px);width:100%;object-fit:contain;object-position:right top}.panel-1 .guardian-seal{opacity:1}
@media(max-width:1000px){.story-edge-ornament{width:110px}.story-edge-ornament .edge-ornament-image{height:300px}}
@media(max-width:780px){.story-edge-ornament{width:85px}.story-edge-ornament .edge-ornament-image{height:235px}}
.strings-original-frame img{filter:none;box-shadow:0 22px 60px #0004}.strings-original-frame{padding:20px 0}

:root[data-theme=light] .lightning-scene{--accent:#ffd400;--quiet:#aaa9a1}:root[data-theme=light] .lightning-scene .finale-copy p{color:#bcbcb6}
