:root{--bg:#fafafa;--fg:#111;--muted:#666;--border:#e5e5e5;--surface:#fff;--accent:#2563eb;--accent-hover:#1e40af;--accent-fg:#fff;--error:#dc2626;--error-bg:#fef2f2;--radius:0.5rem;--space:0.75rem}@media (prefers-color-scheme:dark){:root{--bg:#0a0a0a;--fg:#e5e5e5;--muted:#888;--border:#262626;--surface:#141414;--error:#f87171;--error-bg:#2a0a0a}}*,:after,:before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,html,p{margin:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:16px;line-height:1.5}body{background:var(--bg);color:var(--fg);min-height:100dvh}main{max-width:36rem;margin:0 auto}h1{font-size:1.875rem;font-weight:700;line-height:1.15;letter-spacing:-.01em;margin-bottom:.75rem}h2{font-size:1.375rem;font-weight:600;line-height:1.2;margin-bottom:.5rem}p{margin-bottom:1rem;color:var(--muted)}p:last-child{margin-bottom:0}a{color:var(--accent);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}header{background:var(--surface);border-bottom:1px solid var(--border)!important}header strong{font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}form{gap:1rem;margin-top:1.25rem}form,label{display:flex;flex-direction:column}label{gap:.375rem;font-size:.875rem;font-weight:500}input,label{color:var(--fg)}input{font:inherit;width:100%;padding:.55rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--muted)}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}input:disabled{opacity:.6;cursor:not-allowed}button{font:inherit;font-weight:600;padding:.6rem 1.1rem;background:var(--accent);color:var(--accent-fg);border:0;border-radius:var(--radius);cursor:pointer;align-self:flex-start;transition:background .15s,transform .05s}button:hover{background:var(--accent-hover)}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}p[style*="color: red"],p[style*="color:red"]{color:var(--error)!important;background:var(--error-bg);border:1px solid color-mix(in srgb,var(--error) 30%,transparent);padding:.6rem .75rem;border-radius:var(--radius);font-size:.875rem;font-weight:500}