:root{color-scheme:light dark;--color-bg: #f7f5f0;--color-surface: #ffffff;--color-surface-alt: #f0eee6;--color-text: #1c1b18;--color-text-muted: #5a584f;--color-border: #d8d4c8;--color-focus: #1857b0;--color-primary: #6a3410;--color-primary-hover: #52290c;--color-primary-text: #fff8f0;--color-secondary-border: #8a8676;--color-secondary-text: #33322c;--color-gate: #7a1f16;--color-gate-bg: #fbe8e4;--color-gate-border: #c94f3d;--color-finding: #6b4f00;--color-finding-bg: #fbf1d9;--color-finding-border: #c99a1f;--font-ui: system-ui, -apple-system, "Segoe UI", sans-serif;--font-prose: Georgia, "Times New Roman", serif;--measure: 68ch;--radius: 8px;--space-1: .375rem;--space-2: .75rem;--space-3: 1.25rem;--space-4: 2rem}@media(prefers-color-scheme:dark){:root{--color-bg: #1a1917;--color-surface: #242320;--color-surface-alt: #2c2b27;--color-text: #ede9df;--color-text-muted: #b3ae9f;--color-border: #423f38;--color-focus: #7ab0ff;--color-primary: #d98a4f;--color-primary-hover: #e6a06c;--color-primary-text: #221507;--color-secondary-border: #6e6a5c;--color-secondary-text: #ede9df;--color-gate: #ff9c8c;--color-gate-bg: #3a1e19;--color-gate-border: #a8493a;--color-finding: #f0cd6a;--color-finding-bg: #3a3115;--color-finding-border: #a4842b}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);line-height:1.5}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}h1,h2,h3,h4{line-height:1.25;font-weight:600}header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-3);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}header h1{margin:0;font-size:1.25rem}header nav a{color:var(--color-text);text-decoration:none;font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius)}header nav a:hover,header nav a.active{background:var(--color-surface-alt)}.header-controls{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.header-controls p{margin:0}main{max-width:960px;margin:0 auto;padding:var(--space-4) var(--space-3)}textarea,input[type=text],input:not([type]),input[type=number]{font-family:var(--font-ui);font-size:1rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-1) var(--space-2)}textarea{max-width:var(--measure);width:100%;font-family:var(--font-prose);line-height:1.6;resize:vertical}input{min-height:44px}label{font-weight:500}section>h2,section>h3{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-1)}fieldset{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);margin:var(--space-3) 0}fieldset legend{font-weight:600;padding:0 var(--space-1)}fieldset ol,fieldset ul{list-style:none;margin:0;padding:0}fieldset li{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;padding:var(--space-1) 0;border-bottom:1px dashed var(--color-border)}fieldset li:last-of-type{border-bottom:none}button{font:inherit;cursor:pointer;border-radius:var(--radius);padding:var(--space-1) var(--space-2);min-height:44px;min-width:44px;border:1px solid var(--color-secondary-border);background:var(--color-surface);color:var(--color-secondary-text)}button:hover:not(:disabled){background:var(--color-surface-alt)}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.tip-trigger{min-height:24px;min-width:24px;padding:0;border-radius:999px;font-size:.75rem;line-height:1;background:var(--color-surface-alt);border-color:var(--color-secondary-border);vertical-align:middle}.tip-content{max-width:32ch;background:var(--color-text);color:var(--color-bg);padding:var(--space-2);border-radius:var(--radius);font-size:.875rem;line-height:1.4;box-shadow:0 4px 16px #00000040}.tip-arrow{fill:var(--color-text)}.generation-status{display:grid;gap:var(--space-3);margin-top:var(--space-3)}@media(min-width:720px){.generation-status{grid-template-columns:1fr 1fr;align-items:start}}.progress-log,.findings-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3)}.findings-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.finding-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius);border-left:4px solid var(--color-secondary-border)}.finding-item[data-severity=gate]{background:var(--color-gate-bg);border-left-color:var(--color-gate-border);color:var(--color-gate)}.finding-item[data-severity=finding]{background:var(--color-finding-bg);border-left-color:var(--color-finding-border);color:var(--color-finding)}.finding-severity-badge{font-weight:700;text-transform:uppercase;font-size:.7rem;letter-spacing:.03em}.finding-message{color:var(--color-text)}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-item:last-of-type{border-bottom:none}.accordion-trigger{display:flex;width:100%;text-align:left;justify-content:space-between;background:transparent;border:none;padding:var(--space-2) 0;font-weight:600}.accordion-content{padding-bottom:var(--space-2)}.provenance-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:.1rem .4rem;border-radius:var(--radius);background:var(--color-surface-alt);border:1px solid var(--color-secondary-border)}.shipped-badge{font-size:.75rem;font-weight:600;padding:.1rem .4rem;border-radius:var(--radius);background:var(--color-surface-alt);color:var(--color-text-muted)}.demo-banner{padding:var(--space-1) var(--space-3);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-ui);font-weight:600;text-align:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
