:root{--surface: #f6f6f4;--surface-raised: #ffffff;--surface-sunken: #eeeeeb;--border: #dcdcd6;--border-strong: #c2c2ba;--ink: #1c1e1f;--ink-muted: #55585c;--ink-faint: #8a8d8f;--accent: #33475a;--accent-strong: #223342;--accent-tint: #e4e9ec;--fact: #3f6b4c;--fact-tint: #e6efe8;--assumption: #a3752f;--assumption-tint: #f4ead9;--gap: #7a4f8c;--gap-tint: #efe6f3;--error: #a13f3f;--error-tint: #f5e6e6;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Source Serif 4", Georgia, serif;--shadow-raised: 0 1px 2px rgba(28, 30, 31, .06), 0 1px 1px rgba(28, 30, 31, .04);--shadow-floating: 0 8px 24px rgba(28, 30, 31, .1), 0 2px 6px rgba(28, 30, 31, .06);--motion-fast: .1s;--motion-normal: .18s}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);font-weight:600;color:var(--ink);margin:0 0 var(--space-3);letter-spacing:-.01em}h1{font-size:2.1rem;line-height:1.2}h2{font-size:1.5rem;line-height:1.28}h3{font-size:1.15rem;line-height:1.35}p{margin:0 0 var(--space-3);color:var(--ink-muted)}a{color:var(--accent)}button,input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:100%;max-width:720px;margin:0 auto;padding:0 var(--space-5)}.container-wide{width:100%;max-width:960px;margin:0 auto;padding:0 var(--space-5)}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px 22px;border-radius:var(--radius-md);border:1px solid transparent;font-weight:600;font-size:.95rem;cursor:pointer;transition:background var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-secondary{background:transparent;color:var(--accent);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--accent-tint)}.btn-ghost{background:transparent;color:var(--ink-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.field label{font-size:.85rem;font-weight:600;color:var(--ink-muted)}.field input,.field textarea{padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--ink);resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field-error{color:var(--error);font-size:.85rem}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tag-fact{background:var(--fact-tint);color:var(--fact)}.tag-assumption{background:var(--assumption-tint);color:var(--assumption)}.tag-gap{background:var(--gap-tint);color:var(--gap)}.tag-neutral{background:var(--surface-sunken);color:var(--ink-muted)}.banner{border-radius:var(--radius-md);padding:var(--space-4);font-size:.92rem;border:1px solid var(--border);background:var(--surface-sunken);color:var(--ink-muted)}.banner-error{background:var(--error-tint);color:var(--error);border-color:transparent}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border) 37%,var(--surface-sunken) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
