: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;overscroll-behavior:none;-webkit-text-size-adjust:100%;background:#05040a}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}main{width:100%;height:100dvh;display:grid;place-items:center;background:#05040a}.viewport{--px: calc(100cqw / 480);--art: calc(100cqw / 480);position:relative;width:min(100vw,calc(100dvh * 16 / 9));aspect-ratio:16 / 9;container-type:size;overflow:hidden;background:#000;text-transform:uppercase;letter-spacing:.06em;font-weight:700;text-shadow:calc(var(--px) * .5) calc(var(--px) * .5) 0 #000}.scene{position:absolute;inset:0;container-type:size}.hud-bar,.dock{display:contents}.stage{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.ui{position:absolute;inset:0;pointer-events:none}.ui button,.ui input,.ui form{pointer-events:auto}.label{font-size:calc(var(--px) * 3.6);color:var(--muted)}.hud-bar,.hud,.stake-panel,.boss-banner,.plaque,.winnings-banner,.route{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)}.mult{display:contents}.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(--art) * 5.4);left:calc(var(--art) * 10);margin:0;width:calc(var(--art) * 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);width:max-content;max-width:94%;padding:calc(var(--px) * 5) calc(var(--px) * 14);text-align:center;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);width:max-content;max-width:94%;padding:calc(var(--px) * 6) calc(var(--px) * 20);text-align:center;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}@media(hover:hover){.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)}@media(hover:hover){.mini:hover:not(:disabled){background:var(--panel-light)}}.routes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:calc(var(--px) * 3)}.route{container-type:inline-size;display:grid;align-content:center;justify-items:center;gap:calc(var(--px) * 1.6);min-height:calc(var(--px) * 24);padding:calc(var(--px) * 3) calc(var(--px) * 2);border:0;color:var(--parchment);text-align:center;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;text-shadow:inherit}.route small{font-size:calc(var(--px) * 3.4);color:var(--muted)}.route strong{font-size:min(calc(var(--px) * 7),17cqw);line-height:1}.route em{font-style:normal;font-size:calc(var(--px) * 3.2);color:var(--muted);line-height:1.25}.route-home strong{color:var(--gold)}.route-safe strong{color:var(--safe)}.route-risky strong{color:var(--danger)}.route:active{background:var(--panel-light);transform:translateY(calc(var(--px) * 1))}.route:focus-visible{outline:calc(var(--px) * 1) solid var(--gold);outline-offset:calc(var(--px) * 1)}.viewport:not([data-layout=overlay]){display:grid;width:100%;height:100dvh;aspect-ratio:auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#05040a}.viewport:not([data-layout=overlay]) .scene{position:relative;inset:auto;width:100%;aspect-ratio:16 / 9}.viewport:not([data-layout=overlay]) .boss-banner,.viewport:not([data-layout=overlay]) .winnings-banner{--px: min(2.4px, calc(100cqw / 180))}.viewport:not([data-layout=overlay]) .boss-banner small,.viewport:not([data-layout=overlay]) .winnings-banner small{font-size:max(10px,calc(var(--px) * 3.6))}.viewport:not([data-layout=overlay]) .title-card{width:calc(var(--art) * 230)}.viewport:not([data-layout=overlay]) .hud-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:calc(var(--px) * 4);row-gap:calc(var(--px) * 3);margin:calc(var(--px) * 3);padding:calc(var(--px) * 4) calc(var(--px) * 6)}.viewport:not([data-layout=overlay]) .hud-bar .hud{position:static;padding:0;background:none;box-shadow:none;min-width:0}.viewport:not([data-layout=overlay]) .hud-bar .hud-left{display:contents}.viewport:not([data-layout=overlay]) .hud-bar .logo{white-space:nowrap}.viewport:not([data-layout=overlay]) .hud-bar .hud-right{justify-self:end}.viewport:not([data-layout=overlay]) .hud-bar .coin{width:calc(var(--px) * 8);height:calc(var(--px) * 8)}.viewport:not([data-layout=overlay]) .dock{display:flex;flex-direction:column;gap:calc(var(--px) * 4);min-height:0;padding:calc(var(--px) * 3);overflow-y:auto}.viewport:not([data-layout=overlay]) .dock>*{width:100%;max-width:440px;margin-inline:auto}.viewport:not([data-layout=overlay]) .stake-panel,.viewport:not([data-layout=overlay]) .door-hint,.viewport:not([data-layout=overlay]) .foot{position:static;transform:none}.viewport:not([data-layout=overlay]) .door-hint{font-size:calc(var(--px) * 3.8);text-align:center}.viewport:not([data-layout=overlay]) .notice{font-size:calc(var(--px) * 3.8)}.viewport:not([data-layout=overlay]) .foot{margin-top:auto;padding-top:calc(var(--px) * 2);font-size:calc(var(--px) * 3.2)}.viewport:not([data-layout=overlay]) .step{width:max(44px,calc(var(--px) * 12));height:max(44px,calc(var(--px) * 12))}.viewport:not([data-layout=overlay]) .stake-input{height:max(44px,calc(var(--px) * 12))}.viewport:not([data-layout=overlay]) .stake-input input{height:100%}.viewport:not([data-layout=overlay]) .enter,.viewport:not([data-layout=overlay]) .route{min-height:44px}.viewport:not([data-layout=overlay]) .mini{padding:calc(var(--px) * 3) calc(var(--px) * 4);font-size:calc(var(--px) * 3.4)}.viewport[data-layout=stack]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}.viewport[data-layout=stack] .hud-bar{--px: min(2.8px, .72vw);grid-row:1}.viewport[data-layout=stack] .scene{grid-row:2}.viewport[data-layout=stack] .dock{--px: min(3.7px, 1vw);grid-row:3}.viewport[data-layout=stack] .hud-bar:not(.lobby){grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto auto calc(var(--px) * 7);align-content:start;row-gap:calc(var(--px) * 2);align-items:center;white-space:nowrap}.viewport[data-layout=stack] .hud-bar:not(.lobby) :is(.hud-right,.stat-row){display:contents}.viewport[data-layout=stack] .hud-bar:not(.lobby) .logo{grid-column:1;grid-row:1}.viewport[data-layout=stack] .hud-bar:not(.lobby) .depth-row{grid-column:1;grid-row:2}.viewport[data-layout=stack] .hud-bar:not(.lobby) .stat-row .mult{display:flex;align-items:baseline;gap:calc(var(--px) * 2);grid-column:1;grid-row:3}.viewport[data-layout=stack] .hud-bar:not(.lobby) .hud-right .label{grid-column:2 / span 2;grid-row:1;justify-self:end}.viewport[data-layout=stack] .hud-bar:not(.lobby) .hud-right .coin{grid-column:2;grid-row:2;justify-self:end}.viewport[data-layout=stack] .hud-bar:not(.lobby) .hud-right strong{grid-column:3;grid-row:2;justify-self:end}.viewport[data-layout=stack] .hud-bar:not(.lobby) .stat-row>.label{grid-column:2;grid-row:3;justify-self:end}.viewport[data-layout=stack] .hud-bar:not(.lobby) .stat-row strong{grid-column:3;grid-row:3;justify-self:end}.viewport[data-layout=stack] .hud-bar.lobby .hud-right{grid-column:2;grid-row:1}.viewport[data-layout=stack] .depth-row .label{display:none}.viewport[data-layout=stack] .hud-bar{min-height:calc(var(--px) * 33)}.viewport[data-layout=stack] .hud-bar.lobby{padding:0;background:none;box-shadow:none}.viewport[data-layout=stack] .hud-bar.lobby .hud-right{padding:calc(var(--px) * 4) calc(var(--px) * 6);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}.viewport[data-layout=stack] .hud-bar .title-card{position:static;grid-column:1;grid-row:1;align-self:center;width:100%;max-width:calc(var(--px) * 80);max-height:calc(var(--px) * 25.8)}.viewport[data-layout=stack] .hud-bar .title-card img{width:auto;max-width:100%;max-height:inherit}.viewport[data-layout=stack] .hud-bar:not(.lobby) .logo,.viewport[data-layout=stack] .hud-bar:not(.lobby) .depth-row,.viewport[data-layout=stack] .hud-bar:not(.lobby) :is(.stat-row .mult,.stat-row>.label,.stat-row strong){animation:fade-in .28s steps(4,end) both}.viewport[data-layout=stack] .stat-row .multiplier{font-size:calc(var(--px) * 5)}.viewport[data-layout=stack] .pip{width:calc(var(--px) * 3.2);height:calc(var(--px) * 3.2)}.viewport[data-layout=side]{grid-template-columns:minmax(0,1fr) clamp(210px,32vw,280px);grid-template-rows:auto minmax(0,1fr)}.viewport[data-layout=side] .scene{grid-column:1;grid-row:1 / span 2;align-self:center;justify-self:center;width:min(100%,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 16 / 9))}.viewport[data-layout=side] .hud-bar{--px: 2.6px;grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr)}.viewport[data-layout=side] .hud-bar .hud-right{order:-1;justify-self:start}.viewport[data-layout=side] .hud-bar .logo{display:none}.viewport[data-layout=side] .foot{margin-top:calc(var(--px) * 3)}.viewport[data-layout=side] .dock{padding-bottom:calc(var(--px) * 6)}.viewport[data-layout=side] .dock{--px: 3.2px;grid-column:2;grid-row:2}.viewport[data-layout=side] .door-hint{display:none}.viewport[data-layout=side] .mini{white-space:nowrap;min-height:44px}@media(max-height:400px){.viewport[data-layout=side] .hud-bar{--px: 2.2px;margin-bottom:0}.viewport[data-layout=side] .dock{--px: 2.7px;gap:calc(var(--px) * 3)}}.viewport[data-layout=side] .routes{grid-auto-flow:row;gap:calc(var(--px) * 2)}.viewport[data-layout=side] .route{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label head" "detail head";justify-items:start;column-gap:calc(var(--px) * 3);text-align:left}.viewport[data-layout=side] .route small{grid-area:label}.viewport[data-layout=side] .route em{grid-area:detail}.viewport[data-layout=side] .route strong{grid-area:head;align-self:center}@keyframes banner-in{0%{opacity:0;margin-top:calc(var(--px) * -6)}to{opacity:1;margin-top:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.boss-banner,.winnings-banner,.plaque,.door-hint{animation:none}.viewport[data-layout=stack] .hud-bar:not(.lobby) :is(.logo,.depth-row,.stat-row .mult,.stat-row>.label,.stat-row strong){animation:none}}
