:root{--bg:#f3f1ea;--surface:#fdfcf9;--surface-sunk:#efece4;--text:#24221d;--text-muted:#706c63;--text-faint:#a29d92;--accent:#9a5a34;--accent-strong:#834a29;--accent-tint:#f2eae3;--on-accent:#fbf7f2;--src-library:#4a6785;--src-library-tint:#ecf0f5;--src-web:#4e7a63;--src-web-tint:#eaf1ec;--src-browser:#6d5788;--src-browser-tint:#f0ecf4;--good:#3f6152;--warn:#8a6410;--bad:#9a3f32;--bad-tint:#f6ece8;--good-tint:#eaf1ec;--border:#e5e1d8;--border-strong:#d7d2c6;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--radius:6px;--radius-lg:8px;--shadow:0 1px 2px #24221d0d;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "SFMono-Regular", Menlo, monospace;--dur:.15s;--ease:cubic-bezier(.2, 0, .2, 1)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:36px;padding:0 var(--s4);font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);font-size:.9rem;font-weight:500;line-height:1;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--text-muted)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-quiet{min-height:32px;padding:0 var(--s3);color:var(--text-muted);background:0 0;border-color:#0000;font-size:.85rem}.btn-quiet:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--border);color:var(--text)}.btn-danger:hover:not(:disabled){border-color:var(--bad);color:var(--bad);background:var(--bad-tint)}.btn-sm{min-height:30px;padding:0 var(--s3);font-size:.82rem}.field{gap:var(--s2);flex-direction:column;display:flex}.field>.label{color:var(--text-muted);font-size:.78rem;font-weight:600}.input,.textarea,select.input{font:inherit;width:100%;padding:var(--s2) var(--s3);min-height:40px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);transition:border-color var(--dur) var(--ease);font-size:.95rem}.textarea{resize:vertical;min-height:88px;line-height:1.5}.input:focus,.textarea:focus,select.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-pad{padding:var(--s6)}.hr{background:var(--border);border:0;height:1px;margin:0}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.mono{font-family:var(--font-mono);color:var(--text-faint);font-size:.85em}.note{padding:var(--s3) var(--s4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.9rem}.note-error{color:var(--bad);background:var(--bad-tint);border-color:#e7ccc4}.note-ok{color:var(--good);background:var(--good-tint);border-color:#cfe0d5}.src{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:.72rem;font-weight:600;display:inline-flex}.src:before{content:"";background:var(--text-faint);border-radius:2px;width:7px;height:7px}.src-library{color:var(--src-library)}.src-library:before{background:var(--src-library)}.src-web{color:var(--src-web)}.src-web:before{background:var(--src-web)}.src-browser{color:var(--src-browser)}.src-browser:before{background:var(--src-browser)}
