:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--rw-bg:#f3f5f6;--rw-surface:#fff;--rw-surface-elevated:#fff;--rw-surface-soft:#eef2f4;--rw-surface-selected:#e8f2fb;--rw-text:#15212b;--rw-text-muted:#64717c;--rw-text-disabled:#a7b0b7;--rw-border:#d7e0e5;--rw-border-strong:#bbc7cf;--rw-brand:#1769aa;--rw-brand-hover:#12598f;--rw-brand-pressed:#0e4a78;--rw-brand-soft:#e8f2fb;--rw-focus:#3d91d7;--rw-run:#2f7d65;--rw-run-hover:#286b57;--rw-run-soft:#e8f4ef;--rw-warning:#b98216;--rw-warning-soft:#fff4d8;--rw-warning-text:#68491f;--rw-danger:#b64d47;--rw-signal-stop:#d7192d;--rw-danger-hover:#9d403b;--rw-danger-soft:#fbedec;--rw-map:#fafbfb;--rw-map-locked:#e9edef;--rw-grid-minor:#e4e9ec;--rw-grid-major:#c9d2d8;--rw-track:#26333d;--rw-track-muted:#a7b1b8;--rw-track-selected:#1769aa;--rw-bridge:#287da1;--rw-tunnel:#6b5b82;--rw-tunnel-mouth:#202a33;--rw-water:#b9dce8;--rw-water-bank:#6fa8ba;--rw-radius-xs:6px;--rw-radius-sm:8px;--rw-radius-control:12px;--rw-radius-card:14px;--rw-radius-feature-card:16px;--rw-radius-panel:18px;--rw-radius-sheet:20px;--rw-radius-pill:999px;--rw-shadow-color:21 33 43;--rw-shadow-panel:0 8px 24px rgb(var(--rw-shadow-color) / .08);--rw-route-1:#c43d4d;--rw-route-2:#246bce;--rw-route-3:#18866f;--rw-route-4:#c56a1a;--rw-route-5:#7655c7;--rw-route-6:#087e9b;--rw-route-7:#9a7410;--rw-route-8:#b74786;--rw-route-9:#4f5db8;--rw-route-10:#8b5e3c;color:var(--rw-text);background:var(--rw-bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--rw-bg:#0c141c;--rw-surface:#121c25;--rw-surface-elevated:#182430;--rw-surface-soft:#1b2833;--rw-surface-selected:#19324a;--rw-text:#f3f6f8;--rw-text-muted:#aab4bd;--rw-text-disabled:#66737e;--rw-border:#2a3a47;--rw-border-strong:#40515e;--rw-brand:#4a98e8;--rw-brand-hover:#67aaec;--rw-brand-pressed:#3485d5;--rw-brand-soft:#17334c;--rw-focus:#8bc4ff;--rw-run:#49a184;--rw-run-hover:#5db092;--rw-run-soft:#17352d;--rw-warning:#d6a43d;--rw-warning-soft:#3a2d14;--rw-warning-text:#f0c96c;--rw-danger:#e1766f;--rw-signal-stop:#ff3548;--rw-danger-hover:#ea8b85;--rw-danger-soft:#3a1f20;--rw-map:#101820;--rw-map-locked:#0d141a;--rw-grid-minor:#1f2c36;--rw-grid-major:#344550;--rw-track:#d7e0e6;--rw-track-muted:#60717e;--rw-track-selected:#65aeef;--rw-bridge:#63b6db;--rw-tunnel:#b5a0d6;--rw-tunnel-mouth:#05090d;--rw-water:#173e50;--rw-water-bank:#3e8099;--rw-shadow-color:0 0 0;--rw-shadow-panel:0 12px 30px #00000057;--rw-route-1:#ff6b7a;--rw-route-2:#69a7ff;--rw-route-3:#55c7a8;--rw-route-4:#ffae5d;--rw-route-5:#b69cff;--rw-route-6:#56c7e3;--rw-route-7:#f3cb55;--rw-route-8:#f48bc1;--rw-route-9:#9aa7ff;--rw-route-10:#d9a578}.map-picker{gap:1rem;display:grid}.map-picker-intro{color:var(--rw-text-muted);margin:0}.map-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.map-picker-card{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);min-height:112px;color:var(--rw-text);background:var(--rw-surface);text-align:left;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:.65rem .8rem;padding:1rem;display:grid}.map-picker-card.selected:not(.locked){border-color:var(--rw-brand);background:var(--rw-brand-soft);box-shadow:0 0 0 1px color-mix(in srgb, var(--rw-brand) 22%, transparent)}.map-picker-card.selected:not(.locked) .map-picker-flag{color:#fff;background:var(--rw-brand)}@media (hover:hover) and (pointer:fine){.map-picker-card:hover:not(:disabled){border-color:var(--rw-focus);background:var(--rw-brand-soft)}}.map-picker-card.locked{opacity:.76;border-style:dashed}.map-picker-card strong,.map-picker-card small,.map-picker-card em{display:block}.map-picker-card small{color:var(--rw-text-muted);margin-top:.25rem;line-height:1.35}.map-picker-flag{width:2.3rem;height:2.3rem;color:var(--rw-brand);background:var(--rw-brand-soft);border-radius:50%;place-items:center;font-size:.7rem;font-weight:800;display:grid}.map-picker-card em{color:var(--rw-brand);grid-column:1/-1;font-size:.78rem;font-style:normal;font-weight:700}.map-picker-card .map-picker-lock{color:var(--rw-text-muted)}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button,input,textarea,select{font:inherit}@media (width<=900px),(hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select{font-size:16px!important}}button{-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--rw-focus);outline-offset:2px}button,input,select,summary,.build-inspector,.build-toolbar,.topbar{touch-action:manipulation}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-shell{width:100%;min-width:0;height:100dvh;min-height:0;color:var(--rw-text);background:var(--rw-bg);grid-template:"header""information""playfield"minmax(0,1fr)"controls"/minmax(0,1fr);display:grid;overflow:hidden}@media (prefers-reduced-motion:no-preference){html.theme-ready *,html.theme-ready :before,html.theme-ready :after{transition:background-color .12s,border-color .12s,color .12s,fill .12s,stroke .12s}}.mode-running,.mode-clearing,.mode-repair{grid-template-rows:auto 0 minmax(0,1fr) auto}.game-shell.has-focus-inspector{grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:"header""information""playfield""focus""controls"}.mode-running.has-focus-inspector,.mode-clearing.has-focus-inspector,.mode-repair.has-focus-inspector{grid-template-rows:auto 0 minmax(0,1fr) auto auto}.topbar{z-index:5;min-height:4.25rem;padding:max(.75rem, env(safe-area-inset-top)) clamp(.9rem, 3vw, 2rem) .75rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f8f4f0;border-bottom:1px solid #25312b24;grid-area:header;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;box-shadow:0 .4rem 1.5rem #1f2b2514}.brand{color:#19231f;letter-spacing:.15em;align-items:center;gap:.65rem;font-size:clamp(.83rem,1.6vw,1rem);font-weight:800;display:inline-flex}.brand-mark{border:2px solid #176b5b;border-radius:50%;width:1.65rem;height:1.65rem;position:relative}.brand-mark:before,.brand-mark:after{content:"";background:#176b5b;width:1.15rem;height:2px;position:absolute;top:50%}.brand-mark:before{left:-.7rem}.brand-mark:after{right:-.7rem}.throughput{color:#17231e;font-variant-numeric:tabular-nums;letter-spacing:-.045em;font-size:clamp(1.25rem,3.6vw,2.1rem);font-weight:760}.throughput.target-reached{color:var(--rw-run)}.target-check{background:var(--rw-run);width:1.25em;height:1.25em;color:var(--rw-surface);vertical-align:.18em;border-radius:999px;place-items:center;margin-inline-start:.25em;font-size:.66em;display:inline-grid}.clearing-status,.repair-status{color:#17231e;font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-align:center;font-size:clamp(.9rem,2vw,1.1rem);font-weight:760}.clearing-status:before{content:"";border:2px solid #176b5b38;border-top-color:#176b5b;border-radius:50%;width:.65rem;height:.65rem;margin-right:.55rem;animation:.8s linear infinite clearing-spin;display:inline-block}.repair-status{color:#9a382f}.primary-actions{justify-content:flex-end;gap:.45rem;display:flex}.button,.tool-button{cursor:pointer;border:0;border-radius:.75rem;min-height:2.65rem;font-weight:700}.button{padding:.7rem 1rem}.button-primary{color:#fff;background:#176b5b;box-shadow:0 .45rem 1rem #176b5b33}.button-quiet{color:#445049;background:0 0}.button:hover:not(:disabled),.tool-button:hover:not(:disabled){filter:brightness(.96)}.button:disabled,.tool-button:disabled{cursor:not-allowed;opacity:.38}.playfield{grid-area:playfield;min-height:0;position:relative;overflow:hidden;container-type:size}.junction-frame{background:var(--rw-surface-elevated);touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.build-inspector{z-index:4;border-left:1px solid var(--rw-border);background:var(--rw-surface-elevated);grid-area:controls;width:100%;min-width:0;max-width:100%;min-height:0;max-height:100%;display:grid;overflow:hidden}.runtime-incident-sheet{z-index:30;border:1px solid var(--rw-border);border-radius:var(--rw-radius-panel);width:min(30rem,100vw - 2rem);color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:var(--rw-shadow-panel);gap:.65rem;padding:1rem;display:grid;position:fixed;bottom:5.5rem;right:1rem}.runtime-incident-sheet h2,.runtime-incident-sheet p{margin:0}.runtime-incident-summary{color:var(--rw-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.runtime-incident-cause-note{border:1px solid color-mix(in srgb, var(--rw-warning) 48%, var(--rw-border));border-radius:var(--rw-radius-control);color:var(--rw-warning-text);background:var(--rw-warning-soft);padding:.55rem .65rem;font-size:.82rem;font-weight:680}.runtime-incident-sheet .button.is-active{border-color:var(--rw-warning);color:var(--rw-warning-text);background:var(--rw-warning-soft)}.runtime-incident-sheet>div{justify-content:flex-end;gap:.5rem;display:flex}.runtime-warning-sheet{z-index:20;border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);width:min(28rem,100vw - 2rem);color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:var(--rw-shadow-panel);gap:.2rem;padding:.7rem 2.5rem .7rem .8rem;display:grid;position:fixed;bottom:5.5rem;right:1rem}.runtime-warning-sheet span{color:var(--rw-text-muted);font-size:.8rem}.runtime-warning-sheet button{background:0 0;border:0;position:absolute;top:.35rem;right:.35rem}@media (width<=760px){.runtime-incident-sheet{right:.5rem;bottom:max(.75rem, env(safe-area-inset-bottom));width:calc(100vw - 1rem)}.runtime-warning-sheet{width:calc(100vw - 1rem);bottom:5rem;right:.5rem}}@media (width>=900px){.runtime-incident-sheet{width:calc(clamp(21rem,23vw,27rem) - 1.7rem);max-height:calc(100dvh - 1.7rem);bottom:.85rem;right:.85rem;overflow:auto}}.focus-panel{z-index:4;border-top:1px solid var(--rw-border);min-width:0;max-height:min(17rem,42dvh);color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:var(--rw-shadow-panel);grid-area:focus;align-content:start;gap:.85rem;padding:1rem;display:grid;overflow:auto}.focus-panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.focus-panel .eyebrow,.focus-panel h2,.focus-panel h3,.focus-meta{margin:0}.focus-panel .eyebrow{color:var(--rw-brand);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;font-weight:800}.focus-panel h2{margin-top:.14rem;font-size:1.05rem;line-height:1.15}.focus-panel h3,.focus-details dt{color:var(--rw-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800}.focus-meta{color:var(--rw-text-muted);margin-top:.2rem;font-size:.7rem}.focus-panel .close-button{border-radius:var(--rw-radius-control);width:2.25rem;min-width:2.25rem;min-height:2.25rem;color:var(--rw-text-muted);cursor:pointer;background:0 0;border:0;font-size:1.35rem}.focus-section{gap:.42rem;display:grid}.focus-chip-list{flex-wrap:wrap;gap:.35rem;display:flex}.focus-chip-list button{border:1px solid var(--rw-border);min-height:2rem;color:var(--rw-text);background:var(--rw-surface-soft);cursor:pointer;border-radius:.58rem;padding:.35rem .58rem;font-size:.7rem;font-weight:760}.focus-chip-list button:hover,.focus-chip-list button.active{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft)}.focus-chip-list>span{color:var(--rw-text-muted);font-size:.7rem}.focus-chip-list .traffic-change-chip{border:1px solid var(--rw-border);color:var(--rw-brand);background:var(--rw-brand-soft);border-radius:.55rem;padding:.38rem .56rem;font-weight:760}.focus-chip-list .traffic-change-chip--train{gap:.12rem;min-width:min(15rem,100%);display:grid}.traffic-change-chip--train strong{color:var(--rw-brand);font-size:.76rem}.traffic-change-chip--train small{color:var(--rw-text-muted);font-size:.68rem;font-weight:650}.traffic-update-list{gap:.35rem;display:grid}.traffic-update-list p{color:var(--rw-text-muted);justify-content:space-between;gap:1rem;margin:0;font-size:.72rem;display:flex}.traffic-update-list strong{color:var(--rw-text)}.next-traffic-actions{grid-template-columns:1fr 1fr;gap:.45rem;margin-top:auto;display:grid}.next-traffic-actions button{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-height:2.65rem;color:var(--rw-text);background:var(--rw-surface-soft);cursor:pointer;font-weight:760}.next-traffic-actions button.primary{border-color:var(--rw-brand);color:#fff;background:var(--rw-brand)}.traffic-advance-preview-panel{border-top-color:color-mix(in srgb, var(--rw-run) 55%, var(--rw-border));background:color-mix(in srgb, var(--rw-run-soft) 52%, var(--rw-surface-elevated))}.traffic-advance-preview-panel .focus-panel-header{border-bottom:1px solid color-mix(in srgb, var(--rw-run) 22%, transparent);padding-bottom:.15rem}.traffic-advance-preview-panel .focus-chip-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.traffic-advance-preview-panel .traffic-change-chip--train{min-width:0}.focus-details{gap:.55rem;margin:0;display:grid}.focus-details>div{border-bottom:1px solid var(--rw-border);grid-template-columns:minmax(6rem,.4fr) minmax(0,1fr);gap:.65rem;padding-bottom:.5rem;display:grid}.focus-details dd{margin:0;font-size:.75rem;font-weight:650;line-height:1.35}.canvas-host{box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.canvas-host:has(.railweave-canvas){cursor:crosshair}:is(.canvas-host.move-pan-ready:has(.railweave-canvas),.canvas-host.space-pan-ready:has(.railweave-canvas)){cursor:grab}.canvas-host.is-panning:has(.railweave-canvas){cursor:grabbing}.canvas-host:focus-visible{outline-offset:-3px;outline:3px solid #edb64a}.mode-running .canvas-host,.mode-clearing .canvas-host,.mode-repair .canvas-host{cursor:default}.railweave-canvas{width:100%;height:100%;display:block}.information-strip{z-index:4;color:#4e5b54;background:#fcfcf8f5;border-bottom:1px solid #32423a1f;grid-area:information;align-items:center;gap:.75rem;min-height:2rem;padding:.3rem clamp(.9rem,3vw,2rem);font-size:.78rem;display:flex}.information-strip p{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;overflow:hidden}.traffic-advance-progress{background:#ffffff4d;border-radius:999px;flex:none;width:clamp(4.5rem,12vw,8rem);height:.28rem;position:relative;overflow:hidden}.traffic-advance-progress>span{border-radius:inherit;background:#fff;height:100%;display:block}.information-strip-close{width:1.6rem;min-width:1.6rem;height:1.6rem;color:var(--rw-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:1rem;display:grid}.information-strip-clear{display:none}.home-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.35rem;height:1.35rem}.train-information{color:var(--rw-brand);font-weight:750}.guide-line{border-top:2px solid #176b5b;flex:none;width:2.6rem;height:0;position:relative}.guide-line:before,.guide-line:after{content:"";border-left:1px solid #176b5b;width:0;height:.55rem;position:absolute;top:-.3rem}.guide-line:before{left:.7rem}.guide-line:after{right:.7rem}.information-ready{color:#176b5b;font-weight:700}.information-hold-active{border-color:color-mix(in srgb, var(--rw-run) 36%, var(--rw-border));color:var(--rw-run);background:color-mix(in srgb, var(--rw-run-soft) 82%, var(--rw-surface-elevated));font-weight:700}.level-up-badge{width:1.65rem;min-width:1.65rem;height:1.65rem;color:var(--rw-run);background:#fff;border-radius:50%;place-items:center;font-size:1rem;font-weight:900;line-height:1;display:grid;box-shadow:0 0 0 3px #ffffff38}.information-level-up{border-color:color-mix(in srgb, var(--rw-run) 70%, var(--rw-border));color:#fff;background:var(--rw-run);box-shadow:0 5px 18px color-mix(in srgb, var(--rw-run) 30%, transparent);animation:.76s ease-out rw-level-up-ready}.information-level-up p,.information-level-up strong{color:#fff;font-weight:850}.level-up-action{box-shadow:0 0 0 3px color-mix(in srgb, var(--rw-run) 24%, transparent), 0 7px 18px color-mix(in srgb, var(--rw-run) 30%, transparent)}@keyframes rw-level-up-ready{0%{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.information-error{color:#7f2926;background:#fff4f2;border-bottom-color:#c74b45}.information-error .guide-line,.information-error .guide-line:before,.information-error .guide-line:after{border-color:#c74b45}.build-toolbar{z-index:5;min-height:5.35rem;padding:.35rem clamp(.9rem, 3vw, 2rem) max(.35rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f8f4f5;border-top:1px solid #25312b24;grid-area:controls;grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr);grid-template-areas:"status context actions""status tools actions";align-items:center;gap:.14rem clamp(.75rem,2vw,2rem);display:grid}.mobile-primary-actions{display:none}.tool-context-controls{grid-area:context;justify-content:center;align-items:center;min-height:2.2rem;display:flex}.tool-context-heading{align-items:center;gap:.35rem;min-width:0;display:flex}.tool-context-heading>strong{color:var(--rw-text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem}.mobile-tool-back{display:none}.tool-group{grid-area:tools;grid-template-columns:repeat(6,minmax(4.65rem,auto));align-items:center;gap:.5rem;display:grid;position:relative}.tool-button{color:#4d5952;background:0 0;place-items:center;gap:.25rem;min-width:4.7rem;min-height:2.55rem;padding:.28rem .65rem;font-size:.75rem;display:grid}.tool-button.active{border:1px solid var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft);box-shadow:none}.tool-icon{place-items:center;width:1.85rem;height:1.15rem;display:grid}.track-orientation-icon{border-top:2px solid}.corridor-icon{border:0;height:.86rem;position:relative}.corridor-icon:before{content:"";opacity:.72;background:repeating-linear-gradient(90deg,currentColor 0 1px,#0000 1px .31rem);position:absolute;inset:.08rem .05rem}.corridor-icon:after{content:"";background:currentColor;border-radius:999px;height:2px;position:absolute;top:.13rem;left:0;right:0;box-shadow:0 .46rem}.orientation-vertical{transform:rotate(90deg)}.orientation-diagonal_down{transform:rotate(45deg)}.orientation-diagonal_up{transform:rotate(-45deg)}.track-orientation-picker{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fcfcf8f5;border:1px solid #32423a29;border-radius:.82rem;grid-template-columns:repeat(5,2.8rem);gap:.16rem;padding:.28rem;display:grid;position:static;box-shadow:0 .35rem .9rem #23312917}.track-orientation-button{color:#48544d;cursor:pointer;background:0 0;border:0;border-radius:.62rem;place-items:center;width:2.8rem;min-height:2.8rem;padding:0;display:grid}.track-orientation-button.active{color:#fff;background:var(--rw-brand);box-shadow:none}.track-orientation-icon{width:1.6rem}.track-automatic-label{letter-spacing:.01em;font-size:.7rem;font-weight:800}.bridge-icon,.tunnel-icon{border-top:2px solid;position:relative}.bridge-icon:before,.bridge-icon:after{content:"";background:currentColor;width:2px;height:.72rem;position:absolute;bottom:0}.bridge-icon:before{left:.25rem}.bridge-icon:after{right:.25rem}.tunnel-icon{border:2px solid;border-bottom:0;border-radius:1rem 1rem 0 0;height:1rem}.switch-icon{position:relative}.switch-icon:before,.switch-icon:after{content:"";transform-origin:18%;background:currentColor;border-radius:999px;width:100%;height:2px;position:absolute;top:50%;left:0}.switch-icon:before{transform:translateY(-50%)}.switch-icon:after{transform:translateY(-50%)rotate(-24deg)}.signal-icon{position:relative}.signal-icon:before{content:"";border:2px solid;border-radius:50%;width:.72rem;height:.72rem}.signal-icon:after{content:"";background:currentColor;width:2px;height:.58rem;position:absolute;bottom:-.12rem}.delete-icon{font-size:1.85rem;font-weight:400;line-height:.75}.radius-group{color:#526059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fcfcf8f5;border:1px solid #32423a29;border-radius:.8rem;align-items:center;gap:.3rem;padding:.35rem;display:flex;position:static;box-shadow:0 .35rem .9rem #23312917}.radius-group>span{padding-inline:.35rem;font-size:.72rem;font-weight:800}.radius-group button{color:#445049;cursor:pointer;background:0 0;border:0;border-radius:.6rem;width:2.65rem;min-height:2.65rem;font-size:.78rem;font-weight:800}.radius-group button.active{color:#fff;background:var(--rw-brand)}.ramp-preset-picker{background:#fcfcf8f5;border:1px solid #32423a29;border-radius:.8rem;grid-template-columns:repeat(3,minmax(5.3rem,1fr));gap:.2rem;padding:.25rem;display:grid;position:static;box-shadow:0 .35rem .9rem #2331291a}.ramp-preset-button{color:#445049;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.62rem;place-items:center;min-height:2.65rem;padding:.28rem .55rem;font-size:.72rem;font-weight:800;line-height:1.05;display:grid}.ramp-preset-button small{opacity:.78;font-size:.58rem;font-weight:650}.ramp-preset-button.active{color:#fff;background:var(--rw-brand)}.build-status{color:#69746d;letter-spacing:.04em;text-align:left;text-transform:uppercase;grid-area:status;justify-self:start;max-width:22rem;margin:0;font-size:.78rem;line-height:1.45}.junction-actions{grid-area:actions;justify-self:end;gap:.4rem;display:flex}@media (width>=561px){.game-shell.has-focus-inspector{grid-template:"header header""information information""playfield focus"minmax(0,1fr)"controls controls"/minmax(0,1fr) clamp(18rem,25vw,22rem)}.mode-running.has-focus-inspector,.mode-clearing.has-focus-inspector,.mode-repair.has-focus-inspector{grid-template-rows:auto 0 minmax(0,1fr) auto}.focus-panel{border-top:0;border-left:1px solid var(--rw-border);max-height:none;box-shadow:none}.game-shell.has-build-inspector{grid-template-columns:minmax(0,1fr) clamp(20rem,27vw,27rem);grid-template-areas:"header header""information information""playfield inspector""controls controls"}.build-inspector{grid-area:inspector}}@media (width>=761px){.build-toolbar{grid-template-rows:2.15rem 2.55rem;height:5.4rem;min-height:5.4rem}.build-toolbar:not(.has-tool-context) .tool-group{grid-row:1/3}}.hold-button,.restart-button{color:#6b4d3d;cursor:pointer;background:#ffffff73;border:1px solid #5d443733;border-radius:.7rem;min-height:2.7rem;padding:.45rem .72rem;font-size:.7rem;font-weight:720;position:relative;overflow:hidden}.hold-button{place-items:center;display:grid}.hold-button:before{content:"";pointer-events:none;background:#c87e4433;width:0;position:absolute;inset:0}.hold-button.holding:before{animation:hold-fill var(--hold-duration) linear forwards}.hold-button span,.hold-button small{position:relative}.hold-button small{color:#8a776b;font-size:.58rem;font-weight:560}.hold-button:disabled{cursor:not-allowed;opacity:.38}.restart-button{color:#8c3934;background:0 0;border-color:#0000}.save-menu-backdrop{z-index:30;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#141e1975;place-items:center;display:grid;position:fixed;inset:0}.save-menu{background:#f8f8f4;border:1px solid #25312b26;border-radius:1.15rem;width:min(100%,42rem);max-height:min(90dvh,48rem);padding:clamp(1rem,3vw,1.5rem);overflow:auto;box-shadow:0 1.4rem 4rem #111c1640}.save-menu-header{justify-content:space-between;align-items:start;display:flex}.save-menu-header h2,.save-menu-kicker{margin:0}.save-menu-header h2{color:#17231e;letter-spacing:-.035em;font-size:clamp(1.35rem,4vw,1.8rem)}.save-menu-kicker{color:#176b5b;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.15rem;font-size:.68rem;font-weight:800}.save-menu-close{color:#56625b;cursor:pointer;background:0 0;border:0;border-radius:.7rem;width:2.75rem;min-height:2.75rem;font-size:1.65rem}.save-menu-close:hover{background:#176b5b14}.save-state,.save-menu-note,.offline-notice,.save-error{margin:.75rem 0;font-size:.78rem}.save-state{color:#176b5b;font-weight:700}.save-menu-note{color:#6e563d;background:#fff3df;border-radius:.65rem;padding:.65rem .75rem}.rename-form{margin-top:1rem}.rename-form label{color:#58645d;margin-bottom:.35rem;font-size:.72rem;font-weight:750;display:block}.rename-form>div{grid-template-columns:1fr auto;gap:.45rem;display:grid}.rename-form input{color:#17231e;background:#fff;border:1px solid #25312b33;border-radius:.7rem;min-width:0;min-height:2.75rem;padding:.65rem .75rem}.rename-form button,.save-menu-actions button,.save-card-actions button{color:#fff;cursor:pointer;background:#176b5b;border:0;border-radius:.7rem;min-height:2.75rem;padding:.55rem .8rem;font-size:.76rem;font-weight:750}.rename-form button:disabled,.save-menu-actions button:disabled,.save-card-actions button:disabled{cursor:not-allowed;opacity:.4}.save-menu-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:.8rem 0 1rem;display:grid}.save-menu-actions button:nth-child(n+3){color:#445049;background:#e7eae5}.save-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.save-list-empty{border:1px dashed var(--rw-border);color:var(--rw-text-muted);text-align:center;background:var(--rw-surface-soft);border-radius:.8rem;margin:0;padding:1rem}.save-list li{background:#ffffff9e;border:1px solid #25312b1f;border-radius:.8rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4rem;padding:.75rem;display:grid}.save-list li.current{background:#176b5b0f;border-color:#176b5b61}.save-card-copy{gap:.2rem;min-width:0;display:grid}.save-card-copy strong{color:#17231e;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.save-card-copy span,.save-card-actions>span{color:#68736c;font-size:.7rem}.save-card-actions{align-items:center;gap:.35rem;display:flex}.save-card-actions .save-delete{color:#8c3934;background:0 0}.offline-notice{color:#68736c;line-height:1.45}.save-error{color:#7f2926;background:#fff4f2;border:1px solid #c74b45;border-radius:.65rem;padding:.65rem .75rem}.product-shell-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(circle at 50% -15%,#ffffffeb,#0000 48%),#e4e8e1fa}.product-shell{width:min(100%,64rem);max-height:min(94dvh,56rem)}.product-home-header{text-align:center;justify-items:center;padding:.4rem 0 1.3rem;display:grid}.product-home-topline{place-items:center;width:100%;min-height:3rem;display:grid;position:relative}.product-home-wordmark{width:clamp(12rem,24vw,17rem)!important}.product-quick-preferences,.preference-cluster{align-items:center;display:flex}.product-quick-preferences{gap:.45rem;position:absolute;top:0;right:0}@media (width<=760px){.product-home-topline{padding-top:3rem}.product-home-wordmark{width:min(80vw,15rem)!important}}.preference-cluster{border:1px solid var(--rw-border);background:var(--rw-surface-soft);border-radius:.72rem;gap:.12rem;padding:.18rem}.product-preference-button{width:2.15rem;height:2.15rem;color:var(--rw-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.52rem;place-items:center;padding:0;display:grid}.product-preference-button:hover,.product-preference-button:focus-visible{color:var(--rw-brand);background:var(--rw-brand-soft)}.product-preference-button.active{border-color:color-mix(in srgb, var(--rw-brand) 50%, var(--rw-border));color:var(--rw-brand);background:var(--rw-surface-elevated);box-shadow:0 .15rem .45rem #0a2a421f}.product-preference-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.12rem;height:1.12rem}.music-preference-button .music-disabled-stroke{stroke:var(--rw-danger);stroke-width:2px}.locale-preference-button{width:2.35rem;color:var(--rw-text);letter-spacing:.04em;font-size:.68rem;font-weight:850}.account-quick-button{border-color:var(--rw-border);color:var(--rw-text-muted);background:var(--rw-surface-soft);flex:none}.account-quick-button.signed-in{border-color:color-mix(in srgb, var(--rw-run) 48%, var(--rw-border));color:var(--rw-run);background:color-mix(in srgb, var(--rw-run) 10%, var(--rw-surface-elevated))}.product-logo-mark{border:3px solid #176b5b;border-radius:50%;width:2.8rem;height:2.8rem;margin-bottom:.8rem;position:relative}.product-logo-mark:before,.product-logo-mark:after{content:"";background:#176b5b;width:1.85rem;height:3px;position:absolute;top:50%}.product-logo-mark:before{left:-1.15rem}.product-logo-mark:after{right:-1.15rem}.product-home-header p,.product-home-header h1,.product-home-header>span:last-child{margin:0}.product-home-header p{color:#176b5b;letter-spacing:.18em;font-size:.78rem;font-weight:850}.product-home-header h1{color:#17231e;letter-spacing:-.065em;white-space:pre-line;margin:.3rem 0;font-size:clamp(1.9rem,6vw,3.2rem);line-height:.95}.product-home-header>span:last-child{color:#6b756f;font-size:.78rem}.continue-community-row{grid-template-columns:minmax(0,1fr) minmax(10rem,12.5rem);gap:.55rem;display:grid}.continue-card{color:#fff;cursor:pointer;text-align:left;background:#176b5b;border:0;border-radius:.95rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;width:100%;min-height:5.2rem;padding:.9rem 1rem;display:grid;box-shadow:0 .8rem 1.8rem #176b5b33}.community-advice-card{border:1px solid color-mix(in srgb, var(--rw-brand) 30%, var(--rw-border));border-radius:var(--rw-radius-feature-card);min-height:5.2rem;color:var(--rw-brand);background:color-mix(in srgb, var(--rw-brand-soft) 74%, var(--rw-surface));cursor:pointer;text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.8rem .9rem;display:grid}.community-advice-card:hover:not(:disabled),.community-advice-card:focus-visible{border-color:var(--rw-brand);background:var(--rw-brand-soft)}.community-advice-card:disabled{cursor:wait;opacity:.5}.community-advice-card svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.45rem}.community-advice-card span{gap:.12rem;display:grid}.community-advice-card strong{font-size:.84rem;line-height:1.1}.community-advice-card small{color:var(--rw-text-muted);font-size:.66rem;line-height:1.2}.continue-card:disabled{cursor:wait;opacity:.55}.continue-card>span:first-child{gap:.15rem;display:grid}.continue-card small{color:#ffffffb3;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:760}.continue-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;overflow:hidden}.continue-card>span:last-child{color:#ffffffc2;font-size:.72rem}.product-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.75rem;display:grid}.product-menu-grid>:is(button,a){color:#25312b;cursor:pointer;text-align:left;background:#ffffff94;border:1px solid #25312b1f;border-radius:.85rem;gap:.2rem;min-height:4.4rem;padding:.75rem .85rem;text-decoration:none;display:grid}.product-menu-grid>:is(button,a):hover:not(:disabled){background:#ffffffe0;border-color:#176b5b57}.product-menu-grid button:disabled{cursor:not-allowed;opacity:.48}.product-menu-grid button.account-locked{border-color:var(--rw-border);color:var(--rw-text-disabled);background:var(--rw-surface-soft)}.product-menu-grid strong{font-size:.84rem}.product-menu-grid span{color:#748078;font-size:.68rem}.runtime-maintenance-banner{border:1px solid color-mix(in srgb, var(--rw-warning-text) 34%, transparent);color:var(--rw-warning-text);background:var(--rw-warning-soft);border-radius:.8rem;gap:.18rem;margin-top:.75rem;padding:.75rem .85rem;display:grid}.runtime-maintenance-banner strong{font-size:.82rem}.runtime-maintenance-banner span{font-size:.7rem;line-height:1.45}.menu-credits{border-top:1px solid var(--rw-border);border-bottom:1px solid var(--rw-border);color:var(--rw-text-muted);grid-template-columns:auto 1fr;align-items:start;gap:1rem;margin-top:.8rem;padding:.75rem 0;font-size:.66rem;display:grid}.menu-credits>strong{color:var(--rw-text);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.menu-credits>span{color:var(--rw-text);text-align:right;margin:0;font-weight:700;line-height:1.45}.social-links{min-width:0}.social-links--card{border:1px solid var(--rw-border);background:var(--rw-surface);border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;margin-top:.55rem;padding:.7rem .85rem;display:flex}.social-links-copy{gap:.16rem;min-width:0;display:grid}.social-links-copy strong{color:var(--rw-text);font-size:.84rem}.social-links-copy span{color:var(--rw-text-muted);font-size:.68rem}.social-link-list{align-items:center;gap:.45rem;display:flex}.social-link{border:1px solid var(--rw-border);border-radius:var(--rw-radius-pill);min-height:2.4rem;color:var(--rw-text);background:var(--rw-surface-elevated);align-items:center;gap:.38rem;padding:.42rem .65rem;font-size:.69rem;font-weight:800;text-decoration:none;display:inline-flex}html[data-theme=dark] .social-links--card{border-color:color-mix(in srgb, var(--rw-brand) 22%, var(--rw-border));background:linear-gradient(135deg, color-mix(in srgb, var(--rw-brand) 7%, var(--rw-surface)), var(--rw-surface))}html[data-theme=dark] .social-links--card .social-link{border-color:var(--rw-border-strong);background:var(--rw-surface-soft)}html[data-theme=dark] .social-links--card .social-link:hover,html[data-theme=dark] .social-links--card .social-link:focus-visible{border-color:var(--rw-brand);color:var(--rw-brand-hover);background:var(--rw-brand-soft)}.social-link:hover,.social-link:focus-visible{border-color:color-mix(in srgb, var(--rw-brand) 42%, var(--rw-border));color:var(--rw-brand);outline:0}.social-link:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--rw-brand) 28%, transparent)}.social-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:1rem;height:1rem}.social-link--facebook svg,.social-link .social-icon-fill{fill:currentColor;stroke:none}.social-link small{color:var(--rw-text-muted);font-size:.6rem;font-weight:680}.social-links--footer .social-link{background:0 0;min-height:2rem;padding:.3rem .5rem}.product-install{gap:.45rem;width:min(100%,28rem);margin:.8rem auto 0;display:grid}.product-install-action{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);width:100%;min-height:3.25rem;color:var(--rw-text);background:var(--rw-surface-soft);cursor:pointer;text-align:left;align-items:center;gap:.7rem;padding:.58rem .75rem;display:flex}.product-install-action:hover:not(:disabled){border-color:color-mix(in srgb, var(--rw-brand) 55%, var(--rw-border));background:var(--rw-brand-soft)}.product-install-action:disabled{cursor:wait;opacity:.58}.product-install-action svg{width:1.35rem;height:1.35rem;color:var(--rw-brand);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none}.product-install-action>span{gap:.08rem;min-width:0;display:grid}.product-install-action strong{font-size:.75rem}.product-install-action small{color:var(--rw-text-muted);font-size:.63rem;line-height:1.35}.product-install-instructions{border-radius:var(--rw-radius-control);color:var(--rw-text-muted);background:var(--rw-brand-soft);align-items:flex-start;gap:.45rem;margin:0;padding:.55rem .7rem;font-size:.68rem;line-height:1.4;display:flex}.product-install-instructions span{color:var(--rw-brand);font-weight:850}.product-version{color:#7b857f;letter-spacing:.08em;text-align:center;text-transform:uppercase;justify-content:center;gap:.55rem;margin-top:.7rem;font-size:.65rem;display:flex}.product-version span+span:before{content:"·";margin-right:.55rem}.product-panel-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.8rem;display:grid}.panel-close{width:2.75rem;height:2.75rem;color:var(--rw-text-muted);background:var(--rw-surface-soft);cursor:pointer;border:0;border-radius:.7rem;place-items:center;padding:0;font-size:1.65rem;line-height:1;display:grid}.panel-close:hover,.panel-close:focus-visible{color:var(--rw-brand);background:var(--rw-brand-soft)}.product-save-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.save-card-copy small{color:#176b5b;letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:760}.game-codex{gap:.55rem;margin-top:1rem;display:grid}.codex-lead{color:#46524b;background:#176b5b0f;border-left:4px solid #176b5b;border-radius:0 .75rem .75rem 0;margin:0 0 .2rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.5}.game-codex details{background:#fff9;border:1px solid #25312b1f;border-radius:.8rem}.game-codex summary{color:#26332c;cursor:pointer;align-items:center;gap:.65rem;min-height:3.2rem;padding:.7rem .85rem;font-size:.84rem;font-weight:800;list-style:none;display:flex}.game-codex summary::-webkit-details-marker{display:none}.game-codex summary:after{color:#176b5b;content:"+";margin-left:auto;font-size:1.1rem}.game-codex details[open] summary:after{content:"−"}.game-codex summary>span{color:#176b5b;letter-spacing:.08em;font-size:.64rem}.codex-chapter{color:#56625b;padding:0 1rem 1rem 3.15rem;font-size:.78rem;line-height:1.55}.codex-chapter p{margin:0 0 .7rem}.codex-chapter p:last-child{margin-bottom:0}.codex-chapter ul{margin:.45rem 0 .75rem;padding-left:1.1rem}.track-rule-examples{margin-top:1rem}.track-rule-examples>header{margin-bottom:.75rem}.track-rule-examples h3{color:var(--rw-text);margin:0 0 .25rem;font-size:.9rem}.track-rule-examples>header p{color:var(--rw-text-muted);margin:0}.track-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.track-rule-card{border:1px solid var(--rw-border);background:var(--rw-surface-elevated);border-radius:.75rem;margin:0;overflow:hidden}.track-rule-card svg{border-bottom:1px solid var(--rw-border);background:var(--rw-bg);width:100%;height:auto;display:block}.track-rule-map-grid{fill:none;stroke:var(--rw-grid-minor);stroke-width:1px}.track-rule-limit{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:15px}.track-rule-limit--red{stroke:#be44463d}.track-rule-limit--yellow{stroke:#c5942442}.track-rule-rail,.track-rule-rail-cut{fill:none;stroke-linecap:round;stroke-linejoin:round}.track-rule-rail{stroke:var(--rw-text,#26332c);stroke-width:5px}.track-rule-rail-cut{stroke:var(--rw-bg);stroke-width:2.2px}.track-rule-crossing-marker{fill:var(--rw-bg);stroke:#b88924;stroke-width:1.2px}.track-rule-switch-marker{fill:#d49c24;stroke:var(--rw-text,#26332c);stroke-width:1.8px}.track-rule-card figcaption{align-content:start;gap:.2rem;min-height:4.9rem;padding:.65rem .75rem .75rem;display:grid}.track-rule-card figcaption strong{color:var(--rw-text);font-size:.76rem}.track-rule-card figcaption span{color:var(--rw-text-muted);font-size:.7rem;line-height:1.4}.codex-table{border:1px solid #25312b1a;border-radius:.65rem;display:grid;overflow:hidden}.codex-table>div{grid-template-columns:1fr 1fr;padding:.45rem .65rem;display:grid}.codex-table>div:nth-child(2n){background:#176b5b0a}.codex-table-head{color:#334139;background:#176b5b17;font-weight:800}.train-type-sample{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.train-type-swatch{border:1px solid #07121a7a;border-radius:.3rem;flex:none;width:1.65rem;height:.78rem;box-shadow:inset 0 1px #ffffff57,0 1px 2px #07121a24}.contract-settings,.account-panel,.support-panel{color:#56625b;margin-top:1rem;font-size:.82rem;line-height:1.5}.account-panel{gap:1rem;display:grid}.leaderboard-panel{gap:.75rem;margin-top:.85rem;display:grid}.leaderboard-intro,.leaderboard-empty,.leaderboard-state{color:var(--rw-text-muted);margin:0;font-size:.76rem;line-height:1.45}.leaderboard-intro-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.leaderboard-intro-row .leaderboard-intro{flex:1}.leaderboard-season{border:1px solid color-mix(in srgb, var(--rw-brand) 24%, var(--rw-border));color:var(--rw-brand);background:var(--rw-brand-soft);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:.26rem .48rem;font-size:.58rem;font-weight:850;line-height:1.2}.leaderboard-map-tabs{border:1px solid var(--rw-border);background:var(--rw-surface-soft);border-radius:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;padding:.28rem;display:grid}.leaderboard-map-tabs button{min-height:2.8rem;color:var(--rw-text-muted);cursor:pointer;background:0 0;border:0;border-radius:.6rem;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .75rem;font-size:.78rem;font-weight:800;display:flex}.leaderboard-map-tabs button span{letter-spacing:.04em;border:1px solid;border-radius:.25rem;place-items:center;width:1.45rem;height:1.15rem;font-size:.54rem;display:grid}.leaderboard-map-tabs button.active{color:#fff;background:var(--rw-brand);box-shadow:0 .2rem .65rem color-mix(in srgb, var(--rw-brand) 22%, transparent)}.leaderboard-attempt{border:1px solid color-mix(in srgb, var(--rw-brand) 42%, var(--rw-border));background:var(--rw-brand-soft);border-radius:.8rem;gap:.18rem;padding:.7rem .8rem;display:grid}.leaderboard-attempt strong{color:var(--rw-brand);letter-spacing:.065em;text-transform:uppercase;font-size:.61rem;font-weight:850}.leaderboard-attempt span{color:var(--rw-text);font-size:.72rem;line-height:1.4}.leaderboard-attempt--rejected,.leaderboard-attempt--failed{border-color:color-mix(in srgb, var(--rw-danger) 50%, var(--rw-border));background:color-mix(in srgb, var(--rw-danger) 9%, var(--rw-surface))}.leaderboard-attempt--rejected strong,.leaderboard-attempt--failed strong{color:var(--rw-danger)}.leaderboard-heading,.leaderboard-list li,.leaderboard-current>div{grid-template-columns:4rem minmax(0,1fr) 7rem;align-items:center;gap:.5rem;display:grid}.leaderboard-heading{color:var(--rw-text-muted);letter-spacing:.08em;text-transform:uppercase;padding:0 .8rem;font-size:.58rem;font-weight:850}.leaderboard-heading span:last-child{text-align:right}.leaderboard-list{border:1px solid var(--rw-border);background:var(--rw-surface);border-radius:.85rem;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.leaderboard-list li{border-bottom:1px solid var(--rw-border);min-height:2.85rem;color:var(--rw-text);padding:.58rem .8rem}.leaderboard-list li:last-child{border-bottom:0}.leaderboard-list li:nth-child(-n+3) strong{color:#a87516}.leaderboard-list li.current{background:var(--rw-brand-soft);box-shadow:inset .22rem 0 var(--rw-brand)}.leaderboard-list strong,.leaderboard-current strong{color:var(--rw-text-muted);font-size:.76rem}.leaderboard-list span,.leaderboard-current span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;font-weight:750;overflow:hidden}.leaderboard-list b,.leaderboard-current b{color:var(--rw-brand);text-align:right;font-size:.75rem}.leaderboard-current{border:1px solid var(--rw-brand);background:var(--rw-brand-soft);border-radius:.8rem;gap:.3rem;padding:.68rem .8rem;display:grid}.leaderboard-current small{color:var(--rw-brand);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:850}.leaderboard-nickname-callout{border:1px solid var(--rw-brand);color:var(--rw-text);background:var(--rw-brand-soft);cursor:pointer;text-align:left;border-radius:.8rem;gap:.12rem;padding:.75rem .85rem;display:grid}.leaderboard-nickname-callout strong{font-size:.78rem}.leaderboard-nickname-callout span{color:var(--rw-text-muted);font-size:.68rem}.nickname-form{border:1px solid var(--rw-border);background:var(--rw-surface-soft);border-radius:.8rem;gap:.55rem;padding:.8rem;display:grid}.nickname-form label{gap:.1rem;display:grid}.nickname-form label span{color:var(--rw-text);font-size:.75rem;font-weight:800}.nickname-form label small{color:var(--rw-text-muted);font-size:.65rem}.nickname-form>div{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;display:grid}.nickname-form input{border:1px solid var(--rw-border);min-width:0;min-height:2.65rem;color:var(--rw-text);background:var(--rw-surface);border-radius:.65rem;padding:.6rem .7rem}.nickname-form button{color:#fff;background:var(--rw-brand);cursor:pointer;border:0;border-radius:.65rem;min-height:2.65rem;padding:.55rem .85rem;font-weight:800}.nickname-form button:disabled{cursor:default;opacity:.42}.account-benefits{gap:.55rem;display:grid}.account-benefits h3{color:var(--rw-text);margin:0;font-size:.82rem}.account-benefits ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.account-benefits li{border:1px solid var(--rw-border);background:var(--rw-surface-soft);border-radius:.72rem;align-items:flex-start;gap:.55rem;min-width:0;padding:.7rem;display:flex}.account-benefits li>span{width:1.35rem;height:1.35rem;color:var(--rw-run);background:var(--rw-run-soft);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:850;display:grid}.account-benefits li>div{gap:.12rem;min-width:0;display:grid}.account-benefits strong{color:var(--rw-text);font-size:.75rem}.account-benefits small{color:var(--rw-text-muted);font-size:.68rem;line-height:1.35}.account-summary{background:#176b5b0f;border:1px solid #176b5b2e;border-radius:.85rem;align-items:center;gap:.8rem;padding:1rem;display:flex}.account-summary>div{gap:.15rem;display:grid}.account-summary strong{color:#26332c}.account-summary span:last-child{color:#68736c;font-size:.72rem}.account-status-dot{background:#2a9b71;border-radius:50%;width:.8rem;height:.8rem;box-shadow:0 0 0 .25rem #2a9b711f}.account-status-dot.offline{background:#bd7a3d;box-shadow:0 0 0 .25rem #bd7a3d1f}.account-actions,.conflict-actions,.auth-mode{flex-wrap:wrap;gap:.45rem;display:flex}.account-actions button,.conflict-actions button,.auth-mode button,.auth-form button{color:#fff;cursor:pointer;background:#176b5b;border:0;border-radius:.7rem;min-height:2.75rem;padding:.6rem .9rem;font-weight:750}.account-actions button:disabled,.conflict-actions button:disabled,.auth-form button:disabled{cursor:wait;opacity:.45}.account-actions .account-logout,.conflict-actions button:first-child{color:#445049;background:#e7eae5}.account-local-first,.account-intro,.account-all-synced{color:#68736c;margin:0;font-size:.78rem;line-height:1.5}.account-all-synced{color:#176b5b;background:#176b5b12;border-radius:.7rem;padding:.75rem}.conflict-section{gap:.75rem;display:grid}.conflict-section header h3,.conflict-section header p,.conflict-card h4,.conflict-card p{margin:0}.conflict-section header h3,.conflict-card h4{color:#26332c}.conflict-section header p{color:#68736c;margin-top:.2rem;font-size:.75rem}.conflict-card{background:#fffaf3;border:1px solid #bd7a3d57;border-radius:.85rem;gap:.65rem;padding:.9rem;display:grid}.conflict-recommendation{color:#75522e;font-size:.75rem}.conflict-copies{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.conflict-copies>div{background:#ffffffbf;border-radius:.65rem;gap:.18rem;padding:.7rem;display:grid}.conflict-copies span,.conflict-copies small{color:#68736c;font-size:.67rem}.auth-mode button{color:#58645d;background:#e7eae5}.auth-mode button.active{color:#fff;background:#176b5b}.auth-mode button:disabled{cursor:not-allowed;opacity:.45}.registration-unavailable{border:1px solid color-mix(in srgb, var(--rw-warning-text) 24%, transparent);max-width:35rem;color:var(--rw-warning-text);background:var(--rw-warning-soft);border-radius:.7rem;margin:0;padding:.65rem .75rem;font-size:.74rem;line-height:1.45}.auth-form{gap:.75rem;max-width:28rem;display:grid}.auth-form label{color:#58645d;gap:.3rem;font-size:.72rem;font-weight:750;display:grid}.auth-form input{color:#17231e;background:#fff;border:1px solid #25312b33;border-radius:.7rem;min-height:2.75rem;padding:.65rem .75rem}.auth-form .auth-link{color:#176b5b;text-underline-offset:.18rem;background:0 0;justify-self:start;min-height:2rem;padding:.2rem 0;text-decoration:underline}.account-notice{color:#176b5b;background:#176b5b12;border:1px solid #176b5b33;border-radius:.7rem;margin:0;padding:.75rem;font-size:.78rem;line-height:1.5}.runtime-admin-panel{gap:.8rem;margin-top:.85rem;display:grid}.runtime-admin-intro,.runtime-admin-updated{color:var(--rw-text-muted);margin:0;font-size:.75rem;line-height:1.5}.runtime-admin-card{border:1px solid var(--rw-border);color:var(--rw-text);background:var(--rw-surface-soft);border-radius:.85rem;gap:.7rem;padding:.95rem;display:grid}.runtime-admin-card>header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.runtime-admin-card h3,.runtime-admin-card p{margin:0}.runtime-admin-card header span{color:var(--rw-brand);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:850}.runtime-admin-card h3{margin-top:.12rem;font-size:.96rem}.runtime-admin-card header>strong{white-space:nowrap;border-radius:999px;padding:.28rem .5rem;font-size:.63rem}.runtime-admin-card header>strong.enabled{color:var(--rw-run);background:var(--rw-run-soft)}.runtime-admin-card header>strong.disabled{color:var(--rw-warning-text);background:var(--rw-warning-soft)}.runtime-admin-card>p{color:var(--rw-text-muted);font-size:.75rem;line-height:1.45}.runtime-admin-card>p.runtime-admin-lock{color:var(--rw-warning-text)}.runtime-admin-heartbeat{border:1px solid var(--rw-border);min-height:2.55rem;color:var(--rw-text-muted);background:var(--rw-surface);border-radius:.68rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.58rem .7rem;font-size:.72rem;display:flex}.runtime-admin-heartbeat>strong{color:var(--rw-text)}.runtime-admin-heartbeat>span{text-align:right}.runtime-admin-scheduler-url{gap:.35rem;display:grid}.runtime-admin-scheduler-url>span{color:var(--rw-text-muted);font-size:.68rem;font-weight:760}.runtime-admin-scheduler-url>input{border:1px solid var(--rw-border);width:100%;min-width:0;min-height:2.55rem;color:var(--rw-text);background:var(--rw-surface);font:inherit;border-radius:.68rem;padding:.58rem .7rem;font-size:1rem}.runtime-admin-card>button,.runtime-admin-actions button{border:1px solid var(--rw-border);min-height:2.55rem;color:var(--rw-brand);background:var(--rw-surface);border-radius:.68rem;justify-self:start;padding:.58rem .75rem;font-weight:780}.runtime-admin-card>button:disabled,.runtime-admin-actions button:disabled{cursor:not-allowed;opacity:.48}.runtime-admin-actions{display:flex}.account-security-card,.account-delete-card{border:1px solid var(--rw-border);color:var(--rw-text);background:var(--rw-surface-soft);border-radius:.85rem;gap:.7rem;padding:.9rem;display:grid}.account-security-card>header{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.account-security-card h3,.account-security-card p,.account-delete-card p,.account-delete-card ul,.account-recovery-codes p{margin:0}.account-security-card h3{margin-top:.12rem;font-size:.95rem}.account-security-card p,.account-delete-card p,.account-delete-card li,.account-recovery-codes p{color:var(--rw-text-muted);font-size:.75rem;line-height:1.45}.account-section-kicker{color:var(--rw-brand);letter-spacing:.12em;text-transform:uppercase;font-size:.63rem;font-weight:850}.account-security-state{color:var(--rw-text-muted);background:color-mix(in srgb, var(--rw-text-muted) 10%, transparent);white-space:nowrap;border-radius:999px;padding:.28rem .5rem;font-size:.63rem;font-weight:800}.account-security-state.enabled{color:var(--rw-run);background:var(--rw-run-soft)}.account-security-state.required{color:var(--rw-warning-text);background:var(--rw-warning-soft)}.account-two-factor-help-trigger{border:1px solid var(--rw-border);min-height:2.35rem;color:var(--rw-brand);background:var(--rw-surface);cursor:pointer;font:inherit;border-radius:.65rem;justify-self:start;align-items:center;gap:.45rem;padding:.42rem .65rem;font-size:.7rem;font-weight:800;display:inline-flex}.account-two-factor-help-trigger span{color:#fff;background:var(--rw-brand);border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-size:.76rem;display:grid}.account-two-factor-help-trigger:hover,.account-two-factor-help-trigger:focus-visible{border-color:var(--rw-brand);background:var(--rw-brand-soft)}.account-two-factor-help-dialog{border:1px solid var(--rw-border);width:min(42rem,100vw - 2rem);max-height:min(48rem,100dvh - 2rem);color:var(--rw-text);background:var(--rw-surface-elevated);border-radius:1rem;padding:0;overflow:auto;box-shadow:0 1.6rem 5rem #00000047}.account-two-factor-help-dialog::backdrop{background:color-mix(in srgb, var(--rw-bg) 78%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.account-two-factor-help-header{z-index:1;border-bottom:1px solid var(--rw-border);background:color-mix(in srgb, var(--rw-surface-elevated) 96%, transparent);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .85rem;display:flex;position:sticky;top:0}.account-two-factor-help-header span{color:var(--rw-brand);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.2rem;font-size:.65rem;font-weight:850;display:block}.account-two-factor-help-header h2{color:var(--rw-text);margin:0;font-size:clamp(1.15rem,3vw,1.55rem);line-height:1.15}.account-two-factor-help-header button{border:1px solid var(--rw-border);width:2.75rem;height:2.75rem;color:var(--rw-text);background:var(--rw-surface);cursor:pointer;font:inherit;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.45rem;display:grid}.account-two-factor-help-content{gap:1rem;padding:1rem;display:grid}.account-two-factor-help-content>p,.account-two-factor-help-content h3,.account-two-factor-help-content ul,.account-two-factor-help-content ol,.account-two-factor-help-content dl,.account-two-factor-help-content dd{margin:0}.account-two-factor-help-content>p{color:var(--rw-text-muted);font-size:.82rem;line-height:1.55}.account-two-factor-help-content section{gap:.65rem;display:grid}.account-two-factor-help-content h3{color:var(--rw-text);font-size:.82rem}.account-two-factor-help-apps ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:0;list-style:none;display:grid}.account-two-factor-help-apps li,.account-two-factor-help-codes dl>div{border:1px solid var(--rw-border);background:var(--rw-surface);border-radius:.7rem;gap:.18rem;min-width:0;padding:.68rem;display:grid}.account-two-factor-help-apps strong,.account-two-factor-help-codes dt{color:var(--rw-text);font-size:.74rem;font-weight:820}.account-two-factor-help-apps span,.account-two-factor-help-codes dd{color:var(--rw-text-muted);font-size:.68rem;line-height:1.4}.account-two-factor-help-steps ol{gap:.5rem;padding:0;list-style:none;display:grid}.account-two-factor-help-steps li{background:var(--rw-surface-soft);border-radius:.75rem;grid-template-columns:1.75rem minmax(0,1fr);gap:.65rem;padding:.72rem;display:grid}.account-two-factor-help-steps li>span{color:#fff;background:var(--rw-brand);border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;font-size:.72rem;font-weight:850;display:grid}.account-two-factor-help-steps li div{gap:.2rem;display:grid}.account-two-factor-help-steps strong{color:var(--rw-text);font-size:.76rem}.account-two-factor-help-steps p{color:var(--rw-text-muted);margin:0;font-size:.71rem;line-height:1.48}.account-two-factor-help-codes dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.account-two-factor-help-safety{border:1px solid color-mix(in srgb, var(--rw-warning) 34%, var(--rw-border));background:var(--rw-warning-soft);border-radius:.7rem;padding:.75rem;color:var(--rw-warning-text)!important}.account-two-factor-help-done{color:#fff;background:var(--rw-brand);cursor:pointer;min-height:2.75rem;font:inherit;border:0;border-radius:.7rem;justify-self:end;padding:.6rem 1rem;font-weight:820}.first-level-guidance-dialog{border:1px solid var(--rw-border);width:min(35rem,100vw - 2rem);max-height:min(44rem,100dvh - 2rem);color:var(--rw-text);background:var(--rw-surface-elevated);border-radius:1rem;padding:0;overflow:auto;box-shadow:0 1.6rem 5rem #0000004d}.first-level-guidance-dialog::backdrop{background:color-mix(in srgb, var(--rw-bg) 78%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.first-level-guidance-header{border-bottom:1px solid var(--rw-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.first-level-guidance-header span{color:var(--rw-brand);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.22rem;font-size:.66rem;font-weight:850;display:block}.first-level-guidance-header h2{color:var(--rw-text);margin:0;font-size:clamp(1.25rem,4vw,1.7rem);line-height:1.12}.first-level-guidance-header button{border:1px solid var(--rw-border);width:2.75rem;height:2.75rem;color:var(--rw-text);background:var(--rw-surface);cursor:pointer;font:inherit;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.45rem;display:grid}.first-level-guidance-content{gap:.9rem;padding:1rem;display:grid}.first-level-guidance-content>p,.first-level-guidance-steps,.first-level-guidance-steps p{margin:0}.first-level-guidance-content>p{color:var(--rw-text-muted);font-size:.8rem;line-height:1.5}.first-level-guidance-map-rule{border-left:3px solid var(--rw-brand);background:var(--rw-brand-soft);border-radius:.45rem;padding:.7rem;color:var(--rw-text)!important}.first-level-guidance-route{border:1px solid color-mix(in srgb, var(--rw-brand) 35%, var(--rw-border));color:var(--rw-text);background:var(--rw-brand-soft);text-align:center;border-radius:.8rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.8rem;display:grid}.first-level-guidance-route strong{overflow-wrap:anywhere;min-width:0;font-size:.82rem}.first-level-guidance-route span{color:var(--rw-brand);align-items:center;gap:.18rem;font-size:1rem;font-weight:850;display:flex}.first-level-guidance-route i{border:solid var(--rw-brand);border-width:1px 0;width:1.05rem;height:.2rem;display:block}.first-level-guidance-steps{gap:.55rem;padding:0;list-style:none;display:grid}.first-level-guidance-steps li{background:var(--rw-surface-soft);border-radius:.8rem;grid-template-columns:1.8rem minmax(0,1fr);align-items:start;gap:.65rem;padding:.78rem;display:grid}.first-level-guidance-steps li>span{color:#fff;background:var(--rw-brand);border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-size:.74rem;font-weight:850;display:grid}.first-level-guidance-steps li div{gap:.2rem;display:grid}.first-level-guidance-steps strong{color:var(--rw-text);font-size:.78rem}.first-level-guidance-steps p{color:var(--rw-text-muted);font-size:.71rem;line-height:1.45}.first-level-guidance-note{border-left:3px solid var(--rw-run);background:var(--rw-run-soft);border-radius:.45rem;padding:.7rem;color:var(--rw-text)!important}.first-level-guidance-start{color:#fff;background:var(--rw-run);cursor:pointer;min-height:2.85rem;font:inherit;border:0;border-radius:.72rem;padding:.65rem 1rem;font-weight:830}.first-level-guidance-help{font-size:1rem!important;font-weight:850!important}.account-primary-action,.account-security-form button{color:#fff;background:var(--rw-brand);cursor:pointer;border:0;border-radius:.65rem;justify-self:start;min-height:2.65rem;padding:.55rem .85rem;font-weight:800}.account-security-form{gap:.65rem;max-width:28rem;display:grid}.account-security-form label{color:var(--rw-text-muted);gap:.28rem;font-size:.7rem;font-weight:750;display:grid}.account-security-form input{border:1px solid var(--rw-border);min-height:2.65rem;color:var(--rw-text);background:var(--rw-surface);border-radius:.65rem;padding:.6rem .7rem}.account-secret{border:1px solid var(--rw-border);background:var(--rw-surface);border-radius:.7rem;gap:.35rem;padding:.7rem;display:grid}.account-secret span{color:var(--rw-text-muted);font-size:.68rem}.account-secret code,.account-recovery-codes code{overflow-wrap:anywhere;color:var(--rw-text);font-size:.75rem;font-weight:800}.account-secret a{color:var(--rw-brand);font-size:.72rem;font-weight:750}.account-security-details,.account-delete-card{color:var(--rw-text)}.account-security-details summary,.account-delete-card summary{color:var(--rw-text);cursor:pointer;font-weight:800}.account-security-details[open],.account-delete-card[open]{gap:.7rem}.account-security-details[open]{display:grid}.account-recovery-codes{border:1px solid color-mix(in srgb, var(--rw-run) 30%, var(--rw-border));background:var(--rw-run-soft);border-radius:.7rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .65rem;padding:.75rem;display:grid}.account-recovery-codes strong,.account-recovery-codes p{grid-column:1/-1}.account-delete-card{border-color:color-mix(in srgb, var(--rw-danger) 38%, var(--rw-border))}.account-delete-card ul{padding-left:1.1rem}.account-delete-card .account-delete-button{background:var(--rw-danger)}.account-security-form button:disabled,.account-primary-action:disabled{cursor:wait;opacity:.45}.contract-settings>p{max-width:42rem}.contract-settings dl{gap:.5rem;margin:1rem 0 0;display:grid}.contract-settings dl>div{background:#fff9;border:1px solid #25312b1f;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.8rem;display:grid}.contract-settings dt{color:#2d3a33;font-weight:800}.contract-settings dd{color:#176b5b;text-align:right;margin:0}.support-panel{text-align:center;align-content:center;justify-items:center;max-width:48rem;min-height:24rem;margin-inline:auto;display:grid}.support-mark{color:#176b5b;font-size:4rem;line-height:1}.support-panel h3{color:#26332c;margin:.7rem 0 0;font-size:1.25rem}.support-pending{color:#75522e;background:#f6eadb;border-radius:.65rem;padding:.6rem .8rem;font-size:.72rem}html,body{color:var(--rw-text);background:var(--rw-bg)}.topbar,.build-toolbar,.standalone-mobile-actions{border-color:var(--rw-border);color:var(--rw-text);background:color-mix(in srgb, var(--rw-surface-elevated) 96%, transparent);box-shadow:var(--rw-shadow-panel)}.brand,.throughput,.clearing-status{color:var(--rw-text)}.repair-status,.restart-button,.mobile-clear-button,.save-card-actions .save-delete{color:var(--rw-danger)}.clearing-status:before{border-color:color-mix(in srgb, var(--rw-brand) 22%, transparent);border-top-color:var(--rw-brand)}.button,.tool-button,.mobile-action-button,.hold-button,.restart-button,.track-orientation-button,.radius-group button,.ramp-preset-button{border-radius:var(--rw-radius-control)}.button-primary,.mode-building .mobile-action-button.primary{color:#fff;background:var(--rw-run);box-shadow:0 5px 14px color-mix(in srgb, var(--rw-run) 24%, transparent)}.mode-running .button-primary,.mode-repair .button-primary,.mode-running .mobile-action-button.primary,.mode-repair .mobile-action-button.primary{background:var(--rw-brand);box-shadow:0 5px 14px color-mix(in srgb, var(--rw-brand) 24%, transparent)}.button-quiet,.mobile-action-button,.tool-button,.track-orientation-button,.radius-group button{color:var(--rw-text-muted)}.playfield,.canvas-host{background:var(--rw-map-locked)}.canvas-host:focus-visible{outline-color:var(--rw-focus)}.information-strip{border-color:var(--rw-border);color:var(--rw-text-muted);background:color-mix(in srgb, var(--rw-surface-elevated) 97%, transparent)}.guide-line,.guide-line:before,.guide-line:after{border-color:currentColor}.information-ready{color:var(--rw-run);background:var(--rw-run-soft)}.information-level-up{color:#fff;background:var(--rw-run)}.information-error{border-color:var(--rw-danger);color:var(--rw-danger);background:var(--rw-danger-soft)}.tool-button{border:1px solid #0000}.tool-button.active{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft);box-shadow:none}.track-orientation-picker,.radius-group,.ramp-preset-picker{border-color:var(--rw-border);color:var(--rw-text-muted);background:color-mix(in srgb, var(--rw-surface-elevated) 97%, transparent);box-shadow:var(--rw-shadow-panel)}.track-orientation-button.active,.radius-group button.active,.ramp-preset-button.active{color:#fff;background:var(--rw-brand);box-shadow:none}.build-status{color:var(--rw-text-muted)}.hold-button,.mobile-clear-button{border-color:color-mix(in srgb, var(--rw-danger) 50%, var(--rw-border));color:var(--rw-danger);background:0 0}.hold-button:before,.mobile-clear-button:before{background:var(--rw-danger-soft)}.hold-button small{color:var(--rw-text-muted)}.hold-button:hover:not(:disabled),.restart-button:hover{background-color:var(--rw-danger-soft)}.save-menu-backdrop,.product-shell-backdrop{background:color-mix(in srgb, var(--rw-bg) 76%, transparent)}.save-menu,.product-shell{border-color:var(--rw-border);border-radius:var(--rw-radius-panel);color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:var(--rw-shadow-panel)}.save-menu-header h2,.save-card-copy strong,.product-home-header h1,.game-codex summary,.account-summary strong,.conflict-section header h3,.conflict-card h4,.support-panel h3,.contract-settings dt{color:var(--rw-text)}.save-menu-kicker,.save-card-copy small,.game-codex summary:after,.game-codex summary>span,.contract-settings dd,.support-mark{color:var(--rw-brand)}.save-menu-close,.save-menu-note,.save-card-copy span,.save-card-actions>span,.offline-notice,.product-home-header>span:last-child,.product-menu-grid span,.product-version,.codex-chapter,.account-summary span:last-child,.account-local-first,.account-intro,.conflict-section header p,.conflict-copies span,.conflict-copies small,.auth-form label,.contract-settings,.account-panel,.support-panel{color:var(--rw-text-muted)}.rename-form input,.auth-form input,.product-menu-grid>:is(button,a),.save-list li,.game-codex details,.contract-settings dl>div,.conflict-copies>div{border-color:var(--rw-border);color:var(--rw-text);background:var(--rw-surface)}.rename-form button,.save-menu-actions button,.save-card-actions button,.account-actions button,.conflict-actions button,.auth-mode button.active,.auth-form button{color:#fff;background:var(--rw-brand)}.auth-form .auth-link{color:var(--rw-brand);background:0 0}.save-menu-actions button:nth-child(n+3),.account-actions .account-logout,.conflict-actions button:first-child,.auth-mode button{color:var(--rw-text-muted);background:var(--rw-surface-soft)}.save-list li.current{border-color:var(--rw-brand);background:var(--rw-brand-soft)}.save-menu-note,.support-pending{color:var(--rw-warning-text);background:var(--rw-warning-soft)}.save-error{border-color:var(--rw-danger);color:var(--rw-danger);background:var(--rw-danger-soft)}.product-home-header{color:var(--rw-text)}.continue-card{border-radius:var(--rw-radius-feature-card);color:#fff;box-shadow:none;background:#123b61}html[data-theme=dark] .continue-card{background:#1d4c78}.product-menu-grid>:is(button,a){border-radius:var(--rw-radius-card)}.product-menu-grid>:is(button,a):hover:not(:disabled){border-color:var(--rw-brand);background:var(--rw-brand-soft)}.codex-lead,.codex-table>div:nth-child(2n),.codex-table-head{background:var(--rw-brand-soft)}.codex-lead{border-color:var(--rw-brand);color:var(--rw-text-muted)}.game-codex details,.codex-table,.account-summary,.contract-settings dl>div{border-color:var(--rw-border)}.account-summary{background:var(--rw-surface-soft)}.account-all-synced{color:var(--rw-run);background:var(--rw-run-soft)}.account-notice{border-color:var(--rw-border);color:var(--rw-run);background:var(--rw-run-soft)}.conflict-card{border-color:var(--rw-warning);background:var(--rw-warning-soft)}.conflict-recommendation{color:var(--rw-warning-text)}@media (width<=560px){.first-level-guidance-dialog,.account-two-factor-help-dialog{border-radius:.85rem;width:calc(100vw - .75rem);max-height:calc(100svh - .75rem)}.account-two-factor-help-apps ul,.account-two-factor-help-codes dl{grid-template-columns:minmax(0,1fr)}.account-two-factor-help-done{width:100%}.game-shell{height:100svh}.build-toolbar.editor-open{border:0;min-height:0;padding:0;display:none}.build-toolbar.editor-open .build-mobile-actions,.build-toolbar.editor-open .tool-group{display:none}}.supporter-page{--support-ink:#102b3d;--support-muted:#647783;--support-paper:#f7f3e9;--support-surface:#ffffffd1;--support-line:#183c5126;--support-gold:#d99b2b;-webkit-overflow-scrolling:touch;width:100%;height:100dvh;min-height:100svh;color:var(--support-ink);background:radial-gradient(circle at 82% 3%, #d99b2b2e, transparent 30rem), radial-gradient(circle at 7% 22%, #1769aa1f, transparent 28rem), linear-gradient(180deg, #f8faf9 0, var(--support-paper) 58%, #eef3f3 100%);scroll-behavior:smooth;overflow:hidden auto}html[data-theme=dark] .supporter-page{--support-ink:#f4f8f9;--support-muted:#9fb0ba;--support-paper:#0b1720;--support-surface:#10202ae0;--support-line:#bbd7e326;background:radial-gradient(circle at 82% 3%, #d99b2b24, transparent 30rem), radial-gradient(circle at 7% 22%, #4a98e824, transparent 28rem), linear-gradient(180deg, #0b151d 0, var(--support-paper) 58%, #0c1820 100%)}.supporter-page *,.supporter-page :before,.supporter-page :after{box-sizing:border-box}.supporter-header{z-index:20;border-bottom:1px solid var(--support-line);background:color-mix(in srgb, var(--support-paper) 85%, transparent);-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);grid-template-columns:minmax(9rem,1fr) auto minmax(9rem,1fr);align-items:center;gap:1.25rem;min-height:4.5rem;padding:.7rem clamp(1rem,4vw,4rem);display:grid;position:sticky;top:0}.supporter-brand{width:fit-content;color:inherit}.supporter-brand svg{max-width:10.5rem}.supporter-header nav{border:1px solid var(--support-line);background:var(--support-surface);border-radius:999px;gap:.16rem;padding:.28rem;display:flex;box-shadow:0 8px 28px #0b27360f}.supporter-header nav a{color:var(--support-muted);border-radius:999px;padding:.58rem .82rem;font-size:.78rem;font-weight:750;text-decoration:none}.supporter-header nav a:hover,.supporter-header nav a.active{color:var(--support-ink);background:color-mix(in srgb, var(--rw-brand-soft) 76%, transparent)}.supporter-preferences{justify-self:end;gap:.25rem;display:flex}.supporter-preferences button,.supporter-type-filters button,.supporter-currency-toggle button{border:1px solid var(--support-line);min-width:2.2rem;min-height:2.2rem;color:var(--support-muted);background:var(--support-surface);font:inherit;cursor:pointer;border-radius:999px;padding:.35rem .55rem;font-size:.68rem;font-weight:800}.supporter-preferences button.active,.supporter-type-filters button.active,.supporter-currency-toggle button.active{border-color:var(--rw-brand);color:#fff;background:var(--rw-brand)}.supporter-main{width:min(100% - 2rem,76rem);min-height:calc(100dvh - 9rem);margin:0 auto;padding:clamp(1rem,2.4vw,2rem) 0 clamp(2.4rem,6vw,6.5rem)}.supporter-section-navigation{z-index:9;border:1px solid var(--support-line);background:color-mix(in srgb, var(--support-surface) 94%, transparent);scrollbar-width:none;border-radius:999px;width:fit-content;max-width:100%;margin:0 auto clamp(1.25rem,3vw,2.75rem);padding:.25rem;display:flex;position:relative;overflow-x:auto;box-shadow:0 .55rem 1.4rem #0b27360f}.supporter-section-navigation::-webkit-scrollbar{display:none}.supporter-section-navigation a{color:var(--support-muted);white-space:nowrap;border-radius:999px;flex:none;padding:.55rem .82rem;font-size:.72rem;font-weight:800;text-decoration:none}.supporter-section-navigation a:hover,.supporter-section-navigation a:focus-visible{color:var(--rw-brand)}.supporter-section-navigation a.active{color:var(--support-ink);background:var(--support-surface);box-shadow:0 .15rem .45rem #0b27361a}.supporter-hero{grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr);align-items:center;gap:clamp(2.5rem,7vw,7rem);min-height:min(44rem,100dvh - 8rem);display:grid}.supporter-eyebrow{color:var(--rw-brand);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .9rem;font-size:.7rem;font-weight:900}.supporter-hero h1,.supporter-fleet-hero h1,.supporter-train-detail h1,.supporter-booking-shell>header h1,.supporter-ticket-page>header h1,.supporter-list-page>header h1{letter-spacing:-.07em;max-width:14ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.35rem,8vw,7.7rem);font-weight:500;line-height:.86}.supporter-subtitle{color:var(--support-ink);margin:1.35rem 0 0;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:700}.supporter-lead,.supporter-fleet-hero>p:last-child,.supporter-list-page>header>p:last-child,.supporter-booking-shell>header>p:last-child,.supporter-ticket-page>header>p:last-child{max-width:42rem;color:var(--support-muted);margin:1rem 0 0;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.7}.supporter-actions,.supporter-detail-actions,.supporter-ticket-actions,.supporter-stage-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.8rem;display:flex}.supporter-action,.supporter-stage-actions button,.supporter-admin button{border:1px solid var(--support-line);min-height:3rem;color:var(--support-ink);background:var(--support-surface);font:inherit;cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1.05rem;font-size:.82rem;font-weight:820;text-decoration:none;display:inline-flex}.supporter-action.primary,.supporter-stage-actions button.primary,.supporter-admin button{border-color:var(--rw-brand);color:#fff;background:linear-gradient(135deg, var(--rw-brand), #0e4d78);box-shadow:0 12px 28px #1769aa33}.supporter-action:hover,.supporter-stage-actions button:hover:not(:disabled){transform:translateY(-1px)}.supporter-action:focus-visible,.supporter-page button:focus-visible,.supporter-page input:focus-visible,.supporter-page textarea:focus-visible,.supporter-page select:focus-visible,.supporter-page a:focus-visible{outline:3px solid color-mix(in srgb, var(--rw-focus) 64%, transparent);outline-offset:2px}.supporter-network-stats,.supporter-detail-meta{gap:clamp(1.2rem,4vw,3.5rem);margin-top:2.3rem;display:flex}.supporter-network-stats div,.supporter-detail-meta div{gap:.25rem;display:grid}.supporter-network-stats strong,.supporter-detail-meta strong{font-family:Georgia,Times New Roman,serif;font-size:1.7rem}.supporter-network-stats span,.supporter-detail-meta span{color:var(--support-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.69rem;font-weight:800}.supporter-hero-ticket-stack{perspective:900px;min-height:29rem;position:relative}.supporter-ticket-shadow,.supporter-preview-ticket{border-radius:1.2rem;min-height:17rem;position:absolute;inset:2rem 1rem auto}.supporter-ticket-shadow{background:#163b50;transform:rotate(7deg)translate(.6rem,.8rem);box-shadow:0 30px 70px #0b27363d}.supporter-preview-ticket{color:#173346;background:linear-gradient(90deg,#0000 75%,#102b3d14 75%),repeating-linear-gradient(0deg,#102b3d06 0 1px,#0000 1px 5px),#f3e8cf;grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr auto;padding:1.5rem;display:grid;overflow:hidden;transform:rotate(-4deg);box-shadow:inset 0 0 0 1px #543d1829}.supporter-preview-ticket:after,.digital-supporter-ticket:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff61 46%,#0000 58%);animation:6s ease-in-out 1.4s infinite supporter-ticket-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes supporter-ticket-shine{0%,55%,to{transform:translate(-100%)}72%{transform:translate(100%)}}.supporter-preview-ticket>span{letter-spacing:.19em;font-size:.8rem;font-weight:950}.supporter-preview-ticket small{letter-spacing:.1em;text-transform:uppercase;justify-self:end;font-size:.6rem;font-weight:800}.supporter-preview-ticket strong{letter-spacing:-.08em;align-self:center;font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,8vw,6.4rem)}.supporter-preview-ticket i{place-self:center end;font-size:1.1rem;font-style:normal;font-weight:850}.supporter-preview-ticket b{letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #102b3d3d;grid-column:1/-1;padding-top:.8rem;font-size:.68rem}.supporter-hero-ticket-stack>.supporter-consist{z-index:3;position:absolute;bottom:1.7rem;left:-1rem;right:-1rem;transform:rotate(1.5deg)}.supporter-section{border-top:1px solid var(--support-line);padding:clamp(4rem,9vw,8rem) 0}.supporter-section>header{max-width:48rem}.supporter-section h2,.supporter-carriage-detail>header h2,.supporter-booking-stage h2,.supporter-empty h2,.supporter-signin-callout h2{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1}.supporter-section>header>p:last-child,.supporter-carriage-detail>header p,.supporter-booking-stage>p,.supporter-empty p,.supporter-signin-callout p{color:var(--support-muted);line-height:1.65}.supporter-tier-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:2.5rem;display:grid}.supporter-tier-card{--tier-color:#4a7b92;border:1px solid color-mix(in srgb, var(--tier-color) 35%, var(--support-line));min-height:15.5rem;color:var(--support-ink);background:linear-gradient(155deg, color-mix(in srgb, var(--tier-color) 12%, var(--support-surface)), var(--support-surface) 58%);text-align:left;border-radius:1rem;flex-direction:column;padding:1.2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 35px #0b27360f}.supporter-tier-card:after{border:1.3rem solid color-mix(in srgb, var(--tier-color) 12%, transparent);content:"";border-radius:50%;width:6rem;height:6rem;position:absolute;top:-2rem;right:-2rem}.supporter-tier-card.is-os,.supporter-train-card.is-os{--tier-color:#407f78}.supporter-tier-card.is-sp,.supporter-train-card.is-sp{--tier-color:#3775a4}.supporter-tier-card.is-r,.supporter-train-card.is-r{--tier-color:#8b5da8}.supporter-tier-card.is-ic,.supporter-train-card.is-ic{--tier-color:#b36b35}.supporter-tier-card.is-ex,.supporter-train-card.is-ex{--tier-color:#b58a24}.supporter-tier-code{color:#fff;background:var(--tier-color);letter-spacing:.1em;border-radius:.4rem;width:fit-content;padding:.34rem .48rem;font-size:.68rem;font-weight:900}.supporter-tier-card h3{margin:auto 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.supporter-tier-card p{color:var(--support-muted);margin:.45rem 0 0;font-size:.76rem;font-weight:800}.supporter-tier-card small{min-height:2rem;color:var(--support-gold);margin-top:.5rem;font-size:.65rem;font-weight:800}.supporter-tier-card a{color:var(--support-ink);margin-top:1rem;font-size:.74rem;font-weight:850;text-decoration:none}.supporter-how-it-works ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin:2.6rem 0 0;padding:0;list-style:none;display:grid}.supporter-how-it-works li{border-top:2px solid var(--support-line);padding-top:1.2rem}.supporter-how-it-works li>span{color:var(--rw-brand);letter-spacing:.1em;font-size:.7rem;font-weight:900}.supporter-how-it-works h3{margin:1.2rem 0 .5rem;font-size:.98rem}.supporter-how-it-works li p{color:var(--support-muted);margin:0;font-size:.82rem;line-height:1.62}.supporter-permanent-concept{grid-template-columns:minmax(0,.75fr) minmax(24rem,1.25fr);align-items:center;gap:clamp(2rem,7vw,6rem);display:grid}.supporter-permanent-concept>*{min-width:0}.supporter-permanent-concept h2{max-width:13ch}.supporter-permanent-concept p:not(.supporter-eyebrow){color:var(--support-muted);line-height:1.7}.supporter-no-advantage{border-left:3px solid var(--support-gold);padding:.8rem 1rem;font-size:.78rem}.supporter-independent-note{border-top:1px solid var(--support-line);margin-top:1.4rem;padding-top:1rem;font-size:.78rem}.supporter-preview-consist{border:1px solid var(--support-line);background:linear-gradient(180deg, transparent 69%, color-mix(in srgb, var(--rw-track) 24%, transparent) 70% 72%, transparent 73%), var(--support-surface);border-radius:1.4rem;padding:2rem;box-shadow:0 24px 60px #0b27361a}.supporter-consist{--train-color:#397b83;filter:drop-shadow(0 12px 12px #081f2d2e);align-items:end;min-width:0;padding:1.2rem .5rem 1.5rem;display:flex;overflow-x:auto}.supporter-consist--os{--train-color:#407f78}.supporter-consist--sp{--train-color:#3775a4}.supporter-consist--r{--train-color:#8b5da8}.supporter-consist--ic{--train-color:#b36b35}.supporter-consist--ex{--train-color:#b58a24}.supporter-locomotive,.supporter-carriage-block{color:#fff;background:linear-gradient(165deg, color-mix(in srgb, var(--train-color) 80%, white), var(--train-color) 38%, color-mix(in srgb, var(--train-color) 64%, #071a25));border:0;flex:none;height:5.6rem;position:relative;box-shadow:inset 0 -.55rem #06192338,inset 0 0 0 1px #ffffff38}.supporter-locomotive{border-radius:2.7rem .55rem .28rem .45rem;align-content:center;width:8rem;padding:.65rem .8rem;display:grid}.supporter-locomotive:before,.supporter-carriage-block:before,.supporter-carriage-block:after{content:"";background:#14212a;border:.25rem solid #a8b1b4;border-radius:50%;width:1rem;height:1rem;position:absolute;bottom:-.43rem}.supporter-locomotive:before{right:1rem}.supporter-locomotive strong{letter-spacing:.06em;font-size:1rem}.supporter-locomotive-mark{background:#c3e5f1bf;border-radius:1rem .2rem .2rem;width:2.8rem;height:1.1rem;margin-bottom:.25rem;box-shadow:inset 0 0 0 2px #ffffff47}.supporter-carriage-block{width:clamp(9rem,18vw,13rem);font:inherit;text-align:left;cursor:pointer;border-radius:.38rem .38rem .24rem .24rem;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr auto;gap:.25rem .45rem;margin-left:.65rem;padding:.5rem .65rem .9rem;display:grid}.supporter-carriage-block:hover,.supporter-carriage-block.selected{outline:3px solid color-mix(in srgb, var(--support-gold) 72%, white);outline-offset:3px}.supporter-carriage-block.is-future{opacity:.28;outline:1px dashed color-mix(in srgb, var(--train-color) 65%, white);outline-offset:-4px;filter:saturate(.35);cursor:default}.supporter-carriage-block:before{bottom:-.43rem;left:1rem}.supporter-carriage-block:after{right:1rem}.supporter-carriage-number,.supporter-carriage-load{font-size:.6rem;font-weight:900}.supporter-carriage-load{justify-self:end}.supporter-carriage-windows{grid-column:1/-1;grid-template-columns:repeat(8,minmax(0,1fr));gap:.18rem;display:grid}.supporter-carriage-windows i{background:#cce6ed;border-radius:.18rem .18rem .08rem .08rem;min-width:.45rem;height:.86rem;box-shadow:inset 0 0 0 1px #ffffff7a}.supporter-carriage-windows i.is-occupied{background:#f3bb45}.supporter-carriage-windows i.is-held{opacity:.48;background:#e7e9df}.supporter-carriage-windows i.is-premium{box-shadow:inset 0 -2px #ffdc77}.supporter-coupler{background:#34444d;width:.8rem;height:.2rem;position:absolute;bottom:.65rem;right:-.75rem}.supporter-consist--compact{padding-block:.8rem 1.1rem}.supporter-consist--compact .supporter-locomotive,.supporter-consist--compact .supporter-carriage-block{height:4.3rem}.supporter-consist--compact .supporter-locomotive{width:6.3rem}.supporter-consist--compact .supporter-carriage-block{width:8rem}.supporter-fleet-hero,.supporter-list-page>header,.supporter-booking-shell>header,.supporter-ticket-page>header{margin-bottom:3rem}.supporter-fleet-hero h1,.supporter-list-page>header h1,.supporter-booking-shell>header h1,.supporter-ticket-page>header h1{max-width:18ch;font-size:clamp(3rem,7vw,6.2rem)}.supporter-filters{z-index:8;border:1px solid var(--support-line);background:color-mix(in srgb, var(--support-paper) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.6rem;padding:.7rem;display:flex;position:sticky;top:5.2rem}.supporter-type-filters{flex-wrap:wrap;gap:.35rem;display:flex}.supporter-filters input,.supporter-page input:not([type=radio]):not([type=checkbox]),.supporter-page textarea,.supporter-page select{border:1px solid var(--support-line);min-height:2.7rem;color:var(--support-ink);background:var(--support-surface);font:inherit;border-radius:.65rem;padding:.65rem .8rem}.supporter-fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.supporter-train-card{--tier-color:#397b83;border:1px solid color-mix(in srgb, var(--tier-color) 28%, var(--support-line));background:linear-gradient(145deg, color-mix(in srgb, var(--tier-color) 9%, var(--support-surface)), var(--support-surface));border-radius:1.2rem;padding:clamp(1.1rem,2vw,1.6rem);overflow:hidden;box-shadow:0 16px 44px #0b273612}.supporter-train-card>header,.supporter-train-detail>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.supporter-train-card>header>div{align-items:center;gap:.6rem;display:flex}.supporter-train-card>header span{color:#fff;background:var(--tier-color);border-radius:.4rem;padding:.35rem .45rem;font-size:.62rem;font-weight:900}.supporter-train-card h2{letter-spacing:-.05em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:500}.supporter-train-card>header p,.supporter-train-card h3,.supporter-network-label{color:var(--support-muted);margin:0;font-size:.7rem;font-weight:800}.supporter-train-card h3{margin-top:.45rem}.supporter-network-label{color:var(--tier-color);margin-top:.25rem}.supporter-train-facts{flex-wrap:wrap;gap:.35rem;margin-top:.75rem;display:flex}.supporter-train-facts span{border:1px solid color-mix(in srgb, var(--tier-color) 22%, var(--support-line));color:var(--support-muted);background:color-mix(in srgb, var(--tier-color) 6%, var(--support-surface));border-radius:999px;padding:.28rem .45rem;font-size:.62rem;font-weight:800}.supporter-train-facts .is-live{color:var(--tier-color)}.supporter-timetable{border:1px solid color-mix(in srgb, var(--tier-color) 18%, var(--support-line));background:color-mix(in srgb, var(--tier-color) 4%, var(--support-surface));border-radius:.8rem;gap:.45rem;margin-top:.8rem;padding:.75rem;display:grid}.supporter-timetable>strong{color:var(--support-ink);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.supporter-timetable>div{grid-template-columns:minmax(7rem,.38fr) minmax(0,1fr);align-items:baseline;gap:.6rem;display:grid}.supporter-timetable span{color:var(--support-ink);font-size:.66rem;font-weight:850}.supporter-timetable small{color:var(--support-muted);font-size:.62rem;line-height:1.45}.supporter-timetable small b{color:var(--support-ink);font-size:.64rem;display:block}.supporter-deployment-note{color:var(--support-muted);flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.55rem;font-size:.6rem;display:flex}.supporter-deployment-note strong{color:var(--support-ink);margin-right:.15rem}.supporter-deployment-note span{background:color-mix(in srgb, var(--tier-color) 8%, transparent);border-radius:.35rem;padding:.2rem .38rem}.supporter-occupancy-track{background:color-mix(in srgb, var(--tier-color) 12%, transparent);border-radius:1rem;height:.32rem;margin:1rem 0 .8rem;overflow:hidden}.supporter-occupancy-track i{border-radius:inherit;background:var(--tier-color);height:100%;display:block}.supporter-train-card footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.supporter-train-card footer span{color:var(--support-muted);font-size:.7rem}.supporter-train-card footer a,.supporter-back{color:var(--support-ink);font-size:.75rem;font-weight:850;text-decoration:none}.supporter-back{color:var(--support-muted);margin-bottom:1.5rem;display:inline-block}.supporter-train-detail,.supporter-carriage-detail,.supporter-booking-shell,.supporter-signin-callout,.supporter-empty{border:1px solid var(--support-line);background:var(--support-surface);border-radius:1.3rem;padding:clamp(1.3rem,4vw,3rem);box-shadow:0 22px 60px #0b273614}.supporter-train-detail h1{font-size:clamp(4rem,9vw,7rem)}.supporter-train-badge{border:1px solid var(--support-line);text-align:right;border-radius:.8rem;gap:.2rem;padding:.85rem 1rem;display:grid}.supporter-train-badge span{color:var(--rw-brand);font-weight:900}.supporter-train-badge small{color:var(--support-muted)}.supporter-formation-timeline{border:1px solid var(--support-line);background:color-mix(in srgb, var(--rw-brand) 4%, var(--support-surface));border-radius:.9rem;gap:.75rem;margin-top:1.5rem;padding:1rem;display:grid}.supporter-formation-timeline header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.supporter-formation-timeline header span,.supporter-formation-timeline div span{color:var(--support-muted);font-size:.68rem;font-weight:800}.supporter-formation-timeline div{flex-wrap:wrap;gap:.4rem;display:flex}.supporter-formation-timeline div span{border:1px solid var(--support-line);background:var(--support-surface);border-radius:999px;padding:.35rem .55rem}.supporter-carriage-detail{margin-top:1rem}.supporter-carriage-tabs{flex-wrap:wrap;gap:.5rem;margin:1.3rem 0;display:flex}.supporter-carriage-tabs button,.supporter-carriage-choice button{border:1px solid var(--support-line);color:var(--support-ink);background:var(--support-surface);font:inherit;cursor:pointer;border-radius:.75rem;padding:.75rem 1rem;font-weight:800}.supporter-carriage-tabs button.active,.supporter-carriage-choice button.selected{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft)}.supporter-carriage-choice button:disabled{opacity:.46;cursor:not-allowed}.supporter-standing-capacity-note{width:min(100%,46rem);color:var(--support-muted);text-align:center;margin:-.7rem auto 0;font-size:.72rem}.supporter-coach-plan{--coach-color:var(--rw-brand);width:min(100%,46rem);margin:1.75rem auto}.supporter-coach-plan__header,.supporter-coach-plan__footer{color:var(--support-muted);justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem .35rem;display:flex}.supporter-coach-plan__header strong{color:var(--support-ink);font-size:1.05rem}.supporter-coach-direction,.supporter-coach-layout-badge{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.68rem;font-weight:900;display:inline-flex}.supporter-coach-direction i{color:var(--coach-color);font-size:1.4rem;font-style:normal;line-height:1;display:inline-block;transform:rotate(90deg)}.supporter-coach-layout-badge{border:1px solid color-mix(in srgb, var(--coach-color) 36%, var(--support-line));color:var(--coach-color);background:color-mix(in srgb, var(--coach-color) 9%, var(--support-surface));border-radius:999px;padding:.45rem .65rem}.supporter-coach-frame{border:4px solid color-mix(in srgb, var(--coach-color) 72%, #102631);background:#263844;border-radius:5rem 5rem 2.3rem 2.3rem;position:relative;overflow:hidden;box-shadow:0 1.7rem 4rem #0b19232e,inset 0 0 0 2px #ffffff2e}.supporter-coach-frame:before,.supporter-coach-frame:after{z-index:4;content:"";background:var(--coach-color);width:.35rem;box-shadow:0 0 1rem color-mix(in srgb, var(--coach-color) 70%, transparent);position:absolute;top:9rem;bottom:9rem}.supporter-coach-frame:before{left:0}.supporter-coach-frame:after{right:0}.supporter-coach-vestibule{z-index:2;color:#ffffffb8;background:linear-gradient(90deg, transparent 0 20%, #ffffff14 20% 21%, transparent 21% 79%, #ffffff14 79% 80%, transparent 80%), linear-gradient(135deg, #1d2d37, color-mix(in srgb, var(--coach-color) 35%, #172630));letter-spacing:.12em;text-transform:uppercase;place-items:center;min-height:8.5rem;padding:1.1rem;font-size:.64rem;font-weight:800;display:grid;position:relative}.supporter-coach-vestibule.is-front{border-radius:4.2rem 4.2rem 0 0;padding-top:1.8rem}.supporter-coach-vestibule.is-rear{border-radius:0 0 1.6rem 1.6rem}.supporter-coach-door{border:2px solid #ffffff73;border-radius:.55rem;grid-template-columns:1fr 1fr;gap:.35rem;width:min(55%,13rem);height:4.2rem;padding:.35rem;display:grid}.supporter-coach-door i{background:linear-gradient(160deg,#8eb8c8,#263d49 65%);border:1px solid #ffffff38;border-radius:.25rem}.supporter-coach-cabin{background:linear-gradient(90deg,#7eb7cf33,#0000 7% 93%,#7eb7cf33),linear-gradient(90deg,#d8d2c3,#f1eee5 18% 82%,#d8d2c3);padding:1.6rem 2rem;position:relative}[data-theme=dark] .supporter-coach-cabin{background:linear-gradient(90deg,#5697b429,#0000 7% 93%,#5697b429),linear-gradient(90deg,#283842,#344751 18% 82%,#283842)}.supporter-window-rail{z-index:0;background:repeating-linear-gradient(#92bfd0 0 2.9rem,#294550 2.9rem 3.7rem);border:2px solid #38687ca6;border-radius:.35rem;width:1rem;position:absolute;top:1.7rem;bottom:1.7rem;box-shadow:inset 0 0 0 2px #fff3}.supporter-window-rail.is-left{left:.45rem}.supporter-window-rail.is-right{right:.45rem}.supporter-seat-grid{z-index:1;grid-template-columns:repeat(2,minmax(4.1rem,1fr)) 3.5rem repeat(2,minmax(4.1rem,1fr));grid-auto-rows:3.7rem;gap:.65rem .55rem;display:grid;position:relative}.supporter-aisle-track{z-index:0;border-inline:1px dashed color-mix(in srgb, var(--support-muted) 45%, transparent);background:linear-gradient(90deg, transparent 45%, color-mix(in srgb, var(--coach-color) 35%, transparent) 45% 55%, transparent 55%);grid-column:3;grid-row:1 / span var(--coach-rows)}.supporter-row-number{z-index:1;border:1px solid color-mix(in srgb, var(--support-muted) 38%, transparent);width:1.85rem;height:1.85rem;color:var(--support-muted);background:var(--support-surface);border-radius:999px;place-items:center;margin:auto;font-size:.68rem;font-weight:900;display:grid}.supporter-physical-seat{z-index:2;color:#173041;min-width:0;min-height:3.65rem;font:inherit;cursor:pointer;background:linear-gradient(#fdfefe,#e4e9eb);border:1px solid #aeb8bd;border-radius:.7rem .7rem .42rem .42rem;align-content:center;gap:.17rem;padding:.75rem .3rem .3rem;line-height:1;display:grid;position:relative;box-shadow:0 .22rem .3rem #1127342b,inset 0 -.2rem #788b9429}.supporter-physical-seat.is-left{transform:rotate(-.5deg)}.supporter-physical-seat.is-right{transform:rotate(.5deg)}.supporter-seat-back{background:#9aabb2;border-radius:99px;height:.28rem;position:absolute;top:.18rem;left:16%;right:16%}.supporter-physical-seat strong{font-size:.86rem}.supporter-physical-seat small{color:#526874;text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;font-weight:800;line-height:1.1;overflow:hidden}.supporter-physical-seat.is-window:after{content:"";background:#4db0d5;border-radius:99px;width:.2rem;position:absolute;top:.62rem;bottom:.62rem;box-shadow:0 0 .45rem #4db0d5b8}.supporter-physical-seat.is-window.is-left:after{left:-.32rem}.supporter-physical-seat.is-window.is-right:after{right:-.32rem}.supporter-physical-seat.is-occupied{color:#553800;background:linear-gradient(#ffdf82,#e9b941);border-color:#c99324}.supporter-physical-seat.is-held{color:#52636c;background:repeating-linear-gradient(135deg,#dce3e6 0 .45rem,#cbd5da .45rem .9rem);border-color:#8a9aa3}.supporter-physical-seat.is-premium{box-shadow:0 .22rem .3rem #1127342b, inset 0 .23rem var(--support-gold)}.supporter-physical-seat.selected{outline:3px solid var(--coach-color);outline-offset:2px;background:color-mix(in srgb, var(--coach-color) 18%, white)}.supporter-physical-seat:disabled{cursor:default}.supporter-physical-seat:not(:disabled):hover{z-index:3;transform:translateY(-2px)scale(1.03)}.supporter-physical-seat:focus-visible{z-index:4;outline:3px solid var(--coach-color);outline-offset:2px}.supporter-seat-star{color:#9a6b00;font-size:.65rem;position:absolute;top:.2rem;right:.3rem}.supporter-coach-plan__footer{flex-wrap:wrap;justify-content:center}.supporter-coach-messages{border:1px solid color-mix(in srgb, var(--coach-color) 22%, var(--support-line));background:color-mix(in srgb, var(--coach-color) 6%, var(--support-surface));border-radius:.8rem;gap:.55rem;padding:.9rem 1rem;display:grid}.supporter-coach-messages>p{color:var(--support-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:850}.supporter-coach-messages ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.supporter-coach-messages li{gap:.18rem;display:grid}.supporter-coach-messages strong{font-size:.68rem}.supporter-coach-messages q{color:var(--support-muted);font-family:Georgia,Times New Roman,serif;font-size:.78rem;font-style:italic;line-height:1.4}.supporter-standing-manifest{border-style:dashed;margin-top:.65rem}.supporter-coach-plan__footer span{align-items:center;gap:.35rem;font-size:.68rem;font-weight:800;display:inline-flex}.supporter-coach-plan__footer i{border-radius:.2rem;width:.75rem;height:.75rem;display:inline-block}.supporter-coach-plan__footer i.window{background:#4db0d5}.supporter-coach-plan__footer i.aisle{border:1px dashed var(--support-muted)}.supporter-coach-plan__footer i.direction{background:var(--coach-color);clip-path:polygon(0 35%,65% 35%,65% 0,100% 50%,65% 100%,65% 65%,0 65%)}.supporter-booking-steps{grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 2rem;padding:0;list-style:none;display:grid}.supporter-booking-steps li{color:var(--support-muted);justify-items:center;gap:.45rem;display:grid;position:relative}.supporter-booking-steps li:before{z-index:0;background:var(--support-line);content:"";height:2px;position:absolute;top:1rem;left:-50%;right:50%}.supporter-booking-steps li:first-child:before{display:none}.supporter-booking-steps span{z-index:1;border:2px solid var(--support-line);background:var(--support-surface);border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.72rem;font-weight:900;display:grid}.supporter-booking-steps li.active span,.supporter-booking-steps li.complete span{border-color:var(--rw-brand);color:#fff;background:var(--rw-brand)}.supporter-booking-steps li.complete:before{background:var(--rw-brand)}.supporter-booking-steps small{font-size:.63rem;font-weight:800}.supporter-booking-stage{border-top:1px solid var(--support-line);min-height:25rem;padding:clamp(1rem,3vw,2rem)}.supporter-tier-grid.compact{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}button.supporter-tier-card{cursor:pointer;min-height:12rem}button.supporter-tier-card strong{margin-top:auto;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}button.supporter-tier-card.selected{outline:3px solid var(--rw-brand)}.supporter-booking-train-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.supporter-booking-train-card{border:1px solid var(--support-line);background:linear-gradient(180deg, transparent 67%, color-mix(in srgb, var(--rw-track) 20%, transparent) 68% 70%, transparent 71%), var(--support-surface);border-radius:1rem;min-width:0;padding:1rem;overflow:hidden;box-shadow:0 .8rem 2rem #0b273612}.supporter-booking-train-card>.supporter-consist{margin-inline:-.35rem}.supporter-booking-train-card .supporter-carriage-block:disabled{opacity:1;cursor:default}.supporter-booking-train-card .supporter-carriage-block:disabled:hover{outline:0}.supporter-booking-train-card>div:last-child,.supporter-booking-train-card>div:last-child>span{align-items:center;gap:.7rem;display:flex}.supporter-booking-train-card>div:last-child{border-top:1px solid var(--support-line);justify-content:space-between;padding-top:.8rem}.supporter-booking-train-card>div:last-child>span{min-width:0}.supporter-booking-train-card>div:last-child>span:first-child{flex-direction:column;align-items:flex-start;gap:.1rem}.supporter-booking-train-card small{color:var(--support-muted);font-size:.68rem}.supporter-booking-train-card button{color:#fff;background:var(--rw-brand);min-height:2.5rem;font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:.65rem;padding:.55rem .8rem;font-size:.72rem;font-weight:820}.supporter-booking-train-card button:disabled{opacity:.55}.supporter-booking-train-summary,.supporter-booking-recap,.supporter-payment-options{border:1px solid var(--support-line);background:color-mix(in srgb, var(--rw-brand-soft) 34%, transparent);border-radius:.9rem;margin:1.5rem 0;padding:1rem}.supporter-booking-train-summary>div:last-child,.supporter-booking-recap{justify-content:space-between;align-items:center;gap:1rem;display:flex}.supporter-booking-train-summary>div:last-child span,.supporter-booking-recap span{color:var(--support-muted)}.supporter-carriage-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.supporter-carriage-choice button{text-align:left;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;min-width:0;min-height:10rem;padding:1rem;display:flex}.supporter-carriage-choice span,.supporter-carriage-choice small{color:var(--support-muted)}.supporter-booking-car-visual{--car-color:#397b83;background:linear-gradient(180deg, #ffffff1f, transparent 32%), linear-gradient(165deg, color-mix(in srgb, var(--car-color) 82%, white), var(--car-color) 45%, color-mix(in srgb, var(--car-color) 66%, #071a25));border-radius:1.9rem .5rem .35rem .45rem;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;width:100%;min-height:4.7rem;padding:.75rem .85rem 1.1rem;display:grid;position:relative;box-shadow:inset 0 -.55rem #06192333,inset 0 0 0 1px #ffffff40,0 .8rem 1.4rem #0b273629;color:#fff!important}.supporter-booking-car-visual:before,.supporter-booking-car-visual:after{content:"";background:#14212a;border:.23rem solid #a8b1b4;border-radius:50%;width:1rem;height:1rem;position:absolute;bottom:-.42rem}.supporter-booking-car-visual:before{left:1.25rem}.supporter-booking-car-visual:after{right:1.25rem}.supporter-booking-car-visual b{letter-spacing:.05em;font-size:.74rem}.supporter-booking-car-visual>span{grid-template-columns:repeat(8,minmax(0,1fr));gap:.22rem;display:grid}.supporter-booking-car-visual i{background:linear-gradient(150deg,#e2f2f5,#9dc8d5);border-radius:.3rem .3rem .1rem .1rem;height:1.35rem;box-shadow:inset 0 0 0 1px #ffffff8c}.supporter-booking-car-copy{justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;display:flex;color:var(--support-ink)!important}.supporter-booking-car-copy small{text-align:right}.supporter-seat-legend{gap:1rem;display:flex}.supporter-seat-legend span{color:var(--support-muted);font-size:.7rem}.supporter-seat-legend span:before{border:1px solid var(--support-line);background:var(--support-surface);content:"";border-radius:.2rem;width:.65rem;height:.65rem;margin-right:.35rem;display:inline-block}.supporter-seat-legend .occupied:before{background:#f3c963}.supporter-seat-legend .premium:before{border-top:3px solid var(--support-gold)}.supporter-standing-offer{border:1px solid color-mix(in srgb, var(--rw-brand) 38%, var(--support-line));background:linear-gradient(135deg, color-mix(in srgb, var(--rw-brand-soft) 55%, transparent), transparent), var(--support-surface);border-radius:1.2rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.2rem;max-width:48rem;min-height:14rem;margin:2rem auto;padding:clamp(1.2rem,4vw,2rem);display:grid;box-shadow:0 1.2rem 3rem #0b273617}.supporter-standing-offer .supporter-eyebrow{margin-bottom:.45rem}.supporter-standing-offer h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:500}.supporter-standing-offer p:not(.supporter-eyebrow){max-width:36rem;color:var(--support-muted);margin:.65rem 0;line-height:1.55}.supporter-standing-offer button{color:#fff;background:linear-gradient(135deg, var(--rw-brand), #0e4d78);min-height:3rem;font:inherit;cursor:pointer;border:0;border-radius:.75rem;padding:.75rem 1rem;font-size:.78rem;font-weight:820;box-shadow:0 12px 28px #1769aa33}.supporter-standing-offer button:disabled{opacity:.5;cursor:not-allowed}.supporter-standing-icon{color:#fff;background:var(--rw-brand);border-radius:50%;place-items:center;width:3.4rem;height:3.4rem;font-size:1.5rem;display:grid;box-shadow:0 .7rem 1.4rem #1769aa33}.supporter-passenger-form{gap:1rem;max-width:48rem;margin:0 auto;display:grid}.supporter-passenger-form>label,.supporter-admin label{color:var(--support-muted);gap:.4rem;font-size:.72rem;font-weight:800;display:grid}.supporter-passenger-form fieldset{border:1px solid var(--support-line);border-radius:.8rem;gap:.65rem;margin:0;padding:1rem;display:grid}.supporter-passenger-form legend{padding:0 .3rem;font-size:.72rem;font-weight:850}.supporter-radio,.supporter-toggle{border:1px solid var(--support-line);border-radius:.65rem;align-items:center;min-height:3.3rem;padding:.7rem;color:var(--support-ink)!important;gap:.7rem!important;display:flex!important}.supporter-radio input,.supporter-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--rw-brand)}.supporter-radio span,.supporter-toggle span{gap:.18rem;display:grid}.supporter-radio small,.supporter-toggle small{color:var(--support-muted);font-weight:500}.supporter-payment-options{grid-template-columns:auto minmax(10rem,1fr) auto;align-items:end;gap:1rem;display:grid}.supporter-currency-toggle{gap:.3rem;display:flex}.supporter-payment-options>strong{padding-bottom:.65rem;font-size:1.2rem}.supporter-stripe-note{color:var(--support-muted);margin:0;font-size:.7rem}.supporter-error,.supporter-admin-notice{border:1px solid color-mix(in srgb, var(--rw-danger) 45%, transparent);color:var(--rw-danger);background:var(--rw-danger-soft);border-radius:.7rem;padding:.8rem 1rem}.supporter-admin-notice{border-color:color-mix(in srgb, var(--rw-run) 45%, transparent);color:var(--rw-run);background:var(--rw-run-soft)}.supporter-loading{min-height:60dvh;color:var(--support-muted);justify-content:center;align-items:center;gap:.75rem;display:flex}.supporter-loading-wheel{border:2px solid var(--support-line);border-top-color:var(--rw-brand);border-radius:50%;width:1.4rem;height:1.4rem;animation:.8s linear infinite supporter-spin}@keyframes supporter-spin{to{transform:rotate(360deg)}}.supporter-ticket-page{position:relative}.digital-supporter-ticket{color:#183347;background:repeating-linear-gradient(0deg,#19334606 0 1px,#0000 1px 5px),#f3e7cb;border:1px solid #74531847;border-radius:1.3rem;grid-template-columns:minmax(0,1fr) 15rem;max-width:64rem;min-height:25rem;margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #0a233133,inset 0 0 0 .35rem #ffffff40}.digital-supporter-ticket.pending{filter:saturate(.5)}.ticket-main{padding:clamp(1.4rem,4vw,3rem)}.ticket-brand{border-bottom:1px solid #19334638;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.ticket-brand svg{max-width:10rem}.ticket-brand span{letter-spacing:.13em;text-transform:uppercase;font-size:.6rem;font-weight:900}.ticket-route-line{grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;margin-top:1.4rem;display:grid}.ticket-route-line i{background:#183347;height:2px}.ticket-route-line span{font-size:1.5rem}.ticket-main>p{text-align:center;letter-spacing:.08em;text-transform:uppercase;margin:.4rem 0 1.4rem;font-size:.68rem;font-weight:850}.ticket-passenger{gap:.25rem;display:grid}.ticket-passenger small{letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:850}.ticket-passenger strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4vw,3.7rem);font-weight:500;line-height:1}.ticket-message{background:#ffffff38;border-left:3px solid #2f866f;gap:.3rem;max-width:34rem;margin:1.35rem 0 0;padding:.8rem 1rem;display:grid}.ticket-message small{letter-spacing:.1em;text-transform:uppercase;font-size:.56rem;font-weight:850}.ticket-message p{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-style:italic;line-height:1.45}.ticket-main dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin:2rem 0 0;display:grid}.ticket-main dl div{gap:.2rem;display:grid}.ticket-main dt,.ticket-stub small{letter-spacing:.1em;text-transform:uppercase;font-size:.56rem;font-weight:850}.ticket-main dd{margin:0;font-size:.8rem;font-weight:800}.ticket-stub{text-align:center;background:#1933460e;border-left:2px dashed #1933464d;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem 1.3rem;display:flex}.ticket-stub strong{overflow-wrap:anywhere;letter-spacing:.08em;max-width:12rem;font-size:.92rem}.ticket-stub span{font-size:.65rem;font-weight:800}.ticket-barcode{background:repeating-linear-gradient(90deg,#183347 0 2px,#0000 2px 4px,#183347 4px 5px,#0000 5px 9px);width:80%;height:5.6rem}.supporter-celebration{pointer-events:none;height:22rem;position:absolute;inset:4rem 0 auto;overflow:hidden}.supporter-celebration i{--angle:calc(var(--i) * 20deg);background:hsl(calc(var(--i) * 32) 65% 55%);opacity:0;width:.45rem;height:1.1rem;animation:supporter-confetti 2.8s ease-out calc(var(--i) * 35ms) 1;border-radius:.2rem;position:absolute;top:45%;left:50%}@keyframes supporter-confetti{0%{opacity:1;transform:rotate(var(--angle)) translateY(0)}to{opacity:0;transform:rotate(var(--angle)) translateY(-15rem) rotate(320deg)}}.supporter-ticket-list,.supporter-admin-bookings{gap:.65rem;display:grid}.supporter-ticket-list>a{border:1px solid var(--support-line);min-height:5.5rem;color:var(--support-ink);background:var(--support-surface);border-radius:.85rem;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.85rem 1rem;text-decoration:none;display:grid}.supporter-ticket-list>a>span{color:#fff;background:var(--rw-brand);border-radius:.65rem;place-items:center;width:3rem;height:3rem;font-weight:900;display:grid}.supporter-ticket-list>a>div{gap:.25rem;display:grid}.supporter-ticket-list small{color:var(--support-muted)}.supporter-admin details{border:1px solid var(--support-line);background:var(--support-surface);border-radius:.9rem;margin-top:.75rem}.supporter-admin summary{cursor:pointer;padding:1rem;font-weight:850}.supporter-admin-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.7rem;padding:0 1rem 1rem;display:grid}.supporter-admin form{border:1px solid var(--support-line);border-radius:.7rem;gap:.65rem;padding:1rem;display:grid}.supporter-admin h3{margin:0}.supporter-admin-metadata{color:var(--support-muted);margin:0;font-size:.68rem;line-height:1.5}.supporter-admin-check{align-items:center;display:flex!important}.supporter-admin-bookings{padding:0 1rem 1rem}.supporter-admin-bookings form{grid-template-columns:repeat(4,minmax(0,1fr))}.supporter-admin-bookings form header{grid-column:1/-1;gap:.2rem;display:grid}.moderation-admin-panel{border-bottom:1px solid var(--support-line);gap:.75rem;margin-bottom:1.5rem;padding:1rem 0 1.5rem;display:grid}.moderation-admin-panel>header{max-width:48rem}.moderation-admin-search{grid-template-columns:minmax(12rem,1fr) minmax(10rem,.35fr) auto;align-items:end;margin:0 1rem 1rem;display:grid}.moderation-user-list{gap:.8rem;padding:0 1rem 1rem;display:grid}.moderation-user-card{border:1px solid var(--support-line);background:color-mix(in srgb, var(--support-surface) 88%, var(--support-paper));border-radius:.8rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:1rem;display:grid}.moderation-user-card>header,.moderation-user-card>.supporter-admin-metadata,.moderation-danger-zone{grid-column:1/-1}.moderation-user-card>header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.moderation-user-card>header>div:first-child{gap:.2rem;min-width:0;display:grid}.moderation-user-card>header span{color:var(--support-muted);overflow-wrap:anywhere;font-size:.72rem}.moderation-user-badges{flex-wrap:wrap;justify-content:end;gap:.35rem;display:flex}.moderation-user-badges b{color:var(--support-muted);background:var(--support-paper);border-radius:999px;padding:.25rem .45rem;font-size:.62rem}.moderation-user-badges .is-active{color:var(--rw-run);background:var(--rw-run-soft)}.moderation-user-badges .is-suspended,.moderation-user-badges .is-banned{color:var(--rw-danger);background:var(--rw-danger-soft)}.moderation-user-card textarea,.supporter-admin-bookings textarea{resize:vertical;min-height:5rem}.moderation-danger-zone{border:1px solid color-mix(in srgb, var(--rw-danger) 35%, var(--support-line));background:var(--rw-danger-soft);border-radius:.7rem;grid-template-columns:auto minmax(12rem,1fr) auto;align-items:end;gap:.65rem;padding:.75rem;display:grid}.moderation-danger-zone .danger{color:var(--rw-danger);border-color:color-mix(in srgb, var(--rw-danger) 55%, var(--support-line))}.supporter-footer{border-top:1px solid var(--support-line);min-height:6rem;color:var(--support-muted);justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);display:flex}.supporter-footer svg{max-width:8rem}.supporter-footer>.site-footer-links{flex:1}.supporter-footer a{color:var(--support-ink);font-size:.76rem;font-weight:850}.supporter-footer-actions{align-items:center;gap:.8rem;display:flex}.supporter-mini{border:1px solid color-mix(in srgb, var(--rw-brand) 24%, var(--rw-border));background:color-mix(in srgb, var(--rw-brand-soft) 34%, var(--rw-surface));border-radius:.75rem;margin-top:.75rem;overflow:hidden}.supporter-mini-summary{width:100%;color:var(--rw-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.75rem;display:grid}.supporter-mini-summary>span:nth-child(2){gap:.15rem;display:grid}.supporter-mini-summary strong{font-size:.72rem}.supporter-mini-summary small{color:var(--rw-text-muted);font-size:.58rem}.supporter-mini-icon{color:var(--support-gold,#d99b2b)}.supporter-mini-passengers{padding:0 .7rem .7rem}.supporter-mini .supporter-consist{filter:none;padding:.4rem 0 .7rem}.supporter-mini .supporter-locomotive,.supporter-mini .supporter-carriage-block{height:2.8rem}.supporter-mini .supporter-locomotive{width:4.4rem}.supporter-mini .supporter-carriage-block{width:5.4rem;padding:.3rem}.supporter-mini .supporter-carriage-windows{grid-template-columns:repeat(8,.3rem)}.supporter-mini .supporter-carriage-windows i{min-width:.25rem;height:.45rem}.supporter-mini .supporter-locomotive-mark,.supporter-mini .supporter-carriage-number,.supporter-mini .supporter-carriage-load{display:none}.supporter-mini-consist{color:var(--support-muted);margin:.2rem 0 .65rem;font-size:.65rem}.supporter-mini ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.supporter-mini li{background:var(--rw-surface);border-radius:.45rem;gap:.35rem;padding:.4rem .5rem;display:grid}.supporter-mini li>div{justify-content:space-between;gap:.5rem;display:flex}.supporter-mini li span{text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-weight:750;overflow:hidden}.supporter-mini li small,.supporter-mini-empty{color:var(--rw-text-muted);font-size:.58rem}.supporter-mini-message{border-top:1px solid var(--rw-border);color:var(--rw-text-muted);margin:0;padding-top:.3rem;font-family:Georgia,Times New Roman,serif;font-size:.62rem;font-style:italic;line-height:1.35}@media (prefers-reduced-motion:reduce){.supporter-preview-ticket:after,.digital-supporter-ticket:after,.supporter-celebration i,.supporter-loading-wheel{animation:none}}@media (width<=900px){.supporter-header{grid-template-columns:1fr auto;position:relative}.supporter-header nav{grid-area:2/1/auto/-1;justify-self:stretch;overflow-x:auto}.supporter-header nav a{text-align:center;flex:1 0 auto}.supporter-hero{grid-template-columns:1fr;min-height:auto}.supporter-hero-ticket-stack{min-height:26rem}.supporter-tier-grid,.supporter-how-it-works ol{grid-template-columns:repeat(2,minmax(0,1fr))}.supporter-permanent-concept,.supporter-fleet-grid,.supporter-booking-train-grid{grid-template-columns:1fr}.supporter-admin-bookings form{grid-template-columns:repeat(2,minmax(0,1fr))}.moderation-user-card{grid-template-columns:1fr}.moderation-user-card>header,.moderation-user-card>.supporter-admin-metadata,.moderation-danger-zone{grid-column:1}}@media (width<=620px){.supporter-main{width:min(100% - 1.2rem,76rem);padding-block:.9rem 2.6rem}.supporter-section-navigation{width:100%;margin-bottom:1.25rem}.supporter-section-navigation a{text-align:center;flex:1 0 auto}.supporter-header{gap:.6rem;padding-inline:.7rem}.supporter-brand svg{max-width:8.5rem}.supporter-preferences button:nth-child(-n+3){display:none}.supporter-header nav a{padding-inline:.55rem;font-size:.68rem}.supporter-hero h1{font-size:clamp(3.2rem,16vw,5rem)}.supporter-hero{gap:1rem}.supporter-hero-ticket-stack{min-height:22rem}.supporter-ticket-shadow,.supporter-preview-ticket{min-height:14rem;inset-inline:1rem}.supporter-preview-ticket strong{font-size:4rem}.supporter-hero-ticket-stack>.supporter-consist{bottom:.5rem;left:0;right:0}.supporter-network-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.supporter-detail-meta{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.supporter-network-stats strong,.supporter-detail-meta strong{font-size:1.35rem}.supporter-tier-grid{grid-template-columns:1fr}.supporter-tier-card{min-height:11rem}.supporter-how-it-works ol{grid-template-columns:1fr}.supporter-preview-consist{padding:.8rem}.supporter-filters{display:grid;position:relative;top:auto}.supporter-filters label,.supporter-filters input{width:100%}.supporter-train-card{padding:1rem}.supporter-train-detail,.supporter-carriage-detail,.supporter-booking-shell{border-radius:1rem;padding:1rem}.supporter-train-detail>header{display:grid}.supporter-train-badge{text-align:left;justify-self:start}.supporter-consist{margin-inline:-.5rem}.supporter-coach-plan__header{grid-template-columns:1fr auto;display:grid}.supporter-coach-plan__header strong{grid-area:1/1/auto/-1}.supporter-coach-direction{grid-area:2/1}.supporter-coach-layout-badge{grid-area:2/2}.supporter-coach-frame{border-width:3px;border-radius:3.4rem 3.4rem 1.5rem 1.5rem}.supporter-coach-vestibule{min-height:7rem}.supporter-coach-cabin{padding:1.15rem 1.25rem}.supporter-window-rail{width:.62rem}.supporter-window-rail.is-left{left:.25rem}.supporter-window-rail.is-right{right:.25rem}.supporter-seat-grid{grid-template-columns:repeat(2,minmax(2.5rem,1fr)) 2.25rem repeat(2,minmax(2.5rem,1fr));grid-auto-rows:3.45rem;gap:.45rem .3rem}.supporter-physical-seat{min-height:3.35rem;padding-inline:.18rem}.supporter-physical-seat strong{font-size:.75rem}.supporter-physical-seat small{font-size:.46rem}.supporter-row-number{width:1.55rem;height:1.55rem;font-size:.58rem}.supporter-booking-steps small{display:none}.supporter-booking-stage{padding-inline:0}.supporter-carriage-choice{grid-template-columns:1fr}.supporter-carriage-choice button{min-height:8.6rem}.supporter-booking-train-card>div:last-child{flex-direction:column;align-items:stretch}.supporter-booking-train-card>div:last-child>span{justify-content:space-between}.supporter-booking-train-summary>div:last-child,.supporter-booking-recap{display:grid}.supporter-standing-offer{grid-template-columns:1fr;justify-items:start}.supporter-standing-offer button{width:100%}.supporter-payment-options{grid-template-columns:1fr;align-items:stretch}.supporter-payment-options>strong{padding-bottom:0}.digital-supporter-ticket{grid-template-columns:1fr;min-height:auto}.ticket-main{padding:1.3rem}.ticket-brand{display:grid}.ticket-main dl{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-stub{border-top:2px dashed #1933464d;border-left:0;min-height:12rem}.ticket-barcode{height:3.5rem}.supporter-ticket-actions{flex-direction:column;align-items:stretch}.supporter-ticket-actions>*{width:100%}.supporter-admin-bookings form,.moderation-admin-search,.moderation-danger-zone{grid-template-columns:1fr}.supporter-footer{flex-direction:column;align-items:start;min-height:9rem}}.desktop-command-panel,.desktop-embedded-build-inspector,.mobile-view-controls{display:none}.object-navigation-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;display:grid}.object-navigation-controls button{border:1px solid var(--rw-border);border-radius:calc(var(--rw-radius-control) - 2px);min-width:0;min-height:42px;color:var(--rw-text);background:var(--rw-surface-elevated);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .65rem;font-weight:760;display:flex}.object-navigation-controls button:hover:not(:disabled){border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft)}.object-navigation-controls button.primary{border-color:var(--rw-brand);color:#fff;background:var(--rw-brand)}.object-navigation-controls button:disabled{cursor:not-allowed;opacity:.36}@media (width>=900px){.game-shell,.mode-running,.mode-clearing,.mode-repair,.game-shell.has-build-inspector,.game-shell.has-focus-inspector,.mode-running.has-focus-inspector,.mode-clearing.has-focus-inspector,.mode-repair.has-focus-inspector{grid-template:"playfield desktop-panel"minmax(0,1fr)"playfield desktop-panel"/minmax(0,1fr) clamp(21rem,23vw,27rem)}.game-shell.has-build-inspector{grid-template-areas:"playfield desktop-panel""playfield desktop-panel"}.game-shell.has-focus-inspector{grid-template-areas:"playfield desktop-panel""playfield focus"}.game-shell.has-train-focus{grid-template-rows:auto minmax(0,1fr)}.game-shell.has-train-focus .desktop-command-panel{overflow:visible}.game-shell.has-train-focus .focus-panel{max-height:none}.topbar,.information-strip,.build-toolbar,.standalone-mobile-actions{display:none}.desktop-command-panel{z-index:6;border-left:1px solid var(--rw-border);min-width:0;min-height:0;color:var(--rw-text);background:var(--rw-surface-elevated);scrollbar-width:thin;flex-direction:column;grid-area:desktop-panel;gap:.75rem;padding:.85rem;display:flex;overflow:auto}.desktop-command-panel>*{flex:none}.desktop-panel-brand{border-bottom:1px solid var(--rw-border);justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;padding:.2rem .15rem .7rem;display:flex}.desktop-panel-brand .railweave-wordmark.compact{width:min(12rem,100% - 6rem);height:auto;display:block}.desktop-panel-brand.has-guidance-help .railweave-wordmark.compact{width:min(10rem,100% - 8.9rem)}.desktop-panel-brand__actions{gap:.3rem;display:flex}.desktop-panel-brand__actions :is(button,a),.desktop-panel-quick-actions button{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);width:2.55rem;height:2.55rem;color:var(--rw-text-muted);background:var(--rw-surface-soft);cursor:pointer;place-items:center;padding:0;font-weight:750;text-decoration:none;display:grid}.desktop-panel-brand__actions :is(button,a):hover,.desktop-panel-quick-actions button:hover:not(:disabled){border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft)}.desktop-panel-status{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);min-height:4.4rem;color:var(--rw-text-muted);background:var(--rw-surface-soft);grid-template-columns:auto minmax(0,1fr) auto;align-content:center;gap:.3rem .65rem;padding:.7rem .75rem;display:grid}.desktop-panel-status .guide-line{grid-row:1/3;align-self:center}.desktop-panel-status p,.desktop-panel-status strong,.desktop-panel-status small{overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.35}.desktop-panel-status p{font-size:.82rem}.desktop-panel-status strong{color:currentColor;font-size:.76rem}.desktop-run-goal{flex-wrap:wrap;align-items:baseline;gap:.15rem .55rem;min-width:0;display:flex}.desktop-run-goal small{color:var(--rw-text-muted);font-variant-numeric:tabular-nums;font-size:.68rem}.desktop-run-goal .desktop-run-countdown{color:var(--rw-run);font-weight:800}.desktop-panel-status.information-ready{border-color:color-mix(in srgb, var(--rw-run) 35%, var(--rw-border));color:var(--rw-text);background:var(--rw-run-soft)}.desktop-panel-status.information-hold-active{border-color:color-mix(in srgb, var(--rw-run) 36%, var(--rw-border));color:var(--rw-text);background:color-mix(in srgb, var(--rw-run-soft) 82%, var(--rw-surface-elevated))}.desktop-panel-status.information-level-up{border-color:color-mix(in srgb, var(--rw-run) 70%, var(--rw-border));color:#fff;background:var(--rw-run);box-shadow:0 8px 22px color-mix(in srgb, var(--rw-run) 24%, transparent)}.desktop-panel-status.information-error{border-color:color-mix(in srgb, var(--rw-danger) 45%, var(--rw-border));color:var(--rw-danger);background:var(--rw-danger-soft)}.desktop-panel-mode-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.desktop-run-efficiency{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);background:var(--rw-surface);gap:.42rem;min-height:0;padding:.58rem;display:grid}.desktop-run-efficiency>strong{color:var(--rw-text-muted);letter-spacing:.055em;text-transform:uppercase;font-size:.64rem;font-weight:790}.desktop-run-efficiency-grid{scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));gap:.32rem;max-height:min(38vh,22rem);padding-right:.1rem;display:grid;overflow:auto}.desktop-run-efficiency-grid button{border:1px solid var(--rw-border);border-radius:calc(var(--rw-radius-control) - 3px);min-width:0;min-height:2.25rem;color:var(--rw-text);background:var(--rw-surface-soft);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:.45rem;padding:.38rem .5rem;font-size:.72rem;font-weight:760;display:flex}.desktop-run-efficiency-grid button:hover,.desktop-run-efficiency-grid button:focus-visible{border-color:var(--rw-brand);background:var(--rw-brand-soft);outline:none}.desktop-run-efficiency-grid b{color:var(--rw-text-muted);font-size:.7rem}.desktop-run-efficiency-grid b[data-band=high]{color:var(--rw-run)}.desktop-run-efficiency-grid b[data-band=mid]{color:var(--rw-warning-text)}.desktop-run-efficiency-grid b[data-band=low]{color:var(--rw-danger)}.desktop-panel-action{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-height:2.9rem;color:var(--rw-text);background:var(--rw-surface-soft);cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .75rem;font-weight:780;display:inline-flex}.desktop-panel-action.primary{color:#fff;background:var(--rw-run-hover);box-shadow:0 5px 14px color-mix(in srgb, var(--rw-run) 22%, transparent);border-color:#0000}.mode-running .desktop-panel-action.primary,.mode-repair .desktop-panel-action.primary{background:var(--rw-brand);box-shadow:0 5px 14px color-mix(in srgb, var(--rw-brand) 22%, transparent)}.desktop-panel-action.wide{grid-column:1/-1}.desktop-panel-action:disabled{cursor:not-allowed;opacity:.4}.desktop-panel-quick-actions{grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;display:grid}.desktop-panel-quick-actions button{width:100%;min-height:3rem;padding-bottom:.8rem;position:relative}.desktop-panel-quick-actions button.active{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft)}.desktop-panel-quick-actions button:disabled{cursor:not-allowed;opacity:.32}.desktop-build-catalog{grid-template-columns:minmax(0,1fr);align-content:start;gap:.55rem;min-height:0;padding-top:.1rem;display:grid}.desktop-tool-section{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);background:var(--rw-surface);grid-template-columns:6.2rem minmax(0,1fr);align-items:stretch;gap:.4rem;padding:.45rem;display:grid}.desktop-tool-section.active{border-color:color-mix(in srgb, var(--rw-brand) 70%, var(--rw-border));background:var(--rw-brand-soft)}.desktop-tool-heading,.desktop-simple-tool{border-radius:calc(var(--rw-radius-control) - 2px);min-width:0;min-height:3.2rem;color:var(--rw-text-muted);background:0 0;border:0;justify-content:flex-start;align-items:center;gap:.45rem;padding:.45rem .55rem;display:flex;position:relative}.desktop-simple-tool{cursor:pointer}.desktop-simple-tool:hover{color:var(--rw-brand);background:var(--rw-brand-soft)}.desktop-simple-tool.active{color:#fff;background:var(--rw-brand)}.desktop-tool-heading .tool-icon,.desktop-simple-tool .tool-icon{flex:none}.desktop-inline-options{gap:.32rem;min-width:0;display:grid}.desktop-inline-options button{border:1px solid var(--rw-border);border-radius:calc(var(--rw-radius-control) - 2px);min-width:0;min-height:3.2rem;color:var(--rw-text-muted);background:var(--rw-surface-elevated);cursor:pointer;place-items:center;padding:.35rem;line-height:1.1;display:grid}.desktop-inline-options button:hover,.desktop-inline-options button.active{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft)}.desktop-inline-options button.active{box-shadow:inset 0 0 0 1px var(--rw-brand)}.desktop-inline-options small{color:inherit;font-size:.64rem}.desktop-track-options{grid-template-columns:repeat(5,minmax(0,1fr))}.desktop-track-options .track-orientation-icon{width:1.45rem}.desktop-ramp-options{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-simple-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.desktop-simple-tool{border:1px solid var(--rw-border);background:var(--rw-surface);justify-content:center;min-height:3.5rem;font-weight:760}.desktop-object-navigation{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);background:var(--rw-surface);gap:.45rem;padding:.45rem}.desktop-panel-junction-actions{border-top:1px solid var(--rw-border);grid-template-columns:1fr;gap:.45rem;margin-top:auto;padding-top:.65rem;display:grid}.desktop-panel-junction-actions .hold-button,.desktop-panel-junction-actions .restart-button{min-height:3rem}.desktop-shortcut-badge{border:1px solid color-mix(in srgb, currentColor 22%, var(--rw-border));min-width:1rem;color:var(--rw-text);background:var(--rw-surface-elevated);opacity:1;pointer-events:none;text-align:center;white-space:nowrap;border-radius:.25rem;padding:.04rem .2rem;font-family:inherit;font-size:.54rem;font-weight:800;line-height:1.15;position:absolute;bottom:.2rem;left:.28rem}button.active>.desktop-shortcut-badge,.desktop-tool-section.active .desktop-tool-heading>.desktop-shortcut-badge{color:currentColor;background:color-mix(in srgb, var(--rw-brand-soft) 82%, transparent)}.desktop-embedded-build-inspector{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);background:var(--rw-surface-elevated);min-height:0;display:block;overflow:visible}.desktop-embedded-build-inspector .routing-panel,.desktop-embedded-build-inspector .signal-panel{border-radius:var(--rw-radius-card);max-height:none;box-shadow:none;border:0}.mobile-build-inspector{display:none}.build-inspector,.focus-panel{z-index:7;border-top:1px solid var(--rw-border);border-right:0;border-left:1px solid var(--rw-border);width:auto;min-height:0;max-height:min(58dvh,42rem);color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:none;padding:0;overflow:auto}.build-inspector{grid-area:inspector}.focus-panel{grid-area:focus;padding:.9rem}.build-inspector .routing-panel,.build-inspector .signal-panel{max-height:none;box-shadow:none;border:0;border-radius:0}.playfield{grid-area:playfield}}.mobile-app-actions{display:none}.clear-junction-sheet{z-index:70;padding:1rem 1rem max(1rem, env(safe-area-inset-bottom));border-top:3px solid var(--rw-danger);color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:var(--rw-shadow-panel);gap:.45rem;display:grid;position:fixed;bottom:0;left:0;right:0}.clear-junction-sheet h2,.clear-junction-sheet p{margin:0}.clear-junction-sheet>p:not(.eyebrow){max-width:42rem;color:var(--rw-text-muted);font-size:.78rem;line-height:1.4}.clear-junction-sheet__actions{grid-template-columns:minmax(6rem,.45fr) minmax(12rem,1fr);gap:.5rem;display:grid}.clear-cancel,.clear-confirm-hold{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-height:3rem;color:var(--rw-text-muted);background:var(--rw-surface);font-weight:760;position:relative;overflow:hidden}.clear-confirm-hold{border-color:var(--rw-danger);color:var(--rw-danger)}.clear-confirm-hold:before{background:var(--rw-danger-soft);content:"";width:0;position:absolute;inset:0}.clear-confirm-hold.holding:before{animation:hold-fill var(--hold-duration) linear forwards}.clear-confirm-hold span{position:relative}@media (width<=560px){:root{--rw-mobile-app-bar-h:56px;--rw-mobile-status-h:34px;--rw-mobile-primary-tools-h:72px;--rw-mobile-context-h:48px}.mode-running{--rw-mobile-status-h:48px}.game-shell,.mode-running,.mode-clearing,.mode-repair,.game-shell.has-focus-inspector,.mode-running.has-focus-inspector,.mode-clearing.has-focus-inspector,.mode-repair.has-focus-inspector{grid-template-areas:"header""information""playfield""focus""controls";grid-template-rows:calc(var(--rw-mobile-app-bar-h) + env(safe-area-inset-top)) var(--rw-mobile-status-h) minmax(0, 1fr) auto auto;height:100dvh;min-height:100svh}.topbar,.mode-running .topbar,.mode-clearing .topbar,.mode-repair .topbar{z-index:50;min-height:calc(var(--rw-mobile-app-bar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 4px 0;border-bottom:1px solid var(--rw-border);background:var(--rw-surface-elevated);grid-template-columns:44px minmax(0,1fr);align-items:center;display:grid}.topbar .brand{place-items:center;width:44px;min-width:44px;height:44px;display:grid}.topbar .brand .railweave-wordmark.compact{width:2rem}.topbar .brand .railweave-wordmark.compact .wordmark-light,.topbar .brand .railweave-wordmark.compact .wordmark-dark{display:none}.mobile-app-actions{grid-template-columns:minmax(0,1fr) 44px 44px 44px;align-items:center;min-width:0;display:grid}.desktop-primary-actions,.desktop-runtime-status{display:none}.mobile-mode-control{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);background:var(--rw-surface-soft);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;min-width:0;height:44px;padding:3px;display:grid;overflow:hidden}.mobile-mode-control button,.mobile-app-icon{border-radius:calc(var(--rw-radius-control) - 2px);min-width:44px;min-height:44px;color:var(--rw-text-muted);background:0 0;border:0;padding:0 .2rem;font-size:.68rem;font-weight:760;text-decoration:none}.mobile-mode-action{justify-content:center;align-items:center;gap:.34rem;display:flex}.mobile-mode-action__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:none;width:1.05rem;height:1.05rem}.mobile-mode-action--run{color:#fff!important;background:var(--rw-run)!important}.mobile-mode-action--build{color:#fff!important;background:var(--rw-brand)!important}.mobile-mode-control button[aria-pressed=true],.mobile-mode-control button.active{color:#fff;background:var(--rw-brand)}.mode-building .mobile-mode-control button[aria-pressed=true]{background:var(--rw-run)}.mobile-app-icon{font-size:1.15rem}.mobile-app-icon:disabled,.mobile-mode-control button:disabled{color:var(--rw-text-disabled);opacity:.36}.information-strip{z-index:45;width:100%;height:var(--rw-mobile-status-h);min-height:var(--rw-mobile-status-h);grid-template-columns:auto minmax(0,1fr);align-items:center;padding:0 .65rem;font-size:.68rem;display:grid;overflow:hidden}.information-strip.information-runtime{padding-block:.3rem}.information-strip.information-runtime p{text-overflow:clip;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.35em;line-height:1.16;display:-webkit-box;overflow:hidden}.information-strip .guide-line{flex-basis:1.65rem;width:1.65rem}.build-toolbar{width:100%;min-height:var(--rw-mobile-primary-tools-h);padding:0 2px env(safe-area-inset-bottom);border-top:1px solid var(--rw-border);grid-template-columns:minmax(0,1fr);grid-template-areas:"tools";grid-template-rows:var(--rw-mobile-primary-tools-h);gap:0;display:grid;overflow:hidden}.build-toolbar.has-tool-context{min-height:calc(var(--rw-mobile-context-h) + var(--rw-mobile-primary-tools-h));grid-template-areas:"context""tools";grid-template-rows:var(--rw-mobile-context-h) var(--rw-mobile-primary-tools-h)}.build-toolbar.editor-open,.clear-confirmation-open .build-toolbar,.clear-confirmation-open .standalone-mobile-actions{display:none}.tool-group{width:100%;height:var(--rw-mobile-primary-tools-h);grid-area:tools;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;max-width:none;padding:2px 0;display:grid;overflow:visible}.tool-button{border-radius:var(--rw-radius-sm);gap:.1rem;min-width:0;min-height:52px;padding:.2rem 0;font-size:clamp(.58rem,2.7vw,.7rem)}.tool-context-controls{width:100%;height:var(--rw-mobile-context-h);min-height:var(--rw-mobile-context-h);border-top:1px solid var(--rw-border);background:var(--rw-surface-elevated);scrollbar-width:none;grid-area:context;align-items:center;gap:4px;padding:3px 5px;display:flex;overflow:auto hidden}.tool-context-controls::-webkit-scrollbar{display:none}.tool-context-heading,.build-status,.junction-actions,.build-mobile-actions,.mobile-tool-back{display:none}.track-orientation-picker,.radius-group,.ramp-preset-picker{border-radius:var(--rw-radius-sm);width:100%;min-width:max-content;height:42px;min-height:42px;box-shadow:none;padding:2px;position:static;transform:none}.object-navigation-controls{border-radius:var(--rw-radius-control);width:100%;min-width:max-content;height:42px;min-height:42px;box-shadow:none;position:static;transform:none}.track-orientation-picker{grid-template-columns:repeat(5,minmax(52px,1fr))}.track-orientation-button,.radius-group button,.ramp-preset-button{min-height:36px}.standalone-mobile-actions.next-traffic-mobile-action{min-height:calc(64px + env(safe-area-inset-bottom));padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.next-traffic-mobile-action .mobile-action-button{width:100%;max-width:none;min-height:48px}.build-inspector{z-index:60;border-left:0;border-top:1px solid var(--rw-border);width:100%;max-height:min(52svh,480px);overflow:auto}.standalone-mobile-actions{min-height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.clear-junction-sheet{max-height:min(52svh,480px);padding:.9rem .8rem max(.8rem, env(safe-area-inset-bottom));border-radius:var(--rw-radius-sheet) var(--rw-radius-sheet) 0 0}.clear-junction-sheet__actions{grid-template-columns:minmax(5.5rem,.42fr) minmax(0,1fr)}}@media (width<=340px){.mobile-mode-control button{padding:0 2px;font-size:.6rem}.tool-button{font-size:.53rem}}@keyframes clearing-spin{to{transform:rotate(360deg)}}@keyframes hold-fill{to{width:100%}}@media (width<=760px){.topbar{grid-template-columns:1fr auto;min-height:4rem}.mode-running .topbar,.mode-clearing .topbar,.mode-repair .topbar{grid-template-columns:auto 1fr auto}.brand{letter-spacing:.1em;font-size:.72rem}.brand-mark{width:1.35rem;height:1.35rem}.brand-mark:before,.brand-mark:after{width:.8rem}.brand-mark:before{left:-.5rem}.brand-mark:after{right:-.5rem}.throughput{justify-self:center;padding-inline:.65rem;font-size:1.25rem}.primary-actions{gap:.2rem}.button{min-height:2.7rem;padding-inline:.72rem;font-size:.78rem}.button-quiet{padding-inline:.48rem}.build-guide{font-size:.76rem;top:.65rem}.build-toolbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"context context""tools tools""status actions";row-gap:.35rem;min-height:8.2rem}.tool-group{scrollbar-width:none;grid-area:tools;justify-self:start;max-width:min(100vw - 1rem,38rem);padding-bottom:.15rem;overflow-x:auto}.tool-group::-webkit-scrollbar{display:none}.tool-button{min-width:4.75rem;min-height:3.5rem}.build-status{text-align:left;grid-area:status;max-width:8rem;font-size:.65rem}.junction-actions{grid-area:actions}.hold-button,.restart-button{padding-inline:.5rem;font-size:.63rem}.product-shell{width:min(100%,42rem)}.product-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.continue-card{grid-template-columns:1fr;gap:.35rem}.save-card-actions{flex-wrap:wrap}}@media (width<=560px){.product-version{flex-wrap:wrap;row-gap:.18rem}.leaderboard-panel{gap:.6rem;margin-top:.65rem}.leaderboard-intro-row{align-items:center;gap:.5rem}.leaderboard-season{padding-inline:.42rem;font-size:.54rem}.leaderboard-map-tabs button{min-height:2.6rem;padding:.45rem .35rem;font-size:.72rem}.leaderboard-heading,.leaderboard-list li,.leaderboard-current>div{grid-template-columns:3.2rem minmax(0,1fr) 5.8rem;gap:.35rem}.leaderboard-heading{padding-inline:.62rem}.leaderboard-list li{min-height:2.65rem;padding:.52rem .62rem}.leaderboard-list span,.leaderboard-current span{font-size:.75rem}.nickname-form>div{grid-template-columns:minmax(0,1fr) 5.5rem}.topbar,.mode-running .topbar,.mode-clearing .topbar,.mode-repair .topbar{min-height:3.2rem;padding:max(.45rem, env(safe-area-inset-top)) .75rem .45rem;grid-template-columns:minmax(0,1fr) auto}.topbar .primary-actions{display:none}.brand{letter-spacing:.09em;gap:.55rem;min-width:0;font-size:.68rem}.throughput,.clearing-status,.repair-status{justify-self:end;padding:0;font-size:1rem}.information-strip{gap:.55rem;min-height:1.9rem;padding:.24rem .65rem;font-size:.67rem}.information-strip .guide-line{width:1.9rem}.mobile-primary-actions{gap:.2rem;width:100%;min-width:0;display:flex}.standalone-mobile-actions{z-index:5;padding:.38rem .5rem max(.38rem, env(safe-area-inset-bottom));background:#f8f8f4f7;border-top:1px solid #25312b24;grid-area:controls;justify-content:center}.mobile-action-button{color:#48544d;cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;border-radius:.62rem;flex:1 1 0;min-width:0;min-height:2.25rem;padding:.35rem .25rem;font-size:.65rem;font-weight:760;position:relative;overflow:hidden}.standalone-mobile-actions .mobile-action-button{max-width:8rem}.mobile-action-button.primary{color:#fff;background:#176b5b;box-shadow:0 .35rem .8rem #176b5b2e}.mobile-action-button:disabled{cursor:not-allowed;opacity:.34}.mobile-clear-button{color:#7f4038;white-space:normal;background:#ffffff70;border:1px solid #7e493a33;font-size:.56rem}.mobile-clear-button:before{z-index:0;content:"";background:#c87e443d;width:0;position:absolute;inset:0}.mobile-clear-button span{z-index:1;position:relative}.mobile-clear-button.holding:before{animation:hold-fill var(--hold-duration) linear forwards}.build-toolbar{min-height:0;padding:.18rem .25rem max(.22rem, env(safe-area-inset-bottom));grid-template:"mobile-actions"2.25rem"selection"2.4rem/minmax(0,1fr);gap:.14rem}.build-mobile-actions{grid-area:mobile-actions}.tool-context-controls{grid-area:mobile-actions;gap:.15rem;width:100%;min-height:2.25rem}.build-toolbar:not(.has-tool-context) .tool-context-controls,.build-toolbar.has-tool-context .build-mobile-actions{display:none}.tool-context-heading{flex:none}.tool-context-heading>strong{display:none}.mobile-tool-back{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-width:3.5rem;height:2.2rem;color:var(--rw-text-muted);background:var(--rw-surface-elevated);justify-content:center;align-items:center;gap:.14rem;padding:0 .4rem;font-size:.58rem;font-weight:760;display:flex}.mobile-tool-back span{font-size:1.15rem;line-height:1}.tool-group{flex-wrap:wrap;grid-area:selection;justify-self:stretch;gap:.08rem;width:100%;max-width:none;padding:0;display:flex;overflow:visible}.tool-button{border-radius:.58rem;flex:1 1 0;gap:.1rem;min-width:0;min-height:2.4rem;padding:.28rem .03rem;font-size:.58rem}.track-orientation-picker{width:auto;min-width:0;box-shadow:none;border-radius:.65rem;flex:auto;grid-template-columns:repeat(5,minmax(0,1fr));padding:.14rem;position:static}.track-orientation-button{width:auto;min-height:2.05rem}.radius-group,.ramp-preset-picker{width:auto;min-width:0;min-height:2.15rem;box-shadow:none;border-radius:.65rem;flex:auto;position:static;transform:none}.radius-group{justify-content:center}.ramp-preset-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:.12rem;padding:.12rem}.ramp-preset-button{min-width:0;min-height:2rem;padding:.18rem .08rem}.build-status,.junction-actions{display:none}}@media (width<=430px){.tool-icon{width:1.35rem;height:.9rem}.delete-icon{font-size:1.45rem}.save-menu-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.save-list li{grid-template-columns:1fr}.save-card-actions{justify-content:space-between}.product-shell-backdrop{padding-inline:.45rem}.product-shell{border-radius:.9rem;max-height:97dvh;padding:.9rem}.product-home-header{padding-bottom:.9rem}.continue-community-row{grid-template-columns:minmax(0,1fr) 8.8rem}.continue-card>span:last-child{display:none}.community-advice-card{gap:.45rem;padding-inline:.7rem}.product-home-topline{gap:.45rem}.product-quick-preferences{gap:.25rem}.preference-cluster{gap:.05rem;padding:.12rem}.product-preference-button{width:2rem;height:2rem}.locale-preference-button{width:2.2rem;font-size:.64rem}html[data-theme=dark] .railweave-wordmark.compact .mark-light{display:none}html[data-theme=dark] .railweave-wordmark.compact .mark-dark{display:block}.product-menu-grid{grid-template-columns:1fr}.product-menu-grid>:is(button,a){min-height:3.7rem}.product-panel-header{grid-template-columns:minmax(0,1fr) auto}.account-benefits ul{grid-template-columns:1fr}.codex-chapter{padding-left:.9rem}.contract-settings dl>div{grid-template-columns:1fr;gap:.25rem}.conflict-copies{grid-template-columns:1fr}.contract-settings dd{text-align:left}}@media (width<=560px){.product-shell-backdrop{z-index:100;place-items:stretch stretch;width:100%;height:100dvh;padding:0;inset:0;overflow:hidden}.product-shell{width:100%;max-width:none;height:100dvh;max-height:none;padding:max(.8rem, env(safe-area-inset-top)) .8rem max(.8rem, env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:0;border-radius:0;overflow:hidden auto}.product-panel-header{z-index:2;background:var(--rw-surface-elevated);padding:.35rem 0 .6rem;position:sticky;top:0}.information-strip-clear{border:0;border-left:1px solid color-mix(in srgb, var(--rw-danger) 35%, var(--rw-border));min-width:0;min-height:28px;color:var(--rw-danger);background:0 0;align-items:center;gap:.2rem;padding:0 0 0 .45rem;font-size:.62rem;font-weight:760;display:flex}.information-strip-clear svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:1rem;height:1rem}.mobile-app-icon--menu{place-items:center;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.information-level-up{animation:none}}.language-setting{max-width:28rem;color:var(--rw-text);gap:.35rem;margin-top:.85rem;font-size:.76rem;font-weight:750;display:grid}.language-setting select{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-height:2.75rem;color:var(--rw-text);background:var(--rw-surface);padding:.55rem 2.2rem .55rem .7rem}.language-setting small{color:var(--rw-text-muted);font-weight:500}@media (width<=560px){.game-shell,.mode-running,.mode-clearing,.mode-repair,.game-shell.has-focus-inspector,.mode-running.has-focus-inspector,.mode-clearing.has-focus-inspector,.mode-repair.has-focus-inspector{grid-template-columns:minmax(0,1fr);grid-template-areas:"header""information""playfield""focus""controls";grid-template-rows:calc(var(--rw-mobile-app-bar-h) + env(safe-area-inset-top)) var(--rw-mobile-status-h) minmax(0, 1fr) auto auto;width:100%;height:100dvh;min-height:100svh;overflow:hidden}.topbar,.mode-running .topbar,.mode-clearing .topbar,.mode-repair .topbar{width:100%;min-height:calc(var(--rw-mobile-app-bar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 4px 0;grid-template-columns:44px minmax(0,1fr);display:grid}.topbar .primary-actions,.desktop-runtime-status{display:none}.topbar .brand{place-items:center;width:44px;min-width:44px;height:44px;display:grid}.topbar .brand .railweave-wordmark.compact{width:2rem;height:2rem;display:grid}.topbar .brand .railweave-wordmark.compact .wordmark-light,.topbar .brand .railweave-wordmark.compact .wordmark-dark{display:none}html[data-theme=light] .topbar .brand .railweave-wordmark.compact .mark-light,html[data-theme=dark] .topbar .brand .railweave-wordmark.compact .mark-dark{display:block}.mobile-app-actions{grid-template-columns:minmax(0,1fr) 44px 44px 44px;min-width:0;height:44px;display:grid}.information-strip{width:100%;height:var(--rw-mobile-status-h);min-height:var(--rw-mobile-status-h);grid-template-columns:auto minmax(0,1fr) auto;padding:0 .65rem;overflow:hidden}.information-strip p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.playfield{width:100%;min-width:0;min-height:0;overflow:hidden}.build-toolbar{width:100%;min-height:calc(var(--rw-mobile-primary-tools-h) + env(safe-area-inset-bottom));padding:0 2px env(safe-area-inset-bottom);grid-template-columns:minmax(0,1fr);grid-template-areas:"tools";grid-template-rows:var(--rw-mobile-primary-tools-h);gap:0;display:grid;overflow:hidden}.build-toolbar.has-tool-context{min-height:calc(var(--rw-mobile-context-h) + var(--rw-mobile-primary-tools-h) + env(safe-area-inset-bottom));grid-template-areas:"context""tools";grid-template-rows:var(--rw-mobile-context-h) var(--rw-mobile-primary-tools-h)}.build-toolbar.editor-open,.clear-confirmation-open .build-toolbar,.clear-confirmation-open .standalone-mobile-actions,.build-status,.junction-actions,.build-mobile-actions,.mobile-tool-back,.tool-context-heading{display:none}.tool-group{width:100%;height:var(--rw-mobile-primary-tools-h);grid-area:tools;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;max-width:none;padding:2px 0;display:grid;overflow:visible}.tool-button{flex:initial;min-width:44px;min-height:52px;padding:.2rem 0}.tool-context-controls{width:100%;height:var(--rw-mobile-context-h);min-height:var(--rw-mobile-context-h);grid-area:context;padding:3px 5px;display:flex;overflow:auto hidden}.track-orientation-picker,.radius-group,.ramp-preset-picker{width:100%;min-width:max-content;height:42px;min-height:42px;box-shadow:none;position:static;transform:none}.track-orientation-picker{grid-template-columns:repeat(5,minmax(52px,1fr))}.build-inspector{border-top:1px solid var(--rw-border);border-left:0;width:100%;max-height:min(52svh,480px);overflow:auto}}html[data-theme=light] .railweave-wordmark .wordmark-light,html[data-theme=dark] .railweave-wordmark .wordmark-dark{display:block}.grade-build-settings{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);color:var(--rw-text);background:var(--rw-surface-elevated)}.grade-build-settings header{align-items:center;gap:.65rem;display:flex}.grade-build-settings header>div{gap:.1rem;display:grid}.grade-build-settings header small,.grade-build-settings p{color:var(--rw-text-muted)}.grade-build-settings fieldset{border:0;min-width:0;margin:0;padding:0}.grade-build-settings legend{color:var(--rw-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.67rem;font-weight:780}.grade-setting-options{gap:.3rem;display:grid}.grade-ramp-options{grid-template-columns:repeat(3,minmax(0,1fr))}.grade-flat-options{grid-template-columns:repeat(5,minmax(0,1fr))}.grade-setting-options button{border:1px solid var(--rw-border);border-radius:calc(var(--rw-radius-control) - 3px);min-width:0;color:var(--rw-text-muted);background:var(--rw-surface);cursor:pointer}.grade-setting-options button.active{border-color:var(--rw-brand);color:#fff;background:var(--rw-brand)}@media (width>=561px){.desktop-simple-tools{grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.desktop-simple-tool{gap:.25rem;min-height:3.7rem;padding-inline:.25rem;font-size:.72rem}.desktop-simple-tool .tool-icon{width:1.5rem}.desktop-grade-build-settings{grid-template-columns:minmax(7.2rem,.85fr) minmax(0,1.25fr);gap:.7rem .8rem;padding:.7rem;display:grid}.desktop-grade-build-settings header{grid-column:1/-1}.desktop-grade-build-settings fieldset{align-content:start;gap:.35rem;display:grid}.desktop-grade-build-settings .grade-setting-options button{place-items:center;min-height:2.85rem;padding:.3rem;display:grid}.desktop-grade-build-settings .grade-setting-options small{font-size:.58rem}.desktop-grade-build-settings p{grid-column:1/-1;margin:0;font-size:.7rem;line-height:1.35}}@media (width<=560px){.build-toolbar.has-grade-context{--rw-grade-context-h:106px;min-height:calc(var(--rw-grade-context-h) + var(--rw-mobile-primary-tools-h) + env(safe-area-inset-bottom));grid-template-rows:var(--rw-grade-context-h) var(--rw-mobile-primary-tools-h)}.build-toolbar.has-grade-context .tool-context-controls{height:var(--rw-grade-context-h);min-height:var(--rw-grade-context-h);padding:5px 7px;overflow:hidden}.mobile-grade-build-settings{gap:3px;width:100%;min-width:0;display:grid}.mobile-grade-setting-row{grid-template-columns:5.2rem minmax(0,1fr);align-items:center;gap:5px;min-width:0;display:grid}.mobile-grade-setting-row>span{color:var(--rw-text-muted);text-transform:uppercase;white-space:normal;font-size:.6rem;font-weight:780;line-height:1.05;overflow:hidden}.mobile-grade-build-settings .grade-setting-options{gap:3px;height:34px}.mobile-grade-build-settings .grade-setting-options button{place-items:center;min-height:34px;padding:0 .16rem;font-size:.72rem;font-weight:820;line-height:1;display:grid}.mobile-grade-build-settings .grade-setting-options button small{font-size:.48rem;font-weight:680}.mobile-grade-hint{color:var(--rw-text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;line-height:1.2;overflow:hidden}}html[data-theme=light] .railweave-wordmark .wordmark-dark,html[data-theme=dark] .railweave-wordmark .wordmark-light{display:none}@media (width<=560px){.topbar .brand .railweave-wordmark.compact .wordmark-light,.topbar .brand .railweave-wordmark.compact .wordmark-dark{display:none}html[data-theme=light] .topbar .brand .railweave-wordmark.compact .mark-light,html[data-theme=dark] .topbar .brand .railweave-wordmark.compact .mark-dark{display:block}html[data-theme=light] .topbar .brand .railweave-wordmark.compact .mark-dark,html[data-theme=dark] .topbar .brand .railweave-wordmark.compact .mark-light{display:none}.topbar,.build-toolbar,.standalone-mobile-actions{border-color:var(--rw-border);color:var(--rw-text);background:color-mix(in srgb, var(--rw-surface-elevated) 97%, transparent)}.mobile-action-button{border-radius:var(--rw-radius-control);color:var(--rw-text-muted)}.mode-building .mobile-action-button.primary{color:#fff;background:var(--rw-run);box-shadow:0 5px 14px color-mix(in srgb, var(--rw-run) 24%, transparent)}.mode-running .mobile-action-button.primary,.mode-repair .mobile-action-button.primary{color:#fff;background:var(--rw-brand);box-shadow:0 5px 14px color-mix(in srgb, var(--rw-brand) 24%, transparent)}.mobile-clear-button{border-color:color-mix(in srgb, var(--rw-danger) 50%, var(--rw-border));color:var(--rw-danger);background:0 0}.track-orientation-picker,.radius-group,.ramp-preset-picker{border-color:var(--rw-border);border-radius:var(--rw-radius-control);background:var(--rw-surface-elevated)}.tool-button.active{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft);box-shadow:none}.track-orientation-button.active,.radius-group button.active,.ramp-preset-button.active{color:#fff;background:var(--rw-brand);box-shadow:none}.build-toolbar.editor-open{border:0;min-height:0;padding:0;display:none}.build-toolbar.editor-open .build-mobile-actions,.build-toolbar.editor-open .tool-group{display:none}.mobile-app-actions{grid-template-columns:minmax(0,1fr) 44px 44px}.mobile-app-actions.has-run-view-toggle,.mobile-app-actions.has-guidance-help{grid-template-columns:minmax(0,1fr) 44px 44px 44px}.mobile-app-icon--menu,.mobile-app-icon--run-view{place-items:center;display:grid}.mobile-app-icon--run-view svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.35rem;height:1.35rem}.mobile-app-icon--run-view.active{color:var(--rw-brand);background:var(--rw-brand-soft)}.mobile-app-icon--undo,.mobile-app-icon--redo{display:none}.build-toolbar,.build-toolbar.has-mobile-context-row,.build-toolbar.has-tool-context{min-height:calc(var(--rw-mobile-context-h) + var(--rw-mobile-primary-tools-h) + env(safe-area-inset-bottom));grid-template-areas:"context""tools";grid-template-rows:var(--rw-mobile-context-h) var(--rw-mobile-primary-tools-h)}.mobile-view-controls{width:100%;height:var(--rw-mobile-context-h);grid-area:context;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;padding:3px 5px;display:grid}.mobile-view-controls button{border:1px solid var(--rw-border);border-radius:calc(var(--rw-radius-control) - 2px);min-width:0;min-height:42px;color:var(--rw-text-muted);background:var(--rw-surface-elevated);place-items:center;padding:0;font-size:1.15rem;font-weight:780;display:grid}.mobile-view-controls button.active{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft)}.mobile-view-controls button:disabled{opacity:.32}.mobile-build-inspector{max-height:min(52dvh,480px);overflow:hidden}.game-shell,.product-shell{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.game-shell{touch-action:pan-y}.topbar,.information-strip,.build-toolbar,.standalone-mobile-actions,.clear-junction-sheet{touch-action:none}.build-inspector,.focus-panel{touch-action:pan-y}.product-shell{touch-action:pan-y pinch-zoom}.game-shell button,.product-shell button,.product-shell summary{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}.product-shell button,.product-shell summary{touch-action:manipulation}.product-shell input,.product-shell textarea,.product-shell select{-webkit-user-select:text;user-select:text;touch-action:pan-y}.mobile-build-inspector,.mobile-build-inspector .signal-panel{height:auto;max-height:none;overflow:hidden}.next-traffic-panel{gap:.55rem;max-height:none;overflow:hidden}.next-traffic-panel .focus-section{gap:.25rem}.next-traffic-panel .focus-chip-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.next-traffic-panel .traffic-change-chip--train{min-width:0}.next-traffic-panel .next-traffic-actions{margin-top:.15rem}}.seo-fallback{max-width:64rem;min-height:100vh;color:var(--rw-text);align-content:start;gap:2.5rem;margin:0 auto;padding:clamp(3rem,8vw,7rem) 1.5rem;display:grid}.seo-fallback header,.seo-fallback section{max-width:48rem}.seo-fallback-game-visual{aspect-ratio:1;border:1px solid var(--rw-border);background:var(--rw-surface-elevated);width:min(100%,36rem);box-shadow:var(--rw-shadow-panel);border-radius:2rem;display:block;overflow:hidden}.seo-fallback-game-visual img{object-fit:cover;width:100%;height:100%;display:block}.seo-fallback header>p:first-child{color:var(--rw-brand);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:850}.seo-fallback h1{letter-spacing:-.06em;margin:.7rem 0 1rem;font-size:clamp(2.6rem,7vw,5.5rem);line-height:.96}.seo-fallback h2{letter-spacing:-.035em;margin:0 0 .8rem;font-size:clamp(1.5rem,3vw,2.5rem)}.seo-fallback h3{margin:0 0 .45rem}.seo-fallback p,.seo-fallback dd{color:var(--rw-text-muted);line-height:1.65}.seo-fallback section{border-top:1px solid var(--rw-border);padding-top:2rem}.seo-fallback section>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.seo-fallback article,.seo-fallback aside{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-elevated);padding:1.25rem}.seo-fallback dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;display:grid}.seo-fallback dt{color:var(--rw-brand);font-size:.72rem;font-weight:800}.seo-fallback dd{margin:.2rem 0 0}.product-information-links{gap:.35rem;display:flex;position:absolute;top:.5rem;left:0}.product-information-link{border:1px solid var(--rw-border);width:2.15rem;height:2.15rem;color:var(--rw-text-muted);background:var(--rw-surface-soft);border-radius:.52rem;place-items:center;text-decoration:none;display:grid}.product-information-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.12rem;height:1.12rem}.product-information-link:hover,.product-information-link:focus-visible{color:var(--rw-brand);background:var(--rw-brand-soft);outline:none}.quick-codex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.quick-codex-grid article{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);min-height:8.5rem;color:var(--rw-text-muted);background:var(--rw-surface);grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:1rem;display:grid}.quick-codex-grid article>span{color:var(--rw-brand);letter-spacing:.08em;font-size:.62rem;font-weight:850}.quick-codex-grid h3,.quick-codex-grid p{margin:0}.quick-codex-grid h3{color:var(--rw-text);margin-bottom:.35rem;font-size:.84rem}.quick-codex-grid p{font-size:.75rem;line-height:1.5}.codex-full-link{border:1px solid var(--rw-brand);border-radius:var(--rw-radius-control);color:#fff;background:var(--rw-brand);justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;padding:.75rem 1rem;font-size:.8rem;font-weight:820;text-decoration:none;display:flex}.codex-full-link:hover,.codex-full-link:focus-visible{background:var(--rw-brand-hover);outline:none}.public-page{width:100%;height:100dvh;min-height:100svh;color:var(--rw-text);background:linear-gradient(180deg, var(--rw-surface-elevated) 0, var(--rw-bg) 32rem);scroll-behavior:smooth;overflow:hidden auto}.public-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--rw-border) 75%, transparent);background:color-mix(in srgb, var(--rw-surface-elevated) 92%, transparent);width:100%;min-height:4.75rem;box-shadow:0 .5rem 1.5rem rgb(var(--rw-shadow-color) / .04);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);align-items:center;gap:1.25rem;padding:.65rem clamp(1rem,4vw,4rem);display:grid;position:sticky;top:0}.public-brand{align-items:center;width:fit-content;display:inline-flex}.public-brand .railweave-wordmark{width:clamp(9.5rem,16vw,13rem)}.public-primary-navigation{align-items:center;gap:.5rem;display:flex}.public-play-action{border:1px solid color-mix(in srgb, var(--rw-run) 48%, var(--rw-border));border-radius:var(--rw-radius-pill);color:#fff;background:var(--rw-run);min-height:2.35rem;box-shadow:0 .2rem .65rem rgb(var(--rw-shadow-color) / .1);align-items:center;gap:.38rem;padding:.48rem .9rem;font-size:.72rem;font-weight:820;text-decoration:none;display:inline-flex}.public-play-action:hover,.public-play-action:focus-visible{color:#fff;outline:2px solid color-mix(in srgb, var(--rw-run) 52%, transparent);outline-offset:2px}.public-play-action svg{fill:none;stroke:currentColor;stroke-linejoin:round;stroke-width:1.8px;width:1rem;height:1rem}.public-navigation{border:1px solid var(--rw-border);border-radius:var(--rw-radius-pill);background:var(--rw-surface-soft);scrollbar-width:none;align-items:center;gap:.1rem;max-width:min(62vw,38rem);padding:.25rem;display:flex;overflow-x:auto}.public-navigation::-webkit-scrollbar{display:none}.public-navigation a{border-radius:var(--rw-radius-pill);color:var(--rw-text-muted);padding:.48rem .8rem;font-size:.72rem;font-weight:760;text-decoration:none}.public-navigation a:hover,.public-navigation a:focus-visible{color:var(--rw-brand);outline:none}.public-navigation a.active{color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:0 .15rem .45rem rgb(var(--rw-shadow-color) / .08)}.public-preferences{justify-self:end;align-items:center;gap:.4rem;display:flex}.public-preferences .account-quick-button{text-decoration:none}.public-content{width:min(100%,80rem);margin:0 auto;padding:0 clamp(1rem,4vw,4rem) 4rem}.public-hero{grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);align-items:center;gap:clamp(2rem,7vw,7rem);min-height:auto;padding:clamp(2.75rem,4.5vw,4.5rem) 0;display:grid}.codex-hero{grid-template-columns:minmax(0,48rem);min-height:auto}.press-hero{grid-template-columns:minmax(0,58rem);min-height:clamp(25rem,62vh,42rem)}.press-hero h1{max-width:12ch;font-size:clamp(3rem,7vw,6.8rem)}.public-kicker{color:var(--rw-brand);letter-spacing:.13em;text-transform:uppercase;margin:0 0 1rem;font-size:.72rem;font-weight:850}.public-hero h1{max-width:13ch;color:var(--rw-text);letter-spacing:-.075em;margin:0;font-size:clamp(3rem,7vw,6.8rem);line-height:.92}.codex-hero h1{max-width:14ch;font-size:clamp(3rem,6vw,5.8rem)}.public-lead{max-width:46rem;color:var(--rw-text-muted);margin:1.5rem 0 0;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.65}.public-actions{flex-wrap:wrap;gap:.65rem;margin-top:2rem;display:flex}.public-action{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-height:3.25rem;color:var(--rw-text);background:var(--rw-surface-elevated);justify-content:center;align-items:center;padding:.75rem 1.15rem;font-size:.82rem;font-weight:820;text-decoration:none;display:inline-flex}.public-action.primary{border-color:var(--rw-brand);color:#fff;background:var(--rw-brand)}.public-action:hover,.public-action:focus-visible{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft);outline:none}.public-action.primary:hover,.public-action.primary:focus-visible{color:#fff;background:var(--rw-brand-hover)}.about-game-visual{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--rw-brand) 16%, var(--rw-border));background:var(--rw-surface-elevated);box-shadow:0 2rem 4.5rem rgb(var(--rw-shadow-color) / .19), 0 .5rem 1.4rem rgb(var(--rw-shadow-color) / .1), 0 0 3rem color-mix(in srgb, var(--rw-brand) 12%, transparent);border-radius:2rem;margin:0;position:relative;overflow:hidden}.about-game-visual picture,.about-game-visual img{width:100%;height:100%;display:block}.about-game-visual img{object-fit:cover}.public-section{border-top:1px solid var(--rw-border);padding:clamp(2.5rem,4vw,4rem) 0}.story-text-section{grid-template-columns:4rem minmax(0,48rem);gap:clamp(1rem,4vw,3rem);display:grid}.story-section-number{color:var(--rw-brand);letter-spacing:.12em;font-size:.72rem;font-weight:850}.story-text-section p,.founder-card>div>p:last-child,.independent-section>div>p,.press-copy-grid article>p:last-child{color:var(--rw-text-muted);margin:1.15rem 0 0;line-height:1.7}.flow-story-section{border:1px solid color-mix(in srgb, var(--rw-brand) 25%, var(--rw-border));border-radius:var(--rw-radius-feature-card);background:var(--rw-brand-soft);padding-inline:clamp(1.25rem,4vw,3rem)}.founder-section>h2{max-width:16ch}.founder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:2.25rem;display:grid}.founder-card{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-elevated);grid-template-columns:auto 1fr;align-content:start;gap:1.25rem;min-height:19rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.founder-initials,.founder-photo{border-radius:50%;width:3.6rem;height:3.6rem}.founder-initials{color:var(--rw-brand);background:var(--rw-brand-soft);letter-spacing:.08em;place-items:center;font-size:.82rem;font-weight:880;display:grid}.founder-photo{object-fit:cover}.founder-card h3{color:var(--rw-text);margin:0;font-size:1.28rem}.founder-card .founder-role{color:var(--rw-brand);margin:.4rem 0 0;font-size:.75rem;font-weight:780;line-height:1.45}.founder-professional-link{min-height:2.75rem;color:var(--rw-brand);text-underline-offset:.2rem;align-items:center;margin-top:.75rem;font-size:.75rem;font-weight:780;display:inline-flex}.credits-block{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-soft);grid-template-columns:auto 1fr;gap:1.5rem;margin-top:.85rem;padding:1.2rem 1.35rem;display:grid}.credits-block>strong{color:var(--rw-text);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.credits-block dl{flex-wrap:wrap;justify-content:flex-end;gap:.75rem 2rem;margin:0;display:flex}.credits-block dl>div{gap:.2rem;display:grid}.credits-block dt{color:var(--rw-text-muted);font-size:.7rem}.credits-block dd{color:var(--rw-text);margin:0;font-size:.8rem;font-weight:780}.independent-section{grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);align-items:start;gap:clamp(2rem,7vw,6rem);display:grid}.independent-actions .public-actions{margin-top:0}.follow-development-label{color:var(--rw-text-muted);margin:1.4rem 0 .5rem;font-size:.7rem;font-weight:780}.independent-actions .social-links--card{background:0 0;border:0;padding:0}.independent-actions .social-links-copy{display:none}.press-copy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.press-copy-grid article{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-elevated);padding:clamp(1.4rem,3vw,2.2rem)}.press-copy-grid .public-kicker{margin-bottom:0}.press-facts-section{grid-template-columns:minmax(0,1fr) minmax(18rem,.45fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.press-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:2rem 0 0;display:grid}.press-facts>div{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);background:var(--rw-surface-elevated);padding:1rem}.press-facts dt{color:var(--rw-text-muted);font-size:.68rem;font-weight:760}.press-facts dd{color:var(--rw-text);margin:.35rem 0 0;font-size:.84rem;font-weight:760}.press-facts a{color:var(--rw-brand)}.press-contact-card{border:1px solid color-mix(in srgb, var(--rw-brand) 30%, var(--rw-border));border-radius:var(--rw-radius-feature-card);background:var(--rw-brand-soft);gap:.75rem;padding:1.5rem;display:grid}.press-contact-card .public-kicker{margin-bottom:.25rem}.press-contact-card>span{color:var(--rw-text-muted);text-align:center;font-size:.72rem}.press-assets-section h2{max-width:14ch}.press-assets-pending{border:1px dashed var(--rw-border-strong);border-radius:var(--rw-radius-feature-card);color:var(--rw-text-muted);background:var(--rw-surface-soft);margin:1.5rem 0 0;padding:1.5rem}.press-assets-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.5rem;display:grid}.press-assets-grid article{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-elevated);grid-template-rows:minmax(10rem,1fr) auto;padding:0;display:grid;overflow:hidden}.press-assets-grid h3{margin:0}.press-assets-grid a{color:var(--rw-brand);font-size:.74rem;font-weight:780}.press-asset-preview{border-bottom:1px solid var(--rw-border);background:linear-gradient(135deg, var(--rw-surface-soft), var(--rw-surface));place-items:center;min-height:10rem;padding:.8rem;display:grid;overflow:hidden}.press-asset-preview img{object-fit:contain;width:100%;height:100%;max-height:15rem}.press-asset-card--gameplay-screenshots .press-asset-preview img,.press-asset-card--desktop-screenshot .press-asset-preview img{object-fit:cover}.press-asset-details{gap:.7rem;padding:1rem 1.1rem 1.15rem;display:grid}.public-section-heading{max-width:48rem}.public-section h2,.public-closing h2{color:var(--rw-text);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3.8rem);line-height:1}.public-section-heading>p:last-child,.growth-section>div>p:last-child,.public-closing p{max-width:46rem;color:var(--rw-text-muted);margin:1.2rem 0 0;line-height:1.65}.play-cycle,.principle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:2.25rem;display:grid}.play-cycle article,.principle-grid article{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-elevated);padding:clamp(1.25rem,3vw,2rem)}.play-cycle article>span{color:var(--rw-brand);letter-spacing:.1em;font-size:.68rem;font-weight:850}.play-cycle h3,.principle-grid h3{color:var(--rw-text);margin:2.6rem 0 .7rem;font-size:1.05rem}.principle-grid h3{margin-top:0}.play-cycle p,.principle-grid p{color:var(--rw-text-muted);margin:0;font-size:.84rem;line-height:1.6}.principle-section>h2{max-width:12ch}.growth-section{grid-template-columns:minmax(0,1fr) minmax(28rem,.8fr);gap:clamp(2rem,7vw,7rem);display:grid}.game-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.game-metrics div{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-elevated);align-content:space-between;min-height:8.5rem;padding:1.25rem;display:grid}.game-metrics dt{color:var(--rw-brand);letter-spacing:-.04em;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:850}.game-metrics dd{color:var(--rw-text-muted);margin:0;font-size:.72rem;line-height:1.4}.public-map-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:2rem;display:grid}.public-map-grid article{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-elevated);align-content:start;gap:.65rem;min-height:13rem;padding:1.3rem;display:grid}.public-map-grid article>span{color:#fff;background:var(--rw-brand);letter-spacing:.08em;border-radius:.4rem;width:fit-content;padding:.3rem .45rem;font-size:.62rem;font-weight:900}.public-map-grid h3,.public-support-card h3{color:var(--rw-text);margin:0;font-size:1.18rem}.public-map-grid p,.public-fleet-section p,.public-support-card p{color:var(--rw-text-muted);margin:0;font-size:.84rem;line-height:1.62}.public-map-grid small{border-top:1px solid var(--rw-border);color:var(--rw-brand);margin-top:auto;padding-top:.7rem;font-size:.68rem;font-weight:800}.public-fleet-section{grid-template-columns:minmax(0,1.05fr) minmax(22rem,.75fr);align-items:start;gap:clamp(2rem,7vw,6rem);display:grid}.public-fleet-section>div:first-child{gap:1rem;display:grid}.public-support-card{border:1px solid color-mix(in srgb, var(--rw-brand) 28%, var(--rw-border));border-radius:var(--rw-radius-feature-card);background:var(--rw-brand-soft);padding:clamp(1.4rem,3vw,2rem)}.public-support-card .public-kicker{margin-bottom:.7rem}.public-support-card>p:not(.public-kicker){margin-top:.8rem}.public-closing{border:1px solid var(--rw-border);background:var(--rw-surface-elevated);border-radius:1.5rem;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(2rem,5vw,4rem);display:flex}.public-closing h2{font-size:clamp(1.7rem,3vw,2.6rem)}.public-content>.codex-content{gap:.75rem;margin-top:0;padding-bottom:4rem}.public-content>.codex-content details{border-radius:var(--rw-radius-feature-card)}.public-content>.codex-content summary{min-height:4rem;padding-inline:1.2rem;font-size:.95rem}.public-content>.codex-content .codex-chapter{max-width:66rem;padding:0 1.4rem 1.5rem 3.7rem;font-size:.88rem;line-height:1.7}.legal-page{width:min(100%,56rem);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 0 2rem}.legal-hero{max-width:50rem}.legal-hero h1{margin-bottom:1rem;font-size:clamp(2.4rem,6vw,4.8rem);line-height:.98}.legal-effective{color:var(--rw-text-muted);margin-top:1.25rem;font-size:.78rem;font-weight:720}.legal-navigation{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-soft);gap:.35rem;margin:2rem 0;padding:.45rem;display:flex;overflow-x:auto}.legal-navigation a{border-radius:var(--rw-radius-control);min-width:max-content;color:var(--rw-text-muted);padding:.65rem .85rem;font-size:.74rem;font-weight:780;text-decoration:none}.legal-navigation a.active{color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:0 .15rem .45rem rgb(var(--rw-shadow-color) / .08)}.legal-sections{gap:1rem;display:grid}.legal-sections section,.legal-contact{border:1px solid var(--rw-border);border-radius:var(--rw-radius-feature-card);background:var(--rw-surface-elevated);padding:clamp(1.2rem,3vw,1.8rem)}.legal-sections h2{margin:0 0 .65rem;font-size:clamp(1.1rem,2vw,1.35rem)}.legal-sections p{color:var(--rw-text-muted);margin:0;line-height:1.75}.legal-contact{background:var(--rw-brand-soft);grid-template-columns:minmax(0,1.5fr) minmax(14rem,1fr);gap:1.5rem;margin-top:1rem;display:grid}.legal-contact a{color:var(--rw-brand);font-weight:800}.legal-operator-details{gap:.6rem;margin:1rem 0;padding:0;display:grid}.legal-operator-details div,.legal-contact-channel{gap:.15rem;display:grid}.legal-operator-details dt{color:var(--rw-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:750}.legal-operator-details dd{color:var(--rw-text);margin:0;font-weight:700}.legal-contact-channel{align-content:start;gap:.6rem}.public-footer{border-top:1px solid var(--rw-border);width:min(100% - 2rem,76rem);min-height:8rem;color:var(--rw-text-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:0 auto;padding:2rem 0;font-size:.72rem;display:grid}.public-footer a{color:var(--rw-brand);font-weight:760;text-decoration:none}.public-footer-actions{justify-self:end;align-items:center;gap:.8rem;display:flex}.site-footer-links{min-width:0;color:var(--rw-text-muted);gap:.45rem;display:grid}.site-footer-links>span{font-size:.7rem;line-height:1.45}.site-footer-links nav{flex-wrap:wrap;gap:.3rem .8rem;display:flex}.site-footer-links nav a{color:var(--rw-brand);font-size:.7rem;font-weight:760;text-decoration:none}.site-footer-links nav a:hover,.site-footer-links nav a:focus-visible{text-underline-offset:.18rem;text-decoration:underline}@media (width<=900px){.public-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand preferences""navigation navigation";gap:.55rem}.public-brand{grid-area:brand}.public-navigation{justify-self:center}.public-primary-navigation{grid-area:navigation;justify-self:center}.public-preferences{grid-area:preferences}.public-hero,.growth-section,.public-fleet-section,.independent-section,.press-facts-section{grid-template-columns:1fr}.public-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-hero{min-height:auto}.about-game-visual{width:min(100%,36rem)}}@media (width<=640px){.product-information-links{top:.2rem}.track-rule-grid,.quick-codex-grid,.play-cycle,.principle-grid,.public-map-grid,.founder-grid,.press-copy-grid,.press-assets-grid,.legal-contact{grid-template-columns:1fr}.story-text-section{grid-template-columns:1fr;gap:.7rem}.founder-card{min-height:0}.credits-block,.menu-credits{grid-template-columns:1fr}.credits-block dl,.menu-credits>span{text-align:left}.press-facts,.seo-fallback section>div,.seo-fallback dl{grid-template-columns:1fr}.quick-codex-grid article{min-height:0}.public-header{padding:max(.65rem, env(safe-area-inset-top)) .7rem .65rem;position:relative}.public-brand .railweave-wordmark{width:clamp(7rem,31vw,8.5rem)}.public-preferences{gap:.22rem}.public-preferences .preference-cluster{gap:.02rem;padding:.1rem}.public-preferences .product-preference-button{border-radius:.42rem;width:1.8rem;height:1.8rem}.public-preferences .product-preference-button svg{width:.95rem;height:.95rem}.public-preferences .locale-preference-button{width:2rem;font-size:.6rem}.public-navigation{flex:1;min-width:0}.public-navigation a{text-align:center;flex:none}.public-primary-navigation{gap:.35rem;width:100%}.public-play-action{min-height:2.15rem;padding-inline:.7rem}.public-content{padding-inline:1rem}.public-hero{gap:2.25rem;padding:2.5rem 0 2.75rem}.public-section{padding:2.5rem 0}.public-hero h1,.codex-hero h1{font-size:clamp(2.8rem,15vw,4.6rem)}.about-game-visual{border-radius:1.2rem}.game-metrics{grid-template-columns:1fr 1fr}.game-metrics div{min-height:7.5rem;padding:1rem}.public-closing{flex-direction:column;align-items:stretch}.public-content>.codex-content .codex-chapter{padding-left:1rem}.public-footer{grid-template-columns:1fr}.public-footer-actions{justify-self:start;gap:.45rem}.social-links--footer .social-link{justify-content:center;width:2rem;padding:0}.social-links--footer .social-link>span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}}@media (width<=560px){.social-links--card{flex-direction:column;align-items:stretch;gap:.6rem}.social-links--card .social-link-list{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.social-links--card .social-link{justify-content:center;min-width:0;padding-inline:.4rem}.social-links--card .social-link small{display:none}.supporter-footer-actions{justify-content:space-between;width:100%}}@media (width>=561px){.desktop-simple-tool{flex-direction:column;justify-content:center}}@media (width<=560px){.build-toolbar.has-grade-context,.build-toolbar.has-mobile-context-row.has-grade-context,.build-toolbar.has-tool-context.has-grade-context{--rw-grade-context-h:106px;min-height:calc(var(--rw-grade-context-h) + var(--rw-mobile-primary-tools-h) + env(safe-area-inset-bottom));grid-template-areas:"context""tools";grid-template-rows:var(--rw-grade-context-h) var(--rw-mobile-primary-tools-h)}.build-toolbar.has-grade-context .tool-context-controls{height:var(--rw-grade-context-h);min-height:var(--rw-grade-context-h)}}@media (width>=900px){.desktop-panel-status.information-level-up{border-color:color-mix(in srgb, var(--rw-run) 42%, var(--rw-border));color:var(--rw-run);background:var(--rw-run-soft);box-shadow:none}.desktop-panel-status.information-level-up p,.desktop-panel-status.information-level-up strong{color:currentColor}.desktop-panel-mode-actions{gap:.42rem}.desktop-panel-action{border-radius:calc(var(--rw-radius-control) - 2px);min-height:2.35rem;box-shadow:none;padding:.38rem .58rem;font-size:.7rem;font-weight:720}.desktop-panel-action.primary,.mode-running .desktop-panel-action.primary,.mode-repair .desktop-panel-action.primary{box-shadow:none}.desktop-panel-action.primary{background:color-mix(in srgb, var(--rw-run) 84%, var(--rw-surface))}.mode-running .desktop-panel-action.primary,.mode-repair .desktop-panel-action.primary{background:color-mix(in srgb, var(--rw-brand) 84%, var(--rw-surface))}.desktop-panel-action.action-build:not(.primary){border-color:color-mix(in srgb, var(--rw-brand) 38%, var(--rw-border));color:var(--rw-brand);background:var(--rw-brand-soft)}.desktop-panel-action.action-show-problem{border-color:color-mix(in srgb, var(--rw-warning) 55%, var(--rw-border));color:var(--rw-warning-text);background:var(--rw-warning-soft)}.desktop-panel-action.action-show-problem.is-active{border-color:var(--rw-warning);box-shadow:inset 0 0 0 1px var(--rw-warning)}.mode-incident_paused .desktop-panel-action.action-repair.primary{color:var(--rw-warning-text);background:color-mix(in srgb, var(--rw-warning) 38%, var(--rw-warning-soft))}.desktop-panel-action.level-up-action{background:color-mix(in srgb, var(--rw-brand) 90%, var(--rw-surface))}}@media (width<=560px){.mobile-mode-control.has-incident-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-mode-action--inspect{border-right:1px solid color-mix(in srgb, var(--rw-warning) 35%, var(--rw-border))!important;color:var(--rw-warning-text)!important;background:var(--rw-warning-soft)!important}.mobile-mode-action--inspect.is-active{box-shadow:inset 0 0 0 2px var(--rw-warning)}.mobile-mode-action--repair{color:var(--rw-warning-text)!important;background:color-mix(in srgb, var(--rw-warning) 38%, var(--rw-warning-soft))!important}.information-strip{gap:.42rem}.information-strip p{font-weight:690}.information-strip-next{border-radius:calc(var(--rw-radius-control) - 4px);color:#fff;background:var(--rw-run);white-space:nowrap;border:0;align-items:center;gap:.28rem;min-width:0;min-height:26px;padding:0 .55rem;font-size:.66rem;font-weight:800;display:inline-flex}.information-level-up{box-shadow:none}.runtime-incident-actions{display:none!important}.mobile-clear-junction-tool-action{border:1px solid color-mix(in srgb, var(--rw-danger) 48%, var(--rw-border));border-radius:calc(var(--rw-radius-control) - 2px);width:100%;min-width:0;min-height:42px;color:var(--rw-danger);background:var(--rw-danger-soft);justify-content:center;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.7rem;font-weight:760;display:inline-flex}.mobile-clear-junction-tool-action:disabled{cursor:not-allowed;opacity:.38}.mobile-clear-junction-tool-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1rem;height:1rem}}@media (width>=900px){.desktop-command-panel{gap:.82rem;padding:.8rem .9rem}.desktop-panel-quick-actions{gap:.45rem}.desktop-panel-quick-actions button{min-height:2.7rem;padding-bottom:.72rem;font-size:.82rem}.desktop-build-catalog{gap:.82rem;padding-top:.15rem}.desktop-tool-section{grid-template-columns:minmax(0,1fr);gap:.48rem;padding:.55rem .6rem .65rem}.desktop-tool-heading{gap:.38rem;min-height:1.55rem;padding:.05rem .12rem;font-size:.74rem}.desktop-tool-heading .tool-icon{width:1.25rem}.desktop-tool-heading .desktop-shortcut-badge{order:-1;min-width:1.05rem;padding:.08rem .22rem;font-size:.5rem;position:static}.desktop-catalog-label{color:var(--rw-text-muted);letter-spacing:.055em;text-transform:uppercase;font-size:.59rem;font-weight:760;line-height:1.2}.desktop-inline-options{gap:.42rem}.desktop-inline-options button{border-radius:.55rem;min-height:2.55rem;padding:.28rem;font-size:.67rem}.desktop-track-options .track-orientation-icon{width:1.2rem}.desktop-simple-tools{grid-template-columns:repeat(5,minmax(0,1fr));gap:.52rem}.desktop-catalog-label{grid-column:1/-1;padding:0 .12rem}.desktop-simple-tool{border-radius:.58rem;gap:.16rem;min-height:3.25rem;padding:.4rem .18rem .95rem;font-size:.64rem;font-weight:700;line-height:1.05}.desktop-simple-tool .tool-icon{width:1.2rem}.desktop-tool-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.desktop-simple-tool .desktop-shortcut-badge{opacity:.7;min-width:.92rem;padding:.03rem .16rem;font-size:.47rem;bottom:.24rem;left:.32rem}.desktop-object-navigation{border-color:color-mix(in srgb, var(--rw-border) 72%, transparent);background:var(--rw-surface-soft);gap:.52rem;padding:.36rem}.desktop-object-navigation button{border-radius:.5rem;gap:.3rem;min-height:2.2rem;padding:.3rem .5rem;font-size:.68rem;font-weight:680}}@media (width<=560px){.game-shell.mode-building{grid-template-areas:"header""playfield""focus""controls";grid-template-rows:calc(var(--rw-mobile-app-bar-h) + env(safe-area-inset-top)) minmax(0, 1fr) auto auto}.game-shell.mode-building>.information-strip{display:none}.game-shell.mode-building.has-prerun-error{grid-template-areas:"header""information""playfield""focus""controls";grid-template-rows:calc(var(--rw-mobile-app-bar-h) + env(safe-area-inset-top)) var(--rw-mobile-status-h) minmax(0, 1fr) auto auto}.game-shell.mode-building.has-prerun-error>.information-strip{display:grid}.map-picker-grid{grid-template-columns:minmax(0,1fr)}.map-picker-card{min-height:104px}}.supporter-train-card .supporter-consist--compact{width:100%;margin-inline:0;overflow:hidden}.supporter-train-card .supporter-consist--compact .supporter-locomotive{flex:0 5.6rem;width:clamp(4.35rem,15%,5.6rem);min-width:3.75rem;padding-inline:clamp(.35rem,1vw,.65rem)}.supporter-train-card .supporter-consist--compact .supporter-carriage-block{flex:1 1 0;width:auto;min-width:0;margin-left:clamp(.12rem,.5vw,.38rem);padding-inline:clamp(.18rem,.55vw,.42rem)}.supporter-train-card .supporter-consist--compact .supporter-carriage-windows{gap:clamp(.04rem,.2vw,.12rem)}.supporter-train-card .supporter-consist--compact .supporter-carriage-windows i{min-width:0}.supporter-train-card .supporter-consist--compact .supporter-carriage-load{display:none}.supporter-train-card .supporter-consist--compact .supporter-locomotive:before,.supporter-train-card .supporter-consist--compact .supporter-carriage-block:before,.supporter-train-card .supporter-consist--compact .supporter-carriage-block:after{border-width:.16rem;width:.68rem;height:.68rem;bottom:-.34rem}.supporter-train-card .supporter-consist--compact .supporter-coupler{width:.52rem;right:-.45rem}.supporter-train-card .supporter-consist--compact .supporter-carriage-block:last-child .supporter-coupler{display:none}@media (width>=900px){.desktop-panel-status.information-level-up{border-color:var(--rw-run);border-radius:var(--rw-radius-control);color:#fff;background:var(--rw-run);min-height:3rem;box-shadow:none;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;column-gap:.5rem;padding:.35rem .55rem}.desktop-panel-status.information-level-up .level-up-badge{width:1.7rem;height:1.7rem;color:var(--rw-run);background:#fff}.desktop-panel-status.information-level-up p{color:#fff;font-size:.74rem;font-weight:820}.desktop-panel-status.information-level-up .traffic-advance-progress{grid-column:1/-1;width:100%}}:root{--rw-camera-available:#2879bd;--rw-camera-armed:#2f8a70;--rw-camera-recording:#c13d3d;--rw-camera-success:#2f8a70;--rw-camera-error:var(--rw-danger)}.rw-camera-button{box-sizing:border-box;border-radius:var(--rw-radius-control);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--rw-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid;position:relative}.desktop-panel-brand__actions .rw-camera-button{width:44px;height:44px}.rw-camera-button:hover{border-color:var(--rw-brand);color:var(--rw-brand);background:var(--rw-brand-soft)}.rw-camera-button:focus-visible{outline-offset:1px;outline:3px solid #edb64a}.rw-camera-button[data-state=ERROR]{color:var(--rw-camera-error)}.rw-camera-button__progress{fill:none;pointer-events:none;stroke-linecap:round;width:44px;height:44px;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.rw-camera-button__progress-track{stroke:color-mix(in srgb, var(--rw-camera-available) 20%, transparent);stroke-width:2.4px}.rw-camera-button__progress-value{stroke:var(--rw-camera-available);stroke-dasharray:100;stroke-dashoffset:100px;stroke-width:2.8px;transition:stroke-dashoffset .12s linear}.rw-camera-button__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.7rem;height:1.7rem;overflow:visible}.rw-camera-button__rec{fill:currentColor;stroke:none;letter-spacing:.3px;font-family:Inter,Arial,sans-serif;font-size:7.2px;font-weight:900}.rw-camera-button__slash{stroke-width:2.1px}.rw-camera-button__badge{border:2px solid var(--rw-surface-elevated);color:#fff;background:var(--rw-camera-available);border-radius:999px;place-items:center;min-width:14px;height:14px;padding:0 2px;font-size:8px;font-weight:900;line-height:1;display:grid;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.rw-camera-button__badge[data-indicator=AVAILABLE],.rw-camera-button__badge[data-indicator=EXPORTING]{background:var(--rw-camera-available)}.rw-camera-button__badge[data-indicator=ENABLED]{background:var(--rw-camera-armed)}.rw-camera-button__badge[data-indicator=RECORDING],.rw-camera-button__badge[data-indicator=ERROR]{background:var(--rw-camera-recording)}.rw-camera-button__badge[data-indicator=RECORDING]{animation:1s ease-in-out infinite rw-camera-pulse}.rw-camera-button__spinner{border:1.5px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:7px;height:7px;animation:.8s linear infinite rw-camera-spin}.rw-camera-export-dialog{box-sizing:border-box;border:1px solid var(--rw-border);border-radius:var(--rw-radius-panel);width:min(680px,100vw - 24px);max-height:min(86dvh,780px);color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:var(--rw-shadow-panel);padding:20px;overflow:auto}.rw-camera-export-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#09100d94}.rw-camera-dialog-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.rw-camera-dialog-header h2,.rw-camera-dialog-eyebrow,.rw-camera-dialog-lead,.rw-camera-export-dialog p{margin-top:0}.rw-camera-dialog-header h2{margin-bottom:0;font-size:clamp(1.25rem,4vw,1.75rem)}.rw-camera-dialog-eyebrow{color:var(--rw-camera-success);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.25rem;font-size:.68rem;font-weight:850}.rw-camera-dialog-close{border-radius:var(--rw-radius-control);width:44px;min-width:44px;height:44px;color:var(--rw-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:1.55rem;display:grid}.rw-camera-dialog-lead,.rw-camera-export-dialog p,.rw-camera-orientation small,.rw-camera-orientation>span:last-child{color:var(--rw-text-muted);line-height:1.45}.rw-camera-orientations{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rw-camera-orientation{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);min-height:210px;color:var(--rw-text);background:var(--rw-surface);cursor:pointer;align-content:center;justify-items:center;gap:8px;padding:18px;display:grid}.rw-camera-orientation[aria-pressed=true]{border-color:var(--rw-brand);background:var(--rw-brand-soft);box-shadow:inset 0 0 0 1px var(--rw-brand)}.rw-camera-orientation__frame{color:var(--rw-text-muted);border:2px solid;border-radius:6px;display:block}.rw-camera-orientation[data-orientation=PORTRAIT_9_16] .rw-camera-orientation__frame{width:54px;height:96px}.rw-camera-orientation[data-orientation=LANDSCAPE_16_9] .rw-camera-orientation__frame{width:112px;height:63px}.rw-camera-attribution{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);background:var(--rw-surface-soft);margin:14px 0 0;padding:.75rem}.rw-camera-attribution--setting{margin:0 0 .85rem}.rw-camera-attribution legend{padding:0 .35rem;font-size:.78rem;font-weight:820}.rw-camera-attribution>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rw-camera-attribution button{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-height:44px;color:var(--rw-text);background:var(--rw-surface);cursor:pointer;font-weight:760}.rw-camera-attribution button[aria-pressed=true]{border-color:var(--rw-brand);background:var(--rw-brand-soft);box-shadow:inset 0 0 0 1px var(--rw-brand)}.rw-camera-attribution small{color:var(--rw-text-muted);margin-top:.55rem;line-height:1.35;display:block}.rw-camera-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.rw-camera-dialog-actions button,.rw-camera-menu-actions button,.rw-camera-share-fallback button{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-height:44px;color:var(--rw-text);background:var(--rw-surface);cursor:pointer;padding:.55rem .9rem;font-weight:760}.rw-camera-dialog-actions button.primary{border-color:var(--rw-brand);color:#fff;background:var(--rw-brand)}.rw-camera-dialog-actions button.danger,.rw-camera-menu-actions button.danger,.rw-camera-library-card button.danger{color:var(--rw-danger)}.rw-camera-dialog-actions button:disabled,.rw-camera-menu-actions button:disabled{cursor:not-allowed;opacity:.42}.rw-camera-recording-setting{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);background:var(--rw-surface-soft);justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;margin-bottom:.85rem;padding:.7rem .85rem;display:flex}.rw-camera-settings{min-width:0}.rw-camera-recording-setting>span{gap:.15rem;display:grid}.rw-camera-recording-setting small{color:var(--rw-text-muted);line-height:1.35}.rw-camera-recording-setting button{border:1px solid var(--rw-border);min-width:84px;min-height:44px;color:var(--rw-text-muted);background:var(--rw-surface);cursor:pointer;border-radius:999px;font-weight:820}.rw-camera-recording-setting button[aria-checked=true]{border-color:var(--rw-camera-armed);color:#fff;background:var(--rw-camera-armed)}.rw-camera-menu-actions{gap:.5rem;margin-top:.75rem;display:grid}.rw-camera-menu-actions small{color:var(--rw-text-muted);margin:-.25rem 0 .25rem}.rw-camera-export-progress{background:var(--rw-surface-soft);border-radius:999px;width:100%;height:9px;overflow:hidden}.rw-camera-export-progress>span{border-radius:inherit;background:var(--rw-brand);height:100%;transition:width .12s linear;display:block}.rw-camera-preview video{background:#000;border-radius:10px;width:100%;max-height:58dvh;display:block}.rw-camera-preview p{text-align:center;margin-top:.45rem}@media (width>=721px){.rw-camera-export-dialog--preview[open]{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 190px;gap:0 18px;width:min(960px,100vw - 36px);max-height:calc(100dvh - 32px);display:grid;overflow:hidden}.rw-camera-export-dialog--preview .rw-camera-dialog-header{grid-column:1/-1}.rw-camera-export-dialog--preview .rw-camera-settings{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:.75rem;margin-bottom:.75rem;display:grid}.rw-camera-export-dialog--preview .rw-camera-recording-setting,.rw-camera-export-dialog--preview .rw-camera-attribution--setting{box-sizing:border-box;height:100%;margin-bottom:0}.rw-camera-export-dialog--preview .rw-camera-preview-pane{grid-template-rows:auto minmax(0,1fr);align-content:start;min-height:0;display:grid}.rw-camera-export-dialog--preview .rw-camera-preview{align-content:start;justify-items:center;min-height:0;display:grid}.rw-camera-export-dialog--preview .rw-camera-preview video{object-fit:contain;width:auto;max-width:100%;height:min(50dvh,500px);max-height:calc(100dvh - 300px)}.rw-camera-export-dialog--preview .rw-camera-dialog-actions--preview{flex-flow:column;align-content:start;margin-top:0}.rw-camera-export-dialog--preview .rw-camera-dialog-actions--preview button{width:100%}.rw-camera-export-dialog--preview .rw-camera-share-fallback{grid-column:1/-1}}.rw-camera-dialog-warning{border:1px solid color-mix(in srgb, var(--rw-brand) 25%, var(--rw-border));border-radius:var(--rw-radius-control);background:var(--rw-brand-soft);padding:.65rem .75rem}.rw-camera-dialog-error{border:1px solid color-mix(in srgb, var(--rw-danger) 32%, var(--rw-border));border-radius:var(--rw-radius-control);background:color-mix(in srgb, var(--rw-danger) 8%, var(--rw-surface));padding:.75rem;color:var(--rw-danger)!important}.rw-camera-share-fallback{border-top:1px solid var(--rw-border);flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding:.75rem;display:flex}.rw-camera-share-fallback p{width:100%;margin-bottom:0}.rw-camera-preview-formats,.rw-camera-library-formats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.rw-camera-preview-formats{margin-bottom:.75rem}.rw-camera-preview-formats button,.rw-camera-library-formats button{border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);min-width:0;min-height:44px;color:var(--rw-text);background:var(--rw-surface);cursor:pointer;padding:.5rem .65rem;font-weight:760}.rw-camera-preview-formats button[aria-pressed=true]{border-color:var(--rw-brand);background:var(--rw-brand-soft);box-shadow:inset 0 0 0 1px var(--rw-brand)}.rw-camera-library{gap:.55rem;display:grid}.rw-camera-library-card{border:1px solid var(--rw-border);border-radius:var(--rw-radius-card);background:var(--rw-surface);grid-template-columns:minmax(0,1fr) 44px;min-width:0;display:grid}.rw-camera-library-card>button:first-child{min-width:0;min-height:82px;color:var(--rw-text);cursor:pointer;text-align:left;background:0 0;border:0;grid-area:1/1;gap:.1rem;padding:.7rem .8rem;display:grid}.rw-camera-library-formats{grid-area:2/1;padding:0 .7rem .7rem}.rw-camera-library-formats button{background:var(--rw-surface-soft)}.rw-camera-library-card small,.rw-camera-library-card span{color:var(--rw-text-muted)}.rw-camera-library-card button.danger{border:0;border-left:1px solid var(--rw-border);border-radius:0 var(--rw-radius-card) var(--rw-radius-card) 0;cursor:pointer;background:0 0;grid-area:1/2/span 2;font-size:1.2rem}.rw-camera-toast{z-index:130;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));border:1px solid var(--rw-border);border-radius:var(--rw-radius-control);max-width:min(28rem,100vw - 36px);color:var(--rw-text);background:var(--rw-surface-elevated);box-shadow:var(--rw-shadow-panel);padding:.7rem .9rem;font-size:.9rem;font-weight:700;position:fixed}@keyframes rw-camera-pulse{0%,to{opacity:.68;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}@keyframes rw-camera-spin{to{transform:rotate(360deg)}}@media (width<=560px){.rw-camera-export-dialog{width:100%;max-width:none;max-height:min(86dvh,760px);padding:18px 14px max(18px, env(safe-area-inset-bottom));border-radius:var(--rw-radius-panel) var(--rw-radius-panel) 0 0;margin:auto 0 0}.rw-camera-orientation{min-height:176px;padding:12px 8px}.rw-camera-dialog-actions>*{flex:44%}.rw-camera-toast{right:12px;bottom:max(12px, env(safe-area-inset-bottom));text-align:center;max-width:none;left:12px}}@media (prefers-reduced-motion:reduce){.rw-camera-button[data-state=FINAL_WINDOW] .rw-camera-button__badge,.rw-camera-button__spinner{animation:none}.rw-camera-button__progress-value,.rw-camera-export-progress>span{transition:none}}:root{--rw-efficiency-high:#147753;--rw-efficiency-mid:#9a6700;--rw-efficiency-low:#b33434;--rw-efficiency-none:#7a858e}html[data-theme=dark]{--rw-efficiency-high:#69d3a9;--rw-efficiency-mid:#f1c75b;--rw-efficiency-low:#ff8d8d;--rw-efficiency-none:#8e9aa4}.rw-city-train-docks{z-index:3;pointer-events:none;position:absolute;inset:0}.rw-city-train-dock{box-sizing:border-box;border:1px solid var(--rw-border);min-width:0;color:var(--rw-text);background:var(--rw-surface-elevated);background-image:linear-gradient(to right, var(--rw-border) 1px, transparent 1px), linear-gradient(to bottom, var(--rw-border) 1px, transparent 1px);background-size:var(--rw-cell-size) var(--rw-cell-size);box-shadow:none;pointer-events:auto;grid-template-rows:var(--rw-cell-size) minmax(0, 1fr);border-radius:0;display:grid;position:absolute;overflow:hidden}.rw-city-train-dock__header{width:100%;min-height:0;padding:2px max(2px, calc(var(--rw-cell-size) * .14));border:0;border-bottom:1px solid var(--rw-border);color:inherit;background:color-mix(in srgb, var(--rw-surface-elevated) 94%, var(--rw-brand) 6%);cursor:pointer;text-align:left;align-items:center;gap:.25rem;display:flex}.rw-city-train-dock__city,.rw-city-train-dock__meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rw-city-train-dock__city{min-width:0;font-size:var(--rw-city-font-size,clamp(7px, calc(var(--rw-cell-size) * .46), 11px));line-height:1.05}.rw-city-train-dock__meta{color:var(--rw-text-muted);font-size:clamp(6px, calc(var(--rw-cell-size) * .36), 9px);flex:none;margin-left:auto}.rw-city-train-dock__row{grid-template-columns:repeat(2, minmax(0, var(--rw-cell-size)));display:grid}.rw-city-train-dock__row-code,.rw-city-train-dock__row-efficiency{text-align:center;text-overflow:clip;white-space:nowrap;place-items:center;min-width:0;height:100%;display:grid;overflow:hidden}.rw-city-train-dock__row-code{border-right:1px solid color-mix(in srgb, var(--rw-border) 76%, transparent)}.rw-city-train-dock__rows{grid-template-columns:repeat(var(--rw-dock-train-columns,1), minmax(0, calc(var(--rw-cell-size) * 2)));grid-auto-rows:var(--rw-cell-size);grid-auto-flow:row;align-content:start;min-height:0;display:grid;overflow:hidden}.rw-city-train-dock__row,.rw-city-train-dock__overflow{width:100%;min-height:var(--rw-cell-size);border:0;border-right:1px solid var(--rw-border);border-bottom:1px solid var(--rw-border);color:inherit;cursor:pointer;background:0 0}.rw-city-train-dock__row{align-items:center;gap:0;min-width:0;padding:0}.rw-city-train-dock__row:hover,.rw-city-train-dock__overflow:hover{background:var(--rw-surface-soft)}.rw-city-train-dock__row-code,.rw-city-train-dock__row-efficiency,.rw-city-train-dock__overflow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--rw-train-font-size,9px);font-variant-numeric:tabular-nums;font-weight:780;line-height:1;overflow:hidden}.rw-city-train-dock__row-efficiency[data-band=high]{color:var(--rw-efficiency-high);background:color-mix(in srgb, var(--rw-efficiency-high) 9%, transparent)}.rw-city-train-dock__row-efficiency[data-band=mid]{color:var(--rw-efficiency-mid);background:color-mix(in srgb, var(--rw-efficiency-mid) 10%, transparent)}.rw-city-train-dock__row-efficiency[data-band=low]{color:var(--rw-efficiency-low);background:color-mix(in srgb, var(--rw-efficiency-low) 9%, transparent)}.rw-city-train-dock__row-efficiency[data-band=none]{color:var(--rw-efficiency-none)}.rw-city-train-dock__row[data-new-train=true]{background:color-mix(in srgb, var(--rw-run-soft) 84%, transparent);box-shadow:inset 3px 0 0 var(--rw-run);animation:.68s ease-in-out 3 rw-new-train-arrival}.rw-city-train-dock__row[aria-pressed=true]{z-index:1;background:var(--rw-brand-soft);box-shadow:inset 0 0 0 2px var(--rw-brand);position:relative}.rw-city-train-dock__row[data-train-focus=counterpart]{animation:.52s ease-in-out 2 rw-counterpart-pulse}.rw-city-train-docks[data-has-train-focus=true] .rw-city-train-dock__row:not([aria-pressed=true]){opacity:.38}.rw-city-train-dock[data-endpoint-focus=true] .rw-city-train-dock__header{background:var(--rw-brand-soft);box-shadow:inset 3px 0 0 var(--rw-brand)}.rw-city-train-dock[data-tutorial-focus=true]{z-index:2;border-color:var(--rw-brand);box-shadow:inset 0 0 0 2px var(--rw-brand), 0 0 0 4px color-mix(in srgb, var(--rw-brand) 24%, transparent);animation:.9s ease-in-out 3 rw-tutorial-portal-pulse}.rw-city-train-dock[data-tutorial-focus=true] .rw-city-train-dock__header{color:var(--rw-brand);background:var(--rw-brand-soft)}.rw-city-train-dock__overflow{width:calc(var(--rw-cell-size) * 2);color:var(--rw-text-muted);font-size:max(4px, calc(var(--rw-train-font-size,9px) * .86))}@keyframes rw-counterpart-pulse{50%{box-shadow:inset 0 0 0 2px var(--rw-brand), 0 0 0 5px color-mix(in srgb, var(--rw-brand) 28%, transparent)}}@keyframes rw-new-train-arrival{50%{background:color-mix(in srgb, var(--rw-run-soft) 56%, var(--rw-run) 44%)}}@keyframes rw-tutorial-portal-pulse{50%{box-shadow:inset 0 0 0 2px var(--rw-brand), 0 0 0 8px color-mix(in srgb, var(--rw-brand) 36%, transparent)}}@media (prefers-reduced-motion:reduce){.rw-city-train-dock[data-tutorial-focus=true],.rw-city-train-dock__row[data-new-train=true],.rw-city-train-dock__row[data-train-focus=counterpart]{animation:none}}@media (width<=560px){.rw-city-train-dock__header{padding-inline:2px}}@media (width>=1000px){.rw-city-train-dock__header{padding-inline:3px}}
