@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/cyberpunk-holt/assets/big-shoulders-display-vietnamese-700-normal-DCH5bIkD.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-display-vietnamese-700-normal-D5dmK5Ek.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/cyberpunk-holt/assets/big-shoulders-display-latin-ext-700-normal-C8xZtiKd.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-display-latin-ext-700-normal-D98SaizC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:700;src:url(/cyberpunk-holt/assets/big-shoulders-display-latin-700-normal-KM2fueoL.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-display-latin-700-normal-CMi6UoP4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/cyberpunk-holt/assets/big-shoulders-display-vietnamese-800-normal-TfqTMNKp.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-display-vietnamese-800-normal-zHzF0To4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/cyberpunk-holt/assets/big-shoulders-display-latin-ext-800-normal-fpv_pHPA.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-display-latin-ext-800-normal-BQnXNQRw.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/cyberpunk-holt/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Big Shoulders Stencil Display;font-style:normal;font-display:swap;font-weight:800;src:url(/cyberpunk-holt/assets/big-shoulders-stencil-display-vietnamese-800-normal-DoiNwiQ4.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-stencil-display-vietnamese-800-normal-BvA7Am0H.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders Stencil Display;font-style:normal;font-display:swap;font-weight:800;src:url(/cyberpunk-holt/assets/big-shoulders-stencil-display-latin-ext-800-normal-Bwhrk1Fl.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-stencil-display-latin-ext-800-normal-BhleyHtn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders Stencil Display;font-style:normal;font-display:swap;font-weight:800;src:url(/cyberpunk-holt/assets/big-shoulders-stencil-display-latin-800-normal-DldhClEd.woff2) format("woff2"),url(/cyberpunk-holt/assets/big-shoulders-stencil-display-latin-800-normal-COi9-ISJ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-vietnamese-400-normal-Dj7eBp_3.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-vietnamese-400-normal-D1YxRXwC.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-ext-400-normal-BDztQS4c.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-ext-400-normal-Bm5hzUPR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-400-normal-DlzeKIMS.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-400-normal-CwTnoNB3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:italic;font-display:swap;font-weight:400;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-vietnamese-400-italic-DeTx1_Xd.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-vietnamese-400-italic-DZBBCCey.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:italic;font-display:swap;font-weight:400;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-ext-400-italic-BiReVAVB.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-ext-400-italic-CCckyEb7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:italic;font-display:swap;font-weight:400;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-400-italic-BhTViTlO.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-400-italic-viA1aKzh.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2) format("woff2"),url(/cyberpunk-holt/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #140d0e;--ink-2: #1e1415;--ink-3: #2b1c1d;--rule: #4a3031;--bone: #efe4d4;--bone-dim: #b4a693;--bone-faint: #7d7064;--red: #e2262f;--red-deep: #8c1219;--tape: #f2c230;--comm: #45d4e6;--team-blue: #3fa9ff;--team-red: #ff5a52;--ok: #7fd08a;--ko: var(--red);--font-display: "Big Shoulders Display", "Arial Narrow", sans-serif;--font-stamp: "Big Shoulders Stencil Display", var(--font-display);--font-text: "Barlow Semi Condensed", "Segoe UI", sans-serif;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-md: 1.0625rem;--fs-lg: 1.375rem;--fs-xl: 2rem;--fs-2xl: 3.5rem;--lh-text: 1.55;--lh-tight: 1.05;--cut: 14px;--cut-sm: 7px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ink);color:var(--bone);font-family:var(--font-text)}.panel{background:var(--ink-2);color:var(--bone);border:1px solid var(--rule);border-radius:0;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}.panel--lifted{filter:drop-shadow(4px 4px 0 var(--red-deep))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink-3);color:var(--bone);border:1px solid var(--rule);border-radius:0;clip-path:polygon(var(--cut-sm) 0,100% 0,100% calc(100% - var(--cut-sm)),calc(100% - var(--cut-sm)) 100%,0 100%,0 var(--cut-sm));font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);padding:8px 18px;cursor:pointer}.btn:hover{background:var(--ink-2);border-color:var(--bone-faint)}.btn:disabled{opacity:.4;cursor:default}.btn--primary{background:var(--red);border-color:var(--red);color:var(--bone)}.btn--primary:hover{background:var(--red-deep);border-color:var(--red-deep)}@keyframes stamp-impact{0%{opacity:0;transform:scale(1.6) rotate(-9deg)}to{opacity:1;transform:scale(1) rotate(-6deg)}}.stamp{display:inline-block;font-family:var(--font-stamp);text-transform:uppercase;letter-spacing:.04em;transform:rotate(-6deg);animation:stamp-impact .18s cubic-bezier(.2,.9,.3,1.3) both}.stamp--ok{color:var(--tape)}.stamp--ko{color:var(--ko)}.stamp--blue{color:var(--team-blue)}.stamp--red{color:var(--team-red)}.portrait{position:relative;display:inline-block;overflow:hidden;flex:none;background:var(--ink-2);border-radius:0}.portrait img,.portrait .portrait-svg{display:block;width:100%;height:100%;object-fit:cover}.halftone{position:relative}.halftone:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(var(--red) 1px,transparent 1.6px);background-size:10px 10px;opacity:.08}.chip-check{display:inline-flex;align-items:center;gap:6px;background:var(--tape);color:var(--ink);font-family:var(--font-text);font-weight:600;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;padding:2px 10px;border-radius:0;clip-path:polygon(var(--cut-sm) 0,100% 0,100% calc(100% - var(--cut-sm)),calc(100% - var(--cut-sm)) 100%,0 100%,0 var(--cut-sm))}:focus-visible{outline:2px solid var(--tape);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ink);color:var(--bone);font-family:var(--font-text);overflow:hidden;overscroll-behavior:none}#app{position:relative;width:100vw;height:100vh;height:100dvh}canvas{display:block;width:100%;height:100%;touch-action:none;-webkit-tap-highlight-color:transparent}.hud{position:absolute;inset:0;pointer-events:none;display:grid;grid-template-columns:260px 1fr 320px;grid-template-rows:auto 1fr auto auto;gap:12px;padding:12px;font-family:var(--font-text)}.hud>*{pointer-events:auto}.hud-top{grid-column:1 / -1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.hud-banner{padding:8px 14px;display:flex;gap:16px;align-items:center;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.hud-banner strong{font-family:var(--font-display);font-weight:700}.hud-order{display:flex;gap:6px;flex-wrap:wrap}.order-chip{display:inline-flex;align-items:center;gap:8px;background:var(--ink-2);border:1px solid var(--rule);border-radius:0;clip-path:polygon(var(--cut-sm) 0,100% 0,100% calc(100% - var(--cut-sm)),calc(100% - var(--cut-sm)) 100%,0 100%,0 var(--cut-sm));color:var(--bone);padding:4px 10px 4px 4px;font-family:var(--font-text);font-size:var(--fs-xs);cursor:pointer}.order-chip.team-blue{border-color:var(--team-blue)}.order-chip.team-red{border-color:var(--team-red)}.order-chip-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.order-chip-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);white-space:nowrap}.order-chip .chip-items{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-sm)}.item-icon{display:inline-block;width:1.25em;height:1.25em;object-fit:contain;vertical-align:-.22em}.chip-items .item-icon{width:1.1em;height:1.1em}.icon-taser{color:var(--tape)}.icon-mine{color:var(--red)}.hud-banner .kit{font-size:var(--fs-xs);color:var(--bone-dim)}.hud-banner .kit.team-blue{color:var(--team-blue)}.hud-banner .kit.team-red{color:var(--team-red)}.hud-camera{margin-left:auto;display:flex;align-items:center;gap:6px;background:var(--ink-2);border:1px solid var(--rule);clip-path:polygon(var(--cut-sm) 0,100% 0,100% calc(100% - var(--cut-sm)),calc(100% - var(--cut-sm)) 100%,0 100%,0 var(--cut-sm));padding:4px 8px;font-size:var(--fs-xs);color:var(--bone-dim)}.hud-camera button{background:transparent;border:1px solid var(--rule);color:var(--bone);border-radius:0;width:30px;height:28px;font-size:var(--fs-md);cursor:pointer}.hud-camera button:hover{border-color:var(--bone-faint)}.order-chip.is-current{background:var(--bone);border-color:var(--bone);color:var(--ink);filter:drop-shadow(3px 3px 0 var(--red-deep))}.order-chip.is-current .order-chip-name{border-bottom:2px solid var(--tape)}.order-chip.is-down{opacity:.4;text-decoration:line-through}.hud-sheet{grid-column:1;grid-row:2;padding:12px;align-self:start;max-height:100%;overflow-y:auto}.hud-sheet-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.hud-sheet-portrait .portrait{width:96px!important;height:128px!important;filter:drop-shadow(3px 3px 0 var(--red-deep))}.hud-sheet-heading{min-width:0}.hud-sheet h2{margin:0 0 4px;font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg);border-bottom:3px solid var(--rule);display:inline-block;padding-bottom:2px}.hud-sheet .role{margin:0;color:var(--bone-dim);font-size:var(--fs-xs)}.hud-sheet h3{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--bone-dim);margin:14px 0 6px}.hud-sheet ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:var(--fs-sm)}.hud-sheet .stats li{display:flex;justify-content:space-between;color:var(--bone-dim);font-variant-numeric:tabular-nums}.hud-sheet .stats strong{color:var(--bone)}.shot-btn{display:block;width:100%;text-align:left;background:transparent;border:none;padding:0;cursor:pointer}.shot-btn .chip-check{width:100%;justify-content:space-between;flex-wrap:wrap;row-gap:2px}.shot-btn:hover .chip-check,.shot-btn:focus-visible .chip-check{background:var(--tape);filter:brightness(1.08)}.muted{color:var(--bone-dim);font-size:var(--fs-xs)}.hud-log{grid-column:3;grid-row:2;padding:10px;overflow-y:auto;font-size:var(--fs-xs);line-height:var(--lh-text)}.log-line{margin:0 0 6px;color:var(--bone-dim)}.log-check{color:var(--bone)}.log-verdict{font-size:var(--fs-sm);margin-right:8px}.log-check-dice{color:var(--tape);font-weight:600;margin-right:8px;font-variant-numeric:tabular-nums}.log-check-detail{color:var(--bone-dim);font-variant-numeric:tabular-nums}.log-result{color:var(--bone);font-weight:700}.log-system{color:var(--bone-faint);font-style:italic}.hud-actions{grid-column:1 / -1;grid-row:3;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.hud-footer{grid-column:1 / -1;grid-row:4;text-align:center;font-size:var(--fs-xs);color:var(--bone-dim)}@media(max-width:1100px){.hud{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto auto auto;gap:8px;padding:8px}.hud-sheet,.hud-log,.hud-actions,.hud-footer{grid-column:1}.hud-sheet{grid-row:2;align-self:start;max-height:32vh}.hud-log{grid-row:4;align-self:end;max-height:16vh}.hud-actions{grid-row:5;align-items:center}.hud-footer{grid-row:6}}.chapter-host{position:absolute;inset:0}.narrative,.draft-screen,.title-screen{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;background:var(--ink)}.title-screen{z-index:50}.narrative [hidden]{display:none!important}.narrative-backdrop{position:relative;flex:1 1 auto;min-height:120px;background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 72%,var(--red-deep) 96%,var(--ink-2) 100%);overflow:hidden}.scene-backdrop-image:not([hidden]){position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.scene-backdrop-image:not([hidden])~.narrative-skyline{display:none}.scene-shell[data-zone=interior] .narrative-backdrop{background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 66%,var(--red-deep) 94%,var(--ink-3) 100%)}.scene-shell[data-zone=transit] .narrative-backdrop{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-3) 74%,var(--rule) 96%,var(--ink-2) 100%)}.scene-shell[data-zone=bal] .narrative-backdrop{background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 68%,var(--red-deep) 95%,var(--ink-3) 100%)}.scene-shell[data-zone=nuit] .narrative-backdrop{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-3) 70%,var(--rule) 95%,var(--ink) 100%)}.scene-shell[data-zone=ville] .narrative-backdrop{background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 70%,var(--red-deep) 92%,var(--ink-2) 100%)}.narrative-backdrop.halftone:before{opacity:.045}.narrative-skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:15%;min-height:34px;max-height:64px;fill:var(--ink);opacity:.92}.narrative-scene-tag{position:absolute;top:20px;left:20px;right:20px;max-width:68ch}.narrative[data-moment="ch1.fourgon:arrivee"] .narrative-scene-tag{right:auto;width:fit-content;padding:4px 8px;background:var(--ink)}.narrative-scene-name{margin:0;color:var(--bone);font-family:var(--font-display);font-weight:800;font-size:clamp(var(--fs-lg),4vw,var(--fs-xl));line-height:var(--lh-tight);text-shadow:2px 2px 0 rgb(from var(--ink) r g b / 60%)}.narrative-scene-room{color:var(--bone-dim);font-weight:700}.narrative-radio-stack{position:absolute;top:16px;right:16px;z-index:20;display:flex;flex-direction:column;gap:8px;width:min(320px,calc(100vw - 32px))}.narrative-radio-cue{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;background:var(--ink-2);border-color:var(--comm);cursor:pointer;animation:radio-in .16s ease-out both}@keyframes radio-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.narrative-radio-body{min-width:0}.narrative-radio-body .radio-tag{display:block;color:var(--comm);font-weight:700;text-transform:uppercase;font-size:var(--fs-xs);letter-spacing:.08em}.narrative-radio-body p{margin:2px 0 0;color:var(--bone);font-size:var(--fs-sm)}.narrative-panel-wrap{position:relative;flex:none;width:100%;max-width:920px;margin:0 auto;padding:0 16px 16px;box-sizing:border-box}.narrative-hero-frame{position:absolute;left:24px;top:-40px;width:168px;z-index:5;display:flex;flex-direction:column;filter:drop-shadow(4px 4px 0 var(--red-deep))}.narrative-hero-portraits{position:relative;flex:none;width:100%;aspect-ratio:260 / 347}.narrative-hero-portraits .portrait{position:absolute;inset:0;width:100%!important;height:100%!important}.narrative-hero-portrait{opacity:1;transition:opacity .16s ease-out}.narrative-hero-portrait.is-entering{opacity:0}.narrative-hero-name{flex:none;margin:0;padding-bottom:2px;background:var(--ink);font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);border-bottom:3px solid var(--rule);text-align:center}.narrative-panel{position:relative;padding:20px 24px 20px 212px;display:flex;flex-direction:column;gap:14px;max-height:min(56vh,560px);overflow-y:auto}.narrative-status{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding-bottom:10px;border-bottom:1px solid var(--rule)}.narrative-status:empty{display:none}.status-chip{display:flex;align-items:center;gap:8px}.status-chip-label{color:var(--bone-dim);font-size:var(--fs-xs);white-space:nowrap}.status-pips{display:inline-flex;gap:4px}.status-pip{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--tape);background:transparent}.status-pip.is-filled{background:var(--tape)}.status-pip--vigilance{border-color:var(--red)}.status-pip--vigilance.is-filled{background:var(--red)}.status-chip--vigilance{gap:10px}.status-vigilance-text{display:flex;flex-direction:column;line-height:1.2}.status-vigilance-value{color:var(--red);font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm)}.narrative-recall{margin:0 0 4px;padding:6px 0 6px 14px;border-left:2px dashed var(--rule);color:var(--bone-faint, var(--bone-dim));font-size:var(--fs-sm);line-height:var(--lh-text);max-width:68ch}.narrative-recall-line{margin:0}.narrative-recall-line+.narrative-recall-line{margin-top:4px}.narrative-recall-name{font-weight:700;letter-spacing:.01em;border-bottom:1px solid currentColor}.narrative-text{margin:0;padding-left:14px;border-left:2px solid var(--rule);color:var(--bone-dim);font-style:italic;line-height:var(--lh-text);max-width:68ch}.narrative-lines{display:flex;flex-direction:column;gap:10px}.narrative-line{margin:0;display:flex;align-items:flex-start;gap:10px;animation:line-in .14s ease-out both;animation-delay:var(--line-delay, 0ms)}@keyframes line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.narrative-line .portrait{margin-top:2px}.narrative-line--continued{margin-top:-4px}.narrative-line-spacer{flex:none;width:52px;display:flex;justify-content:center}.narrative-line-spacer:before{content:"";width:2px;align-self:stretch;background:var(--speaker-color, var(--rule));opacity:.5}.narrative-line-body{flex:1;min-width:0;line-height:var(--lh-text)}.narrative-line-name{display:inline-block;font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);border-bottom:3px solid var(--rule);padding-bottom:1px;margin-right:6px}.narrative-line-text{color:var(--bone)}.narrative-choices{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--rule);padding-top:10px}.narrative-choice{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:none;border-left:3px solid transparent;color:var(--bone);border-radius:0;padding:8px 8px 8px 10px;font-family:var(--font-text);font-size:var(--fs-md);cursor:pointer;animation:line-in .14s ease-out both;animation-delay:var(--line-delay, 0ms)}.narrative-choice:hover,.narrative-choice:focus-visible{background:var(--ink-3);border-left-color:var(--red);outline:none}.narrative-choice .choice-number{flex:none;width:22px;height:22px;border:1px solid var(--rule);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);color:var(--bone-dim)}.narrative-choice .choice-text{flex:1}.narrative-choice .chip-check{flex:none}.chip-check__skill{font-weight:700}.chip-check__dv{opacity:.85}.chip-check__pct{font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);font-variant-numeric:tabular-nums;white-space:nowrap}.chip-check__pct-unit{font-family:var(--font-body);font-weight:600;font-size:var(--fs-xs);letter-spacing:.01em}.narrative-advance{align-self:flex-end}.narrative-choice:disabled{animation:none;opacity:1;color:var(--bone-dim);cursor:not-allowed}.narrative-choice:disabled:hover,.narrative-choice:disabled:focus-visible{background:transparent;border-left-color:transparent}.narrative-choice--best,.narrative-choice--best:hover,.narrative-choice--best:focus-visible{border-left-color:var(--tape)}.choice-best-label{flex:none;color:var(--tape);font-size:var(--fs-xs);text-decoration:underline;text-decoration-color:var(--tape);text-underline-offset:3px}.narrative-insight{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.narrative-insight-hint{margin:0;color:var(--bone-dim);font-size:var(--fs-xs);font-style:italic}.narrative-luck{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.narrative-luck-text{margin:0;color:var(--bone);font-size:var(--fs-sm)}.narrative-luck-actions{display:flex;gap:8px;flex:none}.narrative-rollcard{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0}.narrative-rollcard-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.narrative-rollcard-stamp{flex:none;font-size:var(--fs-xl)}.narrative-rollcard-text{flex:1 1 240px;min-width:0}.narrative-rollcard-verdict{margin:0 0 4px;color:var(--bone);font-size:var(--fs-sm)}.narrative-rollcard-detail{margin:0;color:var(--bone-dim);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;line-height:var(--lh-text)}.rollcard-dice{color:var(--tape);font-weight:600}.narrative-offscreen{background:rgb(from var(--comm) r g b / 8%);border:1px solid rgb(from var(--comm) r g b / 35%);border-radius:0;padding:8px 12px;font-size:var(--fs-sm)}.narrative-offscreen p{margin:2px 0 0;color:var(--bone)}.narrative-offscreen .offscreen-tag{color:var(--comm);font-weight:700;text-transform:uppercase;font-size:var(--fs-xs);letter-spacing:.08em}.narrative-scene-card{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--ink) 0%,var(--ink) 72%,var(--red-deep) 96%,var(--ink-2) 100%);cursor:pointer}.narrative-scene-card:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(var(--red) 1px,transparent 1.6px);background-size:10px 10px;opacity:.045}.scene-card-inner{position:relative;text-align:center;padding:0 24px}.scene-card-title{margin:0 0 18px;color:var(--bone);font-family:var(--font-display);font-weight:800;font-size:clamp(var(--fs-xl),6vw,var(--fs-2xl));line-height:var(--lh-tight)}.scene-card-stamp{color:var(--red);font-size:var(--fs-xl)}.hub-chart-rule{position:absolute;left:0;right:0;border-top:1px solid rgb(from var(--bone) r g b / 18%)}.hub-chart-rule span{position:absolute;left:8px;top:-9px;font-family:var(--font-text);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--bone-faint)}.draft-screen .narrative-backdrop{flex:none;height:18vh;min-height:120px}.draft-subtitle{margin:4px 0 0;color:var(--bone-dim);font-size:var(--fs-sm)}.draft-board{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:24px;min-height:0;padding:12px 24px}.draft-captain{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}.draft-captain-tag{position:absolute;top:-10px;z-index:1}.draft-captain-name{font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg)}.draft-captain-role{color:var(--bone-faint);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.draft-pool-wrap{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;padding:8px;overflow:hidden}.draft-heightchart{position:absolute;inset:0;pointer-events:none}.draft-pool{position:relative;list-style:none;margin:0;padding:0;display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;justify-content:center}.draft-cadet-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;border:none;padding:0;color:var(--bone);cursor:pointer;transition:transform .12s ease-out,opacity .12s ease-out}.draft-cadet-btn:not(:disabled):hover,.draft-cadet-btn:not(:disabled):focus-visible{transform:translateY(-6px);outline:none}.draft-cadet-btn:not(:disabled):hover .portrait,.draft-cadet-btn:not(:disabled):focus-visible .portrait{filter:drop-shadow(4px 4px 0 var(--red-deep))}.draft-cadet-btn:focus-visible .portrait{outline:2px solid var(--tape);outline-offset:2px}.draft-cadet-btn:disabled{cursor:default}.draft-cadet-btn:disabled .portrait{opacity:.55}.draft-cadet-stamp{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-6deg);font-size:var(--fs-md);white-space:nowrap;z-index:1}.draft-cadet-number{position:absolute;top:6px;left:-6px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);border:1px solid var(--rule);font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);color:var(--bone-dim)}.draft-cadet-name{font-family:var(--font-display);font-weight:800;font-size:var(--fs-sm)}.draft-info{position:absolute;left:50%;bottom:92px;transform:translate(-50%);margin:0;padding:10px 16px;max-width:320px;text-align:center;font-size:var(--fs-sm);line-height:var(--lh-text);z-index:2}.draft-info-affinity{font-variant-numeric:tabular-nums;color:var(--tape)}.draft-reaction{margin:0 24px 8px;min-height:1.6em;color:var(--bone-dim);font-size:var(--fs-md);text-align:center}.draft-recap{margin:0 auto 24px;padding:20px 28px;max-width:420px;text-align:center}.draft-recap h2{margin:0 0 12px;font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg)}.draft-recap-teams{display:flex;gap:24px;justify-content:center;text-align:left;margin-bottom:16px}.draft-recap-teams ul{margin:4px 0 0;padding-left:18px}.draft-recap-blue{color:var(--team-blue)}.draft-recap-red{color:var(--team-red)}.title-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.72)}.title-emblem{width:clamp(72px,10vw,112px);height:clamp(72px,10vw,112px);object-fit:contain}.title-content{position:relative;z-index:1;flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:24px}.title-name{margin:0;color:var(--bone);font-family:var(--font-display);font-weight:800;font-size:clamp(var(--fs-2xl),12vw,7rem);line-height:var(--lh-tight);text-shadow:3px 3px 0 rgb(from var(--ink) r g b / 70%)}.title-subtitle{margin:0;color:var(--bone-dim);font-size:var(--fs-lg)}.title-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:12px}.title-link{margin-top:4px;padding:4px 8px;background:none;border:none;color:var(--bone-dim);font-size:var(--fs-sm);text-decoration:underline;cursor:pointer}.title-link:hover,.title-link:focus-visible{color:var(--bone)}.profile-picker{gap:20px;max-width:900px;margin:0 auto}.profile-picker-title{margin:0;color:var(--bone);font-family:var(--font-display);font-weight:800;font-size:var(--fs-xl)}.profile-picker-subtitle{margin:0;max-width:52ch;color:var(--bone-dim);font-size:var(--fs-sm)}.profile-cards{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;width:100%}.profile-card{display:flex;flex-direction:column;gap:10px;width:260px;padding:18px;text-align:left}.profile-card h3{margin:0;font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg)}.profile-card p{margin:0;flex:1 1 auto;color:var(--bone-dim);font-size:var(--fs-sm)}.report-screen{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--ink);overflow-y:auto}.report-sheet{width:100%;max-width:640px;padding:28px 32px;display:flex;flex-direction:column;gap:18px}.report-head{border-bottom:1px solid var(--rule);padding-bottom:12px}.report-kicker{margin:0 0 4px;color:var(--bone-dim);font-size:var(--fs-sm)}.report-head h1{margin:0;font-family:var(--font-display);font-weight:800;font-size:var(--fs-xl);line-height:var(--lh-tight)}.report-written{margin:0;color:var(--bone-dim);font-size:var(--fs-sm)}.report-written-count{font-family:var(--font-display);font-weight:800;color:var(--bone);font-variant-numeric:tabular-nums}.report-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.report-table th,.report-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--rule);vertical-align:top}.report-table thead th{color:var(--bone-dim);font-weight:600;font-size:var(--fs-xs)}.report-table tbody td:first-child{font-family:var(--font-display);font-weight:700}.report-table tbody td:nth-child(2){color:var(--bone-dim)}.report-points{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.report-table tfoot td{border-bottom:none;border-top:1px solid var(--rule);font-family:var(--font-display);font-weight:800;font-size:var(--fs-md)}.report-mention{display:flex;justify-content:center;padding:8px 0}.report-mention-stamp{font-size:var(--fs-2xl)}.report-notes h2{margin:0 0 8px;font-family:var(--font-display);font-weight:800;font-size:var(--fs-md)}.report-notes ul{margin:0;padding:0 0 0 18px;color:var(--bone-dim);font-size:var(--fs-sm);line-height:var(--lh-text)}.report-notes li+li{margin-top:4px}.report-empty{color:var(--bone-dim);font-style:italic}.report-sheet .btn{align-self:flex-end}.report-photo{display:flex;flex-direction:column;gap:8px}.report-photo-image{width:100%;display:block;border:1px solid var(--rule)}.report-photo-cast{display:flex;gap:6px;flex-wrap:wrap}.report-photo-faded{opacity:.35;filter:grayscale(1)}.report-bilan-lines{display:flex;flex-direction:column;gap:6px}.report-bilan-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-sm)}.report-bilan-label{color:var(--bone-dim)}.report-bilan-value{font-family:var(--font-display);font-weight:700;text-align:right}.gauge-hud{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:10px;width:fit-content}.gauge-hud__label{color:var(--bone-dim);font-size:var(--fs-xs);white-space:nowrap}.gauge-hud__level{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--red);text-transform:uppercase}.gauge-hud__pips{display:inline-flex;gap:4px}.gauge-hud__pip{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--red);background:transparent}.gauge-hud__pip.is-filled{background:var(--red)}.gauge-hud--stamp .gauge-hud__level{animation:stamp-impact .18s cubic-bezier(.2,.9,.3,1.3) both}@media(max-width:700px){.narrative-backdrop{flex:none;height:120px;min-height:0}.narrative-panel-wrap{display:flex;flex-direction:column;align-items:center;flex:1 1 auto;min-height:0;padding:8px 12px 12px;overflow-y:auto}.narrative-hero-frame{position:static;width:84px;height:112px;flex-direction:row;align-items:center;gap:8px;margin-bottom:8px;filter:none}.narrative-hero-portraits{width:64px;height:85px;flex:none}.narrative-hero-name{background:transparent;border-bottom:none;text-align:left;font-size:var(--fs-sm)}.narrative-panel{padding:16px;width:100%;max-height:none;overflow-y:visible}.narrative-scene-name{font-size:var(--fs-lg)}.narrative-radio-stack{top:8px;right:8px;left:8px;width:auto}.draft-screen .narrative-backdrop{height:88px;min-height:0}.draft-board{flex-direction:column;gap:8px;padding:8px 12px 96px;overflow-y:auto}.draft-captain{flex-direction:row;gap:10px}.draft-captain .portrait{width:64px!important;height:85px!important}.draft-captain-tag{position:static}.draft-pool-wrap{flex:none;overflow:visible;padding:4px}.draft-pool{gap:4px 8px}.draft-cadet-btn .portrait{width:92px!important;height:123px!important}.draft-info{inset:8px 8px auto;transform:none;max-width:none}.draft-recap{max-width:none;margin:0 12px 16px;padding:16px}.draft-recap-teams{gap:16px}.report-sheet{padding:20px}}@media(prefers-reduced-motion:reduce){.narrative-hero-portrait.is-entering{opacity:1}}.chapter-toolbar{position:fixed;top:max(20px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:60;display:flex;gap:8px;max-width:calc(100vw - 24px)}.chapter-toolbar .btn{min-height:44px;padding:8px 12px;font-size:var(--fs-sm);white-space:nowrap;background:var(--ink)}.chapter-toolbar[data-mode=explore]{top:auto;left:auto;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));transform:none}.chapter-toolbar[hidden],.chapter-toolbar .btn[hidden],#app:has(.slow-cinematic):not(:has(.title-screen)) .chapter-toolbar{display:none}#app:has(.chapter-toolbar[data-mode=dialogue]) .narrative-scene-tag{max-width:calc(50vw - 100px)}@media(max-width:640px){.chapter-toolbar{left:auto;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));transform:none}.chapter-toolbar[data-mode=explore]{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:6px}.chapter-toolbar .btn{padding-inline:10px}#app:has(.chapter-toolbar[data-mode=dialogue]) .narrative-scene-tag{max-width:calc(100vw - 160px)}#app:has(.chapter-toolbar[data-mode=dialogue]) .narrative-radio-stack{top:108px}.explore-selected-label{bottom:72px}.brief-line-narration{bottom:112px}}.dice3d-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;font-family:var(--font-text, "Barlow Semi Condensed", "Segoe UI", sans-serif);color:var(--bone, #efe4d4)}.dice3d-overlay[hidden]{display:none}.dice3d-scrim{position:absolute;inset:0;background:var(--ink, #140d0e);opacity:.7}.dice3d-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px}.dice3d-label{font-family:var(--font-display, "Big Shoulders Display", "Arial Narrow", sans-serif);font-weight:700;font-size:var(--fs-lg, 1.375rem);text-align:center;color:var(--bone, #efe4d4);max-width:44ch}.dice3d-canvas-wrap{position:relative;width:360px;height:360px;max-width:80vw;max-height:80vw}.dice3d-canvas-wrap:after{content:"";position:absolute;inset:-34px;border-radius:50%;background:radial-gradient(circle,var(--tape, #f2c230) 0%,transparent 70%);opacity:0;pointer-events:none}.dice3d-canvas-wrap.dice3d-flash:after{animation:dice3d-flash .52s ease-out}.dice3d-canvas-wrap.dice3d-shake{animation:dice3d-shake .36s ease-in-out}.dice3d-canvas{display:block;width:100%;height:100%;cursor:pointer;transition:opacity .16s ease-out}.dice3d-canvas.dice3d-fade-in{opacity:0}.dice3d-result{min-height:1.5em;font-family:var(--font-display, "Big Shoulders Display", sans-serif);font-variant-numeric:tabular-nums;font-size:var(--fs-xl, 2rem);font-weight:700;color:var(--bone, #efe4d4);text-align:center}.dice3d-stamp{position:absolute;top:4px;left:50%;transform:translate(-50%,-50%) rotate(-6deg);font-family:var(--font-stamp, "Big Shoulders Stencil Display", "Big Shoulders Display", sans-serif);text-transform:uppercase;letter-spacing:.04em;font-size:var(--fs-lg, 1.375rem);padding:5px 16px;border:3px solid currentColor;pointer-events:none;animation:dice3d-stamp-impact .18s cubic-bezier(.2,.9,.3,1.3) both;white-space:nowrap;background:color-mix(in srgb,var(--ink, #140d0e) 78%,transparent)}.dice3d-stamp[hidden]{display:none}.dice3d-stamp--ok{color:var(--tape, #f2c230)}.dice3d-stamp--ko{color:var(--ko, var(--red, #e2262f))}.dice3d-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red, #e2262f);border:1px solid var(--red, #e2262f);color:var(--bone, #efe4d4);font-family:var(--font-display, "Big Shoulders Display", sans-serif);font-weight:700;font-size:var(--fs-md, 1.0625rem);padding:9px 24px;cursor:pointer;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.dice3d-action:hover{background:var(--red-deep, #8c1219);border-color:var(--red-deep, #8c1219)}.dice3d-action[hidden]{display:none}.dice3d-action:focus-visible{outline:2px solid var(--tape, #f2c230);outline-offset:2px}.dice3d-hint{font-size:var(--fs-xs, .8125rem);color:var(--bone-dim, #b4a693)}@keyframes dice3d-stamp-impact{0%{opacity:0;transform:translate(-50%,-50%) scale(1.6) rotate(-9deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-6deg)}}@keyframes dice3d-flash{0%{opacity:.85;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}@keyframes dice3d-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px) rotate(-1.5deg)}40%{transform:translate(5px) rotate(1.5deg)}60%{transform:translate(-4px) rotate(-1deg)}80%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.dice3d-canvas,.dice3d-stamp,.dice3d-canvas-wrap,.dice3d-canvas-wrap:after{animation:none!important;transition:none!important}}.objective-hud{position:absolute;top:20px;left:20px;width:min(340px,calc(100vw - 40px));padding:14px 18px;pointer-events:none;font-family:var(--font-text)}.explore-gauge-slot{position:absolute;top:20px;right:20px;pointer-events:none}.objective-hud__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);line-height:var(--lh-tight);margin:0 0 4px}.objective-hud__context{color:var(--bone-dim);font-size:var(--fs-sm);line-height:var(--lh-text);margin:0}.objective-hud__rule{border:none;border-top:1px solid var(--rule);margin:10px 0}.objective-hud__tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.objective-hud__task{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:var(--fs-sm);color:var(--bone)}.objective-hud__task-label:before{content:"Facultatif · ";color:var(--bone-faint)}.objective-hud__task-count{font-variant-numeric:tabular-nums;color:var(--bone-dim);flex:none}.objective-hud__task--done .objective-hud__task-label,.objective-hud__task--done .objective-hud__task-count{color:var(--ok)}.objective-hud__stamp{position:absolute;top:6px;right:-10px;font-size:var(--fs-md);color:var(--tape);pointer-events:none}.explore-hover-label{position:fixed;z-index:20;transform:translate(14px,18px);background:#14151ae0;color:var(--bone);font-family:var(--font-text);font-size:var(--fs-sm);padding:4px 10px;border:1px solid var(--rule);pointer-events:none;white-space:nowrap}.explore-hover-label--unreachable{color:var(--bone-faint);border-color:var(--rule)}.explore-selected-label{position:absolute;left:50%;bottom:24px;transform:translate(-50%);background:#14151ae0;color:var(--bone);font-family:var(--font-text);font-size:var(--fs-md);padding:6px 14px;border:1px solid var(--tape);pointer-events:none}.brief-line-bubble{position:fixed;z-index:18;left:0;top:0;transform:translate(-50%,calc(-100% - 10px));max-width:220px;background:var(--ink-2);border:1px solid var(--rule);color:var(--bone);font-family:var(--font-text);font-size:var(--fs-sm);line-height:var(--lh-text);text-align:center;padding:6px 12px;pointer-events:none;opacity:0;transition:opacity .14s ease}.brief-line-bubble:after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:var(--ink-2);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transform:translate(-50%) rotate(45deg)}.brief-line-bubble.is-visible{opacity:1}.brief-line-narration{position:absolute;z-index:18;left:50%;bottom:64px;transform:translate(-50%);max-width:68ch;color:var(--bone-dim);font-family:var(--font-text);font-style:italic;font-size:var(--fs-md);text-align:center;padding:4px 12px;pointer-events:none;opacity:0;transition:opacity .14s ease}.brief-line-narration.is-visible{opacity:1}@media(prefers-reduced-motion:reduce){.objective-hud__stamp{animation:none}.brief-line-bubble,.brief-line-narration{transition:none}}.contact-transition{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:var(--ink-2);pointer-events:auto}.contact-transition__stamp{font-size:var(--fs-2xl);color:var(--ko)}@media(prefers-reduced-motion:reduce){.contact-transition__stamp{animation:none}}@media(max-width:640px){.objective-hud{top:64px}.explore-gauge-slot:has(>.gauge-hud:not(.status-chip):not([style*="display: none"]))~.objective-hud{top:108px}}.slow-cinematic{position:absolute;inset:0;z-index:50;overflow:hidden;background:var(--ink);color:var(--bone);font-family:var(--font-text)}.slow-cinematic__image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1.1s ease}.slow-cinematic__image.is-visible{opacity:1}.slow-cinematic__image.is-cut{transition-duration:0ms}.slow-cinematic__shade{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgb(from var(--ink) r g b / 92%),transparent 33%,transparent 75%,rgb(from var(--ink) r g b / 40%));pointer-events:none}.slow-cinematic__controls{position:absolute;z-index:4;top:clamp(12px,2vw,28px);right:clamp(12px,2vw,28px);display:flex;gap:8px}.slow-cinematic__small,.slow-cinematic__choice{border:1px solid var(--bone-dim);background:var(--ink-2);color:var(--bone);font:inherit;cursor:pointer}.slow-cinematic__small{padding:7px 11px;font-size:.875rem}.slow-cinematic__small:hover,.slow-cinematic__choice:hover,.slow-cinematic__small:focus-visible,.slow-cinematic__choice:focus-visible{border-color:var(--tape);outline:2px solid var(--tape);outline-offset:2px}.slow-cinematic__story{position:absolute;z-index:3;right:clamp(20px,5vw,90px);bottom:clamp(22px,5vh,70px);left:clamp(20px,5vw,90px);max-width:800px;pointer-events:none}.slow-cinematic__caption{margin:0;font-size:clamp(1.05rem,1.7vw,1.6rem);line-height:1.45;text-shadow:0 2px 10px var(--ink)}.slow-cinematic__choices{display:grid;gap:8px;margin-top:20px;pointer-events:auto}.slow-cinematic__choices[hidden]{display:none}.slow-cinematic__choice{padding:11px 15px;text-align:left;font-size:1rem}.slow-cinematic__start{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:rgb(from var(--ink) r g b / 46%);text-align:center}.slow-cinematic__start p{max-width:480px;margin:0 20px;font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,2.5rem);text-shadow:0 2px 10px var(--ink)}.slow-cinematic.is-playing .slow-cinematic__start,.slow-cinematic:not(.is-playing) .slow-cinematic__story{display:none}.slow-cinematic.is-impact:after{position:absolute;inset:0;z-index:5;background:rgb(from var(--bone) r g b / 78%);content:"";pointer-events:none;animation:slow-impact-flash .18s steps(2,end) forwards}@keyframes slow-impact-flash{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.slow-cinematic__image{transition-duration:0ms}.slow-cinematic.is-impact:after{animation:none;opacity:0}}.zachary-cinematic .slow-cinematic__story{max-width:970px}.zachary-cinematic .slow-cinematic__caption{white-space:pre-line;font-size:clamp(1rem,1.45vw,1.4rem);line-height:1.5}.zachary-cinematic .slow-cinematic__shade{background:linear-gradient(0deg,rgb(from var(--ink) r g b / 96%),transparent 48%,transparent 78%,rgb(from var(--ink) r g b / 30%))}.hall-cinematic .slow-cinematic__story{max-width:980px}.hall-cinematic .slow-cinematic__caption{white-space:pre-line;font-size:clamp(1.05rem,1.6vw,1.42rem)}.hall-cinematic .slow-cinematic__choices{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.hall-cinematic .slow-cinematic__choices{grid-template-columns:1fr}}.title-content.scene-picker-host{justify-content:flex-start;overflow:hidden;padding:16px}.scene-picker{display:flex;flex-direction:column;width:100%;max-width:1100px;max-height:100%;min-height:0;text-align:left}.scene-picker-header{padding:16px 20px 12px;border-bottom:1px solid rgb(from var(--bone) r g b / 15%)}.scene-picker-header h2{margin:0;color:var(--bone);font-family:var(--font-display);font-weight:800;font-size:var(--fs-xl)}.scene-picker-header p{margin:4px 0 12px;color:var(--bone-dim);font-size:var(--fs-sm)}.scene-picker-badge{padding:2px 6px;border:1px solid currentColor;font-size:var(--fs-sm);vertical-align:middle}.scene-picker-options{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px}.scene-picker-options label{display:flex;flex-direction:column;gap:4px;color:var(--bone-dim);font-size:var(--fs-sm)}.scene-picker-options input,.scene-picker-options select{min-width:180px;padding:6px 8px;background:var(--ink);border:1px solid rgb(from var(--bone) r g b / 30%);color:var(--bone);font:inherit}.scene-picker-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 20px 20px}.scene-picker-chapter h3{margin:16px 0 8px;color:var(--bone);font-family:var(--font-display);font-size:var(--fs-lg)}.scene-picker-list{margin:0;padding:0;list-style:none}.scene-picker-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 0;border-top:1px solid rgb(from var(--bone) r g b / 8%)}.scene-picker-scene{display:flex;flex-direction:column;flex:0 0 240px;max-width:100%}.scene-picker-title{color:var(--bone)}.scene-picker-id{color:var(--bone-dim);font-size:var(--fs-xs, .75rem)}.scene-picker-variants{display:flex;flex:1 1 300px;flex-wrap:wrap;gap:6px}.scene-picker-variant{padding:4px 10px;font-size:var(--fs-sm)}
