/* Stage 1 design tokens and responsive shell, adapted to the current app DOM. */
:root{--canvas:#f7f8f4;--surface:#fff;--surface-soft:#edf2eb;--ink:#182b20;--muted:#59665e;--line:#d7e0d6;--brand:#245c45;--brand-text:#fff;--accent:#e4edb8;--hero:#214e3b;--radius:22px;--sidebar:238px}
:root[data-dark=true]{--canvas:#101914;--surface:#19261e;--surface-soft:#223428;--ink:#edf3e9;--muted:#b1c2b5;--line:#3f5244;--brand:#b9d7a7;--brand-text:#15291b;--accent:#d7e6b3;color-scheme:dark}
body.foundation-ui{margin:0;padding:0 0 0 var(--sidebar);max-width:none;background:var(--canvas);color:var(--ink);font:1rem/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.foundation-ui>header.top,.foundation-ui>header:not(.foundation-topbar){display:none}
.foundation-ui .foundation-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:34px 22px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}
.foundation-brand{font-size:2rem;font-weight:800;text-decoration:none;letter-spacing:-1.5px;color:var(--ink)}.foundation-brand span{color:#7f9b65}.foundation-tagline{color:var(--muted);font-size:.84rem;line-height:1.6;margin:10px 0 30px}
.foundation-sidebar nav{display:flex;flex-direction:column;gap:6px;padding:0;overflow:visible;background:transparent}.foundation-sidebar nav a{padding:13px 16px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:.94rem;white-space:nowrap}.foundation-sidebar nav a:hover{background:var(--surface-soft);color:var(--ink)}.foundation-sidebar nav a[aria-current=page]{background:var(--surface-soft);color:var(--brand);font-weight:700;box-shadow:inset 3px 0 var(--brand)}
.foundation-tools{margin-top:auto;font-size:.78rem;color:var(--muted);padding-top:24px}.foundation-tools a{display:block;padding:12px 0;color:var(--brand)}
.foundation-topbar{min-height:78px;padding:18px 36px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);font-size:.85rem}.foundation-topbar button{font-size:.85rem;padding:9px 14px}.foundation-mobile-brand{display:none}
.foundation-ui main{max-width:1300px;margin:auto;padding:32px 36px 80px}.foundation-ui h1{font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-1.2px;margin:0 0 12px;line-height:1.2}.foundation-ui h2{font-size:1.3rem;letter-spacing:-.4px;line-height:1.35}.foundation-ui p{line-height:1.6}.foundation-ui a{color:var(--brand)}
.foundation-ui section,.foundation-ui .card{background:var(--surface);border-color:var(--line);color:var(--ink);border-radius:var(--radius)}.foundation-ui .grid{gap:22px}.foundation-ui .card{padding:24px;box-shadow:0 8px 30px #193d2907}.foundation-ui button{border-radius:12px;padding:11px 16px;font:inherit;font-weight:600;background:var(--brand);color:var(--brand-text);border:1px solid transparent;min-height:44px}.foundation-ui button.secondary{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}.foundation-ui button.danger{background:#9c322c;color:white}.foundation-ui button:disabled{opacity:.5}.foundation-ui input,.foundation-ui select,.foundation-ui textarea{background:var(--surface);color:var(--ink);border-color:var(--line);font:inherit;border-radius:10px;min-height:44px}.foundation-ui input[type=checkbox]{min-height:0;width:18px;height:18px;accent-color:var(--brand)}
.foundation-ui .tag{background:var(--surface-soft);color:var(--brand);border-radius:8px}.foundation-ui .foundation-content-card{overflow:hidden;padding-top:0;display:flex;flex-direction:column;align-items:flex-start}.foundation-art{width:calc(100% + 48px);margin:0 -24px 20px;height:170px;overflow:hidden;background:var(--surface-soft)}.foundation-art svg{display:block;width:100%;height:100%;object-fit:cover}.foundation-content-card>p{color:var(--muted)}.foundation-content-card button{margin:6px 0}
.foundation-ui .foundation-hero{background:var(--hero);color:#f5f9ee;padding:30px;display:grid;grid-template-columns:1.15fr 1fr;gap:16px;align-items:center;border:0;overflow:hidden}.foundation-hero h2{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-1px}.foundation-hero p{color:#d2e2d6}.foundation-hero a{background:var(--accent);color:#233725;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:600;margin:8px 8px 0 0}.foundation-hero-art{min-width:0}.foundation-hero-art svg{display:block;width:100%;border-radius:18px}
.foundation-ui .foundation-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--line);margin-bottom:24px}.foundation-welcome h2{margin:6px 0}.foundation-welcome p{color:var(--muted);margin:4px 0}.foundation-eyebrow{font-size:.7rem;letter-spacing:1.4px;color:var(--muted);font-weight:700}.foundation-meta{font-size:.8rem}
.foundation-ui dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:26px;max-width:94vw;max-height:90vh;overflow:auto}.foundation-ui dialog::backdrop{background:#10201999}.foundation-ui #foundation-setup{width:560px}.foundation-ui #foundation-form label{display:block;margin:16px 0}.foundation-ui #foundation-form input,.foundation-ui #foundation-form select{display:block;width:100%;margin-top:6px;padding:10px}.foundation-ui #foundation-error{color:#bd483e}.foundation-ui #message,.foundation-ui #warning,.foundation-ui #notice{max-width:1228px;margin:12px auto}.foundation-ui #warning:empty,.foundation-ui #notice:empty,.foundation-ui #message:empty{display:none}.foundation-ui #calendar .day{border:1px solid var(--line);border-radius:16px}.foundation-ui .entry{border-color:var(--line)}.foundation-ui footer{color:var(--muted)}.foundation-ui :focus-visible{outline:3px solid #ad6c12;outline-offset:3px}
@media(max-width:900px){body.foundation-ui{padding-left:0}.foundation-ui .foundation-sidebar{inset:auto 0 0;width:100%;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line)}.foundation-sidebar .foundation-brand,.foundation-tagline,.foundation-tools{display:none}.foundation-sidebar nav{flex-direction:row;justify-content:space-around;gap:0;overflow:auto}.foundation-sidebar nav a{padding:12px 7px;font-size:.75rem;text-align:center;min-height:44px}.foundation-sidebar nav a[aria-current=page]{box-shadow:inset 0 -3px var(--brand)}.foundation-topbar{padding:16px 20px;min-height:66px}.foundation-mobile-brand{display:block;font-size:1.4rem;font-weight:800;text-decoration:none}.foundation-topbar #foundation-location{display:none}.foundation-ui main{padding:24px 18px 110px}.foundation-ui #status:not(:empty){bottom:86px}.foundation-ui footer{padding-bottom:100px}.foundation-ui .foundation-welcome{flex-direction:column;align-items:flex-start}.foundation-ui .foundation-hero{padding:22px;grid-template-columns:1fr}.foundation-hero-art{max-height:180px;overflow:hidden}.foundation-hero-art svg{max-height:180px}.foundation-art{height:155px}}
@media(prefers-reduced-motion:reduce){.foundation-ui *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-reduced=true] .foundation-ui *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media print{body.foundation-ui{padding:0}.foundation-sidebar,.foundation-topbar,#foundation-welcome{display:none!important}.foundation-ui main{padding:0}}
