:root{color-scheme:dark;--color-bg-main: #0b1220;--color-bg-deep: #05070c;--color-bg-panel: #121c2e;--color-bg-elevated: #182338;--color-overlay-shadow: rgb(5 7 12 / 72%);--color-text-main: #f1e3c8;--color-text-soft: #e6d3b0;--color-text-muted: #bfae92;--color-text-disabled: #8f816d;--color-soft-ivory: #f6ebd8;--color-gold: #c79a3b;--color-gold-deep: #a87722;--color-gold-bright: #e2b45b;--color-border-gold: rgb(199 154 59 / 72%);--color-burgundy: #6b1f24;--color-burgundy-hover: #7e2a30;--color-rose: #9b3a46;--color-red-shadow: #3e1518;--color-leather-brown: #5a3926;--color-warm-ink: #3a2419;--color-silver: #d5d8de;--color-blue-ribbon: #365b8c;--color-success-glow: #d9b15a;--color-completion: #c9a14a;--color-warning-amber: #d89a45;--color-error-burgundy: #8e353c;--color-locked-brass: #6d614f;--glow-selected: rgb(226 180 91 / 35%);--shadow-panel: 0 24px 70px rgb(5 7 12 / 58%);--shadow-button: 0 12px 28px rgb(5 7 12 / 38%);--surface-legal: radial-gradient(ellipse at 50% 0%, color-mix(in oklch, var(--color-gold) 12%, transparent), transparent 46%), linear-gradient(90deg, color-mix(in oklch, var(--color-burgundy) 13%, transparent), transparent 21% 79%, color-mix(in oklch, var(--color-burgundy) 10%, transparent)), linear-gradient(180deg, color-mix(in oklch, var(--color-soft-ivory) 5%, transparent), transparent 38%), color-mix(in oklch, var(--color-bg-panel) 90%, black);--surface-parchment: linear-gradient(135deg, color-mix(in oklch, var(--color-soft-ivory) 74%, var(--color-text-main)), color-mix(in oklch, var(--color-text-soft) 72%, var(--color-soft-ivory))), var(--color-soft-ivory);--surface-leather: radial-gradient(circle at 18% 12%, color-mix(in oklch, var(--color-rose) 16%, transparent), transparent 28%), linear-gradient(135deg, color-mix(in oklch, var(--color-burgundy) 28%, var(--color-bg-panel)), color-mix(in oklch, var(--color-bg-main) 80%, black));--presentation-backdrop: radial-gradient(ellipse at 50% -10%, color-mix(in oklch, var(--color-gold-bright) 15%, transparent), transparent 44%), radial-gradient(circle at 13% 20%, color-mix(in oklch, var(--color-gold) 12%, transparent), transparent 28%), radial-gradient(circle at 88% 78%, color-mix(in oklch, var(--color-rose) 12%, transparent), transparent 30%), linear-gradient(90deg, color-mix(in oklch, var(--color-red-shadow) 36%, transparent) 0 10%, transparent 26% 74%, color-mix(in oklch, var(--color-burgundy) 28%, transparent) 90% 100%), linear-gradient(180deg, color-mix(in oklch, var(--color-bg-panel) 76%, black), color-mix(in oklch, var(--color-bg-deep) 90%, black));--presentation-backdrop-soft: radial-gradient(ellipse at 50% 100%, color-mix(in oklch, var(--color-gold) 10%, transparent), transparent 42%), linear-gradient(90deg, color-mix(in oklch, black 30%, transparent), transparent 30%, transparent 70%, color-mix(in oklch, black 30%, transparent));--presentation-grid: linear-gradient(90deg, transparent 0 11%, color-mix(in oklch, var(--color-gold) 10%, transparent) 11.12% 11.28%, transparent 11.44% 88.56%, color-mix(in oklch, var(--color-gold) 8%, transparent) 88.72% 88.88%, transparent 89.04% 100%), linear-gradient(0deg, transparent 0 19%, color-mix(in oklch, var(--color-gold) 7%, transparent) 19.1% 19.22%, transparent 19.34% 100%);--presentation-stage-surface: radial-gradient(ellipse at 50% -8%, color-mix(in oklch, var(--color-gold) 18%, transparent), transparent 42%), linear-gradient(90deg, color-mix(in oklch, var(--color-burgundy) 15%, transparent), transparent 18% 82%, color-mix(in oklch, var(--color-burgundy) 11%, transparent)), linear-gradient(180deg, color-mix(in oklch, var(--color-soft-ivory) 5%, transparent), transparent 34%), color-mix(in oklch, var(--color-bg-panel) 91%, black);--presentation-inset-surface: linear-gradient(90deg, color-mix(in oklch, var(--color-rose) 8%, transparent), transparent 16% 84%, color-mix(in oklch, var(--color-rose) 6%, transparent)), linear-gradient(180deg, color-mix(in oklch, var(--color-soft-ivory) 3%, transparent), transparent 40%), radial-gradient(circle at 88% 16%, color-mix(in oklch, var(--color-gold) 10%, transparent), transparent 24%);--presentation-frame-border: 1px solid color-mix(in oklch, var(--color-gold) 76%, transparent);--presentation-inset-border: 1px solid color-mix(in oklch, var(--color-gold) 24%, transparent);--presentation-frame-shadow: 0 32px 92px color-mix(in oklch, black 62%, transparent), 0 0 0 1px color-mix(in oklch, var(--color-soft-ivory) 8%, transparent), 0 0 46px color-mix(in oklch, var(--color-gold) 14%, transparent), inset 0 0 0 1px color-mix(in oklch, var(--color-soft-ivory) 7%, transparent), inset 0 0 36px color-mix(in oklch, black 22%, transparent);--border-legal: 1px solid color-mix(in oklch, var(--color-gold) 68%, transparent);--ink: var(--color-bg-panel);--ink-deep: var(--color-bg-main);--paper: var(--color-text-main);--paper-soft: var(--color-text-soft);--gold: var(--color-gold);--rose: var(--color-rose);--silver: var(--color-silver);--blue-ribbon: var(--color-blue-ribbon);--color-navy: var(--color-bg-main);--color-cream: var(--color-text-main);--frame: color-mix(in oklch, var(--gold) 52%, var(--ink) 48%);--shadow: color-mix(in oklch, black 62%, var(--color-bg-main) 38%);font-family:Georgia,Palatino Linotype,Times New Roman,serif;background:var(--ink-deep);color:var(--paper)}.trust-light-path-panel{width:min(calc(100vw - 56px),1500px);grid-template-rows:auto minmax(0,1fr) auto auto auto}.trust-light-heading{display:grid;gap:4px;text-align:center;padding-bottom:8px}.trust-light-heading:after{content:"";justify-self:center;width:min(360px,64%);height:1px;margin-top:5px;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--gold) 62%,transparent),transparent)}.trust-light-subtitle{color:color-mix(in oklch,var(--gold) 84%,var(--paper-soft));font-size:1rem;line-height:1.25}.trust-light-play-area{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(360px,1.25fr) minmax(190px,.55fr);gap:12px;align-items:stretch;min-height:0}.trust-question-card,.trust-light-board,.trust-payoff-card{min-height:0;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:8px;background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent 45%),color-mix(in oklch,var(--ink) 84%,black);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 5%,transparent),0 10px 24px color-mix(in oklch,black 16%,transparent)}.trust-question-card{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:12px}.trust-question-card h2{margin:0;color:var(--gold);font-size:1rem;line-height:1.2}.trust-question-list{display:grid;gap:8px;min-height:0}.trust-question-tile{display:grid;gap:5px;min-height:76px;padding:10px;border:1px solid color-mix(in oklch,var(--paper) 20%,transparent);border-radius:7px;background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 8%,transparent),transparent 62%),color-mix(in oklch,var(--ink-deep) 72%,var(--ink));color:var(--paper);text-align:left;cursor:pointer;touch-action:manipulation}.trust-question-tile strong{font-size:.9rem;line-height:1.1}.trust-question-tile span{color:var(--paper-soft);font-size:.74rem;line-height:1.15}.trust-question-tile.is-selected{border-color:var(--rose);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--rose) 42%,transparent)}.trust-question-tile.is-correct{border-color:var(--gold);background:radial-gradient(circle at 88% 18%,color-mix(in oklch,var(--gold) 18%,transparent),transparent 42%),color-mix(in oklch,var(--ink-deep) 68%,var(--ink))}.trust-light-board{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;padding:14px;overflow:hidden}.trust-light-board:before{content:"";position:absolute;left:10%;right:10%;top:50%;height:3px;background:color-mix(in oklch,var(--paper-soft) 18%,transparent);transform:translateY(-50%);opacity:.45}.trust-light-board.is-lit:before{background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 80%,transparent),transparent 74%);box-shadow:0 0 24px color-mix(in oklch,var(--gold) 20%,transparent)}.trust-light-board.is-connected:before{background:linear-gradient(90deg,var(--gold),color-mix(in oklch,var(--gold) 70%,var(--paper)),var(--gold));opacity:.9}.trust-light-grid{position:relative;z-index:1;display:grid;grid-template-rows:repeat(var(--trust-rows),minmax(0,1fr));grid-template-columns:repeat(var(--trust-columns),minmax(0,1fr));gap:10px;min-height:0}.trust-light-endpoint,.trust-mirror{position:relative;display:grid;place-items:center;align-content:center;gap:5px;min-height:108px;border-radius:8px;color:var(--paper);text-align:center}.trust-light-endpoint{border:1px solid color-mix(in oklch,var(--gold) 46%,transparent);background:color-mix(in oklch,var(--paper) 8%,var(--ink))}.trust-light-endpoint span{width:34px;height:34px;border-radius:50%;border:2px solid color-mix(in oklch,var(--gold) 70%,transparent);box-shadow:0 0 18px color-mix(in oklch,var(--gold) 20%,transparent)}.trust-light-endpoint--target span{border-radius:8px 8px 2px 2px}.trust-mirror{border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);background:radial-gradient(circle at 50% 44%,color-mix(in oklch,var(--gold) 8%,transparent),transparent 48%),color-mix(in oklch,var(--ink-deep) 74%,var(--ink));cursor:pointer;touch-action:manipulation}.trust-mirror:hover,.trust-mirror:focus-visible{border-color:color-mix(in oklch,var(--gold) 72%,transparent)}.trust-mirror.is-lit{border-color:var(--gold);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 28%,transparent),0 0 22px color-mix(in oklch,var(--gold) 18%,transparent)}.trust-mirror-glyph{position:relative;width:54px;height:54px;border-radius:50%;border:1px solid color-mix(in oklch,var(--gold) 52%,transparent);transform:rotate(var(--mirror-turn));transition:transform .13s ease}.trust-mirror[data-mirror-id=trust-arch] .trust-mirror-glyph{transform:rotate(calc(var(--mirror-turn) + 180deg))}.trust-mirror-glyph:before,.trust-mirror-glyph:after{content:"";position:absolute;left:8px;top:25px;width:38px;height:4px;border-radius:999px;background:color-mix(in oklch,var(--gold) 78%,var(--paper));box-shadow:0 0 12px color-mix(in oklch,var(--gold) 26%,transparent)}.trust-mirror--corner .trust-mirror-glyph:before{left:8px;width:23px}.trust-mirror--corner .trust-mirror-glyph:after{left:25px;top:8px;width:4px;height:23px}.trust-mirror strong,.trust-light-endpoint strong{font-size:.74rem;line-height:1}.trust-relay-label{position:relative;z-index:1;justify-self:center;margin:0;padding:5px 10px;border:1px solid color-mix(in oklch,var(--gold) 44%,transparent);border-radius:999px;color:var(--gold);font-size:.76rem;font-weight:800}.trust-payoff-card{display:grid;align-content:center;gap:8px;padding:14px;color:var(--paper-soft);text-align:center}.trust-payoff-card span{color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase}.trust-payoff-card strong{color:var(--paper);font-size:1.05rem}.trust-payoff-card p{margin:0;font-size:.86rem;line-height:1.25}.trust-payoff-card.is-visible{border-color:var(--gold);background:radial-gradient(circle at 50% 0%,color-mix(in oklch,var(--gold) 22%,transparent),transparent 60%),color-mix(in oklch,var(--ink) 82%,black)}.trust-light-progress{display:flex;justify-content:center;gap:18px;padding:8px 12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 6%,var(--ink));color:var(--paper-soft);font-size:.9rem}.trust-light-progress p{margin:0}.trust-light-path-panel.has-final-background{background:linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 76%,transparent),color-mix(in oklch,black 32%,transparent)),var(--trust-light-bg-image) center / cover no-repeat,color-mix(in oklch,var(--ink-deep) 90%,black)}.trust-light-board-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:.72;filter:saturate(.9) brightness(.78);pointer-events:none;-webkit-user-select:none;user-select:none}.trust-light-board.has-final-board{overflow:hidden;background:linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 36%,transparent),color-mix(in oklch,black 18%,transparent)),color-mix(in oklch,var(--ink-deep) 76%,black)}.trust-light-board.has-final-board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(circle at 18% 76%,color-mix(in oklch,var(--gold) 18%,transparent),transparent 34%),radial-gradient(circle at 86% 20%,color-mix(in oklch,var(--rose) 10%,transparent),transparent 36%),linear-gradient(180deg,color-mix(in oklch,black 8%,transparent),color-mix(in oklch,black 24%,transparent));pointer-events:none}.trust-light-board.has-final-board:before{z-index:2}.trust-light-board.has-final-board>:not(.trust-light-board-image){position:relative;z-index:3}.trust-light-endpoint-image{position:absolute;top:9px;right:9px;bottom:9px;left:9px;z-index:0;width:calc(100% - 18px);height:calc(100% - 18px);object-fit:contain;opacity:.72;filter:saturate(.95) brightness(.9);pointer-events:none;-webkit-user-select:none;user-select:none}.trust-light-endpoint.has-final-image{overflow:hidden;background:linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 30%,transparent),color-mix(in oklch,black 14%,transparent)),color-mix(in oklch,var(--ink) 78%,black)}.trust-light-endpoint.has-final-image>:not(.trust-light-endpoint-image){position:relative;z-index:2}@media(max-height:560px)and (orientation:landscape){.trust-light-path-panel{gap:6px;padding:10px 12px}.trust-light-heading{gap:2px;padding-bottom:2px}.trust-light-subtitle,.trust-light-heading .puzzle-instruction{display:none}.trust-light-play-area{grid-template-columns:minmax(180px,.72fr) minmax(280px,1fr) minmax(130px,.42fr);gap:6px}.trust-question-card,.trust-light-board,.trust-payoff-card{padding:6px}.trust-question-card h2{font-size:.72rem}.trust-question-list{gap:4px}.trust-question-tile{min-height:44px;padding:5px}.trust-question-tile strong{font-size:.62rem}.trust-question-tile span{display:none}.trust-light-grid{gap:5px}.trust-light-endpoint,.trust-mirror{min-height:62px;gap:2px}.trust-light-endpoint span{width:22px;height:22px}.trust-mirror-glyph{width:34px;height:34px}.trust-mirror-glyph:before{left:5px;top:15px;width:24px;height:3px}.trust-mirror--corner .trust-mirror-glyph:before{left:5px;width:14px}.trust-mirror--corner .trust-mirror-glyph:after{left:16px;top:5px;width:3px;height:14px}.trust-mirror strong,.trust-light-endpoint strong{font-size:.52rem}.trust-relay-label{padding:3px 7px;font-size:.54rem}.trust-payoff-card{gap:4px}.trust-payoff-card span{font-size:.52rem}.trust-payoff-card strong{font-size:.68rem}.trust-payoff-card p{font-size:.56rem}.trust-light-progress{gap:8px;padding:4px 8px;font-size:.6rem}}*,*:before,*:after{box-sizing:border-box}:root{--app-width: 100vw;--app-height: 100dvh}html,body,#game-shell{width:var(--app-width, 100vw);height:var(--app-height, 100dvh);min-height:0;margin:0;overflow:hidden;overscroll-behavior:none}body{position:fixed;top:0;right:0;bottom:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100dvh);min-width:320px;min-height:var(--app-height, 100dvh);max-width:var(--app-width, 100vw);max-height:var(--app-height, 100dvh);overflow:hidden;background:var(--presentation-backdrop);touch-action:none}#game-shell{display:grid;place-items:center;width:var(--app-width, 100vw);height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);padding:0;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}#game-frame{width:var(--app-width, 100vw);height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);display:grid;place-items:center;border:0;border-radius:0;background:var(--presentation-backdrop);box-shadow:none;overflow:hidden}#game-container{width:100%;height:100%;max-height:100%;display:grid;place-items:center;overflow:hidden;touch-action:none}#game-container canvas{display:block;margin:0!important;max-width:100%;max-height:100%;touch-action:none}body[data-scene^=platformer-level-] #game-frame,body[data-scene^=platformer-level-] #game-container{background:var(--presentation-backdrop-soft),radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 42%),radial-gradient(circle at 9% 18%,color-mix(in oklch,var(--gold) 16%,transparent),transparent 19%),radial-gradient(circle at 91% 82%,color-mix(in oklch,var(--rose) 18%,transparent),transparent 22%),linear-gradient(90deg,color-mix(in oklch,var(--ink-deep) 88%,black),color-mix(in oklch,var(--burgundy, var(--color-burgundy)) 42%,var(--ink-deep)) 7%,color-mix(in oklch,var(--gold) 48%,transparent) 8.92%,color-mix(in oklch,var(--ink-deep) 92%,transparent) 9.06%,color-mix(in oklch,var(--ink-deep) 88%,black) 14%,color-mix(in oklch,var(--ink-deep) 86%,black) 86%,color-mix(in oklch,var(--ink-deep) 92%,transparent) 90.94%,color-mix(in oklch,var(--gold) 48%,transparent) 91.08%,color-mix(in oklch,var(--burgundy, var(--color-burgundy)) 42%,var(--ink-deep)) 93%,color-mix(in oklch,var(--ink-deep) 88%,black)),linear-gradient(180deg,color-mix(in oklch,var(--ink) 82%,black),color-mix(in oklch,var(--ink-deep) 84%,black)),var(--ink-deep)}body.final-image-active #game-frame,body.final-image-active #game-shell,body.final-image-active #game-container,body.final-image-active #game-container canvas{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#rotate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;place-items:center;padding:24px;overflow:auto;background:color-mix(in oklch,var(--ink-deep) 92%,black);color:var(--paper);text-align:center;z-index:10}#rotate-overlay>div{width:min(100%,26rem);max-width:26rem;display:grid;gap:10px}#rotate-overlay p{margin:0;font-size:clamp(1rem,4vw,1.3rem);line-height:1.45}.rotate-kicker{color:color-mix(in oklch,var(--gold) 78%,var(--paper));font-size:clamp(.68rem,2.6vw,.78rem);letter-spacing:.14em;text-transform:uppercase}.rotate-pwa-guidance{display:none;gap:8px;padding:clamp(12px,4vw,16px);border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:12px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 13%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 18%,var(--ink)),color-mix(in oklch,var(--ink-deep) 88%,black));box-shadow:0 14px 34px color-mix(in oklch,black 36%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 6%,transparent);text-align:left}html[data-pwa-install-guidance=visible] .rotate-pwa-guidance{display:grid}.rotate-pwa-guidance p{font-size:clamp(.86rem,3.6vw,1.04rem);line-height:1.32}.rotate-pwa-title{color:var(--gold);font-weight:800;font-size:clamp(.94rem,4vw,1.16rem)!important;letter-spacing:.08em;text-transform:uppercase}.rotate-pwa-steps{display:grid;gap:6px;padding:8px;border:1px solid color-mix(in oklch,var(--gold) 28%,transparent);border-radius:8px;background:color-mix(in oklch,var(--paper) 8%,transparent);color:color-mix(in oklch,var(--paper) 84%,var(--gold));font:700 clamp(.68rem,2.8vw,.82rem)/1.28 Georgia,"Palatino Linotype","Times New Roman",serif}.rotate-landscape-note{display:grid;gap:5px;padding:8px 10px 0;color:color-mix(in oklch,var(--paper) 74%,var(--paper-soft));opacity:.84}.rotate-landscape-note p{font-size:clamp(.78rem,3vw,.94rem);line-height:1.28}.rotate-landscape-note .rotate-kicker{margin-bottom:1px}@media(orientation:portrait)and (max-width:900px){#rotate-overlay{display:grid}}.touch-controls{position:fixed;inset:auto 0 max(14px,env(safe-area-inset-bottom)) 0;z-index:8;display:flex;justify-content:space-between;align-items:end;padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;isolation:isolate}.touch-cluster{display:flex;gap:clamp(10px,2vw,16px);pointer-events:auto}.touch-button{min-width:clamp(58px,12vmin,70px);min-height:clamp(58px,12vmin,70px);border:1px solid color-mix(in oklch,var(--gold) 76%,transparent);border-radius:8px;background:radial-gradient(circle at 50% 8%,color-mix(in oklch,var(--gold) 15%,transparent),transparent 42%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 22%,var(--ink)),color-mix(in oklch,var(--ink-deep) 86%,black));color:color-mix(in oklch,var(--paper) 84%,var(--gold));font:800 clamp(1.05rem,3.1vmin,1.34rem)/1 Georgia,"Palatino Linotype","Times New Roman",serif;letter-spacing:0;box-shadow:0 13px 30px color-mix(in oklch,black 46%,transparent),0 0 22px color-mix(in oklch,var(--gold) 12%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 7%,transparent);opacity:.74;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;transition:opacity .14s ease,transform .14s ease,box-shadow .14s ease,background .14s ease}@supports (backdrop-filter: blur(8px)){.touch-button,.touch-controls-hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}button,input,label,[role=button]{touch-action:manipulation}button.touch-button{touch-action:none}.touch-button:active{background:radial-gradient(circle at 50% 10%,color-mix(in oklch,var(--gold) 28%,transparent),transparent 46%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 42%,var(--ink)),color-mix(in oklch,var(--ink-deep) 82%,black));opacity:.94;transform:translateY(1px);box-shadow:0 8px 20px color-mix(in oklch,black 44%,transparent),0 0 28px color-mix(in oklch,var(--gold) 30%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 12%,transparent)}.touch-button-jump{min-width:clamp(92px,18vmin,118px);font-size:clamp(.82rem,2.4vmin,1.02rem);letter-spacing:.07em}.touch-button-arrow{font-family:Georgia,Palatino Linotype,Times New Roman,serif}.touch-controls-hint{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%) translateY(6px);width:max-content;max-width:min(560px,calc(100vw - 220px));padding:9px 13px;border:1px solid color-mix(in oklch,var(--gold) 58%,transparent);border-radius:8px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 13%,transparent),transparent 50%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 18%,var(--ink)),color-mix(in oklch,var(--ink-deep) 88%,black));color:color-mix(in oklch,var(--paper) 88%,var(--gold));box-shadow:0 14px 34px color-mix(in oklch,black 46%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 6%,transparent);font:700 clamp(.72rem,2vmin,.9rem)/1.25 Georgia,"Palatino Linotype","Times New Roman",serif;text-align:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.touch-controls--hint-visible .touch-controls-hint{opacity:.92;visibility:visible;transform:translate(-50%) translateY(0)}.pwa-onboarding{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:7;width:min(390px,calc(100vw - 32px));pointer-events:auto}.pwa-onboarding-card{display:grid;gap:10px;padding:15px;border:1px solid color-mix(in oklch,var(--gold) 62%,transparent);border-radius:10px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 14%,transparent),transparent 62%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 20%,var(--ink)),color-mix(in oklch,var(--ink-deep) 90%,black));box-shadow:0 18px 48px color-mix(in oklch,black 54%,transparent),0 0 28px color-mix(in oklch,var(--gold) 11%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 7%,transparent);color:color-mix(in oklch,var(--paper) 88%,var(--gold));font-family:Georgia,Palatino Linotype,Times New Roman,serif}.pwa-onboarding-kicker,.pwa-onboarding-copy{margin:0}.pwa-onboarding-kicker{color:var(--gold);font-size:clamp(.76rem,1.8vmin,.9rem);font-weight:800;letter-spacing:.08em;line-height:1.18;text-transform:uppercase}.pwa-onboarding-copy{font-size:clamp(.78rem,1.9vmin,.92rem);line-height:1.35}.pwa-onboarding-steps{display:grid;gap:5px;padding:9px 10px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);border-radius:8px;background:color-mix(in oklch,var(--paper) 9%,transparent);color:color-mix(in oklch,var(--paper) 82%,var(--gold));font-size:clamp(.7rem,1.75vmin,.82rem);line-height:1.28}.pwa-onboarding-dismiss{justify-self:start;min-height:40px;padding:9px 13px;border:1px solid color-mix(in oklch,var(--gold) 70%,transparent);border-radius:8px;background:color-mix(in oklch,var(--burgundy, var(--color-burgundy)) 56%,var(--ink-deep));color:color-mix(in oklch,var(--paper) 88%,var(--gold));box-shadow:0 8px 22px color-mix(in oklch,black 34%,transparent);font:800 .78rem/1 Georgia,Palatino Linotype,Times New Roman,serif;letter-spacing:0;cursor:pointer}.pwa-onboarding-dismiss:hover,.pwa-onboarding-dismiss:focus-visible{outline:2px solid color-mix(in oklch,var(--gold) 62%,transparent);outline-offset:2px;box-shadow:0 8px 22px color-mix(in oklch,black 34%,transparent),0 0 18px color-mix(in oklch,var(--gold) 22%,transparent)}@media(max-height:500px),(max-width:900px){.touch-controls{inset:auto 0 max(10px,env(safe-area-inset-bottom)) 0;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.touch-cluster{gap:10px}.touch-button{min-width:clamp(56px,13vmin,62px);min-height:clamp(56px,13vmin,62px)}.touch-button-jump{min-width:clamp(84px,20vmin,102px)}.touch-controls-hint{bottom:calc(100% + 8px);max-width:min(440px,calc(100vw - 210px));padding:7px 10px;font-size:clamp(.66rem,1.9vmin,.78rem)}.pwa-onboarding{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:min(360px,calc(100vw - 20px))}.pwa-onboarding-card{gap:7px;padding:10px}.pwa-onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:7px}.pwa-onboarding-dismiss{min-height:38px;padding:8px 11px}}.dev-debug-panel{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:20;max-width:min(520px,calc(100vw - 24px));max-height:calc(var(--app-height, 100dvh) - 24px);overflow:auto;padding:12px 14px;border:1px solid color-mix(in oklch,var(--gold) 62%,transparent);background:color-mix(in oklch,var(--ink-deep) 88%,black);color:var(--paper);box-shadow:0 16px 46px color-mix(in oklch,black 56%,transparent);font:600 .78rem/1.35 Consolas,Liberation Mono,monospace;pointer-events:auto}.dev-debug-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.dev-debug-button{min-height:28px;padding:5px 8px;border:1px solid color-mix(in oklch,var(--gold) 58%,transparent);border-radius:4px;background:color-mix(in oklch,var(--ink) 76%,black);color:var(--paper);font:700 .7rem/1 Consolas,Liberation Mono,monospace;cursor:pointer}.dev-debug-button:hover,.dev-debug-button:focus-visible{background:color-mix(in oklch,var(--gold) 24%,var(--ink-deep));outline:1px solid color-mix(in oklch,var(--paper) 68%,transparent)}.dev-debug-button:disabled{opacity:.45;cursor:not-allowed}.dev-debug-button:disabled:hover{background:color-mix(in oklch,var(--ink) 76%,black);outline:none}.dev-debug-status{margin:0;white-space:pre-wrap}.dev-debug-inspector{display:grid;gap:7px;margin:0 0 10px;padding:10px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);background:color-mix(in oklch,var(--ink) 56%,transparent)}.dev-debug-summary{display:grid;gap:7px;margin:0 0 10px;padding:10px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);background:color-mix(in oklch,var(--ink) 58%,transparent)}.dev-debug-summary-section{display:grid;gap:5px;padding-top:4px;border-top:1px solid color-mix(in oklch,var(--paper) 12%,transparent)}.dev-debug-summary-section h3{margin:0;color:color-mix(in oklch,var(--gold) 86%,var(--paper));font:800 .72rem/1.2 Consolas,Liberation Mono,monospace;letter-spacing:0}.dev-debug-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.dev-debug-summary-row code{overflow-wrap:anywhere;color:var(--paper);font:700 .68rem/1.25 Consolas,Liberation Mono,monospace}.dev-debug-summary-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.dev-debug-validation{display:grid;gap:7px;margin:0 0 10px;padding:10px;border:1px solid color-mix(in oklch,var(--gold) 24%,transparent);background:color-mix(in oklch,var(--ink) 62%,transparent)}.dev-debug-inspector-title{color:var(--gold);font-weight:800;letter-spacing:0}.dev-debug-inspector-empty,.dev-debug-inspector-help,.dev-debug-inspector-error{margin:0;color:color-mix(in oklch,var(--paper) 78%,transparent)}.dev-debug-inspector-error{color:var(--rose)}.dev-debug-inspector-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:center}.dev-debug-inspector-row span{color:color-mix(in oklch,var(--paper) 70%,transparent)}.dev-debug-inspector-row code{overflow-wrap:anywhere;color:var(--paper);font:inherit}.dev-debug-inspector-row input,.dev-debug-inspector-row select{min-width:0;height:28px;padding:4px 6px;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:3px;background:color-mix(in oklch,var(--ink-deep) 82%,black);color:var(--paper);font:700 .72rem/1 Consolas,Liberation Mono,monospace}.dev-debug-inspector-row input:disabled,.dev-debug-inspector-row select:disabled{opacity:.58;cursor:not-allowed}.dev-debug-inspector-row input[type=checkbox]{justify-self:start;width:18px;min-width:18px;height:18px;padding:0}.dev-debug-inspector-row code[data-testid=dev-inspector-support-status]{color:color-mix(in oklch,var(--gold) 92%,var(--paper))}.dev-debug-inspector-row small{grid-column:2;color:color-mix(in oklch,var(--paper) 58%,transparent)}.dev-debug-inspector-actions{display:flex;flex-wrap:wrap;gap:6px}.dev-debug-validation-summary{color:var(--paper);font-weight:800}.dev-debug-validation-list{display:grid;gap:4px;max-height:180px;overflow:auto}.dev-validation-issue{width:100%;padding:5px 6px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:3px;background:color-mix(in oklch,var(--ink-deep) 72%,transparent);color:var(--paper);font:700 .68rem/1.25 Consolas,Liberation Mono,monospace;text-align:left}.dev-validation-issue:hover,.dev-validation-issue:focus-visible{outline:1px solid color-mix(in oklch,var(--paper) 62%,transparent)}.dev-validation-issue-error{border-color:color-mix(in oklch,var(--rose) 76%,transparent)}.dev-validation-issue-warning{border-color:color-mix(in oklch,var(--gold) 76%,transparent)}.dev-validation-issue-info{border-color:color-mix(in oklch,var(--blue-ribbon) 62%,transparent)}.dev-debug-copy-panel{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:21;width:min(520px,calc(100vw - 24px));min-height:180px;padding:12px;border:1px solid color-mix(in oklch,var(--gold) 62%,transparent);background:color-mix(in oklch,var(--ink-deep) 92%,black);color:var(--paper);font:600 .78rem/1.35 Consolas,Liberation Mono,monospace;pointer-events:auto}.puzzle-overlay,.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);z-index:7;display:grid;place-items:center;padding:clamp(12px,3vw,28px);pointer-events:none;overflow:hidden;overscroll-behavior:none}.opening-start-overlay,.opening-cinematic-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);z-index:7;display:grid;place-items:center;padding:clamp(14px,3vw,34px);overflow:hidden;color:var(--paper);background:radial-gradient(circle at 20% 18%,color-mix(in oklch,var(--gold) 14%,transparent),transparent 26%),radial-gradient(circle at 78% 72%,color-mix(in oklch,var(--rose) 12%,transparent),transparent 30%),linear-gradient(180deg,color-mix(in oklch,var(--ink) 88%,black),var(--ink-deep));pointer-events:auto}.opening-start-overlay{background:url(./main-menu-background-Csh1plgu.webp) center / cover no-repeat var(--ink-deep)}.opening-cinematic-overlay{background:linear-gradient(180deg,color-mix(in oklch,black 12%,transparent),color-mix(in oklch,black 30%,transparent)),url(./main-menu-background-Csh1plgu.webp) center / cover no-repeat var(--ink-deep)}.opening-start-overlay:before,.opening-cinematic-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(90deg,color-mix(in oklch,black 42%,transparent),transparent 30%,transparent 70%,color-mix(in oklch,black 38%,transparent)),linear-gradient(0deg,color-mix(in oklch,var(--gold) 8%,transparent) 0 1px,transparent 1px 64px),linear-gradient(90deg,color-mix(in oklch,var(--paper) 3%,transparent) 0 1px,transparent 1px 90px);opacity:.58;pointer-events:none}.opening-start-overlay:before{content:none}.opening-start-artboard{position:absolute;left:50%;top:50%;z-index:1;width:max(100vw,177.7778vh);aspect-ratio:16 / 9;transform:translate(-50%,-50%);pointer-events:none}.opening-start-title{position:absolute;left:50%;top:45.5%;width:min(45%,720px);margin:0;transform:translate(-50%,-50%);color:color-mix(in oklch,var(--color-soft-ivory) 88%,var(--color-gold-bright));font-family:Georgia,Palatino Linotype,Times New Roman,serif;font-size:clamp(2rem,4.45vw,5rem);font-weight:700;line-height:.98;text-align:center;text-wrap:balance;text-shadow:0 2px 0 color-mix(in oklch,black 62%,transparent),0 12px 28px color-mix(in oklch,black 48%,transparent),0 0 18px color-mix(in oklch,var(--gold) 22%,transparent);pointer-events:none}.opening-start-button-overlay{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;justify-content:center;gap:clamp(10px,1.4vw,18px);min-width:clamp(220px,24%,420px);min-height:clamp(68px,8.6%,104px);padding:clamp(18px,2.2vw,28px) clamp(34px,4vw,64px);transform:translate(-50%,-50%);border:1px solid color-mix(in oklch,var(--gold) 84%,transparent);border-radius:8px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--color-gold-bright) 26%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 32%,var(--color-burgundy)),color-mix(in oklch,var(--color-red-shadow) 82%,black));color:var(--paper);font-family:Georgia,Palatino Linotype,Times New Roman,serif;font-size:clamp(1.35rem,2.1vw,2.35rem);font-weight:700;letter-spacing:0;text-transform:uppercase;text-shadow:0 2px 8px color-mix(in oklch,black 46%,transparent);box-shadow:0 26px 58px color-mix(in oklch,black 54%,transparent),0 0 0 5px color-mix(in oklch,var(--ink-deep) 38%,transparent),0 0 32px color-mix(in oklch,var(--gold) 22%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 12%,transparent),inset 0 -14px 28px color-mix(in oklch,black 20%,transparent);cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.opening-start-button-icon{width:clamp(1.05rem,1.7vw,1.55rem);height:clamp(1.05rem,1.7vw,1.55rem);color:color-mix(in oklch,var(--color-gold-bright) 90%,var(--paper));filter:drop-shadow(0 0 8px color-mix(in oklch,var(--gold) 34%,transparent))}.opening-start-button-overlay:hover{background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--color-gold-bright) 34%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 40%,var(--color-burgundy)),color-mix(in oklch,var(--color-red-shadow) 76%,black));box-shadow:0 30px 64px color-mix(in oklch,black 58%,transparent),0 0 0 5px color-mix(in oklch,var(--ink-deep) 38%,transparent),0 0 38px color-mix(in oklch,var(--gold) 34%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 15%,transparent),inset 0 -14px 28px color-mix(in oklch,black 18%,transparent)}.opening-start-button-overlay:focus-visible{outline:2px solid color-mix(in oklch,var(--color-gold-bright) 92%,transparent);outline-offset:5px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--color-gold-bright) 34%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 40%,var(--color-burgundy)),color-mix(in oklch,var(--color-red-shadow) 76%,black));box-shadow:0 0 0 2px color-mix(in oklch,var(--ink-deep) 54%,transparent),0 0 0 7px color-mix(in oklch,var(--gold) 22%,transparent),0 0 36px color-mix(in oklch,var(--color-gold-bright) 36%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 15%,transparent)}.opening-start-button-overlay:active{transform:translate(-50%,calc(-50% + 1px));background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 18%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in oklch,var(--color-burgundy) 74%,black),color-mix(in oklch,var(--color-red-shadow) 88%,black));box-shadow:0 18px 42px color-mix(in oklch,black 52%,transparent),0 0 0 4px color-mix(in oklch,var(--ink-deep) 38%,transparent),inset 0 5px 20px color-mix(in oklch,black 26%,transparent)}.opening-start-card{position:relative;z-index:1;width:min(720px,calc(100vw - 32px));display:grid;justify-items:center;gap:clamp(14px,2.4vw,24px);padding:clamp(28px,5vw,54px);border:1px solid color-mix(in oklch,var(--gold) 74%,transparent);border-radius:8px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 12%,transparent),transparent 50%),linear-gradient(90deg,color-mix(in oklch,var(--rose) 10%,transparent),transparent 26% 74%,color-mix(in oklch,var(--rose) 8%,transparent)),color-mix(in oklch,var(--ink) 86%,black);box-shadow:0 30px 86px color-mix(in oklch,black 58%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent),inset 0 0 34px color-mix(in oklch,var(--gold) 8%,transparent);text-align:center}.opening-start-card:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1px solid color-mix(in oklch,var(--gold) 42%,transparent);border-radius:6px;pointer-events:none}.opening-start-card h1{margin:0;max-width:14ch;color:var(--paper);font-size:clamp(2.25rem,7vw,5.1rem);line-height:.95;text-shadow:0 2px 0 color-mix(in oklch,black 58%,transparent),0 0 28px color-mix(in oklch,var(--gold) 20%,transparent)}.opening-start-card p{margin:0;color:var(--paper-soft)}.opening-start-card .main-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-width:min(340px,82vw);min-height:clamp(58px,8vmin,80px);padding:0 clamp(24px,4vw,42px);border:1px solid color-mix(in oklch,var(--gold) 82%,transparent);border-radius:8px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--color-gold-bright) 20%,transparent),transparent 52%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 10%,transparent),transparent 34%),linear-gradient(180deg,var(--color-burgundy-hover),var(--color-burgundy) 58%,var(--color-red-shadow));color:var(--paper);font-size:clamp(1.15rem,2.6vmin,1.45rem);font-weight:900;letter-spacing:.04em;box-shadow:0 18px 38px color-mix(in oklch,black 42%,transparent),0 0 32px color-mix(in oklch,var(--color-gold-bright) 22%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 14%,transparent),inset 0 -16px 22px color-mix(in oklch,black 24%,transparent);cursor:pointer}.opening-start-card .main-menu-button:hover,.opening-start-card .main-menu-button:focus-visible{border-color:var(--color-gold-bright);outline:2px solid color-mix(in oklch,var(--color-gold-bright) 86%,transparent);outline-offset:4px;transform:translateY(-1px)}.opening-cinematic-stage{position:relative;z-index:1;width:calc(100vw - 28px);height:calc(var(--app-height, 100dvh) - 28px);min-height:320px;display:grid;grid-template-rows:1fr auto;align-items:end;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.opening-cinematic-visual{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:0;transform:scale(1.025);transition:opacity .9s ease,transform 4.2s ease;background:linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 12%,transparent),color-mix(in oklch,black 24%,transparent)),radial-gradient(circle at 28% 22%,color-mix(in oklch,var(--gold) 15%,transparent),transparent 24%),linear-gradient(180deg,transparent,color-mix(in oklch,var(--ink-deep) 22%,transparent))}.opening-cinematic-overlay.is-beat-visible .opening-cinematic-visual{opacity:1;transform:scale(1)}.opening-cinematic-overlay[data-reduce-motion=true] .opening-cinematic-visual{transition:opacity .18s ease;transform:none}.opening-city-line,.opening-office-window,.opening-desk,.opening-case-file,.opening-maria{position:absolute;display:block;pointer-events:none}.opening-city-line{left:0;right:0;bottom:28%;height:34%;background:linear-gradient(90deg,transparent 0 8%,color-mix(in oklch,var(--gold) 16%,transparent) 8.3% 8.6%,transparent 8.9% 100%),linear-gradient(0deg,color-mix(in oklch,var(--gold) 14%,transparent) 0 1px,transparent 1px 44px),linear-gradient(180deg,transparent,color-mix(in oklch,black 26%,transparent));clip-path:polygon(0 62%,8% 62%,8% 34%,15% 34%,15% 56%,25% 56%,25% 28%,31% 28%,31% 66%,46% 66%,46% 40%,54% 40%,54% 63%,67% 63%,67% 30%,75% 30%,75% 58%,88% 58%,88% 36%,100% 36%,100% 100%,0 100%);opacity:.72}.opening-office-window{right:9%;top:13%;width:min(34%,360px);height:44%;border:1px solid color-mix(in oklch,var(--gold) 40%,transparent);background:linear-gradient(90deg,transparent 49%,color-mix(in oklch,var(--gold) 28%,transparent) 49% 51%,transparent 51%),linear-gradient(0deg,transparent 49%,color-mix(in oklch,var(--gold) 22%,transparent) 49% 51%,transparent 51%),radial-gradient(circle at 42% 62%,color-mix(in oklch,var(--gold) 18%,transparent),transparent 42%),color-mix(in oklch,var(--ink) 55%,black);box-shadow:0 0 34px color-mix(in oklch,var(--gold) 10%,transparent);opacity:.28}.opening-desk{left:9%;right:8%;bottom:6%;height:27%;border:1px solid color-mix(in oklch,var(--gold) 42%,transparent);border-radius:8px 8px 0 0;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 10%,transparent) 0 1px,transparent 1px 78px),linear-gradient(180deg,color-mix(in oklch,var(--paper) 6%,transparent),transparent 34%),color-mix(in oklch,var(--color-leather-brown) 70%,black)}.opening-case-file{left:34%;bottom:17%;width:min(30%,310px);height:17%;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--gold) 58%,transparent);border-radius:8px;background:radial-gradient(circle at 78% 70%,color-mix(in oklch,var(--gold) 12%,transparent),transparent 24%),color-mix(in oklch,var(--color-burgundy) 72%,var(--color-leather-brown));color:color-mix(in oklch,var(--gold) 86%,var(--paper));font:800 clamp(.9rem,2vw,1.35rem)/1 Georgia,"Palatino Linotype",serif;letter-spacing:.14em;text-shadow:0 1px 0 color-mix(in oklch,black 50%,transparent);transform:rotate(-4deg);opacity:0}.opening-maria{right:24%;bottom:24%;width:min(15%,138px);height:34%;border-radius:999px 999px 26px 26px;background:radial-gradient(circle at 50% 19%,var(--paper-soft) 0 13%,transparent 14%),linear-gradient(180deg,color-mix(in oklch,var(--rose) 62%,var(--ink)) 20%,color-mix(in oklch,var(--ink) 72%,black) 72%);filter:drop-shadow(0 10px 24px color-mix(in oklch,black 42%,transparent));opacity:0}.opening-cinematic-overlay[data-visual=city-wakes] .opening-office-window,.opening-cinematic-overlay[data-visual=city-wakes] .opening-desk,.opening-cinematic-overlay[data-visual=city-wakes] .opening-case-file,.opening-cinematic-overlay[data-visual=city-wakes] .opening-maria{opacity:0}.opening-cinematic-overlay[data-visual=way-to-office] .opening-city-line{transform:translate(-4%)}.opening-cinematic-overlay[data-visual=law-office] .opening-city-line,.opening-cinematic-overlay[data-visual=maria-arrives] .opening-city-line,.opening-cinematic-overlay[data-visual=desk-file] .opening-city-line,.opening-cinematic-overlay[data-visual=she-sits] .opening-city-line,.opening-cinematic-overlay[data-visual=menu-reveal] .opening-city-line{opacity:.18}.opening-cinematic-overlay[data-visual=law-office] .opening-office-window,.opening-cinematic-overlay[data-visual=maria-arrives] .opening-office-window,.opening-cinematic-overlay[data-visual=desk-file] .opening-office-window,.opening-cinematic-overlay[data-visual=she-sits] .opening-office-window,.opening-cinematic-overlay[data-visual=menu-reveal] .opening-office-window{opacity:.72}.opening-cinematic-overlay[data-visual=law-office] .opening-desk,.opening-cinematic-overlay[data-visual=maria-arrives] .opening-desk,.opening-cinematic-overlay[data-visual=desk-file] .opening-desk,.opening-cinematic-overlay[data-visual=she-sits] .opening-desk,.opening-cinematic-overlay[data-visual=menu-reveal] .opening-desk{opacity:1}.opening-cinematic-overlay[data-visual=maria-arrives] .opening-maria,.opening-cinematic-overlay[data-visual=desk-file] .opening-maria,.opening-cinematic-overlay[data-visual=she-sits] .opening-maria,.opening-cinematic-overlay[data-visual=menu-reveal] .opening-maria{opacity:.86}.opening-cinematic-overlay[data-visual=maria-arrives] .opening-maria{transform:translate(38%)}.opening-cinematic-overlay[data-visual=she-sits] .opening-maria,.opening-cinematic-overlay[data-visual=menu-reveal] .opening-maria{transform:translateY(8%) scaleY(.82)}.opening-cinematic-overlay[data-visual=desk-file] .opening-case-file,.opening-cinematic-overlay[data-visual=she-sits] .opening-case-file,.opening-cinematic-overlay[data-visual=menu-reveal] .opening-case-file{opacity:1}.opening-cinematic-caption{position:relative;z-index:2;justify-self:center;width:min(680px,calc(100% - 36px));margin:0 0 clamp(22px,4vh,38px);padding:13px 20px;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:999px;background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 8%,transparent),transparent),color-mix(in oklch,var(--ink) 78%,black);color:var(--paper);font:800 clamp(1rem,2.3vw,1.45rem)/1.28 Georgia,"Palatino Linotype",serif;text-align:center;box-shadow:0 14px 32px color-mix(in oklch,black 34%,transparent);opacity:0;transform:translateY(8px);transition:opacity .65s ease .12s,transform .65s ease .12s}.opening-cinematic-overlay.is-beat-visible .opening-cinematic-caption{opacity:1;transform:translateY(0)}.opening-skip-button{position:absolute;z-index:3;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));min-height:44px;padding:0 16px;border:1px solid color-mix(in oklch,var(--gold) 44%,transparent);border-radius:999px;background:color-mix(in oklch,var(--ink) 76%,black);color:var(--paper-soft);font:800 .92rem/1 Georgia,Palatino Linotype,serif;box-shadow:0 10px 26px color-mix(in oklch,black 30%,transparent)}.opening-skip-button:hover,.opening-skip-button:focus-visible{border-color:var(--gold);color:var(--paper);outline:2px solid color-mix(in oklch,var(--gold) 64%,transparent);outline-offset:3px}.opening-cinematic-overlay.is-ending{opacity:0;transition:opacity .4s ease}.menu-panel{position:relative;isolation:isolate;width:min(840px,calc(100vw - 28px));max-height:min(500px,calc(var(--app-height, 100dvh) - 28px));display:grid;gap:14px;padding:clamp(18px,2.7vw,28px);border:var(--border-legal);background:var(--surface-legal);box-shadow:var(--shadow-panel),0 0 38px color-mix(in oklch,var(--gold) 10%,transparent),inset 0 0 28px color-mix(in oklch,black 22%,transparent);pointer-events:auto;overflow:hidden}.menu-panel,.puzzle-panel{position:relative;isolation:isolate;border-radius:6px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.menu-panel:before,.puzzle-panel:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:-1;border:1px solid color-mix(in oklch,var(--gold) 18%,transparent);border-radius:5px;background:linear-gradient(90deg,color-mix(in oklch,var(--rose) 8%,transparent),transparent 16% 84%,color-mix(in oklch,var(--rose) 6%,transparent)),linear-gradient(180deg,color-mix(in oklch,var(--paper) 3%,transparent),transparent 40%),radial-gradient(circle at 88% 16%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 24%);pointer-events:none}.vn-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);z-index:7;display:grid;place-items:center;padding:6px;pointer-events:none;overflow:hidden;isolation:isolate}.vn-overlay:before,.vn-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}.vn-overlay:before{background:radial-gradient(circle at 12% 16%,color-mix(in oklch,var(--gold) 16%,transparent),transparent 23%),radial-gradient(circle at 86% 18%,color-mix(in oklch,var(--rose) 10%,transparent),transparent 25%),linear-gradient(90deg,transparent 0 13%,color-mix(in oklch,var(--gold) 10%,transparent) 13.15% 13.35%,transparent 13.5% 100%),linear-gradient(180deg,color-mix(in oklch,var(--ink) 86%,black),var(--ink-deep))}.vn-overlay:after{z-index:-1;opacity:.58;background:radial-gradient(ellipse at 50% 100%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 42%),linear-gradient(0deg,color-mix(in oklch,var(--gold) 9%,transparent) 0 1px,transparent 1px 54px),linear-gradient(90deg,color-mix(in oklch,var(--paper) 4%,transparent) 0 1px,transparent 1px 78px);-webkit-mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent)}.vn-bg-kancelaria:before{background:linear-gradient(90deg,transparent 0 11%,color-mix(in oklch,var(--gold) 18%,transparent) 11.2% 11.45%,transparent 11.7% 100%),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-elevated) 82%,black),color-mix(in oklch,var(--ink-deep) 88%,black))}.vn-bg-tram-night:before{background:linear-gradient(12deg,transparent 0 46%,color-mix(in oklch,var(--gold) 20%,transparent) 46.3% 46.7%,transparent 47% 100%),linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 90%,black),color-mix(in oklch,var(--color-bg-elevated) 80%,black))}.vn-bg-rebuilt-street:before{background:linear-gradient(0deg,color-mix(in oklch,var(--color-leather-brown) 28%,transparent) 0 18%,transparent 18%),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-panel) 90%,black),color-mix(in oklch,var(--color-red-shadow) 20%,var(--ink-deep)))}.vn-bg-vistula:before{background:linear-gradient(0deg,color-mix(in oklch,var(--blue-ribbon) 34%,transparent) 0 28%,transparent 28%),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-panel) 90%,black),color-mix(in oklch,var(--blue-ribbon) 32%,var(--ink-deep)))}.vn-bg-archive:before{background:linear-gradient(90deg,color-mix(in oklch,var(--paper) 8%,transparent) 0 2px,transparent 2px 82px),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-elevated) 88%,black),color-mix(in oklch,var(--color-leather-brown) 16%,var(--ink-deep)))}.vn-bg-courthouse:before,.vn-bg-court-heart:before{background:linear-gradient(90deg,transparent 0 19%,color-mix(in oklch,var(--gold) 14%,transparent) 19.2% 19.55%,transparent 19.8% 34%,color-mix(in oklch,var(--gold) 10%,transparent) 34.2% 34.5%,transparent 34.8% 100%),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-panel) 90%,black),color-mix(in oklch,var(--color-burgundy) 14%,var(--ink-deep)))}.vn-bg-garden:before{background:linear-gradient(0deg,color-mix(in oklch,var(--color-gold) 12%,var(--color-bg-elevated)) 0 26%,transparent 26%),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-panel) 88%,black),color-mix(in oklch,var(--color-gold) 12%,var(--ink-deep)))}.vn-bg-argument-tower:before{background:linear-gradient(90deg,transparent 0 49%,color-mix(in oklch,var(--gold) 18%,transparent) 49.2% 49.55%,transparent 49.8% 100%),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-panel) 90%,black),color-mix(in oklch,var(--blue-ribbon) 18%,var(--ink-deep)))}.vn-bg-rooftops:before{background:linear-gradient(0deg,color-mix(in oklch,var(--ink-deep) 58%,transparent) 0 21%,transparent 21%),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-panel) 94%,black),color-mix(in oklch,var(--color-burgundy) 12%,var(--ink-deep)))}.vn-bg-court-heart:after{opacity:.56;background:linear-gradient(135deg,transparent 0 39%,color-mix(in oklch,var(--rose) 14%,transparent) 39.4% 39.8%,transparent 40.2% 100%),linear-gradient(90deg,color-mix(in oklch,var(--gold) 8%,transparent) 0 1px,transparent 1px 76px)}.vn-panel{position:relative;isolation:isolate;width:calc(100vw - 12px);height:calc(var(--app-height, 100dvh) - 12px);min-height:0;max-height:none;display:grid;grid-template-rows:auto minmax(110px,.34fr) minmax(0,1fr) auto;gap:clamp(20px,2.8vh,38px);padding:clamp(34px,5vh,72px) clamp(36px,5vw,82px);border:var(--border-legal);border-radius:8px;background:var(--surface-legal);box-shadow:0 34px 96px color-mix(in oklch,black 58%,transparent),0 0 48px color-mix(in oklch,var(--gold) 14%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent),inset 0 0 0 8px color-mix(in oklch,var(--ink-deep) 42%,transparent),inset 0 0 44px color-mix(in oklch,black 34%,transparent);pointer-events:auto;overflow:hidden}.vn-panel:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:-1;border:1px solid color-mix(in oklch,var(--gold) 22%,transparent);border-radius:7px;background:radial-gradient(circle at 16% 18%,color-mix(in oklch,var(--rose) 12%,transparent),transparent 28%),radial-gradient(circle at 88% 12%,color-mix(in oklch,var(--gold) 9%,transparent),transparent 25%),linear-gradient(90deg,color-mix(in oklch,var(--color-burgundy) 10%,transparent),transparent 24% 76%,color-mix(in oklch,var(--color-burgundy) 8%,transparent)),linear-gradient(180deg,color-mix(in oklch,var(--paper) 5%,transparent),transparent 52%)}.vn-panel:after{content:"";position:absolute;left:50%;top:13px;width:min(220px,42%);height:1px;transform:translate(-50%);background:linear-gradient(90deg,transparent,var(--gold) 20% 80%,transparent);box-shadow:-86px 0 0 -.5px color-mix(in oklch,var(--rose) 55%,transparent),86px 0 0 -.5px color-mix(in oklch,var(--rose) 55%,transparent),0 9px 0 -.5px color-mix(in oklch,var(--gold) 28%,transparent);pointer-events:none}.vn-overlay[data-reduce-motion=false] .vn-panel{animation:vn-panel-in .18s ease-out both}.vn-header{display:grid;grid-template-columns:1fr auto;gap:9px 18px;align-items:end;padding-bottom:4px}.vn-kicker,.vn-header h1,.vn-counter,.vn-speaker,.vn-text,.vn-continue-indicator{margin:0}.vn-kicker{grid-column:1 / -1;color:var(--gold);font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.vn-header h1{color:var(--color-soft-ivory);font-size:clamp(3.2rem,6vw,6.6rem);line-height:1.08;text-shadow:0 2px 0 color-mix(in oklch,var(--color-red-shadow) 68%,transparent),0 0 24px color-mix(in oklch,var(--gold) 12%,transparent)}.vn-counter{min-width:58px;padding:8px 13px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);border-radius:999px;background:color-mix(in oklch,var(--ink-deep) 54%,transparent);color:var(--paper-soft);font-size:clamp(.95rem,1.4vw,1.25rem);font-variant-numeric:tabular-nums;text-align:center}.vn-stage{min-height:0;height:100%;display:grid;grid-template-columns:minmax(360px,540px) 1fr;align-items:center;gap:clamp(24px,4vw,54px);padding:clamp(24px,3.4vw,48px);border:1px solid color-mix(in oklch,var(--gold) 54%,transparent);border-radius:8px;background:radial-gradient(circle at 18% 50%,color-mix(in oklch,var(--gold) 12%,transparent),transparent 34%),linear-gradient(90deg,color-mix(in oklch,var(--color-burgundy) 18%,transparent),transparent 52%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 6%,transparent),transparent 60%),color-mix(in oklch,var(--ink-deep) 70%,var(--ink));box-shadow:inset 0 0 20px color-mix(in oklch,black 22%,transparent),0 10px 24px color-mix(in oklch,black 18%,transparent)}.vn-portrait{position:relative;min-height:clamp(170px,26vh,290px);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(16px,2vw,28px);padding:clamp(16px,2vw,28px);border:1px solid color-mix(in oklch,var(--gold) 58%,transparent);border-radius:8px;background:var(--surface-leather);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 7%,transparent),inset 0 0 22px color-mix(in oklch,black 22%,transparent),0 14px 30px color-mix(in oklch,black 30%,transparent),0 0 22px color-mix(in oklch,var(--gold) 9%,transparent);overflow:hidden}.vn-portrait:not(.is-active){opacity:.54;filter:saturate(.72);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 5%,transparent),inset 0 0 18px color-mix(in oklch,black 24%,transparent)}.vn-portrait:before,.vn-portrait:after{content:"";position:absolute;width:34px;height:34px;border:1px solid color-mix(in oklch,var(--gold) 35%,transparent);pointer-events:none}.vn-portrait:before{left:8px;top:8px;border-right:0;border-bottom:0}.vn-portrait:after{right:8px;bottom:8px;border-left:0;border-top:0}.vn-portrait-glow{position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid color-mix(in oklch,var(--gold) 30%,transparent);border-radius:7px;box-shadow:inset 0 0 18px color-mix(in oklch,var(--gold) 8%,transparent),0 0 26px color-mix(in oklch,var(--gold) 15%,transparent);pointer-events:none}.vn-portrait-mark{position:relative;width:clamp(120px,12vw,190px);aspect-ratio:1;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--gold) 78%,transparent);border-radius:999px;background:radial-gradient(circle at 40% 28%,color-mix(in oklch,var(--paper) 20%,transparent),transparent 36%),linear-gradient(145deg,color-mix(in oklch,var(--paper) 12%,transparent),transparent),color-mix(in oklch,var(--rose) 28%,var(--ink));color:var(--paper);font-size:clamp(3rem,6vw,5.2rem);font-weight:800;box-shadow:inset 0 0 16px color-mix(in oklch,black 22%,transparent),0 0 20px color-mix(in oklch,var(--gold) 18%,transparent)}.vn-portrait-mark:after{content:"";position:absolute;top:24%;right:24%;bottom:24%;left:24%;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:inherit;pointer-events:none}.vn-portrait-label{color:var(--paper);font-size:clamp(1.1rem,1.8vw,1.6rem);font-weight:700;line-height:1.15;text-shadow:0 1px 0 color-mix(in oklch,black 40%,transparent)}.vn-portrait-case-file .vn-portrait-mark{border-radius:6px;background:color-mix(in oklch,var(--gold) 24%,var(--ink))}.vn-portrait-narrator .vn-portrait-mark{background:color-mix(in oklch,var(--paper) 12%,var(--ink))}.vn-portrait-secret-client .vn-portrait-mark,.vn-portrait-default .vn-portrait-mark{background:color-mix(in oklch,var(--gold) 18%,var(--ink-deep))}.vn-scene-mark{justify-self:end;display:grid;gap:9px;color:var(--paper-soft);font-size:clamp(1rem,1.6vw,1.32rem);line-height:1.25;text-align:right}.vn-scene-mark span{justify-self:end;width:fit-content;padding:8px 14px;border:1px solid color-mix(in oklch,var(--gold) 38%,transparent);border-radius:999px;background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 5%,transparent),transparent),color-mix(in oklch,var(--ink-deep) 70%,transparent)}.vn-scene-mark span:first-child{color:var(--gold);font-weight:800}.vn-card{min-height:0;height:100%;display:grid;align-content:center;gap:clamp(20px,2.4vw,34px);width:100%;padding:clamp(38px,5vw,72px);border:1px solid color-mix(in oklch,var(--gold) 62%,transparent);border-radius:8px;background:radial-gradient(circle at 92% 14%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 20%),linear-gradient(0deg,color-mix(in oklch,var(--color-warm-ink) 5%,transparent) 0 1px,transparent 1px 26px),linear-gradient(90deg,color-mix(in oklch,var(--rose) 8%,transparent),transparent 48%),var(--surface-parchment);color:var(--color-warm-ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;overflow:hidden;box-shadow:0 18px 36px color-mix(in oklch,black 20%,transparent),inset 0 0 0 1px color-mix(in oklch,white 15%,transparent)}.vn-card:hover,.vn-card:focus-visible{border-color:color-mix(in oklch,var(--gold) 86%,transparent);box-shadow:0 18px 38px color-mix(in oklch,black 22%,transparent),0 0 0 2px color-mix(in oklch,var(--gold) 18%,transparent),inset 0 0 0 1px color-mix(in oklch,white 15%,transparent);outline:none}.vn-speaker{justify-self:start;padding:11px 18px;border:1px solid color-mix(in oklch,var(--gold) 64%,transparent);border-radius:999px;background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent),var(--color-burgundy);color:var(--paper);font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:700;box-shadow:0 8px 18px color-mix(in oklch,black 22%,transparent),inset 0 0 14px color-mix(in oklch,var(--gold) 8%,transparent)}.vn-text{max-width:72ch;color:color-mix(in oklch,var(--color-warm-ink) 90%,var(--ink-deep));font-size:clamp(1.95rem,3.6vw,2.85rem);line-height:1.5}.vn-continue-indicator{justify-self:end;color:var(--color-gold-deep);font-size:clamp(.95rem,1.4vw,1.18rem);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.vn-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px}.vn-actions button{min-height:clamp(54px,6vh,70px);border:1px solid color-mix(in oklch,var(--gold) 55%,transparent);border-radius:6px;padding:0 clamp(20px,2.4vw,34px);background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 5%,transparent),transparent),color-mix(in oklch,var(--ink) 78%,black);color:var(--paper);font:700 clamp(1rem,1.5vw,1.22rem)/1 Georgia,"Palatino Linotype","Times New Roman",serif;cursor:pointer;box-shadow:var(--shadow-button);transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.vn-actions .primary-button{min-width:clamp(160px,14vw,230px);background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 8%,transparent),transparent),var(--color-burgundy);box-shadow:var(--shadow-button),0 0 24px color-mix(in oklch,var(--gold) 13%,transparent),inset 0 0 18px color-mix(in oklch,var(--gold) 8%,transparent)}.vn-actions .secondary-button{background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 5%,transparent),transparent),color-mix(in oklch,var(--ink-deep) 70%,var(--ink));color:var(--paper-soft)}.vn-actions button:hover,.vn-actions button:focus-visible{border-color:color-mix(in oklch,var(--gold) 86%,transparent);outline:none;box-shadow:var(--shadow-button),0 0 0 2px color-mix(in oklch,var(--gold) 18%,transparent),0 0 24px color-mix(in oklch,var(--gold) 14%,transparent)}.vn-actions button:active{transform:translateY(1px)}@keyframes vn-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-height:430px)and (orientation:landscape){.vn-overlay{padding:4px}.vn-panel{width:calc(100vw - 8px);height:calc(var(--app-height, 100dvh) - 8px);max-height:none;gap:10px;padding:16px 18px}.vn-header{gap:4px 12px}.vn-kicker{font-size:.68rem}.vn-header h1{font-size:clamp(1.35rem,4vw,1.8rem)}.vn-stage{min-height:56px;grid-template-columns:minmax(150px,1fr) auto;gap:8px;padding:8px}.vn-portrait{min-height:48px;grid-template-columns:auto 1fr;padding:6px 8px}.vn-portrait-mark{width:38px;font-size:1.05rem}.vn-portrait-label{font-size:.78rem}.vn-scene-mark{font-size:.72rem;gap:3px}.vn-card{min-height:132px;gap:10px;padding:14px}.vn-speaker{padding:5px 10px;font-size:.86rem}.vn-text{max-width:58ch;font-size:clamp(1.02rem,2.7vw,1.22rem);line-height:1.38}.vn-actions button{min-height:44px}}@media(max-width:640px){.vn-panel{width:calc(100vw - 8px);height:calc(var(--app-height, 100dvh) - 8px);padding:16px}.vn-header{grid-template-columns:1fr}.vn-counter{justify-self:start}.vn-stage{grid-template-columns:1fr}.vn-scene-mark{justify-self:start;text-align:left}.vn-scene-mark span{justify-self:start}.vn-card{min-height:180px}.vn-actions{justify-content:stretch}.vn-actions button{flex:1 1 130px}}.title-menu-panel{width:min(76vw,1320px);max-height:min(88vh,calc(var(--app-height, 100dvh) - 28px));max-height:min(88dvh,calc(var(--app-height, 100dvh) - 28px));min-height:clamp(410px,58vh,640px);min-height:clamp(410px,58dvh,640px);align-content:center;gap:clamp(28px,4.2vmin,52px);padding:clamp(38px,5.5vmin,76px) clamp(32px,5.8vw,98px);border:1px solid color-mix(in oklch,var(--gold) 72%,transparent);border-radius:8px;text-align:center;position:relative;z-index:1;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 48%),radial-gradient(ellipse at 50% 110%,color-mix(in oklch,var(--rose) 8%,transparent),transparent 48%),radial-gradient(ellipse at 0% 50%,color-mix(in oklch,var(--color-burgundy) 30%,transparent),transparent 38%),radial-gradient(ellipse at 100% 50%,color-mix(in oklch,var(--color-burgundy) 30%,transparent),transparent 38%),linear-gradient(90deg,color-mix(in oklch,var(--color-red-shadow) 40%,transparent) 0 18px,transparent 92px calc(100% - 92px),color-mix(in oklch,var(--color-red-shadow) 40%,transparent) calc(100% - 18px) 100%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 5%,transparent),transparent 30%,color-mix(in oklch,black 16%,transparent)),color-mix(in oklch,var(--ink) 84%,black);box-shadow:0 34px 96px color-mix(in oklch,black 66%,transparent),0 0 34px color-mix(in oklch,var(--gold) 10%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 10%,transparent),inset 0 0 0 8px color-mix(in oklch,var(--ink-deep) 36%,transparent),inset 0 0 44px color-mix(in oklch,black 40%,transparent)}.title-menu-panel>*{position:relative;z-index:1}.title-menu-overlay{isolation:isolate;padding:clamp(10px,2vmin,28px);overflow:hidden;background:url(./main-menu-background-Csh1plgu.webp) center / cover no-repeat var(--ink-deep)}.title-menu-panel{-webkit-backdrop-filter:none;backdrop-filter:none}.title-menu-panel:before,.title-menu-panel:after{content:"";position:absolute;pointer-events:none}.title-menu-panel:before{top:14px;right:14px;bottom:14px;left:14px;border:1px solid color-mix(in oklch,var(--gold) 46%,transparent);border-radius:6px;background:radial-gradient(ellipse at 50% 0,color-mix(in oklch,var(--gold) 10%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 3%,transparent),transparent 40%,color-mix(in oklch,var(--gold) 3%,transparent));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 7%,transparent),inset 0 0 24px color-mix(in oklch,var(--gold) 5%,transparent);z-index:0}.title-menu-panel:after{top:18px;right:18px;bottom:18px;left:18px;border-radius:5px;background:radial-gradient(circle at 50% 0,color-mix(in oklch,var(--gold) 36%,transparent) 0 3px,transparent 4px),radial-gradient(circle at 50% 0,color-mix(in oklch,var(--color-burgundy) 30%,transparent) 0 18px,transparent 19px),linear-gradient(90deg,transparent calc(50% - 34px),color-mix(in oklch,var(--gold) 30%,transparent) calc(50% - 34px) calc(50% + 34px),transparent calc(50% + 34px)) top center / 100% 1px no-repeat,linear-gradient(90deg,color-mix(in oklch,var(--gold) 34%,transparent) 0 32px,transparent 32px calc(100% - 32px),color-mix(in oklch,var(--gold) 34%,transparent) calc(100% - 32px) 100%) top left / 100% 1px no-repeat,linear-gradient(90deg,color-mix(in oklch,var(--gold) 30%,transparent) 0 28px,transparent 28px calc(100% - 28px),color-mix(in oklch,var(--gold) 30%,transparent) calc(100% - 28px) 100%) bottom left / 100% 1px no-repeat;opacity:.58;z-index:0;pointer-events:none}.title-menu-panel .menu-kicker{font-size:clamp(.78rem,1.45vmin,.98rem)}.title-menu-panel .title-logo{position:relative;justify-self:center;max-width:min(16ch,100%);padding-top:clamp(18px,3.1vmin,34px);color:var(--paper);font-family:Georgia,Palatino Linotype,Times New Roman,serif;font-size:clamp(2.35rem,6.05vmin,4.95rem);font-weight:700;line-height:1;letter-spacing:0;text-wrap:balance;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;background:linear-gradient(180deg,var(--color-soft-ivory) 0%,var(--paper) 36%,var(--color-gold-bright) 100%);-webkit-background-clip:text;background-clip:text;text-shadow:0 1px 0 color-mix(in oklch,var(--color-red-shadow) 46%,transparent),0 8px 22px color-mix(in oklch,black 44%,transparent),0 0 18px color-mix(in oklch,var(--gold) 12%,transparent)}@supports (-webkit-background-clip: text){.title-menu-panel .title-logo{color:transparent;-webkit-text-fill-color:transparent}}.title-menu-panel .title-logo:before{content:"";position:absolute;left:50%;top:0;width:clamp(48px,6vmin,72px);height:clamp(24px,3vmin,34px);transform:translate(-50%);background:radial-gradient(circle at 50% 52%,color-mix(in oklch,var(--color-burgundy) 72%,transparent) 0 8px,transparent 9px),radial-gradient(circle at 50% 52%,color-mix(in oklch,var(--gold) 64%,transparent) 0 14px,transparent 15px),linear-gradient(90deg,transparent 0 20%,color-mix(in oklch,var(--gold) 72%,transparent) 20% 80%,transparent 80% 100%) center / 100% 1px no-repeat;filter:drop-shadow(0 0 12px color-mix(in oklch,var(--gold) 24%,transparent))}.title-menu-panel .title-logo:after{content:"";position:absolute;left:50%;bottom:clamp(-24px,-2.8vmin,-16px);width:min(440px,92%);height:10px;transform:translate(-50%);background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--rose) 76%,transparent) 0 3px,transparent 4px),linear-gradient(90deg,transparent,color-mix(in oklch,var(--gold) 72%,transparent) 12% 43%,transparent 43% 57%,color-mix(in oklch,var(--gold) 72%,transparent) 57% 88%,transparent);opacity:.68}.title-menu-panel .menu-actions{gap:clamp(10px,1.8vmin,18px)}.title-menu-panel .menu-actions button{min-height:clamp(56px,7.2vmin,82px);min-width:min(100%,clamp(170px,18vw,270px));padding:0 clamp(18px,2.8vmin,34px);font-size:clamp(1rem,2vmin,1.28rem)}.title-menu-panel .main-menu-actions{width:min(100%,980px);justify-self:center;align-items:stretch;gap:clamp(12px,1.7vmin,18px)}.title-menu-panel .main-menu-button{position:relative;isolation:isolate;flex:1 1 clamp(172px,15vw,230px);min-height:clamp(62px,7.5vmin,84px);min-width:clamp(168px,15vw,236px);display:inline-grid;grid-template-columns:auto 1fr;align-items:center;justify-content:center;gap:clamp(10px,1.4vmin,14px);padding:0 clamp(18px,2.5vmin,28px);border:1px solid color-mix(in oklch,var(--gold) 72%,transparent);border-radius:8px;overflow:hidden;color:var(--paper);letter-spacing:.025em;text-shadow:0 1px 0 color-mix(in oklch,black 54%,transparent);box-shadow:0 14px 30px color-mix(in oklch,black 38%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 10%,transparent),inset 0 -12px 18px color-mix(in oklch,black 18%,transparent)}.title-menu-panel .main-menu-button:before{content:"";width:clamp(18px,2.4vmin,26px);aspect-ratio:1;border:1px solid color-mix(in oklch,currentColor 38%,var(--gold));border-radius:50%;background:radial-gradient(circle,color-mix(in oklch,var(--paper) 68%,transparent) 0 2px,transparent 3px),linear-gradient(90deg,transparent 0 42%,currentColor 42% 58%,transparent 58% 100%),linear-gradient(180deg,transparent 0 42%,currentColor 42% 58%,transparent 58% 100%),color-mix(in oklch,var(--gold) 18%,transparent);opacity:.82;box-shadow:0 0 14px color-mix(in oklch,var(--gold) 22%,transparent),inset 0 0 8px color-mix(in oklch,black 28%,transparent)}.title-menu-panel .main-menu-button:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:-1;border-radius:5px;border:1px solid color-mix(in oklch,var(--paper) 9%,transparent);background:linear-gradient(90deg,transparent 0 12%,color-mix(in oklch,var(--gold) 10%,transparent) 12% calc(12% + 1px),transparent calc(12% + 1px) 88%,color-mix(in oklch,var(--gold) 10%,transparent) 88% calc(88% + 1px),transparent calc(88% + 1px)),linear-gradient(180deg,color-mix(in oklch,var(--paper) 4%,transparent),transparent 48%);pointer-events:none}.title-menu-panel .main-menu-button--primary{flex:1.35 1 clamp(240px,22vw,340px);min-width:clamp(230px,22vw,340px);background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--color-gold-bright) 15%,transparent),transparent 54%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 8%,transparent),transparent 36%),linear-gradient(180deg,color-mix(in oklch,var(--color-burgundy-hover) 92%,var(--ink)),var(--color-burgundy) 58%,color-mix(in oklch,var(--color-red-shadow) 88%,black));border-color:color-mix(in oklch,var(--gold) 76%,transparent);color:var(--paper);box-shadow:0 16px 34px color-mix(in oklch,black 40%,transparent),0 0 24px color-mix(in oklch,var(--color-gold-bright) 17%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 12%,transparent),inset 0 12px 18px color-mix(in oklch,var(--paper) 5%,transparent),inset 0 -14px 20px color-mix(in oklch,black 24%,transparent)}.title-menu-panel .main-menu-button--secondary{background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 12%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent 38%),linear-gradient(180deg,color-mix(in oklch,var(--color-bg-panel) 86%,var(--color-burgundy)),color-mix(in oklch,var(--ink) 82%,black));border-color:color-mix(in oklch,var(--gold) 60%,transparent);color:color-mix(in oklch,var(--paper) 88%,var(--gold));text-shadow:0 1px 0 color-mix(in oklch,black 52%,transparent)}.title-menu-panel .main-menu-button--secondary:before{color:color-mix(in oklch,var(--gold) 74%,var(--paper));background:radial-gradient(circle,color-mix(in oklch,var(--paper) 12%,transparent) 0 2px,transparent 3px),linear-gradient(90deg,transparent 0 42%,currentColor 42% 58%,transparent 58% 100%),linear-gradient(180deg,transparent 0 42%,currentColor 42% 58%,transparent 58% 100%),color-mix(in oklch,var(--gold) 10%,transparent)}.title-menu-panel .main-menu-button--reset{background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--rose) 10%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 6%,transparent),transparent 40%),linear-gradient(180deg,color-mix(in oklch,var(--color-burgundy) 62%,var(--ink)),color-mix(in oklch,var(--color-red-shadow) 74%,var(--ink)));border-color:color-mix(in oklch,var(--gold) 50%,var(--color-error-burgundy));color:color-mix(in oklch,var(--paper) 84%,var(--color-error-burgundy))}.title-menu-panel .main-menu-button:hover:not(:disabled),.title-menu-panel .main-menu-button:focus-visible{border-color:color-mix(in oklch,var(--color-gold-bright) 92%,transparent);box-shadow:0 16px 34px color-mix(in oklch,black 42%,transparent),0 0 0 2px color-mix(in oklch,var(--gold) 18%,transparent),0 0 30px color-mix(in oklch,var(--color-gold-bright) 26%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 14%,transparent),inset 0 -12px 18px color-mix(in oklch,black 18%,transparent);transform:translateY(-1px)}.title-menu-panel .main-menu-button:focus-visible{outline:2px solid color-mix(in oklch,var(--color-gold-bright) 92%,transparent);outline-offset:4px}.title-menu-panel .main-menu-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 9px 18px color-mix(in oklch,black 38%,transparent),inset 0 3px 12px color-mix(in oklch,black 26%,transparent)}.title-menu-panel .main-menu-button:disabled{opacity:.58;filter:saturate(.58);box-shadow:0 8px 18px color-mix(in oklch,black 28%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 7%,transparent)}.title-menu-panel .main-menu-button:disabled:before{opacity:.46}.title-menu-panel .main-menu-button--has-icon:before{display:none}.title-menu-panel .main-menu-button .ui-icon{--ui-icon-size: clamp(18px, 2.4vmin, 26px);opacity:.92;filter:drop-shadow(0 0 10px color-mix(in oklch,var(--gold) 20%,transparent))}.title-menu-panel .menu-subpanel{justify-self:center;width:min(760px,100%);font-size:clamp(1rem,1.9vmin,1.2rem)}.menu-panel h1,.menu-panel h2,.menu-panel p{margin:0}.menu-panel h1{color:var(--paper);font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.08}.menu-panel h2{color:var(--gold);font-size:1.15rem}.menu-kicker{color:var(--gold);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.ui-icon{--ui-icon-size: 1.05em;position:relative;display:inline-block;flex:0 0 auto;width:var(--ui-icon-size);height:var(--ui-icon-size);color:currentColor;vertical-align:-.16em}.ui-icon:before,.ui-icon:after{content:"";position:absolute;box-sizing:border-box;pointer-events:none}.ui-icon--case-file,.ui-icon--folder,.ui-icon--envelope,.ui-icon--letter,.ui-icon--witness-note,.ui-icon--marginal-note,.ui-icon--credits-book{border:1.7px solid currentColor;border-radius:.16em}.ui-icon--folder:before{left:.08em;top:-.18em;width:.48em;height:.24em;border:1.7px solid currentColor;border-bottom:0;border-radius:.12em .12em 0 0}.ui-icon--envelope:before,.ui-icon--letter:before{inset:.16em .08em auto;height:.52em;border-bottom:1.7px solid currentColor;transform:skewY(-24deg)}.ui-icon--letter:after,.ui-icon--witness-note:after,.ui-icon--marginal-note:after,.ui-icon--credits-book:after{left:.22em;right:.22em;top:.33em;height:1.7px;background:currentColor;box-shadow:0 .24em 0 currentColor;opacity:.75}.ui-icon--marginal-note:before{right:.12em;top:.2em;width:.18em;height:.58em;background:currentColor;opacity:.62}.ui-icon--credits-book:before{left:50%;top:0;bottom:0;width:1.7px;background:currentColor;opacity:.7}.ui-icon--scales:before{left:50%;top:.08em;width:1.7px;height:.84em;background:currentColor;transform:translate(-50%)}.ui-icon--scales:after{left:.14em;right:.14em;top:.34em;height:1.7px;background:currentColor;box-shadow:-.18em .28em 0 -.02em currentColor,.18em .28em 0 -.02em currentColor,0 .62em 0 currentColor}.ui-icon--settings{border:1.8px solid currentColor;border-radius:50%}.ui-icon--settings:before{top:.3em;right:.3em;bottom:.3em;left:.3em;border:1.8px solid currentColor;border-radius:50%}.ui-icon--settings:after{left:50%;top:-.08em;width:1.8px;height:1.2em;background:currentColor;transform:translate(-50%) rotate(45deg)}.ui-icon--reset{border:1.8px solid currentColor;border-right-color:transparent;border-radius:50%}.ui-icon--reset:after{right:0;top:.06em;width:.34em;height:.34em;border-top:1.8px solid currentColor;border-right:1.8px solid currentColor;transform:rotate(18deg)}.ui-icon--heart:before{left:50%;top:50%;width:.74em;height:.74em;background:currentColor;transform:translate(-50%,-42%) rotate(45deg);border-radius:.08em}.ui-icon--heart:after{left:.18em;top:.15em;width:.38em;height:.38em;border-radius:50%;background:currentColor;box-shadow:.32em 0 0 currentColor}.ui-icon--key:before{left:.06em;top:.22em;width:.38em;height:.38em;border:1.8px solid currentColor;border-radius:50%}.ui-icon--key:after{left:.42em;top:.47em;width:.58em;height:1.8px;background:currentColor;box-shadow:.18em .16em 0 currentColor,.32em .16em 0 currentColor}.ui-icon--stamp,.ui-icon--final-seal{border:1.8px solid currentColor;border-radius:50%}.ui-icon--stamp:before,.ui-icon--final-seal:before{top:.22em;right:.22em;bottom:.22em;left:.22em;border:1.6px solid currentColor;border-radius:50%;opacity:.7}.ui-icon--stamp:after{left:.2em;right:.2em;bottom:-.08em;height:.16em;border-radius:999px;background:currentColor}.ui-icon--brick{border:1.7px solid currentColor;border-radius:.13em}.ui-icon--brick:before{left:0;right:0;top:50%;height:1.5px;background:currentColor;box-shadow:.36em -.26em 0 currentColor,-.28em .26em 0 currentColor}.ui-icon--lantern{border:1.8px solid currentColor;border-radius:.48em .48em .16em .16em}.ui-icon--lantern:before{left:.28em;right:.28em;top:-.12em;height:.28em;border:1.6px solid currentColor;border-bottom:0;border-radius:999px 999px 0 0}.ui-icon--lantern:after{left:50%;top:.34em;width:.28em;height:.38em;border-radius:50% 50% 50% 0;background:currentColor;transform:translate(-50%) rotate(-45deg);opacity:.72}.ui-icon--ribbon:before{left:.1em;right:.1em;top:.2em;height:.38em;border-radius:.12em;background:currentColor}.ui-icon--ribbon:after{left:.24em;top:.54em;width:.58em;height:.44em;background:currentColor;clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}.ui-icon--lock:before{left:.25em;top:.06em;width:.54em;height:.48em;border:1.8px solid currentColor;border-bottom:0;border-radius:999px 999px 0 0}.ui-icon--lock:after{left:.17em;right:.17em;bottom:.08em;height:.58em;border:1.8px solid currentColor;border-radius:.14em;background:color-mix(in oklch,currentColor 14%,transparent)}.ui-icon--check:before{left:.18em;top:.48em;width:.34em;height:.18em;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}.ui-icon--play:before{left:.28em;top:.18em;width:0;height:0;border-top:.34em solid transparent;border-bottom:.34em solid transparent;border-left:.52em solid currentColor}.ui-icon--sound:before,.ui-icon--mute:before{left:.08em;top:.34em;width:.28em;height:.38em;background:currentColor;clip-path:polygon(0 25%,42% 25%,100% 0,100% 100%,42% 75%,0 75%)}.ui-icon--sound:after{right:.12em;top:.28em;width:.34em;height:.48em;border:1.6px solid currentColor;border-left:0;border-radius:0 999px 999px 0}.ui-icon--mute:after,.ui-icon--reduce-motion:after{left:.16em;top:.5em;width:.78em;height:1.8px;background:currentColor;transform:rotate(-42deg)}.ui-icon--reduce-motion{border:1.7px solid currentColor;border-radius:50%}.ui-icon--reduce-motion:before{left:.28em;top:.28em;width:.46em;height:.46em;border:1.6px solid currentColor;border-radius:50%;border-right-color:transparent}.ui-icon--speaker,.ui-icon--narrator,.ui-icon--secret-client{border:1.7px solid currentColor;border-radius:50%}.ui-icon--speaker:before,.ui-icon--narrator:before{left:.28em;right:.28em;top:.32em;height:1.7px;background:currentColor;box-shadow:0 .2em 0 currentColor}.ui-icon--secret-client:before{top:.24em;right:.24em;bottom:.24em;left:.24em;border-radius:50%;background:currentColor;opacity:.7}.ui-chip,.level-number-chip,.level-status-chip,.vn-speaker,.vn-continue-indicator,.settings-option-row span,.case-closed-banner{display:inline-flex;align-items:center;gap:.45em}.ui-chip,.level-number-chip,.level-status-chip{border-radius:999px}.ui-chip--completed,.level-row--completed .level-status-chip{color:var(--gold)}.ui-chip--locked,.level-row--locked .level-status-chip,.level-row--coming-soon .level-status-chip{color:color-mix(in oklch,var(--color-locked-brass) 82%,var(--paper-soft))}.ui-chip--selected,.level-row--playable .level-status-chip{box-shadow:0 0 18px color-mix(in oklch,var(--gold) 15%,transparent)}.menu-actions button,.menu-actions-row button,.level-row button,.level-select-panel>button,.credits-panel button,.settings-panel button,.reset-confirmation-panel button,.final-verdict-panel .menu-actions button,.vn-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.55em}.level-number-chip .ui-icon,.level-status-chip .ui-icon,.settings-option-row .ui-icon,.vn-speaker .ui-icon,.vn-continue-indicator .ui-icon,.menu-actions button .ui-icon,.menu-actions-row button .ui-icon{--ui-icon-size: 1em}.level-row button .ui-icon,.level-select-panel>button .ui-icon,.credits-panel button .ui-icon,.settings-panel button .ui-icon,.reset-confirmation-panel button .ui-icon,.final-verdict-panel .menu-actions button .ui-icon,.vn-actions button .ui-icon{--ui-icon-size: 1.05em}.level-row--locked .ui-icon,.level-row--coming-soon .ui-icon,button:disabled .ui-icon{opacity:.58}.menu-actions,.menu-actions-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.menu-actions button,.menu-actions-row button,.menu-panel>button,.level-row button,.menu-subpanel button{min-height:48px;border:1px solid color-mix(in oklch,var(--gold) 55%,transparent);border-radius:6px;padding:0 16px;background:color-mix(in oklch,var(--ink) 76%,black);color:var(--paper);font:700 .98rem/1 Georgia,Palatino Linotype,Times New Roman,serif;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.menu-actions .primary-button{background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent),linear-gradient(180deg,var(--color-burgundy-hover),var(--color-burgundy));border-color:color-mix(in oklch,var(--gold) 76%,transparent);box-shadow:var(--shadow-button),0 0 24px color-mix(in oklch,var(--color-gold-bright) 20%,transparent)}.menu-panel button:hover,.puzzle-actions button:hover,.document-card-actions button:hover,.vn-actions button:hover{border-color:color-mix(in oklch,var(--gold) 84%,transparent);background:color-mix(in oklch,var(--color-gold-deep) 20%,var(--ink));box-shadow:0 0 0 2px color-mix(in oklch,var(--gold) 16%,transparent)}.menu-panel button:active,.puzzle-actions button:active,.document-card-actions button:active{transform:translateY(1px)}.menu-panel button:focus-visible,.puzzle-panel button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.danger-button{color:color-mix(in oklch,var(--paper) 88%,var(--color-error-burgundy))}.menu-panel button:disabled{cursor:not-allowed;opacity:.46;color:var(--color-text-disabled);border-color:color-mix(in oklch,var(--color-locked-brass) 56%,transparent)}.menu-subpanel{display:grid;gap:10px;padding:14px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);border-radius:6px;background:linear-gradient(90deg,color-mix(in oklch,var(--rose) 7%,transparent),transparent 35%),color-mix(in oklch,var(--ink-deep) 52%,var(--ink));box-shadow:inset 0 0 18px color-mix(in oklch,black 18%,transparent)}.menu-subpanel label{min-height:44px;display:flex;align-items:center;gap:10px;color:var(--paper);font-size:1rem}.menu-subpanel input{width:22px;height:22px;accent-color:color-mix(in oklch,var(--rose) 70%,var(--gold))}.level-select-panel{width:min(900px,calc(100vw - 28px))}.level-list{display:grid;gap:8px}.level-row{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto) minmax(120px,auto);gap:12px;align-items:center;padding:12px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--rose) 10%,transparent),transparent 20%),color-mix(in oklch,var(--paper) 8%,var(--ink));border-radius:6px;box-shadow:inset 0 0 16px color-mix(in oklch,black 14%,transparent)}.level-row:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--gold),var(--color-burgundy));opacity:.86;pointer-events:none}.level-row div{display:grid;gap:4px}.level-row strong{color:var(--paper)}.level-row span,.level-row p{color:var(--paper-soft)}.case-closed-banner{padding:10px 12px;border:1px solid color-mix(in oklch,var(--gold) 46%,transparent);background:color-mix(in oklch,var(--gold) 14%,var(--ink));color:var(--paper);border-radius:6px}@media(max-width:760px){.level-row{grid-template-columns:1fr}.menu-actions button,.menu-actions-row button,.level-row button{flex:1}}.puzzle-panel{width:min(90vw,1500px);height:min(calc(var(--app-height, 100dvh) - 48px),900px);max-height:calc(var(--app-height, 100dvh) - 28px);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:12px;padding:clamp(16px,2.5vw,24px);border:var(--border-legal);background:var(--surface-legal);box-shadow:var(--shadow-panel),0 0 38px color-mix(in oklch,var(--gold) 10%,transparent),inset 0 0 28px color-mix(in oklch,black 20%,transparent);pointer-events:auto;overflow:hidden}.puzzle-panel,.final-verdict-panel,.credits-panel{background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 44%),linear-gradient(90deg,color-mix(in oklch,var(--rose) 10%,transparent),transparent 20% 80%,color-mix(in oklch,var(--rose) 8%,transparent)),linear-gradient(180deg,color-mix(in oklch,var(--paper) 4%,transparent),transparent 34%),color-mix(in oklch,var(--ink) 90%,black)}.puzzle-panel h1,.puzzle-panel p{margin:0}.puzzle-panel h1{color:var(--paper);font-size:1.7rem;line-height:1.15}.puzzle-kicker{color:var(--gold);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.puzzle-instruction,.puzzle-feedback{padding:10px 12px;border:1px solid color-mix(in oklch,var(--gold) 25%,transparent);border-radius:6px;background:color-mix(in oklch,var(--ink-deep) 48%,transparent);color:var(--paper-soft);font-size:1rem;line-height:1.35;white-space:pre-line}.document-card-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.document-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid color-mix(in oklch,var(--gold) 36%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--rose) 8%,transparent),transparent 24%),color-mix(in oklch,var(--paper) 8%,var(--ink));border-radius:6px;box-shadow:inset 0 0 14px color-mix(in oklch,black 12%,transparent)}.document-card-copy{display:grid;gap:4px}.document-card-copy strong{color:var(--gold);font-size:1.05rem}.document-card-copy span{color:var(--paper);font-size:.96rem}.final-letter-card{padding:9px 12px}.final-letter-card .document-card-copy strong{font-size:1rem}.final-letter-card .document-card-copy span{font-size:.84rem;color:var(--paper-soft)}.document-card-actions,.puzzle-actions{display:flex;gap:8px}.document-card-actions button,.puzzle-actions button{min-height:46px;border:1px solid color-mix(in oklch,var(--gold) 55%,transparent);border-radius:6px;padding:0 14px;background:color-mix(in oklch,var(--ink) 76%,black);color:var(--paper);font:700 .95rem/1 Georgia,Palatino Linotype,Times New Roman,serif;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.document-card-actions button:disabled{cursor:not-allowed;opacity:.42}.puzzle-actions{justify-content:end}.puzzle-actions .primary-button{background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent),linear-gradient(180deg,var(--color-burgundy-hover),var(--color-burgundy));border-color:color-mix(in oklch,var(--gold) 76%,transparent);box-shadow:var(--shadow-button),0 0 24px color-mix(in oklch,var(--color-gold-bright) 20%,transparent)}.case-mosaic-frame:before,.case-timeline-board:before,.rebuild-frame:before,.lantern-garden:before,.argument-tower-frame:before,.constellation-sky:before,.verdict-seal:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid color-mix(in oklch,var(--paper) 8%,transparent);border-radius:inherit;pointer-events:none}.case-mosaic-frame:after,.case-timeline-board:after,.rebuild-frame:after{content:"";position:absolute;left:18px;right:18px;bottom:14px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--gold) 34%,transparent),transparent);pointer-events:none}.case-mosaic-piece,.case-timeline-task,.rebuild-piece,.witness-statement,.archive-bookmark,.echo-question-tile,.garden-lantern,.argument-block,.constellation-star,.verdict-fragment{border-color:color-mix(in oklch,var(--gold) 38%,transparent);background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 5%,transparent),transparent),color-mix(in oklch,var(--ink) 84%,black);box-shadow:0 8px 18px color-mix(in oklch,black 16%,transparent),inset 0 0 14px color-mix(in oklch,var(--gold) 6%,transparent)}.case-mosaic-piece:hover,.case-timeline-task:hover,.rebuild-piece:hover,.witness-statement:hover,.archive-bookmark:hover,.echo-question-tile:hover,.argument-block:hover,.constellation-star:hover,.verdict-fragment:hover{border-color:color-mix(in oklch,var(--gold) 74%,transparent)}.reconstruction-panel{gap:10px}.reconstruction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reconstruction-slot{min-height:104px;display:grid;align-content:center;gap:5px;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:6px;padding:10px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);font:inherit;text-align:left;cursor:pointer}.reconstruction-slot span,.reconstruction-slot small{color:var(--paper-soft);font-size:.82rem}.reconstruction-slot strong{color:var(--gold);font-size:1.05rem}.reconstruction-slot.is-selected{border-color:var(--rose);background:color-mix(in oklch,var(--rose) 22%,var(--ink));box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 42%,transparent)}.contradiction-panel{gap:10px}.contradiction-evidence,.cross-examination-prompt,.argument-builder-prompt{margin:0;padding:14px;border-left:4px solid var(--gold);background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);font-size:1rem;line-height:1.35}.contradiction-statement-list,.cross-examination-choice-list,.argument-builder-choice-list{display:grid;gap:8px}.contradiction-statement,.cross-examination-choice,.argument-builder-choice{min-height:62px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;padding:12px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);font:inherit;text-align:left;cursor:pointer}.contradiction-statement strong,.cross-examination-choice strong,.argument-builder-choice strong{color:var(--gold);font-size:1.05rem}.contradiction-statement span,.cross-examination-choice span,.argument-builder-choice span{font-size:1rem;line-height:1.25}.contradiction-statement.is-selected,.cross-examination-choice.is-selected,.argument-builder-choice.is-selected{border-color:var(--rose);background:color-mix(in oklch,var(--rose) 22%,var(--ink));box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 42%,transparent)}.memory-match-panel{gap:10px}.memory-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.memory-card{min-height:88px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;padding:12px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);font:700 1rem/1.25 Georgia,Palatino Linotype,Times New Roman,serif;cursor:pointer}.memory-card.is-selected{border-color:var(--rose);background:color-mix(in oklch,var(--rose) 22%,var(--ink));box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 42%,transparent)}.memory-card.is-matched{border-color:var(--gold);background:color-mix(in oklch,var(--gold) 24%,var(--ink));color:var(--paper)}.pattern-repeat-panel{gap:10px}.pattern-repeat-status{display:grid;gap:6px;padding:12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 7%,var(--ink))}.pattern-repeat-status p{color:var(--paper-soft);font-size:.98rem;line-height:1.3}.pattern-lantern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pattern-lantern{min-height:88px;border:1px solid color-mix(in oklch,var(--gold) 46%,transparent);border-radius:6px;padding:12px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);font:700 1rem/1.25 Georgia,Palatino Linotype,Times New Roman,serif;cursor:pointer}.pattern-lantern span{display:block}.pattern-lantern.is-next{border-color:var(--rose);background:color-mix(in oklch,var(--rose) 18%,var(--ink));box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 34%,transparent)}.pattern-lantern.is-solved{border-color:var(--gold);background:color-mix(in oklch,var(--gold) 24%,var(--ink))}.evidence-linking-panel{gap:10px}.case-mosaic-panel{width:min(90vw,1500px);gap:10px}.case-mosaic-heading{display:grid;gap:4px;text-align:center}.case-mosaic-subtitle{color:var(--gold);font-size:1rem;line-height:1.25}.case-mosaic-play-area{display:grid;grid-template-columns:minmax(330px,1.3fr) minmax(210px,.7fr);gap:14px;align-items:stretch;min-height:0}.case-mosaic-frame{position:relative;min-height:238px;height:100%;padding:14px;border:1px solid color-mix(in oklch,var(--gold) 58%,transparent);border-radius:6px;background:radial-gradient(circle at 50% 20%,color-mix(in oklch,var(--gold) 13%,transparent),transparent 44%),color-mix(in oklch,var(--ink-deep) 84%,black);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent);overflow:hidden}.case-mosaic-frame.is-solved{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 44%,transparent),0 0 28px color-mix(in oklch,var(--gold) 22%,transparent)}.case-mosaic-stamp{position:absolute;right:18px;top:12px;z-index:4;padding:5px 9px;border:1px solid color-mix(in oklch,var(--gold) 56%,transparent);border-radius:4px;color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:.09em;opacity:0;transform:rotate(-5deg) scale(.92);transition:opacity .16s ease,transform .16s ease}.case-mosaic-frame.is-solved .case-mosaic-stamp{opacity:.95;transform:rotate(-5deg) scale(1)}.case-mosaic-payoff{position:absolute;left:18px;right:18px;bottom:14px;z-index:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;pointer-events:none}.case-mosaic-payoff-item{min-width:0;min-height:44px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:7px 9px;border:1px solid color-mix(in oklch,var(--gold) 64%,transparent);border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 16%,transparent),transparent 58%),color-mix(in oklch,var(--ink-deep) 90%,black);color:var(--paper);font-size:.7rem;font-weight:900;line-height:1;text-align:left;box-shadow:0 0 22px color-mix(in oklch,var(--gold) 16%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent)}.case-mosaic-payoff-item>span{position:relative;width:28px;height:22px}.case-mosaic-payoff-key>span:before,.case-mosaic-payoff-key>span:after,.case-mosaic-payoff-ticket>span:before,.case-mosaic-payoff-ticket>span:after,.case-mosaic-payoff-route>span:before,.case-mosaic-payoff-route>span:after{content:"";position:absolute}.case-mosaic-payoff-key>span:before{left:1px;top:5px;width:11px;height:11px;border:3px solid var(--gold);border-radius:50%}.case-mosaic-payoff-key>span:after{left:13px;top:10px;width:15px;height:3px;background:var(--gold);box-shadow:6px 4px 0 -1px var(--gold)}.case-mosaic-payoff-ticket>span:before{top:3px;right:2px;bottom:3px;left:2px;border:2px solid var(--gold);border-radius:3px;background:color-mix(in oklch,var(--paper) 18%,transparent);transform:rotate(-5deg)}.case-mosaic-payoff-ticket>span:after{left:8px;right:7px;top:10px;height:2px;background:var(--gold);transform:rotate(-5deg)}.case-mosaic-payoff-route>span:before{left:2px;right:2px;top:10px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--gold),color-mix(in oklch,var(--silver) 88%,var(--gold)));box-shadow:0 0 12px color-mix(in oklch,var(--gold) 60%,transparent)}.case-mosaic-payoff-route>span:after{right:0;top:6px;width:10px;height:10px;border-top:3px solid var(--gold);border-right:3px solid var(--gold);transform:rotate(45deg)}.case-mosaic-board{position:relative;z-index:2;height:100%;min-height:210px;display:grid;grid-template-columns:repeat(var(--mosaic-columns),minmax(0,1fr));grid-template-rows:repeat(var(--mosaic-rows),minmax(0,1fr));gap:6px;padding:8px;border:1px solid color-mix(in oklch,var(--paper) 20%,transparent);border-radius:6px;background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 4%,transparent),transparent),color-mix(in oklch,var(--ink) 74%,black)}.case-mosaic-slot{position:relative;min-height:96px;border:1px dashed color-mix(in oklch,var(--paper) 24%,transparent);border-radius:5px;padding:0;background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 8%,transparent),transparent 45%),color-mix(in oklch,var(--ink-deep) 72%,black);overflow:hidden;cursor:pointer}.case-mosaic-slot.is-drop-available,.case-timeline-slot.is-drop-available,.case-mosaic-piece-list.is-drop-available,.case-timeline-task-list.is-drop-available{border-color:color-mix(in oklch,var(--gold) 66%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 24%,transparent)}.case-mosaic-slot.is-drop-hover,.case-timeline-slot.is-drop-hover,.case-mosaic-piece-list.is-drop-hover,.case-timeline-task-list.is-drop-hover{border-color:var(--rose);background:linear-gradient(135deg,color-mix(in oklch,var(--rose) 18%,transparent),transparent 48%),color-mix(in oklch,var(--ink-deep) 72%,black);box-shadow:inset 0 0 18px color-mix(in oklch,var(--rose) 20%,transparent),0 0 18px color-mix(in oklch,var(--gold) 16%,transparent)}.case-mosaic-slot.is-filled{border-style:solid;border-color:color-mix(in oklch,var(--paper) 38%,transparent)}.case-mosaic-slot.is-correct{border-style:solid;border-color:var(--gold);box-shadow:inset 0 0 18px color-mix(in oklch,var(--gold) 18%,transparent)}.case-mosaic-empty{display:grid;place-items:center;width:100%;height:100%;color:color-mix(in oklch,var(--paper-soft) 62%,transparent);font-size:.78rem}.case-mosaic-placed-piece,.case-mosaic-piece{display:grid;gap:5px}.case-mosaic-placed-piece{height:100%}.case-mosaic-piece{min-height:82px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;padding:7px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);cursor:pointer;text-align:center;touch-action:none;-webkit-user-select:none;user-select:none}.case-mosaic-piece.is-selected,.case-mosaic-placed-piece.is-selected{outline:2px solid var(--rose);outline-offset:-2px;box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 34%,transparent)}.case-mosaic-piece.is-drag-source,.case-mosaic-placed-piece.is-drag-source,.case-timeline-task.is-drag-source,.case-timeline-placed-task.is-drag-source{opacity:.38;transform:scale(.98)}.case-mosaic-placed-piece,.case-timeline-placed-task{touch-action:none;-webkit-user-select:none;user-select:none}.puzzle-drag-ghost{position:fixed;z-index:9999;width:min(190px,28vw);pointer-events:none;transform:translate(-50%,-50%) scale(1.04);opacity:.96;filter:drop-shadow(0 16px 22px color-mix(in oklch,black 48%,transparent))}.puzzle-drag-ghost.case-mosaic-placed-piece,.puzzle-drag-ghost .case-mosaic-placed-piece,.puzzle-drag-ghost.case-timeline-placed-task,.puzzle-drag-ghost .case-timeline-placed-task{min-height:86px}.case-mosaic-piece-art{position:relative;display:block;min-height:58px;border-radius:4px;overflow:hidden;background:var(--color-soft-ivory)}.case-mosaic-piece-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}.case-mosaic-piece-art.in-slot{width:100%;height:100%;min-height:0;border-radius:0}.case-mosaic-piece-label{position:relative;z-index:2;color:var(--paper-soft);font-size:.72rem;line-height:1.05}.case-mosaic-placed-piece .case-mosaic-piece-label{position:absolute;left:6px;bottom:5px;padding:2px 5px;border-radius:4px;background:color-mix(in oklch,var(--ink-deep) 72%,transparent);color:var(--paper)}.case-mosaic-piece-art:before,.case-mosaic-piece-art:after,.case-mosaic-mark{content:"";position:absolute;pointer-events:none}.case-mosaic-piece-art.has-final-image:before,.case-mosaic-piece-art.has-final-image:after,.case-mosaic-piece-art.has-final-image .case-mosaic-mark{display:none}.case-mosaic-piece-art:before{top:0;right:0;bottom:0;left:0;border:2px solid color-mix(in oklch,var(--gold) 82%,#6b5431)}.case-mosaic-piece-art:after{background:color-mix(in oklch,var(--gold) 78%,#6b5431);opacity:.76}.case-mosaic-piece-art-envelope-top-left:after{left:-12%;top:40%;width:112%;height:3px;transform:rotate(-29deg);transform-origin:left center}.case-mosaic-piece-art-envelope-top-left .case-mosaic-mark{left:16%;top:18%;width:36%;height:3px;background:color-mix(in oklch,var(--gold) 70%,#6b5431);transform:rotate(-12deg)}.case-mosaic-piece-art-envelope-top-flap:after{left:8%;top:34%;width:84%;height:54%;clip-path:polygon(0 0,50% 74%,100% 0,100% 14%,50% 92%,0 14%)}.case-mosaic-piece-art-envelope-top-flap .case-mosaic-mark{right:12%;top:14%;color:color-mix(in oklch,var(--gold) 80%,#6b5431);font:800 .72rem/1 Georgia,serif}.case-mosaic-piece-art-envelope-top-flap .case-mosaic-mark:before{content:"16/05"}.case-mosaic-piece-art-envelope-top-right:after{right:-12%;top:40%;width:112%;height:3px;transform:rotate(29deg);transform-origin:right center}.case-mosaic-piece-art-envelope-top-right .case-mosaic-mark{right:16%;top:18%;width:36%;height:3px;background:color-mix(in oklch,var(--gold) 70%,#6b5431);transform:rotate(12deg)}.case-mosaic-piece-art-envelope-bottom-left:after{left:-6%;top:20%;width:112%;height:3px;transform:rotate(24deg)}.case-mosaic-piece-art-envelope-bottom-left .case-mosaic-mark{left:13%;bottom:18%;width:46%;height:2px;background:color-mix(in oklch,var(--gold) 48%,#6b5431)}.case-mosaic-piece-art-envelope-seal:after{left:-8%;top:24%;width:116%;height:3px}.case-mosaic-piece-art-envelope-seal .case-mosaic-mark{left:50%;top:50%;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 50% 45%,color-mix(in oklch,var(--paper) 18%,transparent),transparent 42%),color-mix(in oklch,var(--rose) 84%,#7b2630);box-shadow:0 0 0 3px color-mix(in oklch,var(--gold) 36%,transparent);transform:translate(-50%,-50%)}.case-mosaic-piece-art-envelope-bottom-right:after{right:-6%;top:20%;width:112%;height:3px;transform:rotate(-24deg)}.case-mosaic-piece-art-envelope-bottom-right .case-mosaic-mark{right:13%;bottom:18%;width:46%;height:2px;background:color-mix(in oklch,var(--gold) 48%,#6b5431)}.case-mosaic-tray{display:grid;gap:8px;grid-template-rows:auto minmax(0,1fr);min-height:0;padding:12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 6%,var(--ink))}.case-mosaic-tray-header{display:grid;gap:3px}.case-mosaic-tray-header h2{margin:0;color:var(--gold);font-size:1rem}.case-mosaic-tray-header p{color:var(--paper-soft);font-size:.88rem}.case-mosaic-piece-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;min-height:0;overflow:hidden;border:1px solid transparent;border-radius:6px;padding:2px}.case-mosaic-progress{display:flex;justify-content:center;gap:18px;padding:8px 12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 6%,var(--ink))}.case-mosaic-progress p{color:var(--paper-soft);font-size:.92rem}.case-mosaic-progress strong{color:var(--paper)}.route-tile-panel{width:min(90vw,1500px);gap:10px}.route-tile-panel.has-final-background{background:linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 62%,transparent),color-mix(in oklch,black 18%,transparent)),var(--route-tile-bg-image) center / cover no-repeat,color-mix(in oklch,var(--ink-deep) 92%,black)}.route-tile-body{display:grid;grid-template-columns:minmax(0,180px) minmax(360px,1fr) minmax(0,220px);gap:14px;align-items:stretch;min-height:0}.route-tile-story,.route-tile-payoff{display:grid;align-content:center;gap:8px;min-height:0;padding:12px;border:1px solid color-mix(in oklch,var(--gold) 28%,transparent);border-radius:6px;background:color-mix(in oklch,var(--ink) 76%,black);color:var(--paper-soft);font-size:.82rem;line-height:1.2}.route-tile-story span{display:block;padding:8px;border-radius:4px;background:color-mix(in oklch,var(--paper) 7%,transparent)}.route-tile-board{display:grid;grid-template-columns:repeat(var(--route-columns),minmax(0,1fr));grid-template-rows:repeat(var(--route-rows),minmax(0,1fr));gap:9px;min-height:0;padding:12px;border:1px solid color-mix(in oklch,var(--gold) 55%,transparent);border-radius:7px;background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 12%,transparent),transparent 54%),color-mix(in oklch,var(--ink-deep) 82%,black);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent)}.route-tile-board.is-connected{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 38%,transparent),0 0 30px color-mix(in oklch,var(--gold) 20%,transparent)}.route-tile{position:relative;min-height:110px;display:grid;place-items:center;gap:3px;padding:8px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 8%,transparent),transparent 46%),color-mix(in oklch,var(--ink) 84%,black);color:var(--paper);cursor:pointer;touch-action:manipulation}.route-tile:not(.is-locked):hover{border-color:color-mix(in oklch,var(--gold) 62%,transparent);transform:translateY(-1px)}.route-tile.is-connected{border-color:var(--gold);box-shadow:inset 0 0 18px color-mix(in oklch,var(--gold) 18%,transparent),0 0 18px color-mix(in oklch,var(--gold) 13%,transparent)}.route-tile.is-locked{cursor:default;color:var(--gold)}.route-tile-art{position:relative;width:min(100%,118px);aspect-ratio:1;display:block}.route-tile-art svg{position:relative;z-index:2;width:100%;height:100%;overflow:visible}.route-tile-shell-image,.route-tile-marker-image{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none}.route-tile-shell-image{top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover}.route-tile-marker-image{top:18%;right:18%;bottom:18%;left:18%;z-index:1;width:64%;height:64%;object-fit:contain;opacity:.58;mix-blend-mode:multiply;filter:saturate(.95) contrast(1.08)}.route-tile-art line{stroke:color-mix(in oklch,var(--gold) 68%,var(--paper));stroke-width:12;stroke-linecap:round;filter:drop-shadow(0 0 5px color-mix(in oklch,var(--gold) 22%,transparent))}.route-tile-art circle{fill:color-mix(in oklch,var(--rose) 74%,var(--gold));stroke:color-mix(in oklch,var(--paper) 62%,transparent);stroke-width:3}.route-tile.is-connected .route-tile-art line,.route-tile.is-connected .route-tile-art circle{filter:drop-shadow(0 0 8px color-mix(in oklch,var(--gold) 55%,transparent))}.route-tile-label{font-size:.76rem;font-weight:800;line-height:1.1;text-align:center}.route-tile-payoff{opacity:.72;transform:scale(.98);transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease}.route-tile-payoff.is-visible{opacity:1;transform:scale(1);border-color:color-mix(in oklch,var(--gold) 62%,transparent);box-shadow:0 0 22px color-mix(in oklch,var(--gold) 16%,transparent)}.route-tile-keyhole-light{color:var(--gold);font-weight:900;text-transform:uppercase;font-size:.68rem}.route-tile-progress{justify-content:center}.document-order-panel{gap:10px}.deposition-order-panel.has-final-background{background:linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 68%,transparent),color-mix(in oklch,black 20%,transparent)),var(--deposition-bg-image) center / cover no-repeat,color-mix(in oklch,var(--ink-deep) 92%,black)}.document-order-heading{display:grid;gap:4px;text-align:center}.document-order-play-area{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,1fr);gap:14px;min-height:0;align-items:stretch}.document-tray,.document-file{min-height:0;display:grid;gap:10px;padding:14px;overflow:hidden;border-radius:7px}.document-tray{grid-template-rows:auto auto minmax(0,1fr)}.document-file{position:relative}.deposition-note-paper-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}.deposition-note.has-final-paper>:not(.deposition-note-paper-image){position:relative;z-index:1}.document-tray h2,.document-file-title{margin:0;color:var(--gold);font-size:.92rem;line-height:1.15}.document-tray p{margin:0;color:var(--paper-soft);font-size:.82rem;line-height:1.22}.document-tray .document-card-list{min-height:0;overflow:hidden}.document-card{width:100%;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:4px;border-radius:6px;color:var(--paper);cursor:pointer;touch-action:none}.document-card strong{color:var(--gold);font-size:.88rem;line-height:1.08}.document-card span{min-width:0;color:var(--paper-soft);font-size:.78rem;line-height:1.18}.deposition-strip{position:relative;overflow:hidden}.deposition-strip.has-final-shell{isolation:isolate;align-content:center;gap:4px;min-height:62px;padding:11px 14px;border:1px solid color-mix(in oklch,var(--gold) 46%,var(--ink-deep));border-radius:7px;background:radial-gradient(circle at 12% 18%,color-mix(in oklch,var(--paper) 26%,transparent),transparent 36%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 82%,white),color-mix(in oklch,var(--paper-soft) 80%,var(--gold))),color-mix(in oklch,var(--paper) 76%,var(--gold));box-shadow:inset 0 0 0 1px color-mix(in oklch,white 34%,transparent),inset 0 -12px 20px color-mix(in oklch,var(--gold) 10%,transparent),0 10px 20px color-mix(in oklch,black 16%,transparent);cursor:grab;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.deposition-strip.has-final-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:linear-gradient(90deg,color-mix(in oklch,var(--color-burgundy) 7%,transparent),transparent 24%,transparent 76%,color-mix(in oklch,var(--color-burgundy) 6%,transparent)),repeating-linear-gradient(0deg,color-mix(in oklch,var(--ink-deep) 3%,transparent) 0 1px,transparent 1px 8px);opacity:.68;pointer-events:none}.deposition-strip.has-final-shell:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;z-index:1;border:1px solid color-mix(in oklch,var(--gold) 42%,var(--ink-deep));border-radius:5px;box-shadow:inset 0 0 10px color-mix(in oklch,var(--ink-deep) 10%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 34%,transparent);pointer-events:none}.document-slot{min-width:0;min-height:70px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:8px;border:1px dashed color-mix(in oklch,var(--gold) 38%,transparent);border-radius:6px;background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent 48%),color-mix(in oklch,var(--ink-deep) 64%,var(--ink));color:var(--paper);font:inherit;text-align:left;cursor:pointer;overflow:hidden}.document-slot.is-correct{border-style:solid;border-color:var(--gold);box-shadow:inset 0 0 16px color-mix(in oklch,var(--gold) 14%,transparent),0 0 12px color-mix(in oklch,var(--gold) 10%,transparent)}.document-slot.is-drop-available{border-color:color-mix(in oklch,var(--gold) 68%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 28%,transparent),0 0 18px color-mix(in oklch,var(--gold) 12%,transparent)}.document-slot.is-drop-hover{border-color:var(--gold);background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 22%,transparent),transparent 58%),linear-gradient(135deg,color-mix(in oklch,var(--gold) 14%,transparent),transparent 48%),color-mix(in oklch,var(--paper) 34%,transparent);box-shadow:inset 0 0 20px color-mix(in oklch,var(--gold) 20%,transparent),0 0 24px color-mix(in oklch,var(--gold) 20%,transparent)}.document-slot-label,.document-empty-slot{color:color-mix(in oklch,var(--gold) 76%,var(--paper-soft));font-size:.66rem;font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase}.document-empty-slot{display:grid;place-items:center;min-height:38px;border:1px dashed color-mix(in oklch,var(--paper) 18%,transparent);border-radius:5px;color:var(--paper-soft);letter-spacing:0;text-transform:none}.deposition-note{grid-template-rows:auto repeat(4,minmax(0,1fr)) auto;background:linear-gradient(0deg,color-mix(in oklch,var(--gold) 10%,transparent) 0 1px,transparent 1px 36px),linear-gradient(135deg,color-mix(in oklch,var(--color-soft-ivory) 90%,var(--paper)),color-mix(in oklch,var(--paper-soft) 88%,var(--gold)))}.deposition-note .document-file-title,.deposition-note .document-slot-label,.deposition-note .document-empty-slot,.deposition-note .document-card strong,.deposition-note .document-card span{color:color-mix(in oklch,var(--ink-deep) 84%,var(--color-warm-ink))}.deposition-note .document-slot{background:color-mix(in oklch,white 42%,transparent);border-color:color-mix(in oklch,var(--ink-deep) 28%,transparent)}.deposition-note.has-final-paper .document-slot{align-items:center;min-height:60px;padding:6px 8px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 8%,transparent),transparent 18%),color-mix(in oklch,white 10%,transparent);border-color:color-mix(in oklch,var(--ink-deep) 18%,transparent);border-radius:3px}.deposition-note .document-slot.is-correct,.deposition-note.has-final-paper .document-slot.is-correct{border-style:solid;border-color:color-mix(in oklch,var(--gold) 82%,var(--color-gold-bright));background:radial-gradient(ellipse at 95% 18%,color-mix(in oklch,var(--color-gold-bright) 24%,transparent),transparent 42%),linear-gradient(90deg,color-mix(in oklch,var(--gold) 18%,transparent),transparent 36%),color-mix(in oklch,white 16%,var(--paper));box-shadow:inset 0 0 0 1px color-mix(in oklch,white 22%,transparent),inset 0 0 18px color-mix(in oklch,var(--gold) 20%,transparent),0 0 18px color-mix(in oklch,var(--color-gold-bright) 18%,transparent)}.deposition-note .document-slot.is-incorrect,.deposition-note.has-final-paper .document-slot.is-incorrect{border-style:solid;border-color:color-mix(in oklch,var(--color-error-burgundy) 62%,var(--gold));background:radial-gradient(ellipse at 95% 18%,color-mix(in oklch,var(--rose) 16%,transparent),transparent 44%),linear-gradient(90deg,color-mix(in oklch,var(--color-error-burgundy) 14%,transparent),transparent 36%),color-mix(in oklch,white 10%,var(--paper));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 15%,transparent),inset 0 0 16px color-mix(in oklch,var(--color-error-burgundy) 15%,transparent),0 0 14px color-mix(in oklch,var(--color-error-burgundy) 14%,transparent)}.deposition-note .document-card{position:relative;overflow:hidden;border-color:color-mix(in oklch,var(--ink-deep) 22%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 18%,transparent),transparent 32%),color-mix(in oklch,var(--paper) 82%,white)}.deposition-note .deposition-strip.has-final-shell{min-height:46px;padding:7px 12px;border-color:color-mix(in oklch,var(--ink-deep) 20%,var(--gold));background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 84%,white),color-mix(in oklch,var(--paper-soft) 82%,var(--gold))),color-mix(in oklch,var(--paper) 74%,var(--gold));box-shadow:inset 0 0 0 1px color-mix(in oklch,white 30%,transparent),inset 0 -8px 14px color-mix(in oklch,var(--gold) 8%,transparent),0 2px 8px color-mix(in oklch,var(--ink-deep) 12%,transparent);animation:deposition-strip-snap .15s ease-out}.deposition-strip-shell-image{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.deposition-strip.has-final-shell>strong,.deposition-strip.has-final-shell>span{position:relative;z-index:3;min-width:0;overflow:hidden;text-shadow:0 1px 1px color-mix(in oklch,var(--paper) 42%,transparent)}.document-card.deposition-strip.has-final-shell>strong{color:color-mix(in oklch,var(--ink-deep) 90%,var(--color-warm-ink));font-size:.92rem;line-height:1.08;white-space:nowrap;text-overflow:ellipsis}.document-card.deposition-strip.has-final-shell>span{color:color-mix(in oklch,var(--ink-deep) 82%,var(--color-warm-ink));display:-webkit-box;font-size:.76rem;line-height:1.18;-webkit-box-orient:vertical;-webkit-line-clamp:2}.document-card.deposition-strip.has-final-shell:hover{border-color:color-mix(in oklch,var(--gold) 76%,var(--ink-deep));background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 15%,transparent),transparent 36%),color-mix(in oklch,var(--paper) 62%,var(--gold));transform:translateY(-1px);box-shadow:inset 0 0 16px color-mix(in oklch,var(--ink-deep) 12%,transparent),0 12px 24px color-mix(in oklch,black 20%,transparent),0 0 0 2px color-mix(in oklch,var(--gold) 14%,transparent)}.document-card.deposition-strip.has-final-shell.is-selected{border-color:color-mix(in oklch,var(--gold) 88%,white);outline:2px solid var(--gold);outline-offset:1px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 18%,transparent),transparent 38%),color-mix(in oklch,var(--paper) 64%,var(--gold));transform:translateY(-2px) scale(1.015);box-shadow:0 0 0 3px color-mix(in oklch,var(--gold) 24%,transparent),0 12px 28px color-mix(in oklch,black 22%,transparent),0 0 24px color-mix(in oklch,var(--gold) 28%,transparent)}.document-card.deposition-strip.has-final-shell.is-placement-correct{border-color:color-mix(in oklch,var(--gold) 82%,var(--ink-deep));box-shadow:inset 0 0 0 1px color-mix(in oklch,white 34%,transparent),inset 0 -8px 14px color-mix(in oklch,var(--gold) 12%,transparent),0 0 14px color-mix(in oklch,var(--color-gold-bright) 18%,transparent)}.document-card.deposition-strip.has-final-shell.is-placement-incorrect{border-color:color-mix(in oklch,var(--color-error-burgundy) 62%,var(--ink-deep));background:linear-gradient(90deg,color-mix(in oklch,var(--color-error-burgundy) 9%,transparent),transparent 36%),color-mix(in oklch,var(--paper) 76%,white);box-shadow:inset 0 0 0 1px color-mix(in oklch,white 22%,transparent),inset 0 -8px 14px color-mix(in oklch,var(--color-error-burgundy) 8%,transparent),0 0 12px color-mix(in oklch,var(--color-error-burgundy) 12%,transparent)}.document-card.deposition-strip.has-final-shell.is-drag-source{opacity:.72;cursor:grabbing;transform:translateY(-1px) scale(.99);box-shadow:0 0 0 2px color-mix(in oklch,var(--gold) 18%,transparent),0 8px 20px color-mix(in oklch,black 20%,transparent)}.puzzle-drag-ghost.deposition-strip.has-final-shell,.puzzle-drag-ghost.deposition-strip.has-final-shell.is-drag-source{z-index:10000;width:min(340px,34vw);opacity:.94;transform:translate(-50%,-50%) scale(1.045) rotate(-.5deg);box-shadow:0 18px 34px color-mix(in oklch,black 42%,transparent),0 0 0 3px color-mix(in oklch,var(--gold) 28%,transparent),0 0 28px color-mix(in oklch,var(--gold) 22%,transparent)}@keyframes deposition-strip-snap{0%{transform:translateY(-3px) scale(1.01)}to{transform:translateY(0) scale(1)}}.document-archive-code,.case-file-correction{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-height:38px;padding:7px 10px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);border-radius:999px;background:color-mix(in oklch,var(--ink-deep) 76%,black);opacity:.52}.document-archive-code.is-visible,.case-file-correction.is-visible{opacity:1;border-color:color-mix(in oklch,var(--gold) 76%,transparent);box-shadow:0 0 20px color-mix(in oklch,var(--gold) 16%,transparent)}.document-archive-code span,.case-file-correction span{color:var(--paper-soft);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.document-archive-code strong,.case-file-correction strong{color:var(--gold);font-size:1rem}.case-file-board{grid-template-rows:auto minmax(0,1fr) auto auto;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 12%,transparent),transparent 24%),color-mix(in oklch,var(--ink-deep) 72%,black)}.case-file-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:0}.case-file-slot{min-height:150px}.case-file-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px}.case-file-card .case-file-symbol{grid-row:1 / span 2;width:30px;height:30px;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:50%;color:var(--gold);font-size:.72rem;font-weight:900}.case-file-silver-key{justify-self:center;min-height:42px;display:inline-grid;grid-template-columns:32px auto;align-items:center;gap:8px;padding:0 14px;border:1px solid color-mix(in oklch,var(--gold) 74%,transparent);border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 20%,transparent),transparent 62%),color-mix(in oklch,var(--ink) 86%,black);color:var(--paper);font:900 .86rem/1 Georgia,Palatino Linotype,Times New Roman,serif;cursor:pointer;box-shadow:0 0 20px color-mix(in oklch,var(--gold) 18%,transparent)}.case-file-silver-key span{position:relative;width:32px;height:20px}.case-file-silver-key span:before,.case-file-silver-key span:after{content:"";position:absolute}.case-file-silver-key span:before{left:0;top:4px;width:12px;height:12px;border:3px solid var(--gold);border-radius:50%}.case-file-silver-key span:after{left:13px;top:9px;width:18px;height:3px;background:var(--gold);box-shadow:6px 4px 0 -1px var(--gold)}.case-file-silver-key.is-taken{background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 28%,transparent),transparent 62%),color-mix(in oklch,var(--color-burgundy) 52%,var(--ink))}.document-order-progress strong{color:var(--gold)}.case-timeline-panel{width:min(90vw,1500px);gap:10px}.case-timeline-heading{display:grid;gap:4px;text-align:center}.case-timeline-subtitle{color:var(--gold);font-size:1rem;line-height:1.25}.case-timeline-board{position:relative;min-height:0;padding:16px 18px 18px;border:1px solid color-mix(in oklch,var(--gold) 52%,transparent);border-radius:7px;background:radial-gradient(circle at 78% 18%,color-mix(in oklch,var(--rose) 16%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent 48%),color-mix(in oklch,var(--ink-deep) 82%,black);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent)}.case-timeline-board.is-solved{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 46%,transparent),0 0 32px color-mix(in oklch,var(--gold) 23%,transparent)}.case-timeline-stamp{position:absolute;right:20px;top:12px;z-index:4;padding:6px 10px;border:1px solid color-mix(in oklch,var(--gold) 58%,transparent);border-radius:4px;color:var(--gold);background:color-mix(in oklch,var(--ink-deep) 84%,transparent);font-size:.64rem;letter-spacing:.08em;opacity:0;transform:rotate(-6deg) scale(.92);transition:opacity .18s ease,transform .18s ease}.case-timeline-board.is-solved .case-timeline-stamp{opacity:.96;transform:rotate(-6deg) scale(1)}.case-timeline-rail{display:grid;grid-template-columns:minmax(122px,1fr) minmax(34px,.28fr) minmax(122px,1fr) minmax(34px,.28fr) minmax(122px,1fr) minmax(34px,.28fr) minmax(122px,1fr);align-items:center;gap:8px;min-height:178px;padding-top:14px}.case-timeline-stop-wrap{min-width:0}.case-timeline-segment{position:relative;display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 40%,transparent),color-mix(in oklch,var(--paper) 14%,transparent)),color-mix(in oklch,var(--gold) 22%,var(--ink));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 22%,transparent)}.case-timeline-segment:before,.case-timeline-segment:after{content:"";position:absolute;top:-7px;width:2px;height:22px;border-radius:999px;background:color-mix(in oklch,var(--gold) 34%,transparent)}.case-timeline-segment:before{left:24%}.case-timeline-segment:after{right:24%}.case-timeline-segment.is-lit{background:linear-gradient(90deg,var(--gold),color-mix(in oklch,var(--rose) 24%,var(--gold)));box-shadow:0 0 18px color-mix(in oklch,var(--gold) 42%,transparent)}.case-timeline-slot{width:100%;min-height:148px;display:grid;grid-template-rows:auto 1fr;gap:7px;padding:9px;border:1px dashed color-mix(in oklch,var(--paper) 26%,transparent);border-radius:7px;background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 9%,transparent),transparent 48%),color-mix(in oklch,var(--ink) 76%,black);color:var(--paper);cursor:pointer;text-align:left}.case-timeline-slot.is-filled{border-style:solid;border-color:color-mix(in oklch,var(--paper) 38%,transparent)}.case-timeline-slot.is-correct{border-style:solid;border-color:var(--gold);box-shadow:inset 0 0 18px color-mix(in oklch,var(--gold) 16%,transparent)}.case-timeline-stop-label{justify-self:center;padding:3px 8px;border:1px solid color-mix(in oklch,var(--gold) 42%,transparent);border-radius:999px;color:var(--gold);background:color-mix(in oklch,var(--ink-deep) 62%,transparent);font-size:.72rem;line-height:1}.case-timeline-empty{display:grid;place-items:center;min-height:90px;color:color-mix(in oklch,var(--paper-soft) 62%,transparent);font-size:.76rem;text-align:center}.case-timeline-tray{display:grid;gap:8px;grid-template-rows:auto minmax(0,1fr);min-height:0;padding:12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 6%,var(--ink))}.case-timeline-tray-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.case-timeline-tray-header h2{margin:0;color:var(--gold);font-size:1rem}.case-timeline-tray-header p{color:var(--paper-soft);font-size:.88rem;text-align:right}.case-timeline-task-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-content:start;min-height:0;overflow:hidden;border:1px solid transparent;border-radius:6px;padding:2px}.case-timeline-task,.case-timeline-placed-task{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center}.case-timeline-task{min-height:78px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;padding:8px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);cursor:pointer;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none}.case-timeline-task.is-selected,.case-timeline-placed-task.is-selected{outline:2px solid var(--rose);outline-offset:-2px;box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 34%,transparent)}.case-timeline-placed-task{min-height:90px;padding:6px;border-radius:5px;background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 12%,transparent),transparent 48%),color-mix(in oklch,var(--paper) 9%,var(--ink))}.case-timeline-task-copy{display:grid;gap:3px;min-width:0}.case-timeline-task-copy strong{color:var(--paper);font-size:.84rem;line-height:1.05}.case-timeline-task-copy span{color:var(--paper-soft);font-size:.68rem;line-height:1.12}.case-timeline-task-icon{position:relative;display:block;width:34px;height:40px;border:1px solid color-mix(in oklch,var(--gold) 58%,#6b5431);border-radius:4px;background:var(--paper);overflow:hidden;box-shadow:0 3px color-mix(in oklch,var(--gold) 24%,transparent)}.case-timeline-task-icon:before,.case-timeline-task-icon:after,.case-timeline-icon-mark{content:"";position:absolute;pointer-events:none}.case-timeline-task-icon:before{left:6px;right:6px;top:9px;height:2px;background:color-mix(in oklch,var(--gold) 70%,#6b5431);box-shadow:0 7px color-mix(in oklch,var(--gold) 44%,#6b5431)}.case-timeline-task-icon-case-file:after{right:-1px;top:-1px;width:13px;height:13px;background:color-mix(in oklch,var(--gold) 72%,#6b5431);clip-path:polygon(0 0,100% 0,100% 100%)}.case-timeline-task-icon-evidence .case-timeline-icon-mark{left:8px;bottom:7px;width:18px;height:10px;border:2px solid color-mix(in oklch,var(--rose) 78%,#7b2630);border-top:0}.case-timeline-task-icon-note:after{left:7px;bottom:6px;width:20px;height:7px;border-radius:999px;background:color-mix(in oklch,var(--gold) 62%,#6b5431)}.case-timeline-task-icon-stamp .case-timeline-icon-mark{left:8px;bottom:6px;width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in oklch,var(--rose) 80%,#7b2630)}.case-timeline-progress{display:flex;justify-content:center;gap:18px;padding:8px 12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 6%,var(--ink))}.case-timeline-progress p{color:var(--paper-soft);font-size:.92rem}.case-timeline-progress strong{color:var(--paper)}.rebuild-panel,.witness-lens-panel,.archive-detail-panel,.echo-path-panel{width:min(90vw,1500px);gap:10px}.echo-path-panel{grid-template-rows:auto minmax(0,1fr) auto auto}.rebuild-heading,.witness-lens-heading,.archive-detail-heading,.echo-path-heading{display:grid;gap:4px;text-align:center}.rebuild-subtitle,.witness-lens-subtitle,.archive-detail-subtitle,.echo-path-subtitle{color:var(--gold);font-size:1rem;line-height:1.25}.rebuild-play-area{display:grid;grid-template-columns:minmax(330px,1.25fr) minmax(220px,.75fr);gap:12px;align-items:stretch;min-height:0}.rebuild-frame{position:relative;min-height:238px;height:100%;padding:14px;border:1px solid color-mix(in oklch,var(--gold) 45%,transparent);border-radius:6px;background:linear-gradient(90deg,color-mix(in oklch,#b66345 16%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,#b66345 16%,transparent) 1px,transparent 1px),color-mix(in oklch,var(--paper) 7%,var(--ink));background-size:34px 34px;overflow:hidden}.rebuild-frame.is-solved{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 44%,transparent),0 0 28px color-mix(in oklch,var(--gold) 18%,transparent)}.rebuild-stamp{position:absolute;right:18px;top:12px;z-index:3;padding:5px 9px;border:1px solid color-mix(in oklch,var(--gold) 58%,transparent);border-radius:4px;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.08em;opacity:0;transform:rotate(-6deg) scale(.9);transition:opacity .15s ease,transform .15s ease}.rebuild-frame.is-solved .rebuild-stamp{opacity:.95;transform:rotate(-6deg) scale(1)}.rebuild-board{position:relative;z-index:2;display:grid;min-height:210px;height:100%;gap:4px;border:2px solid color-mix(in oklch,var(--gold) 64%,#6b5431);border-radius:6px;padding:5px;background:color-mix(in oklch,var(--ink) 78%,black)}.rebuild-slot{position:relative;min-height:96px;border:1px dashed color-mix(in oklch,var(--paper) 28%,transparent);border-radius:4px;background:color-mix(in oklch,var(--ink) 84%,black);color:var(--paper);cursor:pointer;overflow:hidden}.rebuild-slot.is-drop-available,.rebuild-piece-list.is-drop-available,.witness-statement.is-drop-available,.archive-detail-zone.is-drop-available,.echo-question-slot.is-drop-available,.echo-door.is-drop-available{border-color:color-mix(in oklch,var(--gold) 66%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 24%,transparent)}.rebuild-slot.is-drop-hover,.rebuild-piece-list.is-drop-hover,.witness-statement.is-drop-hover,.archive-detail-zone.is-drop-hover,.echo-question-slot.is-drop-hover,.echo-door.is-drop-hover{border-color:var(--rose);background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--rose) 18%,transparent),transparent 56%),color-mix(in oklch,var(--ink) 78%,black)}.rebuild-slot.is-filled{border-style:solid;border-color:color-mix(in oklch,var(--paper) 38%,transparent)}.rebuild-slot.is-correct{border-style:solid;border-color:var(--gold);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 44%,transparent)}.rebuild-empty{display:grid;place-items:center;min-height:100%;color:color-mix(in oklch,var(--paper-soft) 72%,transparent);font-size:.72rem}.rebuild-placed-piece,.rebuild-piece{display:grid;gap:5px;touch-action:none;-webkit-user-select:none;user-select:none}.rebuild-placed-piece{position:relative;height:100%}.rebuild-piece{min-height:82px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;padding:6px;background:color-mix(in oklch,var(--ink) 82%,black);color:var(--paper);cursor:grab;text-align:center}.rebuild-piece.is-selected,.rebuild-placed-piece.is-selected,.witness-tool.is-selected,.archive-tool.is-selected,.echo-question-tile.is-selected,.echo-placed-question.is-selected,.echo-key-token.is-selected{outline:2px solid var(--rose);outline-offset:-2px}.rebuild-piece.is-drag-source,.rebuild-placed-piece.is-drag-source,.witness-tool.is-drag-source,.archive-tool.is-drag-source,.echo-question-tile.is-drag-source,.echo-placed-question.is-drag-source,.echo-key-token.is-drag-source{opacity:.38;transform:scale(.98)}.puzzle-drag-ghost.rebuild-placed-piece,.puzzle-drag-ghost .rebuild-placed-piece{min-height:86px}.rebuild-piece-art{position:relative;display:block;min-height:58px;border-radius:4px;overflow:hidden;background:linear-gradient(90deg,color-mix(in oklch,#8c3f2f 72%,var(--ink)) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,#8c3f2f 72%,var(--ink)) 1px,transparent 1px),#b66345;background-size:22px 18px;transform:rotate(var(--piece-rotation));transition:transform .14s ease}.rebuild-piece-art.in-slot{width:100%;height:100%;min-height:88px}.rebuild-piece-label{position:relative;z-index:2;color:var(--paper);font-size:.72rem;font-weight:700}.rebuild-placed-piece .rebuild-piece-label{position:absolute;left:6px;bottom:5px;padding:2px 5px;border-radius:3px;background:color-mix(in oklch,var(--ink) 68%,transparent);font-size:.62rem}.rebuild-piece-art:before,.rebuild-piece-art:after,.rebuild-piece-mark{content:"";position:absolute}.rebuild-piece-art-brick-top-left:before{inset:18% 18% auto 12%;height:26%;border-top:4px solid color-mix(in oklch,var(--gold) 64%,#7a4d2c);border-left:4px solid color-mix(in oklch,var(--gold) 64%,#7a4d2c)}.rebuild-piece-art-brick-arch:before{left:24%;right:24%;bottom:0;height:72%;border:5px solid color-mix(in oklch,var(--gold) 56%,#6b5431);border-bottom:0;border-radius:40px 40px 0 0}.rebuild-piece-art-brick-top-right:before{inset:18% 12% auto 18%;height:26%;border-top:4px solid color-mix(in oklch,var(--gold) 64%,#7a4d2c);border-right:4px solid color-mix(in oklch,var(--gold) 64%,#7a4d2c)}.rebuild-piece-art-brick-path-left:after,.rebuild-piece-art-brick-path-right:after{left:-4%;right:-4%;bottom:18%;height:18%;background:color-mix(in oklch,var(--gold) 58%,#6b5431);transform:skew(-16deg)}.rebuild-piece-art-brick-lamp:before{left:47%;top:18%;bottom:14%;width:5px;background:color-mix(in oklch,var(--gold) 70%,#6b5431)}.rebuild-piece-art-brick-lamp:after{left:35%;top:12%;width:30%;aspect-ratio:1;border-radius:50%;background:color-mix(in oklch,var(--gold) 72%,var(--color-soft-ivory));box-shadow:0 0 18px color-mix(in oklch,var(--gold) 56%,transparent)}.rebuild-tray{display:grid;gap:8px;grid-template-rows:auto minmax(0,1fr);align-content:start;min-height:0}.rebuild-tray-header{display:grid;gap:3px}.rebuild-tray-header h2{margin:0;color:var(--gold);font-size:.95rem}.rebuild-tray-header p{color:var(--paper-soft);font-size:.88rem}.rebuild-piece-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;min-height:0;overflow:hidden;border:1px dashed color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;padding:8px}.rebuild-progress{display:flex;justify-content:center;gap:16px}.rebuild-progress p{color:var(--paper-soft);font-size:.92rem}.rebuild-progress strong{color:var(--paper)}.envelope-interaction-panel,.hidden-wall-panel{width:min(90vw,1320px);height:min(88dvh,820px);grid-template-rows:auto minmax(0,1fr) auto auto auto}.envelope-interaction-stage,.hidden-wall-stage{min-height:0;min-width:0;display:grid;align-items:center;gap:clamp(.75rem,2vw,1.4rem);overflow:hidden}.envelope-interaction-stage{grid-template-columns:minmax(280px,1.35fr) minmax(240px,.85fr)}.envelope-clue{position:relative;width:min(100%,620px);aspect-ratio:1.7;justify-self:center;border:1px solid rgba(246,217,154,.54);border-radius:18px;background:linear-gradient(145deg,#f6deabfa,#ba7e4eeb);box-shadow:0 24px 60px #06091480,inset 0 0 0 2px #ffffff2e;cursor:pointer;overflow:hidden;touch-action:manipulation}.envelope-clue:disabled{cursor:default}.envelope-back,.envelope-flap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.envelope-back:before,.envelope-back:after,.envelope-flap:before{content:"";position:absolute;border-style:solid}.envelope-back:before{left:0;bottom:0;border-width:0 0 13rem 23rem;border-color:transparent transparent rgba(112,64,48,.2) transparent}.envelope-back:after{right:0;bottom:0;border-width:0 23rem 13rem 0;border-color:transparent rgba(255,255,255,.14) transparent transparent}.envelope-flap:before{left:0;top:0;width:100%;height:70%;border-width:0 19rem 10rem;border-color:transparent transparent rgba(112,64,48,.22);transform-origin:top center;transition:transform .24s ease,opacity .24s ease}.envelope-clue.is-open .envelope-flap:before{opacity:.45;transform:rotateX(64deg) translateY(-16%)}.envelope-seal-touch{position:absolute;left:50%;top:52%;display:grid;width:clamp(72px,9vw,104px);height:clamp(72px,9vw,104px);place-items:center;border-radius:999px;background:radial-gradient(circle,#8d243a,#4f1120);color:#f9e6a9;font-family:Georgia,Times New Roman,serif;font-weight:800;letter-spacing:.08em;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #f9e6a929,0 14px 30px #27091359}.envelope-contents{display:grid;grid-template-columns:1fr;gap:clamp(.65rem,1.4vw,1rem);opacity:.45;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}.envelope-contents.is-visible{opacity:1;transform:translateY(0)}.clue-token{min-height:clamp(58px,9dvh,84px);display:grid;place-items:center;border:1px solid rgba(246,217,154,.48);border-radius:14px;background:#112036d6;color:#f9e6a9;font-weight:800;text-align:center;box-shadow:inset 0 0 0 1px #ffffff14,0 16px 34px #04091447;touch-action:manipulation}.tram-ticket-token{cursor:pointer}.tram-ticket-token.is-selected,.route-glow-card.is-lit{border-color:#ffde84f2;box-shadow:0 0 28px #f6c4575c,inset 0 0 0 1px #ffffff29}.route-glow-card{grid-column:1 / -1;min-height:clamp(42px,7dvh,70px);display:grid;place-items:center;border:1px solid rgba(119,170,187,.4);border-radius:999px;background:linear-gradient(90deg,#1a374c73,#f6c45733,#1a374c73);color:#eef6f9b8;font-weight:800}.route-glow-card.is-lit{color:#fff5c9;background:linear-gradient(90deg,#1d4a5c9e,#f5c34c85,#1d4a5c9e)}.hidden-wall-stage{grid-template-columns:minmax(180px,.35fr) minmax(360px,1fr)}.hidden-wall-tools{min-width:0}.hidden-wall-key,.hidden-wall-keyhole,.hidden-wall-mark{min-height:58px;border:1px solid rgba(246,217,154,.45);border-radius:14px;background:#121f33db;color:#f9e6a9;font-weight:800;cursor:pointer;touch-action:manipulation}.hidden-wall-key{width:100%;min-height:clamp(72px,12dvh,116px);background:linear-gradient(145deg,#ae7b2feb,#573619f0)}.hidden-wall-key.is-selected,.hidden-wall-keyhole.is-turned,.hidden-wall-mark.is-active{border-color:#ffde84f2;box-shadow:0 0 24px #f6c45757}.hidden-wall-surface{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(.65rem,1.4vw,1rem);padding:clamp(.75rem,1.6vw,1.1rem);border:1px solid rgba(246,217,154,.36);border-radius:18px;background:linear-gradient(135deg,#54262aa6,#192336e6),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 4px,transparent 4px 22px);overflow:hidden}.hidden-wall-surface.is-unlocked{background:radial-gradient(circle at 50% 50%,rgba(246,196,87,.18),transparent 35%),linear-gradient(135deg,#54262aad,#192336e6),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 4px,transparent 4px 22px)}.hidden-wall-keyhole{justify-self:center;width:min(100%,320px)}.hidden-wall-marks{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.55rem,1.2vw,1rem);align-content:center}.hidden-wall-mark:disabled{opacity:.58;cursor:default}.vistula-wave-mark{min-height:clamp(46px,8dvh,72px);display:grid;place-items:center;border:1px solid rgba(119,170,187,.42);border-radius:999px;background:#1233449e;color:#e1f3f9b3;font-weight:900;opacity:.62}.vistula-wave-mark.is-visible{border-color:#92d4e6e0;color:#eafcff;opacity:1;box-shadow:0 0 28px #5abedc57}@media(min-width:1000px)and (min-height:650px){.puzzle-panel{width:min(calc(100vw - 56px),1500px);height:min(calc(var(--app-height, 100dvh) - 56px),900px);gap:14px;padding:clamp(20px,2vw,30px)}.case-mosaic-panel,.case-timeline-panel,.rebuild-panel,.witness-lens-panel,.archive-detail-panel,.echo-path-panel,.tactile-panel,.final-verdict-assembly-panel{width:min(calc(100vw - 56px),1500px)}.case-mosaic-play-area{grid-template-columns:minmax(0,2.05fr) minmax(280px,.85fr);gap:18px}.case-mosaic-tray{overflow:hidden}.case-mosaic-piece-list{grid-template-rows:repeat(3,minmax(0,1fr));align-content:stretch;gap:10px}.case-mosaic-piece{min-height:0;grid-template-rows:minmax(0,1fr) auto}.case-mosaic-piece-art{min-height:0;height:100%}.case-mosaic-actions,.puzzle-actions{align-self:end}}.witness-lens-play-area{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(150px,.45fr) minmax(300px,1fr);gap:12px;align-items:stretch;min-height:0}.witness-note-card,.witness-toolbox,.witness-statement-board{border:1px solid color-mix(in oklch,var(--gold) 40%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 7%,var(--ink))}.witness-note-card{display:grid;align-content:center;gap:10px;min-height:0;padding:16px}.witness-note-label{justify-self:start;padding:4px 8px;border:1px solid color-mix(in oklch,var(--gold) 44%,transparent);border-radius:999px;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.witness-note-card p{margin:0;color:var(--paper);font-family:Georgia,serif;font-size:1rem;line-height:1.38}.witness-archive-code{justify-self:start;display:grid;grid-template-columns:auto auto;gap:8px;align-items:center;padding:7px 10px;border:1px solid color-mix(in oklch,var(--gold) 66%,transparent);border-radius:6px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 16%,transparent),transparent 62%),color-mix(in oklch,var(--ink-deep) 82%,black);box-shadow:0 0 22px color-mix(in oklch,var(--gold) 18%,transparent)}.witness-archive-code span{color:var(--paper-soft);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.witness-archive-code strong{color:var(--gold);font-size:.9rem}.witness-toolbox{display:grid;align-content:center;gap:10px;min-height:0;padding:12px}.witness-toolbox-hint{margin:0;color:var(--paper-soft);font-size:.72rem;line-height:1.25;text-align:center}.witness-tool{min-height:84px;display:grid;place-items:center;gap:5px;border:1px solid color-mix(in oklch,var(--paper) 24%,transparent);border-radius:6px;background:color-mix(in oklch,var(--ink) 82%,black);color:var(--paper);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.witness-tool-icon{position:relative;display:block;width:42px;height:42px}.witness-tool-lens .witness-tool-icon{border:3px solid color-mix(in oklch,var(--gold) 70%,var(--color-soft-ivory));border-radius:50%;background:radial-gradient(circle at 32% 28%,color-mix(in oklch,white 24%,transparent),transparent 24%),color-mix(in oklch,var(--paper) 10%,transparent);box-shadow:inset 0 0 14px color-mix(in oklch,var(--paper) 18%,transparent),0 0 18px color-mix(in oklch,var(--gold) 22%,transparent)}.witness-tool-lens .witness-tool-icon:after{content:"";position:absolute;right:-13px;bottom:-10px;width:22px;height:5px;border-radius:999px;background:var(--gold);transform:rotate(42deg)}.witness-tool-stamp .witness-tool-icon{border:2px solid var(--rose);border-radius:4px;transform:rotate(-6deg)}.witness-tool-stamp .witness-tool-icon:before{content:"!";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--rose);font-weight:900}.witness-statement-board{display:grid;gap:9px;min-height:0;padding:12px}.witness-statement{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center;min-height:82px;border:1px solid color-mix(in oklch,var(--paper) 24%,transparent);border-radius:6px;padding:10px;background:color-mix(in oklch,var(--ink) 82%,black);color:var(--paper);text-align:left;cursor:pointer}.witness-statement.is-inspected{border-color:color-mix(in oklch,var(--gold) 62%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 8%,transparent),transparent 42%),color-mix(in oklch,var(--ink) 80%,black)}.witness-statement.is-marked{border-color:var(--rose)}.witness-statement-letter{width:32px;height:32px;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--gold) 54%,transparent);border-radius:50%;color:var(--gold);font-weight:800}.witness-statement-copy{font-family:Georgia,serif;font-size:.98rem;line-height:1.22}.witness-hint{grid-column:2;color:var(--gold);font-size:.72rem;font-weight:700}.witness-hint.is-hidden{color:color-mix(in oklch,var(--paper-soft) 58%,transparent);font-weight:500}.witness-stamp-mark{position:absolute;right:10px;top:8px;padding:4px 7px;border:1px solid var(--rose);border-radius:4px;color:var(--rose);font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;transform:rotate(-5deg)}.witness-lens-play-area.is-solved .witness-statement.is-marked{box-shadow:0 0 22px color-mix(in oklch,var(--gold) 28%,transparent)}.archive-detail-play-area{display:grid;grid-template-columns:minmax(420px,1fr) minmax(190px,.36fr);gap:12px;align-items:stretch;min-height:0}.archive-page{position:relative;min-height:330px;height:100%;overflow:hidden;border:1px solid color-mix(in oklch,var(--gold) 46%,transparent);border-radius:7px;background:radial-gradient(circle at 15% 20%,color-mix(in oklch,var(--rose) 10%,transparent),transparent 24%),linear-gradient(135deg,color-mix(in oklch,var(--paper) 90%,white),color-mix(in oklch,var(--paper-soft) 78%,var(--gold)));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--ink) 12%,transparent)}.archive-page:after{content:"";position:absolute;top:16px;right:18px;bottom:16px;left:18px;border:1px solid color-mix(in oklch,var(--gold) 20%,transparent);border-radius:5px;pointer-events:none}.archive-page-title{position:absolute;left:18px;top:14px;z-index:2;padding:4px 8px;border:1px solid color-mix(in oklch,var(--gold) 52%,transparent);border-radius:999px;color:var(--ink-deep);font-size:.75rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.archive-original-line{position:absolute;left:70px;top:72px;z-index:2;max-width:min(420px,58%);padding:8px 12px;border-left:3px solid color-mix(in oklch,var(--rose) 54%,var(--ink));color:color-mix(in oklch,var(--ink-deep) 86%,black);background:color-mix(in oklch,var(--paper) 42%,transparent);font-family:Georgia,serif;font-size:1rem;font-weight:800}.archive-lines{position:absolute;top:118px;right:52px;bottom:38px;left:70px;display:grid;align-content:space-around;pointer-events:none}.archive-lines span{height:2px;border-radius:999px;background:color-mix(in oklch,var(--ink) 20%,transparent)}.archive-lines span:nth-child(2n){width:82%}.archive-detail-zone{position:absolute;z-index:3;width:min(168px,28%);min-height:68px;transform:translate(-50%,-50%);display:grid;gap:2px;padding:8px;border:1px dashed color-mix(in oklch,var(--ink) 24%,transparent);border-radius:6px;color:var(--ink);background:color-mix(in oklch,var(--paper) 34%,transparent);box-shadow:none}.archive-detail-zone:before{content:"";position:absolute;left:8px;top:8px;width:8px;height:8px;border-radius:50%;background:color-mix(in oklch,var(--rose) 58%,transparent)}.archive-detail-zone.is-discovered{border-style:solid;border-color:color-mix(in oklch,var(--gold) 68%,transparent);background:color-mix(in oklch,var(--gold) 18%,var(--paper));box-shadow:0 0 18px color-mix(in oklch,var(--gold) 20%,transparent)}.archive-detail-zone.is-marked{border-color:var(--rose)}.archive-detail-label,.archive-detail-meaning,.archive-detail-note{display:block;text-align:left}.archive-detail-label{color:var(--ink-deep);font-family:Georgia,serif;font-size:.82rem;font-weight:800}.archive-detail-meaning{color:color-mix(in oklch,var(--rose) 70%,var(--ink));font-size:.72rem;font-weight:900;text-transform:uppercase}.archive-detail-note{color:color-mix(in oklch,var(--ink) 74%,transparent);font-size:.68rem;line-height:1.12}.archive-bookmark-mark{position:absolute;right:-8px;top:-8px;padding:3px 7px;border-radius:3px;background:var(--rose);color:#fff;font-size:.62rem;font-weight:900;transform:rotate(5deg)}.archive-correction-reveal{position:absolute;left:22px;bottom:20px;z-index:5;display:grid;gap:2px;min-width:150px;padding:8px 12px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);border-radius:6px;color:color-mix(in oklch,var(--ink) 72%,transparent);background:color-mix(in oklch,var(--paper) 48%,transparent);opacity:.78}.archive-correction-reveal span{font-size:.64rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.archive-correction-reveal strong{color:var(--ink-deep);font-family:Georgia,serif;font-size:1.18rem}.archive-correction-reveal.is-visible{border-color:color-mix(in oklch,var(--gold) 70%,transparent);background:color-mix(in oklch,var(--gold) 20%,var(--paper));opacity:1;box-shadow:0 0 22px color-mix(in oklch,var(--gold) 24%,transparent)}.archive-silver-key{position:absolute;right:24px;bottom:72px;z-index:6;display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid color-mix(in oklch,var(--gold) 72%,var(--paper));border-radius:999px;color:var(--ink-deep);background:linear-gradient(135deg,color-mix(in oklch,white 42%,transparent),transparent 48%),color-mix(in oklch,var(--gold) 28%,var(--paper));font-weight:900;box-shadow:0 0 20px color-mix(in oklch,var(--gold) 26%,transparent),inset 0 0 12px color-mix(in oklch,white 28%,transparent)}.archive-silver-key span{position:relative;width:34px;height:10px;border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,white 60%,var(--gold)),var(--gold))}.archive-silver-key span:before,.archive-silver-key span:after{content:"";position:absolute;border:2px solid var(--gold)}.archive-silver-key span:before{left:-12px;top:-7px;width:18px;height:18px;border-radius:50%;background:color-mix(in oklch,var(--paper) 28%,transparent)}.archive-silver-key span:after{right:3px;bottom:-8px;width:8px;height:8px;border-left:0;border-top:0}.archive-silver-key.is-taken{opacity:.78;transform:translateY(1px)}.archive-magnifier-position{position:absolute;z-index:4;width:74px;height:74px;transform:translate(-50%,-50%);border:3px solid color-mix(in oklch,var(--gold) 72%,white);border-radius:50%;box-shadow:inset 0 0 20px color-mix(in oklch,var(--gold) 20%,transparent),0 0 18px color-mix(in oklch,var(--gold) 22%,transparent);pointer-events:none}.archive-magnifier-position:after{content:"";position:absolute;right:-16px;bottom:-10px;width:28px;height:6px;border-radius:999px;background:color-mix(in oklch,var(--gold) 78%,var(--color-soft-ivory));transform:rotate(42deg)}.archive-stamp{position:absolute;right:18px;bottom:16px;z-index:5;padding:6px 10px;border:2px solid var(--rose);border-radius:4px;color:var(--rose);font-size:.78rem;font-weight:900;opacity:0;transform:rotate(-6deg) scale(.9);transition:opacity .18s ease,transform .18s ease}.archive-detail-play-area.is-solved .archive-stamp{opacity:.95;transform:rotate(-6deg) scale(1)}.archive-toolbox{display:grid;align-content:start;gap:10px;min-height:0;padding:12px;border:1px solid color-mix(in oklch,var(--gold) 38%,transparent);border-radius:7px;background:color-mix(in oklch,var(--paper) 7%,var(--ink))}.archive-tool{min-height:84px;display:grid;place-items:center;gap:5px;padding:8px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;background:color-mix(in oklch,var(--ink) 84%,black);color:var(--paper);touch-action:none;-webkit-user-select:none;user-select:none}.archive-tool-icon{position:relative;width:40px;height:40px}.archive-tool-magnifier .archive-tool-icon{border:3px solid var(--gold);border-radius:50%}.archive-tool-magnifier .archive-tool-icon:after{content:"";position:absolute;right:-12px;bottom:-9px;width:24px;height:6px;border-radius:999px;background:var(--gold);transform:rotate(42deg)}.archive-tool-bookmark .archive-tool-icon{background:linear-gradient(180deg,var(--rose),color-mix(in oklch,var(--rose) 72%,black));clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}.archive-progress{display:grid;gap:5px;color:var(--paper-soft);font-size:.88rem}.archive-progress strong{color:var(--paper)}.document-order-play-area{display:grid;grid-template-columns:minmax(250px,.42fr) minmax(420px,1fr);gap:12px;align-items:stretch;min-height:0;overflow:hidden}.document-tray,.document-file{min-width:0;min-height:0;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:7px;background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent 48%),color-mix(in oklch,var(--ink) 84%,black);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 5%,transparent),0 10px 24px color-mix(in oklch,black 16%,transparent)}.document-tray{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;padding:12px;overflow:hidden}.document-tray h2,.document-tray p{margin:0}.document-tray h2{color:var(--paper);font-family:Georgia,serif;font-size:1rem}.document-tray p{color:var(--paper-soft);font-size:.8rem}.document-card-list{display:grid;gap:8px;align-content:start;min-height:0;overflow:hidden}.document-file{position:relative;display:grid;align-content:start;gap:8px;padding:16px;overflow:hidden;background:radial-gradient(circle at 12% 18%,color-mix(in oklch,var(--rose) 8%,transparent),transparent 24%),linear-gradient(135deg,color-mix(in oklch,var(--paper) 92%,white),color-mix(in oklch,var(--paper-soft) 78%,var(--gold)))}.document-file:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:1px solid color-mix(in oklch,var(--gold) 22%,transparent);border-radius:5px;pointer-events:none}.document-file-title{position:relative;z-index:2;justify-self:start;padding:4px 8px;border:1px solid color-mix(in oklch,var(--gold) 52%,transparent);border-radius:999px;color:var(--ink-deep);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.document-slot{position:relative;z-index:2;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:stretch;padding:7px;border:1px dashed color-mix(in oklch,var(--ink) 32%,transparent);border-radius:6px;color:var(--ink);background:color-mix(in oklch,var(--paper) 42%,transparent)}.document-slot.is-correct{border-style:solid;border-color:color-mix(in oklch,var(--gold) 72%,transparent);background:color-mix(in oklch,var(--gold) 18%,var(--paper));box-shadow:0 0 16px color-mix(in oklch,var(--gold) 18%,transparent)}.document-slot.is-incorrect{border-style:solid;border-color:color-mix(in oklch,var(--color-error-burgundy) 58%,var(--gold));background:color-mix(in oklch,var(--color-error-burgundy) 10%,var(--paper));box-shadow:0 0 14px color-mix(in oklch,var(--color-error-burgundy) 12%,transparent)}.deposition-note .document-slot.is-correct,.deposition-note.has-final-paper .document-slot.is-correct{border-color:color-mix(in oklch,var(--gold) 82%,var(--color-gold-bright));background:radial-gradient(ellipse at 95% 18%,color-mix(in oklch,var(--color-gold-bright) 24%,transparent),transparent 42%),linear-gradient(90deg,color-mix(in oklch,var(--gold) 18%,transparent),transparent 36%),color-mix(in oklch,white 16%,var(--paper));box-shadow:inset 0 0 0 1px color-mix(in oklch,white 22%,transparent),inset 0 0 18px color-mix(in oklch,var(--gold) 20%,transparent),0 0 18px color-mix(in oklch,var(--color-gold-bright) 18%,transparent)}.deposition-note .document-slot.is-incorrect,.deposition-note.has-final-paper .document-slot.is-incorrect{border-color:color-mix(in oklch,var(--color-error-burgundy) 62%,var(--gold));background:radial-gradient(ellipse at 95% 18%,color-mix(in oklch,var(--rose) 16%,transparent),transparent 44%),linear-gradient(90deg,color-mix(in oklch,var(--color-error-burgundy) 14%,transparent),transparent 36%),color-mix(in oklch,white 10%,var(--paper));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 15%,transparent),inset 0 0 16px color-mix(in oklch,var(--color-error-burgundy) 15%,transparent),0 0 14px color-mix(in oklch,var(--color-error-burgundy) 14%,transparent)}.document-slot-label{align-self:center;min-width:34px;color:color-mix(in oklch,var(--rose) 72%,var(--ink));font-weight:900;text-transform:uppercase}.document-empty-slot{align-self:center;color:color-mix(in oklch,var(--ink) 46%,transparent);font-weight:800}.document-card{min-height:54px;display:grid;gap:3px;padding:8px 10px;border:1px solid color-mix(in oklch,var(--gold) 42%,transparent);border-radius:6px;color:var(--paper);background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 9%,transparent),transparent 54%),linear-gradient(90deg,color-mix(in oklch,var(--color-burgundy) 7%,transparent),transparent 38%),color-mix(in oklch,var(--ink) 82%,black);box-shadow:0 9px 20px color-mix(in oklch,black 18%,transparent),inset 0 0 16px color-mix(in oklch,var(--gold) 7%,transparent);touch-action:none;-webkit-user-select:none;user-select:none}.document-card strong{color:var(--paper);font-family:Georgia,serif;font-size:.82rem}.document-card span{color:var(--paper-soft);font-size:.7rem;line-height:1.12}.document-slot .document-card{min-height:44px;color:var(--ink-deep);background:color-mix(in oklch,var(--paper) 78%,var(--gold));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 28%,transparent)}.document-slot .document-card strong,.document-slot .document-card span{color:var(--ink-deep)}.document-card.is-selected{border-color:color-mix(in oklch,var(--gold) 88%,white);box-shadow:0 0 0 2px color-mix(in oklch,var(--gold) 18%,transparent),0 0 22px color-mix(in oklch,var(--gold) 18%,transparent),inset 0 0 18px color-mix(in oklch,var(--gold) 12%,transparent)}.document-archive-code,.case-file-correction{position:relative;z-index:2;justify-self:end;display:grid;gap:2px;min-width:160px;padding:8px 12px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);border-radius:6px;color:color-mix(in oklch,var(--ink) 72%,transparent);background:color-mix(in oklch,var(--paper) 48%,transparent);opacity:.78}.document-archive-code span,.case-file-correction span{font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.document-archive-code strong,.case-file-correction strong{color:var(--ink-deep);font-family:Georgia,serif;font-size:1.05rem}.document-archive-code.is-visible,.case-file-correction.is-visible{border-color:color-mix(in oklch,var(--gold) 70%,transparent);background:color-mix(in oklch,var(--gold) 20%,var(--paper));opacity:1;box-shadow:0 0 22px color-mix(in oklch,var(--gold) 24%,transparent)}.case-file-slots{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:0}.case-file-slot{min-height:208px;grid-template-columns:1fr;align-content:start}.case-file-slot.is-correct{border-color:color-mix(in oklch,var(--gold) 84%,var(--color-gold-bright));background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--color-gold-bright) 18%,transparent),transparent 54%),linear-gradient(180deg,color-mix(in oklch,var(--gold) 14%,transparent),transparent 56%),color-mix(in oklch,var(--paper) 34%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 18%,transparent),inset 0 0 18px color-mix(in oklch,var(--gold) 18%,transparent),0 0 18px color-mix(in oklch,var(--color-gold-bright) 16%,transparent)}.case-file-slot.is-incorrect{border-color:color-mix(in oklch,var(--color-error-burgundy) 64%,var(--gold));background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--rose) 12%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in oklch,var(--color-error-burgundy) 10%,transparent),transparent 56%),color-mix(in oklch,var(--paper) 32%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 12%,transparent),inset 0 0 16px color-mix(in oklch,var(--color-error-burgundy) 13%,transparent),0 0 14px color-mix(in oklch,var(--color-error-burgundy) 13%,transparent)}.case-file-symbol{width:fit-content;min-width:28px;padding:2px 7px;border-radius:999px;background:color-mix(in oklch,var(--gold) 22%,transparent);font-weight:900}.case-file-silver-key{position:relative;z-index:3;justify-self:end;display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:7px;min-height:42px;padding:8px 12px;border:1px solid color-mix(in oklch,var(--gold) 72%,var(--paper));border-radius:999px;color:var(--ink-deep);background:linear-gradient(135deg,color-mix(in oklch,white 42%,transparent),transparent 48%),color-mix(in oklch,var(--gold) 28%,var(--paper));font-weight:900;box-shadow:0 0 20px color-mix(in oklch,var(--gold) 26%,transparent),inset 0 0 12px color-mix(in oklch,white 28%,transparent)}.case-file-key-cta{position:relative;z-index:3;justify-self:center;display:grid;justify-items:center;gap:7px;padding:8px 12px 10px;border:1px solid color-mix(in oklch,var(--gold) 52%,transparent);border-radius:8px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--color-gold-bright) 17%,transparent),transparent 62%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 34%,transparent),transparent 58%),color-mix(in oklch,var(--ink-deep) 12%,var(--paper));box-shadow:0 0 28px color-mix(in oklch,var(--gold) 18%,transparent),inset 0 0 0 1px color-mix(in oklch,white 18%,transparent)}.case-file-key-cta p{margin:0;color:color-mix(in oklch,var(--ink-deep) 86%,var(--color-warm-ink));font:900 clamp(.82rem,1.45vmin,.98rem)/1.1 Georgia,"Palatino Linotype","Times New Roman",serif;text-align:center}.case-file-key-cta:not(.is-taken) .case-file-silver-key{min-height:48px;padding-inline:18px;border-color:color-mix(in oklch,var(--color-gold-bright) 88%,var(--gold));animation:case-file-key-ready 1.8s ease-in-out infinite}.case-file-key-cta.is-taken{opacity:.78}.case-file-silver-key span{width:32px;height:10px;border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,white 60%,var(--gold)),var(--gold))}.case-file-silver-key.is-taken{opacity:.78;transform:translateY(1px)}.case-file-sorting-panel.has-final-background{background:linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 76%,transparent),color-mix(in oklch,black 30%,transparent)),var(--case-file-sorting-bg-image) center / cover no-repeat,color-mix(in oklch,var(--ink-deep) 90%,black)}.case-file-board-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:.86;pointer-events:none;-webkit-user-select:none;user-select:none}.case-file-board.has-final-board{background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 28%,transparent),color-mix(in oklch,var(--ink-deep) 8%,transparent)),color-mix(in oklch,var(--paper) 78%,var(--gold))}.case-file-board.has-final-board>:not(.case-file-board-image){position:relative;z-index:2}.case-file-card{position:relative;overflow:hidden}.case-file-card-shell-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;display:none;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none}.case-file-card.has-final-shell{background:linear-gradient(145deg,color-mix(in oklch,white 18%,transparent),transparent 45%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 86%,var(--gold)),color-mix(in oklch,var(--paper-soft) 78%,var(--color-burgundy))),color-mix(in oklch,var(--paper) 82%,var(--gold));border-color:color-mix(in oklch,var(--gold) 46%,var(--color-burgundy));color:var(--ink-deep);box-shadow:0 5px 12px color-mix(in oklch,var(--ink-deep) 18%,transparent),inset 0 0 0 1px color-mix(in oklch,white 24%,transparent),inset 0 -12px 18px color-mix(in oklch,var(--color-burgundy) 7%,transparent);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background-color .14s ease}.case-file-card.has-final-shell>:not(.case-file-card-shell-image){position:relative;z-index:2}.case-file-card.has-final-shell strong,.case-file-card.has-final-shell>span:not(.case-file-symbol){color:color-mix(in oklch,var(--ink-deep) 90%,var(--color-warm-ink));text-shadow:0 1px 0 color-mix(in oklch,white 36%,transparent)}.case-file-document-tray .document-card-list{gap:5px}.case-file-document-tray .case-file-card{min-height:46px;padding:6px 8px}.case-file-document-tray .case-file-card.has-final-shell:hover,.case-file-document-tray .case-file-card.has-final-shell:focus-visible,.case-file-card.has-final-shell.is-selected{transform:translateY(-2px) scale(1.01);border-color:color-mix(in oklch,var(--gold) 82%,white);box-shadow:0 0 0 2px color-mix(in oklch,var(--gold) 20%,transparent),0 10px 22px color-mix(in oklch,var(--ink-deep) 24%,transparent),0 0 24px color-mix(in oklch,var(--gold) 20%,transparent),inset 0 0 0 1px color-mix(in oklch,white 28%,transparent)}.case-file-card.has-final-shell.is-placement-correct{border-color:color-mix(in oklch,var(--gold) 80%,var(--ink-deep));box-shadow:0 0 0 2px color-mix(in oklch,var(--gold) 18%,transparent),0 0 18px color-mix(in oklch,var(--color-gold-bright) 15%,transparent),inset 0 0 0 1px color-mix(in oklch,white 28%,transparent),inset 0 -10px 16px color-mix(in oklch,var(--gold) 10%,transparent)}.case-file-card.has-final-shell.is-placement-incorrect{border-color:color-mix(in oklch,var(--color-error-burgundy) 58%,var(--ink-deep));background:linear-gradient(145deg,color-mix(in oklch,var(--color-error-burgundy) 8%,transparent),transparent 48%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 82%,white),color-mix(in oklch,var(--paper-soft) 74%,var(--rose))),color-mix(in oklch,var(--paper) 78%,white);box-shadow:0 0 0 2px color-mix(in oklch,var(--color-error-burgundy) 9%,transparent),0 0 14px color-mix(in oklch,var(--color-error-burgundy) 10%,transparent),inset 0 0 0 1px color-mix(in oklch,white 22%,transparent)}.document-slot .case-file-card.has-final-shell{background:linear-gradient(145deg,color-mix(in oklch,white 14%,transparent),transparent 48%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 82%,var(--gold)),color-mix(in oklch,var(--paper-soft) 76%,var(--gold))),color-mix(in oklch,var(--paper) 78%,var(--gold));border-color:color-mix(in oklch,var(--gold) 44%,var(--ink-deep));box-shadow:0 3px 8px color-mix(in oklch,var(--ink-deep) 16%,transparent),inset 0 0 0 1px color-mix(in oklch,white 24%,transparent)}.document-slot .case-file-card.has-final-shell .case-file-card-shell-image{display:none;opacity:0}.case-file-card.has-final-shell.is-drag-source{opacity:.82;cursor:grabbing;transform:translateY(-2px) scale(.99);box-shadow:0 0 0 2px color-mix(in oklch,var(--gold) 22%,transparent),0 8px 22px color-mix(in oklch,var(--ink-deep) 24%,transparent)}.puzzle-drag-ghost.case-file-card.has-final-shell,.puzzle-drag-ghost .case-file-card.has-final-shell{z-index:10000;opacity:.96;transform:translate(-50%,-50%) scale(1.035) rotate(-.45deg);box-shadow:0 0 0 2px color-mix(in oklch,var(--gold) 22%,transparent),0 16px 32px color-mix(in oklch,black 32%,transparent),0 0 26px color-mix(in oklch,var(--gold) 20%,transparent)}.case-file-silver-key-image{width:42px;height:26px;object-fit:contain;opacity:.86;filter:contrast(1.08) saturate(.82);mix-blend-mode:multiply;pointer-events:none;-webkit-user-select:none;user-select:none}.case-file-silver-key.has-final-key>span{display:none}@keyframes case-file-key-ready{0%,to{box-shadow:0 0 20px color-mix(in oklch,var(--gold) 26%,transparent),inset 0 0 12px color-mix(in oklch,white 28%,transparent)}50%{box-shadow:0 0 32px color-mix(in oklch,var(--color-gold-bright) 34%,transparent),0 0 0 3px color-mix(in oklch,var(--gold) 14%,transparent),inset 0 0 16px color-mix(in oklch,white 34%,transparent)}}.echo-path-play-area{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(300px,1fr) minmax(240px,.75fr);gap:12px;align-items:stretch;min-height:0;overflow:hidden}.echo-prompt-card,.echo-question-stage,.echo-door-stage,.echo-key-stage{min-height:0;min-width:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:7px;background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 4%,transparent),transparent),color-mix(in oklch,var(--ink-deep) 42%,var(--ink))}.echo-prompt-card{display:grid;align-content:center;gap:10px;padding:16px}.echo-prompt-card span{justify-self:start;padding:4px 8px;border:1px solid color-mix(in oklch,var(--gold) 44%,transparent);border-radius:999px;color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase}.echo-prompt-card p{margin:0;color:var(--paper);font-family:Georgia,serif;font-size:1rem;line-height:1.28}.echo-question-stage{display:grid;grid-template-rows:minmax(112px,auto) 1fr;gap:10px;padding:12px}.echo-question-slot{min-height:112px;display:grid;place-items:center;border:1px dashed color-mix(in oklch,var(--paper) 30%,transparent);border-radius:7px;background:radial-gradient(circle at 50% 36%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 62%),color-mix(in oklch,var(--ink) 82%,black)}.echo-question-slot.is-filled{border-style:solid;border-color:color-mix(in oklch,var(--paper) 38%,transparent)}.echo-question-slot.is-correct{border-color:var(--gold);box-shadow:0 0 22px color-mix(in oklch,var(--gold) 20%,transparent)}.echo-slot-empty{color:color-mix(in oklch,var(--paper-soft) 70%,transparent);font-size:.9rem}.echo-question-tray{display:grid;gap:8px;min-height:0;overflow:hidden}.echo-question-tile,.echo-placed-question{display:grid;gap:5px;padding:9px;border-radius:6px;color:var(--paper);touch-action:none;-webkit-user-select:none;user-select:none}.echo-question-tile{min-height:74px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);background:color-mix(in oklch,var(--ink) 84%,black)}.echo-placed-question{width:100%;border:1px solid color-mix(in oklch,var(--gold) 40%,transparent);background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 18%,var(--ink)),var(--ink))}.echo-question-tile strong,.echo-placed-question strong{font-family:Georgia,serif;font-size:.9rem;line-height:1.12}.echo-question-tile span,.echo-placed-question span{color:var(--paper-soft);font-size:.7rem;line-height:1.16}.echo-door-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}.echo-door{position:relative;min-height:168px;display:grid;place-items:end center;padding:10px;overflow:hidden;border:1px solid color-mix(in oklch,var(--paper) 24%,transparent);border-radius:7px 7px 4px 4px;background:color-mix(in oklch,var(--ink) 80%,black);color:var(--paper)}.echo-door-arch{position:absolute;top:18px;right:18px;bottom:36px;left:18px;border:2px solid color-mix(in oklch,var(--paper) 28%,transparent);border-bottom:0;border-radius:999px 999px 0 0}.echo-door.is-echoing{box-shadow:inset 0 0 18px color-mix(in oklch,var(--rose) 12%,transparent)}.echo-door.is-unlocked{border-color:var(--gold);color:var(--gold);box-shadow:inset 0 0 18px color-mix(in oklch,var(--gold) 18%,transparent),0 0 24px color-mix(in oklch,var(--gold) 18%,transparent)}.echo-door.is-open{background:radial-gradient(circle at 50% 42%,color-mix(in oklch,var(--gold) 42%,transparent),transparent 58%),color-mix(in oklch,var(--ink) 72%,black)}.echo-key-stage{display:grid;align-content:center;gap:8px;padding:12px}.echo-key-token{min-height:86px;display:grid;place-items:center;gap:5px;border:1px solid color-mix(in oklch,var(--silver) 58%,transparent);border-radius:999px;background:linear-gradient(135deg,color-mix(in oklch,var(--silver) 70%,var(--ink)),var(--ink));color:var(--paper);touch-action:none;-webkit-user-select:none;user-select:none}.echo-key-token.is-placed{border-color:var(--gold);box-shadow:0 0 24px color-mix(in oklch,var(--gold) 22%,transparent)}.echo-key-icon{position:relative;width:58px;height:24px}.echo-key-icon:before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border:4px solid var(--silver);border-radius:50%}.echo-key-icon:after{content:"";position:absolute;left:22px;top:11px;width:34px;height:4px;border-radius:999px;background:var(--silver);box-shadow:22px 6px 0 -1px var(--silver)}.echo-key-stage p{margin:0;color:var(--paper-soft);font-size:.82rem;line-height:1.22;text-align:center}.echo-success-reveal{display:grid;gap:7px;padding:10px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);border-radius:7px;background:radial-gradient(circle at 20% 0%,color-mix(in oklch,var(--gold) 16%,transparent),transparent 52%),color-mix(in oklch,var(--ink) 76%,black)}.echo-success-reveal.is-waiting{border-style:dashed;color:color-mix(in oklch,var(--paper-soft) 72%,transparent);font-size:.75rem;text-align:center}.echo-success-reveal.is-lit{box-shadow:0 0 24px color-mix(in oklch,var(--gold) 18%,transparent)}.echo-success-reveal span{display:grid;gap:2px}.echo-success-reveal strong{color:var(--gold);font-family:Georgia,serif;font-size:.78rem}.echo-success-reveal em{color:var(--paper-soft);font-size:.64rem;font-style:normal;line-height:1.14}.tactile-panel{width:min(930px,calc(100vw - 28px));gap:10px}.tactile-heading{display:grid;gap:4px;text-align:center}.tactile-subtitle{color:var(--gold);font-size:1rem;line-height:1.25}.garden-lantern.is-drop-available,.argument-tower-slot.is-drop-available,.argument-block-tray.is-drop-available,.constellation-node.is-drop-available,.constellation-tray.is-drop-available,.verdict-seal-slot.is-drop-available,.verdict-fragment-tray.is-drop-available{border-color:color-mix(in oklch,var(--gold) 66%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 24%,transparent)}.garden-lantern.is-drop-hover,.argument-tower-slot.is-drop-hover,.argument-block-tray.is-drop-hover,.constellation-node.is-drop-hover,.constellation-tray.is-drop-hover,.verdict-seal-slot.is-drop-hover,.verdict-fragment-tray.is-drop-hover{border-color:var(--rose);background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--rose) 18%,transparent),transparent 56%),color-mix(in oklch,var(--ink) 78%,black)}.flame-token.is-drag-source,.argument-block.is-drag-source,.argument-placed-block.is-drag-source,.constellation-star.is-drag-source,.constellation-placed-star.is-drag-source,.verdict-fragment.is-drag-source,.verdict-placed-fragment.is-drag-source{opacity:.38;transform:scale(.98)}.argument-block.is-selected,.argument-placed-block.is-selected,.constellation-star.is-selected,.constellation-placed-star.is-selected,.verdict-fragment.is-selected,.verdict-placed-fragment.is-selected{outline:2px solid var(--rose);outline-offset:-2px}.lantern-play-area,.argument-tower-play-area,.constellation-play-area,.verdict-assembly-play-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);gap:12px;align-items:stretch;min-height:0}.lantern-garden{position:relative;min-height:310px;overflow:hidden;border:1px solid color-mix(in oklch,var(--gold) 42%,transparent);border-radius:8px;background:radial-gradient(circle at 50% 48%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 34%),radial-gradient(circle at 18% 78%,color-mix(in oklch,#557c58 28%,transparent),transparent 28%),color-mix(in oklch,var(--ink-deep) 84%,black)}.lantern-path{position:absolute;left:50%;top:50%;display:flex;width:56%;height:8px;transform:translate(-50%,-50%);border-radius:999px;overflow:hidden;background:color-mix(in oklch,var(--paper) 10%,transparent)}.lantern-path span{flex:1;background:color-mix(in oklch,var(--paper) 12%,transparent)}.lantern-path span.is-lit{background:linear-gradient(90deg,var(--gold),color-mix(in oklch,var(--rose) 24%,var(--gold)));box-shadow:0 0 18px color-mix(in oklch,var(--gold) 42%,transparent)}.garden-lantern{position:absolute;z-index:2;width:126px;min-height:82px;display:grid;place-items:center;gap:4px;padding:8px;border:1px solid color-mix(in oklch,var(--paper) 24%,transparent);border-radius:8px;background:color-mix(in oklch,var(--ink) 82%,black);color:var(--paper)}.garden-lantern-north{left:50%;top:11%;transform:translate(-50%)}.garden-lantern-east{right:8%;top:50%;transform:translateY(-50%)}.garden-lantern-south{left:50%;bottom:10%;transform:translate(-50%)}.garden-lantern-west{left:8%;top:50%;transform:translateY(-50%)}.garden-lantern-glow{width:32px;height:42px;border:2px solid var(--gold);border-radius:16px 16px 5px 5px;background:color-mix(in oklch,var(--gold) 12%,transparent)}.garden-lantern.is-lit .garden-lantern-glow{background:radial-gradient(circle,var(--color-soft-ivory),var(--gold) 58%,transparent 64%);box-shadow:0 0 22px color-mix(in oklch,var(--gold) 54%,transparent)}.garden-lantern.is-wrong{border-color:var(--rose)}.flame-token{position:absolute;z-index:3;left:50%;top:50%;width:82px;height:82px;transform:translate(-50%,-50%);border:1px solid color-mix(in oklch,var(--gold) 65%,transparent);border-radius:50%;background:radial-gradient(circle at 50% 38%,var(--color-soft-ivory) 0 18%,var(--gold) 19% 42%,var(--rose) 43% 62%,transparent 63%),color-mix(in oklch,var(--ink) 82%,black);color:var(--paper);font-size:.72rem;font-weight:900;touch-action:none}.lantern-sidecar,.argument-block-tray,.constellation-tray,.verdict-fragment-tray{display:grid;align-content:start;gap:10px;min-height:0;padding:12px;border:1px solid color-mix(in oklch,var(--gold) 38%,transparent);border-radius:8px;background:color-mix(in oklch,var(--paper) 7%,var(--ink))}.lantern-preview h2,.lantern-preview p,.lantern-progress,.argument-progress,.constellation-progress,.verdict-progress{margin:0;color:var(--paper-soft);font-size:.88rem;line-height:1.3}.lantern-preview h2{color:var(--gold);font-size:.95rem}.lantern-progress strong,.argument-progress strong,.constellation-progress strong,.verdict-progress strong{color:var(--paper)}.argument-tower-frame{position:relative;display:grid;grid-template-areas:". top ." "left . right" "foundation foundation foundation";grid-template-columns:1fr 1fr 1fr;gap:10px;min-height:322px;padding:16px;border:1px solid color-mix(in oklch,var(--gold) 42%,transparent);border-radius:8px;background:color-mix(in oklch,var(--ink-deep) 82%,black)}.blue-ribbon-wrap{position:absolute;right:18px;top:14px;z-index:4;padding:5px 9px;border:2px solid color-mix(in oklch,var(--blue-ribbon) 68%,var(--silver));border-radius:999px;color:color-mix(in oklch,var(--silver) 72%,var(--blue-ribbon));font-size:.7rem;font-weight:900;opacity:0;transform:scale(.9)}.argument-tower-play-area.is-solved .blue-ribbon-wrap{opacity:1;transform:scale(1)}.argument-tower-slot{min-height:94px;display:grid;gap:5px;padding:8px;border:1px dashed color-mix(in oklch,var(--paper) 28%,transparent);border-radius:7px;background:color-mix(in oklch,var(--ink) 82%,black);color:var(--paper)}.argument-tower-slot-foundation{grid-area:foundation}.argument-tower-slot-support-left{grid-area:left}.argument-tower-slot-support-right{grid-area:right}.argument-tower-slot-top{grid-area:top}.argument-tower-slot.is-stable{border-style:solid;border-color:var(--gold);box-shadow:inset 0 0 18px color-mix(in oklch,var(--gold) 16%,transparent)}.argument-tower-slot.is-unstable{border-style:solid;border-color:var(--rose)}.argument-slot-label,.argument-slot-empty{color:var(--paper-soft);font-size:.72rem}.argument-block-list,.constellation-star-list,.verdict-fragment-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:0}.argument-block,.argument-placed-block,.constellation-star,.constellation-placed-star,.verdict-fragment,.verdict-placed-fragment{display:grid;gap:4px;min-height:58px;padding:8px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:7px;background:color-mix(in oklch,var(--ink) 84%,black);color:var(--paper);touch-action:none;-webkit-user-select:none;user-select:none}.argument-placed-block,.constellation-placed-star,.verdict-placed-fragment{background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 18%,var(--ink)),var(--ink))}.argument-block.is-decoy,.argument-placed-block.is-decoy{border-color:color-mix(in oklch,var(--rose) 36%,transparent)}.argument-block strong,.argument-placed-block strong{font-family:Georgia,serif;font-size:.86rem}.argument-block span,.argument-placed-block span{color:var(--paper-soft);font-size:.66rem;line-height:1.12}.constellation-play-area{grid-template-columns:minmax(0,1fr) minmax(250px,.42fr)}.constellation-sky{position:relative;min-height:360px;overflow:hidden;border:1px solid color-mix(in oklch,var(--gold) 42%,transparent);border-radius:8px;background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 12%,transparent),transparent 28%),radial-gradient(circle at 18% 20%,color-mix(in oklch,#d9e9ff 28%,transparent),transparent 1.5%),radial-gradient(circle at 78% 16%,color-mix(in oklch,#d9e9ff 26%,transparent),transparent 1.5%),radial-gradient(circle at 28% 76%,color-mix(in oklch,#d9e9ff 24%,transparent),transparent 1.4%),color-mix(in oklch,var(--ink-deep) 88%,black)}.unfinished-letter-core{position:absolute;left:50%;top:50%;width:96px;height:68px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid var(--gold);border-radius:7px;color:var(--gold);font-family:Georgia,serif;font-size:.82rem;text-align:center}.constellation-node{position:absolute;z-index:2;width:122px;min-height:66px;transform:translate(-50%,-50%);display:grid;gap:3px;padding:7px;border:1px dashed color-mix(in oklch,var(--paper) 28%,transparent);border-radius:999px;background:color-mix(in oklch,var(--ink) 78%,black);color:var(--paper)}.constellation-node.is-correct{border-style:solid;border-color:var(--gold);box-shadow:0 0 20px color-mix(in oklch,var(--gold) 22%,transparent)}.constellation-node.is-wrong{border-color:var(--rose)}.constellation-node-label{color:var(--gold);font-size:.68rem;font-weight:900}.constellation-node-empty{color:var(--paper-soft);font-size:.64rem}.constellation-star,.constellation-placed-star{place-items:center;min-height:44px;border-radius:999px;font-family:Georgia,serif;font-size:.78rem;text-align:center}.verdict-assembly-play-area{grid-template-columns:minmax(0,1fr) minmax(260px,.45fr)}.final-seal-board-column{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0}.verdict-seal{position:relative;min-height:390px;height:100%;border:1px solid color-mix(in oklch,var(--gold) 45%,transparent);border-radius:8px;background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--rose) 12%,transparent),transparent 30%),color-mix(in oklch,var(--ink-deep) 84%,black)}.final-verdict-assembly-panel.has-final-background{background:linear-gradient(180deg,color-mix(in oklch,var(--ink-deep) 84%,transparent),color-mix(in oklch,var(--ink) 74%,transparent)),var(--final-seal-bg-image) center / cover no-repeat,color-mix(in oklch,var(--ink-deep) 90%,black)}.verdict-seal-core{position:absolute;left:50%;top:50%;width:112px;height:112px;transform:translate(-50%,-50%);display:grid;place-items:center;border:2px solid var(--gold);border-radius:50%;color:var(--gold);font-family:Georgia,serif;text-align:center}.verdict-seal-slot{position:absolute;width:118px;min-height:58px;display:grid;gap:2px;padding:6px;border:1px dashed color-mix(in oklch,var(--paper) 28%,transparent);border-radius:999px;background:color-mix(in oklch,var(--ink) 78%,black);color:var(--paper)}.verdict-seal-slot.is-correct{border-style:solid;border-color:var(--gold);box-shadow:0 0 20px color-mix(in oklch,var(--gold) 22%,transparent)}.verdict-seal-slot.is-wrong{border-color:var(--rose)}.verdict-seal-slot-1{left:50%;top:5%;transform:translate(-50%)}.verdict-seal-slot-2{left:84%;top:22%;transform:translate(-50%)}.verdict-seal-slot-3{left:84%;top:66%;transform:translate(-50%)}.verdict-seal-slot-4{left:50%;top:84%;transform:translate(-50%)}.verdict-seal-slot-5{left:16%;top:66%;transform:translate(-50%)}.verdict-seal-slot-6{left:16%;top:22%;transform:translate(-50%)}.verdict-seal-slot-7{left:10%;top:50%;transform:translate(-50%)}.verdict-seal-slot-8{left:90%;top:50%;transform:translate(-50%)}.verdict-seal-slot-9{left:34%;top:12%;transform:translate(-50%)}.verdict-seal-slot-10{left:66%;top:12%;transform:translate(-50%)}.verdict-slot-label,.verdict-slot-empty{color:var(--paper-soft);font-size:.62rem}.verdict-fragment,.verdict-placed-fragment{place-items:center;min-height:42px;border-radius:999px;font-family:Georgia,serif;font-size:.82rem;text-align:center}.final-seal-ring-board{display:grid;place-items:center;min-height:390px;overflow:hidden;background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 14%,transparent),transparent 12%),radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--rose) 12%,transparent),transparent 30%),color-mix(in oklch,var(--ink-deep) 84%,black)}.final-seal-board-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:.62;filter:saturate(.88) brightness(.72) contrast(1.06);pointer-events:none;-webkit-user-select:none;user-select:none}.final-seal-ring-board.has-final-board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(circle at 50% 50%,transparent 0 34%,color-mix(in oklch,var(--ink-deep) 42%,transparent) 72%),linear-gradient(180deg,color-mix(in oklch,black 16%,transparent),color-mix(in oklch,var(--ink-deep) 28%,transparent));pointer-events:none}.final-seal-rays{position:absolute;top:13%;right:13%;bottom:13%;left:13%;z-index:2;border-radius:50%;background:conic-gradient(from -90deg,transparent 0 7%,color-mix(in oklch,var(--gold) 24%,transparent) 8% 9%,transparent 10% 23%,color-mix(in oklch,var(--gold) 20%,transparent) 24% 25%,transparent 26% 100%);opacity:.45;pointer-events:none}.final-seal-rays.is-lit{opacity:.92;filter:drop-shadow(0 0 22px color-mix(in oklch,var(--gold) 48%,transparent))}.final-seal-heart{z-index:5;pointer-events:none;background:radial-gradient(circle at 50% 35%,color-mix(in oklch,var(--rose) 20%,transparent),transparent 58%),color-mix(in oklch,var(--ink-deep) 94%,black);box-shadow:0 0 28px color-mix(in oklch,var(--gold) 18%,transparent),inset 0 0 18px color-mix(in oklch,var(--gold) 10%,transparent)}.final-seal-heart.has-final-core{overflow:hidden}.final-seal-heart-image{position:absolute;top:6px;right:6px;bottom:6px;left:6px;z-index:0;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;opacity:.76;filter:saturate(.9) brightness(.82) contrast(1.05);pointer-events:none;-webkit-user-select:none;user-select:none}.final-seal-heart-label{position:relative;z-index:2;text-shadow:0 1px 8px color-mix(in oklch,black 72%,transparent)}.final-seal-ring{position:absolute;left:50%;top:50%;z-index:4;display:grid;place-items:center;border:2px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:50%;background:conic-gradient(from var(--ring-turn),color-mix(in oklch,var(--gold) 18%,transparent) 0 9%,transparent 10% 39%,color-mix(in oklch,var(--paper) 8%,transparent) 40% 47%,transparent 48% 75%,color-mix(in oklch,var(--gold) 20%,transparent) 76% 84%,transparent 85% 100%),color-mix(in oklch,var(--ink) 22%,transparent);color:var(--paper);touch-action:manipulation;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%) rotate(var(--ring-turn));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.final-seal-ring:before,.final-seal-ring:after{content:"";position:absolute;left:50%;width:10px;height:10px;border-radius:50%;background:color-mix(in oklch,var(--gold) 64%,transparent);box-shadow:0 0 12px color-mix(in oklch,var(--gold) 34%,transparent)}.final-seal-ring:before{top:7px;transform:translate(-50%)}.final-seal-ring:after{bottom:7px;transform:translate(-50%)}.final-seal-ring:hover{border-color:var(--gold);box-shadow:0 0 22px color-mix(in oklch,var(--gold) 20%,transparent)}.final-seal-ring.is-aligned{border-color:var(--gold);box-shadow:0 0 28px color-mix(in oklch,var(--gold) 34%,transparent),inset 0 0 22px color-mix(in oklch,var(--gold) 12%,transparent)}.final-seal-ring-controls{position:relative;z-index:8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px;border:1px solid color-mix(in oklch,var(--gold) 34%,transparent);border-radius:8px;background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 10%,transparent),transparent 62%),color-mix(in oklch,var(--ink-deep) 76%,var(--ink));box-shadow:inset 0 0 18px color-mix(in oklch,black 14%,transparent)}.final-seal-ring-control{min-height:42px;padding:8px 10px;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:999px;background:radial-gradient(circle at 50% 0%,color-mix(in oklch,var(--gold) 14%,transparent),transparent 64%),color-mix(in oklch,var(--burgundy) 58%,var(--ink-deep));color:var(--paper);font-family:Georgia,serif;font-size:.82rem;font-weight:800;line-height:1;cursor:pointer;touch-action:manipulation;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.final-seal-ring-control:hover,.final-seal-ring-control:focus-visible{border-color:var(--gold);box-shadow:0 0 16px color-mix(in oklch,var(--gold) 20%,transparent)}.final-seal-ring-control:active{transform:translateY(1px)}.final-seal-ring-control.is-aligned{border-color:var(--gold);background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 20%,transparent),transparent 58%),color-mix(in oklch,var(--ink) 70%,var(--burgundy));color:color-mix(in oklch,var(--gold) 76%,var(--paper))}.final-seal-ring-outer{width:min(82%,340px);aspect-ratio:1}.final-seal-ring-middle{width:min(62%,258px);aspect-ratio:1}.final-seal-ring-inner{width:min(42%,176px);aspect-ratio:1}.final-seal-ring-label,.final-seal-ring-index{transform:rotate(calc(var(--ring-turn) * -1))}.final-seal-ring-label{max-width:74px;color:var(--paper);font-family:Georgia,serif;font-size:.64rem;font-weight:800;line-height:1.05;text-align:center}.final-seal-ring-index{position:absolute;right:14%;top:50%;translate:0 -50%;color:var(--gold);font-size:.76rem;font-weight:900}.final-seal-clue-panel{grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.final-seal-clue-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;align-content:start}.final-seal-clue{display:grid;gap:3px;min-height:54px;padding:8px;border:1px solid color-mix(in oklch,var(--paper) 20%,transparent);border-radius:8px;background:color-mix(in oklch,var(--ink-deep) 68%,var(--ink));color:var(--paper-soft)}.final-seal-clue.is-lit{border-color:var(--gold);background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 20%,transparent),transparent 56%),color-mix(in oklch,var(--ink) 76%,black);color:var(--paper);box-shadow:inset 0 0 16px color-mix(in oklch,var(--gold) 14%,transparent)}.final-seal-clue-chapter{color:var(--gold);font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.final-seal-clue strong{font-family:Georgia,serif;font-size:.84rem}.final-seal-payoff{display:grid;gap:4px;min-height:58px;padding:9px;border:1px solid color-mix(in oklch,var(--gold) 38%,transparent);border-radius:8px;background:linear-gradient(135deg,color-mix(in oklch,var(--gold) 12%,transparent),transparent 55%),color-mix(in oklch,var(--ink-deep) 66%,var(--ink));color:var(--paper-soft)}.final-seal-payoff strong{color:var(--gold);font-family:Georgia,serif}.final-seal-payoff span{color:var(--paper);font-size:.86rem}.case-board-panel{width:min(900px,calc(100vw - 28px));gap:10px}.case-board-heading{display:grid;gap:4px;text-align:center}.case-board-subtitle{color:var(--gold);font-size:1rem;line-height:1.25}.case-board-surface{position:relative;padding:16px;border:1px solid color-mix(in oklch,var(--gold) 46%,transparent);border-radius:6px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 8%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--gold) 8%,transparent) 1px,transparent 1px),color-mix(in oklch,var(--paper) 6%,var(--ink));background-size:32px 32px;overflow:hidden}.case-board-surface:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px dashed color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;pointer-events:none}.case-board-stamp{position:absolute;right:18px;top:12px;z-index:1;padding:5px 9px;border:1px solid color-mix(in oklch,var(--gold) 48%,transparent);border-radius:4px;color:color-mix(in oklch,var(--gold) 78%,transparent);font-size:.7rem;font-weight:800;letter-spacing:.09em;opacity:.24;transform:rotate(-5deg)}.case-board-surface.is-complete .case-board-stamp{opacity:.92;color:var(--gold);box-shadow:0 0 20px color-mix(in oklch,var(--gold) 24%,transparent)}.case-board-path{position:relative;z-index:2;display:grid;grid-template-columns:minmax(112px,1fr) minmax(34px,.34fr) minmax(138px,1.12fr) minmax(34px,.34fr) minmax(138px,1.12fr) minmax(34px,.34fr) minmax(112px,1fr);gap:8px;align-items:center}.case-board-slot{min-height:104px;display:grid;align-content:center;gap:5px;border:1px solid color-mix(in oklch,var(--paper) 24%,transparent);border-radius:6px;padding:10px;background:color-mix(in oklch,var(--ink) 82%,black);color:var(--paper);text-align:center;cursor:pointer}.case-board-slot.is-locked{cursor:default;background:radial-gradient(circle at 50% 12%,color-mix(in oklch,var(--gold) 22%,transparent),transparent 44%),color-mix(in oklch,var(--ink) 76%,black)}.case-board-slot.can-place{border-color:var(--rose);box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 30%,transparent)}.case-board-slot.is-filled{border-color:color-mix(in oklch,var(--gold) 56%,transparent)}.case-board-slot-label{color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.case-board-slot strong{color:var(--paper);font-size:1rem;line-height:1.18}.case-board-slot em{color:var(--paper-soft);font-size:.78rem;font-style:normal;line-height:1.2}.case-board-connection{height:18px;display:grid;align-items:center}.case-board-connection span{display:block;height:4px;border-radius:99px;background:color-mix(in oklch,var(--paper) 20%,transparent);box-shadow:none}.case-board-connection.is-active span{background:var(--gold);box-shadow:0 0 18px color-mix(in oklch,var(--gold) 68%,transparent)}.case-board-connection.is-wrong span{background:color-mix(in oklch,var(--rose) 48%,var(--paper-soft));opacity:.62}.case-board-tray{display:grid;gap:8px}.case-board-tray-header{display:flex;align-items:end;justify-content:space-between;gap:12px}.case-board-tray-header h2{margin:0;color:var(--gold);font-size:1rem}.case-board-tray-header p{color:var(--paper-soft);font-size:.9rem}.case-board-tile-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.case-board-tile{min-height:82px;display:grid;align-content:center;gap:5px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;padding:10px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);text-align:left;cursor:pointer}.case-board-tile strong{color:var(--gold);font-size:.98rem;line-height:1.18}.case-board-tile span{color:var(--paper-soft);font-size:.82rem;line-height:1.22}.case-board-tile.is-selected{border-color:var(--rose);background:linear-gradient(90deg,color-mix(in oklch,var(--rose) 20%,transparent),transparent 42%),color-mix(in oklch,var(--paper) 8%,var(--ink));box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 38%,transparent)}.case-board-tile.is-held{border-style:dashed}.case-board-summary{padding:9px 12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 6%,var(--ink))}.case-board-summary p{color:var(--paper-soft);font-size:.9rem;line-height:1.28}.case-board-summary strong{color:var(--paper)}.evidence-board-panel{gap:10px}.evidence-board-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px}.evidence-board-column,.evidence-board-conclusion{display:grid;gap:8px}.evidence-board-column h2,.evidence-board-conclusion h2{margin:0;color:var(--gold);font-size:1rem;line-height:1.2}.evidence-board-card-list,.evidence-board-conclusion-choices{display:grid;gap:8px}.evidence-board-card,.evidence-board-choice{min-height:74px;display:grid;align-content:center;gap:4px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;padding:11px 12px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);text-align:left}.evidence-board-card strong,.evidence-board-choice{color:var(--gold);font-size:1rem;line-height:1.2}.evidence-board-card span{color:var(--paper-soft);font-size:.9rem;line-height:1.25}.evidence-board-card em{display:block;color:var(--gold);font-size:.82rem;font-style:normal;line-height:1.2}.evidence-board-card.is-selected,.evidence-board-choice.is-selected{border-color:var(--rose);background:color-mix(in oklch,var(--rose) 22%,var(--ink));box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 42%,transparent)}.evidence-board-card.is-linked{border-color:color-mix(in oklch,var(--gold) 62%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 18%,transparent),transparent 34%),color-mix(in oklch,var(--paper) 8%,var(--ink));box-shadow:inset 4px 0 0 var(--gold)}.evidence-board-summary{display:grid;gap:4px;padding:10px 12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 7%,var(--ink))}.evidence-board-summary p{color:var(--paper-soft);font-size:.95rem;line-height:1.25}.evidence-board-summary strong{color:var(--paper)}.evidence-board-links{margin:4px 0 0;padding-left:20px}.evidence-board-links li{color:var(--paper-soft);font-size:.9rem;line-height:1.25}.evidence-linking-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.evidence-linking-column{display:grid;gap:8px}.evidence-linking-column h2{margin:0;color:var(--gold);font-size:1rem;line-height:1.2}.evidence-linking-card-list{display:grid;gap:8px}.evidence-linking-card{min-height:70px;display:grid;align-content:center;gap:4px;border:1px solid color-mix(in oklch,var(--paper) 22%,transparent);border-radius:6px;padding:10px;background:color-mix(in oklch,var(--paper) 8%,var(--ink));color:var(--paper);font:inherit;text-align:left;cursor:pointer}.evidence-linking-card strong{color:var(--gold);font-size:1rem;line-height:1.2}.evidence-linking-card span{color:var(--paper-soft);font-size:.9rem;line-height:1.25}.evidence-linking-card em{display:block;color:var(--gold);font-size:.82rem;font-style:normal;line-height:1.2}.evidence-linking-card.is-selected{border-color:var(--rose);background:color-mix(in oklch,var(--rose) 22%,var(--ink));box-shadow:0 0 0 2px color-mix(in oklch,var(--rose) 42%,transparent)}.evidence-linking-card.is-linked{border-color:color-mix(in oklch,var(--gold) 62%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 18%,transparent),transparent 34%),color-mix(in oklch,var(--paper) 8%,var(--ink));box-shadow:inset 4px 0 0 var(--gold)}.evidence-linking-summary{display:grid;gap:4px;padding:10px 12px;border:1px solid color-mix(in oklch,var(--paper) 18%,transparent);border-radius:6px;background:color-mix(in oklch,var(--paper) 7%,var(--ink))}.evidence-linking-summary p{color:var(--paper-soft);font-size:.95rem;line-height:1.25}.evidence-linking-summary strong{color:var(--paper)}.evidence-linking-filed-links{margin:4px 0 0;padding-left:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 14px}.evidence-linking-filed-links li{color:var(--paper-soft);font-size:.82rem;line-height:1.25}.final-verdict-panel{width:min(760px,calc(100vw - 28px));text-align:center}.final-verdict-panel:after{content:"";position:absolute;left:50%;top:18px;width:88px;height:88px;transform:translate(-50%);border:1px solid color-mix(in oklch,var(--gold) 30%,transparent);border-radius:50%;background:radial-gradient(circle at 38% 36%,color-mix(in oklch,var(--rose) 14%,transparent),transparent 18%),radial-gradient(circle at 62% 36%,color-mix(in oklch,var(--rose) 14%,transparent),transparent 18%),radial-gradient(circle,color-mix(in oklch,var(--gold) 8%,transparent),transparent 62%);opacity:.54;pointer-events:none}.final-verdict-text{margin:0;color:var(--paper);white-space:pre-wrap;font:500 clamp(.98rem,2.2vw,1.15rem)/1.45 Georgia,"Palatino Linotype","Times New Roman",serif;text-align:left;padding:12px 14px;border:1px solid color-mix(in oklch,var(--gold) 28%,transparent);background:linear-gradient(0deg,color-mix(in oklch,var(--paper) 5%,transparent) 0 1px,transparent 1px 29px),color-mix(in oklch,var(--paper) 5%,var(--ink));border-radius:6px;box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 5%,transparent)}.final-verdict-overlay{isolation:isolate;padding:clamp(12px,2.6vw,28px);background:var(--presentation-backdrop)}.final-verdict-overlay:before,.final-verdict-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.final-verdict-overlay:before{background:var(--presentation-backdrop-soft)}.final-verdict-overlay:after{top:18px;right:18px;bottom:18px;left:18px;border:1px solid color-mix(in oklch,var(--gold) 14%,transparent);border-radius:10px;background:var(--presentation-grid);opacity:.48}.final-verdict-panel{position:relative;z-index:1;width:min(820px,calc(100vw - 28px));max-height:min(650px,calc(var(--app-height, 100dvh) - 28px));overflow:hidden;padding:clamp(20px,3vw,32px);border:var(--presentation-frame-border);border-radius:8px;background:var(--presentation-stage-surface);box-shadow:var(--presentation-frame-shadow)}.final-verdict-image-panel{position:relative;z-index:1;display:grid;place-items:center;width:min(100vw - 24px,calc((var(--app-height, 100dvh) - 24px) * 16 / 9),1120px);max-height:calc(var(--app-height, 100dvh) - 24px);pointer-events:none}.final-verdict-image{display:block;width:100%;max-width:min(100%,1120px);max-height:calc(var(--app-height, 100dvh) - 24px);object-fit:contain;border:var(--presentation-frame-border);border-radius:8px;background:color-mix(in oklch,var(--ink-deep) 82%,black);box-shadow:var(--presentation-frame-shadow)}.final-verdict-image-actions{position:absolute;right:clamp(14px,3.2vmin,34px);bottom:clamp(14px,3.2vmin,34px);z-index:2;max-width:min(calc(100% - 28px),30rem);justify-content:flex-end;pointer-events:none}.final-verdict-image-actions .final-verdict-accept-button{min-height:clamp(44px,6.4vmin,56px);padding-inline:clamp(18px,3.8vmin,28px);border-radius:999px;border-color:color-mix(in oklch,var(--gold) 74%,var(--paper));background:linear-gradient(135deg,color-mix(in oklch,var(--burgundy) 92%,black),color-mix(in oklch,var(--ink-deep) 76%,var(--burgundy))),color-mix(in oklch,var(--burgundy) 88%,black);box-shadow:0 16px 32px color-mix(in oklch,black 42%,transparent),0 0 22px color-mix(in oklch,var(--gold) 26%,transparent),inset 0 1px color-mix(in oklch,var(--paper) 24%,transparent);pointer-events:auto}.final-verdict-panel--document{height:min(650px,calc(var(--app-height, 100dvh) - 28px));grid-template-rows:auto auto minmax(0,1fr) auto}.final-verdict-panel--document .final-verdict-text{min-height:0;overflow:hidden}.final-verdict-panel:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:var(--presentation-inset-border);border-radius:6px;pointer-events:none}.final-verdict-panel:after{top:20px;width:104px;height:104px;border-color:color-mix(in oklch,var(--gold) 42%,transparent);background:radial-gradient(circle at 38% 36%,color-mix(in oklch,var(--rose) 22%,transparent),transparent 18%),radial-gradient(circle at 62% 36%,color-mix(in oklch,var(--rose) 22%,transparent),transparent 18%),radial-gradient(circle,color-mix(in oklch,var(--gold) 12%,transparent),transparent 62%);opacity:.64}.final-verdict-panel .menu-kicker{color:color-mix(in oklch,var(--gold) 86%,var(--paper));font-weight:900;letter-spacing:.18em}.final-verdict-seal-mark,.case-closed-seal{justify-self:center;position:relative;width:72px;height:72px;border:1px solid color-mix(in oklch,var(--gold) 66%,transparent);border-radius:50%;background:radial-gradient(circle at 50% 42%,color-mix(in oklch,var(--gold) 16%,transparent),transparent 50%),color-mix(in oklch,var(--ink-deep) 82%,transparent);box-shadow:0 0 26px color-mix(in oklch,var(--gold) 18%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent)}.final-verdict-seal-mark span,.case-closed-seal:before,.case-closed-seal:after{content:"";position:absolute;pointer-events:none}.final-verdict-seal-mark span{display:block;left:50%;top:52%;width:36px;height:28px;transform:translate(-50%,-50%);background:radial-gradient(circle at 31% 24%,var(--rose) 0 28%,transparent 30%),radial-gradient(circle at 69% 24%,var(--rose) 0 28%,transparent 30%),linear-gradient(45deg,transparent 0 31%,color-mix(in oklch,var(--rose) 86%,black) 32% 63%,transparent 64%);opacity:.82}.final-verdict-text{position:relative;z-index:1;color:color-mix(in oklch,var(--ink-deep) 88%,var(--color-warm-ink));padding:clamp(16px,2.3vw,22px) clamp(18px,3vw,28px);border:1px solid color-mix(in oklch,var(--gold) 46%,transparent);background:linear-gradient(0deg,color-mix(in oklch,var(--gold) 12%,transparent) 0 1px,transparent 1px 31px),radial-gradient(circle at 50% 2%,color-mix(in oklch,var(--gold) 13%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in oklch,var(--color-soft-ivory) 88%,var(--paper)),color-mix(in oklch,var(--paper-soft) 88%,var(--gold)));border-radius:7px;box-shadow:0 16px 34px color-mix(in oklch,black 24%,transparent),inset 0 0 0 1px color-mix(in oklch,white 20%,transparent),inset 0 0 22px color-mix(in oklch,var(--gold) 8%,transparent)}.final-verdict-panel .menu-actions{position:relative;z-index:1}.final-verdict-panel .menu-actions button{border-radius:999px}.final-verdict-panel .menu-actions .primary-button{background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 9%,transparent),transparent),linear-gradient(180deg,var(--color-burgundy-hover),color-mix(in oklch,var(--color-burgundy) 84%,black));border-color:color-mix(in oklch,var(--gold) 84%,transparent);color:var(--color-soft-ivory);box-shadow:var(--shadow-button),0 0 28px color-mix(in oklch,var(--gold) 24%,transparent)}.final-verdict-panel--complete{width:min(720px,calc(100vw - 28px))}.final-verdict-panel--complete h1{margin:0;color:var(--color-soft-ivory);font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;text-shadow:0 2px 16px color-mix(in oklch,black 55%,transparent),0 0 28px color-mix(in oklch,var(--gold) 20%,transparent)}.final-verdict-panel--bonus{width:min(710px,calc(100vw - 28px));gap:clamp(12px,2vw,18px);justify-items:center;padding:clamp(22px,3vw,34px);background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 18%,transparent),transparent 45%),radial-gradient(circle at 50% 100%,color-mix(in oklch,var(--rose) 12%,transparent),transparent 42%),linear-gradient(90deg,color-mix(in oklch,var(--color-burgundy) 18%,transparent),transparent 20% 80%,color-mix(in oklch,var(--color-burgundy) 14%,transparent)),linear-gradient(180deg,color-mix(in oklch,var(--ink) 90%,black),color-mix(in oklch,var(--ink-deep) 92%,black));box-shadow:0 28px 82px color-mix(in oklch,black 64%,transparent),0 0 0 1px color-mix(in oklch,var(--paper) 7%,transparent),0 0 52px color-mix(in oklch,var(--gold) 16%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--gold) 14%,transparent),inset 0 0 46px color-mix(in oklch,black 26%,transparent)}.final-verdict-panel--bonus h1{max-width:11ch;font-size:clamp(2.25rem,5vw,3.45rem);text-wrap:balance}.case-closed-confirmation{position:relative;z-index:1;margin:0;color:color-mix(in oklch,var(--gold) 86%,var(--paper));font:800 clamp(.95rem,2vw,1.12rem)/1.2 Georgia,"Palatino Linotype","Times New Roman",serif}.evidence-love-copy{position:relative;z-index:1;display:grid;gap:7px;justify-items:center;margin:0 auto;max-width:32rem;padding:clamp(14px,2.2vw,20px) clamp(16px,3vw,28px);border:1px solid color-mix(in oklch,var(--gold) 46%,transparent);border-radius:7px;background:radial-gradient(circle at 50% 0%,color-mix(in oklch,var(--gold) 15%,transparent),transparent 42%),linear-gradient(135deg,color-mix(in oklch,var(--paper) 9%,transparent),transparent 48%),color-mix(in oklch,var(--ink-deep) 68%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 7%,transparent),0 18px 40px color-mix(in oklch,black 28%,transparent)}.evidence-love-copy p{margin:0;color:var(--paper);font-size:clamp(.95rem,2vw,1.08rem);line-height:1.35}.evidence-love-copy .evidence-love-note{color:color-mix(in oklch,var(--paper-soft) 86%,var(--gold));font-size:clamp(.82rem,1.7vw,.94rem)}.final-bonus-actions{max-width:28rem;margin:0 auto;display:grid;width:min(100%,28rem);gap:10px;justify-items:stretch}.final-bonus-actions button{width:100%}.final-bonus-actions .primary-button{min-height:54px;font-size:clamp(.98rem,2vw,1.12rem)}.final-bonus-actions .secondary-button{justify-self:center;width:auto;min-width:min(100%,13rem);min-height:42px;background:color-mix(in oklch,var(--ink-deep) 74%,transparent);border-color:color-mix(in oklch,var(--gold) 42%,transparent);color:color-mix(in oklch,var(--paper-soft) 88%,var(--gold));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 4%,transparent)}.case-closed-seal{width:clamp(72px,10vw,104px);height:clamp(72px,10vw,104px);border-color:color-mix(in oklch,var(--gold) 78%,transparent);background:radial-gradient(circle at 50% 48%,color-mix(in oklch,var(--rose) 22%,transparent),transparent 44%),radial-gradient(circle,color-mix(in oklch,var(--gold) 16%,transparent),transparent 62%),color-mix(in oklch,var(--ink-deep) 82%,transparent)}.case-closed-seal:before{left:50%;top:50%;width:42px;height:32px;transform:translate(-50%,-50%);background:radial-gradient(circle at 31% 24%,var(--rose) 0 28%,transparent 30%),radial-gradient(circle at 69% 24%,var(--rose) 0 28%,transparent 30%),linear-gradient(45deg,transparent 0 31%,color-mix(in oklch,var(--rose) 88%,black) 32% 63%,transparent 64%)}.case-closed-seal:after{left:50%;top:50%;width:68px;height:68px;transform:translate(-50%,-50%);border:1px solid color-mix(in oklch,var(--gold) 38%,transparent);border-radius:50%}.credits-lines{display:grid;gap:8px}.credits-lines p{color:var(--paper);line-height:1.35}.level-select-overlay,.credits-overlay{isolation:isolate;overflow:hidden;background:var(--presentation-backdrop)}.level-select-overlay:before,.level-select-overlay:after,.credits-overlay:before,.credits-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.level-select-overlay:before,.credits-overlay:before{background:var(--presentation-backdrop-soft)}.level-select-overlay:after,.credits-overlay:after{top:18px;right:18px;bottom:18px;left:18px;border:1px solid color-mix(in oklch,var(--gold) 12%,transparent);border-radius:10px;background:var(--presentation-grid);opacity:.42}.level-select-panel,.credits-panel{position:relative;z-index:1;border:var(--presentation-frame-border);border-radius:8px;background:var(--presentation-stage-surface);box-shadow:var(--presentation-frame-shadow)}.level-select-panel:before,.credits-panel:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:-1;border:var(--presentation-inset-border);border-radius:6px;background:var(--presentation-inset-surface);pointer-events:none}.level-select-panel{width:min(92vw,1400px);height:min(88dvh,900px);max-height:calc(var(--app-height, 100dvh) - 28px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:12px;overflow:hidden}.level-select-header{display:grid;justify-items:center;gap:6px;text-align:center;padding-bottom:6px}.level-select-header h1,.credits-panel h1{color:var(--color-soft-ivory);text-shadow:0 2px 16px color-mix(in oklch,black 55%,transparent),0 0 24px color-mix(in oklch,var(--gold) 16%,transparent)}.level-select-summary{padding:6px 14px;border:1px solid color-mix(in oklch,var(--gold) 38%,transparent);border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 10%,transparent),transparent 50%),color-mix(in oklch,var(--ink-deep) 56%,transparent);color:var(--paper-soft);font-size:.92rem}.level-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;min-height:0;overflow:hidden}.level-row{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-content:space-between;min-height:0;padding:12px;border-color:color-mix(in oklch,var(--gold) 42%,transparent);border-radius:8px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 8%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in oklch,var(--paper) 6%,transparent),transparent 52%),color-mix(in oklch,var(--ink) 84%,black);box-shadow:0 10px 24px color-mix(in oklch,black 18%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 5%,transparent)}.level-row:before{width:6px;background:linear-gradient(180deg,color-mix(in oklch,var(--gold) 86%,var(--paper)),var(--color-burgundy))}.level-row:after{content:"";position:absolute;right:12px;top:12px;width:34px;height:34px;border:1px solid color-mix(in oklch,var(--gold) 32%,transparent);border-radius:50%;background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 62%),color-mix(in oklch,var(--ink-deep) 38%,transparent);opacity:.5;pointer-events:none}.level-row--completed{border-color:color-mix(in oklch,var(--gold) 70%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 14%,transparent),transparent 36%),color-mix(in oklch,var(--ink) 84%,black);box-shadow:0 11px 26px color-mix(in oklch,black 20%,transparent),0 0 22px color-mix(in oklch,var(--gold) 12%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--gold) 10%,transparent)}.level-row--completed:after{opacity:.9;border-color:color-mix(in oklch,var(--gold) 68%,transparent);background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 42%,transparent),transparent 62%),color-mix(in oklch,var(--ink-deep) 55%,transparent);box-shadow:0 0 18px color-mix(in oklch,var(--gold) 18%,transparent)}.level-row--playable{border-color:color-mix(in oklch,var(--gold) 76%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--rose) 16%,transparent),transparent 36%),radial-gradient(circle at 82% 50%,color-mix(in oklch,var(--gold) 12%,transparent),transparent 32%),color-mix(in oklch,var(--ink) 84%,black)}.level-row--locked,.level-row--coming-soon{filter:saturate(.72);border-color:color-mix(in oklch,var(--color-locked-brass) 55%,transparent)}.level-row--locked:before,.level-row--coming-soon:before{background:linear-gradient(180deg,var(--color-locked-brass),color-mix(in oklch,var(--ink) 72%,black))}.level-row-copy{padding-right:24px;min-width:0;min-height:0;align-content:start}.level-number-chip,.level-status-chip{justify-self:start;display:inline-flex;align-items:center;gap:.45em;min-height:26px;padding:4px 9px;border:1px solid color-mix(in oklch,var(--gold) 42%,transparent);border-radius:999px;background:color-mix(in oklch,var(--ink-deep) 54%,transparent);color:color-mix(in oklch,var(--gold) 86%,var(--paper-soft));font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.level-status-chip{justify-self:start;color:var(--paper-soft);letter-spacing:.04em}.level-row--completed .level-status-chip{color:var(--gold);border-color:color-mix(in oklch,var(--gold) 62%,transparent);background:color-mix(in oklch,var(--gold) 13%,var(--ink))}.level-row--playable .level-status-chip{color:var(--color-soft-ivory);border-color:color-mix(in oklch,var(--gold) 72%,transparent);background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent),color-mix(in oklch,var(--color-burgundy) 60%,var(--ink))}.level-row strong{color:var(--color-soft-ivory);font-size:clamp(1rem,1.45vw,1.22rem);line-height:1.12;min-width:0}.level-row span:not(.level-number-chip),.level-row p:not(.level-status-chip){color:var(--paper-soft)}.level-chain-hint{display:-webkit-box;overflow:hidden;font-size:.82rem;line-height:1.18;color:color-mix(in oklch,var(--gold) 68%,var(--paper-soft))!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}.level-row button{width:100%}.level-row button,.level-select-panel>button,.credits-panel button,.settings-panel button,.reset-confirmation-panel button{border-radius:999px}.level-row--playable button:not(:disabled){background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 8%,transparent),transparent),linear-gradient(180deg,var(--color-burgundy-hover),color-mix(in oklch,var(--color-burgundy) 82%,black));border-color:color-mix(in oklch,var(--gold) 78%,transparent);color:var(--color-soft-ivory);box-shadow:0 0 24px color-mix(in oklch,var(--gold) 18%,transparent)}.case-closed-banner{justify-self:center;border-color:color-mix(in oklch,var(--gold) 68%,transparent);border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 18%,transparent),transparent 52%),color-mix(in oklch,var(--ink) 84%,black);color:var(--color-soft-ivory);box-shadow:0 0 24px color-mix(in oklch,var(--gold) 16%,transparent)}.settings-panel,.reset-confirmation-panel{justify-self:center;width:min(760px,100%);padding:clamp(16px,2.4vw,22px);border-color:color-mix(in oklch,var(--gold) 56%,transparent);border-radius:8px;background:radial-gradient(ellipse at 50% 0%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 50%),linear-gradient(90deg,color-mix(in oklch,var(--rose) 9%,transparent),transparent 36%),color-mix(in oklch,var(--ink-deep) 58%,var(--ink));box-shadow:0 16px 32px color-mix(in oklch,black 28%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 6%,transparent),inset 0 0 22px color-mix(in oklch,black 18%,transparent)}.settings-panel h2,.reset-confirmation-panel h2{color:var(--color-soft-ivory)}.settings-option-row{justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid color-mix(in oklch,var(--gold) 30%,transparent);border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,var(--paper) 6%,transparent),transparent),color-mix(in oklch,var(--ink) 78%,black)}.settings-option-row span{flex:1}.settings-option-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:0 0 auto;width:48px;height:26px;border:1px solid color-mix(in oklch,var(--gold) 54%,transparent);border-radius:999px;background:color-mix(in oklch,var(--ink-deep) 72%,black);box-shadow:inset 0 0 10px color-mix(in oklch,black 26%,transparent)}.settings-option-row input:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--paper-soft);box-shadow:0 0 0 1px color-mix(in oklch,var(--gold) 22%,transparent);transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.settings-option-row input:checked{background:linear-gradient(180deg,color-mix(in oklch,var(--gold) 16%,transparent),transparent),color-mix(in oklch,var(--color-burgundy) 68%,var(--ink))}.settings-option-row input:checked:after{transform:translate(22px);background:var(--color-gold-bright);box-shadow:0 0 12px color-mix(in oklch,var(--gold) 36%,transparent)}.settings-option-row input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.reset-confirmation-panel{border-color:color-mix(in oklch,var(--rose) 56%,var(--gold))}.reset-confirmation-panel p:not(.menu-kicker){color:var(--paper-soft)}.reset-confirmation-panel .danger-button{border-color:color-mix(in oklch,var(--rose) 64%,var(--gold));background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent),linear-gradient(180deg,color-mix(in oklch,var(--color-burgundy) 76%,var(--ink)),color-mix(in oklch,var(--color-red-shadow) 78%,var(--ink)));color:var(--color-soft-ivory)}.credits-panel{width:min(780px,calc(100vw - 28px));max-height:min(620px,calc(var(--app-height, 100dvh) - 28px));justify-items:center;text-align:center}.credits-seal{width:72px;height:72px;border:1px solid color-mix(in oklch,var(--gold) 66%,transparent);border-radius:50%;background:radial-gradient(circle at 50% 42%,color-mix(in oklch,var(--gold) 16%,transparent),transparent 50%),radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--rose) 15%,transparent),transparent 62%),color-mix(in oklch,var(--ink-deep) 82%,transparent);box-shadow:0 0 26px color-mix(in oklch,var(--gold) 18%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent)}.credits-lines{width:min(100%,650px);gap:10px;padding:clamp(14px,2.2vw,20px);border:1px solid color-mix(in oklch,var(--gold) 44%,transparent);border-radius:7px;background:linear-gradient(0deg,color-mix(in oklch,var(--gold) 10%,transparent) 0 1px,transparent 1px 30px),linear-gradient(135deg,color-mix(in oklch,var(--color-soft-ivory) 88%,var(--paper)),color-mix(in oklch,var(--paper-soft) 88%,var(--gold)));box-shadow:0 16px 32px color-mix(in oklch,black 20%,transparent),inset 0 0 0 1px color-mix(in oklch,white 18%,transparent)}.credits-lines p{color:color-mix(in oklch,var(--ink-deep) 86%,var(--color-warm-ink))}.credit-line:first-child,.credit-line:nth-child(2){color:color-mix(in oklch,var(--color-burgundy) 82%,var(--ink-deep));font-weight:800}.puzzle-overlay:before,.puzzle-overlay:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.puzzle-overlay:before{background:var(--presentation-backdrop)}.puzzle-overlay:after{top:18px;right:18px;bottom:18px;left:18px;border:1px solid color-mix(in oklch,var(--gold) 10%,transparent);border-radius:10px;background:var(--presentation-grid);opacity:.42}.puzzle-panel{position:relative;z-index:1;width:min(calc(100vw - 56px),1500px);height:min(calc(var(--app-height, 100dvh) - 56px),900px);max-height:calc(var(--app-height, 100dvh) - 28px);gap:14px;padding:clamp(18px,2.7vw,28px);border:var(--presentation-frame-border);border-radius:8px;background:var(--presentation-stage-surface);box-shadow:var(--presentation-frame-shadow)}.puzzle-panel:before{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;border:var(--presentation-inset-border);border-radius:6px;pointer-events:none}.puzzle-panel:after{content:"";position:absolute;left:32px;right:32px;top:14px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--gold) 58%,transparent),transparent);box-shadow:0 5px 20px color-mix(in oklch,var(--gold) 14%,transparent);pointer-events:none}.case-mosaic-panel,.case-timeline-panel,.rebuild-panel,.witness-lens-panel,.document-order-panel,.archive-detail-panel,.echo-path-panel,.tactile-panel,.case-board-panel,.evidence-board-panel{width:min(calc(100vw - 56px),1500px)}.puzzle-panel h1{color:var(--color-soft-ivory);font-size:clamp(1.75rem,3vw,2.35rem);letter-spacing:.01em;text-shadow:0 2px 14px color-mix(in oklch,black 54%,transparent),0 0 20px color-mix(in oklch,var(--gold) 13%,transparent)}.puzzle-kicker{color:color-mix(in oklch,var(--gold) 88%,var(--paper));font-weight:800;letter-spacing:.17em}.case-mosaic-heading,.case-timeline-heading,.rebuild-heading,.witness-lens-heading,.archive-detail-heading,.echo-path-heading,.tactile-heading,.case-board-heading{position:relative;padding-bottom:8px}.case-mosaic-heading:after,.case-timeline-heading:after,.rebuild-heading:after,.witness-lens-heading:after,.archive-detail-heading:after,.echo-path-heading:after,.tactile-heading:after,.case-board-heading:after{content:"";justify-self:center;width:min(360px,64%);height:1px;margin-top:5px;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--gold) 62%,transparent),transparent)}.case-mosaic-subtitle,.case-timeline-subtitle,.rebuild-subtitle,.witness-lens-subtitle,.archive-detail-subtitle,.echo-path-subtitle,.tactile-subtitle,.case-board-subtitle{color:color-mix(in oklch,var(--gold) 84%,var(--paper-soft))}.puzzle-instruction{border-color:color-mix(in oklch,var(--gold) 50%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 16%,transparent),transparent 32%),color-mix(in oklch,var(--paper) 11%,var(--ink));color:var(--paper);box-shadow:inset 4px 0 color-mix(in oklch,var(--gold) 70%,transparent)}.puzzle-feedback{border-color:color-mix(in oklch,var(--gold) 34%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--rose) 10%,transparent),transparent 36%),color-mix(in oklch,var(--ink-deep) 58%,var(--ink));color:var(--paper-soft);box-shadow:inset 0 0 18px color-mix(in oklch,black 15%,transparent);pointer-events:none}.document-card,.document-tray,.document-file,.case-mosaic-tray,.case-mosaic-progress,.case-timeline-tray,.case-timeline-progress,.rebuild-piece-list,.witness-note-card,.witness-toolbox,.witness-statement-board,.archive-toolbox,.echo-prompt-card,.echo-question-stage,.echo-door-stage,.echo-key-stage,.lantern-sidecar,.argument-block-tray,.constellation-tray,.verdict-fragment-tray,.case-board-summary,.evidence-board-summary{border-color:color-mix(in oklch,var(--gold) 48%,transparent);background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent 45%),color-mix(in oklch,var(--ink) 84%,black);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 5%,transparent),0 10px 24px color-mix(in oklch,black 16%,transparent)}.case-mosaic-frame,.case-timeline-board,.rebuild-frame,.archive-page,.lantern-garden,.argument-tower-frame,.constellation-sky,.verdict-seal,.case-board-surface{border-color:color-mix(in oklch,var(--gold) 66%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--paper) 8%,transparent),inset 0 0 30px color-mix(in oklch,black 16%,transparent),0 18px 34px color-mix(in oklch,black 22%,transparent)}.case-mosaic-frame,.case-timeline-board,.lantern-garden,.argument-tower-frame,.constellation-sky,.verdict-seal{background-color:color-mix(in oklch,var(--ink-deep) 86%,black)}.case-mosaic-board,.rebuild-board,.case-timeline-slot,.rebuild-slot,.echo-question-slot,.argument-tower-slot,.constellation-node,.verdict-seal-slot,.case-board-slot{border-color:color-mix(in oklch,var(--gold) 34%,transparent);background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 8%,transparent),transparent 48%),color-mix(in oklch,var(--ink-deep) 62%,var(--ink))}.case-mosaic-slot,.case-timeline-slot,.rebuild-slot,.echo-question-slot,.argument-tower-slot,.constellation-node,.verdict-seal-slot{border-color:color-mix(in oklch,var(--gold) 34%,transparent)}.case-mosaic-piece,.case-mosaic-placed-piece,.case-timeline-task,.case-timeline-placed-task,.rebuild-piece,.rebuild-placed-piece,.document-card,.witness-tool,.witness-statement,.archive-tool,.archive-bookmark,.echo-question-tile,.echo-placed-question,.echo-key-token,.garden-lantern,.flame-token,.argument-block,.argument-placed-block,.constellation-star,.constellation-placed-star,.verdict-fragment,.verdict-placed-fragment,.case-board-tile,.evidence-board-card,.evidence-board-choice,.evidence-linking-card{border-color:color-mix(in oklch,var(--gold) 42%,transparent);background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 9%,transparent),transparent 54%),linear-gradient(90deg,color-mix(in oklch,var(--color-burgundy) 7%,transparent),transparent 38%),color-mix(in oklch,var(--ink) 82%,black);box-shadow:0 9px 20px color-mix(in oklch,black 18%,transparent),inset 0 0 16px color-mix(in oklch,var(--gold) 7%,transparent)}.case-mosaic-piece:hover,.case-timeline-task:hover,.rebuild-piece:hover,.document-card:hover,.witness-tool:hover,.witness-statement:hover,.archive-tool:hover,.archive-bookmark:hover,.echo-question-tile:hover,.garden-lantern:hover,.argument-block:hover,.constellation-star:hover,.verdict-fragment:hover,.case-board-tile:hover,.evidence-board-card:hover,.evidence-board-choice:hover,.evidence-linking-card:hover{border-color:color-mix(in oklch,var(--gold) 78%,transparent);box-shadow:0 12px 24px color-mix(in oklch,black 22%,transparent),0 0 0 2px color-mix(in oklch,var(--gold) 14%,transparent),inset 0 0 16px color-mix(in oklch,var(--gold) 10%,transparent)}.case-mosaic-piece.is-selected,.case-mosaic-placed-piece.is-selected,.case-timeline-task.is-selected,.case-timeline-placed-task.is-selected,.rebuild-piece.is-selected,.rebuild-placed-piece.is-selected,.document-card.is-selected,.witness-tool.is-selected,.archive-tool.is-selected,.echo-question-tile.is-selected,.echo-placed-question.is-selected,.echo-key-token.is-selected,.flame-token.is-selected,.argument-block.is-selected,.argument-placed-block.is-selected,.constellation-star.is-selected,.constellation-placed-star.is-selected,.verdict-fragment.is-selected,.verdict-placed-fragment.is-selected,.case-board-tile.is-selected,.evidence-board-card.is-selected,.evidence-board-choice.is-selected,.evidence-linking-card.is-selected{outline:2px solid var(--gold);outline-offset:-2px;border-color:color-mix(in oklch,var(--gold) 86%,transparent);background:linear-gradient(90deg,color-mix(in oklch,var(--gold) 16%,transparent),transparent 44%),color-mix(in oklch,var(--ink) 82%,black);box-shadow:0 0 0 3px color-mix(in oklch,var(--gold) 23%,transparent),0 0 24px color-mix(in oklch,var(--gold) 24%,transparent),inset 0 0 16px color-mix(in oklch,var(--gold) 12%,transparent)}.case-mosaic-slot.is-drop-available,.case-timeline-slot.is-drop-available,.case-mosaic-piece-list.is-drop-available,.case-timeline-task-list.is-drop-available,.rebuild-slot.is-drop-available,.rebuild-piece-list.is-drop-available,.witness-statement.is-drop-available,.archive-detail-zone.is-drop-available,.echo-question-slot.is-drop-available,.echo-door.is-drop-available,.garden-lantern.is-drop-available,.argument-tower-slot.is-drop-available,.argument-block-tray.is-drop-available,.constellation-node.is-drop-available,.constellation-tray.is-drop-available,.verdict-seal-slot.is-drop-available,.verdict-fragment-tray.is-drop-available{border-color:color-mix(in oklch,var(--gold) 78%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold) 32%,transparent),0 0 18px color-mix(in oklch,var(--gold) 15%,transparent)}.case-mosaic-slot.is-drop-hover,.case-timeline-slot.is-drop-hover,.case-mosaic-piece-list.is-drop-hover,.case-timeline-task-list.is-drop-hover,.rebuild-slot.is-drop-hover,.rebuild-piece-list.is-drop-hover,.witness-statement.is-drop-hover,.archive-detail-zone.is-drop-hover,.echo-question-slot.is-drop-hover,.echo-door.is-drop-hover,.garden-lantern.is-drop-hover,.argument-tower-slot.is-drop-hover,.argument-block-tray.is-drop-hover,.constellation-node.is-drop-hover,.constellation-tray.is-drop-hover,.verdict-seal-slot.is-drop-hover,.verdict-fragment-tray.is-drop-hover{border-color:var(--gold);background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 20%,transparent),transparent 58%),color-mix(in oklch,var(--ink) 78%,black);box-shadow:inset 0 0 22px color-mix(in oklch,var(--gold) 20%,transparent),0 0 22px color-mix(in oklch,var(--gold) 22%,transparent)}.case-mosaic-slot.is-correct,.case-timeline-slot.is-correct,.rebuild-slot.is-correct,.echo-question-slot.is-correct,.argument-tower-slot.is-stable,.constellation-node.is-correct,.verdict-seal-slot.is-correct,.case-board-slot.is-filled,.evidence-board-card.is-linked{border-color:var(--gold);box-shadow:inset 0 0 18px color-mix(in oklch,var(--gold) 18%,transparent),0 0 20px color-mix(in oklch,var(--gold) 15%,transparent)}.witness-statement.is-marked,.archive-detail-zone.is-marked,.garden-lantern.is-wrong,.argument-tower-slot.is-unstable,.constellation-node.is-wrong,.verdict-seal-slot.is-wrong,.argument-block.is-decoy,.argument-placed-block.is-decoy{border-color:color-mix(in oklch,var(--rose) 72%,transparent);box-shadow:0 0 0 1px color-mix(in oklch,var(--rose) 18%,transparent)}.puzzle-actions,.document-card-actions{gap:10px}.document-card-actions button,.puzzle-actions button{min-height:48px;border-color:color-mix(in oklch,var(--gold) 62%,transparent);border-radius:999px;padding:0 18px;background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 8%,transparent),transparent),color-mix(in oklch,var(--ink) 82%,black);box-shadow:0 10px 24px color-mix(in oklch,black 22%,transparent),inset 0 0 14px color-mix(in oklch,var(--gold) 7%,transparent)}.puzzle-actions .primary-button{background:linear-gradient(180deg,color-mix(in oklch,var(--paper) 10%,transparent),transparent 46%),linear-gradient(180deg,var(--color-burgundy-hover),color-mix(in oklch,var(--color-burgundy) 82%,black));border-color:color-mix(in oklch,var(--gold) 84%,transparent);color:var(--color-soft-ivory);box-shadow:var(--shadow-button),0 0 0 1px color-mix(in oklch,var(--gold) 18%,transparent),0 0 26px color-mix(in oklch,var(--gold) 22%,transparent),inset 0 0 14px color-mix(in oklch,var(--rose) 18%,transparent)}.document-card-actions button:hover,.puzzle-actions button:hover{background:linear-gradient(180deg,color-mix(in oklch,var(--gold) 10%,transparent),transparent),color-mix(in oklch,var(--color-gold-deep) 24%,var(--ink))}.puzzle-actions button:disabled,.document-card-actions button:disabled{cursor:not-allowed;opacity:.48;color:var(--color-text-disabled);border-color:color-mix(in oklch,var(--color-locked-brass) 58%,transparent);box-shadow:none}.case-mosaic-stamp,.case-timeline-stamp,.rebuild-stamp,.archive-stamp,.case-board-stamp{background:linear-gradient(135deg,color-mix(in oklch,var(--paper) 7%,transparent),transparent),color-mix(in oklch,var(--ink-deep) 86%,transparent);text-shadow:0 0 12px color-mix(in oklch,var(--gold) 32%,transparent)}.archive-bookmark-mark,.witness-stamp-mark{background:linear-gradient(180deg,var(--rose),color-mix(in oklch,var(--rose) 70%,black));color:var(--color-soft-ivory);border:1px solid color-mix(in oklch,var(--gold) 34%,transparent)}.unfinished-letter-core,.verdict-seal-core{background:radial-gradient(circle at 50% 42%,color-mix(in oklch,var(--gold) 14%,transparent),transparent 62%),color-mix(in oklch,var(--ink) 78%,black);box-shadow:0 0 30px color-mix(in oklch,var(--gold) 16%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--paper) 7%,transparent)}.constellation-sky{background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 13%,transparent),transparent 30%),radial-gradient(circle at 18% 20%,color-mix(in oklch,var(--silver) 28%,transparent),transparent 1.5%),radial-gradient(circle at 78% 16%,color-mix(in oklch,var(--silver) 26%,transparent),transparent 1.5%),radial-gradient(circle at 28% 76%,color-mix(in oklch,var(--silver) 24%,transparent),transparent 1.4%),linear-gradient(180deg,color-mix(in oklch,var(--ink) 92%,black),color-mix(in oklch,var(--ink-deep) 92%,black))}.verdict-seal{background:radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--rose) 13%,transparent),transparent 31%),radial-gradient(circle at 50% 50%,color-mix(in oklch,var(--gold) 10%,transparent),transparent 54%),linear-gradient(180deg,color-mix(in oklch,var(--ink) 90%,black),color-mix(in oklch,var(--ink-deep) 92%,black))}@media(max-width:720px){#game-shell{padding:0}#game-frame{width:100vw;height:100vh;height:var(--app-height, 100dvh)}.menu-panel,.puzzle-panel{gap:10px;padding:14px;max-height:calc(var(--app-height, 100dvh) - 16px)}.menu-panel h1{font-size:clamp(1.45rem,5vw,2rem)}.puzzle-panel h1{font-size:1.35rem}.document-card{grid-template-columns:1fr}.document-card-actions{justify-content:stretch}.document-card-actions button,.puzzle-actions button{flex:1;min-height:52px}.reconstruction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reconstruction-slot{min-height:96px}.contradiction-statement,.cross-examination-choice,.argument-builder-choice{min-height:68px}.memory-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-card{min-height:72px}.pattern-lantern{min-height:76px}.case-mosaic-play-area{grid-template-columns:1fr}.case-mosaic-board{min-height:174px}.case-mosaic-slot{min-height:76px}.case-mosaic-piece-list{grid-template-columns:repeat(3,minmax(0,1fr))}.case-mosaic-piece{min-height:64px;padding:5px}.case-mosaic-piece-art{min-height:42px}.case-mosaic-piece-label{font-size:.66rem}.case-mosaic-progress{gap:10px}.case-timeline-board{padding:12px}.case-timeline-rail{grid-template-columns:minmax(84px,1fr) 18px minmax(84px,1fr) 18px minmax(84px,1fr) 18px minmax(84px,1fr);gap:5px;min-height:136px}.case-timeline-slot{min-height:112px;padding:7px}.case-timeline-segment{height:6px}.case-timeline-task-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-timeline-task,.case-timeline-placed-task{grid-template-columns:28px minmax(0,1fr);gap:6px}.case-timeline-task{min-height:62px;padding:6px}.case-timeline-task-icon{width:28px;height:32px}.case-timeline-task-copy strong{font-size:.74rem}.case-timeline-task-copy span{font-size:.6rem}.case-timeline-tray-header{align-items:start;flex-direction:column;gap:3px}.case-timeline-tray-header p{text-align:left}.case-timeline-progress{gap:10px}.rebuild-play-area,.witness-lens-play-area,.document-order-play-area,.archive-detail-play-area,.echo-path-play-area,.lantern-play-area,.argument-tower-play-area,.constellation-play-area,.verdict-assembly-play-area{grid-template-columns:1fr}.rebuild-board{min-height:174px}.rebuild-slot{min-height:76px}.rebuild-piece-list{grid-template-columns:repeat(3,minmax(0,1fr));min-height:auto}.rebuild-piece{min-height:64px;padding:5px}.rebuild-piece-art{min-height:42px}.rebuild-piece-art.in-slot{min-height:68px}.rebuild-piece-label{font-size:.64rem}.rebuild-progress{gap:10px}.witness-note-card{padding:12px}.witness-toolbox{grid-template-columns:repeat(2,minmax(0,1fr))}.witness-tool{min-height:64px}.witness-tool-icon{width:34px;height:34px}.witness-statement{min-height:68px;padding:8px}.witness-statement-copy{font-size:.84rem}.archive-page{min-height:238px}.archive-original-line{left:48px;top:50px;max-width:54%;padding:6px 9px;font-size:.78rem}.archive-lines{top:96px;right:42px;bottom:34px;left:52px}.archive-detail-zone{width:min(148px,34%);min-height:56px;padding:6px}.archive-detail-label{font-size:.72rem}.archive-detail-meaning,.archive-detail-note{font-size:.58rem}.archive-toolbox{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-progress{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.archive-correction-reveal{left:14px;bottom:14px;min-width:122px;padding:6px 9px}.archive-correction-reveal strong{font-size:.94rem}.archive-silver-key{right:14px;bottom:58px;min-height:38px;padding:6px 9px;font-size:.74rem}.document-order-play-area{grid-template-columns:1fr}.document-tray,.document-file{padding:10px;gap:7px}.document-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.document-card{min-height:48px;padding:8px}.case-file-slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.case-file-slot{min-height:112px;padding:6px}.case-file-card .case-file-symbol{width:24px;height:24px;font-size:.62rem}.echo-question-stage{grid-template-rows:auto auto}.echo-question-tray{grid-template-columns:repeat(3,minmax(0,1fr))}.echo-question-tile,.echo-placed-question{min-height:62px;padding:7px}.echo-question-tile strong,.echo-placed-question strong{font-size:.76rem}.echo-question-tile span,.echo-placed-question span{font-size:.58rem}.echo-door{min-height:108px}.echo-key-token{min-height:62px}.lantern-garden,.constellation-sky,.verdict-seal{min-height:252px}.garden-lantern{width:96px;min-height:62px;padding:6px}.garden-lantern-glow{width:24px;height:30px}.flame-token{width:62px;height:62px}.argument-tower-frame{min-height:246px;padding:12px;gap:7px}.argument-tower-slot{min-height:72px;padding:6px}.argument-block-list,.constellation-star-list,.verdict-fragment-list{grid-template-columns:repeat(3,minmax(0,1fr))}.argument-block,.argument-placed-block,.constellation-star,.constellation-placed-star,.verdict-fragment,.verdict-placed-fragment{min-height:42px;padding:6px;font-size:.68rem}.argument-block span,.argument-placed-block span{display:none}.constellation-node{width:96px;min-height:52px;padding:5px}.constellation-node-label{font-size:.56rem}.constellation-node-empty{font-size:.52rem}.unfinished-letter-core{width:72px;height:52px;font-size:.64rem}.verdict-seal-slot{width:86px;min-height:44px;padding:4px}.verdict-seal-core{width:78px;height:78px;font-size:.72rem}.case-board-path{grid-template-columns:minmax(82px,1fr) 24px minmax(92px,1fr) 24px minmax(92px,1fr) 24px minmax(82px,1fr);gap:5px}.case-board-surface{padding:12px}.case-board-slot{min-height:88px;padding:8px}.case-board-slot strong,.case-board-tile strong{font-size:.88rem}.case-board-slot em,.case-board-tile span{font-size:.72rem}.case-board-tile-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-board-tile{min-height:66px}.case-board-tray-header{align-items:start;flex-direction:column;gap:3px}.evidence-linking-board,.evidence-board-grid{grid-template-columns:1fr}.evidence-linking-card,.evidence-board-card{min-height:64px}.evidence-linking-filed-links{grid-template-columns:1fr}.final-verdict-text{font-size:.9rem;line-height:1.36}}@media(max-height:560px)and (orientation:landscape){.menu-overlay,.puzzle-overlay,.opening-start-overlay,.opening-cinematic-overlay,.vn-overlay{padding:6px}.opening-start-card{gap:10px;padding:20px 28px}.opening-start-card h1{font-size:clamp(2rem,7vmin,3.35rem)}.opening-cinematic-stage{width:calc(100vw - 12px);height:calc(var(--app-height, 100dvh) - 12px);min-height:0}.opening-cinematic-caption{margin-bottom:14px;padding:10px 16px;font-size:clamp(.92rem,2.8vmin,1.1rem)}.title-menu-overlay{padding:clamp(4px,1.4vmin,8px)}.title-menu-panel{width:min(97vw,1280px);min-height:clamp(264px,70dvh,326px);max-height:calc(var(--app-height, 100dvh) - 18px);align-content:center;gap:clamp(28px,7.2vmin,38px);padding:clamp(22px,6vmin,34px) clamp(14px,3.6vw,32px)}.title-menu-panel h1{font-size:clamp(1.72rem,6vmin,2.72rem);line-height:.98}.title-menu-panel .title-logo{max-width:min(23ch,100%);padding-top:clamp(12px,2.6vmin,18px)}.title-menu-panel .title-logo:before{width:clamp(30px,5.5vmin,42px);height:clamp(14px,2.7vmin,20px)}.title-menu-panel .title-logo:after{bottom:clamp(-16px,-3.2vmin,-11px);width:min(320px,74%);height:6px}.title-menu-panel .menu-actions{gap:clamp(7px,1.7vmin,10px)}.title-menu-panel .menu-actions button{min-height:clamp(46px,10.8vmin,52px);min-width:clamp(132px,18vw,190px);padding:0 clamp(9px,2vw,14px);font-size:clamp(.78rem,2.25vmin,.92rem)}.title-menu-panel:before{inset:clamp(8px,1.8vmin,12px)}.title-menu-panel:after{inset:clamp(10px,2.2vmin,14px);opacity:.44}.title-menu-panel .main-menu-actions{width:min(100%,760px);flex-wrap:nowrap;gap:clamp(7px,1.7vmin,10px)}.title-menu-panel .main-menu-button,.title-menu-panel .main-menu-button--primary{flex:1 1 0;min-width:0;min-height:clamp(46px,10.8vmin,52px);padding:0 clamp(9px,2vw,14px);gap:clamp(5px,1.2vmin,8px);letter-spacing:.01em}.title-menu-panel .main-menu-button .ui-icon{--ui-icon-size: clamp(15px, 3.6vmin, 19px)}.title-menu-panel:has(.settings-panel),.title-menu-panel:has(.reset-confirmation-panel){grid-template-columns:minmax(0,1fr) minmax(245px,.72fr);grid-template-rows:auto minmax(0,1fr);align-items:stretch;align-content:stretch;gap:10px 12px}.title-menu-panel:has(.settings-panel) .title-logo,.title-menu-panel:has(.reset-confirmation-panel) .title-logo{grid-column:1;grid-row:1;max-width:min(18ch,100%);padding-top:0;font-size:clamp(1.55rem,6.2vmin,2.4rem)}.title-menu-panel:has(.settings-panel) .title-logo:before,.title-menu-panel:has(.settings-panel) .title-logo:after,.title-menu-panel:has(.reset-confirmation-panel) .title-logo:before,.title-menu-panel:has(.reset-confirmation-panel) .title-logo:after{content:none}.title-menu-panel:has(.settings-panel) .main-menu-actions,.title-menu-panel:has(.reset-confirmation-panel) .main-menu-actions{grid-column:1;grid-row:2;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center}.title-menu-panel:has(.settings-panel) .main-menu-button,.title-menu-panel:has(.reset-confirmation-panel) .main-menu-button{min-width:0;min-height:42px;padding:0 10px;font-size:.72rem}.title-menu-panel:has(.settings-panel) .settings-panel,.title-menu-panel:has(.reset-confirmation-panel) .reset-confirmation-panel{grid-column:2;grid-row:1 / span 2;align-self:stretch;align-content:center;width:100%;padding:10px;gap:7px}.settings-panel h2,.reset-confirmation-panel h2{margin:0;font-size:1rem}.settings-option-row{min-height:36px;padding:6px 9px;font-size:.75rem}.settings-panel button,.reset-confirmation-panel button{min-height:34px;padding:0 10px;font-size:.72rem}.level-select-panel{width:calc(100vw - 12px);max-height:calc(var(--app-height, 100dvh) - 12px);grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:6px;padding:10px 12px}.level-select-header{grid-template-columns:auto 1fr auto;align-items:center;justify-items:start;gap:6px 10px;padding-bottom:0;text-align:left}.level-select-header .menu-kicker{display:none}.level-select-header h1{margin:0;font-size:clamp(1.18rem,4.8vmin,1.55rem);line-height:1}.level-select-summary{justify-self:end;padding:4px 9px;font-size:.68rem;line-height:1;white-space:nowrap}.case-closed-banner{padding:5px 9px;font-size:.68rem;line-height:1}.level-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px;min-height:0;align-content:stretch;overflow:hidden}.level-row{grid-template-columns:1fr;min-height:0;gap:5px;align-content:space-between;padding:7px 8px}.level-row:after{display:none}.level-row-copy{padding-right:0;gap:3px;min-width:0}.level-number-chip,.level-status-chip{min-height:19px;padding:2px 6px;font-size:.54rem;line-height:1}.level-row strong{font-size:.75rem;line-height:1.05}.level-row span:not(.level-number-chip),.level-row p:not(.level-status-chip),.level-chain-hint{min-width:0;overflow:hidden;font-size:.6rem;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.level-row button,.level-select-panel>button{min-height:34px;padding:0 9px;font-size:.7rem;line-height:1}.level-select-panel>button{justify-self:center;min-width:min(220px,46vw)}.puzzle-panel{width:calc(100vw - 12px);max-height:calc(var(--app-height, 100dvh) - 12px);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:6px;padding:10px 12px}.puzzle-kicker{font-size:.56rem;letter-spacing:.12em}.puzzle-panel h1{font-size:clamp(1rem,4.3vmin,1.34rem);line-height:1.03}.puzzle-instruction,.puzzle-feedback{padding:6px 8px;font-size:.72rem;line-height:1.16}.puzzle-actions{gap:6px}.document-card-actions button,.puzzle-actions button{min-height:36px;padding:0 10px;font-size:.72rem}.case-mosaic-play-area,.case-timeline-play-area,.rebuild-play-area,.witness-lens-play-area,.document-order-play-area,.archive-detail-play-area,.echo-path-play-area,.lantern-play-area,.argument-tower-play-area,.constellation-play-area,.verdict-assembly-play-area{min-height:0;overflow:hidden}.final-verdict-panel,.credits-panel{width:calc(100vw - 12px);max-height:calc(var(--app-height, 100dvh) - 12px);gap:7px;padding:10px 12px}.final-verdict-image-panel{width:calc(100vw - 12px);max-height:calc(var(--app-height, 100dvh) - 12px)}.final-verdict-image{max-height:calc(var(--app-height, 100dvh) - 12px);border-radius:6px}.final-verdict-image-actions{right:clamp(10px,2.8vmin,18px);bottom:clamp(10px,2.8vmin,18px)}.final-verdict-image-actions .final-verdict-accept-button{min-height:clamp(40px,9vmin,46px);padding-inline:clamp(14px,3.8vmin,20px);font-size:clamp(.72rem,2.5vmin,.84rem)}.final-verdict-panel--document{grid-template-columns:minmax(0,1fr) minmax(168px,.32fr);grid-template-rows:auto auto minmax(0,1fr);align-items:stretch}.final-verdict-panel--document .final-verdict-text{grid-column:1;grid-row:1 / span 3;height:100%;align-self:stretch}.final-verdict-panel--document .final-verdict-seal-mark{grid-column:2;grid-row:1}.final-verdict-panel--document .menu-kicker{grid-column:2;grid-row:2}.final-verdict-panel--document .menu-actions{grid-column:2;grid-row:3;align-self:end;justify-content:stretch}.final-verdict-seal-mark,.credits-seal{width:42px;height:42px}.final-verdict-panel:after{width:58px;height:58px}.final-verdict-panel .menu-kicker,.credits-panel .menu-kicker{font-size:.58rem;line-height:1}.final-verdict-text{padding:8px 10px;font-size:clamp(.68rem,2.25vmin,.82rem);line-height:1.18}.credits-panel h1,.final-verdict-panel--complete h1{font-size:clamp(1.15rem,4.6vmin,1.55rem)}.final-verdict-panel--bonus{gap:6px;padding:10px 12px}.final-verdict-panel--bonus .case-closed-seal{width:38px;height:38px}.case-closed-confirmation{font-size:.72rem;line-height:1.05}.evidence-love-copy{gap:2px;max-width:30rem;padding:6px 9px}.evidence-love-copy p{font-size:.72rem;line-height:1.12}.evidence-love-copy .evidence-love-note{font-size:.66rem}.credits-lines{gap:4px;padding:8px 10px}.credits-lines p{font-size:.72rem;line-height:1.12}.final-verdict-panel .menu-actions button,.credits-panel button{min-height:34px;padding:0 10px;font-size:.7rem}.final-verdict-panel .final-bonus-actions [data-testid=open-evidence-love]{min-height:42px}.final-bonus-actions{width:min(100%,20rem);gap:6px}.final-bonus-actions .secondary-button{min-height:34px}}@media(max-height:500px)and (orientation:landscape){.puzzle-overlay{padding:4px}.puzzle-panel{width:calc(100vw - 8px);height:calc(var(--app-height, 100dvh) - 8px);max-height:calc(var(--app-height, 100dvh) - 8px);gap:4px;padding:7px 8px;overflow:hidden}.case-mosaic-panel,.case-timeline-panel,.rebuild-panel,.witness-lens-panel,.archive-detail-panel,.echo-path-panel,.tactile-panel,.final-verdict-assembly-panel{width:calc(100vw - 8px)}.case-mosaic-heading,.case-timeline-heading,.rebuild-heading,.witness-lens-heading,.archive-detail-heading,.echo-path-heading,.tactile-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;text-align:left}.puzzle-kicker{font-size:.5rem;line-height:1}.puzzle-panel h1{min-width:0;overflow:hidden;font-size:clamp(.9rem,3.6vmin,1.15rem);line-height:1;text-overflow:ellipsis;white-space:nowrap}.case-mosaic-subtitle,.case-timeline-subtitle,.rebuild-subtitle,.witness-lens-subtitle,.archive-detail-subtitle,.echo-path-subtitle,.tactile-subtitle{display:none}.puzzle-instruction{grid-column:1 / -1}.puzzle-instruction,.puzzle-feedback{min-height:0;overflow:hidden;padding:4px 7px;font-size:.64rem;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.puzzle-feedback{min-height:20px}.puzzle-actions{justify-content:end;gap:4px;min-height:30px}.document-card-actions button,.puzzle-actions button{min-height:30px;padding:0 8px;font-size:.62rem}.case-mosaic-panel,.rebuild-panel{grid-template-rows:auto minmax(0,1fr) auto auto auto}.case-mosaic-play-area,.rebuild-play-area{grid-template-columns:minmax(0,1fr) minmax(150px,.45fr);gap:6px;min-height:0;height:100%}.case-mosaic-frame,.rebuild-frame{min-height:0;height:100%;padding:6px}.case-mosaic-board,.rebuild-board{min-height:0;height:100%;gap:3px;padding:4px}.case-mosaic-slot,.rebuild-slot{min-height:0}.case-mosaic-tray,.rebuild-tray{min-height:0;padding:6px;gap:4px;overflow:hidden}.case-mosaic-tray-header h2,.rebuild-tray-header h2{font-size:.66rem}.case-mosaic-tray-header p,.rebuild-tray-header p{display:none}.case-mosaic-piece-list,.rebuild-piece-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-height:0;padding:0}.case-mosaic-piece,.rebuild-piece{min-height:44px;padding:3px;gap:2px}.case-mosaic-piece-art,.rebuild-piece-art{min-height:26px}.case-mosaic-piece-label,.rebuild-piece-label{font-size:.52rem}.case-mosaic-progress,.rebuild-progress{padding:3px 7px;gap:8px}.case-mosaic-progress p,.rebuild-progress p{font-size:.62rem}.case-mosaic-payoff{left:6px;right:6px;bottom:6px;gap:4px}.case-mosaic-payoff-item{min-height:28px;grid-template-columns:18px minmax(0,1fr);gap:4px;padding:3px 5px;font-size:.48rem}.case-mosaic-payoff-item>span{width:18px;height:14px}.case-timeline-panel{grid-template-columns:minmax(0,1fr) minmax(185px,.45fr);grid-template-rows:auto minmax(0,1fr) auto auto}.case-timeline-heading{grid-column:1 / -1}.case-timeline-board{grid-column:1;grid-row:2;min-height:0;height:100%;padding:6px}.case-timeline-tray{grid-column:2;grid-row:2;min-height:0;height:100%;padding:6px;gap:4px;overflow:hidden}.case-timeline-progress{grid-column:1;grid-row:3;padding:3px 7px;gap:8px}.case-timeline-panel .puzzle-actions{grid-column:2;grid-row:3}.case-timeline-panel .puzzle-feedback{grid-column:1 / -1;grid-row:4}.case-timeline-rail{grid-template-columns:minmax(70px,1fr) 14px minmax(70px,1fr) 14px minmax(70px,1fr) 14px minmax(70px,1fr);gap:4px;min-height:0;height:100%;padding-top:4px}.case-timeline-slot{min-height:0;height:100%;padding:4px;gap:3px}.case-timeline-empty{min-height:0;font-size:.52rem}.case-timeline-stop-label{padding:2px 5px;font-size:.52rem}.case-timeline-tray-header h2{font-size:.66rem}.case-timeline-tray-header p{display:none}.case-timeline-task-list{grid-template-columns:1fr;gap:4px;min-height:0}.case-timeline-task,.case-timeline-placed-task{grid-template-columns:20px minmax(0,1fr);gap:4px;min-height:34px;padding:3px}.case-timeline-task-icon{width:20px;height:24px}.case-timeline-task-copy strong{font-size:.58rem}.case-timeline-task-copy span{display:none}.document-order-panel{grid-template-rows:auto minmax(0,1fr) auto auto}.deposition-order-panel .document-order-heading{gap:2px}.deposition-order-panel .puzzle-kicker{font-size:.52rem;line-height:1}.deposition-order-panel .document-order-heading h1{font-size:1rem;line-height:1}.deposition-order-panel .case-mosaic-subtitle{display:none}.deposition-order-panel .puzzle-instruction{padding:3px 6px;font-size:.56rem;line-height:1.05}.deposition-order-panel .puzzle-feedback.is-empty{display:none}.document-order-play-area{grid-template-columns:minmax(156px,.32fr) minmax(0,1fr);gap:6px;min-height:0}.case-file-sorting-play-area{grid-template-columns:minmax(316px,.52fr) minmax(0,1fr)}.document-tray,.document-file{min-height:0;padding:6px;gap:5px;overflow:hidden}.document-tray h2,.document-file-title{font-size:.62rem;line-height:1}.document-tray p{display:none}.document-card-list{gap:2px}.document-card{min-height:36px;padding:5px;gap:2px}.document-card strong{font-size:.58rem}.document-card span{font-size:.54rem;line-height:1.05}.deposition-strip.has-final-shell{min-height:30px;padding:2px 7px;gap:1px}.deposition-strip.has-final-shell:after{top:2px;right:2px;bottom:2px;left:2px}.deposition-note .deposition-strip.has-final-shell{min-height:36px;padding:4px 8px}.document-card.deposition-strip.has-final-shell>strong{display:inline;margin-right:4px;font-size:.58rem}.document-card.deposition-strip.has-final-shell>span{display:inline;font-size:.52rem;line-height:1.04;-webkit-line-clamp:unset}.document-slot{min-height:44px;padding:5px;gap:4px}.deposition-note.has-final-paper .document-slot{min-height:44px;padding:3px;gap:3px}.document-slot-label,.document-empty-slot{font-size:.48rem}.document-empty-slot{min-height:24px}.deposition-note{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto repeat(2,minmax(44px,1fr)) auto}.deposition-note .document-file-title,.deposition-note .document-archive-code{grid-column:1 / -1}.document-archive-code,.case-file-correction{min-height:28px;padding:4px 7px}.document-archive-code span,.case-file-correction span{font-size:.48rem}.document-archive-code strong,.case-file-correction strong{font-size:.62rem}.case-file-slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.case-file-document-tray .document-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.case-file-document-tray .case-file-card{min-height:38px;padding:5px 6px}.case-file-document-tray .case-file-card strong,.case-file-document-tray .case-file-card>span:not(.case-file-symbol){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-file-document-tray .case-file-card>span:not(.case-file-symbol){font-size:.5rem;line-height:1.03}.case-file-document-tray .case-file-card strong{font-size:.62rem;line-height:1.02}.case-file-slot{min-height:82px;padding:4px}.case-file-card{grid-template-columns:minmax(0,1fr)}.case-file-card .case-file-symbol{display:none}.case-file-silver-key{min-height:30px;grid-template-columns:24px auto;padding:0 9px;font-size:.6rem}.case-file-silver-key span{width:24px;height:16px}.witness-lens-panel{grid-template-rows:auto minmax(0,1fr) auto auto}.witness-lens-play-area{grid-template-columns:minmax(120px,.48fr) minmax(92px,.28fr) minmax(0,1fr);gap:6px;min-height:0}.witness-note-card,.witness-toolbox,.witness-statement-board{min-height:0;padding:6px;gap:5px;overflow:hidden}.witness-note-label{padding:2px 5px;font-size:.52rem}.witness-note-card p{font-size:.66rem;line-height:1.12}.witness-tool{min-height:44px;padding:4px;font-size:.58rem}.witness-toolbox-hint{display:none}.witness-archive-code{gap:4px;padding:3px 5px}.witness-archive-code span{font-size:.48rem}.witness-archive-code strong{font-size:.58rem}.witness-tool-icon{width:24px;height:24px}.witness-statement{grid-template-columns:24px minmax(0,1fr);min-height:44px;padding:5px;gap:5px}.witness-statement-letter{width:22px;height:22px;font-size:.62rem}.witness-statement-copy{font-size:.66rem;line-height:1.08}.witness-hint{display:none}.archive-detail-panel{grid-template-rows:auto minmax(0,1fr) auto auto}.archive-detail-play-area{grid-template-columns:minmax(0,1fr) minmax(130px,.28fr);gap:6px;min-height:0}.archive-page{min-height:0;height:100%}.archive-original-line{left:38px;top:38px;max-width:50%;padding:4px 7px;font-size:.62rem}.archive-lines{top:80px;right:34px;bottom:28px;left:42px}.archive-toolbox{min-height:0;padding:6px;gap:5px;overflow:hidden}.archive-tool{min-height:44px;padding:4px;font-size:.6rem}.archive-tool-icon{width:24px;height:24px}.archive-progress{gap:2px;font-size:.58rem}.archive-detail-zone{min-height:36px;padding:3px}.archive-detail-label{font-size:.56rem}.archive-detail-meaning,.archive-detail-note{font-size:.48rem}.archive-correction-reveal{left:10px;bottom:10px;min-width:104px;padding:4px 7px}.archive-correction-reveal span{font-size:.5rem}.archive-correction-reveal strong{font-size:.76rem}.archive-silver-key{right:10px;bottom:48px;min-height:34px;padding:5px 7px;font-size:.62rem}.archive-silver-key span{width:24px;height:8px}.echo-path-panel{grid-template-rows:auto minmax(0,1fr) auto auto}.echo-path-play-area{grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) minmax(120px,.4fr);gap:6px;min-height:0}.echo-prompt-card{display:none}.echo-question-stage,.echo-door-stage,.echo-key-stage{min-height:0;padding:6px;gap:5px;overflow:hidden}.echo-question-stage{grid-template-rows:minmax(44px,.6fr) minmax(0,1fr)}.echo-question-slot{min-height:44px}.echo-question-tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.echo-question-tile,.echo-placed-question{min-height:38px;padding:4px}.echo-question-tile strong,.echo-placed-question strong{font-size:.58rem}.echo-question-tile span,.echo-placed-question span{display:none}.echo-door-stage{grid-template-columns:repeat(3,minmax(0,1fr))}.echo-door{min-height:84px;padding:5px;font-size:.62rem}.echo-door-arch{top:10px;right:9px;bottom:24px;left:9px}.echo-key-token{min-height:52px;padding:4px}.echo-key-icon{width:42px;height:18px}.echo-key-stage p{font-size:.56rem;line-height:1.05}.echo-success-reveal{gap:3px;padding:4px}.echo-success-reveal.is-waiting{font-size:.5rem}.echo-success-reveal strong{font-size:.52rem}.echo-success-reveal em{display:none}.final-verdict-assembly-panel{grid-template-rows:auto minmax(0,1fr) auto auto}.verdict-assembly-play-area{grid-template-columns:minmax(0,1fr) minmax(190px,.34fr);gap:6px;min-height:0}.final-seal-board-column{gap:5px}.verdict-seal{min-height:0;height:100%}.verdict-seal-slot{width:80px;min-height:34px;padding:3px}.verdict-slot-label,.verdict-slot-empty{font-size:.46rem}.verdict-seal-core{width:62px;height:62px;font-size:.54rem}.verdict-fragment-tray{min-height:0;padding:6px;gap:4px;overflow:hidden}.verdict-progress{font-size:.58rem;line-height:1.05}.verdict-fragment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-height:0}.verdict-fragment,.verdict-placed-fragment{min-height:28px;padding:3px;font-size:.54rem}.final-seal-ring-board{min-height:0}.final-seal-ring-outer{width:min(70%,220px)}.final-seal-ring-middle{width:min(52%,164px)}.final-seal-ring-inner{width:min(34%,108px)}.final-seal-ring-label{max-width:48px;font-size:.48rem}.final-seal-ring-index{font-size:.56rem}.final-seal-ring-controls{gap:5px;padding:4px}.final-seal-ring-control{min-height:34px;padding:5px 6px;font-size:.6rem}.final-seal-clue-panel{padding:6px;gap:4px;overflow:hidden}.final-seal-clue-list{gap:4px}.final-seal-clue{min-height:32px;padding:4px}.final-seal-clue-chapter{font-size:.42rem}.final-seal-clue strong{font-size:.56rem}.final-seal-payoff{min-height:34px;padding:5px}.final-seal-payoff strong,.final-seal-payoff span{font-size:.54rem;line-height:1.08}}@media(prefers-reduced-motion:reduce){.menu-panel button,.puzzle-actions button,.document-card-actions button,.deposition-strip.has-final-shell{animation:none;transition:none}}@media(hover:hover)and (pointer:fine){.touch-controls{opacity:0;pointer-events:none}}@media(max-height:500px),(max-width:900px){.envelope-interaction-panel,.hidden-wall-panel{width:min(98vw,980px);height:calc(var(--app-height, 100dvh) - 12px);gap:6px;padding:10px}.envelope-interaction-stage{grid-template-columns:minmax(180px,1fr) minmax(180px,.82fr);gap:8px}.hidden-wall-stage{grid-template-columns:minmax(132px,.28fr) minmax(240px,1fr);gap:8px}.envelope-clue{width:min(100%,360px)}.envelope-seal-touch{width:58px;height:58px;font-size:.8rem}.clue-token,.hidden-wall-key,.hidden-wall-keyhole,.hidden-wall-mark{min-height:44px;font-size:.78rem}.route-glow-card,.vistula-wave-mark{min-height:36px;font-size:.78rem}.hidden-wall-surface{padding:8px;gap:6px}.hidden-wall-marks{gap:6px}.envelope-interaction-panel .case-mosaic-progress,.hidden-wall-panel .rebuild-progress{gap:8px;font-size:.78rem}.route-tile-panel{gap:6px}.route-tile-body{grid-template-columns:minmax(0,.72fr) minmax(0,1.7fr) minmax(0,.82fr);gap:7px}.route-tile-story,.route-tile-payoff{padding:7px;gap:5px;font-size:.68rem}.route-tile-story span{padding:5px}.route-tile-board{gap:6px;padding:7px}.route-tile{min-height:72px;padding:5px}.route-tile-art{width:min(100%,74px)}.route-tile-label{font-size:.62rem}}.opening-cinematic-overlay{padding:0;background:#02040a}.opening-cinematic-overlay:before{content:none}.opening-cinematic-stage{position:relative;z-index:1;width:100vw;height:var(--app-height, 100dvh);min-height:0;display:block;overflow:hidden;background:#02040a}.opening-cinematic-stage:after{content:"";position:absolute;inset:auto 0 0;z-index:2;height:42%;pointer-events:none;background:linear-gradient(180deg,transparent 0%,color-mix(in oklch,black 36%,transparent) 62%,color-mix(in oklch,black 54%,transparent) 100%)}.opening-cinematic-visual{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:1;transform:none;transition:none;background:#02040a}.opening-cinematic-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1);transition:opacity .9s cubic-bezier(.25,1,.5,1);will-change:opacity,transform}.opening-cinematic-frame.is-active{opacity:1}.opening-cinematic-frame.is-kenburns{animation:opening-movie-drift 4.2s cubic-bezier(.25,1,.5,1) forwards}.opening-cinematic-frame.is-missing{display:none}.opening-cinematic-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,color-mix(in oklch,black 18%,transparent),transparent 22%,transparent 74%,color-mix(in oklch,black 26%,transparent)),linear-gradient(90deg,color-mix(in oklch,black 28%,transparent),transparent 18%,transparent 82%,color-mix(in oklch,black 22%,transparent))}.opening-cinematic-caption{position:absolute;z-index:3;left:max(6vw,env(safe-area-inset-left));bottom:max(8vh,env(safe-area-inset-bottom));justify-self:unset;width:auto;max-width:min(70vw,760px);margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#fff2d2;font-family:Georgia,Palatino Linotype,Times New Roman,serif;font-size:clamp(1.4rem,3vw,3rem);font-weight:700;line-height:1.15;letter-spacing:0;text-align:left;text-wrap:balance;box-shadow:none;text-shadow:0 3px 12px color-mix(in oklch,black 88%,transparent),0 1px 3px color-mix(in oklch,#02040a 92%,transparent),0 0 18px color-mix(in oklch,var(--gold) 34%,transparent);opacity:0;transform:translateY(8px);transition:opacity .62s cubic-bezier(.25,1,.5,1),transform .62s cubic-bezier(.25,1,.5,1);pointer-events:none}.opening-cinematic-caption.is-visible{opacity:1;transform:translateY(0)}.opening-skip-button{position:absolute;z-index:4;right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));min-height:34px;padding:0 11px;border:1px solid color-mix(in oklch,white 36%,transparent);border-radius:999px;background:color-mix(in oklch,black 38%,transparent);color:color-mix(in oklch,var(--paper) 82%,transparent);font:700 .78rem/1 Georgia,Palatino Linotype,serif;letter-spacing:0;box-shadow:0 8px 20px color-mix(in oklch,black 24%,transparent);opacity:.66;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;touch-action:manipulation}.opening-skip-button:hover,.opening-skip-button:focus-visible{border-color:color-mix(in oklch,var(--gold) 80%,white);color:var(--paper);opacity:1;outline:2px solid color-mix(in oklch,var(--gold) 54%,transparent);outline-offset:3px}.opening-cinematic-overlay.is-ending{opacity:0;transition:opacity .42s ease}@keyframes opening-movie-drift{0%{transform:scale(1)}to{transform:scale(1.04)}}.opening-cinematic-overlay[data-reduce-motion=true] .opening-cinematic-frame{transition:opacity .16s ease;transform:none;animation:none}.opening-cinematic-overlay[data-reduce-motion=true] .opening-cinematic-caption{transition:opacity .12s ease;transform:none}@media(max-width:760px),(max-height:430px){.opening-cinematic-caption{left:max(5vw,env(safe-area-inset-left));bottom:max(6vh,env(safe-area-inset-bottom));max-width:82vw;font-size:clamp(1.08rem,4.3vw,1.8rem);line-height:1.12}}.final-image-scene,.vn-overlay.vn-image-backed{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;display:grid;place-items:center;width:100vw;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);overflow:hidden;background:var(--presentation-backdrop)}.final-image-button{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;width:100%;height:var(--app-height, 100dvh);max-width:100vw;max-height:var(--app-height, 100dvh);padding:0;border:0;background:var(--presentation-backdrop);cursor:pointer;touch-action:manipulation;overflow:hidden}.final-image-button:focus-visible{outline:2px solid color-mix(in oklch,var(--gold) 72%,white);outline-offset:-8px}.final-image-frame{display:block;width:auto;height:auto;max-width:100vw;max-height:var(--app-height, 100dvh);object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.evidence-reveal-final-image{max-width:100vw;max-height:var(--app-height, 100dvh)}.evidence-reveal-final-scene,.evidence-reveal-final-button{background:var(--presentation-backdrop)}.vn-overlay.vn-image-backed:before,.vn-overlay.vn-image-backed:after{content:none}.vn-overlay.vn-image-backed .final-image-button{animation:vn-final-image-in .18s ease-out both}.vn-overlay.vn-image-backed[data-reduce-motion=true] .final-image-button{animation:none}@keyframes vn-final-image-in{0%{opacity:.88}to{opacity:1}}@media(max-height:500px)and (orientation:landscape){.final-image-scene,.vn-overlay.vn-image-backed,.final-image-button{height:var(--app-height, 100dvh);min-height:0;padding:0}.final-image-frame{max-width:100vw;max-height:var(--app-height, 100dvh)}.level-select-panel{width:calc(100vw - 10px);height:calc(var(--app-height, 100dvh) - 10px);max-height:calc(var(--app-height, 100dvh) - 10px);gap:5px;padding:9px 10px}.level-select-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;min-height:0}.level-select-header h1{overflow:hidden;font-size:clamp(1.05rem,4.2vmin,1.35rem);line-height:1;text-overflow:ellipsis;white-space:nowrap}.level-select-summary{padding:3px 8px;font-size:.64rem}.level-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;min-height:0;overflow:hidden}.level-row{min-height:0;gap:4px;padding:6px 7px;grid-template-rows:minmax(0,1fr) auto}.level-row-copy{display:grid;gap:3px;min-height:0;overflow:hidden}.level-number-chip,.level-status-chip{max-width:100%;min-height:18px;padding:2px 6px;overflow:hidden;font-size:.52rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.level-row strong{display:-webkit-box;overflow:hidden;font-size:.72rem;line-height:1.05;-webkit-box-orient:vertical;-webkit-line-clamp:2}.level-chain-hint{display:block;overflow:hidden;font-size:.58rem;line-height:1.05;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:initial}.level-row button,.level-select-panel>button{min-height:36px;padding:0 8px;overflow:hidden;font-size:.66rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.level-select-panel>button{min-width:min(210px,44vw)}}@media(max-height:560px)and (orientation:landscape){.trust-light-path-panel{grid-template-rows:auto minmax(0,1fr) auto auto auto}.trust-light-progress{align-self:start;min-height:0}}
