*,*:before,*:after{box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--surface-bg: #f9fafb;--surface-card: #ffffff;--surface-border: #e5e7eb;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--accent-primary: #4f46e5;--accent-soft: #eef2ff;--tone-positive: #dcfce7;--tone-cautious: #fef9c3;--tone-neutral: #e5e7eb;--tone-negative: #fee2e2;--border-positive: #22c55e;--border-cautious: #eab308;--border-neutral: #9ca3af;--border-negative: #ef4444;color:var(--text-primary);background-color:var(--surface-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--surface-bg: #0f172a;--surface-card: #111827;--surface-border: #1f2937;--text-primary: rgba(255, 255, 255, .92);--text-secondary: rgba(255, 255, 255, .72);--text-muted: rgba(255, 255, 255, .55);--accent-primary: #818cf8;--accent-soft: #1e1b4b;--tone-positive: #064e3b;--tone-cautious: #713f12;--tone-neutral: #1f2937;--tone-negative: #7f1d1d}}#root{min-height:100vh;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;background:var(--surface-bg);color:var(--text-primary)}h1,h2,h3{line-height:1.25;margin:0}h1{font-size:1.25rem}h2{font-size:1.1rem}p{margin-top:.4rem;margin-bottom:.6rem;color:var(--text-secondary)}a{color:var(--accent-primary);font-weight:500;text-decoration:none}a:hover{opacity:.85}.card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:12px;padding:1.5rem;color:var(--text-primary)}.card strong{display:block;margin-bottom:.25rem}.card p{color:var(--text-secondary)}.status-positive{background:var(--tone-positive);border-left:4px solid var(--border-positive)}.status-cautious{background:var(--tone-cautious);border-left:4px solid var(--border-cautious)}.status-neutral{background:var(--tone-neutral);border-left:4px solid var(--border-neutral)}.status-negative{background:var(--tone-negative);border-left:4px solid var(--border-negative)}button{border-radius:8px;border:1px solid var(--surface-border);padding:.5em .9em;font-size:.9rem;font-weight:500;font-family:inherit;background:var(--surface-card);color:var(--text-primary);cursor:pointer;transition:border-color .2s,background .2s}button:hover{border-color:var(--accent-primary)}button:disabled{opacity:.55;cursor:default}label{font-size:.75rem;color:var(--text-muted)}select{width:100%;padding:.4rem .45rem;margin-top:.25rem;border-radius:6px;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-primary)}ul{padding-left:1.1rem}li{margin-bottom:.5rem}section{margin-bottom:1.75rem}section>.card{margin-top:.75rem}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.app-sidebar{position:sticky;top:0;height:100vh;padding:1.5rem 1.25rem;border-right:1px solid var(--surface-border);background:var(--surface-bg)}.app-sidebar h1{font-size:1.25rem;margin-bottom:.25rem}.app-sidebar p{font-size:.85rem}.app-main{padding:2rem 2.5rem}.content-wrap{max-width:920px}.badge-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.75rem}.badge{font-size:.85rem;padding:.35rem .65rem;border-radius:999px;font-weight:500;border:1px solid transparent}.badge-positive{background:var(--tone-positive);border-color:var(--border-positive)}.badge-cautious{background:var(--tone-cautious);border-color:var(--border-cautious)}.badge-negative{background:var(--tone-negative);border-color:var(--border-negative)}.badge-neutral{background:var(--tone-neutral);border-color:var(--border-neutral)}.badge-outline{background:transparent;border-color:var(--surface-border)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}:root[data-theme=light]{--surface-bg: #f9fafb;--surface-card: #ffffff;--surface-border: #e5e7eb;--text-primary: #111827;--text-secondary: #4b5563;--text-muted: #6b7280}:root[data-theme=dark]{--surface-bg: #0f172a;--surface-card: #111827;--surface-border: #1f2937;--text-primary: rgba(255, 255, 255, .92);--text-secondary: rgba(255, 255, 255, .72);--text-muted: rgba(255, 255, 255, .55)}
