:root{--ink:#0d0907;--ink-2:#171009;--leather:#241812;--leather-hi:#33241a;--parchment:#ecdfc4;--parchment-dim:#b8a888;--gold:#d9a441;--gold-bright:#ffd27a;--blood:#b23a2c;--blood-bright:#ff6a4a;--teal:#4fb3ae;--green:#7fbb5a;--display:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--data:ui-sans-serif, "SF Compact Display", "Helvetica Neue", "Segoe UI", Roboto, system-ui, sans-serif;--shadow-hard:0 2px 0 #0009;--panel-shadow:0 18px 48px #000000a8, 0 2px 0 #ffe2aa0f inset}*{box-sizing:border-box}html,body{height:100%;color:var(--parchment);font-family:var(--data);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;touch-action:none;background:#06040a;margin:0;padding:0;overflow:hidden}#game-canvas{width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui-root{pointer-events:none;z-index:10;font-variant-numeric:tabular-nums;position:fixed;inset:0}#ui-root>*{pointer-events:none}#ui-root .tr-screen,#ui-root .tr-interactive{pointer-events:auto}#ui-root .tr-screen.hide{pointer-events:none}.tr-display{font-family:var(--display);text-transform:uppercase;letter-spacing:.22em;font-weight:600}.tr-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.3em;text-shadow:var(--shadow-hard);font-weight:700}.tr-label{font-family:var(--data);text-transform:uppercase;letter-spacing:.16em;color:var(--parchment-dim);font-size:10px;font-weight:700}.hud{opacity:0;transition:opacity .26s;position:absolute;inset:0}.hud.visible{opacity:1}.crosshair{opacity:.92;width:46px;height:46px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair span{background:#f0e6cde6;transition:none;position:absolute;box-shadow:0 0 3px #000000e6}.crosshair .ch-t,.crosshair .ch-b{width:2px;height:9px;left:22px}.crosshair .ch-l,.crosshair .ch-r{width:9px;height:2px;top:22px}.crosshair .ch-dot{background:#ffe6b4f2;width:2px;height:2px;top:22px;left:22px}.crosshair.hidden{opacity:0}.hitmark{opacity:0;pointer-events:none;width:30px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.5)}.hitmark span{background:var(--parchment);width:10px;height:2px;position:absolute;box-shadow:0 0 4px #000000e6}.hitmark span:first-child{top:4px;left:0;transform:rotate(45deg)}.hitmark span:nth-child(2){top:4px;right:0;transform:rotate(-45deg)}.hitmark span:nth-child(3){bottom:4px;left:0;transform:rotate(-45deg)}.hitmark span:nth-child(4){bottom:4px;right:0;transform:rotate(45deg)}.hitmark.show{animation:.22s ease-out forwards hitpop}.hitmark.kill span{background:var(--blood-bright);height:3px}.hitmark.head span{background:var(--gold-bright)}@keyframes hitpop{0%{opacity:1;transform:translate(-50%,-50%)scale(.55)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}.vitals{width:268px;position:absolute;bottom:30px;left:34px}.vitals .row{align-items:baseline;gap:10px;margin-bottom:5px;display:flex}.vitals .big{font-family:var(--display);color:var(--parchment);text-shadow:var(--shadow-hard);font-size:40px;font-weight:700;line-height:.9}.vitals .big.low{color:var(--blood-bright)}.grit-bar{background:#0a0604b8;border:1px solid #d9a44157;height:9px;position:relative;overflow:hidden}.grit-bar .fill{transform-origin:0;background:linear-gradient(90deg,#9c3226,#d1553a 60%,#e88a4a);transition:transform .14s ease-out;position:absolute;inset:0}.grit-bar .ghost{transform-origin:0;background:#ffd2aa47;transition:transform .62s cubic-bezier(.2,0,0,1) .18s;position:absolute;inset:0}.grit-bar .fill{z-index:2}.armor-pips{gap:4px;margin-top:6px;display:flex}.armor-pips i{background:var(--teal);width:15px;height:4px;box-shadow:0 0 6px #4fb3ae80}.weapon{text-align:right;min-width:220px;position:absolute;bottom:30px;right:34px}.weapon .name{font-family:var(--display);text-transform:uppercase;letter-spacing:.2em;color:var(--parchment-dim);margin-bottom:3px;font-size:13px}.weapon .ammo{font-family:var(--display);text-shadow:var(--shadow-hard);font-size:44px;font-weight:700;line-height:.86}.weapon .ammo .reserve{color:var(--parchment-dim);letter-spacing:.06em;margin-left:7px;font-size:19px}.weapon .ammo.empty{color:var(--blood-bright);animation:.7s ease-in-out infinite pulseWarn}@keyframes pulseWarn{0%,to{opacity:1}50%{opacity:.42}}.pips{justify-content:flex-end;gap:3px;margin-top:8px;display:flex}.pips i{background:var(--gold);width:4px;height:13px;transition:background 90ms,opacity 90ms;box-shadow:0 0 5px #d9a44166}.pips i.spent{box-shadow:none;background:#dcc8a529}.reload-ring{opacity:0;background:#00000080;width:100%;height:3px;transition:opacity .12s;position:absolute;bottom:-22px;right:0}.reload-ring.on{opacity:1}.reload-ring .fill{background:var(--gold-bright);transform-origin:100%;height:100%}.dynamite{justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;display:flex}.dynamite .key{letter-spacing:.12em;color:var(--parchment-dim);border:1px solid #ecdfc447;margin-right:4px;padding:1px 4px;font-size:9px}.dynamite i{background:var(--blood);border-top:3px solid var(--gold);width:6px;height:16px}.dynamite i.spent{background:#dcc8a526;border-top-color:#dcc8a533}.objective{max-width:380px;position:absolute;top:26px;left:34px}.objective .car{font-family:var(--display);text-transform:uppercase;letter-spacing:.26em;color:var(--gold);text-shadow:var(--shadow-hard);font-size:15px}.objective .task{color:var(--parchment-dim);letter-spacing:.08em;margin-top:3px;font-size:12px}.train-map{align-items:flex-end;gap:3px;margin-top:10px;display:flex}.train-map i{background:#ecdfc433;border:1px solid #00000080;width:15px;height:8px}.train-map i.done{background:var(--parchment-dim)}.train-map i.current{background:var(--gold-bright);height:13px;box-shadow:0 0 9px #ffd27aa6}.train-map i.loco{background:#b23a2c8c;width:21px}.train-map i.loco.current{background:var(--blood-bright)}.haul{text-align:right;position:absolute;top:26px;right:34px}.haul .gold{font-family:var(--display);color:var(--gold-bright);letter-spacing:.06em;text-shadow:var(--shadow-hard);font-size:26px}.haul .gold small{color:var(--gold);letter-spacing:.2em;margin-right:5px;font-size:12px}.haul .seed{letter-spacing:.2em;color:#ecdfc466;margin-top:4px;font-size:10px}.haul .streak{letter-spacing:.14em;color:var(--blood-bright);opacity:0;margin-top:5px;font-size:12px;transition:opacity .2s}.haul .streak.on{opacity:1}.perkstrip{flex-flow:column wrap;gap:5px;max-height:52vh;display:flex;position:absolute;top:50%;left:34px;transform:translateY(-50%)}.perkstrip .perk{letter-spacing:.1em;text-transform:uppercase;color:#ecdfc49e;align-items:center;gap:7px;font-size:10px;display:flex}.perkstrip .perk b{background:var(--gold);width:7px;height:7px;display:inline-block}.perkstrip .perk.iron b{background:#d9a441}.perkstrip .perk.grit b{background:#b23a2c}.perkstrip .perk.nerve b{background:#4fb3ae}.perkstrip .perk.fortune b{background:#7fbb5a}.perkstrip .perk span.n{color:var(--gold-bright)}.banner{text-align:center;opacity:0;width:min(760px,84vw);transition:opacity .3s;position:absolute;top:21%;left:50%;transform:translate(-50%)}.banner.show{opacity:1}.banner .head{font-family:var(--display);letter-spacing:.34em;text-transform:uppercase;color:var(--parchment);text-shadow:0 3px #0000009e;font-size:32px}.banner .head.gold{color:var(--gold-bright)}.banner .head.blood{color:var(--blood-bright)}.banner .sub{letter-spacing:.2em;text-transform:uppercase;color:var(--parchment-dim);margin-top:9px;font-size:13px}.banner .rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:130px;height:1px;margin:15px auto 0}.prompt{text-align:center;opacity:0;transition:opacity .16s;position:absolute;top:58%;left:50%;transform:translate(-50%)}.prompt.show{opacity:1}.prompt .key{border:1px solid var(--gold);color:var(--gold-bright);letter-spacing:.16em;background:#140c08b3;margin-right:9px;padding:3px 9px;font-size:13px;font-weight:700;display:inline-block}.prompt .text{letter-spacing:.18em;text-transform:uppercase;font-size:13px}.killfeed{text-align:right;width:250px;position:absolute;top:108px;right:34px}.killfeed .entry{letter-spacing:.12em;text-transform:uppercase;color:var(--parchment-dim);margin-bottom:4px;font-size:11px;animation:.22s ease-out feedIn}.killfeed .entry b{color:var(--parchment);font-weight:700}.killfeed .entry.head b{color:var(--gold-bright)}.killfeed .entry.fading{opacity:0;transition:opacity .5s}@keyframes feedIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.dmg{font-family:var(--display);color:var(--parchment);text-shadow:0 2px 3px #000000d9;pointer-events:none;will-change:transform, opacity;font-size:17px;font-weight:700;position:absolute}.dmg.head{color:var(--gold-bright);font-size:22px}.dmg.crit{color:var(--blood-bright);font-size:21px}.dmg.heal{color:var(--green)}.dmg.gold{color:var(--gold-bright);font-size:15px}.threat{pointer-events:none;width:34px;height:34px;margin:-17px 0 0 -17px;position:absolute}.threat:before{content:"";border:2px solid var(--blood-bright);opacity:.85;border-radius:50%;animation:.62s ease-out infinite threatPulse;position:absolute;inset:0}@keyframes threatPulse{0%{opacity:.95;transform:scale(.55)}to{opacity:0;transform:scale(1.25)}}.mount{text-align:center;opacity:0;width:320px;transition:opacity .26s;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.mount.show{opacity:1}.mount .name{font-family:var(--display);text-transform:uppercase;letter-spacing:.22em;color:var(--parchment-dim);margin-bottom:6px;font-size:12px}.wind-bar{background:#0a0604b3;border:1px solid #d9a44157;height:7px;position:relative;overflow:hidden}.wind-bar .fill{transform-origin:0;background:linear-gradient(90deg,#4a7d5a,#7fbb5a);transition:transform 90ms linear;position:absolute;inset:0}.wind-bar.low .fill{background:linear-gradient(90deg,#9c3226,#d1553a)}.mount .name.winded{color:var(--blood-bright);animation:.9s ease-in-out infinite pulseWarn}.mount .gap{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:8px;font-size:12px}.hitdir{pointer-events:none;width:260px;height:260px;margin:-130px 0 0 -130px;position:absolute;top:50%;left:50%}.hitdir i{background:linear-gradient(180deg, var(--blood-bright), transparent);transform-origin:50% 122px;opacity:0;width:46px;height:8px;margin-left:-23px;position:absolute;top:8px;left:50%}.tr-screen{opacity:0;background:radial-gradient(at 50% 42%,#180e088c,#060406ed 78%);transition:opacity .32s;display:block;position:absolute;inset:0;overflow:hidden auto}.tr-screen-inner{flex-direction:column;justify-content:center;align-items:center;gap:0;min-height:100%;padding:40px 24px;display:flex}.tr-screen.show{opacity:1}.tr-screen.hide{display:none}.tr-brand{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--parchment);text-shadow:0 5px #0000008c,0 0 62px #d9a44138;margin:0;font-size:clamp(46px,10.5vw,118px);font-weight:700;line-height:1}.tr-brand em{color:var(--gold);letter-spacing:.5em;text-shadow:0 3px #0000008c;margin-top:14px;font-size:.36em;font-style:normal;display:block}.tr-tagline{letter-spacing:.34em;text-transform:uppercase;color:var(--parchment-dim);text-align:center;margin:26px 0 40px;font-size:13px}.tr-menu{flex-direction:column;gap:11px;width:min(400px,88vw);display:flex}.tr-btn{appearance:none;color:var(--parchment);font-family:var(--display);text-transform:uppercase;letter-spacing:.24em;cursor:pointer;text-align:center;background:linear-gradient(#33241ae6,#140d09eb);border:1px solid #d9a4416b;padding:15px 22px;font-size:14px;font-weight:600;transition:transform .11s,border-color .14s,color .14s,background .14s;position:relative}.tr-btn:hover:not(:disabled),.tr-btn:focus-visible:not(:disabled){border-color:var(--gold-bright);color:var(--gold-bright);outline:none;transform:translateY(-1px)}.tr-btn:active:not(:disabled){transform:translateY(1px)}.tr-btn:disabled{opacity:.36;cursor:not-allowed}.tr-btn.primary{border-color:var(--gold);background:linear-gradient(#784c22eb,#3a2110f2);padding:18px 22px;font-size:16px}.tr-btn.ghost{background:#0c08068c;border-color:#ecdfc433;padding:11px 16px;font-size:12px}.tr-btn small{font-family:var(--data);text-transform:none;letter-spacing:.04em;color:var(--parchment-dim);margin-top:5px;font-size:11px;display:block}.tr-panel{box-shadow:var(--panel-shadow);background:linear-gradient(#241812f2,#0e0907f5);border:1px solid #d9a44147;width:min(1080px,94vw);padding:26px 30px}.tr-panel h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.3em;color:var(--gold);margin:0 0 6px;font-size:17px}.tr-panel .sub{color:var(--parchment-dim);letter-spacing:.1em;margin-bottom:22px;font-size:12px}.cards{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.card{cursor:pointer;background:linear-gradient(170deg,#302117f5,#110b08fa);border:1px solid #d9a44157;flex-direction:column;width:250px;min-height:320px;padding:22px 20px;transition:transform .16s cubic-bezier(.2,0,0,1),border-color .16s,box-shadow .16s;animation:.38s cubic-bezier(.2,0,0,1) backwards cardIn;display:flex;position:relative}.card:first-child{animation-delay:40ms}.card:nth-child(2){animation-delay:.11s}.card:nth-child(3){animation-delay:.18s}.card:nth-child(4){animation-delay:.25s}@keyframes cardIn{0%{opacity:0;transform:translateY(26px)rotate(-1.4deg)}to{opacity:1;transform:none}}.card:hover,.card:focus-visible{border-color:var(--gold-bright);outline:none;transform:translateY(-7px);box-shadow:0 20px 44px #0009,0 0 0 1px #ffd27a47}.card .rar{background:var(--parchment-dim);height:3px;position:absolute;top:0;left:0;right:0}.card.rare .rar{background:var(--teal)}.card.legendary .rar{background:linear-gradient(90deg, var(--gold), var(--blood-bright), var(--gold))}.card.legendary{border-color:#ffd27a80}.card .kind{letter-spacing:.2em;text-transform:uppercase;color:var(--parchment-dim);font-size:10px}.card .title{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;color:var(--parchment);margin:12px 0 4px;font-size:20px;line-height:1.15}.card .sub{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-size:11px}.card .body{color:#ecdfc4d1;flex:1;font-size:13px;line-height:1.6}.card .take{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright);border-top:1px solid #d9a4414d;margin-top:16px;padding-top:12px;font-size:11px}.card .glyph{justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:4px;display:flex}.results-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin:22px 0 26px;display:grid}.stat{text-align:left}.stat .v{font-family:var(--display);color:var(--parchment);letter-spacing:.04em;font-size:30px;line-height:1}.stat .v.gold{color:var(--gold-bright)}.stat .k{letter-spacing:.2em;text-transform:uppercase;color:var(--parchment-dim);margin-top:7px;font-size:10px}.xpbar{background:#0a0604cc;border:1px solid #d9a44140;height:5px;position:relative;overflow:hidden}.xpbar .fill{transform-origin:0;background:linear-gradient(90deg, var(--gold), var(--gold-bright));transition:transform .9s cubic-bezier(.2,0,0,1);position:absolute;inset:0}.hideout-cols{grid-template-columns:1.15fr 1fr;gap:26px;display:grid}@media (max-width:900px){.hideout-cols{grid-template-columns:1fr}}.shop-list{flex-direction:column;gap:8px;max-height:46vh;padding-right:8px;display:flex;overflow-y:auto}.shop-item{cursor:pointer;background:#140d0999;border:1px solid #ecdfc41f;align-items:center;gap:14px;padding:11px 14px;transition:border-color .14s,background .14s,transform .11s;display:flex}.shop-item:hover:not(.locked){border-color:var(--gold);background:#281b12bf;transform:translate(3px)}.shop-item.owned{cursor:default;border-color:#7fbb5a66}.shop-item.locked{opacity:.42;cursor:not-allowed}.shop-item .info{flex:1}.shop-item .n{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;font-size:13px}.shop-item .d{color:var(--parchment-dim);margin-top:4px;font-size:11px;line-height:1.5}.shop-item .price{font-family:var(--display);color:var(--gold-bright);letter-spacing:.08em;white-space:nowrap;font-size:14px}.shop-item.owned .price{color:var(--green)}.loadout-row{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.chip{letter-spacing:.14em;text-transform:uppercase;cursor:pointer;font-size:11px;font-family:var(--display);background:#120c08b3;border:1px solid #ecdfc433;padding:8px 13px;transition:all .13s}.chip:hover{border-color:var(--gold);color:var(--gold-bright)}.chip.active{border-color:var(--gold);color:var(--gold-bright);background:#603e1abf}.heat-row{gap:6px;margin:6px 0 12px;display:flex}.heat-pip{width:30px;height:30px;font-family:var(--display);cursor:pointer;border:1px solid #ecdfc438;justify-content:center;align-items:center;font-size:13px;transition:all .13s;display:flex}.heat-pip:hover:not(.locked){border-color:var(--gold)}.heat-pip.active{background:var(--blood);border-color:var(--blood-bright);color:#fff}.heat-pip.locked{opacity:.28;cursor:not-allowed}.detail{color:var(--parchment-dim);min-height:62px;font-size:12px;line-height:1.7}.detail b{color:var(--gold);font-weight:600}.wallet{align-items:baseline;gap:26px;margin-bottom:20px;display:flex}.wallet .amt{font-family:var(--display);color:var(--gold-bright);font-size:26px}.wallet .amt small{color:var(--parchment-dim);letter-spacing:.2em;margin-left:7px;font-size:11px}.settings-row{border-bottom:1px solid #ecdfc414;justify-content:space-between;align-items:center;gap:18px;padding:9px 0;display:flex}.settings-row label{letter-spacing:.14em;text-transform:uppercase;color:var(--parchment-dim);font-size:12px}.settings-row .ctl{justify-content:flex-end;align-items:center;gap:11px;min-width:210px;display:flex}.settings-row input[type=range]{width:150px;accent-color:var(--gold)}.settings-row .val{font-family:var(--display);text-align:right;min-width:46px;color:var(--parchment);font-size:13px}.seg{border:1px solid #ecdfc433;display:flex}.seg button{appearance:none;color:var(--parchment-dim);font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:6px 11px;font-size:10px}.seg button.on{background:var(--gold);color:var(--ink)}.hint{color:#ecdfc46b;letter-spacing:.1em;text-align:center;margin-top:22px;font-size:11px}.hint kbd{font-family:var(--data);border:1px solid #ecdfc43d;margin:0 2px;padding:1px 5px;font-size:10px}.fps{letter-spacing:.1em;color:#ecdfc473;font-variant-numeric:tabular-nums;white-space:pre;font-size:10px;position:absolute;top:8px;left:10px}.vignette-flash{pointer-events:none;opacity:0;background:radial-gradient(#0000 42%,#b23a2c8c 100%);position:absolute;inset:0}.loading{z-index:50;background:#06040a;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .48s;display:flex;position:absolute;inset:0}.loading .bar{background:#ecdfc426;width:220px;height:2px;overflow:hidden}.loading .bar i{background:var(--gold);transform-origin:0;height:100%;animation:1.1s ease-in-out infinite load;display:block}@keyframes load{0%{transform:scaleX(0)}50%{transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}.bossbar{opacity:0;width:min(560px,74vw);transition:opacity .34s;position:absolute;top:46px;left:50%;transform:translate(-50%)}.bossbar.show{opacity:1}.bossbar .name{font-family:var(--display);text-transform:uppercase;letter-spacing:.3em;text-align:center;color:var(--parchment);text-shadow:0 2px #000000b3;margin-bottom:7px;font-size:14px}.bossbar .track{background:#080504cc;border:1px solid #d9a44173;height:11px;position:relative;overflow:hidden}.bossbar .track .ghost{transform-origin:0;background:#ffc8a04d;transition:transform .7s cubic-bezier(.2,0,0,1) .2s;position:absolute;inset:0}.bossbar .track .fill{transform-origin:0;background:linear-gradient(90deg,#7d2016,#b23a2c 55%,#e0663f);transition:transform .13s ease-out;position:absolute;inset:0}.bossbar .phase{justify-content:center;gap:4px;margin-top:6px;display:flex}.bossbar .phase i{background:#ecdfc438;width:26px;height:3px}.bossbar .phase i.on{background:var(--gold-bright)}.touch-ui{z-index:12;pointer-events:none;--touch-scale:1;--pad-l:max(18px, env(safe-area-inset-left));--pad-r:max(18px, env(safe-area-inset-right));--pad-b:max(18px, env(safe-area-inset-bottom));--pad-t:max(14px, env(safe-area-inset-top));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;display:none;position:fixed;inset:0}.touch-ui.on{display:block}#ui-root .touch-ui.on.in-game{pointer-events:auto}.touch-ui:not(.in-game) .touch-btn,.touch-ui:not(.in-game) .touch-stick,.touch-ui:not(.in-game) .touch-prompt{opacity:0;visibility:hidden}.touch-stick{opacity:0;width:0;height:0;transition:opacity .12s ease-out;position:absolute}.touch-stick.on{opacity:1}.touch-stick:before{content:"";width:calc(var(--stick-d,132px) * var(--touch-scale));height:calc(var(--stick-d,132px) * var(--touch-scale));background:radial-gradient(circle,#0d090757 0%,#0d090724 70%,#0000 100%);border:1.5px solid #ecdfc447;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-stick-nub{width:calc(52px * var(--touch-scale));height:calc(52px * var(--touch-scale));border:1.5px solid var(--gold);will-change:transform;background:#ecdfc433;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #d9a4414d}.touch-btn{min-width:44px;min-height:44px;width:calc(60px * var(--touch-scale));height:calc(60px * var(--touch-scale));color:var(--parchment);font-family:var(--data);font-size:calc(10px * var(--touch-scale));letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(2px);will-change:transform;background:#2418126b;border:1.5px solid #d9a44180;border-radius:50%;justify-content:center;align-items:center;transition:background 90ms ease-out,transform 90ms ease-out;display:flex;position:absolute}.touch-btn.down{background:#d9a44157;transform:scale(.94)}.touch-btn.hidden{display:none}.btn-fire{right:var(--pad-r);bottom:var(--pad-b);width:calc(92px * var(--touch-scale));height:calc(92px * var(--touch-scale));font-size:calc(12px * var(--touch-scale));background:#b23a2c42;border-color:#b23a2cb8}.btn-fire.down{background:#ff6a4a6b}.btn-reload{right:var(--pad-r);bottom:calc(var(--pad-b) + 122px * var(--touch-scale))}.btn-throw{right:var(--pad-r);bottom:calc(var(--pad-b) + 190px * var(--touch-scale))}.btn-jump{right:calc(var(--pad-r) + 100px * var(--touch-scale));bottom:var(--pad-b)}.btn-ads{right:calc(var(--pad-r) + 100px * var(--touch-scale));bottom:calc(var(--pad-b) + 86px * var(--touch-scale))}.btn-swap{right:calc(var(--pad-r) + 100px * var(--touch-scale));bottom:calc(var(--pad-b) + 154px * var(--touch-scale))}.btn-sprint{left:var(--pad-l);bottom:var(--pad-b);width:calc(64px * var(--touch-scale));height:calc(64px * var(--touch-scale))}.btn-pause{right:var(--pad-r);top:var(--pad-t);width:calc(44px * var(--touch-scale));height:calc(44px * var(--touch-scale));font-size:calc(13px * var(--touch-scale));letter-spacing:.04em}.btn-interact{right:calc(var(--pad-r) + 190px * var(--touch-scale));bottom:calc(var(--pad-b) + 100px * var(--touch-scale));width:calc(78px * var(--touch-scale));height:calc(78px * var(--touch-scale));border-color:var(--gold-bright);background:#d9a44147;animation:1.6s ease-in-out infinite touch-pulse}@keyframes touch-pulse{0%,to{box-shadow:0 0 #ffd27a66}50%{box-shadow:0 0 0 10px #ffd27a00}}.touch-prompt{right:calc(var(--pad-r) + 178px * var(--touch-scale));bottom:calc(var(--pad-b) + 186px * var(--touch-scale));max-width:40vw;color:var(--parchment);font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;text-align:center;background:#0d0907b8;border:1px solid #d9a4416b;border-radius:3px;padding:6px 12px;font-size:12px;position:absolute}.touch-btn,.touch-stick-nub,.touch-stick:before{contain:layout style paint}@media (prefers-reduced-motion:reduce){.btn-interact{animation:none}}.settings-head{font-family:var(--display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid #d9a4413d;margin:18px 0 6px;padding-bottom:5px;font-size:13px}.rotate-notice{z-index:90;color:var(--parchment);text-align:center;pointer-events:auto;background:#06040a;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.rotate-notice[hidden]{display:none}.rotate-icon{color:var(--gold);font-size:54px;animation:2.4s ease-in-out infinite rotate-hint}.rotate-title{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:22px}.rotate-sub{font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;color:var(--parchment-dim);font-size:12px}@keyframes rotate-hint{0%,40%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.rotate-icon{animation:none;transform:rotate(90deg)}}#ui-root.touch-mode .weapon{bottom:auto;left:50%;right:auto;top:max(10px, env(safe-area-inset-top));text-align:center;min-width:0;transform:translate(-50%)}#ui-root.touch-mode .weapon .pips,#ui-root.touch-mode .dynamite{justify-content:center}#ui-root.touch-mode .dynamite .key{display:none}#ui-root.touch-mode .haul{right:calc(max(18px, env(safe-area-inset-right)) + 56px)}#ui-root.touch-mode .mount{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 4px)}#ui-root.touch-mode .settings-row input[type=range]{width:min(220px,34vw);height:34px}#ui-root.touch-mode .settings-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--gold);border:2px solid var(--ink);border-radius:50%;width:30px;height:30px;box-shadow:0 1px 4px #00000080}#ui-root.touch-mode .settings-row input[type=range]::-webkit-slider-runnable-track{background:#ecdfc438;border-radius:4px;height:8px}#ui-root.touch-mode .settings-row{padding-block:4px}#ui-root.touch-mode .seg button{min-width:60px;min-height:44px}
