:root,[data-theme=dark]{--c-route-casing:#fff;--c-route-outer:#161616;--c-next-halo:#ffd23f;--c-ghost:#0e1116;--c-gate-ink:#fff;--c-map-bg:#0a0a0a;--pin-black:#161616;--pin-black-ink:#ffd23f;--pin-pink:#d1006f;--pin-green:#2ee65b;--pin-blue:#1f5fe0;--pin-orange:#c24e00;--pin-purple:#7a2fe0;--c-bg:#1a1a18;--c-surface:#242422;--c-surface-2:#2e2e2b;--c-line:#3a3936;--c-line-strong:#8a8983;--c-ink:#f5f5f2;--c-ink-2:#c9c8c1;--c-ink-inverse:#0f0f0e;--c-primary:#ffd23f;--c-primary-press:#ffe07a;--c-on-primary:#161616;--c-focus:#ffd23f;--c-success:#4ade80;--c-success-bg:#10291a;--c-danger:#ff6b6b;--c-danger-bg:#331517;--c-on-danger:#161616;--c-warn-ink:#ff9b57;--c-warn-bg:#2e1a0c;--c-warn-line:#c2410c;--c-info-bg:#242422;--c-route:#e5007e;--c-start:#157a3b;--c-done:#8a8983;--c-gate-bg:#000;--c-toast-bg:#f5f5f2;--c-toast-ink:#161616;--c-toast-action:#1f5fd1;--c-page:#0f0f0e;--c-card:#1a1a18;--c-header-bg:#000;--c-header-ink:#f5f5f2;--c-primary-edge:#ffd23f;--c-primary-lift:none;--c-accent-ink:#ffd23f;--c-link-deco:transparent;--c-tab-pill:#3a3420;--c-tab-ink:#ffd23f;--c-info:#f5f5f2;--c-callout-line:#3a3936;--c-callout-icon:#ffd23f;--c-callout-link:#ffd23f;--c-callout-deco:#ffd23f;--c-gate-code:#ffd23f;--c-gate-label:#c9c8c1;--c-placeholder:#8a8983;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--c-route-casing:#fff;--c-route-outer:#161616;--c-next-halo:#ffd23f;--c-ghost:#0e1116;--c-gate-ink:#fff;--c-map-bg:#2a2a28;--pin-black:#161616;--pin-black-ink:#ffd23f;--pin-pink:#d1006f;--pin-green:#2ee65b;--pin-blue:#1f5fe0;--pin-orange:#c24e00;--pin-purple:#7a2fe0;--c-bg:#fff;--c-surface:#f4f4f1;--c-surface-2:#e9e8e3;--c-line:#d6d5cf;--c-line-strong:#6e6d66;--c-ink:#161616;--c-ink-2:#4a4944;--c-ink-inverse:#fff;--c-primary:#ffd23f;--c-primary-press:#f2be00;--c-on-primary:#161616;--c-focus:#161616;--c-success:#157a3b;--c-success-bg:#e3f4e8;--c-danger:#c11b2b;--c-danger-bg:#fde8ea;--c-on-danger:#fff;--c-warn-ink:#a63a00;--c-warn-bg:#ffebdd;--c-warn-line:#f27a1a;--c-info-bg:#fff;--c-route:#e5007e;--c-start:#157a3b;--c-done:#8a8983;--c-gate-bg:#161616;--c-toast-bg:#161616;--c-toast-ink:#fff;--c-toast-action:#ffd23f;--c-page:#f4f4f1;--c-card:#fff;--c-header-bg:#161616;--c-header-ink:#fff;--c-primary-edge:#161616;--c-primary-lift:0 3px 0 #161616;--c-accent-ink:#161616;--c-link-deco:#ffd23f;--c-tab-pill:#ffd23f;--c-tab-ink:#161616;--c-info:#161616;--c-callout-line:#d6d5cf;--c-callout-icon:#161616;--c-callout-link:#161616;--c-callout-deco:#ffd23f;--c-gate-code:#ffd23f;--c-gate-label:#c9c8c1;--c-placeholder:#6e6d66;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){[data-theme=system]{--c-route-casing:#fff;--c-route-outer:#161616;--c-next-halo:#ffd23f;--c-ghost:#0e1116;--c-gate-ink:#fff;--c-map-bg:#2a2a28;--pin-black:#161616;--pin-black-ink:#ffd23f;--pin-pink:#d1006f;--pin-green:#2ee65b;--pin-blue:#1f5fe0;--pin-orange:#c24e00;--pin-purple:#7a2fe0;--c-bg:#fff;--c-surface:#f4f4f1;--c-surface-2:#e9e8e3;--c-line:#d6d5cf;--c-line-strong:#6e6d66;--c-ink:#161616;--c-ink-2:#4a4944;--c-ink-inverse:#fff;--c-primary:#ffd23f;--c-primary-press:#f2be00;--c-on-primary:#161616;--c-focus:#161616;--c-success:#157a3b;--c-success-bg:#e3f4e8;--c-danger:#c11b2b;--c-danger-bg:#fde8ea;--c-on-danger:#fff;--c-warn-ink:#a63a00;--c-warn-bg:#ffebdd;--c-warn-line:#f27a1a;--c-info-bg:#fff;--c-route:#e5007e;--c-start:#157a3b;--c-done:#8a8983;--c-gate-bg:#161616;--c-toast-bg:#161616;--c-toast-ink:#fff;--c-toast-action:#ffd23f;--c-page:#f4f4f1;--c-card:#fff;--c-header-bg:#161616;--c-header-ink:#fff;--c-primary-edge:#161616;--c-primary-lift:0 3px 0 #161616;--c-accent-ink:#161616;--c-link-deco:#ffd23f;--c-tab-pill:#ffd23f;--c-tab-ink:#161616;--c-info:#161616;--c-callout-line:#d6d5cf;--c-callout-icon:#161616;--c-callout-link:#161616;--c-callout-deco:#ffd23f;--c-gate-code:#ffd23f;--c-gate-label:#c9c8c1;--c-placeholder:#6e6d66;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}[data-theme=high-contrast]{--c-route-casing:#fff;--c-route-outer:#161616;--c-next-halo:#ffd23f;--c-ghost:#0e1116;--c-gate-ink:#fff;--c-map-bg:#1a1d22;--pin-black:#161616;--pin-black-ink:#ffd23f;--pin-pink:#d1006f;--pin-green:#2ee65b;--pin-blue:#1f5fe0;--pin-orange:#c24e00;--pin-purple:#7a2fe0;--c-bg:#000;--c-surface:#0f0f0f;--c-surface-2:#2b2b2b;--c-line:#8f8f8f;--c-line-strong:#fff;--c-ink:#fff;--c-ink-2:#ebebeb;--c-ink-inverse:#000;--c-primary:#ffe500;--c-primary-press:#fff27a;--c-on-primary:#000;--c-focus:#ffe500;--c-success:#52ff98;--c-success-bg:#002912;--c-danger:#ff7070;--c-danger-bg:#300;--c-on-danger:#000;--c-warn-ink:#ffe500;--c-warn-bg:#262100;--c-warn-line:#ffe500;--c-info-bg:#1a1a1a;--c-route:#ff3da8;--c-start:#0a7a3a;--c-done:#8a8a8a;--c-gate-bg:#000;--c-toast-bg:#fff;--c-toast-ink:#000;--c-toast-action:#0039a6;--c-page:#000;--c-card:#0f0f0f;--c-header-bg:#000;--c-header-ink:#fff;--c-placeholder:#a3a3a3;--c-accent-ink:#ffe500;--c-primary-edge:#ffe500;--c-primary-lift:none;--c-link-deco:transparent;--c-tab-pill:transparent;--c-tab-ink:#ffe500;--c-info:#fff;--c-callout-line:transparent;--c-callout-icon:#fff;--c-callout-link:#fff;--c-callout-deco:#fff;--c-gate-code:#fff;--c-gate-label:#c9ced6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
:root{--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-head:"Inter Display", "Inter", var(--font);--fs-caption:.9375rem;--fs-body:1.0625rem;--fs-label:1.0625rem;--fs-title:1.25rem;--fs-h2:1.5rem;--fs-h1:1.75rem;--fs-num:2rem;--fs-gate:2.5rem;--fs-next:3rem;--fs-hero:4rem;--lh-tight:1.15;--lh-body:1.45;--fw-body:500;--fw-strong:700;--fw-heavy:800;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--gutter:16px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--tap-min:48px;--tap-secondary:56px;--tap-primary:64px;--tap-mic:88px;--bar-h:64px;--border:2px;--sh-1:0 1px 0 #0000000a, 0 2px 6px #16161614;--sh-2:0 6px 20px #0000003d;--dur-fast:.12s;--dur-base:.2s;--dur-pan:.3s;--ease:cubic-bezier(.2,.8,.2,1);--z-map-ui:10;--z-bar:20;--z-sheet:30;--z-toast:40;--z-modal:50}html.larger{font-size:112.5%}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-pan:0s}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--c-page);color:var(--c-ink);font-family:var(--font);font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;min-height:100dvh;overflow-x:hidden}a{color:var(--c-accent-ink)}h1,h2,h3{line-height:var(--lh-tight);font-weight:var(--fw-heavy);font-family:var(--font-head);margin:0}h1{font-size:var(--fs-h1);letter-spacing:-.02em}h2{font-size:var(--fs-h2);letter-spacing:-.01em}h3{font-size:var(--fs-title)}p{margin:0}button,input,textarea,select{font-family:inherit}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.num{font-variant-numeric:tabular-nums}.ink2{color:var(--c-ink-2)}.caption{font-size:var(--fs-caption);color:var(--c-ink-2);font-weight:600}.strong{font-weight:var(--fw-strong)}.stack{gap:var(--sp-4);display:grid}.stack-sm{gap:var(--sp-2);display:grid}.stack-lg{gap:var(--sp-6);display:grid}.hrow{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.hrow.wrap{flex-wrap:wrap}.spacer{flex:1}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-header{z-index:var(--z-bar);background:var(--c-header-bg);color:var(--c-header-ink);align-items:center;gap:var(--sp-2);min-height:64px;padding:var(--sp-2) var(--gutter);padding-top:max(var(--sp-2), env(safe-area-inset-top));padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));display:flex;position:sticky;top:0}.app-header.bordered{border-bottom:1px solid var(--c-line)}.app-header{flex-wrap:wrap}.app-header .titles{flex:1;min-width:6ch;display:grid}.app-header .titles h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-header .titles .sub{font-size:var(--fs-caption);color:var(--c-header-ink);opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.app-header>svg{flex:none}.app-header .btn.icon,.app-header .btn.text{color:var(--c-header-ink)}.app-header .back{margin-left:calc(-1 * var(--sp-3))}.app-header h1.small{font-size:var(--fs-title)}.page-body{max-width:720px;padding:var(--sp-2) var(--gutter) var(--sp-8);padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));gap:var(--sp-4);min-height:calc(100dvh - 64px - var(--tabbar-h,0px));flex-direction:column;margin:0 auto;display:flex}.page-body>*{flex-shrink:0;min-width:0;max-width:100%}.page-body>.action-bar{max-width:none}.page-body.narrow{max-width:520px}body.has-tabbar{--tabbar-h:calc(var(--bar-h) + env(safe-area-inset-bottom))}body:has(>.tabbar){--tabbar-h:calc(var(--bar-h) + env(safe-area-inset-bottom))}.tabbar-spacer{height:calc(var(--bar-h) + env(safe-area-inset-bottom))}.tabbar{z-index:var(--z-bar);height:calc(var(--bar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--c-card);border-top:1px solid var(--c-line);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--c-ink-2);font-size:var(--fs-caption);font-weight:var(--fw-strong);min-height:var(--tap-min);align-content:center;place-items:center;gap:2px;text-decoration:none;display:grid}.tabbar a>svg{box-sizing:content-box;border-radius:var(--r-pill);transition:background-color var(--dur-fast) var(--ease);padding:2px 16px}.tabbar a[aria-current=page]{color:var(--c-tab-ink)}.tabbar a[aria-current=page]>svg{background:var(--c-tab-pill)}.tabbar a:active{background:var(--c-surface)}.action-bar{bottom:calc(var(--bar-h) + env(safe-area-inset-bottom));z-index:calc(var(--z-bar) - 1);margin:0 calc(-1 * var(--gutter));padding:var(--sp-3) var(--gutter);background:linear-gradient(to bottom, transparent, var(--c-page) 24%);gap:var(--sp-2);margin-top:auto;display:grid;position:sticky}.action-bar.no-tabs{padding-bottom:max(var(--sp-3), env(safe-area-inset-bottom));bottom:0}.btn{appearance:none;justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap-secondary);padding:0 var(--sp-5);border-radius:var(--r-lg);border:var(--border) solid var(--c-line-strong);background:var(--c-bg);color:var(--c-ink);font-size:var(--fs-label);font-weight:var(--fw-strong);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease);line-height:1.2;text-decoration:none;display:inline-flex}.btn:active{background:var(--c-surface-2)}.btn.block{width:100%}.btn.primary{min-height:var(--tap-primary);background:var(--c-primary);width:100%;color:var(--c-on-primary);border-color:var(--c-primary-edge);box-shadow:var(--c-primary-lift)}.btn.primary:active{background:var(--c-primary-press);border-color:var(--c-primary-edge);box-shadow:none;transform:translateY(2px)}.btn.primary:disabled,.btn.primary[aria-disabled=true]{box-shadow:none;border-color:#0000;transform:none}.btn.primary.inline{width:auto}.btn.secondary{min-height:var(--tap-secondary)}.btn.danger{background:var(--c-danger);border-color:var(--c-danger);color:var(--c-on-danger)}.btn.danger-outline{color:var(--c-danger);border-color:var(--c-danger);background:0 0}.btn.text{color:var(--c-accent-ink);min-height:var(--tap-min);padding:0 var(--sp-3);text-decoration:underline;-webkit-text-decoration-color:var(--c-link-deco);text-decoration-color:var(--c-link-deco);text-underline-offset:5px;background:0 0;border-color:#0000;text-decoration-thickness:3px}.btn.text:active{background:0 0;text-decoration:underline}.btn.text.ink{color:var(--c-ink)}.btn.text.danger-text{color:var(--c-danger)}.btn.icon{width:var(--tap-min);height:var(--tap-min);min-height:var(--tap-min);border-radius:var(--r-md);background:0 0;border-color:#0000;flex:none;padding:0}.btn.icon:active{background:var(--c-surface-2)}.btn.icon.outlined{border-color:var(--c-line-strong);background:var(--c-bg)}.btn.small{min-height:var(--tap-min);padding:0 var(--sp-4);border-radius:var(--r-md)}.btn:disabled,.btn[aria-disabled=true]{background:var(--c-surface-2);color:var(--c-ink-2);cursor:default;border-color:#0000}.btn.text:disabled{background:0 0}.btn .spinner{border:3px solid;border-right-color:#0000;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn .spinner{animation-duration:2.4s}}label.btn{position:relative;overflow:hidden}label.btn input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:0}label:has(>.file-hidden){position:relative}.file-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}label:has(>.file-hidden):focus-within{outline:3px solid var(--c-focus);outline-offset:2px}label.btn:focus-within{outline:3px solid var(--c-focus);outline-offset:2px}.card{background:var(--c-card);border:var(--border) solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:var(--sp-4);gap:var(--sp-3);min-width:0;display:grid}.card.flat{box-shadow:none;background:0 0;border-style:dashed}.card h2{font-size:var(--fs-h2)}.card .body{color:var(--c-ink-2)}.section-title{font-size:var(--fs-caption);font-weight:var(--fw-heavy);color:var(--c-ink-2);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--sp-2)}.list{gap:var(--sp-2);display:grid}.list-group{background:var(--c-card);border:var(--border) solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden}.list-row{align-items:center;gap:var(--sp-3);min-height:72px;padding:var(--sp-3) var(--sp-4);text-align:left;width:100%;color:var(--c-ink);font-size:var(--fs-body);font-weight:var(--fw-body);cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.list-group>*+*{border-top:1px solid var(--c-line)}.list-row.compact{min-height:56px}.list-row:active{background:var(--c-surface-2)}.list-row .main{flex:1;gap:2px;min-width:0;display:grid}.list-row .t{font-size:var(--fs-title);font-weight:var(--fw-heavy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-row .s{font-size:var(--fs-caption);color:var(--c-ink-2);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.list-row .trail{color:var(--c-ink-2);flex:none;align-items:center;display:flex}.list-row .lead{color:var(--c-ink);flex:none;align-items:center;display:flex}.list-row.danger,.list-row.danger .lead{color:var(--c-danger)}.row-split{align-items:stretch;display:flex}.row-split>.list-row{flex:1;min-width:0}.row-split>.row-action{padding-right:var(--sp-3);flex:none;align-items:center;display:flex}.today-card{background:var(--c-card);border:var(--border) solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-1);display:grid;position:relative;overflow:hidden}.today-card:before{content:"";background:var(--c-primary);width:6px;position:absolute;top:0;bottom:0;left:0}.today-card.done:before{background:var(--c-success)}.today-card.missing:before{background:repeating-linear-gradient(var(--c-warn-line) 0 8px, transparent 8px 12px)}.today-card .open{gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-3) calc(var(--sp-4) + 6px);color:var(--c-ink);min-width:0;text-decoration:none;display:grid}.today-card .open:active{background:var(--c-surface)}.today-card .name{font-size:var(--fs-title);font-weight:var(--fw-heavy);gap:var(--sp-2);align-items:center;min-width:0;display:flex}.today-card .name>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.today-card .name svg{color:var(--c-ink-2);flex:none}.today-card .name svg.done-check{color:var(--c-success)}.today-card .status{font-weight:var(--fw-strong)}.today-card .flags{gap:var(--sp-2);display:grid}.today-card .gate-wrap{padding:0 var(--sp-4) var(--sp-3) calc(var(--sp-4) + 6px)}.chip-preview{gap:var(--sp-1) var(--sp-2);font-size:var(--fs-caption);max-height:calc(2 * 2.15em + var(--sp-1));flex-wrap:wrap;display:flex;overflow:hidden}.mini-chip{height:2.15em;padding:0 var(--sp-3);border-radius:var(--r-pill);border:2px solid var(--c-line-strong);font-weight:var(--fw-heavy);font-size:var(--fs-caption);color:var(--c-ink);align-items:center;display:inline-flex}.mini-chip.missing{border-color:var(--c-warn-line);background:var(--c-warn-bg);color:var(--c-warn-ink)}.mini-chip.done{color:var(--c-done);border-color:var(--c-line);text-decoration:line-through}.mini-chip.more{color:var(--c-ink-2);border-style:dashed}.flag-line{align-items:center;gap:var(--sp-2);font-weight:var(--fw-strong);font-size:var(--fs-caption);display:flex}.flag-line.warn{color:var(--c-warn-ink)}.flag-line.info{color:var(--c-ink-2)}.reorder-row{align-items:center;gap:var(--sp-2);background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);touch-action:pan-y;min-height:72px;display:flex}.reorder-row.dragging{box-shadow:var(--sh-2);z-index:2;border-color:var(--c-accent-ink);position:relative}.reorder-row .grip{touch-action:none;cursor:grab;color:var(--c-ink-2);margin-left:var(--sp-4)}.reorder-row .main{flex:1;min-width:0}.chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--sp-1);min-height:48px;padding:0 var(--sp-4);border-radius:var(--r-pill);border:2px solid var(--c-ink);background:var(--c-bg);color:var(--c-ink);font-size:var(--fs-title);font-weight:var(--fw-heavy);cursor:pointer;white-space:nowrap;display:inline-flex}.chip .qty{font-size:.8em;font-weight:var(--fw-strong)}.chip.missing{border-color:var(--c-warn-line);background:var(--c-warn-bg);color:var(--c-warn-ink)}.chip .badge{background:var(--c-warn-ink);width:22px;height:22px;color:var(--c-warn-bg);border-radius:50%;place-items:center;font-size:15px;font-weight:800;display:inline-grid}.chip.reading{border-style:dashed;border-color:var(--c-line-strong);color:var(--c-ink-2)}.chip.done{color:var(--c-done);border-color:var(--c-done);text-decoration:line-through}.chip button{all:unset;cursor:pointer;place-items:center;min-width:32px;min-height:32px;display:inline-grid}.choice-chip{justify-content:center;align-items:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-4);border-radius:var(--r-pill);border:2px solid var(--c-line-strong);background:var(--c-bg);color:var(--c-ink);font-size:var(--fs-label);font-weight:var(--fw-strong);cursor:pointer;display:inline-flex}.choice-chip[aria-pressed=true],.choice-chip[aria-checked=true]{background:var(--c-primary);border-color:var(--c-primary-edge);color:var(--c-on-primary)}.plan-chip{align-items:center;gap:var(--sp-1);min-height:32px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--c-info-bg);color:var(--c-ink);border:1px solid var(--c-line);font-size:var(--fs-caption);font-weight:var(--fw-heavy);white-space:nowrap;text-decoration:none;display:inline-flex}.plan-chip.warn{background:var(--c-warn-bg);color:var(--c-warn-ink);border:2px solid var(--c-warn-line)}a.plan-chip{min-height:var(--tap-min);padding:0 var(--sp-3);background:0 0;border:0}a.plan-chip>span{min-height:32px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--c-info-bg);border:1px solid var(--c-line);align-items:center;display:inline-flex}a.plan-chip.warn{background:0 0;border:0}a.plan-chip.warn>span{background:var(--c-warn-bg);color:var(--c-warn-ink);border:2px solid var(--c-warn-line)}.segmented{background:var(--c-surface-2);border-radius:var(--r-md);min-height:var(--tap-min);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented button{appearance:none;border-radius:calc(var(--r-md) - 4px);min-height:var(--tap-min);color:var(--c-ink-2);font-size:var(--fs-label);justify-content:center;align-items:center;gap:var(--sp-2);cursor:pointer;background:0 0;border:0;font-weight:600;display:inline-flex}.segmented button[aria-checked=true],.segmented button[aria-pressed=true]{background:var(--c-bg);color:var(--c-ink);font-weight:var(--fw-strong);box-shadow:var(--sh-1)}.banner{align-items:flex-start;gap:var(--sp-3);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-body);background:var(--c-info-bg);color:var(--c-info);font-weight:600;line-height:1.35;display:flex}.banner>svg{flex:none;margin-top:1px}.banner .b-main{gap:var(--sp-2);flex:1;min-width:0;display:grid}.banner .b-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.banner .b-actions .btn.text{min-height:var(--tap-min);color:inherit;text-underline-offset:3px;padding:0;text-decoration:underline}.banner .b-close{margin:calc(-1 * var(--sp-2)) calc(-1 * var(--sp-2)) calc(-1 * var(--sp-2)) 0;color:inherit}.banner.info{border:var(--border) solid var(--c-callout-line)}.banner.info>svg{color:var(--c-callout-icon)}.banner.info .btn.text,.banner.info .b-actions .btn.text,.banner.info a:not(.btn){color:var(--c-callout-link);text-decoration:underline;-webkit-text-decoration-color:var(--c-callout-deco);text-decoration-color:var(--c-callout-deco);text-underline-offset:4px;text-decoration-thickness:2px}.banner.warn{background:var(--c-warn-bg);color:var(--c-warn-ink);border-left:4px solid var(--c-warn-line)}.banner.error{background:var(--c-danger-bg);color:var(--c-danger)}.banner.success{background:var(--c-success-bg);color:var(--c-success)}.banner.offline{background:var(--c-ink);color:var(--c-ink-inverse);z-index:calc(var(--z-bar) + 1);padding-top:max(var(--sp-3), env(safe-area-inset-top));border-radius:0;align-items:center;position:sticky;top:0}.banner .sub{font-weight:500}.progress{gap:var(--sp-2);display:grid}.progress .track{background:var(--c-surface-2);border-radius:var(--r-pill);height:8px;position:relative;overflow:hidden}.progress .fill{background:var(--c-primary);border-radius:var(--r-pill);height:100%;transition:width var(--dur-base) var(--ease)}.progress .fill.indet{width:30%;animation:indet 1.5s var(--ease) infinite;position:absolute;left:0}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media (prefers-reduced-motion:reduce){.progress .fill.indet{animation:none}}.progress .label{font-weight:var(--fw-strong);font-size:var(--fs-body)}.status-strip{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--c-info-bg);border-radius:var(--r-md);border:var(--border) solid var(--c-callout-line);display:grid}.status-strip .label{align-items:center;gap:var(--sp-2);font-weight:var(--fw-strong);display:flex}.toast-host{z-index:calc(var(--z-modal) + 1);left:0;right:0;bottom:calc(var(--sp-3) + env(safe-area-inset-bottom));pointer-events:none;padding:0 var(--gutter);justify-content:center;display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--sp-3);background:var(--c-toast-bg);width:100%;max-width:560px;min-height:56px;color:var(--c-toast-ink);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-4);font-size:var(--fs-body);font-weight:var(--fw-strong);animation:toast-in var(--dur-fast) var(--ease);display:flex}.toast .msg{min-width:0;padding:var(--sp-2) 0;flex:1}.toast button{appearance:none;color:var(--c-toast-action);font-size:var(--fs-label);font-weight:var(--fw-heavy);min-width:48px;min-height:48px;padding:0 var(--sp-3);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0}.toast button.close{color:var(--c-toast-ink);padding:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.scrim{z-index:var(--z-modal);animation:fade-in var(--dur-base) var(--ease);padding-bottom:var(--kb-inset,0px);background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:640px;max-height:min(92dvh, calc(var(--vv-h,100dvh) - 12px));background:var(--c-bg);color:var(--c-ink);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-2);animation:sheet-in var(--dur-base) var(--ease);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.sheet.full{height:min(92dvh, calc(var(--vv-h,100dvh) - 12px))}@keyframes sheet-in{0%{opacity:.6;transform:translateY(40px)}to{opacity:1;transform:none}}.sheet .grab{flex:none;place-items:center;height:28px;display:grid}.sheet .grab:before{content:"";border-radius:var(--r-pill);background:var(--c-line-strong);width:40px;height:5px}.sheet .sheet-head{align-items:center;gap:var(--sp-2);padding:0 var(--gutter) var(--sp-2);flex:none;display:flex}.sheet .sheet-head h2{flex:1;min-width:0}.sheet .sheet-body{padding:var(--sp-2) var(--gutter) var(--sp-4);gap:var(--sp-4);overscroll-behavior:contain;flex:1;align-content:start;display:grid;overflow:auto}.sheet .sheet-foot{padding:var(--sp-3) var(--gutter) var(--sp-4);gap:var(--sp-2);border-top:1px solid var(--c-line);flex:none;display:grid}@media (orientation:landscape) and (max-height:600px){.sheet{max-height:var(--vv-h,100dvh);border-radius:var(--r-xl) var(--r-xl) 0 0}.sheet.full{height:var(--vv-h,100dvh)}}body.sheet-open{overflow:hidden}.field{gap:var(--sp-2);display:grid}.field>label,.field>.label{font-size:var(--fs-label);font-weight:var(--fw-strong);color:var(--c-ink)}.field .hint{font-size:var(--fs-caption);color:var(--c-ink-2);font-weight:600}.field .err{font-size:var(--fs-caption);color:var(--c-danger);font-weight:600}.input,.textarea,.field input:not([type=checkbox]):not([type=file]),.field textarea{width:100%;min-height:56px;padding:0 var(--sp-4);font-size:var(--fs-body);font-weight:var(--fw-body);color:var(--c-ink);background:var(--c-bg);border:var(--border) solid var(--c-line-strong);border-radius:var(--r-md)}.textarea,.field textarea{padding:var(--sp-3) var(--sp-4);resize:vertical;min-height:120px;line-height:var(--lh-body)}.input:focus,.textarea:focus,.field input:focus,.field textarea:focus{border-color:var(--c-accent-ink);outline:3px solid var(--c-focus);outline-offset:2px}.input[aria-invalid=true],.field input[aria-invalid=true]{border-color:var(--c-danger)}input::placeholder,textarea::placeholder{color:var(--c-placeholder,var(--c-line-strong));opacity:1;font-weight:400}.search{align-items:center;display:flex;position:relative}.search svg{left:var(--sp-4);color:var(--c-ink-2);pointer-events:none;position:absolute}.search input{padding-left:48px!important}.check{align-items:flex-start;gap:var(--sp-3);min-height:var(--tap-min);cursor:pointer;padding:var(--sp-2) 0;font-weight:600;display:flex}.check input{width:28px;height:28px;accent-color:var(--c-accent-ink);flex:none;margin:0}.switch-row{align-items:center;gap:var(--sp-3);cursor:pointer;min-height:56px;display:flex}.switch-row .main{flex:1}.switch{appearance:none;border-radius:var(--r-pill);background:var(--c-surface-2);border:2px solid var(--c-line-strong);cursor:pointer;width:56px;height:32px;transition:background-color var(--dur-fast);flex:none;margin:0;position:relative}.switch:after{content:"";background:var(--c-ink-2);width:24px;height:24px;transition:transform var(--dur-fast) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.switch:checked{background:var(--c-primary);border-color:var(--c-primary-edge)}.switch:checked:after{background:var(--c-on-primary);transform:translate(24px)}.otp{gap:var(--sp-2);grid-template-columns:repeat(6,minmax(0,56px));justify-content:center;display:grid}.otp input{text-align:center;border:var(--border) solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-bg);width:100%;height:56px;color:var(--c-ink);font-size:var(--fs-num)!important;font-weight:var(--fw-heavy)!important;padding:0!important}.otp input:focus{border-color:var(--c-accent-ink);outline:3px solid var(--c-focus);outline-offset:1px}.gate-row{align-items:center;gap:var(--sp-3);min-height:56px;padding:0 var(--sp-2) 0 var(--sp-4);border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-line);display:flex}.today-card .gate-row{background:var(--c-page)}.gate-row .lbl{font-weight:var(--fw-strong)}.gate-row .dots{letter-spacing:.2em;font-weight:var(--fw-heavy);color:var(--c-ink-2);white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gate-row .lbl{white-space:nowrap}.gate-panel{align-items:center;gap:var(--sp-3);background:var(--c-gate-bg);color:var(--c-gate-ink);border-radius:var(--r-lg);border:1px solid var(--c-line);padding:var(--sp-3) var(--sp-2) var(--sp-3) var(--sp-4);min-height:64px;display:flex}.gate-panel .code{font-size:var(--fs-gate);font-weight:var(--fw-heavy);letter-spacing:.08em;word-break:break-all;color:var(--c-gate-code);line-height:1.1;font-family:var(--font-head);flex:1}.gate-panel .lbl{font-size:var(--fs-caption);letter-spacing:.02em;color:var(--c-gate-label);font-weight:800}.gate-panel .lbl svg{vertical-align:-2px}.gate-panel .btn.text{color:var(--c-gate-ink)}.notes-box{white-space:pre-wrap;overflow-wrap:anywhere}.notes-box.clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.stat-line{gap:var(--sp-1) var(--sp-2);color:var(--c-ink-2);font-weight:600;font-size:var(--fs-caption);flex-wrap:wrap;display:flex}.big-count{font-size:var(--fs-gate);font-weight:var(--fw-heavy);line-height:1}details.disclosure{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden}details.disclosure>summary{align-items:center;gap:var(--sp-3);min-height:64px;padding:0 var(--sp-4);cursor:pointer;font-weight:var(--fw-strong);font-size:var(--fs-body);list-style:none;display:flex}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary .chev{transition:transform var(--dur-fast) var(--ease);color:var(--c-ink-2);margin-left:auto}details.disclosure[open]>summary .chev{transform:rotate(180deg)}details.disclosure>.disc-body{border-top:1px solid var(--c-line)}.map-thumb{aspect-ratio:16/10;background:var(--c-map-bg);border-radius:var(--r-lg);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.map-thumb img{object-fit:contain;width:100%;max-width:100%;height:100%;display:block}.map-thumb .open-hint{right:var(--sp-2);bottom:var(--sp-2);align-items:center;gap:var(--sp-1);min-height:40px;padding:0 var(--sp-3);background:var(--c-bg);color:var(--c-ink);border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-caption);box-shadow:var(--sh-2);display:inline-flex;position:absolute}.map-thumb.empty{color:#c9ced6;cursor:default;aspect-ratio:16/7;place-items:center;display:grid}.mapview{touch-action:none;background:var(--c-map-bg);-webkit-user-select:none;user-select:none;border-radius:var(--r-lg);position:relative;overflow:hidden}.mapview-inner{transform-origin:0 0;position:absolute;top:0;left:0}.mapview-inner img,.mapview-inner svg{display:block;position:absolute;top:0;left:0}.mapview-zoom{right:var(--sp-3);bottom:var(--sp-3);gap:var(--sp-2);z-index:var(--z-map-ui);display:grid;position:absolute}.mapview-zoom button{border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-bg);width:56px;height:56px;color:var(--c-ink);box-shadow:var(--sh-2);cursor:pointer;place-items:center;font-size:28px;font-weight:800;line-height:1;display:grid}.mapview-zoom button:active{background:var(--c-surface-2)}.map-edit{height:62dvh;min-height:320px}.map-overlay-full{z-index:var(--z-modal);background:var(--c-map-bg);flex-direction:column;display:flex;position:fixed;inset:0}.map-overlay-full .mapview{border-radius:0;flex:1}.map-overlay-full .ov-bar{left:var(--sp-3);top:max(var(--sp-3), env(safe-area-inset-top));right:var(--sp-3);gap:var(--sp-2);z-index:var(--z-map-ui);pointer-events:none;align-items:center;display:flex;position:absolute}.map-overlay-full .ov-bar>*{pointer-events:auto}.map-pill{align-items:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-4);background:var(--c-bg);color:var(--c-ink);border-radius:var(--r-pill);box-shadow:var(--sh-2);font-weight:700;font-size:var(--fs-body);border:1px solid var(--c-line);display:inline-flex}button.map-pill{cursor:pointer}.map-pill.icon-only{border-radius:var(--r-md);justify-content:center;width:56px;height:56px;padding:0}.fixer{flex-direction:column;height:100dvh;display:flex}.fixer .mapview{border-radius:0;flex:1;min-height:0}.fixer .fix-tools{padding:var(--sp-3) var(--gutter);gap:var(--sp-2);background:var(--c-page);border-top:1px solid var(--c-line);max-height:45dvh;display:grid;overflow:auto}@media (orientation:landscape) and (max-height:600px){.fixer{grid-template-rows:auto 1fr;grid-template-columns:1fr 320px;display:grid}.fixer>.app-header{grid-column:1/-1;min-height:56px}.fixer .mapview{height:auto}.fixer .fix-tools{border-top:0;border-left:1px solid var(--c-line);max-height:none}}.hero{gap:var(--sp-6);padding-top:var(--sp-8);display:grid}.benefits{gap:var(--sp-4);margin:0;padding:0;list-style:none;display:grid}.benefits li{gap:var(--sp-3);font-size:var(--fs-title);font-weight:var(--fw-strong);align-items:center;display:flex}.benefits .ic{border-radius:var(--r-md);background:var(--c-info-bg);width:48px;height:48px;color:var(--c-info);flex:none;place-items:center;display:grid}.wordmark{align-items:center;gap:var(--sp-2);letter-spacing:-.02em;color:var(--c-ink);font-weight:800;font-size:var(--fs-title);display:inline-flex}.legal-links{justify-content:center;gap:var(--sp-2);color:var(--c-ink-2);align-items:center;display:flex}.legal-links a{color:var(--c-ink-2);min-height:var(--tap-min);padding:0 var(--sp-2);align-items:center;font-weight:600;display:inline-flex}.empty-card{text-align:left}.empty-card .illus{border-radius:var(--r-lg);background:var(--c-info-bg);width:72px;height:72px;color:var(--c-info);place-items:center;display:grid}.all-done{gap:var(--sp-2);display:grid}.all-done .hero-num{font-size:var(--fs-hero);font-weight:var(--fw-heavy);line-height:1}.meter{gap:var(--sp-2);display:grid}.meter .meter-top{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-weight:var(--fw-strong);display:flex}.meter.warn .meter-top{color:var(--c-warn-ink)}.meter.warn .fill{background:var(--c-warn-line)}.swatches{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(48px,1fr));display:grid}.swatch{appearance:none;border-radius:var(--r-md);border:2px solid var(--c-line);cursor:pointer;background:var(--c-bg);place-items:center;height:48px;display:grid}.swatch[aria-checked=true]{border:3px solid var(--c-ink);box-shadow:0 0 0 2px var(--c-bg) inset}.shapes{gap:var(--sp-2);grid-template-columns:repeat(4,minmax(48px,1fr));display:grid}.pin-preview{background:var(--c-map-bg);border-radius:var(--r-md);place-items:center;height:96px;display:grid}.prose{gap:var(--sp-3);line-height:var(--lh-body);overflow-wrap:anywhere;display:grid}.prose h1{font-size:var(--fs-h1);margin-top:var(--sp-2)}.prose h2{font-size:var(--fs-h2);margin-top:var(--sp-4)}.prose h3{font-size:var(--fs-title);margin-top:var(--sp-2)}.prose ul,.prose ol{padding-left:var(--sp-6);gap:var(--sp-2);margin:0;display:grid}.prose hr{border:0;border-top:1px solid var(--c-line);width:100%;margin:var(--sp-2) 0}.prose blockquote{padding:var(--sp-2) var(--sp-4);border-left:4px solid var(--c-line-strong);color:var(--c-ink-2);margin:0}.prose code{background:var(--c-surface-2);border-radius:4px;padding:1px 4px;font-family:ui-monospace,Menlo,monospace;font-size:.92em}.prose .table-wrap{border:1px solid var(--c-line);border-radius:var(--r-md);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-caption);min-width:480px}.prose th,.prose td{text-align:left;vertical-align:top;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-line)}.prose th{background:var(--c-surface);font-weight:800}.draft-tag{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--c-warn-bg);color:var(--c-warn-ink);font-weight:800;font-size:var(--fs-caption);border:2px solid var(--c-warn-line);place-self:start;display:inline-flex}.shot-thumb{border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-surface);width:112px;height:112px;position:relative;overflow:hidden}.shot-thumb img{object-fit:cover;width:100%;height:100%}.shot-thumb .btn.icon{background:var(--c-bg);border:1px solid var(--c-line);width:48px;height:48px;position:absolute;top:4px;right:4px}.top{align-items:center;gap:var(--sp-2);background:var(--c-bg);color:var(--c-ink);border-bottom:1px solid var(--c-line);padding:var(--sp-2) var(--gutter);padding-top:max(var(--sp-2), env(safe-area-inset-top));min-height:56px;z-index:var(--z-bar);display:flex;position:sticky;top:0}.top h1{font-size:var(--fs-title);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.top a,.top button.link{color:var(--c-accent-ink);font-weight:700;font-size:var(--fs-body);min-height:var(--tap-min);padding:0 var(--sp-2);cursor:pointer;background:0 0;border:0;align-items:center;text-decoration:none;display:inline-flex}.page{max-width:760px;padding:var(--gutter);gap:var(--sp-4);margin:0 auto;display:grid}.muted{color:var(--c-ink-2)}.small{font-size:var(--fs-caption)}.row{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.grow{flex:1}.btn.big{font-size:var(--fs-title);min-height:var(--tap-primary);width:100%}.btn.sm{min-height:var(--tap-min);padding:0 var(--sp-3);font-size:var(--fs-label);border-radius:var(--r-md)}.btn.dark{background:var(--c-ink);color:var(--c-ink-inverse);border-color:var(--c-ink)}.btn.on{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary-edge)}.page label,.runside label{font-weight:700;font-size:var(--fs-label);gap:6px;display:grid}.page input:not([type=checkbox]):not([type=file]),.page textarea,.page select,.runside input,.floatgo input{font-size:var(--fs-body);min-height:48px;padding:0 var(--sp-3);border-radius:var(--r-md);border:var(--border) solid var(--c-line-strong);background:var(--c-bg);color:var(--c-ink);width:100%}.page textarea{padding:var(--sp-3);min-height:96px}.item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%;min-height:64px;text-decoration:none;display:flex}.item .title{font-weight:800;font-size:var(--fs-title)}.item .sub{color:var(--c-ink-2);font-size:var(--fs-caption)}.chev{color:var(--c-ink-2);margin-left:auto;font-size:22px}.gate{background:var(--c-gate-bg);color:var(--c-gate-ink);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);gap:var(--sp-3);flex-wrap:wrap;align-items:baseline;display:flex}.gate b{font-size:var(--fs-gate);letter-spacing:.08em;color:var(--c-gate-code)}.gate span{color:var(--c-gate-label);font-size:var(--fs-caption)}.notes{white-space:pre-wrap;background:var(--c-warn-bg);color:var(--c-warn-ink);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.tabs{background:var(--c-surface-2);border-radius:var(--r-md);gap:4px;padding:4px;display:flex}.tabs button{font:inherit;min-height:40px;color:var(--c-ink-2);background:0 0;border:0;border-radius:8px;flex:1;font-weight:700}.tabs button.on{background:var(--c-bg);color:var(--c-ink);box-shadow:var(--sh-1)}.chip.missing small,.chip small{font-size:.8em}.steps{gap:6px;display:flex}.steps i{background:var(--c-surface-2);border-radius:3px;flex:1;height:6px}.steps i.on{background:var(--c-primary)}.banner.err{background:var(--c-danger-bg);color:var(--c-danger)}.banner.ok{background:var(--c-success-bg);color:var(--c-success)}.progress>div:not(.track):not(.label){background:var(--c-primary);border-radius:var(--r-pill);height:8px;transition:width var(--dur-base)}.runwrap{flex-direction:column;height:calc(100dvh - 56px);display:flex}.runwrap .mapview{border-radius:0;flex:1;min-height:0}.runside{background:var(--c-page);padding:var(--sp-3);gap:var(--sp-2);align-content:start;max-height:38dvh;display:grid;overflow:auto}.stoprow{align-items:center;gap:var(--sp-3);background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);cursor:pointer;font:inherit;text-align:left;width:100%;color:inherit;min-height:64px;display:flex}.stoprow .n{background:var(--pin-black);width:36px;height:36px;color:var(--pin-black-ink);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.stoprow .u{font-size:var(--fs-h2);font-weight:800}.stoprow .q{color:var(--c-ink-2);margin-left:auto;font-weight:700}.stoprow.done .u{color:var(--c-done);text-decoration:line-through}@media (orientation:landscape) and (max-height:600px){.top{min-height:48px;padding-top:max(4px, env(safe-area-inset-top));padding-bottom:4px}.runwrap{flex-direction:row;height:calc(100dvh - 48px)}.runside{flex:none;width:300px;max-height:none}}.floatbar{left:var(--sp-3);top:var(--sp-3);gap:var(--sp-2);pointer-events:none;z-index:var(--z-map-ui);flex-wrap:wrap;display:flex;position:absolute;right:76px}.floatbar>*{pointer-events:auto}.pill{background:var(--c-bg);color:var(--c-ink);border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-4);font-weight:700;font-size:var(--fs-caption);box-shadow:var(--sh-2)}.fullbtn{right:var(--sp-3);top:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-bg);width:56px;height:56px;box-shadow:var(--sh-2);color:var(--c-ink);z-index:var(--z-map-ui);font-size:24px;font-weight:800;position:absolute}body.mapfull .top,body.mapfull .runside{display:none}body.mapfull .runwrap{height:100dvh}.mapbox{flex:1;min-height:0;display:flex;position:relative}.floatgo{left:var(--sp-3);right:76px;bottom:var(--sp-3);gap:var(--sp-2);background:var(--c-bg);padding:var(--sp-2);border-radius:var(--r-lg);box-shadow:var(--sh-2);z-index:var(--z-map-ui);align-items:center;display:flex;position:absolute}.floatgo .btn{white-space:nowrap;width:auto;min-height:48px}.pill.btnlike{font:inherit;min-height:48px;padding:0 var(--sp-4);cursor:pointer;color:var(--c-ink);border:0;font-weight:700}.pill.btnlike.on{background:var(--c-success);color:#fff}.flag{color:var(--c-warn-ink);font-weight:700;font-size:var(--fs-caption);margin-top:4px}.unitcount{font-size:var(--fs-title);color:var(--c-ink);font-weight:700}.unitcount b{font-size:var(--fs-gate)}.unitcount span{color:var(--c-ink-2);font-size:var(--fs-body)}.runside .unitcount{font-size:var(--fs-body)}.runside .unitcount b{font-size:var(--fs-h2)}.tp-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(148px,100%),1fr));display:grid}.tp-option{appearance:none;text-align:left;cursor:pointer;padding:var(--sp-2);gap:var(--sp-1);background:var(--c-card);color:var(--c-ink);border:2px solid var(--c-line);border-radius:var(--r-lg);min-height:var(--tap-min);align-content:start;display:grid}.tp-option[aria-checked=true]{border:3px solid var(--c-accent-ink);padding:calc(var(--sp-2) - 1px)}.tp-name{align-items:center;gap:var(--sp-1);font-weight:var(--fw-heavy);font-size:var(--fs-body);padding:0 var(--sp-1);display:flex}.tp-name svg{color:var(--c-accent-ink)}.tp-note{font-size:var(--fs-caption);color:var(--c-ink-2);padding:0 var(--sp-1);font-weight:600}.tp-split{border-radius:var(--r-md);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.tp-split .tp-mini{border-radius:0}.tp-mini{background:var(--c-page);color:var(--c-ink);border-radius:var(--r-md);border:1px solid var(--c-line);grid-template-rows:22px 1fr;height:104px;display:grid;overflow:hidden}.tp-head{background:var(--c-header-bg);color:var(--c-header-ink);align-items:center;padding:0 6px;display:flex}.tp-h{font-size:11px;font-weight:800}.tp-body{align-content:start;gap:4px;padding:5px;display:grid}.tp-card{background:var(--c-card);border:1px solid var(--c-line);border-radius:5px;gap:3px;padding:4px;display:grid}.tp-line{background:var(--c-ink-2);border-radius:2px;width:70%;height:4px;display:block}.tp-line.strong{background:var(--c-ink);width:90%}.tp-map{background:var(--c-map-bg);border-radius:4px;height:20px;overflow:hidden}.tp-btn{background:var(--c-primary);color:var(--c-on-primary);box-shadow:inset 0 0 0 1px var(--c-primary-edge);text-align:center;border-radius:5px;height:16px;font-size:10px;font-weight:800;line-height:16px}.invite-code{font-size:var(--fs-gate);font-weight:var(--fw-heavy);letter-spacing:.12em;text-align:center;background:var(--c-surface);border:2px dashed var(--c-line-strong);border-radius:var(--r-md);padding:var(--sp-3);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.invite-stats{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.invite-stats>div{background:var(--c-surface);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);gap:2px;display:grid}.invite-stats dt{font-size:var(--fs-caption);color:var(--c-ink-2);font-weight:700}.invite-stats dd{font-size:var(--fs-h2);font-weight:var(--fw-heavy);margin:0}.disc-body .list-row .t,.disc-body .list-row .s{white-space:normal}@media (orientation:landscape) and (max-height:600px){.action-bar,.action-bar.no-tabs{padding:var(--sp-2) 0;background:0 0;margin:0;position:static}.map-thumb{aspect-ratio:auto;height:46dvh;max-height:46dvh}.app-header{min-height:56px}}.wrap-any,.prose,.card,.list-row .main,.gate-panel .code{overflow-wrap:anywhere}.swatches,.shapes{grid-template-columns:repeat(auto-fill,minmax(min(48px,100%),1fr))}.invite-stats{grid-template-columns:repeat(auto-fit,minmax(min(96px,100%),1fr))}.otp{grid-template-columns:repeat(6,minmax(0,56px))}.card-title{font-size:var(--fs-title)}.gate-row{flex-wrap:wrap}.gate-row .dots{flex:3ch}.today-card{grid-template-columns:minmax(0,1fr)}.prose th{white-space:nowrap}@media (max-height:600px){.action-bar,.action-bar.no-tabs{padding:var(--sp-2) 0;background:0 0;margin:0;position:static}}.found-grid{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.found-item{gap:var(--sp-1);width:100%;color:var(--c-ink);text-align:left;cursor:zoom-in;background:0 0;border:0;min-height:48px;padding:0;display:grid}.found-img{aspect-ratio:4/3;border-radius:var(--r-md);background:var(--c-map-bg);border:1px solid var(--c-line);place-items:center;display:grid;overflow:hidden}.found-img img{object-fit:cover;width:100%;height:100%;display:block}.found-item:focus-visible .found-img{outline:3px solid var(--c-focus);outline-offset:2px}.found-src{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.found-preview{cursor:default;aspect-ratio:4/3;place-items:center;display:grid}.found-loading{align-items:center;gap:var(--sp-2);color:#e4e8ee;font-weight:700;display:inline-flex}.view-chips{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.view-chips .view-label{font-size:var(--fs-caption);font-weight:var(--fw-heavy);color:var(--c-ink-2);text-transform:uppercase;letter-spacing:.06em;flex-basis:100%}.view-chips .choice-chip{padding:0 var(--sp-4)}.view-chips .choice-chip:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}.sections{gap:var(--sp-4);display:grid}.p-sec{gap:var(--sp-2);min-width:0;display:grid}.sec-head{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.sec-toggle{appearance:none;color:var(--c-ink);font:inherit;min-width:0;min-height:var(--tap-secondary);padding:0 var(--sp-1);align-items:center;gap:var(--sp-2);text-align:left;cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;flex:1;display:flex}.sec-toggle:active{background:var(--c-surface-2)}.sec-toggle:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}.sec-toggle .chev{color:var(--c-ink-2);transition:transform var(--dur-fast) var(--ease);flex:none;display:grid}.sec-toggle[aria-expanded=false] .chev{transform:rotate(-90deg)}.sec-titles{flex:1;gap:2px;min-width:0;display:grid}.sec-t{font-size:var(--fs-title);font-weight:var(--fw-heavy);line-height:var(--lh-tight);overflow-wrap:anywhere}.sec-s{font-size:var(--fs-caption);color:var(--c-ink-2);font-weight:600}.sec-count{min-width:36px;height:32px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--c-surface-2);color:var(--c-ink);font-size:var(--fs-caption);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums;flex:none;place-items:center;display:inline-grid}.p-sec.rest .sec-t{color:var(--c-ink-2)}.sec-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.sec-actions .btn{flex:auto}.check-row{align-items:center;gap:var(--sp-3);min-height:64px;padding:var(--sp-2) var(--sp-4);cursor:pointer;display:flex}.check-row:active{background:var(--c-surface-2)}.check-row input{width:28px;height:28px;accent-color:var(--c-accent-ink);flex:none;margin:0}.check-row:focus-within{outline:3px solid var(--c-focus);outline-offset:-3px}.check-row .main{flex:1;gap:2px;min-width:0;display:grid}.check-row .t{font-size:var(--fs-title);font-weight:var(--fw-heavy);overflow-wrap:anywhere}.check-row .s{font-size:var(--fs-caption);color:var(--c-ink-2);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.order-list{margin:0;padding:0;list-style:none}.order-row{align-items:center;gap:var(--sp-1);min-height:64px;padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-4);display:flex}.order-row .num{background:var(--c-ink);width:32px;height:32px;color:var(--c-ink-inverse);font-weight:var(--fw-heavy);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;display:grid}.order-row .t{min-width:0;font-size:var(--fs-body);font-weight:var(--fw-strong);overflow-wrap:anywhere;padding-left:var(--sp-2);flex:1}.order-row .btn.icon:disabled{color:var(--c-line-strong);background:0 0}.route-tags{gap:var(--sp-2);flex-wrap:wrap;display:flex}.route-tag{align-items:center;gap:var(--sp-1);min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--c-info-bg);color:var(--c-ink);font-size:var(--fs-caption);font-weight:var(--fw-heavy);border:1px solid var(--c-line);display:inline-flex}.addr-field{position:relative}.addr-list{padding:var(--sp-1);border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-bg);box-shadow:var(--sh-2);gap:2px;margin:0;list-style:none;display:grid}.addr-list button{appearance:none;align-items:center;gap:var(--sp-2);width:100%;min-height:48px;padding:0 var(--sp-3);border-radius:var(--r-sm,8px);color:var(--c-ink);font:inherit;font-weight:var(--fw-strong);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.addr-list button span{overflow-wrap:anywhere;min-width:0}.addr-list button:hover,.addr-list button:focus-visible{background:var(--c-info-bg)}.addr-attrib{padding:var(--sp-1) var(--sp-3);color:var(--c-ink-2)}.beta-pill{appearance:none;color:var(--c-ink);min-height:var(--tap-min);min-width:var(--tap-min);cursor:pointer;font:inherit;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.beta-pill .bp-inner{min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--c-warn-bg);color:var(--c-warn-ink);border:2px solid var(--c-warn-line);font-size:var(--fs-caption);font-weight:var(--fw-heavy);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.beta-pill:active .bp-inner{background:var(--c-surface-2);color:var(--c-ink)}.beta-pill:focus-visible{outline:none}.beta-pill:focus-visible .bp-inner{outline:3px solid var(--c-focus);outline-offset:2px}@media (max-width:389px){.beta-pill:not(.compact) .bp-beta,.beta-pill .bp-more>span{display:none}}.beta-pill.compact .bp-inner{min-height:40px;padding:0 10px}.beta-code-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.beta-code{font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap;flex:1 0 auto}.beta-thanks{color:var(--c-ink-2);margin:0;font-weight:600}.invite-made{gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-line);display:grid}.invite-made .beta-code{font-size:var(--fs-h2)}.waitlist-form .hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (max-width:399px){.beta-pill.compact .bp-beta{display:none}}.addr-box{gap:var(--sp-3);border:0;min-width:0;margin:0;padding:0;display:grid}.addr-legend{font-weight:var(--fw-heavy);font-size:var(--fs-body);margin-bottom:var(--sp-1);padding:0}.addr-row{gap:var(--sp-3);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);display:grid}.shared-card{background:var(--c-info-bg)}.shared-rows{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.shared-row{gap:var(--sp-2) var(--sp-3);background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--sp-3);grid-template-columns:96px minmax(0,1fr);grid-template-areas:"thumb main""use use";align-items:center;display:grid}.shared-row .main{grid-area:main;gap:2px;min-width:0;display:grid}.shared-row .t{font-size:var(--fs-title);font-weight:var(--fw-heavy)}.shared-row .s{font-size:var(--fs-caption);color:var(--c-ink-2);font-variant-numeric:tabular-nums;font-weight:600}.shared-row .use{min-height:var(--tap-secondary);grid-area:use}.shared-thumb{aspect-ratio:4/3;border-radius:var(--r-sm);background:var(--c-map-bg);color:#c9ced6;grid-area:thumb;place-items:center;width:96px;display:grid;overflow:hidden}.shared-thumb img{object-fit:cover;width:100%;height:100%;display:block}@media (min-width:560px){.shared-row{grid-template-columns:112px minmax(0,1fr) auto;grid-template-areas:"thumb main use"}.shared-thumb{width:112px}.shared-row .use{width:auto;padding:0 var(--sp-5)}}.share-list{gap:var(--sp-2);margin:0;padding:0;font-weight:600;list-style:none;display:grid}.share-list li{align-items:flex-start;gap:var(--sp-2);display:flex}.share-list li svg{color:var(--c-success);flex:none;margin-top:2px}.share-list li.no svg{color:var(--c-ink-2)}.switch-row .lead-ic{width:24px;color:var(--c-ink);flex:none;place-items:center;display:grid}.caption.share-on{color:var(--c-success)}.pw-wrap{display:grid;position:relative}.pw-wrap input{padding-right:calc(var(--tap-min) + var(--sp-2))!important}.pw-wrap .pw-eye{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--c-ink-2);position:absolute;top:50%;right:2px;transform:translateY(-50%)}.account-email{font-weight:var(--fw-strong);overflow-wrap:anywhere}.verified-tag{align-items:center;gap:var(--sp-1);font-size:var(--fs-caption);font-weight:var(--fw-strong);color:var(--c-success);background:var(--c-success-bg);border-radius:var(--r-pill);padding:2px var(--sp-3);display:inline-flex}.auth-alt{text-align:center;color:var(--c-ink-2)}.auth-alt a,.auth-alt .btn.text{font-weight:var(--fw-strong)}.check-row{gap:var(--sp-3);min-height:var(--tap-min);cursor:pointer;align-items:flex-start;display:flex}.check-row input[type=checkbox]{width:24px;height:24px;accent-color:var(--c-accent-ink);flex:none;margin-top:2px}#account .list-row .t{white-space:normal;overflow-wrap:anywhere}#account .list-row .s{white-space:normal}#account .list-row .t.account-email{font-size:var(--fs-body);font-weight:var(--fw-strong)}
