@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2)format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/fraunces-latin-800-normal-5RM8DebB.woff2)format("woff2"),url(/assets/fraunces-latin-800-normal-B3oGScaA.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/fraunces-latin-900-normal-DmBL83SS.woff2)format("woff2"),url(/assets/fraunces-latin-900-normal-D67OkaMf.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-400-normal-BG6hkEXj.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-400-normal-CjyVwvJV.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-500-normal-DrDcrrxK.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-500-normal-Bo-NxEKf.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-600-normal-CIXX6EOa.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-600-normal-NEn2C4Q3.woff)format("woff")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-latin-700-normal-CeQ8H3UY.woff2)format("woff2"),url(/assets/hanken-grotesk-latin-700-normal-6IGCzoPh.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff")}:root{--ground:#eee5d2;--deck:#e5d9c0;--deck-2:#d9caaa;--steel:#c2aa82;--fog:#7d6850;--chalk:#221710;--signal:#c4521a;--go:#3b7a36;--stop:#b02e27;--crumb:#f6e6be;--crumb-edge:#c39a5e;--display:"Fraunces", Georgia, serif;--body:"Hanken Grotesk", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{background:var(--ground);color:var(--chalk);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.mono,code{font-family:var(--mono)}[hidden]{display:none!important}::selection{background:var(--signal);color:var(--ground)}.top{border-bottom:1px solid var(--steel);background:var(--ground);flex:none;align-items:stretch;gap:28px;height:56px;padding:0 20px;display:flex}.wordmark{font:900 1.7rem/1 var(--display);letter-spacing:.04em;color:var(--chalk);align-items:center;gap:10px;text-decoration:none;display:flex}.loco{background:var(--signal);border-radius:3px 8px 8px 3px;width:30px;height:14px;position:relative}.loco:before{content:"";background:repeating-linear-gradient(90deg, var(--ground) 0 4px, transparent 4px 7px);height:4px;position:absolute;top:4px;left:5px;right:7px}.nav{gap:2px;display:flex}.nav a{font:800 1.05rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);border-bottom:3px solid #0000;align-items:center;margin-bottom:-1px;padding:0 14px;text-decoration:none;display:flex}.nav a:hover{color:var(--chalk)}.nav a.on{color:var(--chalk);border-bottom-color:var(--signal)}.clock{color:var(--fog);letter-spacing:.02em;align-self:center;margin-left:auto;font-size:.78rem}main{flex:1;min-height:0;display:flex}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 372px;min-height:0;display:grid}.stage{flex-direction:column;min-width:0;min-height:0;display:flex}.departures{background:var(--deck);border-bottom:1px solid var(--steel);gap:10px;padding:12px 20px 10px;display:grid}.dep-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}#dep-label{font:800 .82rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog)}.announce{font:600 .8rem/1.2 var(--mono);letter-spacing:.03em;color:var(--fog);align-items:center;gap:8px;display:inline-flex}.announce:before{content:"";background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.announce.go{color:var(--go)}.announce.mstop{color:var(--stop)}.announce.run{color:var(--signal)}#tape{width:100%;display:block}.lines{border-bottom:1px solid var(--steel);background:var(--ground);flex-wrap:wrap;align-items:stretch;gap:0;min-height:42px;display:flex;overflow-x:auto}.lines .tab{border:0;border-right:1px solid var(--steel);font:800 .95rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:0 16px;display:flex}.lines .tab .dot{border:3px solid var(--c);border-radius:50%;width:12px;height:12px}.lines .tab.on{color:var(--chalk);background:var(--deck);box-shadow:inset 0 -3px 0 var(--c)}.lines .tab:hover{color:var(--chalk)}.lines .add-line{color:var(--signal)}.lines .tab{min-height:42px}.lines .rename{border-top:1px solid var(--steel);background:var(--deck);flex-basis:100%;align-items:center;gap:8px;padding:6px 12px;display:flex}.lines .rename input{width:140px;padding:5px 8px}.lines .rename .lp{font:800 .7rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);white-space:nowrap;margin-left:6px}.lines .rename .btn{margin-left:auto}.board{touch-action:none;background:var(--ground);flex:1;min-height:300px;position:relative;overflow:hidden}#board{display:block;position:absolute;inset:0}.inline-exit{z-index:2;font-size:.75rem;position:absolute;top:8px;right:12px}.inline-exit[hidden]{display:none}.crumbs{letter-spacing:.02em;color:var(--signal);text-transform:uppercase;pointer-events:none;font-size:.75rem;position:absolute;top:12px;left:16px}.dock{background:var(--deck-2);border:1px solid var(--steel);border-radius:10px;align-items:center;gap:2px;max-width:calc(100% - 24px);padding:5px;display:flex;position:absolute;bottom:16px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 10px 30px #3c28142e}.dock button{font:700 .9rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex}.dock button:hover{background:var(--steel)}.dock button.icon{font:600 1.05rem/1 var(--body);padding:8px 10px}.dock-cap{font:900 .7rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);padding:0 6px 0 8px}.dock .plus{font:900 1rem/1 var(--body);color:var(--signal);margin-right:-4px}.dock .rule{background:var(--steel);align-self:stretch;width:1px;margin:4px}.g-lit{font:600 .72rem/1 var(--mono);background:var(--chalk);color:var(--ground);border-radius:99px;padding:3px 7px;font-style:normal}.g-span{font:600 .72rem/1 var(--mono);border:2px solid var(--chalk);border-radius:99px;padding:1px 6px;font-style:normal}.g-call{border:3px solid #3fa7ff;border-radius:5px;width:22px;height:16px}.g-end{border:3px solid var(--chalk);border-radius:50%;width:14px;height:14px}.playbar{border-top:1px solid var(--steel);background:var(--deck);align-items:center;gap:14px;padding:10px 20px;display:flex}.play{background:var(--signal);width:40px;height:40px;color:var(--ground);border:0;border-radius:8px;flex:none;font-size:15px}#scrub{min-width:0;accent-color:var(--signal);flex:1}#sound[aria-pressed=false]{color:var(--fog);text-decoration:line-through}.flags{position:relative}.flags>summary{cursor:pointer;list-style:none}.flags>summary::-webkit-details-marker{display:none}.flags[open]>summary{border-color:var(--signal);color:var(--signal)}.flags-pop{z-index:20;background:var(--deck-2);border:1px solid var(--steel);border-radius:10px;gap:12px;width:300px;padding:16px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 18px 40px #3c28142e}.flags-pop .check{flex-wrap:wrap;align-items:flex-start;font-weight:600}.flags-pop small{color:var(--fog);flex-basis:100%;padding-left:26px;font-size:.78rem;font-weight:400;line-height:1.35}#speed{background:var(--deck-2);border:1px solid var(--steel);font:600 .8rem var(--mono);border-radius:6px;padding:6px}.side{border-left:1px solid var(--steel);background:var(--deck);flex-direction:column;display:flex;overflow-y:auto}.side>div{border-bottom:1px solid var(--steel);padding:18px 20px}.side>div:empty{display:none}.kicker{font:800 .78rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);align-items:center;gap:10px;display:flex}.kicker b{color:var(--signal);font-weight:800}.side h2{font:900 2.4rem/.95 var(--display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;margin:10px 0}.side h3{font:800 .78rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);margin:0 0 12px}.side p{margin:0 0 10px}.brief{color:#4a3a2c}.note{color:var(--fog);font-size:.86rem}a.back{font:700 .8rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);text-decoration:none}a.back:hover{color:var(--signal)}.rows{display:grid}.trow{text-align:left;width:calc(100% + 20px);font:500 .88rem/1.35 var(--mono);background:0 0;border:0;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:0 -10px;padding:9px 10px;display:grid}.trow:hover{background:var(--deck-2)}.trow.on{background:var(--deck-2);box-shadow:inset 3px 0 0 var(--signal)}.trow .txt{overflow-wrap:anywhere;white-space:pre-wrap}.trow .meta{align-items:center;gap:8px;display:flex}.tag{font:700 .66rem/1 var(--mono);letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--steel);color:var(--fog);border-radius:3px;padding:4px 6px}.tag.go{background:var(--go);border-color:var(--go);color:var(--ground)}.tag.mstop{background:var(--stop);border-color:var(--stop);color:var(--ground)}.tag.hold{border-color:var(--signal);color:var(--signal)}.x{color:var(--fog);background:0 0;border:0;padding:2px 6px;font-size:1rem}.x:hover{color:var(--stop)}.addrow{gap:8px;display:flex}input[type=text],select.field{background:var(--ground);border:1px solid var(--steel);font:500 .9rem var(--mono);border-radius:6px;width:100%;padding:8px 10px}input[type=text]:focus{border-color:var(--signal);outline:none}.btn{border:1px solid var(--steel);background:var(--deck-2);font:800 .9rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--chalk);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--fog)}.btn.go{background:var(--signal);border-color:var(--signal);color:var(--ground)}.btn.go:hover{filter:brightness(1.08)}.btn.go:disabled{background:var(--steel);border-color:var(--steel);color:var(--fog);cursor:default;filter:none}.btn.big{width:100%;padding:16px;font-size:1.15rem}.btn.ghost{background:0 0}.btn.danger{color:var(--stop)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}table.fields{border-collapse:collapse;width:100%;font:500 .84rem var(--mono)}table.fields th{text-align:left;font:800 .7rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);padding:0 6px 8px 0}table.fields td{border-top:1px solid var(--steel);vertical-align:top;overflow-wrap:anywhere;padding:7px 6px 7px 0}table.fields td.name{font-weight:700}table.fields td.name i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:8px;display:inline-block}table.fields td.good{color:var(--go)}table.fields td.wrong{color:var(--stop)}.insp{gap:12px;display:grid}.insp label{font:800 .72rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);gap:6px;display:grid}.seg{border:1px solid var(--steel);border-radius:6px;display:flex;overflow:hidden}.seg button{background:var(--ground);font:700 .8rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);border:0;flex:1;padding:8px 4px}.seg button+button{border-left:1px solid var(--steel)}.seg button.on{background:var(--chalk);color:var(--ground)}.seg{flex-wrap:wrap}.insp-kind{font:900 1.25rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;display:flex}.insp-kind i{flex:none}.kv{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;display:grid}.kv .k{font:800 .72rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog)}.kv .v{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;display:flex}.kv .v>input[type=text],.kv .v>select{flex:1;min-width:0}.kv .v .seg{flex-wrap:nowrap;flex:1}.kv .v input.num{flex:none;width:64px}.kv-actions{gap:8px;padding-left:102px;display:flex}.insp-says{background:var(--ground);border-left:3px solid var(--signal);border-radius:0 6px 6px 0;margin:0;padding:10px 12px;font-size:.92rem}.q{gap:7px;display:grid}.q-t{font:600 .9rem/1.3 var(--body);color:var(--chalk)}.insp label.inline,.q label.inline{font:600 .85rem var(--body);letter-spacing:0;text-transform:none;color:var(--fog);align-items:center;gap:8px;display:flex}.insp input.num{background:var(--ground);border:1px solid var(--steel);width:72px;font:600 1rem var(--mono);border-radius:6px;padding:7px 8px}.insp-foot{border-top:1px solid var(--steel);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;display:flex}.insp-foot label.inline{white-space:nowrap;margin-right:auto}.field.small{padding:5px 8px;font-size:.85rem}.g-rail{background:var(--chalk);border-radius:2px;width:22px;height:4px}.station-menu{z-index:40;background:var(--deck-2);border:1px solid var(--steel);border-radius:12px;width:340px;max-height:calc(100vh - 16px);padding:16px 16px 14px;animation:.12s ease-out menu-in;position:fixed;overflow-y:auto;box-shadow:0 18px 50px #3c281438}.station-menu .menu-x{width:30px;height:30px;color:var(--fog);background:0 0;border:0;border-radius:6px;font-size:1.3rem;line-height:1;position:absolute;top:8px;right:8px}.station-menu .menu-x:hover{background:var(--steel);color:var(--chalk)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.station-menu{animation:none}}.goal{gap:10px;margin:14px 0 4px;display:grid}.goal-sec{background:var(--deck-2);border:1px solid var(--steel);border-radius:8px;padding:12px 14px}.goal-sec p{margin:6px 0 0}.goal-sec .note{margin-top:8px}.goal-t{font:900 .78rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--signal)}.goal-sec.lesson{border-color:#3fa7ff55}.goal-sec.lesson .goal-t{color:#3fa7ff}.fogrow{border-top:1px solid var(--steel);gap:6px;padding:10px 0;display:grid}.fogrow:first-child{border-top:0}.fogrow .lbl{font:800 .74rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);justify-content:space-between;align-items:center;display:flex}.flaps{font:600 .82rem/1 var(--mono);flex-wrap:wrap;gap:2px;display:flex}.flaps span{background:var(--deck-2);border-radius:2px;place-items:center;width:1.05em;height:1.45em;display:grid;position:relative}.flaps span:after{content:"";background:var(--ground);height:1px;position:absolute;top:50%;left:0;right:0}.flaps span.fog{background:repeating-linear-gradient(135deg, var(--deck-2) 0 3px, #cdbb95 3px 6px)}.flaps span.hit{color:var(--ground);background:var(--stop)}.flaps span.ok{color:var(--go)}.flaps.pass span{color:var(--go);background:#d5e3c8}.fogrow button.run{justify-self:start}.slots{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.slot{background:var(--ground);border:1px solid var(--steel);border-radius:6px;align-content:start;gap:3px;min-height:48px;padding:6px;display:grid}.slot.used{border-color:var(--fog)}.slot i{background:var(--steel);border-radius:2px;height:5px;display:block}.slot i.c2{background:var(--go)}.slot i.c1{background:var(--signal)}.slot i.c0{background:var(--stop);opacity:.8}.ticket{background:var(--chalk);color:var(--ground);border-radius:10px;gap:10px;padding:18px 18px 16px;display:grid;position:relative}.ticket:before,.ticket:after{content:"";background:var(--deck);border-radius:50%;width:18px;height:18px;position:absolute;top:58px}.ticket:before{left:-9px}.ticket:after{right:-9px}.ticket .perf{border-top:2px dashed #c2aa82;margin:2px -18px}.ticket .t-head{font:900 1.5rem/1 var(--display);text-transform:uppercase;letter-spacing:.02em;justify-content:space-between;align-items:baseline;display:flex}.ticket .t-head small{font:700 .8rem var(--mono);letter-spacing:.04em}.ticket pre{font:600 .86rem/1.45 var(--mono);white-space:pre-wrap;margin:0}.ticket .btn{border-color:var(--ground);background:var(--ground);color:var(--chalk)}.ticket .btn.alt{color:var(--ground);background:0 0}.stats{text-align:center;grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.stats b{font:900 1.6rem/1 var(--display);display:block}.stats span{font:700 .62rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:#8c7760}details.help summary{cursor:pointer;font:800 .78rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog)}details.help ul{color:#4a3a2c;gap:6px;margin:10px 0 0;padding-left:1.1em;font-size:.9rem;display:grid}.library{flex:1;padding:40px 24px 80px;overflow-y:auto}.library-inner{gap:36px;max-width:1080px;margin:0 auto;display:grid}.library h1{font:900 clamp(3rem, 8vw, 5.5rem)/.9 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:8px 0 12px}.library .brief{max-width:62ch}.metro{gap:26px;display:grid}.mline{grid-template-columns:170px 1fr;align-items:start;gap:20px;display:grid}.mline .name{gap:4px;padding-top:2px;display:grid}.mline .name b{font:900 1.6rem/1 var(--display);text-transform:uppercase}.mline .name span{font:700 .72rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog)}.stops{flex-wrap:wrap;gap:0;display:flex;position:relative}.mstop{min-width:150px;color:var(--chalk);justify-items:start;gap:10px;padding:0 22px 0 0;text-decoration:none;display:grid;position:relative}.mstop:before{content:"";background:var(--c);height:8px;position:absolute;top:11px;left:0;right:0}.mstop:last-child:before{width:24px;right:auto}.mstop .dot{background:var(--ground);border:6px solid var(--chalk);border-radius:50%;width:30px;height:30px;position:relative}.mstop.done .dot{background:var(--c);border-color:var(--chalk)}.mstop .t{font:800 1.05rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.03em;max-width:140px}.mstop .s{font:600 .7rem var(--mono);color:var(--fog)}.mstop:hover .t{color:var(--signal)}@media (width<=700px){.mline{grid-template-columns:1fr;gap:12px}}.modal{z-index:10;background:#281c1073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet{background:var(--deck);border:1px solid var(--steel);border-radius:12px;grid-template-columns:240px 1fr;gap:24px;width:min(760px,100%);max-height:100%;padding:24px;display:grid;overflow:auto}.sheet h2{font:900 2rem/1 var(--display);text-transform:uppercase;margin:0 0 8px}.sheet video,.sheet .frame{aspect-ratio:9/16;background:var(--ground);border:1px solid var(--steel);object-fit:contain;border-radius:8px;width:100%;display:block}.sheet .opts{align-content:start;gap:14px;display:grid}.sheet label{font:800 .72rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);gap:6px;display:grid}.check{align-items:center;gap:8px;font:500 .85rem var(--mono)!important;letter-spacing:0!important;text-transform:none!important;color:var(--chalk)!important;display:flex!important}.bar{background:var(--steel);border-radius:3px;height:6px;overflow:hidden}.bar i{background:var(--signal);width:0;height:100%;display:block}@media (width<=640px){.sheet{grid-template-columns:1fr}.sheet video,.sheet .frame{max-width:220px}}@media (width<=900px){body{height:auto;min-height:100%}.top{gap:12px;padding:0 12px;overflow-x:auto}.clock{display:none}main{display:block}.workspace{flex-direction:column;display:flex}.board{flex:none;height:64vh}.side{border-left:0;border-top:1px solid var(--steel);overflow:visible}.departures{padding:10px 12px}.playbar{gap:10px;padding:8px 12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.opts .speed span{justify-content:space-between;display:flex}.opts .speed output{color:var(--signal);font-family:var(--mono);letter-spacing:0;text-transform:none}.opts input[type=range]{width:100%;accent-color:var(--signal)}body[data-mode=reverse] .dock{display:none}body.covered #board{filter:blur(18px)saturate(.4);pointer-events:none}.ticket.spoiler .t-head{color:var(--signal)}.hint{gap:10px;margin-top:4px;display:grid}.hint p{color:var(--chalk);margin:0;font-size:.9rem;line-height:1.45}.hint p b{color:var(--signal);font-weight:700}.gen{gap:6px;margin-top:10px;display:grid}.gen .btn{width:100%}.lines .rename input.params{width:160px}.to-side{display:none}button,a,summary,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (width<=700px){.top{gap:6px;height:48px;padding:0 10px}.wordmark{gap:0}.wm-text{display:none}.nav{flex:1;justify-content:space-between}.nav a{letter-spacing:.02em;padding:0 8px;font-size:.86rem}.departures{gap:6px;padding:8px 12px}#dep-label,.announce{font-size:.72rem}.lines{flex-wrap:wrap;min-height:38px}.lines .tab{min-height:38px;padding:0 12px;font-size:.85rem}.lines .rename{border-top:1px solid var(--steel);flex-wrap:wrap;flex-basis:100%;margin:0;padding:6px 10px}.lines .rename input,.lines .rename input.params{flex:120px;width:auto}.board{height:56svh;min-height:320px}.to-side{z-index:2;background:var(--deck-2);border:1px solid var(--steel);font:800 .74rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--signal);border-radius:99px;padding:7px 12px;display:block;position:absolute;top:8px;right:8px}.dock{gap:0;padding:4px;bottom:10px}.dock .lbl,.dock-cap{display:none}.dock button{justify-content:center;min-width:44px;min-height:42px;padding:6px 8px}.dock .rule{margin:4px 2px}.playbar{flex-wrap:wrap;row-gap:8px;padding:8px 12px}#scrub{flex:calc(100% - 60px)}.playbar .btn,.playbar summary.btn{padding:8px 10px;font-size:.8rem}.playbar #export{margin-left:auto}.long{display:none}.flags{position:static}.flags-pop{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;width:auto;position:fixed}.side>div{padding:16px 14px}.side h2{font-size:2rem}.side{padding-bottom:env(safe-area-inset-bottom)}input[type=text],select,textarea{font-size:16px!important}.station-menu{border-width:1px 0 0;border-top-color:var(--signal);width:auto;max-height:55svh;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;bottom:0;right:0;top:auto!important;left:0!important}.kv .num{font-size:16px}.modal{padding:10px}.sheet{gap:16px;padding:16px}}.record-modal{background:radial-gradient(circle at 50% 40%,#c4521a38,#281c10b3 60%);overflow:hidden}.rain{pointer-events:none;position:absolute;inset:0}.rain i{background:var(--c);width:34px;height:16px;transform:rotate(var(--r));border-radius:3px;animation:linear infinite both fall;position:absolute;top:-40px}.rain i.loco{background:var(--signal);border-radius:3px 9px 9px 3px;width:40px}.rain i.car:after{content:"";background:repeating-linear-gradient(90deg,#3c28142e 0 5px,#0000 5px 8px);height:5px;position:absolute;top:4px;left:5px;right:5px}@keyframes fall{0%{transform:translateY(-40px) rotate(var(--r))}to{transform:translateY(110vh) rotate(calc(var(--r) * -1))}}.record{background:var(--signal);width:min(520px,100%);color:var(--ground);text-align:center;border-radius:14px;gap:14px;padding:28px 26px 22px;animation:.55s cubic-bezier(.2,1.6,.4,1) both stamp;display:grid;position:relative;box-shadow:0 30px 80px #3c28144d,0 0 0 6px #c4521a38}.record:before,.record:after{content:"";background:#eee5d2;border-radius:50%;width:24px;height:24px;position:absolute;top:118px}.record:before{left:-12px}.record:after{right:-12px}@keyframes stamp{0%{opacity:0;transform:scale(.4)rotate(-8deg)}to{opacity:1;transform:none}}.rec-kicker{font:800 .8rem/1 var(--display);letter-spacing:.3em;text-transform:uppercase}.record h2{font:900 clamp(2.4rem, 9vw, 3.6rem)/.9 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0}.rec-counts{border-top:3px dashed #eee5d273;border-bottom:3px dashed #eee5d273;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:14px 0;display:grid}.rec-counts b{font:900 4.6rem/.9 var(--display);font-variant-numeric:tabular-nums;display:block}.rec-counts .par b{opacity:.45;text-decoration:line-through;text-decoration-thickness:6px}.rec-counts span{font:700 .72rem var(--mono);text-transform:uppercase;letter-spacing:.02em}.rec-counts .vs{font:900 1.2rem var(--display);opacity:.6}.record p{margin:0;font-size:.95rem;line-height:1.45}.record .row{flex-wrap:wrap;justify-content:center}.record .btn{border-color:var(--ground);background:var(--ground);color:var(--signal)}.record .btn.alt{color:var(--ground);background:0 0}.rec-close{font:800 .8rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--ground);opacity:.7;background:0 0;border:0;padding:4px}.mstop.beat .dot{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px #c4521a4d}.mstop.beat .s,.records{color:var(--signal)}.maker{gap:12px;display:grid}.maker label{font:800 .72rem var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--fog);gap:6px;display:grid}.maker textarea{background:var(--ground);border:1px solid var(--steel);color:var(--chalk);font:15px/1.45 var(--body);resize:vertical;border-radius:8px;min-height:64px;padding:8px 10px}.maker .status{font:600 .8rem var(--mono);color:var(--fog)}.maker .status.ok{color:var(--go)}.addcase{grid-template-columns:1fr auto auto;gap:6px;display:grid}.wanted{gap:6px;margin:10px 0 18px;display:grid}.wanted .row .btn{flex:1}.yours{gap:8px;display:grid}.yours a{color:var(--chalk)}.lib-yours{gap:14px;display:grid}.lib-yours .list{flex-wrap:wrap;gap:10px;display:flex}.lib-yours .list a{border:1px solid var(--steel);color:var(--chalk);border-radius:10px;gap:4px;min-width:160px;padding:10px 14px;text-decoration:none;display:grid}.lib-yours .list a b{font:800 1.05rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.03em}.lib-yours .list a span{font:600 .7rem var(--mono);color:var(--fog)}.lib-yours .list a.beat span,.lib-yours .list a:hover b{color:var(--signal)}.check small.sub{font:400 .74rem/1.35 var(--body);color:var(--fog);margin-top:2px;display:block}#board{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body *{text-transform:none!important}.nav a,.lines .tab,.btn,#dep-label,.wordmark{letter-spacing:.01em!important}.wordmark{font-style:italic;font-weight:800}.wordmark svg{flex:none;width:34px;height:22px}.dep-goal{align-items:baseline;gap:12px;display:inline-flex}.dep-goal b{font:italic 700 1.05rem/1 var(--display);color:var(--chalk)}
