:root{--ground:#EFF2F6;--surface:#FFFFFF;--surface-2:#F6F8FB;--line:#D8DFE9;--ink:#131A24;--ink-2:#3C495B;--muted:#5E6B7E;--accent:#1B57CE;--accent-ink:#FFFFFF;--accent-wash:#E6EDFB;--spine:#A7B4C6;--ok:#0F7350;--ok-wash:#DDF0E8;--tight:#8F5408;--tight-wash:#FAECD7;--full:#A92E36;--full-wash:#F9E3E4;--dead:#8A97A8;--dead-wash:#E7EBF1;--r1:#1B57CE;--r2:#7A3E9D;--ui:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--data:ui-monospace,"SF Mono",SFMono-Regular,"Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{--ground:#0F151E;--surface:#18202B;--surface-2:#141C26;--line:#2A3542;--ink:#E6EDF5;--ink-2:#BCC8D6;--muted:#93A1B4;--accent:#6E9BFF;--accent-ink:#0D1421;--accent-wash:#1C2940;--spine:#3A475A;--ok:#4FC79A;--ok-wash:#123528;--tight:#E0A048;--tight-wash:#3A2A11;--full:#F2707A;--full-wash:#3B1B1E;--dead:#6C7A8C;--dead-wash:#1E2732;--r1:#6E9BFF;--r2:#C08BE0}}*{box-sizing:border-box}button{font-family:inherit}[hidden]{display:none!important}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.app{max-width:480px;margin:0 auto;min-height:100vh;flex-direction:column}.app,.appbar{background:var(--surface);display:flex}.appbar{position:sticky;top:0;z-index:5;align-items:center;gap:10px;padding:12px 16px 10px;border-bottom:1px solid var(--line)}.appbar .back{width:28px;height:28px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);cursor:pointer;font-size:14px;line-height:1}.appbar .back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.appbar .back-spacer{width:28px;height:28px}.appbar .t{font-weight:600;font-size:14px}.appbar .s{font:500 11px/1 var(--data);color:var(--muted);margin-left:auto}.screen{flex:1 1 auto;padding:18px 16px 20px;display:flex;flex-direction:column;gap:16px}@media (prefers-reduced-motion:no-preference){.screen{animation:slide .22s ease-out}@keyframes slide{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}}.q{font-size:17px;line-height:1.25;margin:0}.label{font:600 11px/1 var(--data);letter-spacing:.09em;text-transform:uppercase}.hint,.label{color:var(--muted)}.hint{font-size:12.5px;margin:0}.rule{height:1px;background:var(--line);border:0;margin:2px 0;width:100%}.errline{margin:0;font-size:13.5px;color:var(--full)}.linking{display:flex;align-items:center;gap:11px;padding:15px 13px;border-radius:11px;background:var(--accent-wash);border:1px solid var(--line)}.linking .lk{font-weight:600;font-size:15px;color:var(--accent)}.spinner{width:16px;height:16px;flex:0 0 auto;border-radius:50%;border:2.5px solid var(--spine);border-top-color:var(--accent)}@media (prefers-reduced-motion:no-preference){.spinner{animation:spin .8s linear infinite}}@keyframes spin{to{transform:rotate(1turn)}}input[type=date]{width:100%;font:600 17px/1.2 var(--data);color:var(--ink);padding:13px 12px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2)}input[type=date]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.daypick{gap:7px;overflow-x:auto;padding-bottom:3px}.daypick,.daypick button{display:flex;flex:0 0 auto}.daypick button{cursor:pointer;padding:8px 11px;border-radius:8px;min-width:62px;border:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:3px;align-items:flex-start;font-family:var(--data)}.daypick button .dow{font:500 10px/1 var(--data);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.daypick button .dnum{font:700 15px/1 var(--data);color:var(--ink);font-variant-numeric:tabular-nums}.daypick button[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.daypick button[aria-pressed=true] .dnum,.daypick button[aria-pressed=true] .dow{color:var(--accent-ink)}.daypick button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bigbtn{width:100%;text-align:left;cursor:pointer;padding:15px 16px;border-radius:11px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);display:flex;align-items:center;gap:13px;font-family:var(--ui)}.bigbtn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-wash)}.bigbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bigbtn:disabled{cursor:not-allowed;opacity:.55}.bigbtn .arrow{font:600 15px/1 var(--data);color:var(--accent);margin-left:auto}.bigbtn:disabled .arrow{color:var(--muted)}.bigbtn .ttl{font-weight:600;font-size:15px}.bigbtn .sub{font-size:12.5px;color:var(--muted)}.dirglyph{width:34px;height:34px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font:600 15px/1 var(--data);color:var(--accent)}.bigbtn:disabled .dirglyph{color:var(--muted)}.cta{width:100%;cursor:pointer;padding:15px;border-radius:11px;border:0;background:var(--accent);color:var(--accent-ink);font:600 15px/1 var(--ui)}.cta:hover:not(:disabled){filter:brightness(1.08)}.cta:disabled{opacity:.6;cursor:progress}.cta:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.ghost{width:100%;cursor:pointer;padding:13px;border-radius:11px;border:1px solid var(--line);background:transparent;color:var(--ink-2);font:500 14px/1 var(--ui)}.ghost:disabled{opacity:.6;cursor:not-allowed}.rcode{flex:0 0 auto;font:700 11px/1 var(--data);letter-spacing:.04em;padding:4px 6px;border-radius:4px;color:#fff}.rcode.r1{background:var(--r1)}.rcode.r2{background:var(--r2)}.jumpbar{gap:6px;overflow-x:auto;padding-bottom:3px}.jumpbar,.jumpbar button{display:flex;flex:0 0 auto}.jumpbar button{cursor:pointer;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font:500 11.5px/1 var(--data)}.jumpbar button:hover{border-color:var(--accent)}.jumpbar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jumpbar .jc{font:700 10px/1 var(--data);letter-spacing:.05em;padding:3px 5px;border-radius:3px;color:#fff}.jumpbar .jc.r1{background:var(--r1)}.jumpbar .jc.r2{background:var(--r2)}.rsection{display:flex;flex-direction:column;gap:12px;padding-top:4px}.rsection+.rsection{margin-top:20px;border-top:1px solid var(--line);padding-top:20px}.rhead{display:flex;flex-direction:column;gap:5px;padding:11px 12px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line)}.rhead .top{display:flex;align-items:center;gap:8px}.rhead .rn{font-weight:600;font-size:13.5px;color:var(--ink)}.spine{display:flex;flex-direction:column}.stoprow{display:grid;grid-template-columns:20px minmax(0,1fr);gap:11px}.gutter{position:relative;display:flex;justify-content:center}.gutter:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--spine)}.stoprow:first-child .gutter:before{top:13px}.stoprow:last-child .gutter:before{bottom:calc(100% - 13px)}.node{position:relative;z-index:1;margin-top:7px;width:11px;height:11px;border-radius:50%;background:var(--surface);border:2.5px solid var(--spine)}.stoprow.sel .node{border-color:var(--accent)}.stoprow.on .gutter:before,.stoprow.sel .node{background:var(--accent)}.stoprow.end .node{border-color:var(--ok);background:var(--surface);border-width:3px}.stoprow.past .stopname,.stoprow.past .stoptime{color:var(--dead)}.stoprow.past .node{border-color:var(--line)}.stoprow.sel .stoptime{color:var(--accent);font-weight:600}.stopbody{padding-bottom:6px;min-width:0}.stopname{font-weight:600;font-size:14px;line-height:1.3}.stoptime{font:500 11.5px/1 var(--data);color:var(--muted)}.stopbtn{width:100%;text-align:left;cursor:pointer;display:flex;align-items:baseline;gap:10px;padding:7px 9px;margin-top:-2px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink);font-family:var(--ui)}.stopbtn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-wash)}.stopbtn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stopbtn:disabled{cursor:not-allowed}.stopbtn:disabled .stopname,.stopbtn:disabled .stoptime{color:var(--dead)}.stopbtn .stoptime{margin-left:auto;white-space:nowrap}.stopbtn .why{font:500 10.5px/1 var(--data);color:var(--dead);white-space:nowrap}.flag{font:700 9px/1 var(--data);letter-spacing:.08em;text-transform:uppercase;padding:3px 5px;border-radius:3px;background:var(--accent);color:var(--accent-ink)}.flag.al{background:var(--ok)}.deps{display:flex;flex-direction:column;gap:8px}.dwrap{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.dwrap.open{border-color:var(--accent)}.dcard{width:100%;display:flex;align-items:center;gap:10px;padding:12px 13px;border:0;background:transparent;color:var(--ink);text-align:left;font-family:var(--ui)}button.dcard{cursor:pointer}button.dcard:hover{background:var(--surface-2)}.dcard:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dcard .dt{font:600 15px/1 var(--data);font-variant-numeric:tabular-nums}.dcard .dt .ar{color:var(--muted);font-weight:500}.dcard .dc{margin-left:auto}.dcard .chev{font:600 14px/1 var(--data);color:var(--muted);width:12px;text-align:center}.dcard.inert{cursor:not-allowed}.dcard.inert .dt{color:var(--muted)}.dc{display:inline-block;font:600 11.5px/1 var(--data);letter-spacing:.02em;padding:6px 8px;border-radius:6px;border:1px solid;white-space:nowrap}.dc.ok{background:var(--ok-wash);border-color:var(--ok);color:var(--ok)}.dc.tight{background:var(--tight-wash);border-color:var(--tight);color:var(--tight)}.dc.full{background:var(--full-wash);border-color:var(--full);color:var(--full)}.dc.na{background:var(--dead-wash);border-color:var(--line);color:var(--dead);font-weight:500}.dbody{padding:12px 13px 6px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.pickbanner{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:10px;background:var(--accent-wash);border:1px solid var(--accent)}.pickbanner .pb-l{display:flex;flex-direction:column;gap:4px;min-width:0}.pickbanner .pb-t{display:flex;align-items:center;gap:7px}.pickbanner .pb-t b{font:700 14px/1 var(--data);color:var(--accent);font-variant-numeric:tabular-nums}.pickbanner .pb-s{font-size:12px;line-height:1.4;color:var(--ink-2)}.pickbanner .pb-s b{color:var(--ink);font-weight:600}.pickbanner .pb-x{margin-left:auto;flex:0 0 auto;width:26px;height:26px;border-radius:6px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:15px;line-height:1}.pickbanner .pb-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stickycta{position:sticky;bottom:0;margin:0 -16px -20px;padding:12px 16px 16px;background:var(--surface);border-top:1px solid var(--line)}.csnote{display:flex;flex-direction:column;gap:9px;padding:11px 13px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:12.5px;line-height:1.45}.csnote .csbtn{align-self:flex-start;cursor:pointer;padding:8px 12px;border-radius:8px;border:1px solid var(--accent);background:transparent;color:var(--accent);font:600 13px/1 var(--ui);text-decoration:none}.csnote .csbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.csnote .csmsg{color:var(--ink);font-weight:600}.card{border:1px solid var(--line);border-radius:11px;background:var(--surface-2);overflow:hidden}.card .hd{padding:11px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.card .hd .nm{font-size:12.5px;font-weight:600;color:var(--ink-2)}.itin{display:flex;flex-direction:column;padding:12px 13px}.itrow{display:grid;grid-template-columns:46px 14px minmax(0,1fr);gap:10px;align-items:start}.itrow .t{font:600 12px/18px var(--data);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right}.itrow .g{position:relative;display:flex;justify-content:center}.itrow .g:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--spine)}.itrow:first-child .g:before{top:8px}.itrow:last-child .g:before{bottom:calc(100% - 8px)}.itrow .nd{position:relative;z-index:1;margin-top:4px;width:9px;height:9px;border-radius:50%;background:var(--surface-2);border:2px solid var(--spine)}.itrow .nm2{font-size:13px;line-height:18px;font-weight:500;color:var(--ink-2);padding-bottom:9px;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.itrow:last-child .nm2{padding-bottom:0}.itrow.on .g:before{background:var(--accent)}.itrow.on .nm2{color:var(--ink);font-weight:600}.itrow.alight .nd,.itrow.board .nd{width:11px;height:11px;margin-top:3px;border-color:var(--accent)}.itrow.board .nd{background:var(--accent)}.itrow.alight .nd{background:var(--surface-2);border-width:3px}.itrow.alight .flag{background:var(--ok)}.itrow.alight .g:before{bottom:calc(100% - 8px)}.itrow.off .nm2,.itrow.off .t{color:var(--dead)}.itrow.off .nd{border-color:var(--line)}.rows{flex-direction:column}.row,.rows{display:flex}.row{align-items:center;gap:10px;padding:10px 13px;border-top:1px solid var(--line);font-size:13.5px}.row:first-child{border-top:0}.row .k{color:var(--ink-2)}.row .k em{font-style:normal;font-size:11.5px;color:var(--muted)}.row .k em:not(:empty){display:block;margin-top:2px}.row .v{margin-left:auto;font:600 13.5px/1 var(--data);font-variant-numeric:tabular-nums}.row.total{background:var(--surface);border-top:1px solid var(--line)}.row.total .k{font-weight:600;color:var(--ink)}.row.total .v{font-size:16px}.row.method{cursor:pointer}.row.method input{accent-color:var(--accent)}.stepper{display:flex;align-items:center;margin-left:auto;border:1px solid var(--line);border-radius:8px;overflow:hidden}.stepper button{width:34px;height:32px;border:0;background:var(--surface);color:var(--ink);cursor:pointer;font:600 15px/1 var(--data)}.stepper button:disabled{color:var(--dead);cursor:not-allowed}.stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.stepper .n{width:36px;text-align:center;font:600 14px/1 var(--data);font-variant-numeric:tabular-nums}.notheld{display:flex;gap:9px;padding:11px 13px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:12.5px}.notheld b{color:var(--ink)}.hold{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:9px;background:var(--tight-wash);border:1px solid var(--tight);color:var(--tight)}.hold .clock{font:700 19px/1 var(--data);font-variant-numeric:tabular-nums}.hold .cp{font-size:12.5px;font-weight:500;line-height:1.35}.seq{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:11px;overflow:hidden}.seq .st{display:flex;align-items:center;gap:10px;padding:11px 13px;font-size:13.5px;color:var(--muted)}.seq .st .dotm{width:18px;height:18px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;border:2px solid var(--spine);font:700 10px/1 var(--data);color:transparent}.seq .st.active{color:var(--ink);background:var(--accent-wash)}.seq .st.active .dotm{border-color:var(--accent)}.track-cta{display:flex;flex-direction:column;gap:5px;padding:14px 15px;border-radius:11px;background:var(--accent-wash);border:1px solid var(--line)}.track-cta .tc-ttl{font-weight:600;font-size:14px;color:var(--accent)}.track-cta .tc-sub{font-size:12.5px;color:var(--ink-2);line-height:1.45}.track-cta .tc-sub b{color:var(--ink)}.bad-banner,.ok-banner{display:flex;flex-direction:column;gap:5px;padding:15px;border-radius:11px}.ok-banner{background:var(--ok-wash);border:1px solid var(--ok);color:var(--ok)}.bad-banner{background:var(--full-wash);border:1px solid var(--full);color:var(--full)}.bad-banner .big,.ok-banner .big{font-weight:700;font-size:16px}.bad-banner .sm,.ok-banner .sm{font-size:12.5px;color:var(--ink-2)}.boarding{display:flex;flex-direction:column;align-items:center;gap:7px;padding:20px;border:1px dashed var(--line);border-radius:11px;background:var(--surface-2)}.boarding .bc{font:700 30px/1 var(--data);letter-spacing:.12em;color:var(--ink);font-variant-numeric:tabular-nums}