:root{font-family:Arial Narrow,Liberation Sans,Segoe UI,sans-serif;color:#dbeaff;background:#050a12;font-synthesis:none;color-scheme:dark;--surface: #101d30;--line: #344d6a;--muted: #9db1cb;--lime: #87ff72;--red: #ff566a;--yellow: #ffbd48;--blue: #168aff;--mono: "Bahnschrift", "Consolas", "Liberation Mono", monospace;--fs-caption: 12px;--fs-eyebrow: 13px}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 0 20%,#1549a33a,transparent 35%),radial-gradient(ellipse at 100% 35%,#ae283425,transparent 35%),repeating-linear-gradient(90deg,transparent 0 69px,#43628d12 70px 72px),linear-gradient(#091223,#050910 85%);background-attachment:fixed}body:before,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}input:focus-visible{outline:none}[hidden]{display:none!important}svg{display:block}.stage{position:relative;height:clamp(350px,30vw,450px);overflow:hidden;background:#06132c;border:2px solid #030913;border-radius:4px;box-shadow:0 0 0 2px #44618080,0 0 0 7px #080f1a,0 0 0 8px #2c405b}#game-canvas{display:block;width:100%;height:100%;touch-action:pan-y}.stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#00000012 0 1px,transparent 1px 4px);box-shadow:inset 0 0 28px #0008}.stage-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#031026a0,transparent 30%,transparent 78%,#03102670),linear-gradient(0deg,#0310268c,transparent 16%,transparent 77%,#03102690)}.police-flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 4% 58%,#166dffb8,transparent 58%),radial-gradient(ellipse at 96% 37%,#407dff80,transparent 58%);box-shadow:inset 0 0 58px 17px #287cffb0;mix-blend-mode:screen}.monitor-guides,.camera-reticle{position:absolute;inset:14px;pointer-events:none;--guide: #9dcbf6b3;background:linear-gradient(var(--guide),var(--guide)) left top / 20px 2px,linear-gradient(var(--guide),var(--guide)) left top / 2px 20px,linear-gradient(var(--guide),var(--guide)) right top / 20px 2px,linear-gradient(var(--guide),var(--guide)) right top / 2px 20px,linear-gradient(var(--guide),var(--guide)) left bottom / 20px 2px,linear-gradient(var(--guide),var(--guide)) left bottom / 2px 20px,linear-gradient(var(--guide),var(--guide)) right bottom / 20px 2px,linear-gradient(var(--guide),var(--guide)) right bottom / 2px 20px;background-repeat:no-repeat}.camera-reticle{inset:23% 35% 24%;--guide: #9dcbf648}.stage-topline{position:absolute;top:24px;left:33px;right:30px;display:flex;align-items:center;justify-content:space-between;z-index:1}.location-label{display:flex;align-items:center;gap:15px;font:700 13px var(--mono);color:#a7c7ef;letter-spacing:1px}.record-label{display:inline-flex;align-items:center;gap:9px;color:#ff5262;text-shadow:0 0 10px #fa314e80}.live-dot{width:12px;height:12px;border-radius:50%;background:#ff3d54;box-shadow:0 0 12px #ff234c99}.location-divider{color:#749ccc}.monitor-tools{display:flex;align-items:center;gap:16px}#camera-clock{font:13px var(--mono);letter-spacing:2px;color:#a7c7ef}.icon-button{width:28px;height:28px;display:grid;place-items:center;border:1px solid #425c7b;border-radius:3px;background:#0a1930;color:#bcd6fc;font:700 16px var(--mono)}.icon-button:hover{background:#243d5e}.hud{position:absolute;top:82px;left:35px;max-width:43%;pointer-events:none}.eyebrow{font:700 var(--fs-eyebrow) var(--mono);letter-spacing:1.2px;color:#cadfff;text-shadow:0 1px 7px #030a18}.potential-label{font-size:12px;margin:0 0 4px;color:#b0c5dd}.potential-value{font:700 20px var(--mono);margin:0;color:#e0edff}.potential-value>span:last-child{color:#91a8c5;font-size:12px}.monitor-footer{height:28px;padding:0 8px;display:flex;justify-content:space-between;align-items:center;font:700 10px var(--mono);letter-spacing:1px;color:#7e98bc}.monitor-footer>span{display:flex;align-items:center;gap:8px}.signal-led{width:5px;height:5px;background:#76cbaa;box-shadow:0 0 5px #7cfcb466}.vent{display:inline-block;width:54px;height:12px;background:repeating-linear-gradient(90deg,#020812 0 4px,transparent 4px 8px);border-bottom:1px solid #58708c40;margin-right:10px}.result-banner{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);background:#091c2cf5;border:1px solid #71d36c;border-radius:3px;padding:19px 25px;text-align:center;display:flex;flex-direction:column;gap:8px;width:min(400px,58%);box-shadow:inset 0 0 0 4px #051019,0 15px 40px #0008;pointer-events:none;z-index:2}.result-banner strong{font:800 36px var(--mono);color:var(--lime)}.result-banner>span:last-child{font-size:12px;line-height:1.5;color:#c2d5ed}.result-banner.lost{border-color:#bb4d65;background:#251322f5;top:auto;bottom:60px;transform:translate(-50%);padding:10px 18px;gap:4px;width:min(360px,70%)}.result-banner.lost strong{color:var(--red);font-size:29px}.webgl-error{position:absolute;inset:0;background:#0a1423;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--muted);z-index:5;padding:30px;text-align:center}.webgl-error strong{color:#edf1f8;font-size:20px}.webgl-error p{max-width:460px;line-height:1.6;margin:0}.webgl-error button{border:1px solid #7cdf8b;background:#1a342a;padding:12px 20px;color:var(--lime)}.history-section{margin-top:27px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.section-heading h2{font-size:15px;font-weight:500;margin:0;color:#e0e4ec}.section-heading button{padding:8px 0;background:none;border:0;font-size:var(--fs-caption);color:#a7b3c3}.section-heading button:hover:not(:disabled){color:var(--lime)}.section-heading button:disabled{opacity:.35}.history{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.history-empty{grid-column:1/-1;border:1px dashed #29313e;border-radius:8px;text-align:center;padding:22px;color:#c1c9d6;font-size:13px}.history-empty span{display:block;color:#8794a7;font-size:var(--fs-caption);margin-top:7px}.history-card{border:1px solid #293342;background:#121821;border-radius:8px;padding:13px 15px;display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.history-outcome{display:flex;gap:6px;align-items:center;font-size:var(--fs-caption);color:#c9dbb4}.history-outcome:before{content:"✓";color:var(--lime)}.history-card.lost .history-outcome{color:#d6b4be}.history-card.lost .history-outcome:before{content:"×";color:var(--red)}.history-multi{font-family:Consolas,monospace;font-size:15px;color:#f0f3f7}.history-detail{font-size:var(--fs-caption);color:#8999ad;line-height:1.5}.history-amount{text-align:right;font-family:Consolas,monospace;font-size:var(--fs-caption);color:var(--lime)}.history-card.lost .history-amount{color:var(--red)}.footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:26px;padding-bottom:12px;font-size:var(--fs-caption);letter-spacing:.4px;line-height:1.5;color:#8290a3}.footer-separator{margin:0 9px;color:#48566a}.footer strong{color:#b4c294;font-weight:500;margin-left:6px}.rules-dialog{border:1px solid #404b5b;background:#151c26;color:#cad3df;border-radius:18px;width:min(650px,calc(100% - 28px));max-height:85dvh;padding:27px 30px;box-shadow:0 15px 100px #0009}.rules-dialog::backdrop{background:#060b14c9;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.rules-dialog h2{font-family:Impact,Arial Narrow,sans-serif;font-size:34px;font-weight:400;letter-spacing:.5px;margin:12px 0 25px;color:#f0f4e8}.rules-list{padding-left:21px;font-size:14px;line-height:1.7}.rules-list li{padding-left:5px;margin:12px 0}.rules-list strong{color:#edf1f6}.math-note{background:#bfeb7310;border-left:2px solid #a3c378;padding:16px 18px;margin-top:25px;font-size:13px;line-height:1.7}.math-note strong{color:var(--lime)}.math-note p{margin:8px 0}.risk-table-wrap{overflow-x:auto;margin-top:20px}.risk-table{width:100%;border-collapse:collapse;font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.risk-table caption{text-align:left;padding:10px 0 14px;color:#e4ebf4;font-size:14px}.risk-table th{text-align:right;font-weight:500;color:#91a2b6;font-size:var(--fs-caption)}.risk-table th:first-child,.risk-table td:first-child{text-align:left}.risk-table td,.risk-table th{padding:10px 8px;border-bottom:1px solid #2c3644;text-align:right;white-space:nowrap}.risk-table td:last-child{color:var(--lime);font-family:Consolas,monospace}.dialog-footnote{font-size:var(--fs-caption);color:#93a2b5;line-height:1.6;margin-top:22px}.boot-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(ellipse at 35% 40%,#102e5066,transparent 50%),radial-gradient(ellipse at 70% 45%,#45301144,transparent 45%),#080e19;transition:opacity .18s ease}.boot-screen.is-leaving{opacity:0}.boot-content{width:min(580px,85vw);text-align:center}.boot-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 24px #0008)}.boot-tagline{font-size:12px;letter-spacing:3px;color:#a5b3c7;margin:0 0 36px}.boot-track{height:7px;background:#1b2637;border:1px solid #34425a;border-radius:20px;overflow:hidden;box-shadow:0 0 25px #1c7ab51c}.boot-track>span{display:block;width:var(--boot-progress);height:100%;background:linear-gradient(90deg,#24caff,#85dcff 48%,#ffd65e);border-radius:inherit;transition:width .08s linear;box-shadow:0 0 12px #67deff}.boot-status{display:flex;justify-content:space-between;margin-top:13px;font-size:12px;color:#8eabc7;letter-spacing:.3px}#boot-value{font-family:Consolas,monospace;color:#dfedfc}.boot-demo{display:block;margin-top:44px;font-size:10px;letter-spacing:2px;color:#566981}@font-face{font-family:Rajdhani;src:url(./Rajdhani-Medium-DHWGJ0St.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Rajdhani;src:url(./Rajdhani-Bold-DpLLJ47j.woff2) format("woff2");font-weight:700;font-display:swap}:root{--mono: "Rajdhani", "Arial Narrow", sans-serif;--text: #e5f3ff;--muted: #89add0;--line: #315878;--blue: #57bcff;--lime: #75ff87;--yellow: #ffd35a;--red: #ff4b66;--rail-space: clamp(34px, 5.7vw, 108px);font-family:var(--mono);color:var(--text)}body{background:repeating-linear-gradient(90deg,#071525 0 2px,transparent 2px 80px),linear-gradient(#020913,#0b2135 48%,#020911)}#app{position:relative;isolation:isolate;margin:auto;max-width:2040px;height:100dvh;min-height:700px;padding:20px var(--rail-space) 8px;display:grid;grid-template-rows:clamp(98px,13vh,134px) minmax(0,1fr);gap:14px}main{min-height:0;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.metal-panel{position:relative;border:1px solid #3d7497;border-radius:5px;border-color:#3d7497;background:radial-gradient(circle at 9px 9px,#020710 0 2px,#699abd 2.5px,#122a40 4px,#020910 5px,transparent 6px) top left / 20px 20px no-repeat,radial-gradient(circle at 11px 9px,#020710 0 2px,#699abd 2.5px,#122a40 4px,#020910 5px,transparent 6px) top right / 20px 20px no-repeat,radial-gradient(circle at 9px 11px,#020710 0 2px,#699abd 2.5px,#122a40 4px,#020910 5px,transparent 6px) bottom left / 20px 20px no-repeat,radial-gradient(circle at 11px 11px,#020710 0 2px,#699abd 2.5px,#122a40 4px,#020910 5px,transparent 6px) bottom right / 20px 20px no-repeat,linear-gradient(120deg,#12314a,#06182a 28%,#081b2e 75%,#11304a);box-shadow:inset 0 0 0 3px #020b16,inset 0 0 0 5px #39608066,0 3px #01060d,0 5px 12px #0007}.cabinet-rail{--rail-light: #22aaff;position:absolute;z-index:-1;inset-block:0;width:calc(var(--rail-space) - 15px);pointer-events:none;border:2px solid #325978;border-radius:6px;background:linear-gradient(90deg,#010710,#22415c 15%,#071729 28%,#102b43 70%,#3c6582 83%,#040d18);box-shadow:inset 0 0 0 5px #020b16,inset 0 0 0 7px #42628570}.cabinet-rail-left{left:0}.cabinet-rail-right{right:0;--rail-light: #ff365c}.cabinet-rail:before{content:"";position:absolute;inset:12px 7px;border-block:6px double #4d7896;background:repeating-linear-gradient(0deg,transparent 0 159px,#496886 159px 162px,#020814 162px 167px)}.rail-beacon{position:absolute;top:19%;inset-inline:25%;height:22%;border:5px solid #030a16;outline:1px solid #496b8f;background:repeating-linear-gradient(0deg,transparent 0 22%,#031121 22% 25%),linear-gradient(90deg,var(--rail-light),#eef8ff 48%,var(--rail-light));box-shadow:0 0 20px color-mix(in srgb,var(--rail-light) 40%,transparent)}.rail-brace{position:absolute;top:8%;inset-inline:14%;height:25px;transform:skewY(-12deg);border:4px solid #483c30;background:#ffce62;box-shadow:inset 0 0 0 2px #d58b25,0 0 16px #ffab4244}.cabinet-rail-right .rail-brace{transform:skewY(12deg)}.rail-grille{position:absolute;top:54%;inset-inline:23%;height:16%;border:3px solid #264960;background:repeating-linear-gradient(0deg,#01070e 0 8px,#34506e 8px 11px)}.rail-hazard{position:absolute;bottom:5px;inset-inline:12%;height:32px;background:repeating-linear-gradient(125deg,#b98b37 0 10px,#04111e 10px 23px)}.topbar{display:grid;min-height:0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(220px,22vw,330px) minmax(0,1fr);gap:12px;min-width:0}.brand{min-height:0;display:flex;align-items:center;justify-content:space-evenly;padding:0 22px;text-decoration:none;min-width:0}.brand-logo{width:82%;height:100%;min-width:0;object-fit:contain}.brand-motto{color:#629aca;font-size:12px;font-weight:700;line-height:1.1;letter-spacing:1.5px;margin-left:12px}.wallet{display:grid;grid-template-columns:auto auto;align-content:center;justify-content:center;column-gap:14px;padding:14px;min-width:0}.wallet-icon{grid-row:1 / 3;align-self:center;width:32px;height:36px;fill:#65b9f1;stroke:#061727;stroke-width:1.5}.wallet-label{color:#7db6e4;font-size:14px;letter-spacing:2px}.wallet-value{display:flex;align-items:baseline;gap:8px;color:#8bbde8;font-weight:700;font-size:20px}.wallet-value strong{color:#edf7ff;font-size:clamp(26px,2.65vw,43px);line-height:1.1;font-variant-numeric:tabular-nums;text-shadow:0 0 12px #3f9bff55}.multiplier-reel{min-height:0;min-width:0;padding:21px 22px 9px;margin-block:-10px -5px;text-align:center;z-index:1}.reel-label{position:absolute;top:0;inset-inline:12%;margin:0;font-size:clamp(15px,1.5vw,22px);line-height:1.1;letter-spacing:1px}.reel-viewport{--reel-step: clamp(29px, 4.1vh, 42px);position:relative;height:100%;overflow:hidden;perspective:450px;border:3px solid #020710;border-radius:12px/35px;background:linear-gradient(#010611,#153956 22%,#082033 38%,#03131f,#173958 82%,#010610);box-shadow:0 0 0 1px #7595aa,inset 0 0 0 2px #42648b}.reel-viewport:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(#01071277,transparent 25% 75%,#01071277),linear-gradient(90deg,#01050b,#7395ad 3%,#07131f 6%,transparent 9% 91%,#07131f 94%,#7395ad 97%,#01050b)}.reel-drum{position:relative;height:100%;transform-style:preserve-3d}.reel-value{position:absolute;top:50%;left:8%;width:84%;display:flex;justify-content:center;align-items:baseline;gap:3px;backface-visibility:hidden;font:700 clamp(36px,4.4vh,52px) / 1 var(--mono);font-variant-numeric:tabular-nums;color:#7dbaf1}.reel-value[data-slot="0"]{color:#c7ffd9;text-shadow:0 0 16px #30ed8599}.reel-value b{font-size:.72em}.multiplier-reel.is-wide .reel-value{font-size:clamp(28px,3.5vh,40px)}.reel-demo{display:none}.game-board{min-height:0;display:grid;grid-template-columns:minmax(0,57fr) minmax(0,43fr);grid-template-rows:minmax(0,1fr) clamp(106px,14vh,144px) auto;grid-template-areas:"monitor controls" "route route" "info info";gap:12px}.monitor-shell{grid-area:monitor;display:grid;grid-template-rows:minmax(0,1fr) 23px;padding:15px 15px 0;min-height:0;min-width:0}.stage{height:auto;min-height:0}.stage-vignette{background:linear-gradient(#03102670,transparent 24% 85%,#03102644)}.stage-topline{top:13px;left:20px;right:16px}.location-label{font-size:clamp(12px,1.15vw,18px);gap:10px}#camera-clock{font:500 clamp(12px,1.1vw,17px) var(--mono);letter-spacing:1px}.monitor-tools{gap:10px}.icon-button{width:44px;height:44px}.hud{left:22px;top:65px;max-width:80%}.eyebrow{font-size:clamp(13px,1.2vw,18px)}.monitor-guides{inset:9px;--guide: #dceaff}.camera-reticle{--guide: #6ab6ed66}.monitor-footer{height:auto;font-size:11px;color:#85bcea}.signal-led{border-radius:50%;width:7px;height:7px;background:#84ffb8;box-shadow:0 0 8px #4eff99}.live-dot{animation:rec-light 2.4s ease-in-out infinite}.board-console{grid-area:controls;min-width:0;min-height:0;padding:14px}.game-controls{height:100%;display:grid;grid-template-columns:minmax(135px,36fr) minmax(0,64fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"bet bet" "difficulty actions";gap:14px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{float:left;width:100%;padding:0 0 9px;margin:0 0 12px;border-bottom:1px solid #315777;color:#dbeeff;font-weight:700;font-size:clamp(14px,1.28vw,20px);letter-spacing:1px}legend+*{clear:both}.panel-icon{display:inline-block;width:22px;height:22px;margin-right:7px;vertical-align:-5px;fill:#53b9f32b;stroke:#6ac7ff;stroke-width:1.7}.panel-slashes{color:#63c0ff;font-style:normal;margin-right:7px}.bet-control{grid-area:bet;border-bottom:1px solid #315777;padding-bottom:14px}.bet-input-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.83fr);gap:10px}.bet-adjust{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;padding:3px;background:#010c17;border:1px solid #315878;border-radius:4px}.bet-adjust input{width:100%;min-width:0;border:0;background:radial-gradient(ellipse,#0e263a,#020b12);text-align:center;color:#f1f8ff;font:700 clamp(27px,3vw,48px) / 1 var(--mono);font-variant-numeric:tabular-nums;padding:0 2px;text-shadow:0 0 12px #4ca4fc66}.bet-adjust input.is-wide{font-size:clamp(19px,2vw,28px)}.bet-adjust input:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.bet-adjust input[aria-invalid=true]{outline:2px solid var(--red);outline-offset:-2px}.bet-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bet-input-row button{min-height:clamp(48px,7vh,70px);min-width:44px;border:1px solid #5491bf;border-radius:3px;background:linear-gradient(115deg,#285580,#102e50 60%,#193c61);box-shadow:inset 0 0 0 3px #081a2a,inset 0 4px 5px #fff2,0 2px #000;color:#e8f5ff;font:700 clamp(21px,2vw,30px) var(--mono)}.bet-input-row button:hover:not(:disabled){border-color:#a2d8ff;background-color:#214467}.bet-error{display:block;margin-top:6px;color:#ff8997;font-size:13px}.bet-error:empty{display:none}fieldset:disabled .bet-input-row{opacity:.6}.difficulty-control{grid-area:difficulty;border-right:1px solid #294b67;padding-right:12px}.difficulty-control legend{font-size:clamp(13px,1.12vw,18px);border:0;margin-bottom:4px;letter-spacing:.5px}.difficulty-options{display:grid;grid-template-rows:repeat(3,1fr);border:1px solid #294c69;background:linear-gradient(90deg,#010d18 0 35%,#071b2c 35%);border-radius:3px}.difficulty-options button{--lamp: #59f77a;display:flex;align-items:center;text-align:left;gap:clamp(8px,1vw,18px);min-height:clamp(70px,10vh,110px);width:100%;padding:10px;border:2px solid transparent;border-radius:3px;background:none;color:#a7c7e4;font:700 clamp(15px,1.3vw,20px) / 1.05 var(--mono);text-transform:uppercase}.difficulty-options button[data-difficulty=medium]{--lamp: #ffcf4f}.difficulty-options button[data-difficulty=hard]{--lamp: #ff435e}.difficulty-options button:before{content:"";flex-shrink:0;width:clamp(26px,3vw,46px);height:clamp(26px,3vw,46px);border:4px solid #020910;outline:1px solid #4a7997;border-radius:50%;background:radial-gradient(circle at 45% 40%,color-mix(in srgb,var(--lamp) 38%,#061018),#020911 75%)}.difficulty-options button[aria-pressed=true]{border-color:var(--lamp);color:var(--lamp);background:linear-gradient(110deg,#d1d8ab15,#071826);box-shadow:0 0 7px color-mix(in srgb,var(--lamp) 25%,transparent),inset 0 0 0 1px #fff2}.difficulty-options button[aria-pressed=true]:before{background:radial-gradient(circle at 40% 35%,#fff6c7,var(--lamp) 60%,#856514);box-shadow:0 0 18px color-mix(in srgb,var(--lamp) 35%,transparent)}.difficulty-options button small{display:block;font-size:clamp(10px,.8vw,13px);white-space:nowrap;color:#82b3dc;font-weight:500;margin-top:6px;line-height:1.05}.control-hint{display:block;margin-top:10px;color:#7da0c1;font-size:11px;letter-spacing:.8px}.action-controls{grid-area:actions;display:flex;flex-direction:column;gap:clamp(7px,1vh,12px);min-width:0}.gate-display{--gate-color: #65ff7a;padding-bottom:9px;border-bottom:1px solid #294b67}.gate-display[data-risk=medium]{--gate-color: #ffce54}.gate-display[data-risk=high]{--gate-color: #ff5a70}.gate-heading{display:flex;justify-content:space-between;gap:6px;align-items:baseline;font-size:clamp(12px,1.15vw,18px);font-weight:700;white-space:nowrap}.gate-heading .panel-slashes{display:none}.gate-heading strong{color:var(--gate-color)}.gate-meter{height:clamp(22px,2.8vh,30px);padding:3px;margin-top:8px;background:#020b13;border:1px solid #3c6788;border-radius:3px}.gate-meter span{display:block;height:100%;background:linear-gradient(90deg,transparent var(--gate-fill),#183751 var(--gate-fill)),linear-gradient(#dcffcf,var(--gate-color));mask-image:repeating-linear-gradient(90deg,#000 0 calc(5% - 3px),transparent calc(5% - 3px) 5%)}.meter-caption{display:block;color:#81acd0;font-size:10px;letter-spacing:.8px;text-align:center;margin-top:3px}.payout-heading{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:clamp(14px,1.25vw,20px);font-weight:700;letter-spacing:.7px}.payout-heading svg{height:22px;width:22px;fill:#e4b43244;stroke:#ffd45a;stroke-width:1.7}.payout-readout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#02101c;border:1px solid #305671;border-radius:3px}.potential-value{display:flex;align-items:baseline;justify-content:center;gap:6px;color:#acffb8;font-size:clamp(27px,2.8vw,42px);padding:2px 5px;text-shadow:0 0 14px #42ff7680;white-space:nowrap}.potential-value>span:last-child{color:#81f696;font-size:.45em}#payout-multiplier{border-left:1px solid #25445c;padding:8px 9px;color:#8bb8e0;font-size:clamp(16px,1.6vw,25px);font-weight:700}.button-primary,.button-cashout{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;min-height:64px;border-radius:5px;text-transform:uppercase;font-weight:700;line-height:1.05}.button-primary{flex:1;max-height:120px;min-height:clamp(64px,8vh,90px);border:2px solid #a9ffb4;outline:1px solid #23b858;outline-offset:2px;background:linear-gradient(115deg,#06a933,#00c923 50%,#01872c);box-shadow:inset 0 0 0 3px #065f27,inset 0 0 15px #92ff7544,0 0 15px #0bf14333;color:#f1fff0;font-size:clamp(26px,2.9vw,46px);letter-spacing:1.5px;text-shadow:0 0 10px #e7ffb970}.button-primary:not(:disabled){animation:action-ready .4s ease-out}.button-primary svg,.button-cashout svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.button-primary .run-icon{width:38px;height:38px}.button-primary:disabled{background:linear-gradient(#153328,#092018);border-color:#426c57;outline-color:#203c30;color:#8bad98;box-shadow:inset 0 0 0 3px #081911;text-shadow:none;font-size:clamp(17px,1.6vw,26px);letter-spacing:.3px}.button-primary:disabled svg{display:none}.button-cashout{background:linear-gradient(115deg,#92640b,#433209 50%,#9c6b11);border:2px solid #ffdb67;color:#ffe58a;box-shadow:inset 0 0 0 3px #4d3507,inset 0 0 12px #e9b22955,0 0 9px #ffc30022;font-size:clamp(23px,2.3vw,34px);padding:8px}#cashout-amount:not(:empty){font-size:15px}.button-cashout:disabled{color:#c8aa64;border-color:#9c7d36;background:linear-gradient(115deg,#49390d,#241c08 60%,#4e3b11);box-shadow:inset 0 0 0 3px #211909}.button-primary:hover:not(:disabled),.button-cashout:hover:not(:disabled){filter:brightness(1.12)}.button-primary:active:not(:disabled),.button-cashout:active:not(:disabled){transform:translateY(1px)}.action-caption{color:#89b0d0;text-align:center;font-size:clamp(10px,.86vw,13px);line-height:1.2}.route-area{grid-area:route;padding:9px 18px 12px;min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px}.route-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:700;font-size:clamp(14px,1.35vw,20px);letter-spacing:1px}.route-header strong{color:#83b4db;font-size:12px;margin-left:10px}.route-bet{color:#82b4d9;font-size:11px;letter-spacing:.7px}.route-bet strong{margin-left:3px}.route-track{min-height:0;min-width:0}.route{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;height:100%;list-style:none;margin:0;padding:14px 3px 3px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#477da0 #061321;background:linear-gradient(90deg,#276288 50%,transparent 50%) 0 4px / 7px 1px repeat-x}.route-step{position:relative;display:grid;grid-template-columns:auto auto;align-content:center;justify-content:center;column-gap:4px;min-width:0;text-align:center;border:1px solid #305a79;border-radius:3px;background:linear-gradient(125deg,#10283d,#05111e);box-shadow:inset 0 0 0 3px #030d17;color:#719cc1}.route-step:before{content:"";position:absolute;width:8px;height:8px;top:-14px;left:calc(50% - 4px);border-radius:50%;background:#3e6f93;box-shadow:0 0 0 3px #0c2438}.step-camera,.step-n{font-size:clamp(10px,.85vw,13px);font-weight:700}.step-camera:before{content:"";display:inline-block;width:10px;height:8px;margin-right:4px;background:currentColor;clip-path:polygon(0 0,70% 0,70% 25%,100% 0,100% 100%,70% 75%,70% 100%,0 100%)}.step-multi{grid-column:1 / -1;font-size:clamp(15px,1.45vw,23px);font-weight:700;line-height:1.2}.route-step.is-passed{color:#9cc4d9;background:#102536;border-color:#3d6b87}.route-step.is-passed:before{background:#82bdd6}.route-step.is-next{color:#b8e6ff;border-color:#68b5e3}.route-step.is-next:before{background:#bdefff;box-shadow:0 0 7px #4dbbff}.route-step.is-current{color:#c7ffb7;border-color:#a5ff7f;background:linear-gradient(125deg,#16702b,#063b17);box-shadow:inset 0 0 0 3px #13451b,0 0 12px #6cff6544}.route-step.is-current:before{background:#b1ff91;box-shadow:0 0 9px #83ff69}.route-step.is-caught{color:#ff9bad;border-color:#fa627b;background:#3c1020}.route-step.is-caught:before{background:#ff5778}.route-step.is-arriving{animation:camera-arrive .55s ease-out}.route:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.board-info{grid-area:info;display:flex;align-items:baseline;gap:16px;min-width:0}.status-bar{flex:1;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;line-height:1.2;color:#a0bed7}.status-bar button,.section-heading button{min-height:44px;border:0;background:transparent;color:#94c8f1;font:700 12px var(--mono);white-space:nowrap;text-decoration:underline;text-underline-offset:3px;padding:4px}.history-section{margin:0}.history-section summary{cursor:pointer;font-size:12px;color:#9ac2e1;min-height:44px;align-content:center}.board-info:has(details[open]){flex-wrap:wrap}.history-section[open]{width:100%;padding:12px;border:1px solid #315878;background:#071726}#app:has(details[open]){height:auto;min-height:100dvh}#app:has(details[open]) .game-board{grid-template-rows:minmax(440px,58vh) 120px auto}.history-card,.history-empty{border-radius:3px;background:#091d2d}.footer{margin:0;padding:0;font-size:10px;line-height:1.2;color:#7fa0bb;gap:8px}.rules-dialog{border-radius:5px;background:#091c2e;border-color:#4b7896}.rules-dialog::backdrop{backdrop-filter:none}.game-board[data-state=caught] .monitor-shell{border-color:#af4665}.game-board[data-state=cashedOut] .monitor-shell{border-color:#65b786}@keyframes rec-light{50%{opacity:.45}}@keyframes action-ready{0%{box-shadow:0 0 22px #61ff7380}}@keyframes camera-arrive{0%{transform:translateY(-3px)}}@media(min-width:900px)and (max-height:820px){#app{padding-top:14px;gap:10px;grid-template-rows:95px minmax(0,1fr)}.game-board{gap:10px;grid-template-rows:minmax(0,1fr) 106px auto}.board-console{padding:12px}.game-controls{gap:10px}.bet-control{padding-bottom:10px}legend{margin-bottom:8px;padding-bottom:6px}.difficulty-options button{min-height:68px}.control-hint{margin-top:6px}.action-controls{gap:7px}.gate-display{padding-bottom:5px}.gate-meter{height:22px;margin-top:6px}.button-primary{min-height:64px}.button-cashout{min-height:55px}.payout-heading{margin-bottom:4px}.potential-value{font-size:32px;line-height:1.05}#payout-multiplier{padding-block:8px}}@media(min-width:900px)and (max-width:1199px){:root{--rail-space: 24px}.brand-motto{display:none}.brand-logo{width:100%}.board-console{padding:12px}.game-controls{grid-template-columns:112px minmax(0,1fr);gap:10px}.difficulty-control{padding-right:8px}.difficulty-options button{padding:8px 4px;gap:7px}.difficulty-options button:before{width:24px;height:24px}.bet-input-row{grid-template-columns:minmax(0,1fr) 140px;gap:6px}.bet-adjust{grid-template-columns:44px minmax(0,1fr) 44px}.bet-adjust input{font-size:25px}.gate-heading{flex-wrap:wrap}.location-label{gap:5px;font-size:12px;letter-spacing:0}#camera-clock{display:none}.step-camera:before{display:none}}.decision-panel{display:contents}.menu-toggle,.route-swipe{display:none}.console-menu{width:min(420px,calc(100% - 32px));padding:20px}.console-menu .dialog-heading{margin-bottom:18px;gap:12px}.console-menu h2{margin:0;font:700 22px var(--mono);letter-spacing:1px}.console-menu>button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;margin-top:10px;padding:12px;border:1px solid #487ca3;border-radius:3px;background:#102c45;color:#e3f3ff;font:700 18px var(--mono)}.console-menu p{margin:20px 0 0;color:var(--muted);font-size:14px}@media(max-width:899px){#app{height:auto;min-height:100dvh;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));grid-template-columns:44px minmax(0,1fr) minmax(124px,.94fr);grid-template-rows:auto;grid-template-areas:"menu brand wallet" "reel reel reel" "monitor monitor monitor" "controls controls controls" "route route route" "info info info" "footer footer footer";gap:10px 7px}.topbar,main,.game-board{display:contents}.cabinet-rail{width:6px;border-width:1px;opacity:.85}.cabinet-rail:before,.rail-grille,.rail-hazard{display:none}.rail-beacon{top:235px;height:170px;inset-inline:0;border-width:1px}.rail-brace{top:125px;inset-inline:0;height:22px;border-width:1px}.menu-toggle{grid-area:menu;display:grid;width:44px;height:64px;padding:9px;align-self:center;color:#87c8ff}.menu-toggle svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;fill:none}.brand{grid-area:brand;height:64px;min-width:0;padding:2px 5px}.brand-logo{width:100%;height:100%}.brand-motto{display:none}.wallet{grid-area:wallet;padding:7px;column-gap:6px;grid-template-columns:minmax(0,1fr);text-align:center}.wallet-icon{display:none}.wallet-label{font-size:11px;line-height:1.2;letter-spacing:.8px}.wallet-value{justify-content:center;flex-wrap:wrap;gap:0 4px;font-size:13px}.wallet-value strong{font-size:clamp(21px,5.3vw,32px);line-height:1.1;overflow-wrap:anywhere;white-space:normal;max-width:100%}.multiplier-reel{grid-area:reel;width:100%;height:120px;margin:0;padding:26px 28px 9px}.multiplier-reel:before,.multiplier-reel:after{content:"";position:absolute;width:10px;height:22px;top:60px;background:#76e3ff;filter:drop-shadow(0 0 4px #15baff);clip-path:polygon(0 50%,100% 0,100% 100%)}.multiplier-reel:before{left:11px}.multiplier-reel:after{right:11px;transform:rotate(180deg)}.reel-label{top:4px;font-size:19px;line-height:1.1;letter-spacing:1px}.reel-viewport{--reel-step: 30px;max-width:350px;margin-inline:auto}.reel-value{font-size:43px}.multiplier-reel.is-wide .reel-value{font-size:33px}.monitor-shell{grid-area:monitor;height:clamp(264px,70vw,460px);padding:12px 12px 0;grid-template-rows:minmax(0,1fr) 24px}.stage-topline{top:10px;left:12px;right:10px;min-height:48px;align-items:flex-start}.location-label{display:grid;grid-template-columns:auto auto;justify-content:start;gap:3px 12px;font-size:13px;line-height:1.2;letter-spacing:.5px;padding-top:3px}.location-divider{display:none}#district-name{grid-column:1 / -1;font-size:12px;color:#a9c9e4}.live-dot{width:10px;height:10px}.record-label{gap:6px}.monitor-tools{gap:8px;align-items:flex-start}#camera-clock{display:block;margin-top:5px;font:500 12px var(--mono);letter-spacing:.5px}.icon-button{min-width:44px;min-height:44px}.hud{left:13px;top:69px;max-width:calc(100% - 26px)}.eyebrow{font-size:13px;letter-spacing:.8px}.monitor-footer{font-size:10px;letter-spacing:.3px;padding:0}.monitor-footer>span{gap:5px}.vent{width:18px;margin:0}.board-console{padding:0;border:0;background:none;box-shadow:none}.game-controls{height:auto;display:flex;flex-direction:column;gap:10px}.bet-control{padding:12px;border:1px solid #3d7497;border-radius:5px;background:linear-gradient(120deg,#102f48,#06182a 70%,#0c243a);box-shadow:inset 0 0 0 3px #020b16,inset 0 0 0 5px #39608044}legend{font-size:17px;letter-spacing:.7px;margin-bottom:9px;padding-bottom:7px}.bet-input-row{grid-template-columns:minmax(0,1fr);gap:7px}.bet-adjust{grid-template-columns:48px minmax(0,1fr) 48px}.bet-adjust input{height:50px;font-size:36px}.bet-adjust input.is-wide{font-size:25px}.bet-shortcuts{gap:7px}.bet-input-row button{min-height:48px;font-size:25px}.bet-error{font-size:14px}.decision-panel{display:grid;grid-template-columns:minmax(110px,.73fr) minmax(0,1.27fr);grid-template-areas:"difficulty gate" "difficulty payout" "run run" "cashout cashout" "caption caption";gap:12px 10px;padding:12px;min-width:0}.action-controls{display:contents}.difficulty-control{grid-area:difficulty;padding:0;border:0}.difficulty-control legend{font-size:13px;letter-spacing:0;padding-bottom:7px;margin-bottom:5px}.difficulty-control .panel-icon,.control-hint{display:none}.difficulty-options{grid-template-rows:repeat(3,minmax(56px,1fr));gap:4px;background:transparent;border:0}.difficulty-options button{flex-direction:row;gap:8px;padding:6px;min-height:56px;font-size:15px;line-height:1.1;border-color:#305773;background:#04131f}.difficulty-options button:before{width:22px;height:22px;border-width:3px}.difficulty-options button small{display:none}.gate-display{grid-area:gate;padding-bottom:8px;margin:0;min-width:0}.gate-heading{flex-wrap:wrap;gap:3px 8px;font-size:14px;white-space:normal}.gate-heading strong{font-size:15px}.gate-meter{height:28px;margin-top:7px}.meter-caption{font-size:10px;line-height:1.15;letter-spacing:.4px;margin-top:5px}.payout-preview{grid-area:payout;min-width:0}.payout-heading{gap:5px;font-size:14px;letter-spacing:.3px;margin-bottom:7px}.payout-heading svg{width:18px;height:18px;flex-shrink:0}.potential-value{font-size:clamp(27px,7.5vw,36px);line-height:1.1;white-space:normal;flex-wrap:wrap;gap:2px 5px;padding:8px 4px}#potential{max-width:100%;overflow-wrap:anywhere}.potential-value>span:last-child{font-size:14px}#payout-multiplier{font-size:16px;padding:10px 5px}.button-primary{grid-area:run;min-height:76px;max-height:none;font-size:clamp(32px,8vw,42px);letter-spacing:1px;gap:14px;padding:12px;margin-top:2px}.button-primary .run-icon{width:38px;height:38px}.button-primary svg{width:30px;height:30px}.button-primary:disabled{font-size:23px}.button-cashout{grid-area:cashout;min-height:66px;font-size:30px;gap:10px;padding:10px}.button-cashout svg{width:28px;height:28px}#cashout-amount:not(:empty){font-size:17px}.action-caption{grid-area:caption;font-size:13px;line-height:1.2}.route-area{height:146px;padding:12px;gap:7px}.route-header{font-size:14px;letter-spacing:.4px;gap:4px;align-items:center}.route-header .panel-icon{width:18px;height:18px;margin-right:4px}.route-header strong{margin-left:5px;font-size:12px}.route-bet{display:none}.route-swipe{display:inline;color:#8dbfe6;font-size:11px;white-space:nowrap}.route{grid-template-columns:repeat(12,96px);gap:10px;scroll-snap-type:x proximity;scroll-padding-inline:3px;overscroll-behavior-x:contain;padding-bottom:6px}.route-step{scroll-snap-align:start}.step-camera,.step-n{font-size:13px}.step-multi{font-size:24px}.board-info{flex-wrap:wrap;gap:0}.status-bar{flex-basis:100%;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;line-height:1.35}.status-bar button{font-size:14px;padding:10px 0}.history-section{width:100%}.history-section summary{min-height:48px;font-size:14px;padding-block:12px}.history{grid-template-columns:repeat(2,minmax(0,1fr))}.history-card{padding:10px}.history-multi{font-size:13px}.section-heading{gap:10px}.section-heading button{font-size:14px;min-height:48px}.footer{grid-area:footer;flex-wrap:wrap;font-size:11px;line-height:1.4;gap:6px;border-top:1px solid #254a66;padding-top:8px}.result-banner{width:90%;padding:14px;gap:5px;top:61%}.result-banner strong{font-size:28px}.result-banner>span:last-child{font-size:13px}.result-banner.lost{bottom:14px;width:90%;padding:10px}.rules-dialog{padding:20px}.rules-dialog h2{font-size:28px}.console-menu h2{font-size:22px}}@media(min-width:540px)and (max-width:899px){#app{padding-inline:20px;gap:12px;grid-template-columns:52px minmax(0,1.15fr) minmax(0,1fr)}.menu-toggle{width:52px;height:76px}.brand{height:76px;padding-inline:14px}.wallet{grid-template-columns:auto auto;column-gap:10px}.wallet-icon{display:block;width:28px}.wallet-label{text-align:left;font-size:13px}.wallet-value strong{font-size:32px}.multiplier-reel{height:140px;padding-block:27px 9px}.reel-viewport{--reel-step: 35px}.reel-value{font-size:49px}.multiplier-reel:before,.multiplier-reel:after{top:68px}.bet-input-row{grid-template-columns:minmax(0,1fr) minmax(160px,.8fr)}.bet-control,.decision-panel{padding:16px}.decision-panel{grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:14px}.difficulty-control legend{font-size:17px}.difficulty-options button{min-height:66px;font-size:18px;gap:12px}.difficulty-options button:before{width:32px;height:32px}.difficulty-options button small{display:block;font-size:12px;margin-top:4px}.gate-heading,.payout-heading{font-size:18px}.gate-heading strong{font-size:19px}.meter-caption{font-size:12px}.potential-value{font-size:44px}#payout-multiplier{font-size:23px}.location-label{display:flex;gap:9px;font-size:15px;padding-top:12px}.location-divider{display:inline}#district-name{font-size:14px}#camera-clock{font-size:15px;margin-top:12px}.route-header{font-size:17px}.route{grid-template-columns:repeat(12,110px)}}@media(max-width:359px){#app{grid-template-columns:44px minmax(0,1fr) 114px;padding-inline:10px;gap:9px 5px}.wallet-value strong{font-size:20px}.wallet-label{font-size:10px}.decision-panel{padding:10px;grid-template-columns:100px minmax(0,1fr);gap:10px 8px}.difficulty-options button{font-size:14px;gap:6px;padding:5px}.difficulty-options button:before{width:20px;height:20px}.gate-heading,.payout-heading{font-size:13px}.gate-heading strong{font-size:14px}.potential-value{font-size:27px}#payout-multiplier{font-size:14px;padding-inline:3px}.route-swipe{display:none}.route-header{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.boot-screen{transition:none}}
