@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-vietnamese-600-normal.43ud19ilw2-pl.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-600-normal.0csyzgbq6oph-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-ext-600-normal.0_w6c_5g3mtxc.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-600-normal.40rgster27fo6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-600-normal.289y3avl9x-vx.woff2)format("woff2"),url(../media/barlow-condensed-latin-600-normal.0gvkp1c3flf_w.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-vietnamese-700-normal.30aknk5meqo_4.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-700-normal.3f_ld5jwq496k.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-ext-700-normal.1qvxqej4sgmo7.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-700-normal.2ujo9d6x5hgkq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-700-normal.21s4tc4km7afu.woff2)format("woff2"),url(../media/barlow-condensed-latin-700-normal.1on3xg---ibgx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-ext-400-normal.0fqyy_rzir8wk.woff2)format("woff2"),url(../media/dm-sans-latin-ext-400-normal.2wgrmp5e19scw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.0471snlmja818.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.40quu04grbhf8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-ext-500-normal.3kt-ux4qy_ne2.woff2)format("woff2"),url(../media/dm-sans-latin-ext-500-normal.3exo923874x5t.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.0brn-8r9pdr2e.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.0jcw8phz0eanr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-ext-600-normal.2h9q_0618j3sz.woff2)format("woff2"),url(../media/dm-sans-latin-ext-600-normal.2uv0s9c16r-jh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.0oone78si629l.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.40ad7xuawyzt9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#e9e7df;--surface:#f5f3ec;--surface-raised:#fbfaf6;--ink:#171918;--muted:#62645f;--subtle:#85877f;--rule:#bbb9b0;--rule-soft:#d6d4cb;--signal:#ec5929;--signal-hover:#d3481c;--live:#277b55;--delay:#a9472a;--map-track:#b0b0a7;--map-station:#4b4e48;--map-paper:#f5f3ec;--focus:#135fbd}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#171918;--surface:#202321;--surface-raised:#272a27;--ink:#f1efe8;--muted:#b7b8b1;--subtle:#92958d;--rule:#484a46;--rule-soft:#343734;--signal:#ff7041;--signal-hover:#ff8a64;--live:#86d2a0;--delay:#ff9d7c;--map-track:#595d56;--map-station:#babcb5;--map-paper:#202321;--focus:#8ec1ff}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-width:320px}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;line-height:1.45}body:before{z-index:-1;pointer-events:none;content:"";opacity:.13;background-image:linear-gradient(to right, var(--rule-soft) 1px, transparent 1px), linear-gradient(to bottom, var(--rule-soft) 1px, transparent 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 70%);mask-image:linear-gradient(#000 0%,#0000 70%)}::selection{background:var(--signal);color:#fff}input,select,button{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{background:var(--rule);border:3px solid var(--canvas)}::placeholder{color:var(--subtle);opacity:1}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.startpage{flex-direction:column;width:min(100% - 48px,1480px);min-height:100dvh;margin-inline:auto;display:flex}.topbar{border-bottom:1px solid var(--rule);grid-template-columns:minmax(210px,1fr) minmax(250px,440px) minmax(210px,1fr);align-items:center;gap:24px;min-height:66px;display:grid}.brand{align-items:center;gap:12px;width:fit-content;display:inline-flex}.brand-mark{background:var(--ink);width:31px;height:31px;color:var(--canvas);place-items:center;font-family:Barlow Condensed,sans-serif;font-size:23px;font-weight:700;line-height:1;display:grid}.brand-name{letter-spacing:.11em;font:500 11px IBM Plex Mono,monospace}.brand-name i,.page-footer i{color:var(--signal);font-style:normal}.search-box{height:38px;color:var(--muted);background:var(--surface);border:1px solid var(--rule);align-items:center;gap:10px;padding:0 12px;display:flex}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search-box:focus-within{border-color:var(--focus)}.search-box kbd{color:var(--subtle);white-space:nowrap;font:10px IBM Plex Mono,monospace}.topbar-actions{justify-self:end;align-items:center;gap:8px;display:flex}.icon-button{cursor:pointer;min-width:35px;height:35px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0 7px;transition:color .18s,background .18s,transform .18s;display:inline-grid}.icon-button:hover{color:var(--ink);background:var(--rule-soft)}.icon-button:active{transform:scale(.96)}.edit-toggle{border:1px solid var(--rule);height:35px;color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:7px;padding:0 11px;font-size:12px;transition:background .18s,border-color .18s;display:inline-flex}.edit-toggle:hover,.edit-toggle.is-active{border-color:var(--signal);background:color-mix(in srgb, var(--signal) 9%, var(--surface))}.signout-button{border-left:1px solid var(--rule-soft);margin-left:2px}.welcome-line{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:end;gap:24px;padding:31px 0 23px;display:flex}.welcome-line h1{letter-spacing:-.035em;text-transform:uppercase;margin:0;font:700 clamp(44px,6.4vw,80px)/.84 Barlow Condensed,sans-serif}.signal-period{color:var(--signal)}.welcome-line p{color:var(--muted);text-transform:capitalize;margin:11px 0 0;font-size:12px}.welcome-line p span{color:var(--signal);padding:0 7px}.clock{color:var(--ink);letter-spacing:-.08em;font-variant-numeric:tabular-nums;font:400 clamp(29px,3.3vw,44px)/1 IBM Plex Mono,monospace}.content-grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,.98fr);gap:clamp(20px,3vw,42px);padding:21px 0 32px;display:grid}.personal-column,.rail-column{min-width:0}.rail-column{flex-direction:column;gap:17px;display:flex}.section-bar,.bookmark-heading,.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-bar{margin-bottom:5px}.section-bar h2,.bookmark-heading h2,.panel-heading h2{letter-spacing:.015em;text-transform:uppercase;margin:0;font:600 24px/1.05 Barlow Condensed,sans-serif}.section-bar>span{color:var(--muted);font:10px IBM Plex Mono,monospace}.bookmark-section{border-bottom:1px solid var(--rule);padding:16px 0 17px}.bookmark-heading{min-height:24px;margin-bottom:12px}.bookmark-heading-title,.heading-title{align-items:center;gap:9px;min-width:0;display:flex}.bookmark-heading h2{font-size:21px}.signal-square{background:var(--signal);flex:none;width:10px;height:10px;display:inline-block}.bookmark-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none;display:grid}.bookmark-item{min-width:0;position:relative}.bookmark-link{border:1px solid var(--rule-soft);background:var(--surface);flex-direction:column;justify-content:space-between;align-items:flex-start;height:100%;min-height:96px;padding:12px 11px 10px;transition:border-color .2s,background .2s,transform .2s cubic-bezier(.2,.8,.2,1);display:flex}.bookmark-link:hover{border-color:var(--signal);background:var(--surface-raised);transform:translateY(-2px)}.bookmark-mark{width:28px;height:28px;color:var(--signal);background:color-mix(in srgb, var(--signal) 9%, var(--surface));letter-spacing:.02em;place-items:center;font:600 12px Barlow Condensed,sans-serif;display:grid}.bookmark-copy{flex-direction:column;min-width:0;max-width:100%;display:flex}.bookmark-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.bookmark-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.035em;font:9px IBM Plex Mono,monospace;overflow:hidden}.bookmark-arrow{color:var(--subtle);opacity:0;transition:opacity .18s,transform .18s;position:absolute;top:9px;right:8px;transform:translate(-2px,2px)}.bookmark-link:hover .bookmark-arrow,.bookmark-link:focus-visible .bookmark-arrow{opacity:1;transform:none}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-grid .bookmark-link{flex-direction:row;justify-content:flex-start;align-items:center;gap:11px;min-height:62px;padding:9px 36px 9px 11px}.work-grid .bookmark-mark{border:1px solid var(--rule);background:0 0;flex:0 0 31px;width:31px;height:31px}.work-grid .bookmark-copy strong{font-weight:600}.work-grid .bookmark-copy small{margin-top:2px}.work-grid .bookmark-arrow{top:50%;right:10px;transform:translate(-2px,calc(2px - 50%))}.work-grid .bookmark-link:hover .bookmark-arrow,.work-grid .bookmark-link:focus-visible .bookmark-arrow{transform:translateY(-50%)}.section-tools{align-items:center;gap:2px;display:flex}.text-action,.work-add,.add-category{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;font-size:11px;display:inline-flex}.text-action:hover,.work-add:hover,.add-category:hover{color:var(--signal)}.icon-button.small{width:26px;min-width:26px;height:26px;padding:0}.icon-button:disabled{opacity:.35;cursor:not-allowed}.link-tools{z-index:1;background:var(--surface-raised);border:1px solid var(--rule);padding:1px;display:flex;position:absolute;top:3px;right:3px}.bookmark-item:has(.link-tools) .bookmark-link{border-color:var(--signal)}.work-add{margin-top:11px;padding:5px 0}.category-remove{color:var(--subtle);cursor:pointer;background:0 0;border:0;margin-left:12px;padding:5px 0;font-size:10px}.category-remove:hover,.danger{color:var(--delay)!important}.add-category{border:1px dashed var(--rule);margin-top:15px;padding:8px 10px}.empty-links,.search-empty{color:var(--muted);background:var(--surface);grid-column:1/-1;padding:14px;font-size:12px}.panel{background:var(--surface);border:1px solid var(--rule);min-width:0}.train-panel{padding:15px 17px 10px}.panel-heading{margin-bottom:14px}.panel-heading h2{font-size:26px}.feed-state{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font:10px IBM Plex Mono,monospace;display:inline-flex}.feed-state i{background:var(--subtle);border-radius:50%;width:7px;height:7px;display:inline-block}.feed-state.is-live i{background:var(--live);box-shadow:0 0 0 3px color-mix(in srgb, var(--live) 14%, transparent)}.station-row{align-items:center;gap:8px;display:flex}.station-select-wrap{border:1px solid var(--rule);background:var(--surface-raised);flex:1;align-items:center;height:36px;display:flex;position:relative}.station-select-wrap select{appearance:none;width:100%;height:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:0;padding:0 32px 0 10px;font-size:12px}.station-select-wrap svg{pointer-events:none;color:var(--muted);position:absolute;right:10px}.refresh-button{border:1px solid var(--rule)}.train-tabs{border-bottom:1px solid var(--rule);gap:0;margin-top:9px;display:flex}.train-tabs button{min-height:33px;color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;border:0;padding:0 13px;font:500 11px IBM Plex Mono,monospace;position:relative}.train-tabs button[aria-selected=true]{color:var(--ink)}.train-tabs button[aria-selected=true]:after{background:var(--signal);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.train-table-wrap{overflow-x:auto}.train-table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}.train-table th{height:29px;color:var(--muted);letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;font:9px IBM Plex Mono,monospace}.train-table td{border-top:1px solid var(--rule-soft);height:46px}.train-time{font-variant-numeric:tabular-nums;letter-spacing:-.06em;white-space:nowrap;width:77px;font:500 17px/1 IBM Plex Mono,monospace}.train-time small{color:var(--muted);letter-spacing:0;margin-top:4px;font:9px IBM Plex Mono,monospace;display:block}.train-destination{max-width:190px;font-weight:500}.train-platform{text-align:center;width:42px;font:11px IBM Plex Mono,monospace}.train-status{min-width:53px;color:var(--live);white-space:nowrap;font-size:10px;display:inline-block}.train-status.is-delayed{color:var(--delay)}.table-message{color:var(--muted);text-align:center;height:74px!important}.panel-foot{color:var(--muted);justify-content:space-between;gap:10px;padding-top:9px;font:9px IBM Plex Mono,monospace;display:flex}.panel-foot span:first-child{align-items:center;gap:5px;display:inline-flex}.inline-error{color:var(--delay);margin:5px 0 0;font-size:11px}.map-panel{padding:13px 15px 10px}.map-panel .panel-heading{margin-bottom:9px}.map-panel .panel-heading h2{font-size:23px}.map-canvas-wrap{background-color:var(--surface-raised);background-image:linear-gradient(to right, var(--rule-soft) 1px, transparent 1px), linear-gradient(to bottom, var(--rule-soft) 1px, transparent 1px);background-size:32px 32px;height:clamp(210px,22vw,305px);transition:height .25s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.map-canvas-wrap.map-expanded{z-index:8;border:1px solid var(--rule);height:auto;position:fixed;inset:24px;box-shadow:0 16px 64px #0000003d}.network-canvas{width:100%;height:100%;display:block}.map-corner-label{color:var(--subtle);pointer-events:none;font:8px IBM Plex Mono,monospace;position:absolute;bottom:7px;right:8px}.map-expand{border:1px solid var(--rule);background:var(--surface);width:28px;height:28px;color:var(--muted);cursor:pointer;place-items:center;display:grid;position:absolute;top:7px;right:7px}.map-expand:hover{color:var(--signal);border-color:var(--signal)}.map-loading{color:var(--muted);pointer-events:none;justify-content:center;align-items:center;gap:8px;font:11px IBM Plex Mono,monospace;display:flex;position:absolute;inset:0}.map-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:15px;padding-top:9px;font:9px IBM Plex Mono,monospace;display:flex}.map-legend>span{align-items:center;gap:5px;display:inline-flex}.legend-dot{border-radius:50%;width:7px;height:7px}.legend-on-time{background:var(--live)}.legend-delay{background:var(--signal)}.legend-diamond{background:var(--signal);width:7px;height:7px;transform:rotate(45deg)}.legend-ring{border:1px solid var(--muted);border-radius:50%;width:7px;height:7px}.legend-cross{width:9px;height:9px;color:var(--signal);font:11px/8px var(--font-mono)}.legend-line{background:var(--map-track);width:14px;height:1px}.map-attribution{color:var(--subtle);margin-left:auto}.page-footer{border-top:1px solid var(--rule);min-height:36px;color:var(--subtle);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font:9px IBM Plex Mono,monospace;display:flex}.editor-dialog{width:min(100% - 28px,500px);max-width:500px;color:var(--ink);background:var(--surface);border:1px solid var(--rule);padding:0;box-shadow:0 18px 60px #0003}.editor-dialog::backdrop{background:#11121194}.dialog-top{border-bottom:1px solid var(--rule);text-transform:uppercase;justify-content:space-between;align-items:center;padding:13px 16px;font:600 20px Barlow Condensed,sans-serif;display:flex}.editor-form{gap:13px;padding:18px 16px 16px;display:grid}.editor-form label,.auth-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;gap:6px;font:10px IBM Plex Mono,monospace;display:grid}.editor-form input,.auth-form input{border:1px solid var(--rule);background:var(--surface-raised);width:100%;height:40px;color:var(--ink);text-transform:none;border-radius:0;outline:0;padding:0 10px;font:13px DM Sans,sans-serif}.editor-form input:focus,.auth-form input:focus{border-color:var(--focus)}.form-row{grid-template-columns:90px 1fr;gap:12px;display:grid}.check-label{cursor:pointer;align-items:center;gap:9px!important;display:flex!important}.check-label input{width:16px;height:16px;accent-color:var(--signal)}.dialog-actions{justify-content:flex-end;align-items:center;gap:8px;padding-top:7px;display:flex}.button-primary,.button-quiet{border:1px solid var(--rule);cursor:pointer;min-height:38px;padding:0 13px;font-size:12px}.button-primary{border-color:var(--signal);background:var(--signal);color:#fff;justify-content:center;align-items:center;gap:9px;font-weight:600;transition:background .18s,transform .18s;display:inline-flex}.button-primary:hover{border-color:var(--signal-hover);background:var(--signal-hover)}.button-primary:active{transform:scale(.98)}.button-primary:disabled{opacity:.6;cursor:wait}.button-quiet{color:var(--ink);background:0 0}.button-quiet:hover{background:var(--rule-soft)}.form-error{color:var(--delay);margin:0;font-size:12px}.auth-page{place-items:center;min-height:100dvh;padding:0 36px;display:grid;position:relative}.auth-brand{letter-spacing:.1em;align-items:center;gap:11px;font:500 11px IBM Plex Mono,monospace;display:flex;position:absolute;top:23px;left:36px}.auth-brand i{color:var(--signal);font-style:normal}.auth-panel{background:var(--surface);border:1px solid var(--rule);width:min(100%,420px);padding:27px}.auth-symbol{width:38px;height:38px;color:var(--signal);border:1px solid var(--rule);place-items:center;display:grid}.auth-panel h1{letter-spacing:-.02em;margin:17px 0 4px;font:700 41px/.98 Barlow Condensed,sans-serif}.auth-panel>p{color:var(--muted);margin:0 0 20px;font-size:12px}.auth-form{gap:13px;display:grid}.auth-form .button-primary{margin-top:4px}.auth-foot{border-top:1px solid var(--rule-soft);color:var(--muted);align-items:center;gap:7px;margin-top:17px;padding-top:13px;font:9px IBM Plex Mono,monospace;display:flex}.auth-coordinates{color:var(--subtle);font:9px IBM Plex Mono,monospace;position:absolute;bottom:20px;right:36px}@media (min-width:1500px){.startpage{width:min(100% - 72px,1480px)}.content-grid{gap:46px}.bookmark-link{min-height:104px}}@media (max-width:980px){.startpage{width:min(100% - 32px,760px)}.topbar{grid-template-columns:1fr auto;gap:12px;padding:8px 0}.search-box{grid-area:2/1/auto/-1}.topbar-actions{grid-area:1/2}.content-grid{grid-template-columns:1fr;gap:22px}.rail-column{grid-template-columns:1fr 1fr;align-items:start;display:grid}.map-canvas-wrap{height:260px}.bookmark-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:620px){.startpage{width:min(100% - 26px,500px)}.topbar{min-height:58px}.brand-name{font-size:10px}.topbar-actions{gap:2px}.edit-toggle{padding-inline:8px}.signout-button{display:none}.search-box{height:36px}.welcome-line{align-items:end;padding:26px 0 18px}.welcome-line h1{font-size:53px}.welcome-line p{font-size:10px}.clock{font-size:28px}.content-grid{padding-top:14px}.bookmark-section{padding:13px 0 14px}.bookmark-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bookmark-link{min-height:82px;padding:9px 8px}.bookmark-mark{width:25px;height:25px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rail-column{display:flex}.train-panel{padding:13px 11px 9px}.panel-heading h2{font-size:24px}.train-table{min-width:420px}.map-panel{padding:12px 10px 9px}.map-canvas-wrap{height:240px}.map-legend{gap:9px;font-size:8px}.page-footer{font-size:8px}.page-footer span:nth-child(3){display:none}.auth-page{padding:0 16px}.auth-brand{left:16px}.auth-panel{padding:21px}.auth-coordinates{right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
