@font-face{font-family:Thenn Sans;src:url(/fonts/thenn-sans/ThennSans-Variable.woff2)format("woff2");font-weight:100 900;font-style:oblique 0deg 10deg;font-display:swap}:root{--bg:oklch(98.2% .004 230);--fg:oklch(22% .02 240);--muted:oklch(50% .02 240);--surface:oklch(98.8% .003 240);--surface-raised:oklch(100% 0 0);--tray:oklch(96.5% .006 230);--line:oklch(30% .03 240/.1);--line-strong:oklch(30% .03 240/.2);--hover:oklch(30% .03 240/.05);--primary:oklch(62% .155 216);--primary-deep:oklch(38% .1 225);--on-primary:oklch(100% 0 0);--amber:oklch(80% .155 72);--glow-cool:#4edaed;--edge-light:oklch(100% 0 0/.9);--ring:0 0 0 1px var(--line);--shadow-sm:0 1px 1px oklch(25% .04 240/.04), 0 2px 4px oklch(25% .04 240/.04);--shadow-lg:0 1px 1px oklch(25% .04 240/.04), 0 3px 6px oklch(25% .04 240/.04), 0 10px 20px -6px oklch(25% .04 240/.08), 0 28px 56px -16px oklch(25% .04 240/.14);--weight-heading:600;--weight-body:500;--weight-label:550;--page-light:.1075;--page-light-colour:#efc622;--rim-top:1;--rim-bottom:.29;--sheen:.7825;--grain:.12;--button-radius:22px;--control-h:38px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-mode=dark]{--bg:oklch(11.5% .003 270);--fg:oklch(95% .002 270);--muted:oklch(72% .004 270);--surface:oklch(16.5% .004 270);--surface-raised:oklch(21.5% .004 270);--tray:oklch(14% .003 270);--line:oklch(100% 0 0/.07);--line-strong:oklch(100% 0 0/.14);--hover:oklch(100% 0 0/.06);--primary:oklch(76% .14 210);--primary-deep:oklch(32% .08 225);--on-primary:oklch(12% .003 270);--amber:oklch(82% .16 72);--edge-light:oklch(100% 0 0/.08);--shadow-sm:0 1px 1px oklch(0% 0 0/.5), 0 2px 4px oklch(0% 0 0/.4);--shadow-lg:0 1px 1px oklch(0% 0 0/.5), 0 6px 12px -2px oklch(0% 0 0/.5), 0 18px 36px -8px oklch(0% 0 0/.65), 0 44px 88px -20px oklch(0% 0 0/.8);--page-light:.1;--page-light-colour:#e3cc74;--rim-top:.015;--rim-bottom:.005;--sheen:.06;--grain:.09;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}.mode-switching,.mode-switching *,.mode-switching :before,.mode-switching :after{transition:none!important}body{background:var(--bg);color:var(--fg);font:var(--weight-body) 15px / 1.5 "Thenn Sans", system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}.bg{z-index:-1;pointer-events:none;background:radial-gradient(ellipse 75% 60% at 50% -8%, color-mix(in oklch, var(--page-light-colour) calc(var(--page-light) * 100%), transparent), color-mix(in oklch, var(--page-light-colour) 0%, transparent) 75%);position:fixed;inset:0}.grain{z-index:20;pointer-events:none;background-image:var(--grain-image);background-size:var(--grain-size,128px);image-rendering:pixelated;mix-blend-mode:overlay;opacity:var(--grain);position:fixed;inset:0}.bar{z-index:10;background:color-mix(in oklch, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);border-bottom:1px solid var(--line);align-items:center;gap:20px;height:60px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.bar-title{font-weight:var(--weight-label);white-space:nowrap;align-items:center;gap:10px;display:flex}.bar-mark{width:22px;height:16px}.segmented{border-radius:var(--button-radius);corner-shape:squircle;background:var(--tray);box-shadow:inset 0 1px 2px oklch(0% 0 0/.06), var(--ring);padding:3px;display:inline-flex}:root[data-mode=dark] .segmented{box-shadow:inset 0 1px 2px oklch(0% 0 0/.06),0 0 0 1px oklch(100% 0 0/.09)}.segmented-option{height:calc(var(--control-h) - 6px);border-radius:var(--button-radius);corner-shape:squircle;color:var(--muted);font-size:13.5px;font-weight:var(--weight-label);white-space:nowrap;border:1px solid #0000;align-items:center;padding:0 16px;transition:color .16s;display:inline-flex}.segmented-option:hover,.segmented-option[aria-selected=true]{color:var(--fg)}.segmented-option[aria-selected=true]{--surface:var(--surface-raised);background:linear-gradient(180deg, color-mix(in oklch, white calc(var(--sheen) * 100%), var(--surface)), var(--surface) 70%) padding-box, linear-gradient(180deg, oklch(1 0 0 / var(--rim-top)), oklch(1 0 0 / var(--rim-bottom)) 55%) border-box, var(--surface) border-box;box-shadow:inset 0 1px 0 var(--edge-light), var(--ring), var(--shadow-sm)}.segmented-option:focus-visible,.icon-button:focus-visible{box-shadow:0 0 0 1px var(--line-strong), 0 0 0 4px var(--hover);outline:none}.icon-button{border-radius:var(--button-radius);corner-shape:squircle;width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;margin-left:auto;padding:0;display:grid}.icon-button:hover{background:var(--hover);color:var(--fg)}.depot{width:min(960px,100%);margin:0 auto;padding:128px 32px 120px}.depot-head{margin:0 0 48px 64px}.depot-head h1{font-size:40px;font-weight:var(--weight-heading);letter-spacing:-.025em;margin:0;line-height:1.15}.depot-head p{color:var(--muted);margin:10px 0 0;font-size:17px}.route{margin:0;padding:0;list-style:none}.stop{grid-template-columns:40px minmax(0,1fr);gap:24px;display:grid}.stop-rail{flex-direction:column;align-items:center;display:flex;position:relative}.stop-marker{z-index:1;corner-shape:squircle;background:var(--surface-raised);width:40px;height:40px;box-shadow:0 0 0 1px var(--line), var(--shadow-sm);color:var(--muted);border-radius:12px;place-items:center;display:grid;position:relative}.stop-line{background:repeating-linear-gradient(var(--line-strong) 0 6px, transparent 6px 12px);border-radius:1px;flex:1;width:2px;margin:8px 0}.stop[data-lit] .stop-line{background:linear-gradient(var(--primary), color-mix(in oklch, var(--primary) 70%, var(--glow-cool)))}.stop[data-stop=delivered] .stop-marker{background:var(--primary);color:var(--on-primary);box-shadow:0 0 0 1px color-mix(in oklch, var(--primary) 60%, transparent), var(--shadow-sm)}.stop[data-stop=en-route] .stop-marker{color:var(--primary);box-shadow:0 0 0 2px var(--primary), 0 0 24px 2px color-mix(in oklch, var(--primary) 40%, transparent);animation:1.8s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 2px var(--primary), 0 0 34px 6px color-mix(in oklch, var(--primary) 28%, transparent)}}@media (prefers-reduced-motion:reduce){.stop[data-stop=en-route] .stop-marker{animation:none}}.stop[data-stop=warehouse] .stop-marker{background:var(--tray);box-shadow:0 0 0 1px var(--line)}.stop-body{min-width:0;padding-bottom:56px}.stop:last-child .stop-body{padding-bottom:0}.stop-head{align-items:center;gap:10px;min-height:40px;display:flex}.stop-head h2{font-size:22px;font-weight:var(--weight-heading);letter-spacing:-.015em;margin:0}.stop-count{corner-shape:squircle;background:color-mix(in oklch, var(--fg) 6%, transparent);color:var(--muted);font-size:12px;font-weight:var(--weight-label);font-variant-numeric:tabular-nums;border-radius:8px;padding:1px 8px}.stop-meaning{color:var(--muted);margin:0 0 18px;font-size:14px}.stop-empty{corner-shape:squircle;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in oklch, var(--fg) 2.5%, transparent) 10px 11px);border-radius:18px;margin:0;padding:18px 20px;font-size:14px}.items{corner-shape:squircle;background:linear-gradient(180deg, color-mix(in oklch, white calc(var(--sheen) * 100%), var(--surface)), var(--surface) 70%) padding-box, linear-gradient(180deg, oklch(1 0 0 / var(--rim-top)), oklch(1 0 0 / var(--rim-bottom)) 55%) border-box, var(--surface) border-box;box-shadow:inset 0 1px 0 var(--edge-light), var(--ring), var(--shadow-lg);border:1px solid #0000;border-radius:22px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:10px;list-style:none;display:grid}:root[data-mode=dark] .items{box-shadow:0 0 0 1px oklch(100% 0 0/.07), inset 0 1px 0 oklch(100% 0 0/.05), var(--shadow-lg)}.stop[data-stop=warehouse] .items{box-shadow:inset 0 1px 0 var(--edge-light), var(--ring), var(--shadow-sm)}.item{corner-shape:squircle;border-radius:14px;align-items:center;gap:12px;min-width:0;height:100%;padding:8px 10px;display:flex}.item[data-link]{transition:background .14s}.item[data-link]:hover{background:var(--hover)}.item[data-link]:focus-visible{box-shadow:0 0 0 1px var(--line-strong), 0 0 0 4px var(--hover);outline:none}.item-go{color:var(--muted);opacity:.5;flex:none;margin-left:auto;transition:opacity .14s,translate .14s}.item[data-link]:hover .item-go{opacity:1;translate:2px}.item-text{flex-direction:column;min-width:0;display:flex}.item-tile{corner-shape:squircle;width:40px;height:40px;box-shadow:0 0 0 1px var(--line), var(--shadow-sm);color:var(--primary-deep);background:oklch(100% 0 0);border-radius:11px;flex:none;place-items:center;display:grid}:root[data-mode=dark] .item-tile:has(img){background:oklch(96% 0 0);box-shadow:0 0 0 1px oklch(100% 0 0/.1)}:root[data-mode=dark] .item-tile:not(:has(img)){background:var(--surface-raised);color:var(--primary);box-shadow:inset 0 1px oklch(100% 0 0/.06),0 0 0 1px oklch(100% 0 0/.08)}.item-tile img{object-fit:contain;border-radius:4px;width:24px;height:24px}.item-name{font-size:15px;font-weight:var(--weight-label);text-wrap:balance;line-height:1.3}.item-does{color:var(--muted);text-wrap:balance;font-size:13px;line-height:1.35}.details{width:min(760px,100%)}.back{corner-shape:squircle;color:var(--muted);font-size:14px;font-weight:var(--weight-label);border-radius:12px;align-items:center;gap:6px;margin:0 0 28px -8px;padding:6px 10px 6px 8px;display:inline-flex}.back:hover{background:var(--hover);color:var(--fg)}.details-head{align-items:center;gap:18px;margin-bottom:40px;display:flex}.details-tile{border-radius:18px;width:64px;height:64px}.details-tile img{width:36px;height:36px}.details-title{min-width:0}.details-title h1{font-size:34px;font-weight:var(--weight-heading);letter-spacing:-.02em;margin:0;line-height:1.15}.details-title p{color:var(--muted);margin:4px 0 0;font-size:17px}.details-stop{corner-shape:squircle;background:color-mix(in oklch, var(--fg) 6%, transparent);color:var(--muted);font-size:13px;font-weight:var(--weight-label);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;margin-left:auto;padding:5px 11px;display:inline-flex}.details-stop[data-stop=en-route],.details-stop[data-stop=delivered]{background:color-mix(in oklch, var(--primary) 14%, transparent);color:var(--primary-deep)}:root[data-mode=dark] .details-stop[data-stop=en-route],:root[data-mode=dark] .details-stop[data-stop=delivered]{color:var(--primary)}.abilities h2{color:var(--muted);font-size:13px;font-weight:var(--weight-label);letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px}.ability-list{corner-shape:squircle;background:linear-gradient(180deg, color-mix(in oklch, white calc(var(--sheen) * 100%), var(--surface)), var(--surface) 70%) padding-box, linear-gradient(180deg, oklch(1 0 0 / var(--rim-top)), oklch(1 0 0 / var(--rim-bottom)) 55%) border-box, var(--surface) border-box;box-shadow:inset 0 1px 0 var(--edge-light), var(--ring), var(--shadow-lg);border:1px solid #0000;border-radius:22px;margin:0;padding:6px;list-style:none}:root[data-mode=dark] .ability-list{box-shadow:0 0 0 1px oklch(100% 0 0/.07), inset 0 1px 0 oklch(100% 0 0/.05), var(--shadow-lg)}.ability{align-items:center;gap:14px;padding:13px 14px;display:flex}.ability+.ability{border-top:1px solid var(--line)}.ability-dot{width:8px;height:8px;box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:50%;flex:none}.ability-dot[data-state=works]{background:var(--primary);box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 20%, transparent)}.ability-dot[data-state=building]{background:var(--amber);box-shadow:0 0 0 3px color-mix(in oklch, var(--amber) 22%, transparent)}.ability-name{min-width:0;font-size:15px;font-weight:var(--weight-label);flex:1;line-height:1.35}.ability[data-state=planned] .ability-name{color:var(--muted)}.ability-state{corner-shape:squircle;background:color-mix(in oklch, var(--fg) 6%, transparent);color:var(--muted);font-size:12px;font-weight:var(--weight-label);border-radius:8px;flex:none;padding:2px 9px}.ability-state[data-state=works]{background:color-mix(in oklch, var(--primary) 14%, transparent);color:var(--primary-deep)}.ability-state[data-state=building]{color:oklch(50% .12 65);background:oklch(80% .15 75/.2)}:root[data-mode=dark] .ability-state[data-state=works]{color:var(--primary)}:root[data-mode=dark] .ability-state[data-state=building]{color:oklch(85% .13 80)}@media (width<=640px){.bar{gap:12px;padding:0 12px}.segmented-option{padding:0 12px}.depot{padding:100px 16px 80px}.depot-head{margin-left:0}.depot-head h1{font-size:30px}.details-head{flex-wrap:wrap}.details-stop{margin-left:0}.stop{gap:14px}.items{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
