/* Refinements to the original four-scene adventure; existing artwork is shared. */
[hidden]{display:none!important}
html,body{min-height:100%;height:100%;overflow:hidden}
body{color:#fff}
button{touch-action:manipulation;min-height:44px;font-family:inherit}
button:focus-visible{outline:3px solid #fff;outline-offset:4px}
button:disabled{cursor:default;opacity:.5;box-shadow:none!important}
.top{align-items:stretch;gap:8px;max-width:1200px;margin:auto}
.pill{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:4px;font-size:14px;letter-spacing:.025em}
.pill span{font:700 11px/1.2 monospace;color:#cab9d1;letter-spacing:.1em}
.pill b{overflow-wrap:anywhere;line-height:1.2}
.debt-pill{margin-right:auto}
.voice{font-size:12px;white-space:nowrap}
.story-status{position:fixed;left:max(18px,calc((100vw - 1180px)/2));top:calc(84px + env(safe-area-inset-top));z-index:4;display:grid;gap:10px;width:min(300px,50vw);font:800 13px/1.3 monospace;letter-spacing:.09em;text-shadow:0 2px 5px #000}
progress{width:100%;height:5px;border:0;background:#fff3;accent-color:var(--pink)}progress::-webkit-progress-bar{background:#fff3}progress::-webkit-progress-value{background:var(--pink)}
.actor{aspect-ratio:1;width:min(48vw,490px);left:70%;bottom:auto;top:13%;mask-image:radial-gradient(ellipse at center,#000 45%,transparent 73%);-webkit-mask-image:radial-gradient(ellipse at center,#000 45%,transparent 73%)}
.actor[data-pose="bite"]{width:min(60vw,650px);bottom:auto;top:8%}
.panel{left:max(18px,calc((100vw - 1180px)/2));transform:none;width:min(660px,calc(100% - 40px));bottom:max(20px,env(safe-area-inset-bottom));max-height:calc(100dvh - 155px);overflow:auto;padding:clamp(18px,3vw,30px);border-width:2px;border-top:5px solid var(--pink)}
.eyebrow{line-height:1.5;font-size:12px;letter-spacing:.12em}
.speaker{margin:12px 0;line-height:1.05}.line{font-size:clamp(18px,2.1vw,23px);line-height:1.5;min-height:0}
.choices{margin-top:22px}.choices button{line-height:1.3;font-size:14px;text-align:left}
.tv-alert{top:19%;left:50%;width:min(600px,calc(100% - 40px));animation:none;font-size:20px;border-width:3px;box-shadow:8px 8px 0 #100815}.tv-alert small{display:block;margin-top:6px;font-size:12px}
.biteflash{background:#c31c5e}.biteflash.go{animation:incident-impact .4s ease-out}@keyframes incident-impact{20%{opacity:.3}100%{opacity:0}}
.start,.ending{overflow:auto;align-items:center;overscroll-behavior:contain;padding:24px 18px;min-height:100dvh}
.card{width:min(640px,100%);padding:clamp(24px,5vw,45px);box-shadow:12px 12px 0 #ff2e9f22}
.card h1{margin:24px 0 20px;font-size:clamp(58px,13vw,100px);line-height:.9}
.card p{font-size:clamp(19px,3vw,25px);margin:18px 0}.card button{font-size:14px;line-height:1.4;max-width:100%}.card small{font-size:13px;line-height:1.5}.card .satire-note{font-size:12px;color:#a88bb4;margin-top:10px}
.act-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0;color:#d5bfdc;font:700 12px/1.3 monospace;text-align:left}
.atm{inset:calc(90px + env(safe-area-inset-top)) max(16px,calc((100vw - 1000px)/2)) max(16px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto auto auto minmax(min-content,1fr) auto auto auto;gap:12px;overflow:auto;overscroll-behavior:contain;padding:clamp(16px,2.5vw,28px);border:2px solid #77ffc0;box-shadow:7px 7px 0 #213d33;background:#081c16f5}
body[data-scene="atm"] .story-status{display:none}
.terminal-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.terminal-header h2{font:800 clamp(23px,4vw,34px)/1.1 system-ui;margin-top:5px;color:#f5fff9;letter-spacing:-.035em}.terminal-header>b{font:700 12px/1.4 monospace;white-space:nowrap;color:#7ef2b9}
.balance-panel{display:flex;justify-content:space-between;align-items:center;gap:12px}.balance-panel>div>span{font:700 12px/1.2 monospace;color:#bbd2c5;letter-spacing:.08em}.bill{font-size:clamp(30px,5vw,48px);line-height:1.15;margin-top:4px;letter-spacing:-.06em}
.adjustments{display:flex;gap:20px;margin:0}.adjustments dt{font:700 11px/1.4 monospace;color:#b5cbbf}.adjustments dd{margin:4px 0 0;font:800 17px/1.2 monospace;color:#7ef2b9}.adjustments div:last-child dd{color:#ffb2c7}.meter{height:5px}.meter i{width:0;background:#77ffc0;transition:width .2s}
.minigame{min-height:250px;padding:18px;overflow:visible;border:1px solid #3d6251;font-family:system-ui;background:#04120e;align-content:start}.minigame p{font:400 16px/1.5 system-ui;color:#d2e6d9;margin:10px 0 16px}.minigame h3{font:800 clamp(23px,4vw,31px)/1.1 system-ui;letter-spacing:-.03em;margin:0;color:#fff}.round-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.round-heading>b{font:700 12px/1.4 monospace;color:#a4d8bc;text-align:right}.round-intro,.round-result{padding:10px 0}.round-intro h3,.round-result h3{margin:10px 0}.minigame .terminal-note{color:#91b8a1;font-size:14px}
.coin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:650px;margin:auto}
.chip{position:static;width:auto;height:auto;min-height:52px;border-radius:6px;border:2px solid #ffdf72;font:900 19px/1 monospace;background:#edce55;box-shadow:0 3px 0 #866728}
.chip.fee{border-radius:6px;background:#47152b;border:2px dashed #ff6b99;color:#ffc7d8;font-size:12px;line-height:1.25;box-shadow:none}.chip:disabled{opacity:.27}.chip:hover:not(:disabled){filter:brightness(1.15)}
.timing{position:relative;left:auto;right:auto;top:auto;margin:35px 10px 16px;height:42px;border:1px solid #537861;background:#21392b}.timing .zone{left:42%;width:16%;background:repeating-linear-gradient(45deg,#77ffc0 0 5px,#43996e 5px 10px);border:2px solid #b9ffda}.timing .needle{left:0;top:-9px;width:6px;height:58px;transform:translateX(-50%);background:#fff;box-shadow:0 0 10px #fff6}.minigame .call-count{font:700 12px/1.4 monospace;color:#a4d8bc}
.claim-button,#resume,#replay{border:2px solid #111;background:var(--acid);color:#13091a;font:900 14px/1.4 system-ui;padding:13px 18px;box-shadow:4px 4px 0 var(--pink);cursor:pointer}.claim-button{width:100%;margin-top:8px}
.reference-slip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#deeedf;color:#102c20;padding:14px;border-left:4px solid #77ffc0}.reference-slip span{font:600 14px/1.3 system-ui}.reference-slip b{font:900 21px/1.2 monospace;white-space:nowrap}.codes{margin-top:16px;gap:10px}.codes button{padding:16px 7px;font-size:14px;min-width:0;overflow-wrap:anywhere}
.feedback{min-height:1.4em;margin:0;font:600 14px/1.4 system-ui;color:#c6dbce}.feedback[data-tone="good"]{color:#8effc1}.feedback[data-tone="bad"]{color:#ffb2c7}
.atm-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.atm-actions button{background:#153c2a;color:#e1ffed;border:1px solid #618e73;box-shadow:none;padding:12px 10px;font-size:12px;line-height:1.4;text-align:left}.atm-actions button span{display:block;font:600 10px/1.4 monospace;color:#aadabc;margin-top:5px;letter-spacing:.05em}.atm-actions button[aria-pressed="true"]{background:#a5f4bb;color:#072515;border-color:#fff}.atm-actions button[aria-pressed="true"] span{color:#195731}.atm-actions button:disabled{opacity:.55}.leave-button{justify-self:start;border:0;border-bottom:1px solid #85a292;background:transparent;color:#e1ffed;padding:8px 0;font:700 12px/1.3 monospace;cursor:pointer}
#pause-dialog{width:min(430px,calc(100% - 32px));background:#150e1c;color:#fff;border:2px solid var(--pink);padding:28px;box-shadow:8px 8px 0 #dfff25}#pause-dialog::backdrop{background:#07030ddd}#pause-dialog h2{font-size:32px;margin:15px 0}#pause-dialog p{font-size:17px;line-height:1.5}#resume{width:100%}
.ending{display:grid;background:#09050bf5}.end-card{width:min(620px,100%)}.ending h2{font-size:clamp(46px,10vw,80px);line-height:1;overflow-wrap:anywhere;margin:16px 0}.ending p{font-size:20px;line-height:1.45}.receipt{background:#e8f0df;color:#12251a;padding:24px;margin:25px 0;text-align:left}.receipt>div{display:flex;justify-content:space-between;gap:20px;font:500 15px/1.5 monospace;padding:6px 0}.receipt dd{margin:0;white-space:nowrap}.receipt .receipt-total{border-top:2px dashed #254832;margin-top:14px;padding-top:17px;font-weight:900;font-size:21px}#replay{max-width:100%}
@media(max-width:600px){
 .top{left:10px;right:10px;gap:5px;flex-wrap:wrap}.pill{flex:1;padding:7px 9px;font-size:13px;min-height:48px}.debt-pill{margin-right:0}.voice{font-size:11px;padding:8px;min-height:44px}.story-status{top:calc(85px + env(safe-area-inset-top));left:16px;width:55vw;font-size:11px}
 .actor{left:50%;width:min(75vw,380px);top:12%;bottom:auto}.actor[data-pose="bite"]{width:90vw;top:10%;bottom:auto}.panel{left:12px;bottom:max(16px,env(safe-area-inset-bottom));width:calc(100% - 28px);padding:17px;max-height:52dvh}.speaker{font-size:25px}.line{font-size:18px;line-height:1.4}.choices{margin-top:16px}.choices button{flex:1 1 100%;text-align:center}.tv-alert{top:23%;font-size:17px}
 .atm{inset:calc(80px + env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom));padding:13px;gap:10px;grid-template-rows:auto auto auto minmax(min-content,1fr) auto auto auto}.terminal-header h2{font-size:23px}.terminal-header>b{font-size:10px;white-space:normal;text-align:right}.terminal-header .eyebrow{font-size:10px}.adjustments{gap:10px}.adjustments dt{font-size:9px}.adjustments dd{font-size:13px}.bill{font-size:30px}.minigame{padding:13px}.minigame p{font-size:14px}.minigame h3{font-size:23px}.coin-grid{gap:8px}.chip{min-height:48px}.atm-actions{gap:6px}.atm-actions button{padding:10px 7px;font-size:11px}.atm-actions button span{font-size:9px}.reference-slip{padding:11px}.reference-slip b{font-size:18px}.codes button{font-size:12px}.feedback{font-size:13px}
}
@media(max-width:380px){.top{display:grid;grid-template-columns:1fr 1fr}.pill{min-height:42px}.voice{min-height:34px}.story-status{top:calc(109px + env(safe-area-inset-top))}.atm{top:calc(106px + env(safe-area-inset-top))}.actor{top:17%}.terminal-header{gap:6px}.balance-panel{align-items:flex-start}.adjustments{flex-direction:column;gap:6px}.adjustments dd{margin:0}.atm-actions{grid-template-columns:1fr}.atm-actions button{display:flex;justify-content:space-between;align-items:center}.atm-actions button span{margin:0}}
@media(max-height:540px) and (min-width:601px){.panel{width:58%;max-height:calc(100dvh - 130px);bottom:12px;padding:16px}.line{font-size:17px}.speaker{font-size:24px}.choices{margin-top:12px}.actor{left:79%;width:40vw;top:14%}.actor[data-pose="bite"]{width:45vw;top:7%}.start,.ending{display:block}.card,.end-card{margin:auto}.card h1{font-size:60px}.card p{font-size:18px}.act-list{margin:18px 0}.atm{grid-template-rows:auto auto auto minmax(min-content,1fr) auto auto auto}.tv-alert{left:79%;width:34%;top:25%;font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.plate{transform:scale(1.09)}.biteflash{display:none}}

.plate{transition:filter .5s}

.actor.bite-moment{animation:bite-pose .65s steps(1,end)}
@keyframes bite-pose{from{background-position:50% 100%}to{background-position:100% 100%}}
