@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/montserrat-variable-BB6x-mlj.ttf) format("truetype")}:root{color:#e9eff2;background:#0c1012;--ui-font-family: "Montserrat", Arial, Helvetica, "Liberation Sans", sans-serif;font-family:var(--ui-font-family);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}button{border:1px solid #44535b;border-radius:5px;padding:.52rem .78rem;color:#e9eff2;background:#202a2f;font:inherit;cursor:pointer}button:hover:not(:disabled){background:#2b383f}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{display:flex;flex-direction:column;width:100%;height:100%;background:#000}.menu-shell{display:grid;place-items:center;width:100%;height:100%;padding:1.5rem;background:radial-gradient(circle at 50% 0%,rgb(25 56 67 / 26%),transparent 42%),#0c1012}.menu-card{width:min(100%,36rem);padding:clamp(1.6rem,5vw,3rem);border:1px solid #33454d;border-radius:8px;background:#151b1e;box-shadow:0 1.5rem 4rem #00000059}.menu-card h1{margin:.7rem 0 0;color:#f1f6f8;font-size:clamp(1.6rem,4vw,2.35rem);line-height:1.1}.menu-copy{max-width:28rem;margin:.8rem 0 2rem;color:#9aaab1;line-height:1.55}.zone-fieldset{min-width:0;margin:0;padding:0;border:0}.zone-fieldset legend{margin-bottom:.7rem;color:#dce6ea;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.zone-choice{position:relative;display:flex;align-items:center;min-height:3.1rem;gap:.65rem;padding:.7rem .8rem;border:1px solid #34434a;border-radius:5px;color:#c9d4d8;background:#20292d;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.zone-choice:hover{border-color:#55717b;background:#27343a}.zone-choice:focus-within{outline:2px solid #00b088;outline-offset:2px}.zone-choice.selected{border-color:#00b088;color:#fff;background:#064c42;box-shadow:inset 0 0 0 1px #00b08859}.zone-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.zone-choice-mark{display:block;flex:0 0 .75rem;width:.75rem;height:.75rem;border:2px solid #70828a;border-radius:50%}.zone-choice.selected .zone-choice-mark{border-color:#00d6a5;background:#00d6a5;box-shadow:inset 0 0 0 2px #064c42}.zone-choice-label{font-size:.92rem;font-weight:600}.primary-button{width:100%;margin-top:1.4rem;border-color:#00b088;color:#fff;background:#00b088;font-weight:700}.primary-button:hover:not(:disabled){background:#00c89a}.menu-status{margin:.85rem 0 0;font-size:.8rem}.menu-status{color:#9aaab1}.entry-choice-shell,.entry-details-shell{display:grid;place-items:center;width:100%;height:100%;min-height:100%;overflow-x:hidden;overflow-y:auto;color:#e9eff2;background:radial-gradient(circle at 50% 0%,rgb(25 56 67 / 26%),transparent 42%),#0c1012}.activity-state-shell{display:grid;place-items:center;width:100%;height:100%;padding:1.5rem;color:#e9eff2;background:radial-gradient(circle at 50% 0%,rgb(25 56 67 / 30%),transparent 42%),#0c1012}.activity-state-panel{display:grid;justify-items:center;gap:.9rem;width:min(100%,28rem);padding:clamp(1.5rem,5vw,3rem);border:1px solid #33454d;border-radius:8px;background:#151b1e;box-shadow:0 1.5rem 4rem #00000059;text-align:center}.activity-state-panel h1{margin:0;color:#f1f6f8;font-size:clamp(1.2rem,4vw,1.6rem);font-weight:600}.activity-state-panel p{margin:0;color:#b9c5c9;font-size:.82rem;line-height:1.5}.activity-state-icon{color:#00b088}.activity-state-spinner{animation:activity-spin 1.1s linear infinite}.activity-retry-button{width:100%;margin-top:.4rem}@keyframes activity-spin{to{transform:rotate(360deg)}}.entry-choice-content{display:grid;justify-items:center;width:min(100%,72rem);padding:2rem}.entry-brand{width:100%;margin-bottom:1.75rem;text-align:center}.signaller-logo{display:inline-flex;align-items:center;gap:.7rem;color:#f1f6f8;-webkit-user-select:none;user-select:none;text-decoration:none}.signaller-logo:hover,.signaller-logo:focus-visible{color:#fff}.signaller-logo-icon{display:block;width:clamp(2.75rem,7vw,3.5rem);height:clamp(2.75rem,7vw,3.5rem)}.signaller-logo-wordmark{font-size:clamp(1.4rem,3.5vw,2rem);font-weight:700;letter-spacing:-.035em}.entry-choice-layout{display:grid;grid-template-columns:minmax(0,28.75rem) minmax(20rem,1fr);gap:1.35rem;align-items:stretch;width:100%}.entry-choice-main{display:grid;justify-items:center;min-width:0;width:100%}.entry-release-slot{position:relative;min-width:0;min-height:0;overflow:hidden}.entry-choice-content h1{margin:0 0 2rem;color:#f1f6f8;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:500}.entry-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(12rem,13.75rem));gap:1.25rem;align-items:center;justify-content:center}.entry-about-box{display:grid;justify-items:center;gap:.85rem;width:min(100%,28.75rem);margin-top:1.35rem;padding:1rem 1.2rem;border:1px solid #33454d;border-radius:8px;color:#e9eff2;background:#151b1e;box-shadow:0 1.5rem 4rem #00000047}.entry-release-box{position:absolute;inset-block:0;left:50%;display:flex;flex-direction:column;width:min(100%,42rem);height:auto;min-height:0;margin-top:0;overflow:hidden;padding:1rem 1.2rem 1.15rem;border:1px solid #33454d;border-radius:8px;color:#e9eff2;background:#151b1e;box-shadow:0 1.5rem 4rem #00000047;transform:translate(-50%)}.entry-release-header{display:flex;flex:0 0 auto;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid #33454d}.entry-release-eyebrow{margin:0 0 .3rem;color:#00b088;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.entry-release-box h2{margin:0;color:#f1f6f8;font-size:1rem;font-weight:600}.entry-release-meta{display:grid;flex:0 0 auto;justify-items:end;gap:.18rem;color:#9aaab1;font-size:.68rem;text-align:right}.entry-release-meta span{color:#e9eff2;font-weight:700}.entry-release-post{min-height:0;flex:1 1 auto;color:#b9c5c9;font-size:.78rem;line-height:1.55;overflow-y:auto;padding-right:.35rem;scrollbar-gutter:stable;text-align:left}.entry-release-post h3,.entry-release-post h4{margin:.9rem 0 .35rem;color:#f1f6f8;font-size:.84rem;font-weight:700}.entry-release-post h3:first-child,.entry-release-post h4:first-child{margin-top:.85rem}.entry-release-post p{margin:.7rem 0 0}.entry-release-post ul{margin:.65rem 0 0;padding-left:1.15rem}.entry-release-post li+li{margin-top:.25rem}.entry-release-post a{color:#c5fff2;text-underline-offset:.15em}.entry-release-post code{padding:.08rem .25rem;border-radius:2px;color:#f1f6f8;background:#272526;font-size:.92em}@media(max-width:860px){.entry-choice-layout{grid-template-columns:1fr}.entry-release-slot{position:static;min-height:auto;overflow:visible}.entry-release-box{position:static;height:auto;overflow:visible;transform:none}.entry-release-post{overflow-y:visible}}.entry-about-box h2{margin:0;color:#f1f6f8;font-size:.9rem;font-weight:600}.entry-about-copy{max-width:32rem;margin:0;color:#b9c5c9;font-size:.78rem;line-height:1.55;text-align:center}.entry-about-disclaimer{margin:-.35rem 0 0;color:#9b9b9b;font-size:.66rem;line-height:1.4;text-align:center}.entry-about-details{width:100%;margin:0;padding:0 0 0 1.1rem;color:#b9c5c9;font-size:.74rem;line-height:1.5;text-align:left}.entry-about-details li+li{margin-top:.3rem}.entry-discord-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:11rem;padding:.65rem .95rem;border:1px solid #33454d;border-radius:4px;color:#e9eff2;background:#20282c;font-family:var(--ui-font-family);font-size:.8rem;font-weight:600;text-decoration:none;transition:background .14s ease,border-color .14s ease,color .14s ease}.entry-discord-icon{flex:0 0 auto;width:1.15rem;height:1.15rem}.entry-discord-button:hover,.entry-discord-button:focus-visible{border-color:#00b088;color:#fff;background:#26363b}.entry-discord-button:focus-visible{outline:2px solid #00b088;outline-offset:2px}.entry-privacy-link{color:#b9c5c9;font-size:.7rem;text-decoration:underline;text-underline-offset:.2em}.entry-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.entry-privacy-link:hover,.entry-privacy-link:focus-visible{color:#fff}.entry-choice-card{display:grid;align-items:end;justify-items:center;width:13.75rem;height:18.25rem;padding:1.2rem 1rem 1rem;border:1px solid #33454d;border-radius:8px;color:#e9eff2;background:#151b1e;box-shadow:0 1.5rem 4rem #00000047;font-family:var(--ui-font-family);font-size:.86rem;font-weight:400;transition:background .14s ease,box-shadow .14s ease,transform .14s ease}.entry-choice-card-create,.entry-choice-card-join{transform:none}.entry-choice-card:hover:not(:disabled){background:#1d292e;box-shadow:0 1.5rem 4rem #0006;transform:translateY(-3px)}.entry-choice-card-join:hover:not(:disabled){transform:translateY(-3px)}.entry-choice-card:focus-visible{outline:2px solid #00b088;outline-offset:4px}.entry-choice-icon{align-self:center;width:8.75rem;height:8.75rem;fill:none;stroke:#00b088;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.entry-choice-icon-people{width:9.25rem;height:9.25rem;stroke-width:1.7}.entry-choice-card>span:last-child{align-self:end;margin-top:.7rem}.entry-details-shell{padding:1.5rem}.entry-details-layout{display:grid;justify-items:center;gap:1.25rem;width:min(100%,34rem)}.entry-details-panel{width:min(100%,34rem);padding:clamp(1.5rem,5vw,3rem);border:1px solid #33454d;border-radius:8px;background:#151b1e;box-shadow:0 1.5rem 4rem #00000059}.entry-back-button{margin:0 0 2.4rem;padding:0;border:0;color:#9aaab1;background:transparent;font-family:var(--ui-font-family);font-size:.82rem}.entry-back-button:hover:not(:disabled){color:#fff;background:transparent}.entry-details-panel h1{margin:0;color:#f1f6f8;font-family:var(--ui-font-family);font-size:clamp(1.6rem,5vw,2.35rem);font-weight:500}.entry-details-panel .text-field-label{color:#cbd7db;font-family:var(--ui-font-family)}.entry-details-panel .text-field{border-color:#44535b;color:#f4f8fa;background:#202a2f;font-family:var(--ui-font-family)}.entry-details-panel .text-field:focus{outline-color:#00b088}.entry-details-panel .primary-button{border-color:#00b088;color:#fff;background:#00b088;font-family:var(--ui-font-family)}.entry-details-panel .primary-button:hover:not(:disabled){background:#00c89a}.entry-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-bottom:1.15rem;padding:.25rem;border:1px solid #34434a;border-radius:6px;background:#101619}.entry-mode-switch button{border:0;color:#91a1a8;background:transparent;font-size:.82rem;font-weight:700}.entry-mode-switch button.selected{color:#fff;background:#00b088}.text-field-label{display:grid;gap:.4rem;margin-top:.8rem;color:#cbd7db;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.text-field{width:100%;padding:.72rem .78rem;border:1px solid #44535b;border-radius:5px;color:#f4f8fa;background:#202a2f;font:inherit;font-size:1rem;letter-spacing:.02em;text-transform:none}.text-field:focus{outline:2px solid #00b088;outline-offset:1px}.text-field-hint{color:#8e9da3;font-size:.7rem;font-weight:400;letter-spacing:0;line-height:1.35;text-transform:none}.lobby-shell{height:100%;min-height:100%;overflow-x:hidden;overflow-y:auto;color:#e9eff2;background:radial-gradient(circle at 85% 0%,rgb(25 56 67 / 28%),transparent 36%),#0c1012}.lobby-header,.lobby-content{width:min(100% - 2rem,86rem);margin:0 auto}.lobby-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:2rem 0 1.25rem}.lobby-header h1{margin:.45rem 0 0;color:#f1f6f8;font-size:clamp(1.8rem,4vw,3rem)}.lobby-header-actions,.lobby-code-row,.traffic-options{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.lobby-overview,.lobby-columns,.lobby-controls{border:1px solid #2e3e45;background:#151b1ee0;box-shadow:0 1rem 3rem #0000002e}.lobby-overview{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1rem,3vw,1.6rem)}.lobby-code{color:#f5fbfd;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:.14em;line-height:1}.lobby-code.hidden{letter-spacing:.2em}.lobby-stat{display:grid;justify-items:end;color:#93a2a8}.lobby-stat strong{color:#f5fbfd;font-size:1.65rem}.lobby-stat span{font-size:.75rem}.lobby-columns{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(0,1.65fr);gap:1px;margin-top:1rem;overflow:hidden}.lobby-panel{min-width:0;padding:clamp(1rem,2vw,1.4rem);background:#151b1e}.zones-panel{background:#111719}.lobby-panel-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.lobby-panel-heading h2,.lobby-controls h2{margin:0;color:#f1f6f8;font-size:1.15rem}.lobby-panel-heading>span{color:#7f9198;font-size:.72rem}.player-list{display:grid;gap:.55rem}.player-row{display:grid;grid-template-columns:1.7rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.7rem;border:1px solid #2d3b41;border-radius:5px;background:#1b2428}.player-row.current{border-color:#00b088;background:#064c42}.player-ready{display:grid;place-items:center;width:1.35rem;height:1.35rem;border:1px solid #5d6d73;border-radius:50%;color:#07170e;background:#1d292d;font-weight:900}.player-row:has(.player-ready:not(:empty)) .player-ready{border-color:#57d58d;background:#57d58d}.player-identity{display:grid;min-width:0;gap:.18rem}.player-identity strong,.player-zone{overflow:hidden;color:#edf5f7;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.player-identity span,.player-zone{color:#8fa0a6;font-size:.7rem}.ready-button,.start-button{width:100%;margin-top:1rem;border-color:#00b088;background:#00b088;font-weight:800}.zone-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.65rem}.zone-card{display:grid;min-width:0;padding:0;overflow:hidden;border-color:#34474f;border-radius:6px;text-align:left;background:#1b2529}.zone-card:hover:not(:disabled),.zone-card.selected{border-color:#00b088;background:#064c42}.zone-card:disabled{opacity:.58}.zone-card img,.zone-preview-fallback{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#050708}.zone-preview-fallback{display:grid;place-items:center;color:#00b088;font-size:1.5rem;font-weight:800}.zone-card-footer{display:grid;gap:.2rem;padding:.58rem .65rem .65rem}.zone-card-footer strong{color:#f1f6f8;font-size:.82rem}.zone-card-footer small{overflow:hidden;color:#8fa0a6;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.lobby-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(10rem,13rem);align-items:center;gap:1rem;margin:1rem 0 2rem;padding:1rem 1.2rem}.traffic-options button{min-width:4.5rem;text-transform:capitalize}.traffic-options button.selected{border-color:#00b088;color:#fff;background:#064c42}.lobby-controls{grid-template-columns:1fr;align-items:stretch}.lobby-controls-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.traffic-mode-controls{display:flex;align-items:center;gap:.65rem;margin-left:auto}.advanced-options-toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .1rem;border:0;color:var(--panel-text, #f1f6f8);background:transparent;font-size:.86rem;font-weight:700;white-space:nowrap}.advanced-options-toggle:hover:not(:disabled){color:var(--panel-text, #f1f6f8);background:transparent}.advanced-options-toggle svg{transition:transform .12s ease}.advanced-options-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.traffic-profile-editor{display:grid;gap:.85rem;min-width:0;text-align:left}.traffic-profile-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;padding:.85rem;border:1px solid var(--panel-border, #2e3e45);background:var(--panel-surface-raised, #1b2428)}.traffic-slider{display:grid;gap:.35rem;min-width:0;color:var(--panel-muted, #c9d4d8);font-size:.74rem}.traffic-slider>span{display:flex;justify-content:space-between;gap:.75rem}.traffic-slider output{color:var(--panel-text, #f1f6f8);font-variant-numeric:tabular-nums;white-space:nowrap}.traffic-slider small,.traffic-profile-description{color:var(--panel-dim, #9aaab1);font-size:.68rem;line-height:1.4}.traffic-slider small{min-height:1.9em}.traffic-slider input[type=range]{width:100%;accent-color:var(--panel-blue, #00b088)}.traffic-profile-section{min-width:0;margin:0;padding:.8rem;border:1px solid var(--panel-border, #2e3e45);background:var(--panel-surface-raised, #1b2428)}.traffic-profile-section summary{color:var(--panel-text, #f1f6f8);cursor:pointer;font-size:.78rem;font-weight:700}.traffic-profile-description{margin:.55rem 0 0}.traffic-number-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.55rem .8rem;margin-top:.8rem}.traffic-number-grid label{display:grid;grid-template-columns:minmax(0,1fr) 7rem;align-items:center;gap:.5rem;min-width:0;color:var(--panel-muted, #c9d4d8);font-size:.7rem}.traffic-number-grid label>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traffic-number-control{display:grid;grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;gap:.25rem;min-width:0}.traffic-number-control button{display:grid;place-items:center;width:2rem;min-width:2rem;height:2rem;min-height:2rem;aspect-ratio:1;padding:0;line-height:1;font-size:.95rem}.traffic-number-grid input[type=number]{width:100%;min-width:0;height:2rem;padding:.35rem .4rem;border:1px solid var(--panel-border, #2e3e45);border-radius:2px;color:var(--panel-text, #f1f6f8);background:var(--panel-surface-deep, #111719);font:inherit;font-size:.75rem;text-align:right;appearance:textfield}.traffic-number-grid input[type=number]::-webkit-inner-spin-button,.traffic-number-grid input[type=number]::-webkit-outer-spin-button{margin:0;appearance:none}.traffic-number-grid input[type=number]:focus{outline:2px solid var(--panel-blue, #00b088);outline-offset:1px}.traffic-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:.8rem}.traffic-profile-actions .ready-button{width:auto;margin-top:0}.traffic-profile-readonly{color:var(--panel-muted, #9aaab1);font-size:.72rem}@media(max-width:760px){.entry-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%}.entry-choice-card{width:100%;height:min(18.25rem,68vw);min-height:13rem}.entry-about-box,.entry-release-box{width:100%}.entry-choice-icon{width:min(8.75rem,26vw);height:min(8.75rem,26vw)}.lobby-header,.lobby-overview{align-items:flex-start;flex-direction:column}.lobby-columns,.lobby-controls{grid-template-columns:1fr}.lobby-controls .start-button{margin-top:0}.lobby-controls-heading{align-items:flex-start;flex-direction:column}.traffic-mode-controls{width:100%;margin-left:0}.traffic-mode-controls .traffic-options{justify-content:flex-start}.traffic-profile-sliders{grid-template-columns:1fr}.traffic-profile-actions{align-items:stretch;flex-direction:column}.traffic-profile-actions .ready-button{width:100%}}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:2.35rem;padding:.1rem .2rem;border-bottom:1px solid #000000;background:#fff}.topbar-left{display:flex;min-width:0;align-items:center;gap:.5rem;grid-column:1;justify-self:start}.pause-menu-toggle,.chat-toggle{display:grid;width:2rem;height:2rem;margin:0;padding:.25rem;place-items:center;border:1px solid #000000;border-radius:4px;color:#000;background:#fff}.pause-menu-toggle svg,.chat-toggle svg{width:1.2rem;height:1.2rem}.pause-menu-toggle:hover:not(:disabled),.pause-menu-toggle:focus-visible,.chat-toggle:hover:not(:disabled),.chat-toggle:focus-visible{color:#fff;background:#303030}.zone-label{grid-column:2;grid-row:1;color:#000;font-size:1.25rem;font-weight:700;line-height:1}.network-status{display:inline-flex;align-items:center;gap:.45rem;grid-column:3;grid-row:1;justify-self:end;color:#000;font-size:1.25rem}.network-bars{display:inline-flex;align-items:flex-end;gap:.12rem;height:1.25rem}.network-bar{width:.25rem;border:1px solid #000000;background:#fff}.network-bar:nth-child(1){height:.5rem}.network-bar:nth-child(2){height:.85rem}.network-bar:nth-child(3){height:1.2rem}.network-bar.active{background:#000}.latency-label{min-width:5rem;font-variant-numeric:tabular-nums}.map-viewport{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#000;cursor:grab}.map-viewport.dragging{cursor:grabbing}.map-scene{position:absolute;inset:0;z-index:0;transform-origin:0 0;--scene-inverse-scale: 1}.map-scene-annotation{transform:scale(var(--scene-inverse-scale));transform-origin:0 0}.tile-layer{position:absolute;inset:0;overflow:visible;background:#000;z-index:0}.map-tile,.map-tile-placeholder{position:absolute;display:block;max-width:none;pointer-events:none;transform-origin:0 0}.map-tile{pointer-events:none;image-rendering:auto}.map-tile-placeholder{background:#000}.platform-layer,.platform-hit-layer{position:absolute;inset:0;width:100%;height:100%}.platform-layer{z-index:1;overflow:visible;pointer-events:none}@keyframes platform-ready-flash{0%,49.999%{fill:#f0c600}50%,to{fill:#f4f4f4}}@keyframes platform-overdue-flash{0%,49.999%{fill:#ff2929}50%,to{fill:#f4f4f4}}.platform-glyph-ready .platform-glyph-fill{animation:platform-ready-flash 1s steps(1,end) infinite}.platform-glyph-overdue .platform-glyph-fill{animation:platform-overdue-flash 1s steps(1,end) infinite}.platform-hit-layer{z-index:1;pointer-events:none}.platform-hit-target{position:absolute;padding:0;border:0;border-radius:2px;opacity:0;pointer-events:auto;background:transparent;appearance:none;outline:none}.train-layer{position:absolute;inset:0;z-index:1;overflow:visible;pointer-events:none}.train-describer-block{position:absolute;display:grid;place-items:center;width:3.675rem;height:1.35rem;margin:0;padding:0;overflow:hidden;border:1px solid #0b4d17;border-radius:1px;color:#06210a;background:#00d52a;box-shadow:none;font-family:var(--ui-font-family);font-size:1.1rem;font-weight:900;letter-spacing:.01em;line-height:1;text-overflow:clip;white-space:nowrap;transform:translate(-50%,-50%);pointer-events:auto;appearance:none}.train-describer-block.lateness-on-time{border-color:#0b4d17;color:#06210a;background:#00d52a}.train-describer-block.lateness-yellow{border-color:#846900;color:#332900;background:#f5d335}.train-describer-block.lateness-orange{border-color:#8d4500;color:#351900;background:#ff922e}.train-describer-block.lateness-red{border-color:#8d151b;color:#fff4f4;background:#ed303b}.train-describer-text{max-width:100%;margin:0;padding:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.train-describer-block:focus-visible,.train-describer-block.selected{outline:2px solid #ffffff;outline-offset:1px}.train-describer-block.spad{box-shadow:0 0 0 3px #ff1717}.train-describer-block.selected{border-color:#fff;box-shadow:0 0 0 1px #00b088}.train-describer-block.spad.selected{box-shadow:0 0 0 2px #00b088,0 0 0 4px #ff1717}.train-describer-panel{position:absolute;z-index:4;width:270px;height:116px;min-height:116px;padding:0;overflow:hidden;border:0;border-radius:0;color:#f2f2f2;background:#373536;box-shadow:0 .5rem 1.3rem #0000006b;font-weight:700;-webkit-user-select:none;user-select:none}.train-describer-panel-heading{display:flex;align-items:center;justify-content:space-between;height:39px;padding:3px 7px 0 6px}.train-describer-panel-heading>strong{color:#eee;font-size:2rem;font-weight:800;letter-spacing:-.06em;line-height:.95}.train-describer-panel-identity{display:flex;align-items:flex-start;flex-direction:column;padding-top:1px;color:#aeb0b1;line-height:1}.train-describer-panel-identity span{font-size:.75rem;font-weight:700}.train-describer-panel-identity strong{color:#aeb0b1;font-size:1rem;font-weight:700;line-height:1.05}.train-describer-panel-destination{height:27px;margin:0;padding:6px 8px 0;color:#f4f4f4;background:#4a4849;font-size:.9rem;font-weight:800;line-height:1;text-align:center}.train-describer-panel-footer{display:flex;align-items:flex-end;justify-content:space-between;height:50px;padding:5px 8px 7px}.train-describer-panel-next-stop{display:flex;align-items:flex-start;flex-direction:column;gap:3px;min-width:0}.train-describer-panel-next-stop span{color:#9b9b9b;font-size:.72rem;font-weight:700;line-height:1}.train-describer-panel-next-stop strong{overflow:hidden;color:#f4f4f4;font-size:.9rem;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap}.train-describer-status{color:#48e33f!important;font-size:1.05rem;font-weight:800;line-height:1}.train-describer-panel.lateness-yellow .train-describer-status{color:#ffe044!important}.train-describer-panel.lateness-orange .train-describer-status{color:#ff9d32!important}.train-describer-panel.lateness-red .train-describer-status{color:#ff4d55!important}.signal-layer,.signal-hit-layer{position:absolute;inset:0;width:100%;height:100%}.signal-layer{z-index:2;overflow:visible;pointer-events:none}.signal-hit-layer{z-index:3;pointer-events:none}.signal-hit-target{position:absolute;width:2.2rem;height:2.2rem;padding:0;border:0;border-radius:50%;transform:translate(-50%,-50%) scale(var(--scene-inverse-scale, 1));opacity:0;pointer-events:auto;background:transparent;appearance:none;outline:none}.signal-tooltip{position:absolute;z-index:4;width:292px;max-width:calc(100% - 1rem);height:124px;min-height:124px;padding:7px 9px 3px;border:0;border-radius:2px;color:#f2f2f2;background:#383637;box-shadow:0 .5rem 1.3rem #0000006b;font-family:var(--ui-font-family);font-weight:700;-webkit-user-select:none;user-select:none}.signal-tooltip-info-open{z-index:5}.platform-tooltip{width:258px;height:115px;min-height:115px;padding:4px 9px 5px;background:#373536f0;text-align:center}.platform-tooltip-station{color:#d7d5d6;font-size:20px;font-weight:700;line-height:23px;white-space:nowrap}.platform-tooltip-number{margin-top:0;color:#fff;font-size:29px;font-weight:800;line-height:33px;white-space:nowrap}.platform-tooltip-actions{display:flex;align-items:center;gap:10px;margin-top:3px}.platform-camera{flex:0 0 120px;width:120px;height:43px;margin:0;padding:0;border:2px solid #f2f2f2;border-radius:0;color:#fff;background:#9300cf;font-size:23px;font-weight:800;line-height:1}.platform-camera:hover:not(:disabled){background:#a817df}.platform-tooltip-operation{flex:1 1 auto;margin:0;color:#d4d0d1;font-size:18px;font-weight:700;line-height:19px;text-align:center}.signal-tooltip:before,.signal-tooltip:after{position:absolute;z-index:1;width:0;height:0;border-style:solid;content:"";pointer-events:none}.signal-tooltip:after{z-index:2}.signal-tooltip-below:before{top:calc(-1.12rem + 1px);left:var(--signal-arrow-offset);transform:translate(-50%);border-width:0 1.12rem 1.12rem;border-color:transparent transparent #34383d}.signal-tooltip-below:after{top:calc(-.86rem + 1px);left:var(--signal-arrow-offset);transform:translate(-50%);border-width:0 .86rem .86rem;border-color:transparent transparent #373536}.signal-tooltip-above:before{top:calc(100% - 1px);left:var(--signal-arrow-offset);transform:translate(-50%);border-width:1.12rem 1.12rem 0;border-color:#34383d transparent transparent}.signal-tooltip-above:after{top:calc(100% - 1px);left:var(--signal-arrow-offset);transform:translate(-50%);border-width:.86rem .86rem 0;border-color:#373536 transparent transparent}.signal-tooltip-right:before{top:var(--signal-arrow-offset);left:calc(-1.12rem + 1px);transform:translateY(-50%);border-width:1.12rem 1.12rem 1.12rem 0;border-color:transparent #34383d transparent transparent}.signal-tooltip-right:after{top:var(--signal-arrow-offset);left:calc(-.86rem + 1px);transform:translateY(-50%);border-width:.86rem .86rem .86rem 0;border-color:transparent #373536 transparent transparent}.signal-tooltip-left:before{top:var(--signal-arrow-offset);right:calc(-1.12rem + 1px);transform:translateY(-50%);border-width:1.12rem 0 1.12rem 1.12rem;border-color:transparent transparent transparent #34383d}.signal-tooltip-left:after{top:var(--signal-arrow-offset);right:calc(-.86rem + 1px);transform:translateY(-50%);border-width:.86rem 0 .86rem .86rem;border-color:transparent transparent transparent #373536}.signal-tooltip-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:0 12px 3px 2px}.signal-tooltip-heading strong{font-size:34px;font-weight:800;line-height:1;letter-spacing:-.04em}.signal-tooltip-heading span{color:#c7c9ca;font-size:24px;font-weight:700}.signal-control-row{display:flex;align-items:flex-start;justify-content:center;gap:10px;padding-bottom:14px}.signal-uncontrollable-row{display:flex;align-items:center;justify-content:center;gap:.48rem;padding-bottom:1.35rem}.signal-not-controllable{color:#8a8f94;font-size:.95rem;font-weight:700;line-height:1;text-transform:lowercase}.signal-control-slot{position:relative;display:flex;flex:0 0 44px;align-items:center;justify-content:flex-start;width:44px;min-width:0;flex-direction:column}.signal-control-slot-double-yellow{flex-basis:20px;width:20px}.signal-control,.signal-info-action{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:50%;color:#fff;font-family:var(--ui-font-family);font-size:1.75rem;font-weight:900;letter-spacing:-.06em;line-height:.9;text-shadow:0 1px 2px rgb(0 0 0 / 35%);-webkit-text-stroke:.022em currentColor}.signal-control-red{background:#650000}.signal-control-yellow{background:#5d3d00;color:#fff}.signal-control-row.semi-caution .signal-control-yellow{background:#5d3d00}.signal-control-double-yellow{flex-basis:44px;width:20px;min-width:20px;height:44px;min-height:44px;border-radius:999px;background:#5d3d00}.signal-control-green{background:#006f0b}.signal-control-red.current{background:#ff1717}.signal-control-yellow.current,.signal-control-double-yellow.current{background:#f3c400}.signal-control-green.current{background:#00c900}.signal-control.selected{box-shadow:0 0 0 2px #00b088,0 0 0 4px #00b08861}.signal-control:disabled{opacity:1;cursor:not-allowed;color:transparent;box-shadow:none}.signal-control-double-yellow.current{background:#f3c400}.signal-control-green:disabled{color:#8a8f94;background:transparent;text-shadow:none}.signal-control.current:disabled{color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / 35%)}.signal-control.selected:disabled{box-shadow:0 0 0 2px #00b088,0 0 0 4px #00b08861}.signal-control:not(:disabled){cursor:pointer}.signal-control:not(:disabled):focus-visible{filter:brightness(1.18);outline:2px solid #ffffff;outline-offset:2px}.signal-info-action{flex-basis:44px;background:#5b5a59;font-size:1.35rem}.signal-info-action svg{display:block;width:1.22rem;height:1.22rem;fill:#fff}.signal-tooltip .signal-control-row{gap:10px}.signal-tooltip .signal-control-slot{flex-basis:52px;width:52px}.signal-tooltip .signal-control-slot-double-yellow{flex-basis:26px;width:26px}.signal-tooltip .signal-control,.signal-tooltip .signal-info-action{flex-basis:52px;width:52px;height:52px}.signal-tooltip .signal-control-double-yellow{flex-basis:52px;width:26px;min-width:26px;height:52px;min-height:52px}.signal-tooltip .signal-info-action svg{width:26px;height:26px}.signal-auto-indicator{position:absolute;top:calc(100% + 3px);left:50%;display:flex;align-items:center;flex-direction:column;gap:1px;color:#f4df00;font-size:10px;font-weight:900;line-height:1;white-space:nowrap;transform:translate(-50%)}.signal-tooltip .signal-auto-indicator{top:calc(100% + 6px);font-size:12px}.signal-auto-triangle{width:.58rem;height:.38rem;background:#f4df00;clip-path:polygon(50% 0,100% 100%,0 100%)}.signal-info-panel{position:absolute;z-index:5;top:0;right:0;bottom:0;display:block;width:min(20rem,calc(100% - 1rem));max-width:100%;overflow-x:hidden;overflow-y:auto;padding:.85rem .7rem .75rem;color:#171619;background:#c3bcbd;box-shadow:-.55rem 0 1.3rem #0000004d;font-family:var(--ui-font-family);font-weight:600;touch-action:auto;-webkit-user-select:none;user-select:none}.signal-info-display{position:relative;min-height:6.2rem;margin:.05rem .05rem .72rem;padding:.45rem 2.8rem .65rem .55rem;color:#f2f1f1;background:#000}.signal-info-display-id{overflow:hidden;font-size:2.2rem;font-weight:800;letter-spacing:-.035em;line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:nowrap}.signal-info-display-aspect{font-size:1.65rem;font-weight:900;line-height:1.1;text-align:center}.signal-info-lamp-stack{position:absolute;top:.5rem;bottom:.5rem;right:1rem;display:flex;align-items:center;flex-direction:column-reverse;justify-content:space-between}.signal-info-lamp{display:block;width:1.15rem;height:1.15rem;border-radius:50%;background:#686868}.signal-info-heading{margin:.5rem 0 .3rem;padding-bottom:.23rem;color:#686467;font-size:1rem;font-weight:800;line-height:1.2;text-align:center}.signal-info-centered-value{color:#171619;font-size:1.05rem;font-weight:800;line-height:1.25;text-align:center}.signal-info-train-list{display:grid;gap:.25rem}.signal-info-block-box{display:grid;min-height:7rem;margin:.2rem .05rem 0;padding:.35rem;align-content:start;gap:.25rem;border:2px solid #171619;background:transparent}.signal-info-train-row{display:grid;grid-template-columns:auto 1fr;gap:.12rem .42rem;align-items:baseline;padding:.25rem .35rem;border:1px solid rgb(23 22 25 / 55%);color:#171619;background:#ffffff38;font-size:.78rem;line-height:1.15}.signal-info-train-headcode{display:inline-grid;place-items:center;min-width:2.45rem;height:.9rem;padding:0 .12rem;border:1px solid #0b4d17;border-radius:1px;color:#06210a!important;background:#00d52a;font-size:.52rem;font-weight:900!important;letter-spacing:.01em;line-height:1}.signal-info-train-row strong:not(.signal-info-train-headcode){color:#0b5d1e;font-weight:900}.signal-info-train-row span{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.signal-info-train-row small{grid-column:1 / -1;color:#686467;font-size:.65rem;font-weight:800;text-transform:capitalize}.signal-info-platform-state{margin:.28rem .05rem 0;color:#fff;background:#5d5d60;font-size:.75rem;font-weight:900;line-height:1.2;text-align:center;text-transform:capitalize}.signal-info-platform-state-loading{background:#b17700}.signal-info-platform-state-ready{background:#168f45}.signal-info-platform-state-overdue{background:#a90000}.signal-info-divider{height:2px;margin:.7rem .05rem;background:#171619}.signal-info-platform-tag{margin:.25rem .05rem 0;padding:.2rem .25rem;color:#fff;background:#5d5d60;font-size:1.7rem;font-weight:800;line-height:1.2;text-align:center}.signal-info-driver{padding:.25rem 0;color:#a7a1a3;font-size:1.05rem;font-weight:800;line-height:1.25;text-align:center}.signal-info-rollback{display:block;width:calc(100% - .1rem);margin:.1rem .05rem 0;padding:.35rem .3rem;border:2px solid #f2f2f2;border-radius:0;color:#f3f3f3;background:#67707c;font-size:1.35rem;font-weight:800;line-height:1.2;text-align:center}.signal-info-rollback:hover:not(:disabled){background:#75808e}.signal-info-rollback.disabled{background:#00b088}.signal-info-panel p{margin:.28rem 0;color:#171619;font-size:.85rem;font-weight:600;line-height:1.25;text-align:center}.signal-info-controls{margin:0 .05rem;padding:.45rem .1rem 0;background:#5d5d60}.signal-info-controls .signal-info-heading{margin:0 0 .3rem;color:#fff}.signal-info-controls .signal-control-row{padding-bottom:1.35rem}.signal-info-camera{display:block;width:calc(100% - .1rem);margin:.5rem .05rem 0;padding:.3rem .25rem;border:2px solid #f2f2f2;border-radius:0;color:#fff;background:#9300cf;font-size:1.6rem;font-weight:800;line-height:1.2;text-align:center}.signal-info-camera:hover:not(:disabled){background:#a817df}.bottom-bar{position:relative;display:flex;align-items:center;justify-content:space-between;flex:0 0 3.6rem;padding:0 .3rem;color:#eee;background:#1d1d1d;border-top:1px solid #303030;font-size:clamp(1rem,1.7vw,1.55rem);line-height:1}.signal-processing{position:absolute;top:50%;left:50%;color:#f4df00;font-size:.9rem;font-weight:700;line-height:1;pointer-events:none;transform:translate(-50%,-50%)}.bottom-bar-side{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.footer-arrow{display:grid;place-items:center;width:1.6rem;height:1.6rem;color:#fff;background:#00b088;font-size:1.05rem}.loading{display:grid;place-items:center;width:100%;height:100%;color:#93a1a8;font-size:.9rem}.map-assets-loading{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:1rem;background:#000000e0;cursor:wait}.map-assets-loading-card{display:grid;justify-items:center;gap:.75rem;width:min(28rem,100%);padding:2rem;border:1px solid #3c5158;color:#f1eeee;background:#202020;text-align:center}.map-assets-loading-card strong{font-size:1.05rem}.map-assets-loading-card p{margin:0;color:#93a1a8;font-size:.85rem;line-height:1.45}.map-assets-loading-card progress{display:block;width:min(20rem,100%);height:.7rem;border:1px solid #3c5158;border-radius:0;accent-color:#00b088;appearance:none;background:#0b0f10}.map-assets-loading-card progress::-webkit-progress-bar{border-radius:0;background:#0b0f10}.map-assets-loading-card progress::-webkit-progress-value{border-radius:0;background:#00b088}.map-assets-loading-card progress::-moz-progress-bar{border-radius:0;background:#00b088}.map-assets-loading-progress{color:#93a1a8;font-size:.78rem;font-variant-numeric:tabular-nums}.viewport-status{position:absolute;right:.8rem;bottom:.7rem;display:flex;gap:.8rem;padding:.38rem .55rem;border:1px solid rgb(82 98 106 / 55%);border-radius:4px;color:#a8b4b9;background:#111518db;font-size:.7rem}.connection-lost-overlay{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:1rem;background:#0000009e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.connection-lost-popup{display:grid;justify-items:center;gap:.8rem;width:min(100%,22rem);padding:1.5rem;border:2px solid #ff1717;border-radius:2px;color:#f2f2f2;background:#383637;box-shadow:0 1rem 3rem #00000073;text-align:center}.connection-lost-icon{color:#ff1717}.connection-lost-popup h2{margin:0;font-size:1.15rem}.connection-lost-status{display:inline-flex;align-items:center;gap:.45rem;color:#c7c9ca;font-size:.78rem}.connection-lost-spinner{animation:connection-lost-spin 1s linear infinite}.feedback-popup.reconnect-popup{border-color:#f3c400}.reconnect-icon{flex:0 0 auto;margin-top:.1rem;color:#ff922e}.reconnect-copy{color:#c7c9ca;font-size:.82rem;line-height:1.45}.reconnect-popup .feedback-popup-copy>strong{color:#f3c400}.reconnect-popup .reconnect-copy strong{display:inline;color:#f3c400;font-size:inherit;letter-spacing:.08em}.reconnect-popup .reconnect-error{max-width:100%;margin:0;color:#ff9d32;font-size:.78rem;line-height:1.4}.reconnect-actions{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;margin-top:.7rem}.reconnect-button{border-color:#f3c400;color:#171619;background:#f3c400;font-weight:800}.reconnect-button:hover:not(:disabled){border-color:#ffcf1a;background:#ffcf1a}.reconnect-dismiss{border-color:#777476;color:#f2f2f2;background:transparent}.feedback-popup{position:fixed;z-index:30;top:1rem;left:50%;display:flex;align-items:flex-start;gap:.8rem;width:min(34rem,calc(100vw - 2rem));padding:.9rem 1rem;border:2px solid #ff4d55;border-radius:4px;color:var(--panel-text, #f2f2f2);background:#383637fa;box-shadow:0 .8rem 2rem #00000073;transform:translate(-50%);animation:feedback-popup-enter .16s ease-out}.feedback-popup-success{border-color:#00d6a5}.feedback-popup-copy{min-width:0;flex:1}.feedback-popup-copy strong{display:block;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.feedback-popup-copy p{margin:.2rem 0 0;color:var(--panel-muted, #c7c9ca);font-size:.82rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.feedback-popup-dismiss{display:grid;width:1.55rem;height:1.55rem;flex:0 0 auto;place-items:center;margin:-.25rem -.35rem 0 0;padding:0;border:1px solid transparent;border-radius:3px;color:var(--panel-muted, #c7c9ca);background:transparent;font-size:1.25rem;line-height:1}.feedback-popup-dismiss:hover:not(:disabled),.feedback-popup-dismiss:focus-visible{border-color:var(--panel-muted, #c7c9ca);color:#fff;background:#ffffff1a}@keyframes feedback-popup-enter{0%{opacity:0;transform:translate(-50%,-.5rem)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.feedback-popup{animation:none}}@keyframes connection-lost-spin{to{transform:rotate(360deg)}}.debug-overlay{position:absolute;z-index:8;top:0;right:0;bottom:0;display:flex;width:min(45rem,100%);flex-direction:column;overflow:hidden;padding:.9rem;border-left:1px solid #40535b;color:#dce8ec;background:#0c1215f7;box-shadow:-.8rem 0 2rem #0006;font-size:.72rem;touch-action:auto;-webkit-user-select:text;user-select:text}.debug-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid #304149}.debug-kicker{color:#64d2ef;font-size:.62rem;font-weight:800;letter-spacing:.15em}.debug-header h2{margin:.2rem 0 0;color:#fff;font-size:1.15rem;font-weight:800}.debug-close{display:grid;place-items:center;width:1.8rem;height:1.8rem;padding:0;border-color:#536870;color:#fff;background:#25343a;font-size:1.25rem;line-height:1}.debug-recorder{display:grid;gap:.55rem;margin-top:.65rem;padding:.62rem .68rem;border:1px solid #344a53;border-radius:3px;background:#121e23}.debug-recorder.active{border-color:#9b3f46;background:#25191c;box-shadow:inset 3px 0 #ee5962}.debug-recorder.error{border-color:#9b3f46;box-shadow:inset 3px 0 #ee5962}.debug-recorder.error .debug-recorder-state{color:#ffe5e6;background:#682a30}.debug-recorder.error .debug-recorder-state:before{background:#ff6871}.debug-recorder-main{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:.7rem}.debug-recorder-copy{display:grid;min-width:0;gap:.16rem}.debug-recorder-copy strong{color:#f2f8fa;font-size:.72rem}.debug-recorder-copy span{color:#9bafb6;font-size:.62rem;line-height:1.35}.debug-recorder-copy code{overflow:hidden;color:#74cde4;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.debug-recorder-state{display:inline-flex;flex:0 0 auto;align-items:center;gap:.28rem;padding:.18rem .32rem;border-radius:999px;color:#aebdc2;background:#26363c;font-size:.58rem;font-weight:800;text-transform:uppercase}.debug-recorder-state:before{width:.38rem;height:.38rem;border-radius:50%;background:#73858b;content:""}.debug-recorder.active .debug-recorder-state{color:#ffe5e6;background:#682a30}.debug-recorder.active .debug-recorder-state:before{background:#ff6871;box-shadow:0 0 0 3px #ff687126}.debug-recorder-actions{display:flex;flex-wrap:wrap;gap:.38rem}.debug-recorder-actions button,.debug-recorder-actions a{display:inline-flex;min-height:1.8rem;align-items:center;justify-content:center;padding:.34rem .55rem;border:1px solid #4d707d;border-radius:3px;color:#eaf9fd;background:#1c4d5d;font:inherit;font-size:.63rem;font-weight:800;line-height:1;text-decoration:none}.debug-recorder-actions button:hover:not(:disabled),.debug-recorder-actions a:hover{border-color:#72d8f2;background:#24677b}.debug-recorder-actions button:disabled{cursor:wait;opacity:.55}.debug-recorder-actions .debug-recorder-stop{border-color:#86464b;background:#6c2a30}.debug-recorder-actions .debug-recorder-stop:hover:not(:disabled){border-color:#ff7a82;background:#8a343b}.debug-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;padding:.7rem 0}.debug-summary>div{display:grid;min-width:0;padding:.42rem .28rem;border:1px solid #2e424a;background:#172328;text-align:center}.debug-summary strong{color:#e9f8fc;font-size:1.05rem;line-height:1.1}.debug-summary span{overflow:hidden;margin-top:.18rem;color:#91a5ad;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.debug-summary-red{color:#f77!important}.debug-summary-yellow{color:#f6d66b!important}.debug-summary-green{color:#6ee993!important}.debug-summary-purple{color:#d4a6ff!important}.debug-tabs{display:flex;gap:.35rem;padding-bottom:.6rem}.debug-tabs button{flex:1;padding:.42rem .5rem;border-color:#344b55;border-radius:3px;color:#a9bbc1;background:#172328;font-size:.7rem;font-weight:800}.debug-tabs button.active,.debug-tabs button:hover:not(:disabled){border-color:#51c7e7;color:#fff;background:#1c5364}.debug-search{display:flex;align-items:center;gap:.55rem;padding-bottom:.65rem;color:#8fa4ac;font-size:.66rem;font-weight:800;text-transform:uppercase}.debug-search input{min-width:0;flex:1;padding:.42rem .55rem;border:1px solid #38515b;border-radius:3px;outline:none;color:#e8f2f5;background:#10191d;font:inherit;text-transform:none}.debug-search input:focus{border-color:#65d4f1;box-shadow:0 0 0 2px #65d4f12e}.debug-content-grid{display:grid;min-height:0;flex:1;grid-template-columns:minmax(12rem,.82fr) minmax(16rem,1.18fr);gap:.55rem}.debug-list,.debug-conflict-list,.debug-detail{min-height:0;overflow:auto}.debug-list{display:grid;align-content:start;gap:.28rem;padding-right:.25rem}.debug-list-row,.debug-conflict-row{display:block;width:100%;padding:.48rem .55rem;border:1px solid #2b414a;border-radius:3px;color:#dce9ed;background:#162227;font-size:.68rem;text-align:left}.debug-list-row:hover:not(:disabled),.debug-list-row.selected,.debug-conflict-row:hover:not(:disabled),.debug-conflict-row.active{border-color:#52c7e8;background:#1c3b46}.debug-list-row-heading,.debug-conflict-heading{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.debug-list-row-heading strong,.debug-conflict-heading strong{overflow:hidden;color:#fff;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.debug-list-row small,.debug-conflict-row small{display:block;overflow:hidden;margin-top:.28rem;color:#91a8b0;font-size:.62rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.debug-aspect,.debug-phase,.debug-conflict-status{flex:0 0 auto;padding:.12rem .25rem;border-radius:2px;color:#fff;background:#52636a;font-size:.58rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.debug-aspect-red{background:#a6262b}.debug-aspect-yellow,.debug-aspect-double-yellow{color:#1e1b0c;background:#e4bd38}.debug-aspect-green,.debug-aspect-white{color:#0a2413;background:#5fe28a}.debug-aspect-off,.debug-aspect-unknown{background:#566169}.debug-phase{background:#315c69}.debug-detail{padding:.58rem .65rem;border:1px solid #2c444d;background:#111b1f}.debug-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:1px solid #2d4149}.debug-detail-heading strong{display:block;color:#fff;font-size:1rem;line-height:1.1}.debug-detail-heading small{display:block;margin-top:.2rem;color:#8da2aa;font-size:.63rem}.debug-key-value{display:grid;grid-template-columns:minmax(6rem,.72fr) minmax(0,1.28fr);gap:.45rem;padding:.24rem 0;border-bottom:1px solid rgb(54 74 82 / 45%);line-height:1.25}.debug-key-value span,.debug-label{color:#8ea3aa}.debug-key-value strong{overflow-wrap:anywhere;color:#e5f0f3;font-weight:700;text-align:right}.debug-heading{margin:.85rem 0 .35rem;padding-bottom:.22rem;border-bottom:1px solid #35505a;color:#65d2ee;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.debug-reason-list{display:grid;gap:.28rem;margin:0;padding-left:1.1rem;color:#e1ecef;line-height:1.35}.debug-compact-list{display:flex;flex-wrap:wrap;align-items:center;gap:.28rem;color:#d4e0e4;line-height:1.3}.debug-chip{padding:.22rem .3rem;border:1px solid #38515b;border-radius:2px;color:#bcd0d6;background:#1a2a30;font-size:.6rem}.debug-chip.active{border-color:#d66a6a;color:#ffd2d2;background:#4d2227}.debug-conflict-items{display:grid;gap:.38rem}.debug-conflict-item{display:grid;gap:.25rem}.debug-conflict-rules{display:grid;gap:.12rem;padding-left:.35rem;color:#8fa7af;font-size:.58rem;line-height:1.25}.debug-route-window{display:flex;flex-wrap:wrap;gap:.28rem;padding:.4rem 0}.debug-route-window span{padding:.25rem .32rem;border:1px solid #354b54;color:#9fb4bb;background:#17252a;font-size:.59rem}.debug-route-window span.stop{border-color:#7d6332;color:#f4d784}.debug-route-window span.current{border-color:#64d4f0;color:#fff;background:#1b5668}.debug-route-window span.next{box-shadow:inset 0 -2px #61e48b}.debug-conflict-list{display:grid;align-content:start;gap:.3rem}.debug-conflict-heading{justify-content:flex-start}.debug-conflict-heading span[aria-hidden=true]{color:#6e8d98}.debug-conflict-status{margin-left:auto;color:#aab9bd;background:#35454a}.debug-conflict-row.active .debug-conflict-status{color:#ffe1e1;background:#a6262b}.debug-empty{display:grid;min-height:5rem;place-items:center;padding:1rem;color:#91a5ad;text-align:center}.debug-updated{flex:0 0 auto;padding-top:.55rem;color:#6e858e;font-size:.6rem;text-align:right}@media(max-width:600px){.topbar{min-height:2.35rem}.debug-overlay{width:100%;padding:.65rem}.debug-content-grid{grid-template-columns:1fr;grid-template-rows:minmax(8rem,.8fr) minmax(12rem,1.2fr)}.bottom-bar{flex-basis:3rem;font-size:.95rem}.footer-arrow{width:1.35rem;height:1.35rem;font-size:.9rem}}:root{--panel-surface: #383637;--panel-surface-raised: #4a4849;--panel-surface-deep: #272526;--panel-border: #171617;--panel-text: #f2f2f2;--panel-muted: #c7c9ca;--panel-dim: #9b9b9b;--panel-blue: #00b088;--signal-blue: #168fc9}.menu-shell,.entry-choice-shell,.entry-details-shell,.lobby-shell{--panel-surface: #383637;--panel-surface-raised: #4a4849;--panel-surface-deep: #272526;--panel-border: #171617;--panel-text: #f2f2f2;--panel-muted: #c7c9ca;--panel-dim: #9b9b9b;--panel-blue: #00b088;color:var(--panel-text);background:#202020}.menu-shell,.entry-choice-shell,.entry-details-shell,.lobby-shell{background-color:#050505;background-image:linear-gradient(#000000a3,#000000a3),url(/backgrounds/signalling-map.png);background-position:center;background-attachment:fixed;background-size:cover}.menu-shell,.entry-choice-shell,.entry-details-shell,.lobby-shell{font-family:var(--ui-font-family)}.menu-card,.entry-details-panel,.lobby-overview,.lobby-columns,.lobby-controls{border:0;border-radius:2px;background:var(--panel-surface);box-shadow:0 .5rem 1.3rem #0000006b}.menu-card{padding:clamp(1.3rem,5vw,2.4rem)}.menu-card h1,.entry-choice-content h1,.entry-details-panel h1,.lobby-header h1,.lobby-panel-heading h2,.lobby-controls h2{color:var(--panel-text)}.lobby-panel-heading>span,.menu-status{color:var(--panel-muted)}.entry-choice-content h1{margin-bottom:1.6rem;font-weight:700}.entry-choice-card{border-color:var(--panel-border);border-radius:2px;color:var(--panel-text);background:var(--panel-surface);box-shadow:0 .5rem 1.3rem #0000006b;font-family:var(--ui-font-family);transition:background .14s ease,border-color .14s ease}.entry-about-box,.entry-release-box{border:0;border-radius:2px;background:var(--panel-surface);box-shadow:0 .5rem 1.3rem #0000006b}.entry-release-header{border-bottom-color:var(--panel-border)}.entry-release-eyebrow{color:var(--panel-blue)}.entry-release-box h2{color:var(--panel-text)}.entry-release-meta{color:var(--panel-dim)}.entry-release-meta span{color:var(--panel-text)}.entry-release-post{color:var(--panel-muted)}.entry-release-post h3,.entry-release-post h4{color:var(--panel-text)}.entry-release-post a{color:#b7f9e9}.entry-release-post code{color:var(--panel-text);background:var(--panel-surface-deep)}.entry-about-box h2{color:var(--panel-text);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.entry-about-copy{color:var(--panel-muted)}.entry-about-disclaimer{color:var(--panel-dim)}.entry-about-details{color:var(--panel-muted)}.entry-discord-button{border-color:var(--panel-blue);border-radius:2px;color:var(--panel-text);background:transparent;text-transform:uppercase}.entry-discord-button:hover,.entry-discord-button:focus-visible{border-color:var(--panel-blue);color:#fff;background:#00b0882e}.entry-choice-card:hover:not(:disabled){border-color:var(--panel-blue);background:var(--panel-surface-raised);box-shadow:0 .5rem 1.3rem #0000006b;transform:none}.entry-choice-card-join:hover:not(:disabled){transform:none}.entry-choice-card:focus-visible{outline:2px solid var(--panel-blue);outline-offset:2px}.entry-choice-icon{stroke:var(--panel-text)}.entry-choice-card:hover .entry-choice-icon,.entry-choice-card:focus-visible .entry-choice-icon{stroke:#fff}.entry-details-shell{padding:1rem}.entry-details-panel{padding:clamp(1.2rem,5vw,2rem)}.entry-back-button{margin-bottom:1.8rem;color:var(--panel-muted)}.entry-back-button:hover:not(:disabled){color:var(--panel-text)}.entry-details-panel .text-field-label,.text-field-label{color:var(--panel-muted)}.entry-details-panel .text-field,.text-field,.menu-shell .text-field{border-color:var(--panel-border);border-radius:2px;color:var(--panel-text);background:var(--panel-surface-raised);font-family:var(--ui-font-family)}.entry-details-panel .text-field:focus,.text-field:focus{outline-color:var(--panel-blue)}.entry-details-panel .primary-button,.menu-shell .primary-button,.lobby-shell .ready-button,.lobby-shell .start-button{border-color:var(--panel-blue);border-radius:2px;color:#fff;background:var(--panel-blue);font-family:var(--ui-font-family)}.entry-details-panel .primary-button:hover:not(:disabled),.menu-shell .primary-button:hover:not(:disabled),.lobby-shell .ready-button:hover:not(:disabled),.lobby-shell .start-button:hover:not(:disabled){background:#1ca8e4}.entry-mode-switch{border-color:var(--panel-border);border-radius:2px;background:var(--panel-surface-deep)}.entry-mode-switch button.selected{background:var(--panel-blue)}.menu-shell .zone-choice{border-color:var(--panel-border);border-radius:2px;color:var(--panel-muted);background:var(--panel-surface-raised)}.menu-shell .zone-choice:hover{border-color:var(--panel-blue);background:var(--panel-surface-raised)}.menu-shell .zone-choice.selected{border-color:var(--panel-blue);color:#fff;background:#064c42;box-shadow:none}.lobby-header{padding-top:1.2rem;padding-bottom:1rem}.lobby-header h1{margin-top:0}.lobby-header-actions button,.lobby-code-row button,.traffic-options button{border-color:var(--panel-border);border-radius:2px;color:var(--panel-text);background:var(--panel-surface-raised);font-family:var(--ui-font-family)}.lobby-header-actions button:hover:not(:disabled),.lobby-code-row button:hover:not(:disabled),.traffic-options button:hover:not(:disabled){border-color:var(--panel-blue);background:#064c42}.lobby-overview,.lobby-controls{padding:clamp(1rem,3vw,1.4rem)}.lobby-columns{gap:1px;background:var(--panel-border)}.lobby-panel,.zones-panel{background:var(--panel-surface)}.zones-panel{background:#373536}.player-row{border-color:var(--panel-border);border-radius:2px;background:var(--panel-surface-raised)}.player-row.current{border-color:var(--panel-blue);background:#064c42}.player-ready{border-color:#777576;border-radius:2px;background:var(--panel-surface-deep)}.player-row:has(.player-ready:not(:empty)) .player-ready{border-color:#168c53;background:#48e33f}.player-identity strong,.player-zone,.zone-card-footer strong{color:var(--panel-text)}.player-identity span,.player-zone,.zone-card-footer small{color:var(--panel-muted)}.zone-card{border-color:var(--panel-border);border-radius:2px;background:var(--panel-surface-raised)}.zone-card:hover:not(:disabled),.zone-card.selected{border-color:var(--panel-blue);background:#064c42}.zone-card-footer{background:var(--panel-surface-raised)}.zone-card.selected .zone-card-footer{background:#064c42}.traffic-options button.selected{border-color:var(--panel-blue);color:#fff;background:#064c42}.topbar{border-bottom-color:var(--panel-border);background:var(--panel-surface);font-family:var(--ui-font-family)}.pause-menu-toggle,.chat-toggle{border-color:var(--panel-border);color:var(--panel-text);background:var(--panel-surface-raised)}.pause-menu-toggle:hover:not(:disabled),.pause-menu-toggle:focus-visible,.chat-toggle:hover:not(:disabled),.chat-toggle:focus-visible{border-color:var(--panel-blue);color:var(--panel-text);background:var(--panel-surface-deep)}.zone-label,.network-status{color:var(--panel-text)}.network-bar{border-color:var(--panel-muted);background:var(--panel-surface)}.network-bar.active{background:var(--panel-text)}.bottom-bar{border-top-color:var(--panel-border);color:var(--panel-text);background:var(--panel-surface);font-family:var(--ui-font-family)}.viewport-status{border-color:var(--panel-border);border-radius:2px;color:var(--panel-muted);background:#383637f0}.loading{color:var(--panel-muted);background:#202020;font-family:var(--ui-font-family)}.debug-overlay{border-left-color:var(--panel-border);color:var(--panel-text);background:#383637f7;font-family:var(--ui-font-family)}.entry-choice-icon{stroke:var(--panel-blue);color:var(--panel-blue)}.entry-choice-card>span:last-child{font-weight:700;letter-spacing:.04em;text-transform:uppercase}.entry-back-button,.lobby-header-actions button,.lobby-code-row button,.ready-button,.start-button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem}.entry-back-button{justify-content:flex-start}.lobby-header{border-bottom:1px solid var(--panel-border)}.lobby-code{color:var(--panel-blue);font-variant-numeric:tabular-nums}.lobby-overview{border-left:3px solid var(--panel-blue)}.lobby-panel-heading{padding-bottom:.7rem;border-bottom:1px solid var(--panel-border)}.lobby-stat strong{color:var(--panel-blue)}.player-row:has(.player-ready:not(:empty)) .player-ready{border-color:var(--panel-blue);color:#061c17;background:var(--panel-blue)}.player-ready svg{display:block}.player-row.current,.zone-card:hover:not(:disabled),.zone-card.selected,.zone-card.selected .zone-card-footer{border-color:var(--panel-blue);background:#064c42}.zone-preview-fallback{color:var(--panel-blue)}.entry-details-panel .primary-button,.menu-shell .primary-button,.lobby-shell .ready-button,.lobby-shell .start-button{color:#061c17;background:var(--panel-blue)}.entry-details-panel .primary-button:hover:not(:disabled),.menu-shell .primary-button:hover:not(:disabled),.lobby-shell .ready-button:hover:not(:disabled),.lobby-shell .start-button:hover:not(:disabled){color:#061c17;background:#00c89a}.traffic-options button.selected{border-color:var(--panel-blue);color:#061c17;background:var(--panel-blue)}.footer-arrow{background:var(--panel-blue)}.signal-info-rollback.disabled{background:var(--signal-blue)}.train-describer-block.selected{box-shadow:0 0 0 1px var(--signal-blue)}.train-describer-block.spad.selected{box-shadow:0 0 0 2px var(--signal-blue),0 0 0 4px #ff1717}.signal-control.selected,.signal-control.selected:disabled{box-shadow:0 0 0 2px var(--signal-blue),0 0 0 4px #168fc961}.lobby-header-actions button:hover:not(:disabled),.lobby-code-row button:hover:not(:disabled),.traffic-options button:hover:not(:disabled),.menu-shell .zone-choice.selected{background:#064c42}.lobby-header,.lobby-content{width:min(100% - 2rem,72rem)}.lobby-header{align-items:center;justify-content:center;flex-direction:column;text-align:center}.lobby-header-actions,.lobby-code-row,.traffic-options{justify-content:center}.lobby-overview{align-items:center;justify-content:center;text-align:center}.lobby-stat{justify-items:center}.lobby-controls{text-align:center}.privacy-shell{height:100%;min-height:100%;overflow-x:hidden;overflow-y:auto;padding:clamp(1rem,4vw,3rem);color:var(--panel-text);font-family:var(--ui-font-family);background-color:#050505;background-image:linear-gradient(#000000b3,#000000b3),url(/backgrounds/signalling-map.png);background-position:center;background-attachment:fixed;background-size:cover}.privacy-panel{width:min(100%,58rem);margin:0 auto;padding:clamp(1.2rem,4vw,3rem);border-radius:2px;background:#383637f5;box-shadow:0 .5rem 1.3rem #0000007a}.privacy-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.privacy-back-link{display:inline-flex;align-items:center;gap:.42rem;color:var(--panel-muted);font-size:.78rem;text-decoration:none}.privacy-back-link:hover,.privacy-back-link:focus-visible{color:var(--panel-text)}.legal-nav-links{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.8rem;font-size:.78rem}.legal-nav-links a{color:var(--panel-muted);text-decoration:underline;text-underline-offset:.2em}.legal-nav-links a:hover,.legal-nav-links a:focus-visible{color:var(--panel-text)}.privacy-header{padding-bottom:1.5rem;border-bottom:1px solid var(--panel-border)}.privacy-header h1{margin:0;color:var(--panel-text);font-size:clamp(1.7rem,4vw,2.7rem);font-weight:700}.privacy-header p{max-width:48rem;margin:.9rem 0 0;color:var(--panel-muted);font-size:.9rem;line-height:1.65}.privacy-header>span,.privacy-header>time{display:block;margin-top:1rem;color:var(--panel-dim);font-size:.7rem}.privacy-sections{display:grid;gap:1.7rem;padding-top:1.7rem}.privacy-sections section{max-width:50rem}.privacy-sections h2{margin:0 0 .65rem;color:var(--panel-text);font-size:1.05rem;font-weight:700}.privacy-sections h3{margin:1rem 0 .35rem;color:var(--panel-text);font-size:.82rem;font-weight:700}.privacy-sections p,.privacy-sections li{color:var(--panel-muted);font-size:.8rem;line-height:1.65}.privacy-sections p{margin:0}.privacy-sections p+p{margin-top:.8rem}.privacy-sections ul{margin:0 0 .8rem;padding-left:1.15rem}.privacy-sections li+li{margin-top:.35rem}.privacy-sections a{color:var(--panel-text);text-decoration:underline;text-underline-offset:.2em}.privacy-sections a:hover,.privacy-sections a:focus-visible{color:var(--panel-blue)}@media(max-width:600px){.privacy-shell{padding:0}.privacy-panel{min-height:100%;padding:1.1rem}}.bottom-bar-button{min-height:100%;margin:0;padding:0 .3rem;border:0;border-radius:0;color:inherit;background:transparent;text-align:left}.bottom-bar-button:hover:not(:disabled),.bottom-bar-button:focus-visible{background:#454344}.platform-allocations-screen{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden;color:#eee;background:#303030;font-family:var(--ui-font-family)}.platform-allocations-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;height:clamp(1.8rem,7.05vh,2.45rem);gap:clamp(.4rem,1.5vw,1rem);padding:0 .35rem 0 .4rem;color:#171717;background:#f0eeee}.platform-allocations-header h1{margin:0;font-size:clamp(1.15rem,5.45vh,1.8rem);font-weight:800;line-height:1;white-space:nowrap}.platform-allocations-header input{width:min(32vw,14rem);height:calc(100% - .5rem);min-width:8rem;margin:.25rem 0;padding:.15rem .5rem;border:0;border-radius:0;outline:0;color:#242424;background:#d8d1d2;font:inherit;font-size:clamp(.7rem,3vh,.95rem);font-weight:600}.platform-allocations-header input::placeholder{color:#555052;opacity:1}.platform-allocations-header input:focus-visible{outline:2px solid #168fc9;outline-offset:-2px}.platform-allocations-table-wrap{min-height:0;flex:1;overflow:auto}.platform-allocations-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;color:#eee;font-size:clamp(.68rem,2.75vh,.9rem);font-weight:600}.platform-allocations-col-station{width:25%}.platform-allocations-col-number{width:7%}.platform-allocations-col-status{width:24%}.platform-allocations-col-guard{width:19%}.platform-allocations-col-dispatcher{width:18%}.platform-allocations-col-zone{width:7%}.platform-allocations-table th,.platform-allocations-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-allocations-table th{height:clamp(1.35rem,5.1vh,1.85rem);padding:.15rem .35rem;color:#dedede;background:#555;font-size:clamp(.68rem,2.75vh,.9rem);font-weight:800;text-align:left}.platform-allocations-table th:first-child,.platform-allocations-table td:first-child{padding-left:1.65rem}.platform-allocations-table td{height:clamp(1.5rem,5.7vh,2rem);padding:.2rem .35rem;border-top:1px solid rgb(24 25 24 / 36%);background:#444243}.platform-allocations-row{cursor:pointer}.platform-allocations-row:hover td{background:#504e4f}.platform-allocations-row:focus-visible td{box-shadow:inset 0 2px #fff,inset 0 -2px #fff}.platform-allocations-row.expanded td{border-bottom-color:transparent}.platform-allocations-number,.platform-allocations-guard,.platform-allocations-dispatcher,.platform-allocations-zone{text-align:center}.platform-allocations-status{color:#eee;background:#5a5859!important;text-align:center}.platform-allocations-row.occupied .platform-allocations-status{color:#171717;background:#f0eeee!important}.platform-allocations-occupied-indicator{position:absolute;left:.5rem;display:inline-block;width:clamp(.6rem,2.25vh,.72rem);height:clamp(.6rem,2.25vh,.72rem);border:2px solid #b7b7b7;border-radius:50%;vertical-align:middle}.platform-allocations-row td:first-child{position:relative}.platform-allocations-details-row td{height:auto;padding:0;border-top:0;background:linear-gradient(to bottom,#444243,#303030)}.platform-allocations-details{display:grid;grid-template-columns:30% 24% 46%;grid-auto-rows:clamp(1.5rem,5.7vh,2rem);align-items:center;padding:0 .55rem;color:#eee;font-size:clamp(.68rem,2.75vh,.9rem);font-weight:600}.platform-allocations-detail-field{display:flex;min-width:0;align-items:center;gap:clamp(.45rem,1.2vw,.75rem);white-space:nowrap}.platform-allocations-detail-field>strong{flex:0 0 auto;font-weight:800}.platform-allocations-detail-field>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.platform-allocations-detail-spacer{min-width:0}.platform-allocations-camera,.platform-allocations-zoom{min-width:4.3rem;height:1.25rem;margin:0;padding:0 .35rem;border:1px solid #f2f2f2;border-radius:0;color:#fff;font:inherit;font-size:.78em;font-weight:800;line-height:1}.platform-allocations-camera{background:#a000d0}.platform-allocations-camera:hover:not(:disabled){background:#b51be2}.platform-allocations-zoom{background:#00a52a}.platform-allocations-zoom:hover:not(:disabled){background:#00bf31}.platform-allocations-empty{padding:1.5rem!important;color:#aeb2b0;background:#303030!important;text-align:center}.platform-allocations-bottom-bar{justify-content:flex-end;flex-basis:clamp(1.8rem,6.9vh,2.25rem);font-size:clamp(.85rem,3.1vh,1.25rem)}.platform-allocations-bottom-bar .footer-arrow{width:clamp(1.05rem,4vh,1.35rem);height:clamp(1.05rem,4vh,1.35rem);font-size:.9em}.full-train-list-screen{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden;color:#eee;background:#303030;font-family:var(--ui-font-family)}.full-train-list-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;height:clamp(1.8rem,7.05vh,2.45rem);gap:clamp(.4rem,1.5vw,1rem);padding:0 .35rem 0 .4rem;color:#171717;background:#f0eeee}.full-train-list-header h1{margin:0;font-size:clamp(1.15rem,5.45vh,1.8rem);font-weight:800;line-height:1;white-space:nowrap}.full-train-list-filter{display:inline-flex;align-items:center;min-height:100%;gap:clamp(.3rem,1.2vw,.45rem);padding:0 .2rem;color:#242424;font-size:clamp(.7rem,3vh,.95rem);font-weight:700;line-height:1;cursor:pointer;white-space:nowrap}.full-train-list-filter input{width:clamp(.85rem,3.1vh,1.05rem);height:clamp(.85rem,3.1vh,1.05rem);margin:0;border:1px solid #505050;border-radius:50%;background:#eee;appearance:none;cursor:pointer}.full-train-list-filter input:checked{border-color:#171717;background:radial-gradient(circle,#202020 0 35%,transparent 38%)}.full-train-list-filter input:focus-visible{outline:2px solid #168fc9;outline-offset:2px}.full-train-list-table-wrap{min-height:0;flex:1;overflow:auto}.full-train-list-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;color:#e9e9e9;font-size:clamp(.68rem,2.75vh,.9rem);font-weight:600}.full-train-list-col-trts{width:4%}.full-train-list-col-id{width:7.5%}.full-train-list-col-stop{width:21.5%}.full-train-list-col-status{width:14%}.full-train-list-col-destination{width:19.5%}.full-train-list-col-driver{width:18%}.full-train-list-col-guard{width:8.5%}.full-train-list-col-zone{width:7%}.full-train-list-table th,.full-train-list-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-train-list-table th{height:clamp(1.35rem,5.1vh,1.85rem);padding:.15rem .35rem;color:#dedede;background:#555;font-size:clamp(.68rem,2.75vh,.9rem);font-weight:800;text-align:left}.full-train-list-sort-button{display:inline-flex;width:100%;height:100%;min-width:0;align-items:center;gap:.25rem;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;color:inherit;background:transparent;font:inherit;line-height:1;text-align:left;text-overflow:ellipsis;white-space:nowrap}.full-train-list-sort-button:hover:not(:disabled),.full-train-list-sort-button:focus-visible{color:#fff;background:transparent}.full-train-list-sort-indicator{display:inline-block;flex:0 0 auto;width:0;height:0;border-right:.25rem solid transparent;border-left:.25rem solid transparent}.full-train-list-sort-indicator.asc{border-bottom:.35rem solid #168fc9}.full-train-list-sort-indicator.desc{border-top:.35rem solid #168fc9}.full-train-list-table td{height:clamp(1.5rem,5.7vh,2rem);padding:.2rem .35rem;border-top:1px solid rgb(24 25 24 / 36%);background:#28442d}.full-train-list-row:hover td{background:#35563b}.full-train-list-row{cursor:pointer}.full-train-list-row:focus-visible td{box-shadow:inset 0 2px #fff,inset 0 -2px #fff}.full-train-list-row.expanded td{border-bottom-color:transparent}.full-train-list-row.late-yellow td{background:#4b4822}.full-train-list-row.late-orange td{background:#4b3c20}.full-train-list-row.late-red td{background:#4d252a}.full-train-list-row.late-yellow:hover td,.full-train-list-row.late-orange:hover td,.full-train-list-row.late-red:hover td{background:#5e5030}.full-train-list-details-row td{height:auto;padding:0;border-top:0;background:linear-gradient(to bottom,var(--full-train-list-details-start) 0%,#303030 100%)}.full-train-list-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(1.5rem,5.7vh,2rem);align-items:center;column-gap:clamp(.35rem,1vw,.75rem);padding:0 .55rem;color:#eee;font-size:clamp(.68rem,2.75vh,.9rem);font-weight:600}.full-train-list-details-row{--full-train-list-details-start: #28442d}.full-train-list-details-row.late-yellow{--full-train-list-details-start: #4b4822}.full-train-list-details-row.late-orange{--full-train-list-details-start: #4b3c20}.full-train-list-details-row.late-red{--full-train-list-details-start: #4d252a}.full-train-list-detail-field{display:flex;min-width:0;align-items:center;gap:clamp(.55rem,1.35vw,.9rem);white-space:nowrap}.full-train-list-detail-field>strong{flex:0 0 auto;font-weight:800}.full-train-list-detail-field>span:not(.full-train-list-driver-value):not(.full-train-list-operator){min-width:0;overflow:hidden;text-overflow:ellipsis}.full-train-list-driver-value{display:inline-flex;min-width:0;align-items:center;gap:.35rem;overflow:hidden}.full-train-list-driver-value>span:last-child{overflow:hidden;text-overflow:ellipsis}.full-train-list-driver-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:1.7rem;height:1rem;padding:0 .22rem;border-radius:.28rem;color:#fff;background:#ed303b;font-size:.58em;font-weight:900;line-height:1}.full-train-list-operator{display:inline-flex;min-width:4.9rem;justify-content:center;padding:.16rem .45rem;font-weight:800;line-height:1}.full-train-list-operator.operator-metro{color:#fff;background:#ee4044}.full-train-list-operator.operator-connect{color:#062c39;background:#0096ee}.full-train-list-operator.operator-express{color:#fff;background:#ff0080}.full-train-list-operator.operator-airlink{color:#241304;background:#ec7d33}.full-train-list-operator.operator-waterline{color:#fff;background:#34495e}.full-train-list-operator.operator-default{color:#062c39;background:#0096ee}.full-train-list-trts-cell,.full-train-list-guard-cell,.full-train-list-zone{text-align:center}.full-train-list-headcode{color:#00d5a5;font-weight:800}.full-train-list-status{padding-right:.2rem!important;padding-left:.2rem!important;color:#071407;font-weight:800;text-align:center}.full-train-list-row.on-time .full-train-list-status{background:#00d51e}.full-train-list-row.late-yellow .full-train-list-status{background:#f1e600}.full-train-list-row.late-orange .full-train-list-status{background:#f58220}.full-train-list-row.late-red .full-train-list-status{color:#fff;background:#e82e3c}.full-train-list-trts,.full-train-list-guard{display:inline-block;width:clamp(.6rem,2.25vh,.72rem);height:clamp(.6rem,2.25vh,.72rem);border:2px solid #b7b7b7;border-radius:50%;vertical-align:middle}.full-train-list-trts.trts-yellow{border-color:#f0d900;background:#f0d900;animation:full-train-list-trts-yellow 1s steps(1,end) infinite}.full-train-list-trts.trts-red{border-color:#ff303b;background:#ff303b;animation:full-train-list-trts-red 1s steps(1,end) infinite}@keyframes full-train-list-trts-yellow{0%,49.999%{opacity:1}50%,to{opacity:.18}}@keyframes full-train-list-trts-red{0%,49.999%{opacity:1}50%,to{opacity:.18}}.full-train-list-empty{padding:1.5rem!important;color:#aeb2b0;background:#303030!important;text-align:center}.full-train-list-bottom-bar{justify-content:flex-start;flex-basis:clamp(1.8rem,6.9vh,2.25rem);font-size:clamp(.85rem,3.1vh,1.25rem)}.full-train-list-bottom-bar .footer-arrow{width:clamp(1.05rem,4vh,1.35rem);height:clamp(1.05rem,4vh,1.35rem);font-size:.9em}.chat-window{position:absolute;z-index:7;top:clamp(.45rem,1.5vw,.85rem);left:clamp(.45rem,1.5vw,.85rem);display:flex;width:min(30rem,calc(100% - 1rem));height:min(15rem,calc(100% - 1rem));flex-direction:column;overflow:hidden;border:2px solid #090909;border-radius:clamp(.7rem,1.6vw,1rem);color:#eee;background:#000000b3;box-shadow:0 .6rem 1.5rem #0000006b;font-family:var(--ui-font-family);pointer-events:auto;touch-action:auto;-webkit-user-select:text;user-select:text}.chat-window[hidden]{display:none}.chat-window-messages{display:flex;min-height:0;flex:1;flex-direction:column;overflow:auto;padding:.6rem .85rem .35rem;scrollbar-color:#777476 transparent}.chat-window-help,.chat-window-message{margin:0;padding:.12rem 0;font-size:clamp(.75rem,2.1vw,1.2rem);line-height:1.35;overflow-wrap:anywhere}.chat-window-help{flex:0 0 auto;color:#d1d1d1}.chat-window-message{display:flex;flex:0 0 auto;gap:.4rem}.chat-window-message strong{flex:0 0 auto;font-weight:800}.chat-window-message span{min-width:0;color:#eee}.chat-window-message.system strong{color:#f4df00}.chat-window-form{position:relative;display:flex;flex:0 0 auto;padding:.45rem .65rem .65rem}.chat-window-form input{width:100%;height:clamp(2.4rem,5.8vw,3.6rem);min-width:0;flex:1;padding:0 4.5rem 0 1rem;border:2px solid #171717;border-radius:clamp(.55rem,1.2vw,.8rem);outline:none;color:#eee;background:#030303;font:inherit;font-size:clamp(.8rem,2.1vw,1.2rem)}.chat-window-form input:focus{border-color:#363636;box-shadow:0 0 0 2px #ffffff1f}.chat-window-send{position:absolute;top:50%;right:.95rem;display:grid;width:clamp(2rem,4.5vw,3rem);height:clamp(2rem,4.5vw,3rem);place-items:center;padding:0;border:0;color:#a6a6a6;background:transparent;transform:translateY(-50%)}.chat-window-send svg{width:100%;height:100%}.chat-window-send:hover:not(:disabled),.chat-window-send:focus-visible{color:#eee;background:transparent}@media(max-width:420px){.full-train-list-header{align-items:flex-start;flex-direction:column;gap:.2rem;padding-top:.35rem;padding-bottom:.35rem}.full-train-list-filter{min-height:1.4rem}}.lobby-header,.lobby-content{width:min(100% - 2rem,78rem)}.lobby-header{display:grid;place-items:center;padding:1.2rem 0 1rem;border-bottom:0;text-align:center}.lobby-header .signaller-logo{color:var(--panel-text)}.lobby-content{padding-bottom:2rem}.lobby-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:initial;margin-top:1rem;margin-bottom:1rem;border-left:0;text-align:left}.lobby-session-details{display:grid;min-width:0;gap:.35rem}.lobby-overview-label{color:var(--panel-muted);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.lobby-code-row{justify-content:flex-start}.lobby-home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(24rem,.95fr);gap:1rem;align-items:start}.lobby-players-panel{display:flex;min-width:0;height:50rem;min-height:50rem;flex-direction:column;overflow:hidden}.lobby-players-panel .player-list{flex:1 1 auto;align-content:start;grid-auto-rows:3.5rem;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.lobby-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-self:start;min-width:0}.lobby-menu-card{width:100%;min-width:0;min-height:18rem;padding:1rem .85rem .95rem;border-color:var(--panel-border);border-radius:2px;color:var(--panel-text);background:var(--panel-surface);box-shadow:0 .5rem 1.3rem #0000006b}.lobby-menu-card:hover:not(:disabled),.lobby-menu-card:focus-visible{border-color:var(--panel-blue);background:var(--panel-surface-raised)}.lobby-menu-card:focus-visible{outline:2px solid var(--panel-blue);outline-offset:2px}.lobby-menu-card:disabled{border-color:var(--panel-border);color:var(--panel-dim);background:var(--panel-surface-deep);opacity:1}.lobby-menu-icon{align-self:center;width:clamp(4.5rem,8vw,7.25rem);height:clamp(4.5rem,8vw,7.25rem);fill:none;stroke:var(--panel-blue);stroke-linecap:round;stroke-linejoin:round}.lobby-menu-card:disabled .lobby-menu-icon{color:var(--panel-dim);stroke:var(--panel-dim);opacity:.6}.lobby-menu-card:disabled .lobby-menu-label{color:var(--panel-dim);opacity:.6}.lobby-menu-label{align-self:end;margin-top:.7rem;color:var(--panel-text);font-size:.86rem;font-weight:700;letter-spacing:.04em;text-align:center;text-transform:uppercase}.lobby-submenu{min-width:0;margin-top:1rem;padding:clamp(1rem,2.5vw,1.5rem)}.lobby-submenu-header{display:block;padding-bottom:1rem;border-bottom:1px solid var(--panel-border)}.lobby-back-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:.4rem;min-height:2rem;padding:.2rem 0;border:0;color:var(--panel-muted);background:transparent;font-size:.78rem;font-weight:700;margin-bottom:.5rem}.lobby-back-button:hover:not(:disabled),.lobby-back-button:focus-visible{color:var(--panel-text);background:transparent}.lobby-back-button:focus-visible{outline:2px solid var(--panel-blue);outline-offset:2px}.lobby-submenu-title{min-width:0}.lobby-submenu-title h2,.lobby-settings-heading h3{margin:0;color:var(--panel-text)}.lobby-submenu-title h2{font-size:1.2rem}.lobby-submenu-title p,.lobby-settings-heading p{margin:.35rem 0 0;color:var(--panel-muted);font-size:.72rem;line-height:1.45}.lobby-zone-menu .zone-card-grid{margin-top:1rem}.lobby-settings-tabs{display:flex;align-items:flex-end;gap:.2rem;margin-top:1rem;border-bottom:1px solid var(--panel-border)}.lobby-settings-tabs button{min-width:6rem;padding:.65rem .8rem;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--panel-muted);background:transparent;font-size:.78rem;font-weight:700;text-transform:uppercase}.lobby-settings-tabs button:hover:not(:disabled),.lobby-settings-tabs button:focus-visible{color:var(--panel-text);background:var(--panel-surface-raised)}.lobby-settings-tabs button.selected{border-bottom-color:var(--panel-blue);color:var(--panel-text);background:var(--panel-surface-raised)}.lobby-settings-tabs button:focus-visible{outline:2px solid var(--panel-blue);outline-offset:-2px}.lobby-settings-tabpanel{min-width:0;padding-top:1rem}.lobby-settings-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem}.lobby-settings-heading{min-width:0}.lobby-settings-heading h3{font-size:.95rem}.lobby-settings-menu .traffic-mode-controls{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-left:0;flex-wrap:wrap}.lobby-settings-menu .traffic-options{justify-content:flex-end}.lobby-footer{margin:1rem 0 0}.lobby-footer .start-button{min-height:3.15rem;margin-top:0}.lobby-map-card{position:relative}.lobby-map-card:disabled{opacity:1}.lobby-map-card:disabled .lobby-menu-icon,.lobby-map-card:disabled .lobby-menu-label{color:var(--panel-dim);opacity:.6}.lobby-map-card:disabled .lobby-menu-icon{stroke:var(--panel-dim)}.lobby-coming-soon{position:absolute;top:50%;left:50%;padding:.45rem .65rem;border:1px solid #f2c94c;color:#f2c94c;background:#272526;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transform:translate(-50%,-50%);white-space:nowrap}@media(max-width:860px){.lobby-home-grid{grid-template-columns:1fr}.lobby-menu-card{min-height:15rem}}@media(max-width:560px){.lobby-overview{grid-template-columns:1fr;gap:.8rem}.lobby-stat{justify-items:start}.lobby-menu-grid{grid-template-columns:1fr}.lobby-menu-card{min-height:10rem}.lobby-menu-icon{width:4.5rem;height:4.5rem}.lobby-submenu-header{grid-template-columns:1fr;gap:.5rem}.lobby-settings-toolbar{flex-direction:column}.lobby-settings-menu .traffic-mode-controls,.lobby-settings-menu .traffic-options{justify-content:flex-start}}.player-name{display:flex;align-items:center;min-width:0;gap:.4rem;color:var(--panel-text);font-size:.84rem}.player-name strong{min-width:0;overflow:hidden;color:var(--panel-text);text-overflow:ellipsis;white-space:nowrap}.player-host-icon{flex:0 0 auto;color:#f2c94c;stroke:#f2c94c}.player-row{height:3.5rem;min-height:3.5rem}.player-row.kickable{position:relative;width:100%;min-width:0;padding:.7rem;border:1px solid var(--panel-border);color:inherit;background:var(--panel-surface-raised);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.player-row.kickable:hover,.player-row.kickable:focus-visible{border-color:#e05b62;background:#57282e}.player-row.kickable:focus-visible{outline:2px solid #e05b62;outline-offset:2px}.player-kick-action{position:absolute;z-index:1;inset:0;display:grid;place-items:center;color:#fff;background:#8c232aeb;font-size:.8rem;font-weight:800;letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .12s ease}.player-row.kickable:hover .player-kick-action,.player-row.kickable:focus-visible .player-kick-action{opacity:1}html,body,#root,*{scrollbar-width:thin;scrollbar-color:rgb(242 242 242 / 42%) transparent}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{min-height:2rem;border:1px solid transparent;border-radius:999px;background:#f2f2f26b;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--panel-blue);background-clip:padding-box}.menu-shell,.entry-choice-shell,.entry-details-shell,.lobby-shell,.privacy-shell{overflow-y:overlay;scrollbar-gutter:auto}.entry-release-post,.lobby-players-panel .player-list,.debug-list,.debug-conflict-list,.debug-detail,.platform-allocations-table-wrap,.full-train-list-table-wrap,.chat-window-messages{overflow:overlay;scrollbar-gutter:auto}@supports not (overflow: overlay){.menu-shell,.entry-choice-shell,.entry-details-shell,.lobby-shell,.privacy-shell,.entry-release-post,.lobby-players-panel .player-list,.debug-list,.debug-conflict-list,.debug-detail,.platform-allocations-table-wrap,.full-train-list-table-wrap,.chat-window-messages{scrollbar-gutter:stable}}.entry-release-box{overflow:hidden}.entry-release-list{min-height:0;flex:1 1 auto;overflow-y:auto;padding-right:.35rem;scrollbar-gutter:auto;text-align:left}.entry-release-item{padding:.95rem .1rem 1.05rem 0}.entry-release-item+.entry-release-item{border-top:1px solid var(--panel-border, #33454d)}.entry-release-item-header{padding-bottom:.65rem}.entry-release-item .entry-release-post{min-height:auto;padding-right:0;overflow:visible;scrollbar-gutter:auto}.entry-release-loading,.entry-release-end,.entry-release-sentinel{margin:0;padding:.8rem 0 .95rem;color:var(--panel-dim, #9b9b9b);font-size:.7rem;text-align:center}.session-pause-overlay{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:1rem;background:#000000b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.session-pause-stack{display:flex;width:min(100%,28rem);max-height:calc(100vh - 2rem);flex-direction:column;align-items:center;gap:1rem}.session-pause-brand{color:var(--panel-text)}.session-pause-panel{display:flex;width:100%;min-height:0;max-height:100%;flex-direction:column;overflow:hidden;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--panel-border);border-radius:2px;color:var(--panel-text);background:var(--panel-surface);box-shadow:0 1.5rem 4rem #0000008c;font-family:var(--ui-font-family)}.session-pause-panel-menu{width:min(100%,22rem)}.session-pause-panel-menu .session-pause-actions{margin-top:0}.session-pause-header{min-width:0}.session-pause-header h2{margin:0;color:var(--panel-text);font-size:clamp(1.2rem,4vw,1.55rem);font-weight:800}.session-pause-actions{display:grid;gap:.6rem;margin-top:1.25rem}.session-pause-action{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.9rem;border-color:var(--panel-border);border-radius:2px;color:var(--panel-text);background:var(--panel-surface-raised);font-size:.82rem;font-weight:800}.session-pause-action:hover:not(:disabled),.session-pause-action:focus-visible{border-color:var(--panel-blue);color:#fff;background:var(--panel-surface-deep)}.session-pause-action:focus-visible,.session-pause-back:focus-visible{outline:2px solid var(--panel-blue);outline-offset:2px}.session-pause-action-primary{border-color:var(--panel-blue);color:#fff;background:var(--panel-blue)}.session-pause-action-primary:hover:not(:disabled),.session-pause-action-primary:focus-visible{border-color:#00c89a;background:#00c89a}.session-pause-action-leave{border-color:#8e333a;color:#ffe5e6;background:#57282e}.session-pause-action-leave:hover:not(:disabled),.session-pause-action-leave:focus-visible{border-color:#e05b62;background:#702f36}.session-pause-submenu-header{min-width:0;padding-bottom:1rem;border-bottom:1px solid var(--panel-border)}.session-pause-back{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;margin:0 0 .55rem;padding:.2rem 0;border:0;color:var(--panel-muted);background:transparent;font-size:.76rem;font-weight:800}.session-pause-back:hover:not(:disabled){color:var(--panel-text);background:transparent}.session-pause-players-list{flex:1 1 auto;min-height:0;margin:1rem -.2rem 0;padding:.2rem;overflow-y:auto}.session-pause-players-list .player-list{gap:.55rem}.session-pause-players-list .player-row{min-height:3.5rem}.session-pause-players-list .player-row.without-ready{grid-template-columns:minmax(0,1fr) auto}.session-pause-empty{margin:0;padding:1rem .5rem;color:var(--panel-muted);font-size:.78rem;text-align:center}.session-pause-session-settings{display:grid;gap:.75rem;margin-top:1rem}.session-pause-read-only,.lobby-settings-read-only{margin:0;color:var(--panel-muted);font-size:.7rem;line-height:1.45}.session-setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.1rem;padding:.8rem .9rem;border:1px solid var(--panel-border);border-radius:2px;color:var(--panel-text);background:var(--panel-surface-raised);cursor:pointer}.session-setting-toggle.disabled{cursor:not-allowed;opacity:.62}.session-setting-copy{display:grid;min-width:0;gap:.25rem}.session-setting-copy strong{font-size:.78rem}.session-setting-copy small{color:var(--panel-muted);font-size:.68rem;line-height:1.35}.toggle-switch{position:relative;flex:0 0 auto;width:2.75rem;height:1.55rem}.toggle-switch input{position:absolute;z-index:1;inset:0;width:100%;height:100%;margin:0;cursor:inherit;opacity:0}.toggle-switch-track{position:absolute;inset:0;border:1px solid #617178;border-radius:999px;background:#263239;transition:background .14s ease,border-color .14s ease}.toggle-switch-track:after{position:absolute;top:.18rem;left:.18rem;width:1.05rem;height:1.05rem;border-radius:50%;background:#d7e1e4;box-shadow:0 1px 3px #0006;content:"";transition:transform .14s ease,background .14s ease}.toggle-switch input:checked+.toggle-switch-track{border-color:#00b088;background:#00785f}.toggle-switch input:checked+.toggle-switch-track:after{background:#fff;transform:translate(1.2rem)}.toggle-switch input:focus-visible+.toggle-switch-track{outline:2px solid var(--panel-blue);outline-offset:2px}.zone-card.pending{border-color:var(--panel-blue);background:var(--panel-surface-deep)}.zone-selection-overlay{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:1rem;background:#000000c2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.zone-selection-panel{display:grid;width:min(100%,42rem);max-height:min(100%,44rem);gap:1rem;padding:clamp(1.1rem,3vw,1.6rem);overflow:auto;border:1px solid var(--panel-border);border-radius:2px;color:var(--panel-text);background:var(--panel-surface);box-shadow:0 1.5rem 4rem #0009;font-family:var(--ui-font-family)}.zone-selection-heading{display:flex;align-items:flex-start;gap:.7rem}.zone-selection-heading>svg{flex:0 0 auto;margin-top:.15rem;color:var(--panel-blue)}.zone-selection-heading h2{margin:0;color:var(--panel-text);font-size:clamp(1.15rem,4vw,1.55rem)}.zone-selection-heading p{margin:.35rem 0 0;color:var(--panel-muted);font-size:.72rem;line-height:1.45}.zone-selection-panel .zone-card-grid{margin:0}.zone-selection-status{margin:0;color:var(--panel-muted);font-size:.75rem;line-height:1.45;text-align:center}.zone-selection-status-error{color:#ffb7bb}@media(max-width:420px){.session-pause-overlay{align-items:end;padding:0}.session-pause-panel{width:100%;max-height:calc(100vh - .75rem);padding:1rem}.session-pause-stack{max-height:calc(100vh - .75rem);gap:.75rem}}.entry-release-sentinel{min-height:1.5rem}@media(max-width:860px){.entry-release-box{position:static;width:100%;height:min(70vh,42rem);max-height:calc(100vh - 2rem);overflow:hidden;transform:none}.entry-release-list{overflow-y:auto}}
