:root{color:#f1e6cc;background:#05040a;font-family:ui-monospace,SF Mono,Menlo,Consolas,Courier New,monospace;font-synthesis:none;--ink: #0c0a14;--panel: #191427;--panel-light: #2a2140;--edge: #6b5a94;--gold: #f6c650;--gold-dark: #b9822c;--parchment: #f1e6cc;--muted: #a99bc4;--safe: #7dffb8;--danger: #ff6b5e}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden;background:#05040a}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}main{width:100%;height:100dvh;display:grid;place-items:center;background:#05040a}.viewport{position:relative;width:min(100vw,calc(100dvh * 16 / 9));aspect-ratio:16 / 9;container-type:size;overflow:hidden;background:#000}.stage{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.ui{--px: calc(100cqw / 480);position:absolute;inset:0;pointer-events:none;text-transform:uppercase;letter-spacing:.06em;font-weight:700;text-shadow:calc(var(--px) * .5) calc(var(--px) * .5) 0 #000}.ui button,.ui input,.ui form{pointer-events:auto}.label{font-size:calc(var(--px) * 3.6);color:var(--muted)}.hud,.stake-panel,.boss-banner,.plaque,.winnings-banner{background:var(--panel);box-shadow:0 0 0 calc(var(--px) * 1) #000,inset 0 0 0 calc(var(--px) * 1) var(--edge),calc(var(--px) * 2) calc(var(--px) * 2) 0 #00000080}.hud{position:absolute;top:calc(var(--px) * 7);padding:calc(var(--px) * 4) calc(var(--px) * 6)}.hud-left{left:calc(var(--px) * 7);display:grid;gap:calc(var(--px) * 3);min-width:calc(var(--px) * 96)}.hud-right{right:calc(var(--px) * 7);display:grid;grid-template-columns:auto 1fr;grid-template-areas:"coin label" "coin value";column-gap:calc(var(--px) * 4);align-items:center;min-width:calc(var(--px) * 64)}.hud-right .coin{grid-area:coin}.hud-right .label{grid-area:label}.hud-right strong{grid-area:value;font-size:calc(var(--px) * 6.4);color:var(--gold)}.logo{font-size:calc(var(--px) * 5.4);color:var(--gold);line-height:1}.logo span{color:var(--danger)}.depth-row,.stat-row{display:flex;align-items:center;gap:calc(var(--px) * 3)}.pips{display:flex;gap:calc(var(--px) * 1.4)}.pip{width:calc(var(--px) * 3.6);height:calc(var(--px) * 3.6);background:#0c0a14;box-shadow:inset 0 0 0 calc(var(--px) * .6) #4a3d6c}.pip.on{background:var(--gold);box-shadow:inset 0 0 0 calc(var(--px) * .6) var(--gold-dark)}.stat-row strong{font-size:calc(var(--px) * 5);color:var(--gold)}.multiplier{font-size:calc(var(--px) * 6);color:var(--safe)}.coin{width:calc(var(--px) * 9);height:calc(var(--px) * 9);background:var(--gold);box-shadow:inset calc(var(--px) * -1.4) calc(var(--px) * -1.4) 0 var(--gold-dark),inset calc(var(--px) * 1.4) calc(var(--px) * 1.4) 0 #ffe9a0,0 0 0 calc(var(--px) * .8) #000;border-radius:50%}.title-card{position:absolute;top:calc(var(--px) * 5.4);left:calc(var(--px) * 10);margin:0;width:calc(var(--px) * 184);line-height:0}.title-card img{width:100%;height:auto;display:block;filter:drop-shadow(0 calc(var(--px) * 1.5) calc(var(--px) * 2) rgba(0,0,0,.6))}.boss-banner{position:absolute;top:calc(var(--px) * 24);left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:calc(var(--px) * 2);padding:calc(var(--px) * 5) calc(var(--px) * 14);animation:banner-in .36s steps(6,end) both}.boss-banner small{font-size:calc(var(--px) * 3.6);color:var(--muted)}.boss-banner strong{font-size:calc(var(--px) * 9);color:var(--parchment);line-height:1}.boss-banner.elite strong{color:var(--danger)}.boss-banner.elite{box-shadow:0 0 0 calc(var(--px) * 1) #000,inset 0 0 0 calc(var(--px) * 1) var(--danger),calc(var(--px) * 2) calc(var(--px) * 2) 0 #00000080}.threat{display:flex;gap:calc(var(--px) * 1.4)}.skull{width:calc(var(--px) * 3.2);height:calc(var(--px) * 3.2);background:#0c0a14;box-shadow:inset 0 0 0 calc(var(--px) * .6) #4a3d6c}.skull.on{background:var(--danger);box-shadow:inset 0 0 0 calc(var(--px) * .6) #7a1c28}.winnings-banner{position:absolute;top:calc(var(--px) * 34);left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:calc(var(--px) * 2);padding:calc(var(--px) * 6) calc(var(--px) * 20);animation:banner-in .36s steps(6,end) both}.winnings-banner small{font-size:calc(var(--px) * 4);color:var(--muted)}.winnings-banner strong{font-size:calc(var(--px) * 14);color:var(--gold);line-height:1}.door{position:absolute;padding:0;border:0;background:transparent;outline:none}.plaque{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(calc(var(--px) * -2));display:grid;justify-items:center;gap:calc(var(--px) * 1.4);width:calc(var(--px) * 52);padding:calc(var(--px) * 3) calc(var(--px) * 2);text-align:center;white-space:nowrap;animation:banner-in .3s steps(5,end) both}.plaque small{font-size:calc(var(--px) * 3.4);color:var(--muted)}.plaque strong{font-size:calc(var(--px) * 7);line-height:1}.plaque em{font-style:normal;font-size:calc(var(--px) * 3.2);color:var(--muted)}.door-home .plaque strong{color:var(--gold)}.door-safe .plaque strong{color:var(--safe)}.door-risky .plaque strong{color:var(--danger)}.door:hover .plaque,.door:focus-visible .plaque{background:var(--panel-light);transform:translate(-50%) translateY(calc(var(--px) * -4))}.door-home:hover .plaque,.door-home:focus-visible .plaque{box-shadow:0 0 0 calc(var(--px) * 1) #000,inset 0 0 0 calc(var(--px) * 1) var(--gold),calc(var(--px) * 2) calc(var(--px) * 2) 0 #00000080}.door-safe:hover .plaque,.door-safe:focus-visible .plaque{box-shadow:0 0 0 calc(var(--px) * 1) #000,inset 0 0 0 calc(var(--px) * 1) var(--safe),calc(var(--px) * 2) calc(var(--px) * 2) 0 #00000080}.door-risky:hover .plaque,.door-risky:focus-visible .plaque{box-shadow:0 0 0 calc(var(--px) * 1) #000,inset 0 0 0 calc(var(--px) * 1) var(--danger),calc(var(--px) * 2) calc(var(--px) * 2) 0 #00000080}.door-hint{position:absolute;left:50%;bottom:calc(var(--px) * 22);transform:translate(-50%);margin:0;font-size:calc(var(--px) * 4.4);color:var(--parchment);animation:blink 1.6s steps(2,end) infinite}.stake-panel{position:absolute;left:calc(var(--px) * 12);bottom:calc(var(--px) * 22);display:grid;gap:calc(var(--px) * 4);padding:calc(var(--px) * 6);width:calc(var(--px) * 110)}.notice{margin:0;font-size:calc(var(--px) * 3.8);line-height:1.35}.notice.lost{color:var(--danger)}.notice.won{color:var(--gold)}.stake-row{display:grid;grid-template-columns:auto 1fr auto;gap:calc(var(--px) * 3);align-items:end}.stake-field{display:grid;gap:calc(var(--px) * 1.6)}.stake-input{display:flex;align-items:center;gap:calc(var(--px) * 2);padding:0 calc(var(--px) * 3);height:calc(var(--px) * 12);background:#0c0a14;box-shadow:inset 0 0 0 calc(var(--px) * .8) #4a3d6c}.stake-input b{color:var(--gold);font-size:calc(var(--px) * 6)}.stake-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:calc(var(--px) * 6);font-weight:700;text-align:center}.stake-input input::-webkit-outer-spin-button,.stake-input input::-webkit-inner-spin-button{appearance:none;margin:0}.step,.enter,.mini{border:0;text-transform:uppercase;letter-spacing:.06em;font-weight:700;text-shadow:calc(var(--px) * .5) calc(var(--px) * .5) 0 #000}.step{width:calc(var(--px) * 12);height:calc(var(--px) * 12);font-size:calc(var(--px) * 7);background:var(--panel-light);box-shadow:0 0 0 calc(var(--px) * 1) #000,inset 0 0 0 calc(var(--px) * 1) var(--edge)}.enter{height:calc(var(--px) * 14);font-size:calc(var(--px) * 5.2);color:#fff1c4;background:#a3232f;box-shadow:0 0 0 calc(var(--px) * 1) #000,inset 0 calc(var(--px) * -2) 0 #6b1220,inset 0 calc(var(--px) * 1) 0 #e2575f,calc(var(--px) * 2) calc(var(--px) * 2) 0 #00000080}.step:hover:not(:disabled),.enter:hover:not(:disabled){filter:brightness(1.2)}.enter:hover:not(:disabled){color:#fff}.step:active:not(:disabled),.enter:active:not(:disabled){transform:translateY(calc(var(--px) * 1))}.step:focus-visible,.enter:focus-visible,.mini:focus-visible,.stake-input:focus-within{outline:calc(var(--px) * 1) solid var(--gold);outline-offset:calc(var(--px) * 1)}.foot{position:absolute;left:calc(var(--px) * 7);right:calc(var(--px) * 7);bottom:calc(var(--px) * 4);display:flex;align-items:center;justify-content:space-between;gap:calc(var(--px) * 6);font-size:calc(var(--px) * 3.2);color:var(--muted)}.mini{padding:calc(var(--px) * 2) calc(var(--px) * 4);font-size:calc(var(--px) * 3.2);color:var(--parchment);background:var(--panel);box-shadow:0 0 0 calc(var(--px) * 1) #000,inset 0 0 0 calc(var(--px) * .8) var(--edge)}.mini:hover:not(:disabled){background:var(--panel-light)}@keyframes banner-in{0%{opacity:0;margin-top:calc(var(--px) * -6)}to{opacity:1;margin-top:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.boss-banner,.winnings-banner,.plaque,.door-hint{animation:none}}
