:root{--bg: #f6f7f9;--bg-translucent: rgba(246, 247, 249, .88);--surface: #ffffff;--surface-2: #eceef2;--border: #d9dce3;--text: #1c1f24;--muted: #555c68;--accent: #2557d6;--accent-hover: #1c46b3;--on-accent: #ffffff;--focus: #2557d6;--danger: #b42318;--error-bg: #fdecea;--error-border: #f3b6b0;--error-text: #8a1c12;--info-bg: #e8f4ec;--info-border: #a9d7b8;--info-text: #1b5e34;--radius: 8px;--radius-lg: 12px;--touch: 44px;--gutter: 16px;--gap: 1rem;--page-width: 1200px;--header-height: 56px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #14161a;--bg-translucent: rgba(20, 22, 26, .88);--surface: #1d2025;--surface-2: #2a2e35;--border: #353a43;--text: #e8eaee;--muted: #a3aab5;--accent: #7aa2ff;--accent-hover: #9bb9ff;--on-accent: #0b1530;--focus: #9bb9ff;--danger: #ff8a7f;--error-bg: #3a1d1b;--error-border: #6e2c27;--error-text: #ffc9c3;--info-bg: #17301f;--info-border: #2f5c3d;--info-text: #bfe8cb}}@media(min-width:860px){:root{--gutter: 24px;--gap: 1.25rem}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + var(--sticky-top, 0px) + 8px);scroll-padding-bottom:calc(var(--sticky-bottom, 0px) + 8px)}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}h1{font-size:1.75rem;line-height:1.2}a{color:var(--accent)}img{max-width:100%}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}main:focus{outline:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.card{padding:1.25rem var(--gutter);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}input,select,button,.button{font:inherit;font-size:max(16px,1rem);color:inherit}input[type=text],input[type=email],input[type=password],select{width:100%;min-height:var(--touch);padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}select{padding-right:2rem}input[type=range]{width:100%;min-height:var(--touch);margin:0;accent-color:var(--accent)}.field{display:grid;gap:.25rem;margin-bottom:1rem}.field label{font-weight:600}.hint,.field-error{margin:0;font-size:.875rem;color:var(--muted)}.field-error{color:var(--error-text)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--touch);padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-weight:600;text-decoration:none;cursor:pointer;touch-action:manipulation}button:hover:not(:disabled),.button:hover{border-color:var(--muted)}button:disabled{cursor:not-allowed;opacity:.45}button[aria-disabled=true]{cursor:progress}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled),.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--danger);border-color:var(--danger);color:var(--bg)}button.wide{width:100%;min-height:52px;font-size:1.0625rem}.icon-button{flex:none;width:var(--touch);padding:0;font-size:1.25rem;line-height:1}.spinner{width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}[hidden]{display:none!important}
