:root{--bg: #edeae6;--surface: #ffffff;--surface-2: #f7f4f1;--border: #ddd6d1;--border-strong: #c9bfba;--text: #241f22;--text-muted: #786e71;--accent: #7c2d3f;--accent-strong: #5c1f2d;--accent-soft: #f1dde1;--focus: #7c2d3f;--on-accent: #ffffff;--danger: #9b2c2c;--danger-soft: #f6dede;--success: #2f6b4f;--success-soft: #dcefe4;--overlay: rgba(36, 31, 34, .55);color-scheme:light;--font-display: "Fraunces", "Iowan Old Style", ui-serif, Georgia, serif;--font-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--text-title: clamp(26px, 5vw, 40px);--text-h2: 21px;--text-rating-name: 15px;--text-body: 16px;--text-input: 14.5px;--text-hint: 13.5px;--text-label: 11px;--text-eyebrow: 11px;--text-meter-label: 9.5px;--text-meter-word: 11px;--text-lean-value: 14.5px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 999px;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .26s;--motion-ease: cubic-bezier(.4, 0, .2, 1);--motion-ease-out: cubic-bezier(0, 0, .2, 1);--touch-target-min: 44px;--content-max: 800px;--gutter: 20px;--nav-height: 52px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #171214;--surface: #1f1719;--surface-2: #271e21;--border: #3c2f33;--border-strong: #4c3c41;--text: #ede6e6;--text-muted: #ab9ca0;--accent: #e08ea1;--accent-strong: #eeaebc;--accent-soft: #3a2027;--focus: #e08ea1;--on-accent: #241f22;--danger: #f28b8b;--danger-soft: #3a2222;--success: #8fd3b0;--success-soft: #1f3329;--overlay: rgba(0, 0, 0, .65);color-scheme:dark}}:root[data-theme=dark]{--bg: #171214;--surface: #1f1719;--surface-2: #271e21;--border: #3c2f33;--border-strong: #4c3c41;--text: #ede6e6;--text-muted: #ab9ca0;--accent: #e08ea1;--accent-strong: #eeaebc;--accent-soft: #3a2027;--focus: #e08ea1;--on-accent: #241f22;--danger: #f28b8b;--danger-soft: #3a2222;--success: #8fd3b0;--success-soft: #1f3329;--overlay: rgba(0, 0, 0, .65);color-scheme:dark}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.wrap{max-width:var(--content-max);margin:0 auto;padding:0 max(16px,var(--gutter)) 80px;overflow-wrap:anywhere}.wrap *{min-width:0}button{font-family:var(--font-body);font-weight:600;font-size:13px;border-radius:7px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);padding:8px 13px;min-height:var(--touch-target-min);cursor:pointer;transition:border-color var(--motion-fast),color var(--motion-fast),background var(--motion-fast)}button:hover{border-color:var(--accent);color:var(--accent)}button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}button.ghost{background:transparent}button.danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}button.danger:hover{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px 24px 26px;margin:20px 0;scroll-margin-top:calc(var(--nav-height) + 12px)}.card h2{font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;text-wrap:balance;margin:0 0 8px}.card .hint{color:var(--text-muted);font-size:var(--text-hint);max-width:65ch}.field{display:flex;flex-direction:column;gap:3px}.field.wide{grid-column:1/-1}.field label{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.field input,.field textarea{font-family:var(--font-body);font-size:var(--text-input);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:9px 11px;color:var(--text);transition:border-color var(--motion-fast)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
