:root{--brand-moss:#396159;--brand-purple:#701ef6;--brand-rose:#b76e79;--brand-forest:#1c423b;--moss-050:color-mix(in srgb, var(--brand-moss) 8%, white);--moss-100:color-mix(in srgb, var(--brand-moss) 16%, white);--moss-200:color-mix(in srgb, var(--brand-moss) 32%, white);--moss-600:var(--brand-moss);--moss-700:color-mix(in srgb, var(--brand-moss) 82%, black);--forest-700:color-mix(in srgb, var(--brand-forest) 88%, white);--forest-800:var(--brand-forest);--forest-900:color-mix(in srgb, var(--brand-forest) 82%, black);--purple-050:color-mix(in srgb, var(--brand-purple) 7%, white);--purple-600:var(--brand-purple);--gray-000:#fff;--gray-025:#fbfcfb;--gray-050:#f5f7f6;--gray-100:#edf0ee;--gray-200:#e0e5e2;--gray-300:#c9d1cd;--gray-400:#a3aeaa;--gray-500:#7b8783;--gray-600:#5c6764;--gray-700:#414a47;--gray-800:#2b3230;--gray-900:#1a1f1e;--bg-app:var(--gray-050);--bg-surface:var(--gray-000);--bg-surface-raised:var(--gray-025);--bg-subtle:var(--gray-100);--bg-inset:var(--gray-050);--skeleton:var(--gray-200);--text-strong:var(--gray-900);--text:var(--gray-800);--text-muted:var(--gray-600);--text-faint:var(--gray-500);--text-on-dark:#eef3f1;--text-on-dark-muted:#eef3f19e;--text-on-accent:#fff;--border:var(--gray-200);--border-strong:var(--gray-300);--border-subtle:var(--gray-100);--accent:var(--moss-600);--accent-hover:var(--moss-700);--accent-subtle:var(--moss-050);--accent-subtle-hover:var(--moss-100);--focus:var(--purple-600);--danger:#a8352f;--danger-subtle:#fdecec;--danger-border:#e8b4b1;--warn:#8a6d00;--warn-subtle:#fff8e6;--warn-border:#e6d199;--ok:#2f6b45;--ok-subtle:#e9f5ed;--ok-border:#a8d3b8;--nav-bg:var(--forest-800);--nav-bg-hover:color-mix(in srgb, var(--forest-700) 70%, transparent);--nav-bg-active:var(--moss-600);--nav-border:#ffffff1a;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.65;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--shadow-sm:0 1px 2px #1a1f1e0f;--shadow-md:0 2px 8px #1a1f1e14;--shadow-lg:0 12px 32px #1a1f1e24;--dur-fast:90ms;--dur:.15s;--ease:cubic-bezier(.2, 0, .2, 1);--topbar-h:3.25rem;--sidebar-w:15rem;--sidebar-w-collapsed:3.5rem;--chat-w:24rem;--filters-w:15rem;--content-max:90rem;--z-content:1;--z-sticky:20;--z-topbar:30;--z-panel:40;--z-overlay:50}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-padding-top:calc(var(--topbar-h) + var(--sp-2))}body{background:var(--bg-app);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--text-strong);line-height:var(--lh-tight);font-weight:var(--fw-semibold);margin:0}h1{font-size:var(--fs-2xl);letter-spacing:-.01em}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}p{margin:0}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:2px}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}code,pre,.tabular{font-family:var(--font-mono);font-size:.95em}.tabular-nums{font-variant-numeric:tabular-nums}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}:where(a,button,input,select,textarea,summary,[tabindex]):focus:not(:focus-visible){outline:none}:where(input,select,textarea){font:inherit;color:var(--text);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}:where(input,select,textarea):hover:not(:disabled){border-color:var(--gray-400)}:where(input,select,textarea):focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 18%, transparent)}:where(input,select,textarea):disabled{background:var(--bg-subtle);color:var(--text-faint);cursor:not-allowed}:where(input[type=checkbox],input[type=radio]){accent-color:var(--accent);width:1rem;height:1rem;padding:0}:where(button){font:inherit;font-weight:var(--fw-medium);color:var(--text);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}:where(button:hover:not(:disabled)){background:var(--bg-subtle);border-color:var(--gray-400)}:where(button:active:not(:disabled)){background:var(--bg-inset)}:where(button:disabled){opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger-subtle);border-color:var(--danger)}.btn-quiet{color:var(--text-muted);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);background:0 0;border-color:#0000}.btn-quiet:hover:not(:disabled){background:var(--bg-subtle);color:var(--text);border-color:#0000}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes skeleton-appear{0%,to{opacity:1}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.skeleton{background:var(--skeleton);border-radius:var(--radius-sm);opacity:0;animation:0s linear .22s forwards skeleton-appear,1.6s ease-in-out .22s infinite skeleton-pulse}@media (prefers-reduced-motion:reduce){.skeleton{opacity:1;animation:none}}@keyframes spinner-turn{to{transform:rotate(360deg)}}.spinner{border-radius:var(--radius-full);border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;animation:.7s linear infinite spinner-turn;display:inline-block}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:color-mix(in srgb, currentColor 25%, transparent);animation:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.disclosure{border-bottom:1px solid var(--border-subtle)}.disclosure:last-child{border-bottom:none}.disclosure__summary{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);cursor:pointer;transition:background var(--dur) var(--ease);list-style:none;display:flex}.disclosure__summary::-webkit-details-marker{display:none}.disclosure__summary:hover{background:var(--bg-subtle)}.disclosure__summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.disclosure__text{min-width:0}.disclosure__action{color:var(--text-muted);font-size:var(--fs-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:0 var(--sp-3);flex:none;line-height:1.7}.disclosure[open] .disclosure__action{color:var(--text-strong);border-color:var(--accent)}.disclosure[open] .disclosure__summary{background:var(--bg-subtle)}.disclosure__body{padding:var(--sp-4) var(--sp-5) var(--sp-5);background:var(--bg-surface-raised);border-top:1px solid var(--border-subtle)}.locgrid{padding:var(--sp-2) 0;grid-template-columns:max-content minmax(0,1fr);margin:0;list-style:none;display:grid}.locgrid__row{display:contents}.locgrid__cell{padding:var(--sp-2) 0;transition:background var(--dur) var(--ease)}.locgrid__cell--when{padding-left:calc(var(--sp-5) - 3px);padding-right:var(--sp-4);white-space:nowrap;font-variant-numeric:tabular-nums;border-left:3px solid #0000}.locgrid__cell--who{padding-right:var(--sp-5)}.locgrid__row--many .locgrid__cell{background:var(--bg-inset)}.locgrid__row--many .locgrid__cell--when{border-left-color:var(--accent)}.locgrid__row--many .locgrid__cell--who{font-weight:var(--fw-semibold)}.locgrid__row--now .locgrid__cell{background:var(--accent-subtle)}.locgrid__sizer{visibility:hidden;height:0;padding-top:0;padding-bottom:0;overflow:hidden}@media (max-width:34rem){.locgrid{grid-template-columns:minmax(0,1fr)}.locgrid__cell{padding-block:0}.locgrid__cell--when{padding-top:var(--sp-2)}.locgrid__cell--who{padding-bottom:var(--sp-2);padding-left:calc(var(--sp-5) + var(--sp-4));padding-right:var(--sp-5)}.locgrid__sizer{display:none}}.fieldgrid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));align-items:start;display:grid}.field{gap:var(--sp-1);align-content:start;min-width:0;display:grid}.field--wide{grid-column:span 2}@media (max-width:30rem){.fieldgrid{grid-template-columns:minmax(0,1fr)}.field--wide{grid-column:auto}}.field__label{color:var(--text-muted);font-size:var(--fs-sm)}.field__hint{color:var(--text-faint);font-size:var(--fs-xs)}.field>input,.field>select,.field>textarea{width:100%;min-width:0}.field__check{gap:var(--sp-2);align-items:flex-start;min-width:0;display:flex}.field__check>input{flex:none;margin-top:.2em}.choices{gap:var(--sp-2);display:grid}.choice{gap:var(--sp-1) var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.choice:hover{border-color:var(--border-strong)}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-subtle)}.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.choice>input{grid-row:1/span 2;margin-top:.15em}.choice__name{font-weight:var(--fw-semibold);color:var(--text-strong)}.choice__what{color:var(--text-muted);font-size:var(--fs-sm)}.choice__needs{color:var(--warn);font-size:var(--fs-xs);grid-column:2}
