@font-face{font-family:Baloo2;font-style:normal;font-display:swap;font-weight:400 800;src:url(/fonts/baloo-2-latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1E00-1E9F,U+20A0-20AB}@font-face{font-family:Baloo2;font-style:normal;font-display:swap;font-weight:400 800;src:url(/fonts/baloo-2-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}:root{--ink:#35302a;--muted:#6b6154;--paper:#fff8ea;--surface:#fff;--hover:#fff3dc;--highlight:#ffe9c2;--line:#eadbc0;--accent:#c04e1b;--accent-hover:#ab4416;--accent-dark:#8f3912;--good:#1a7a42;--bad:#c93a36;--bad-dark:#9c2a27;--warn:#9a5b00;--festival:#d63c35;--chance:#a8437f;--coin:#ffc83d;--coin-dark:#c98a14;--focus:#2b6f97;--on-fill:#fff;--fs-1:12px;--fs-2:14px;--fs-3:17px;--fs-4:22px;--fs-5:32px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--r-s:10px;--r-m:14px;--r-l:20px;--r-xl:26px;--r-pill:999px;--shadow-1:0 2px 6px #382c182e;--shadow-2:0 3px 10px #382c182e;--shadow-3:0 10px 28px #382c1838;--tap:44px;--hud-gap:10px;--chip:76px;--edge-top:max(10px, env(safe-area-inset-top));--edge-bottom:max(10px, env(safe-area-inset-bottom));--edge-left:max(10px, env(safe-area-inset-left));--edge-right:max(10px, env(safe-area-inset-right));color:var(--ink);scrollbar-color:var(--line) transparent;font-family:Baloo2,system-ui,sans-serif}*{box-sizing:border-box}::selection{background:var(--highlight);color:var(--ink)}html,body{overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(#4f9fcb 0%,#fff1cf 100%);height:100%;margin:0;overflow:hidden}#stage,#popups,#ui{position:fixed;inset:0}#stage canvas{display:block}#popups,#ui{pointer-events:none}#ui>*,#hud>*{pointer-events:auto}#hud{pointer-events:none;position:absolute;inset:0}#hud>.dock,#hud>.players,#hud>#fx,#ui>.messages{pointer-events:none}#fx{z-index:3;position:fixed;inset:0}h1{font-size:var(--fs-5);color:var(--accent);margin:0;font-weight:800;line-height:1}h2{font-size:var(--fs-4);text-wrap:balance;margin:0;line-height:1.2}h3{font-size:var(--fs-3);margin:0;line-height:1.2}.icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;display:block}.home{padding:var(--s-4);place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.card{background:var(--paper);border-radius:var(--r-xl);box-shadow:var(--shadow-3);padding:var(--s-5)}.card:focus{outline:none}.home-card,.lobby-card,.over-card{gap:var(--s-4);text-align:center;flex-direction:column;width:min(420px,100%);display:flex}.tagline{color:var(--muted);font-size:var(--fs-3);margin:0}.error{color:var(--bad);margin:0;font-weight:500}.field{text-align:left;flex-direction:column;gap:6px;font-weight:500;display:flex}input{font:inherit;font-size:var(--fs-3);color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--r-m);padding:var(--s-3) var(--s-3);outline:none;width:100%}input::placeholder{color:var(--muted)}input:focus{border-color:var(--accent)}.btn{font:inherit;font-weight:600;font-size:var(--fs-3);color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--r-m);cursor:pointer;border-bottom-width:4px;flex-direction:column;justify-content:center;align-items:center;min-height:48px;padding:10px 18px;transition:transform 80ms,background .15s;display:inline-flex}.btn small{font-size:var(--fs-1);font-variant-numeric:tabular-nums;font-weight:500}.btn:hover:not(:disabled){background:var(--hover)}.btn:active:not(:disabled){border-bottom-width:2px;margin-bottom:2px;transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.tool:focus-visible,.player:focus-visible,.code:focus-visible,.mini:focus-visible,.preset:focus-visible,.custom-settings summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn.primary{background:var(--accent);border-color:var(--accent-dark);color:var(--on-fill)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{background:var(--bad);border-color:var(--bad-dark);color:var(--on-fill)}.btn.danger:hover:not(:disabled){background:var(--bad-dark)}.btn.ghost{background:0 0}.btn.big{font-size:var(--fs-4);padding:14px 26px}.btn.pulse{animation:1.1s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 3px 0 7px #c04e1b4d}}.row{gap:var(--hud-gap);justify-content:center;align-items:stretch;display:flex}.row.wrap{flex-wrap:wrap}.mini{font:inherit;font-size:var(--fs-2);color:var(--muted);cursor:pointer;text-underline-offset:3px;min-height:var(--tap);padding:0 var(--s-2);background:0 0;border:none;text-decoration:underline}.divider{align-items:center;gap:var(--hud-gap);color:var(--muted);display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:2px}.join{gap:var(--hud-gap);display:flex}.join input{text-transform:uppercase;letter-spacing:4px;text-align:center}.code{font:inherit;color:inherit;cursor:pointer;background:var(--surface);border:2px dashed var(--line);border-radius:var(--r-l);padding:var(--s-3);flex-direction:column;display:flex}.code-value{font-size:var(--fs-5);letter-spacing:8px;color:var(--accent);font-weight:700}.code-hint{color:var(--muted);font-size:var(--fs-2)}.lobby-list{gap:var(--s-2);text-align:left;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lobby-list li{align-items:center;gap:var(--s-3);padding:var(--hud-gap) var(--s-3);background:var(--surface);border-radius:var(--r-m);font-size:var(--fs-3);min-height:52px;font-weight:500;display:flex}.lobby-list li span{align-items:center;gap:var(--s-2);flex-wrap:wrap;flex:1;display:flex}.lobby-list li.empty{color:var(--muted);border:2px dashed var(--line);background:0 0}.host-badge{color:var(--muted);font-style:normal;font-weight:400;font-size:var(--fs-2)}.you-badge{font-style:normal;font-size:var(--fs-1);border-radius:var(--r-pill);background:var(--ink);color:var(--on-fill);flex:none;padding:0 6px;font-weight:700;line-height:16px}.pawn{background:var(--line);border-radius:50%;flex:none;width:22px;height:22px;display:inline-block;box-shadow:inset 0 -3px #0000002e}.lobby-vehicle{object-fit:contain;flex:none;width:48px;height:36px}.vehicle-pick{gap:var(--s-2);flex-direction:column;display:flex}.vehicle-pick h3{font-size:var(--fs-3);margin:0}.vehicle-grid{gap:var(--s-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.vehicle-option{min-height:44px;padding:var(--s-2) 2px;background:var(--surface);border-radius:var(--r-m);color:inherit;font:inherit;font-size:var(--fs-1);cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;font-weight:500;display:flex}.vehicle-option:hover{border-color:var(--line)}.vehicle-option.selected{border-color:var(--ink);font-weight:700}.vehicle-image{aspect-ratio:4/3;object-fit:contain;width:100%;max-width:80px}.lobby-wait{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-m);background:var(--highlight);font-size:var(--fs-3);margin:0;font-weight:500;display:flex}.lobby-wait:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;animation:1.4s ease-in-out infinite waiting}@keyframes waiting{50%{opacity:.55;transform:scale(.55)}}.lobby-hint{color:var(--muted);font-size:var(--fs-2);margin:0}.players{position:absolute;inset:0}.player{pointer-events:auto;cursor:pointer;border-radius:var(--r-l);filter:drop-shadow(0 3px 7px #382c183d);align-items:center;max-width:min(270px,50% - 14px);transition:transform .2s,opacity .2s;display:flex;position:absolute}.corner-tl{top:var(--edge-top);left:var(--edge-left);transform-origin:0 0}.corner-tr{top:var(--edge-top);right:var(--edge-right);transform-origin:100% 0;flex-direction:row-reverse}.corner-bl{bottom:var(--edge-bottom);left:var(--edge-left);transform-origin:0 100%}.corner-br{bottom:var(--edge-bottom);right:var(--edge-right);transform-origin:100% 100%;flex-direction:row-reverse}.avatar{z-index:1;width:var(--chip);height:var(--chip);background:var(--paper);border:4px solid var(--c);border-radius:var(--r-l);flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.avatar-image{object-fit:contain;width:100%;height:100%;scale:1.2}.avatar .pawn{width:50%;height:50%}.plate{min-width:0;height:calc(var(--chip) - 12px);flex-direction:column;display:flex;overflow:hidden}.corner-tl .plate,.corner-bl .plate{border-radius:0 var(--r-m) var(--r-m) 0;margin-left:-12px}.corner-tr .plate,.corner-br .plate{border-radius:var(--r-m) 0 0 var(--r-m);margin-right:-12px}.corner-bl .plate,.corner-br .plate{flex-direction:column-reverse}.player .name,.player .cash{align-items:center;gap:var(--s-1);padding:0 var(--s-3) 0 22px;min-width:118px;display:flex}.corner-tr .name,.corner-tr .cash,.corner-br .name,.corner-br .cash{padding:0 22px 0 var(--s-3);justify-content:flex-end}.player .name{background:color-mix(in srgb, var(--c) 88%, #000);height:26px;color:var(--on-c);flex:none}.player b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-2);letter-spacing:.03em;text-transform:uppercase;font-weight:800;overflow:hidden}.player .you-badge{background:var(--paper);color:var(--ink)}.player .cash{background:var(--paper);font-weight:700;font-size:var(--fs-4);font-variant-numeric:tabular-nums;white-space:nowrap;flex:1;line-height:1}.chip-timer{background:var(--line);flex:none;height:5px}.chip-timer i{background:var(--good);transform-origin:0;height:100%;transition:transform .2s linear,background .3s;display:block;transform:scaleX(0)}.player.low .chip-timer i{background:var(--bad)}.tags{gap:var(--s-1);pointer-events:none;flex-wrap:wrap;display:flex;position:absolute;top:calc(100% + 5px);left:0;right:0}.corner-bl .tags,.corner-br .tags{flex-wrap:wrap-reverse;top:auto;bottom:calc(100% + 5px)}.corner-tr .tags,.corner-br .tags{justify-content:flex-end}.tags small{text-overflow:ellipsis;white-space:nowrap;background:var(--ink);max-width:100%;color:var(--on-fill);border-radius:var(--r-s);padding:0 var(--s-2);font-size:var(--fs-1);font-variant-numeric:tabular-nums;font-weight:600;line-height:19px;overflow:hidden}.tags .fest{background:var(--festival)}.player.on-turn{transform:scale(1.08)}.player.on-turn .avatar{outline:4px solid var(--coin);outline-offset:1px}.player.my-turn .turn-tag{background:var(--accent)}.player.my-turn .avatar{animation:1.1s ease-in-out infinite my-turn}@keyframes my-turn{50%{outline-offset:5px}}.throw{z-index:2;background:var(--paper);border:2px solid var(--c);cursor:pointer;border-radius:50%;place-items:center;width:30px;height:30px;padding:3px;transition:transform .12s;display:grid;position:absolute}.throw svg{width:100%;height:100%}.throw:hover{transform:scale(1.15)rotate(-12deg)}.throw:active{transform:scale(.9)}.corner-tl .throw{top:-5px;left:-5px}.corner-tr .throw{top:-5px;right:-5px}.corner-bl .throw{bottom:-5px;left:-5px}.corner-br .throw{bottom:-5px;right:-5px}.tomato{pointer-events:none;position:fixed;top:0;left:0}.tomato>i{width:34px;height:34px;margin:-17px 0 0 -17px;display:block}.splat{width:calc(var(--chip) * .95);height:calc(var(--chip) * .95);margin:calc(var(--chip) * -.475) 0 0 calc(var(--chip) * -.475);pointer-events:none;position:fixed}.tomato svg,.splat svg{width:100%;height:100%;display:block}.player.away{opacity:.65}.player.out{opacity:.45;filter:grayscale()}.meta{top:var(--edge-top);align-items:baseline;gap:var(--s-3);background:var(--ink);color:var(--paper);border-radius:var(--r-m);padding:2px var(--s-4);box-shadow:var(--shadow-2);white-space:nowrap;font-variant-numeric:tabular-nums;display:flex;position:absolute;left:50%;transform:translate(-50%)}.round{font-weight:600;font-size:var(--fs-2)}.clock{font-weight:800;font-size:var(--fs-4);letter-spacing:.04em;line-height:1.2}.clock:empty{display:none}.tools{right:var(--edge-right);gap:var(--s-2);flex-direction:column;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tool-row{gap:6px;display:flex}.tool{width:var(--tap);height:var(--tap);border-radius:var(--r-m);background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-2);border:none;place-items:center;display:grid}.tools .tool{border-radius:50%;width:48px;height:48px}.tool:hover{background:var(--hover)}.tool[aria-pressed=false]{color:var(--muted)}.dock{left:0;right:0;bottom:var(--edge-bottom);align-items:center;gap:var(--s-2);flex-direction:column;width:min(440px,100% + -2*min(270px,50% - 14px) - 48px);min-width:220px;margin-inline:auto;display:flex;position:absolute}.dock .panel,.dock .waiting,.dock .roll-box>*{pointer-events:auto}.action{pointer-events:none;z-index:1;justify-content:center;width:min(430px,100% - 24px);display:flex;position:fixed;top:54%;left:50%;transform:translate(-50%,-50%)}.action:empty,.status:empty{display:none}.status{justify-content:center;display:flex}.panel{background:var(--paper);border-radius:var(--r-l);width:100%;padding:var(--s-3) 14px;box-shadow:var(--shadow-3);max-height:calc(100vh - 24px);animation:.22s ease-out rise;overflow-y:auto}.prompt{margin:0 0 var(--s-2);text-align:center;font-size:var(--fs-3)}.panel .prompt:only-child,p.prompt.panel{margin:0}.sell-list{max-height:32vh;overflow-y:auto}.waiting{align-items:center;gap:var(--s-2);border-radius:var(--r-m);padding:var(--s-1) var(--s-4);font-size:var(--fs-3);box-shadow:var(--shadow-1);background:#fff8eaf0;display:flex}.waiting .pawn{width:16px;height:16px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.panel.steady{animation:none}.roll-box{align-items:center;gap:var(--s-2);flex-direction:column;display:flex}.btn.roll{letter-spacing:.03em;text-transform:uppercase;border-radius:var(--r-l);min-width:min(300px,72vw);min-height:72px;box-shadow:var(--shadow-3);border-bottom-width:7px;font-size:26px;font-weight:800}.btn.roll:active:not(:disabled){border-bottom-width:3px;margin-bottom:4px;transform:translateY(4px)}.deal{padding:0 0 var(--s-3);gap:var(--hud-gap);flex-direction:column;display:flex}.deal>*{margin-inline:14px}.deal-head{padding:var(--s-2) 14px;background:var(--band);text-align:center;border-bottom:3px solid #00000024;margin:0}.deal-head h3{padding:0 var(--s-3);border-radius:var(--r-s);background:var(--paper);font-size:var(--fs-4);font-weight:800;display:inline-block}.deal-sub{text-align:center;color:var(--muted);font-size:var(--fs-2);font-variant-numeric:tabular-nums;margin-block:0;font-weight:500}.levels{gap:var(--s-1);display:flex}.lvl{min-width:0;padding:var(--s-1);font:inherit;color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--r-m);cursor:pointer;border-bottom-width:4px;flex-direction:column;flex:1 1 0;align-items:center;gap:1px;transition:background .12s,border-color .12s;display:flex}.lvl-preview{aspect-ratio:4/3;place-items:center;width:100%;max-width:120px;max-height:82px;display:grid}.lvl-preview img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.lvl-preview .icon{width:28px;height:28px}.landmark-preview{justify-content:center;display:flex}.lvl b,.lvl small{font-size:var(--fs-1);text-align:center;overflow-wrap:anywhere;line-height:1.2}.lvl b{font-weight:700}.lvl small{font-variant-numeric:tabular-nums;font-weight:500}.lvl:hover:not(:disabled){background:var(--hover)}.lvl:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.lvl.picked{background:var(--accent);border-color:var(--accent-dark);color:var(--on-fill)}.lvl.picked:hover:not(:disabled){background:var(--accent-hover)}.lvl.owned{background:var(--highlight);border-color:var(--line);cursor:default}.lvl.locked{color:var(--muted);cursor:default;background:0 0;border-style:dashed;border-bottom-width:2px}.lvl.locked img{opacity:.68}.deal-sum{gap:var(--s-2);margin-block:0;display:flex}.deal-sum div{padding:var(--s-1) var(--s-2);background:var(--surface);border-radius:var(--r-m);flex-direction:column;flex:1;align-items:center;display:flex}.deal-sum dt{color:var(--muted);font-size:var(--fs-1);font-weight:500}.deal-sum dd{font-size:var(--fs-4);font-variant-numeric:tabular-nums;margin:0;font-weight:800;line-height:1.15}.deal-actions .btn{flex:1 1 0}.deal-actions .btn.buy{min-height:60px;font-size:var(--fs-4);flex:2 1 0;font-weight:800}.deal-actions .btn.buy small{font-size:var(--fs-2);font-weight:600}@media (aspect-ratio>=1){.action:has(.levels){width:min(520px,100% - 24px)}}@media (width<=370px){.levels:has(.lvl:nth-child(4)){grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lvl-preview{max-height:52px}}.messages{pointer-events:none;flex-direction:column;gap:6px;width:100%;display:flex}.messages:empty{display:none}#ui>.messages{left:50%;bottom:var(--s-4);z-index:2;width:min(360px,100% - 32px);position:fixed;transform:translate(-50%)}.msg{background:var(--ink);color:var(--on-fill);border-radius:var(--r-m);padding:var(--s-2) var(--s-3);text-align:center;font-weight:500;font-size:var(--fs-3);box-shadow:var(--shadow-2);line-height:1.25;transition:opacity .16s;animation:.22s cubic-bezier(.16,1,.3,1) msg-in}.msg.leaving{opacity:0}.msg.bad{background:var(--bad)}.msg.good{background:var(--good)}.msg.warn{background:var(--warn)}.msg.turn{background:var(--accent);font-size:var(--fs-4);font-weight:700}@keyframes msg-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}.msg.rent{justify-content:center;align-items:center;gap:var(--s-2);background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600;display:flex}.stamp{border-radius:var(--r-s);color:var(--accent);font-size:var(--fs-1);letter-spacing:.04em;border:2px solid;flex:none;padding:0 6px;font-weight:800;animation:.34s cubic-bezier(.2,1.5,.4,1) stamp;rotate:-6deg}@keyframes stamp{0%{opacity:0;transform:scale(2.4)}}.msg.rent.mine{font-size:var(--fs-3);text-wrap:balance;color:var(--on-fill);padding:var(--s-2) var(--s-4);font-weight:700;animation:.22s cubic-bezier(.16,1,.3,1) msg-in,.42s ease-out 80ms rent-thump}.msg.rent.loss{background:var(--bad)}.msg.rent.gain{background:var(--good)}.msg.rent.mine .stamp{color:var(--on-fill);font-size:var(--fs-2)}@keyframes rent-thump{30%{transform:scale(1.06)rotate(-1deg)}}.tile-info{z-index:2;left:var(--edge-left);bottom:calc(var(--edge-bottom) + var(--chip) + 34px);background:var(--paper);border-radius:var(--r-l);box-shadow:var(--shadow-3);font-size:var(--fs-2);padding:0 0 var(--hud-gap);cursor:pointer;width:min(290px,100vw - 24px);display:none;position:absolute;overflow:hidden}.tile-info.show{display:block}.tile-info p{margin:var(--s-1) 0 0;color:var(--muted)}.tile-info .tc-owner,.tile-info .tc-note{margin:2px var(--s-3) 0}.tc-band{height:9px}.tc-head{padding:6px var(--s-3) 0;font-size:var(--fs-3);justify-content:space-between;align-items:center;display:flex}.tc-close{width:var(--tap);height:var(--tap);border-radius:var(--r-s);color:var(--ink);cursor:pointer;background:0 0;border:none;place-items:center;margin:-6px -10px -6px 0;display:grid}.tc-close .icon{width:20px;height:20px}.tc-owner,.tile-info p.tc-owner{color:var(--ink)}.tc-note{font-size:var(--fs-2)}.tc-table{width:calc(100% - 24px);margin:6px var(--s-3) 0;border-collapse:collapse;font-size:var(--fs-2)}.tc-table td{padding:1px var(--s-1)}.tc-table .n{text-align:right;font-variant-numeric:tabular-nums}.tc-table .th td{color:var(--muted);font-size:var(--fs-1)}.tc-table .now td{background:var(--highlight);font-weight:700}.card-overlay{pointer-events:none;place-items:center;display:none;position:absolute;inset:0}.card-overlay.show{display:grid}.chance{pointer-events:auto;cursor:pointer;border:4px solid var(--chance);border-radius:var(--r-l);width:min(320px,82%);padding:var(--s-5);text-align:center;box-shadow:var(--shadow-3);background:linear-gradient(160deg,#fff 0%,#ffeef6 100%);animation:.45s cubic-bezier(.2,1.3,.4,1) flip}.chance small{color:var(--chance);font-weight:600;font-size:var(--fs-2)}.chance p{margin:var(--s-2) 0 0;font-size:var(--fs-4);font-weight:500;line-height:1.25}@keyframes flip{0%{transform:rotateY(90deg)scale(.7)}}.threats{left:var(--edge-left);top:calc(var(--edge-top) + var(--chip) + 34px);gap:var(--s-1);pointer-events:none;flex-direction:column;max-width:min(300px,70%);display:flex;position:absolute}.threat{border-radius:var(--r-s);padding:2px var(--hud-gap);font-size:var(--fs-2);box-shadow:var(--shadow-1);background:#fff8eaf0;align-items:center;gap:6px;font-weight:600;display:flex}.threat:before{content:"";background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.chip-delta{font-weight:700;font-size:var(--fs-2);border-radius:var(--r-s);background:var(--paper);box-shadow:var(--shadow-1);pointer-events:none;font-variant-numeric:tabular-nums;padding:0 6px;line-height:18px;animation:1.15s ease-out forwards delta;position:fixed;transform:translate(-100%,-50%)}.chip-delta.gain{color:var(--good)}.chip-delta.loss{color:var(--bad)}@keyframes delta{0%{opacity:0;transform:translate(-100%,-20%)}15%{opacity:1;transform:translate(-100%,-50%)}70%{opacity:1;transform:translate(-100%,-50%)}to{opacity:0;transform:translate(-100%,-80%)}}.fly-coin{background:var(--coin);width:15px;height:15px;box-shadow:inset 0 -2px 0 var(--coin-dark);pointer-events:none;border-radius:50%;margin:-7px 0 0 -7px;position:fixed;top:0;left:0}.dim{color:var(--muted);font-size:var(--fs-2)}.panel .choice .btn{flex:42%;min-height:58px}.panel .choice .btn.primary{flex-basis:100%}.sheet-card{gap:var(--hud-gap);flex-direction:column;width:min(380px,100%);max-height:calc(100vh - 32px);display:flex;overflow:hidden}.sheet-list,.log-list{flex-direction:column;flex:auto;gap:3px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.sheet-list li{align-items:center;gap:var(--s-2);padding:var(--s-1) 6px;background:var(--surface);border-radius:var(--r-s);font-variant-numeric:tabular-nums;display:flex}.sheet-list i{border-radius:var(--s-1);flex:none;width:11px;height:22px}.sheet-list span{flex:1}.sheet-list small{color:var(--muted);font-size:var(--fs-1)}.log-list li{font-size:var(--fs-2);border-bottom:1px solid var(--line);padding:2px 6px}.howto-step{gap:var(--s-2);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.howto-list{padding:0 0 0 var(--s-4);font-size:var(--fs-2);flex-direction:column;gap:6px;margin:0;line-height:1.35;display:flex}.howto-list li::marker{color:var(--accent)}.howto-nav{justify-content:space-between;align-items:center}.howto-count{color:var(--muted);font-size:var(--fs-2);font-variant-numeric:tabular-nums}.lobby-card{text-align:left;width:min(860px,100%);position:relative}.lobby-head{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.lobby-head .tool-row .tool{box-shadow:none;background:var(--surface);border:2px solid var(--line)}.lobby-columns{gap:var(--s-5);grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;display:grid}.lobby-column{text-align:center;flex-direction:column;gap:14px;display:flex}.settings-panel{flex-direction:column;gap:14px;display:flex}.presets{gap:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.preset{font:inherit;color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--r-m);padding:var(--s-2) 6px;cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;display:flex}.preset:hover{background:var(--hover)}.preset b{font-size:var(--fs-3);font-weight:700;line-height:1.1}.preset small{font-size:var(--fs-1);color:var(--muted);line-height:1.15}.preset[aria-pressed=true]{background:var(--accent);border-color:var(--accent-dark);color:var(--on-fill)}.preset[aria-pressed=true] small{color:var(--on-fill)}.custom-settings{flex-direction:column;gap:14px;display:flex}.custom-settings summary{min-height:var(--tap);align-items:center;gap:var(--s-2);cursor:pointer;font-size:var(--fs-3);border-radius:var(--r-s);font-weight:600;list-style:none;display:flex}.custom-settings summary::-webkit-details-marker{display:none}.custom-settings summary:before{content:"";border-right:2.5px solid var(--muted);border-bottom:2.5px solid var(--muted);border-radius:1px;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.custom-settings[open] summary:before{transform:rotate(45deg)}.custom-body{flex-direction:column;gap:14px;display:flex}.setting-group{gap:var(--hud-gap);border:none;flex-direction:column;margin:0;padding:0;display:flex}.setting-group legend{color:var(--muted);font-size:var(--fs-2);padding:0 0 6px;font-weight:600}.setting{gap:var(--s-1);flex-direction:column;display:flex}.setting-label{font-size:var(--fs-2);font-weight:500}.setting-value{font-weight:600;font-size:var(--fs-3);font-variant-numeric:tabular-nums}#game-settings .setting:has(.setting-value){justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-direction:row}.seg{gap:var(--s-1);flex-wrap:wrap;display:flex}.seg button{font:inherit;font-size:var(--fs-2);color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--r-s);padding:6px var(--hud-gap);min-height:var(--tap);cursor:pointer;white-space:nowrap;flex:auto;font-weight:500}.seg-custom{font:inherit;font-size:var(--fs-2);color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--r-s);padding:6px var(--s-2);min-height:var(--tap);flex:84px;width:84px;font-weight:500}.seg-custom.active{border-color:var(--accent-dark);background:var(--hover);font-weight:600}.seg-custom:focus-visible,.seg button:focus-visible,.switch input:focus-visible+i{outline:3px solid var(--focus);outline-offset:2px}.seg button:hover{background:var(--hover)}.seg button[aria-pressed=true]{background:var(--accent);border-color:var(--accent-dark);color:var(--on-fill);font-weight:600}.switch{align-items:center;gap:var(--hud-gap);cursor:pointer;font-size:var(--fs-2);min-height:var(--tap);font-weight:500;display:flex;position:relative}.switch input{opacity:0;width:1px;height:1px;padding:0;position:absolute}.switch i{border-radius:var(--r-pill);background:var(--line);flex:none;width:42px;height:24px;transition:background .15s;position:relative}.switch i:after{content:"";background:var(--surface);width:18px;height:18px;box-shadow:var(--shadow-1);border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+i{background:var(--good)}.switch input:checked+i:after{transform:translate(18px)}.prefs-card{gap:var(--s-4);flex-direction:column;width:min(380px,100%);max-height:calc(100vh - 32px);display:flex;overflow-y:auto}.slider{font-size:var(--fs-3);grid-template-columns:1fr auto;gap:6px;font-weight:500;display:grid}.slider output{color:var(--muted);font-variant-numeric:tabular-nums}.slider input{accent-color:var(--accent);background:0 0;border:none;grid-column:1/-1;height:28px;padding:0}.leave-zone{gap:var(--s-2);padding-top:var(--s-3);border-top:2px solid var(--line);flex-direction:column;display:flex}.leave-zone .prompt{font-size:var(--fs-2);margin:0}.offline{background:var(--bad);color:var(--on-fill);text-align:center;padding:6px;font-weight:500;display:none;position:absolute;top:0;left:0;right:0}.offline.show{display:block}.popup{font-weight:700;font-size:var(--fs-4);pointer-events:none;text-shadow:0 2px #fff,0 -2px #fff,2px 0 #fff,-2px 0 #fff;animation:1.5s ease-out forwards float-up;position:absolute;transform:translate(-50%,-50%)}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-30%)scale(.7)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}.modal{padding:var(--s-4);pointer-events:auto;z-index:5;background:#26201873;place-items:center;display:grid;position:fixed;inset:0}.over-card{z-index:1;width:min(480px,100%);max-height:calc(100vh - 32px);position:relative;overflow-y:auto}.podium{justify-content:center;align-items:flex-end;gap:var(--s-2);margin:0;padding:0;list-style:none;display:flex}.step{flex-direction:column;flex:1 1 0;align-items:center;gap:2px;min-width:0;display:flex}.step .pawn{box-shadow:inset 0 -3px #0000002e}.step-name{justify-content:center;align-items:center;gap:var(--s-1);max-width:100%;font-size:var(--fs-2);font-weight:600;display:flex}.step-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.step-worth{font-size:var(--fs-3);font-variant-numeric:tabular-nums;font-weight:700}.step-block{border-radius:var(--r-m) var(--r-m) 0 0;background:color-mix(in srgb, var(--c) 30%, var(--paper));width:100%;font-size:var(--fs-4);place-items:center;font-weight:800;display:grid}.step.out{opacity:.6}.rank-1{order:2}.rank-1 .step-block{height:88px;font-size:var(--fs-5)}.rank-1 .step-worth{font-size:var(--fs-4)}.rank-2{order:1}.rank-2 .step-block{height:60px}.rank-3{order:3}.rank-3 .step-block{height:44px}.rank-4{order:4}.rank-4 .step-block{height:32px}.podium-note{color:var(--muted);font-size:var(--fs-1);margin:0}.over-stats{justify-content:center;gap:var(--s-2) var(--s-5);flex-wrap:wrap;margin:0;display:flex}.over-stats div{flex-direction:column;display:flex}.over-stats dt{color:var(--muted);font-size:var(--fs-1)}.over-stats dd{font-size:var(--fs-2);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{background:var(--c);width:10px;height:16px;animation:confetti-fall var(--t) var(--d) cubic-bezier(.3, .4, .6, 1) both;border-radius:3px;position:absolute;top:-24px}.confetti i:nth-child(3n){background:color-mix(in srgb, var(--c) 55%, white)}.confetti i:nth-child(5n){background:var(--coin)}@keyframes confetti-fall{to{transform:translate(var(--x), 110vh) rotate(var(--r))}}@media (width>=1500px) and (height>=850px){:root{--chip:96px}.player{max-width:min(340px,50% - 14px)}.plate{height:calc(var(--chip) - 16px)}.player .name{height:32px}.player .name,.player .cash{min-width:150px}.player b{font-size:var(--fs-3)}.player .cash{font-size:28px}.tags small{font-size:var(--fs-2);line-height:22px}.round{font-size:var(--fs-3)}.clock{font-size:28px}.tools .tool{width:56px;height:56px}.action{width:min(500px,100% - 24px)}.btn.roll{min-width:360px;min-height:84px;font-size:30px}}@media (aspect-ratio<=999/1000){.meta{top:calc(var(--edge-top) + var(--chip) + 44px);left:var(--edge-left);transform:none}.tools{top:calc(var(--edge-top) + var(--chip) + 40px);flex-direction:row;gap:6px;transform:none}.tools .tool{width:var(--tap);height:var(--tap)}.threats{top:calc(var(--edge-top) + var(--chip) + 94px)}.dock{bottom:calc(var(--edge-bottom) + var(--chip) + 34px);width:min(560px,100% - 20px)}.action{width:100%;position:static;transform:none}.tile-info{bottom:calc(var(--edge-bottom) + var(--chip) + 34px)}}@media (aspect-ratio>=5/4) and (height<=500px){:root{--chip:52px;--edge-top:max(6px, env(safe-area-inset-top));--edge-bottom:max(6px, env(safe-area-inset-bottom))}.avatar{border-radius:var(--r-m);border-width:3px}.plate{height:calc(var(--chip) - 8px)}.player .name{height:19px}.player .name,.player .cash{min-width:84px}.player b{font-size:var(--fs-1)}.player .cash{font-size:var(--fs-3)}.chip-timer{height:4px}.throw{width:24px;height:24px;padding:2px}.tags small{line-height:16px}.chip-delta{font-size:var(--fs-1);line-height:16px}.meta{padding:0 var(--s-3)}.clock{font-size:var(--fs-3)}.round{font-size:var(--fs-1)}.tools{gap:var(--s-1)}.tools .tool{width:36px;height:36px}.tools .icon{width:20px;height:20px}.action{top:50%}.messages>:nth-last-child(n+2){display:none}.msg{font-size:var(--fs-2);padding:var(--s-1) var(--s-2)}.msg.turn,.msg.rent.mine{font-size:var(--fs-3);padding:var(--s-1) var(--s-2)}.panel{padding:var(--s-2) var(--hud-gap);border-radius:var(--r-m);max-height:calc(100vh - 12px)}.deal{padding:0 0 var(--s-2);gap:6px}.deal-head{padding:var(--s-1) var(--hud-gap)}.deal-head h3{font-size:var(--fs-3)}.lvl{padding:3px 2px}.lvl-preview{max-height:52px}.deal-sum dd{font-size:var(--fs-3)}.deal-actions .btn.buy{min-height:44px;font-size:var(--fs-3)}.prompt{font-size:var(--fs-2);margin-bottom:5px}.btn{font-size:var(--fs-2);padding:5px var(--s-2);min-height:38px}.btn.roll{min-height:54px;font-size:var(--fs-4);border-bottom-width:5px}.sell-list{max-height:44vh}.tile-info{font-size:var(--fs-2);max-width:220px;max-height:calc(100vh - 2 * var(--chip) - 60px);padding:0 0 6px;overflow-y:auto}.modal{padding:var(--s-2)}.card{padding:14px var(--s-4)}.prefs-card{gap:var(--s-2);max-height:calc(100vh - 16px)}.sheet-card,.over-card{max-height:calc(100vh - 16px)}.over-card{gap:var(--s-2)}.rank-1 .step-block{height:44px;font-size:var(--fs-4)}.rank-2 .step-block{height:32px}.rank-3 .step-block{height:24px}.rank-4 .step-block{height:18px;font-size:var(--fs-3)}}@media (width<=720px){.lobby-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){:root{--chip:58px}.avatar{border-radius:var(--r-m);border-width:3px}.plate{height:calc(var(--chip) - 8px)}.player .name{height:21px}.player .name,.player .cash{min-width:92px;padding-left:18px;padding-right:var(--s-2)}.corner-tr .name,.corner-tr .cash,.corner-br .name,.corner-br .cash{padding-left:var(--s-2);padding-right:18px}.player b{font-size:var(--fs-1)}.player .cash{font-size:var(--fs-3)}.throw{width:26px;height:26px;padding:2px}.round{font-size:var(--fs-1)}.clock{font-size:var(--fs-3)}.btn{font-size:var(--fs-2);padding:var(--s-2) var(--s-3)}.btn.big{font-size:var(--fs-3);padding:var(--s-3) 22px}.btn.roll{min-height:62px;font-size:var(--fs-4)}.messages>:nth-last-child(n+3){display:none}.msg.turn,.msg.rent.mine,.deal-sum dd,.deal-head h3{font-size:var(--fs-3)}.deal-actions .btn.buy{min-height:52px;font-size:var(--fs-3)}.panel .prompt{font-size:var(--fs-2);margin-bottom:6px;line-height:1.2}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.chip-delta,.popup{animation:none!important}}
