:root,:root[data-theme=dark]{--f5-ink:#0e1726;--f5-surface:#14203a;--f5-sunken:#0b1220;--f5-line:#24324d;--f5-line-strong:#36466a;--f5-text:#eef1f6;--f5-text-bright:#fff;--f5-text-2:#bcc6d6;--f5-muted:#9ca9bf;--f5-accent:#ff6b2c;--f5-accent-text:#ff6b2c;--f5-on-accent:#0e1726;--f5-steel:#a9bedd;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--f5-ink:#f5f7fa;--f5-surface:#fff;--f5-sunken:#eef1f6;--f5-line:#dde3ec;--f5-line-strong:#c3ccda;--f5-text:#0e1726;--f5-text-bright:#0b1220;--f5-text-2:#36466a;--f5-muted:#5b6b86;--f5-accent-text:#c2410c;--f5-steel:#3b5a8c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--f5-ink:#f5f7fa;--f5-surface:#fff;--f5-sunken:#eef1f6;--f5-line:#dde3ec;--f5-line-strong:#c3ccda;--f5-text:#0e1726;--f5-text-bright:#0b1220;--f5-text-2:#36466a;--f5-muted:#5b6b86;--f5-accent-text:#c2410c;--f5-steel:#3b5a8c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--f5-font:"Space Grotesk", system-ui, sans-serif;--f5-mono:"JetBrains Mono", ui-monospace, monospace;--f5-radius-xs:6px;--f5-radius-sm:8px;--f5-radius-md:10px;--f5-radius-lg:12px;--f5-radius-xl:16px;--f5-radius-2xl:24px;--f5-radius-pill:999px;--f5-max-width:1200px;--f5-gutter:32px}body{background:var(--f5-ink);color:var(--f5-text);font-family:var(--f5-font);margin:0}a{color:var(--f5-text);text-decoration:none}a:hover{color:var(--f5-text-bright);text-decoration:underline}.f5-display{letter-spacing:-.035em;margin:0;font-size:clamp(44px,7vw,88px);font-weight:700;line-height:.98}.f5-h2{letter-spacing:-.03em;margin:0;font-size:clamp(34px,4.5vw,56px);font-weight:700;line-height:1.05}.f5-h3{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700;line-height:1.15}.f5-lead{color:var(--f5-text-2);font-size:21px;line-height:1.55}.f5-body{color:var(--f5-text-2);font-size:17px;line-height:1.6}.f5-eyebrow{font-family:var(--f5-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--f5-muted);font-size:14px}.f5-label{font-family:var(--f5-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--f5-steel);font-size:13px}.f5-accent{color:var(--f5-accent-text)}.f5-container{max-width:var(--f5-max-width);padding:0 var(--f5-gutter);box-sizing:border-box;margin:0 auto}.f5-section{border-top:1px solid var(--f5-line)}.f5-card{background:var(--f5-surface);border:1px solid var(--f5-line);border-radius:var(--f5-radius-xl);box-sizing:border-box;padding:32px}.f5-inset{background:var(--f5-sunken);border:1px solid var(--f5-line);border-radius:var(--f5-radius-lg);font-family:var(--f5-mono);color:var(--f5-text-2);padding:20px;font-size:14px;line-height:1.5}.f5-placeholder{border:1px dashed var(--f5-line-strong);border-radius:var(--f5-radius-xl);padding:28px 36px}.f5-callout{background:var(--f5-accent);color:var(--f5-on-accent);border-radius:var(--f5-radius-2xl);padding:clamp(32px,6vw,72px)}.f5-btn{font-family:var(--f5-font);color:var(--f5-text);border:1px solid var(--f5-line-strong);border-radius:var(--f5-radius-md);cursor:pointer;background:0 0;padding:15px 28px;font-size:17px;font-weight:500;display:inline-block}.f5-btn-primary{color:var(--f5-on-accent);background:var(--f5-accent);border-color:var(--f5-accent);font-weight:700}.f5-btn:hover{color:var(--f5-text-bright);text-decoration:none}.f5-btn-primary:hover{color:var(--f5-on-accent)}.f5-link{font-family:var(--f5-mono);color:var(--f5-steel);font-size:15px;font-weight:500}.f5-pill{font-family:var(--f5-mono);color:var(--f5-text-2);border:1px solid var(--f5-line-strong);border-radius:var(--f5-radius-pill);padding:6px 12px;font-size:12px}.f5-tag{font-family:var(--f5-mono);color:var(--f5-text-2);border:1px solid var(--f5-line-strong);border-radius:var(--f5-radius-xs);padding:6px 10px;font-size:12px}.f5-status{font-family:var(--f5-mono);color:var(--f5-muted);align-items:center;gap:12px;font-size:14px;display:flex}.f5-status:before{content:"";background:var(--f5-accent);border-radius:50%;width:10px;height:10px}.f5-brand{color:var(--f5-text);align-items:center;gap:14px;display:flex}.f5-brand-name{letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1}.f5-brand-sub{font-family:var(--f5-mono);letter-spacing:.32em;color:var(--f5-muted);font-size:10px;font-weight:500;line-height:1}.f5-mark path{fill:none;stroke:currentColor;stroke-width:8px;stroke-linecap:round}.f5-mark circle{fill:var(--f5-accent)}:root{--bg:var(--f5-ink);--card:var(--f5-surface);--field:var(--f5-sunken);--text:var(--f5-text);--muted:var(--f5-muted);--border:var(--f5-line);--border-strong:var(--f5-line-strong);--accent:var(--f5-accent);--link:var(--f5-steel);--ok:#4cc38a;--error:#ff5c7a;--warn-bg:#ff6b2c24;--flag-bg:#a9bedd1f;--staged-bg:#ff6b2c12;--staged-border:#ff6b2c8c;--on-ok:var(--f5-on-accent)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--ok:#1a7f37;--error:#cf222e;--warn-bg:#ff6b2c1f;--flag-bg:#3b5a8c1a;--on-ok:#fff}}:root[data-theme=light]{--ok:#1a7f37;--error:#cf222e;--warn-bg:#ff6b2c1f;--flag-bg:#3b5a8c1a;--on-ok:#fff}a{color:var(--link)}h1,h2{margin:0;font-weight:700;line-height:1.1}h1{letter-spacing:-.03em;font-size:2rem}h2{letter-spacing:-.02em;font-size:1.25rem}button,select,input,textarea{font:inherit;color:inherit;background:var(--field);border:1px solid var(--border-strong);border-radius:var(--f5-radius-sm);padding:8px 12px}button{cursor:pointer;background:0 0;font-weight:500}button:hover:not(:disabled){border-color:var(--f5-muted)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--f5-on-accent);font-weight:700}button.primary:hover:not(:disabled){border-color:var(--accent)}button.danger{color:var(--error);border-color:var(--error)}button.link{color:var(--link);background:0 0;border:none;padding:0}textarea{box-sizing:border-box;width:100%;font-family:var(--f5-mono);font-size:.9rem}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:16px;display:flex}.topbar nav{font-family:var(--f5-mono);align-items:center;gap:24px;font-size:14px;display:flex}.topbar nav a,.topbar nav button.link{color:var(--muted)}.topbar nav a.active{color:var(--text)}.brand:hover{text-decoration:none}.brand .brand-text{flex-direction:column;gap:6px;display:flex}.brand .f5-brand-sub{letter-spacing:.08em;font-size:11px}.pilot-mark .pilot-mark-light{fill:#2f7bff}.pilot-mark .pilot-mark-core{fill:#9ccbff}.brand .f5-brand-name{font-size:20px}.page{max-width:760px;margin:0 auto;padding:20px 16px 80px}.page.center{place-items:center;min-height:80vh;display:grid}footer{text-align:center;font-family:var(--f5-mono);padding:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--f5-radius-xl);padding:20px}.narrow{max-width:360px}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--error)}.ok{color:var(--ok)}.pill{font-family:var(--f5-mono);color:var(--f5-text-2);border-radius:var(--f5-radius-pill);border:1px solid var(--border-strong);padding:4px 12px;font-size:12px}.pill.draft{background:var(--staged-bg)}.pill.confirmed{background:var(--ok);border-color:var(--ok);color:var(--on-ok)}.tag{font-family:var(--f5-mono);border-radius:var(--f5-radius-xs);border:1px solid var(--border-strong);color:var(--f5-text-2);margin-left:6px;padding:2px 8px;font-size:11px}.nights{margin:12px 0 0;padding:0;list-style:none}.nights li{flex-wrap:wrap;gap:12px;padding:4px 0;display:flex}.night{width:76px;color:var(--muted);font-family:var(--f5-mono);letter-spacing:.06em;text-transform:uppercase;padding-top:2px;font-size:.85rem}.flag{background:var(--flag-bg);border-radius:var(--f5-radius-xs);padding:4px 8px;font-size:.9rem}.warn{background:var(--warn-bg);border-radius:var(--f5-radius-xs);padding:4px 8px;font-size:.9rem}.slots{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.slot{background:var(--card);border:1px solid var(--border);border-radius:var(--f5-radius-lg);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.slot.staged{background:var(--staged-bg);border-color:var(--staged-border)}.slot.dragging{outline:2px dashed var(--accent)}.meal{font-size:1.05rem}.actions button,.actions select{font-size:.9rem}.sticky{background:var(--bg);border-top:1px solid var(--border);padding:10px 0;position:sticky;bottom:0}.swap{flex-direction:column;align-items:stretch;gap:6px;display:flex}.swap button{text-align:left}.shopping{columns:2 240px;padding:0;list-style:none}.shopping label{break-inside:avoid;gap:8px;padding:3px 0;display:flex}.shopping input{accent-color:var(--accent)}.shopping input:checked+span{color:var(--muted);text-decoration:line-through}.recipes{border-collapse:collapse;width:100%}.recipes th,.recipes td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px}.recipes th{font-family:var(--f5-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}@media (width<=560px){.recipes th:nth-child(2),.recipes td:nth-child(2),.recipes th:nth-child(5),.recipes td:nth-child(5){display:none}}.recipe-body h2{margin-top:16px}.calendars{border-collapse:collapse;width:100%}.calendars th,.calendars td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px}.calendars th{font-family:var(--f5-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}.calendars th:not(:first-child),.calendars td:not(:first-child){text-align:center;width:7.5rem}@media (width<=600px){.calendars th,.calendars td{padding:8px 4px}.calendars th{letter-spacing:.04em}.calendars th:not(:first-child),.calendars td:not(:first-child){width:4.75rem}}.prose{max-width:46rem;margin:0 auto;line-height:1.6}.prose h2{margin-top:1.6em}.prose ul{padding-left:1.25em}.prose li+li{margin-top:.4em}footer a{color:inherit}.landing>.card h1{margin-top:0}.landing>.card+h2{margin-top:1.4em}
