:root{--ink: #14213d;--ink-soft: #2a3a5c;--royal-blue: #2a3492;--parchment: #f6f1e7;--parchment-raised: #ffffff;--brass: #b98b2e;--brass-dark: #8f6a1f;--slate: #5b6472;--slate-light: #9aa1ab;--border: #ddd5c4;--error: #a13f3f;--success-bg: #eef3ea;--success-text: #3d6a3d;--font-display: "Fraunces", Georgia, serif;--font-body: "IBM Plex Sans", -apple-system, sans-serif;--radius: 6px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(20,33,61,.04), 0 1px 3px rgba(20,33,61,.04);--hairline: rgba(20,33,61,.12);--highlight: rgba(185,139,46,.08);--max-width: 720px;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 40px;--space-6: 64px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--parchment);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500;color:var(--ink);margin:0}h1{font-size:38px;letter-spacing:-.01em}h2{font-size:25px}h3{font-size:19px}p{margin:0;color:var(--slate)}a{color:var(--ink)}button{font-family:var(--font-body);font-size:15px;font-weight:500;cursor:pointer;border-radius:var(--radius);border:1px solid var(--ink);background:var(--ink);color:var(--parchment);padding:10px 18px;transition:opacity .15s ease}button:hover{opacity:.85}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--border)}button.secondary:hover{border-color:var(--ink)}input,textarea,select{font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--parchment-raised);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass)}label{display:block;font-size:14px;font-weight:500;color:var(--ink-soft);margin-bottom:6px}.field{margin-bottom:var(--space-3)}.hint{font-size:13px;color:var(--slate-light);margin-top:4px}.card{background:var(--parchment-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.container{max-width:var(--max-width);margin:0 auto;padding:var(--space-5) var(--space-3)}.error-text{color:var(--error);font-size:13px;margin-top:var(--space-2)}.chip{display:inline-block;font-size:12px;font-weight:500;color:var(--brass-dark);background:#b98b2e1a;border-radius:3px;padding:3px 8px}::selection{background:var(--brass);color:var(--parchment)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.icon-link{transition:background-color .15s ease,transform .15s ease,border-color .15s ease}.icon-link:hover{background-color:var(--highlight);border-color:var(--royal-blue);transform:scale(1.08)}[data-color=editorial]{--parchment: #f6f1e7;--parchment-raised: #ffffff;--ink: #14213d;--royal-blue: #2a3492;--brass: #b98b2e;--border: #ddd5c4}[data-color=glass]{--parchment: #dbe4f5;--parchment-raised: #f3f6fc;--ink: #1b2a52;--royal-blue: #3b5bdb;--brass: #b98b2e;--border: #c3d0ec;--shadow-sm: 0 8px 24px rgba(42,52,146,.1)}[data-color=sage]{--parchment: #b9c9a8;--parchment-raised: #f3f6ee;--ink: #1e2a17;--royal-blue: #3f5c34;--brass: #c99a3b;--border: #9cae87}[data-color=terracotta]{--parchment: #d9a877;--parchment-raised: #fbeee0;--ink: #2e1b10;--royal-blue: #a23e1f;--brass: #5c6b3f;--border: #c68f5c}[data-color=midnight]{--parchment: #0d1117;--parchment-raised: #161d2b;--ink: #eef1f6;--royal-blue: #6ea8fe;--brass: #e3b341;--border: #232c3d}[data-color=claret]{--parchment: #3d0f1c;--parchment-raised: #4c1522;--ink: #f4e6e2;--royal-blue: #e0a94a;--brass: #c97b8c;--border: #6e2436}[data-font=editorial]{--font-display: "Fraunces", Georgia, serif;--font-body: "IBM Plex Sans", sans-serif}[data-font=playfair]{--font-display: "Playfair Display", serif;--font-body: "Source Sans 3", sans-serif}[data-font=caslon]{--font-display: "Libre Caslon Display", serif;--font-body: "Karla", sans-serif}[data-font=bricolage]{--font-display: "Bricolage Grotesque", sans-serif;--font-body: "Archivo", sans-serif}[data-font=dm-serif]{--font-display: "DM Serif Display", serif;--font-body: "DM Sans", sans-serif}[data-font=unbounded]{--font-display: "Unbounded", sans-serif;--font-body: "Manrope", sans-serif}
