: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-accent:oklch(69% .26 26.96);--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:oklch(25% 0 0);--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-relaxed);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);margin:0}.link{align-items:center;gap:var(--space-1);color:inherit;text-underline-offset:4px;transition:all var(--transition-fast);background:0 0;border:0;padding:0;text-decoration-line:underline;display:inline-flex}.link:hover{color:var(--color-text);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:6px}.icon-button{color:var(--color-text-secondary);transition:all var(--transition-fast);background-color:#0000;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex}.icon-button:hover{background:var(--color-bg-hover)}@keyframes --button-loading-clip{0%,to{clip-path:inset(0 0 calc(100% - 2px))}25%{clip-path:inset(0 calc(100% - 2px) 0 0)}50%{clip-path:inset(calc(100% - 2px) 0 0)}75%{clip-path:inset(0 0 0 calc(100% - 2px))}}.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;position:relative}.button:hover{background:var(--color-bg-hover)}.button[data-state=loading]:before,.button[data-state=loading]:after{content:"";border:1px solid var(--color-accent);border-radius:var(--radius-md);animation:8s linear infinite --button-loading-clip;position:absolute;inset:-1px}.button[data-state=loading]:before{animation-delay:-4s}.button-primary{color:#000;transition:background var(--transition-fast);background:#ddd;border:none}.button-primary:hover{background:#fff}.button-lg{padding:var(--space-3) var(--space-4);font-size:var(--font-size-lg)}.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:1px solid var(--color-primary);color:var(--color-text);white-space:pre-line;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);cursor:default;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}.row{column-gap:var(--space-8);row-gap:var(--space-4);grid-template-columns:160px 1fr;display:grid}.row>:first-child{text-align:right}@media (width<=640px){.row{grid-template-columns:1fr}.row>:first-child{text-align:left}}.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:hover{border-color:var(--color-primary)}.form-input:focus{border-color:var(--color-text);outline:none}.form-input-lg{padding:var(--space-3) var(--space-4);font-size:var(--font-size-lg)}.form-input::placeholder{color:var(--color-text-placeholder)}.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-2);display:grid}.form-stack{gap:var(--space-3);display:grid}.form-grid{gap:var(--space-3);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)}}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-container{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;min-height:200px;display:flex}.margin-trim-block>:first-child{margin-top:0}.margin-trim-block>:last-child{margin-bottom:0}.link-area{padding:var(--space-6) var(--space-4);transition:background-color var(--transition-fast);position:relative}.link-area:where(a){color:inherit;text-decoration:none}.link-area:where(a):hover{background-color:var(--color-bg-hover)}.link-area:has(a:hover){background-color:var(--color-bg-hover)}.link-area a:not(.link-target){z-index:1;position:relative}.link-target{position:absolute;inset:0}.white-space-preserve-line{white-space:pre-line}.space-between{justify-content:space-between;align-items:center;display:flex}
