:root{--page: #ffffff;--page-warm: #fafaf8;--surface: #ffffff;--surface-hover: #f5f5f3;--ink: #1c1917;--ink-soft: #44403c;--muted: #78716c;--muted-light: #a8a29e;--accent: #b91c1c;--accent-hover: #991b1b;--accent-soft: #fef2f2;--success: #15803d;--success-soft: #f0fdf4;--warning: #b45309;--warning-soft: #fffbeb;--info: #1d4ed8;--info-soft: #eff6ff;--gilt: #a16207;--rule: #e7e5e4;--rule-strong: #d6d3d1;--font-greek: "Gentium Plus", "Cardo", "GFS Didot", serif;--font-display: "Fraunces", Georgia, serif;--font-ui: "Commissioner", system-ui, -apple-system, sans-serif;--radius-btn: 6px;--radius-card: 8px;--gutter: 24px;--column-width: 62ch}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--page);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.5;font-variant-ligatures:common-ligatures;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.greek{font-family:var(--font-greek);font-feature-settings:"kern" 1,"liga" 1}.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}.label{font-family:var(--font-ui);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.form-row{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.form-row label{font-size:.875rem;color:var(--ink-soft)}.form-row input{font-family:inherit;font-size:1rem;padding:.5rem .75rem;border:1px solid var(--rule-strong);border-radius:var(--radius-btn);background:var(--surface);color:var(--ink)}.form-row input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.btn-primary{font-family:inherit;font-size:1rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius-btn);background:var(--accent);color:#fff;cursor:pointer;font-weight:500}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{font-family:inherit;font-size:1rem;padding:.625rem 1.25rem;border:1px solid var(--rule-strong);border-radius:var(--radius-btn);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}.btn-secondary:hover{background:var(--surface-hover);text-decoration:none}.error-banner{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-hover);padding:.625rem .875rem;border-radius:var(--radius-btn);margin-bottom:1rem;font-size:.875rem}
