:root{--bg:#f5f3ed;--surface:#ffffffb8;--surface-solid:#fff;--surface-sunk:#eeece4;--text:#20231f;--text-muted:#5e635c;--text-faint:#8a8f86;--accent:#31533d;--accent-strong:#203d2b;--accent-tint:#dce8d8;--accent-ink:#203d2b;--accent-quiet:#4d725a;--on-accent:#fff;--src-library:#3f6285;--src-web:#4d725a;--src-browser:#6a5688;--good:#2f5c42;--good-tint:#e7f0e4;--warn:#5d4e12;--warn-tint:#fff8dc;--warn-border:#ddc76a;--bad:#7a3028;--bad-tint:#fff0ed;--bad-border:#e0b5ad;--border:#e2e3dc;--border-strong:#d8d8ce;--border-input:#bfc7bd;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--radius:.65rem;--radius-btn:.75rem;--radius-lg:1.25rem;--shadow:0 1.5rem 4rem #28302712;--shadow-sm:0 .4rem 1.2rem #2830270f;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", "SFMono-Regular", Menlo, monospace;--dur:.15s;--ease:cubic-bezier(.2, 0, .2, 1);font-synthesis:none}@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{min-width:20rem;min-height:100vh;font-family:var(--font);color:var(--text);background:radial-gradient(circle at top left, #dae5d085, transparent 34rem), var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}.display{font-family:var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,9vw,3.75rem);font-weight:500;line-height:.98}.lede,.hint{color:var(--text-muted);line-height:1.6}.hint{font-size:.9rem}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:44px;font:inherit;border-radius:var(--radius-btn);background:var(--accent-tint);color:var(--accent-ink);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);border:0;padding:.85rem 1.1rem;font-size:.95rem;font-weight:700;line-height:1;display:inline-flex}.btn:hover:not(:disabled){background:#cfe0c9}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-quiet{min-height:36px;color:var(--text-muted);background:0 0;padding:.45rem .7rem;font-size:.9rem;font-weight:400}.btn-quiet:hover:not(:disabled){background:var(--surface);color:var(--text)}.btn-danger{color:var(--bad);background:0 0;font-weight:400;text-decoration:underline}.btn-danger:hover:not(:disabled){background:var(--bad-tint)}.btn-sm{min-height:36px;padding:.4rem .75rem;font-size:.85rem}.button-row{gap:var(--s3);flex-wrap:wrap;align-items:center;display:flex}.field{gap:.4rem;font-weight:700;display:grid}.field>.label{color:var(--text);font-size:.95rem;font-weight:700}.field>.label-hint,.field>.label>span,.field>label>span{color:var(--text-muted);margin-top:.15rem;font-size:.8rem;font-weight:400;display:block}.input,.textarea,select.input{font:inherit;width:100%;color:var(--text);background:var(--surface-solid);border:1px solid var(--border-input);border-radius:var(--radius);transition:border-color var(--dur) var(--ease);padding:.75rem;font-size:.95rem;font-weight:400}.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)}.upload-surface{text-align:center;padding:var(--s8) var(--s4);background:var(--surface-solid);border:2px dashed var(--border-input);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);justify-items:center;gap:.25rem;display:grid}.upload-surface:hover{border-color:var(--accent);background:var(--accent-tint)}.upload-surface strong{font-size:1rem}.upload-surface span{color:var(--text-muted);font-size:.85rem}.panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.panel-pad{padding:1.25rem}.hr{background:var(--border);border:0;height:1px;margin:0}.eyebrow{color:var(--accent-quiet);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:800}.mono{font-family:var(--font-mono);color:var(--text-faint);font-size:.85em}.note{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);padding:.75rem;font-size:.9rem}.note-error{color:var(--bad);background:var(--bad-tint);border-color:var(--bad-border)}.note-ok{color:var(--good);background:var(--good-tint);border-color:#cfe0d5}.note-warn{color:var(--warn);background:var(--warn-tint);border-color:var(--warn-border)}.src{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:.72rem;font-weight:700;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)}
