@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #edf0f3;--surface: #ffffff;--ink: #0f1b2d;--muted: #5a6474;--line: #d6dbe2;--route: #2340d8;--route-soft: #e3e8ff;--ok: #0b7a4b;--warn: #8a5200;--warn-soft: #fff4e0;--err: #b3261e;--err-soft: #fdecea;--long: #0b7a4b;--short: #b3261e;--radius-lg: 20px;--radius-sm: 10px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0b111c;--surface: #131b2a;--ink: #e6ebf2;--muted: #8e99ab;--line: #253046;--route: #8ea2ff;--route-soft: #1c2748;--ok: #3dd68c;--warn: #f0b429;--warn-soft: #2a2110;--err: #ff7a70;--err-soft: #2d1614;--long: #3dd68c;--short: #ff7a70;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:32px 16px 48px;background:var(--paper);color:var(--ink);font:400 16px/1.5 Instrument Sans Variable,system-ui,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--route);outline-offset:2px}a{color:var(--route)}.app{width:100%;max-width:520px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 24px 24px}@media(max-width:480px){.app{padding:16px}body{padding-top:16px}}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.wordmark{font-weight:650;font-size:15px;letter-spacing:-.01em}.pill{border:1px solid var(--line);background:transparent;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:550}.top{position:relative}.pill-static{color:var(--muted);font-weight:500;cursor:default}.pill-static:hover,.pill-static:focus-visible{color:var(--ink)}.pill-static:hover:after,.pill-static:focus-visible:after{content:attr(data-full);position:absolute;right:0;top:calc(100% + 6px);z-index:1;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:13px;font-weight:550;overflow-wrap:anywhere;box-shadow:0 6px 20px #0f1b2d1f}.route{display:grid;grid-template-columns:minmax(0,1fr) minmax(40px,96px) minmax(0,1fr);align-items:center;gap:12px;padding:18px 0 22px;border-bottom:1px solid var(--line);margin-bottom:22px}.venue{display:flex;flex-direction:column;min-width:0}.venue-to{text-align:right}.venue-name{font-size:14px;color:var(--muted);font-weight:550}.venue-bal{font-size:clamp(22px,5.6vw,30px);font-weight:600;letter-spacing:-.025em;line-height:1.15;white-space:nowrap}.venue-sub{font-size:13px;color:var(--muted)}.track{position:relative;height:2px;background-image:linear-gradient(90deg,var(--route) 50%,transparent 50%);background-size:8px 2px}.track:after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left:7px solid var(--route);border-right:0}.dot{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:var(--route);opacity:0}body[data-moving] .dot{opacity:1;animation:travel 1.4s cubic-bezier(.5,0,.5,1) infinite}@keyframes travel{0%{left:0}to{left:calc(100% - 10px)}}@media(prefers-reduced-motion:reduce){body[data-moving] .dot{animation:none;left:calc(50% - 5px)}}.intro h1{font-size:clamp(26px,6.4vw,34px);line-height:1.12;letter-spacing:-.03em;font-weight:650;margin:0 0 10px}.intro p{margin:0 0 22px;color:var(--muted);max-width:44ch}h2{font-size:20px;letter-spacing:-.02em;font-weight:650;margin:0}.primary{display:block;width:100%;padding:14px 18px;border:0;border-radius:var(--radius-sm);background:var(--route);color:#fff;font-weight:600;font-size:16px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .primary{color:#0b111c}}.primary:disabled{background:var(--line);color:var(--muted)}.textlink{display:block;margin:16px auto 0;background:none;border:0;padding:4px;color:var(--route);font-weight:550;font-size:15px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.sim-form{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.sim-row{display:flex;gap:8px}.sim-row input{flex:1;min-width:0;padding:11px 12px;font-size:15px;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent}.sim-row input:focus{border-color:var(--route);outline:none}.secondary{flex:none;padding:11px 16px;border:1px solid var(--route);border-radius:var(--radius-sm);background:transparent;color:var(--route);font-weight:600;font-size:15px}.sim-form .hint{color:var(--err)}.sim-exit{display:inline-block;margin-top:6px;font-weight:550}.sim{margin:0 0 18px;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px dashed var(--route);color:var(--ink);font-size:14px}.sim-addr{font-weight:600;overflow-wrap:anywhere}body:has(.sim:not([hidden])) #ackRow{display:none}.notice{margin:0 0 18px;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;background:var(--route-soft)}.notice[data-kind=warn]{background:var(--warn-soft);color:var(--warn)}.notice[data-kind=err]{background:var(--err-soft);color:var(--err)}.field{display:block}.field-label{display:block;font-size:14px;color:var(--muted);font-weight:550;margin-bottom:6px}.amount{display:flex;align-items:baseline;gap:8px;border-bottom:2px solid var(--line);padding-bottom:6px}.amount:focus-within{border-color:var(--route)}.amount input{flex:1;min-width:0;border:0;background:transparent;padding:0;font-size:clamp(34px,9vw,44px);font-weight:600;letter-spacing:-.03em;outline:none}.amount input::placeholder{color:var(--line)}.unit{font-size:18px;font-weight:600;color:var(--muted)}.chips{display:flex;gap:8px;margin-top:12px}.chip{flex:1;padding:7px 0;border:1px solid var(--line);background:transparent;border-radius:999px;font-size:14px;font-weight:550}.chip:hover{border-color:var(--route);color:var(--route)}.hint{min-height:21px;margin:8px 0 0;font-size:14px;color:var(--muted)}.receipt{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:14px 0 20px;font-size:15px}.receipt dt{color:var(--muted)}.receipt dd{margin:0;text-align:right;font-weight:550}.receipt dd[data-bad=true]{color:var(--err)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-head .textlink{margin:0;font-size:14px}.lede{color:var(--muted);font-size:15px;margin:8px 0 18px}.slip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.slip .field-label{margin:0}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px}.seg-opt{border:0;background:transparent;border-radius:999px;padding:5px 12px;font-size:14px;font-weight:550;color:var(--muted)}.seg-opt[aria-checked=true]{background:var(--route-soft);color:var(--route)}.pos-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.pos{display:grid;grid-template-columns:22px 1fr auto;grid-template-areas:"box name cost" ". est est";gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line)}.pos input{grid-area:box;margin:4px 0 0;width:18px;height:18px;accent-color:var(--route)}.pos-name{grid-area:name;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}.pos-name strong{font-weight:650}.side{font-size:13px;font-weight:600}.side-long{color:var(--long)}.side-short{color:var(--short)}.pos-size{font-size:13px;color:var(--muted);flex-basis:100%}.pos-cost{grid-area:cost;font-weight:600;text-align:right;line-height:1.25}.pos-cost small{display:block;font-size:12px;font-weight:500;color:var(--muted)}.pos-est{grid-area:est;display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13px;color:var(--muted)}.pos-why{color:var(--err)}.pos[data-blocked=true] .pos-name,.pos[data-blocked=true] .pos-cost{opacity:.55}.pos-empty{padding:14px 0;color:var(--muted);font-size:15px;border-bottom:1px solid var(--line)}.ack{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);margin:0 0 16px;cursor:pointer}.ack input{margin:3px 0 0;width:18px;height:18px;flex:none;accent-color:var(--route)}.steps{list-style:none;counter-reset:s;margin:16px 0 20px;padding:0}.steps li{counter-increment:s;position:relative;padding:0 0 16px 38px}.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--muted)}.steps li:not(:last-child):after{content:"";position:absolute;left:12.5px;top:30px;bottom:4px;width:1.5px;background:var(--line)}.step-label{display:block;font-weight:550;line-height:26px}.step-detail{display:block;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.steps li[data-state=todo] .step-label,.steps li[data-state=skip] .step-label{color:var(--muted)}.steps li[data-state=skip] .step-label{text-decoration:line-through}.steps li[data-state=active]:before{border-color:var(--route);color:var(--route);background:var(--route-soft)}.steps li[data-state=done]:before{content:"✓";border-color:var(--ok);background:var(--ok);color:var(--surface)}.steps li[data-state=done]:after{background:var(--ok)}.steps li[data-state=fail]:before{content:"!";border-color:var(--err);background:var(--err);color:var(--surface)}.steps li[data-state=fail] .step-detail{color:var(--err)}.result{margin:0 0 18px;padding:12px 14px;border-radius:var(--radius-sm);font-size:15px;background:var(--route-soft)}.result p{margin:0}.result p+p{margin-top:6px}.result p+.result-table{margin-top:12px}.result-err{background:var(--warn-soft);color:var(--warn)}.result-table{width:100%;border-collapse:collapse;font-size:14px;color:var(--ink)}.result-table th{text-align:left;font-weight:550;color:var(--muted);padding:0 8px 6px 0}.result-table td{padding:4px 8px 4px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.how{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.how summary{cursor:pointer;font-weight:550;color:var(--ink)}.how ul{margin:10px 0 0;padding-left:18px}.how li{margin-bottom:6px}[hidden]{display:none!important}.result-table :is(td,th):last-child{white-space:nowrap;text-align:right;padding-right:0}
