:root{--font-family:ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:.95rem;--font-size-lg:1.1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2.5rem;--font-size-4xl:4rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-md:6px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 25px 50px -12px #00000040;--transition-fast:.15s ease;--transition-base:.2s ease;--z-dropdown:100;--z-dialog:200;--color-primary:#888;--color-primary-hover:#aaa;--color-text:#f0f0f0;--color-text-secondary:silver;--color-text-tertiary:#888;--color-text-muted:#666;--color-text-placeholder:#555;--color-bg:oklch(17.1% 0 0);--color-bg-elevated:oklch(20% 0 0);--color-bg-hover:#2a2a2a;--color-border:#2a2a2a;--color-border-input:#444;--color-backdrop:oklch(24% 0 0/.75);--color-focus-ring:#8888884d;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);font-size:var(--font-size-sm);color:var(--color-text-secondary);background-color:var(--color-bg)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}body{background-color:var(--color-bg);min-width:320px;min-height:100vh;margin:0;display:grid}.link{align-items:center;gap:var(--space-1);color:inherit;text-underline-offset:4px;transition:color var(--transition-fast);background:0 0;border:0;padding:0;text-decoration:underline;display:inline-flex}.link:hover{color:var(--color-text)}.icon-button{color:var(--color-text-secondary);transition:all .2s;transition:background-color var(--transition-fast);background-color:#0000;border:0;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex}.icon-button:hover{background:var(--color-bg-hover)}.button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);border:1px solid var(--color-border);color:var(--color-text-secondary);transition:background-color var(--transition-base);background:0 0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-bg-hover)}.button-primary{color:#000;transition:background var(--transition-fast);background:#ddd;border:none}.button-primary:hover{background:#fff}.separator{border:1px solid var(--color-border);width:100%;margin:0}.heading-1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.heading-2{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);color:var(--color-text);margin:0}.heading-3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.subtle{color:var(--color-text-tertiary)}.quote{padding:var(--space-4) var(--space-6);border-left:4px solid var(--color-primary);color:var(--color-text);white-space:pre-wrap;font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.quote p{margin:0}.menu{padding:var(--space-2) 0;background:var(--color-bg-elevated);border:1px solid var(--color-border-input);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.menuitem{padding:var(--space-2) var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-base);transition:background-color var(--transition-fast);text-align:left;background:0 0;border:none;width:-webkit-fill-available;width:-moz-available;width:stretch;text-decoration:none;display:block}.menuitem:hover,.menuitem:focus-visible,.menuitem[aria-selected=true]{background-color:var(--color-bg-hover);color:var(--color-text);outline:none}#app{max-width:1280px;padding:var(--space-4);text-align:center;margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:900px;padding:0 var(--space-4) var(--space-12);margin:0 auto}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;display:block}.form-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg-elevated);color:var(--color-text);transition:border-color var(--transition-base);font-family:inherit}.form-input::placeholder{color:var(--color-text-placeholder)}.form-input:focus{border-color:var(--color-primary);outline:none}.form-input:where(textarea){resize:vertical;min-height:calc(3lh + var(--space-2) * 2 + 2px)}@supports (field-sizing:content){.form-input:where(textarea){field-sizing:content;resize:none}}.form-group{gap:var(--space-1);display:grid}.form-stack{gap:var(--space-2);display:grid}.form-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.centered-container{min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;margin:auto;display:flex}.actions{gap:var(--space-2);justify-content:end;align-items:center;display:flex}.alert{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-elevated);border:1px solid}.alert-success{color:#166534;border-color:#86efac}.alert-error{color:#e05252;border-color:#991b1b}.alert-info{color:#1e40af;border-color:#93c5fd}.dialog{border-radius:var(--radius-md);box-shadow:var(--shadow-xl);background:var(--color-bg);width:90vw;max-width:480px;max-height:80vh;color:var(--color-text-secondary);border:none;padding:0}.dialog::backdrop{background:var(--color-backdrop)}.dialog-header{padding:var(--space-6);justify-content:space-between;align-items:center;display:flex}.dialog-content{padding:0 var(--space-6) var(--space-6);gap:var(--space-4);display:grid}.dialog-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.dialog-description{color:var(--color-text-secondary);margin:0}@media (width<=640px){.dialog-content{padding:var(--space-5)}}
