:root{color-scheme:dark;--fc-surface:#20212c;--fc-text:#f6f4f1;--fc-muted:#b9b6c4;--fc-btn:#353747;--fc-btn-border:#79798c;--fc-accent:#ffd27e;--fc-on-accent:#241a05;--fc-stage-1:#52495a;--fc-stage-2:#222330;--fc-focus:#ffd27e;--fc-dialog:#242632;--page:#10151e;--card:#1b2230;--line:#35404a;--link:#e1c082}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--fc-surface:#f3efe6;--fc-text:#231e18;--fc-muted:#5b5346;--fc-btn:#fffdf8;--fc-btn-border:#a99d86;--fc-accent:#6d4400;--fc-on-accent:#ffffff;--fc-stage-1:#ebe2d0;--fc-stage-2:#cdc1a9;--fc-focus:#6d4400;--fc-dialog:#fbf8f1;--page:#f6f2e9;--card:#fffdf8;--line:#cfc5b0;--link:#6d4400}}
:root[data-theme=light]{color-scheme:light;--fc-surface:#f3efe6;--fc-text:#231e18;--fc-muted:#5b5346;--fc-btn:#fffdf8;--fc-btn-border:#a99d86;--fc-accent:#6d4400;--fc-on-accent:#ffffff;--fc-stage-1:#ebe2d0;--fc-stage-2:#cdc1a9;--fc-focus:#6d4400;--fc-dialog:#fbf8f1;--page:#f6f2e9;--card:#fffdf8;--line:#cfc5b0;--link:#6d4400}
body{margin:0;background:var(--page);color:var(--fc-text);font:16px/1.5 system-ui,sans-serif}a{color:var(--link)}
.btn,.demo-field input,.demo-field textarea,.demo-field select{box-sizing:border-box;font:inherit;min-height:48px;border-radius:.7rem;border:2px solid var(--fc-btn-border);background:var(--fc-btn);color:var(--fc-text);padding:.5rem .9rem}
.btn{cursor:pointer;font-weight:600}.btn:hover{border-color:var(--fc-accent)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--fc-accent);border-color:var(--fc-accent);color:var(--fc-on-accent)}
.demo-field{display:grid;gap:.35rem;font:700 .75rem system-ui;letter-spacing:.08em;text-transform:uppercase;color:var(--fc-muted)}.demo-field input,.demo-field textarea,.demo-field select{text-transform:none;letter-spacing:0;font-weight:500;font-size:1rem;width:100%;min-width:0}
.btn:focus-visible,.demo-field :focus-visible,a:focus-visible{outline:3px solid var(--fc-focus);outline-offset:3px}
.file-btn{position:relative;display:inline-flex;align-items:center}.file-btn input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.file-btn:focus-within{outline:3px solid var(--fc-focus);outline-offset:3px}
.choice{display:grid;gap:.4rem;min-width:0}.choice[hidden]{display:none}.choice-label{font:700 .75rem system-ui;letter-spacing:.08em;text-transform:uppercase;color:var(--fc-muted,#b9b6c4)}
.choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--choice-min,7.5rem),1fr));gap:.5rem}
.choice-list button{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.45rem .7rem;font:600 .9rem system-ui;line-height:1.15;text-align:center;color:var(--fc-text,#f6f4f1);background:var(--fc-btn,#353747);border:2px solid var(--fc-btn-border,#79798c);border-radius:.7rem;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}
.choice-list.tiles button{flex-direction:column;gap:.2rem;min-height:56px;font-size:.8rem}.choice-list button svg{width:34px;height:22px;flex:none;fill:currentColor;opacity:.9}
.choice-list button:hover{border-color:var(--fc-accent,#ffd27e)}.choice-list button[aria-checked=true]{background:var(--fc-accent,#ffd27e);border-color:var(--fc-accent,#ffd27e);color:var(--fc-on-accent,#241a05);box-shadow:0 0 0 2px var(--fc-surface,#20212c),0 0 0 4px var(--fc-accent,#ffd27e)}
.choice-list button:focus-visible{outline:3px solid var(--fc-focus,#ffd27e);outline-offset:3px}@media(prefers-reduced-motion:reduce){.choice-list button{transition:none}}
