*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--purple-deep:#2d1b69;--purple-mid:#4a2c9e;--purple:#6b3fc4;--purple-light:#8b5cf6;--purple-pale:#c4b5fd;--gold:#a16207;--gold-pale:#fef3c7;--red:#b91c1c;--red-pale:#fee2e2;--green:#15803d;--green-pale:#dcfce7;--bg:#fff;--bg-mid:#f8f7ff;--bg-soft:#f1eeff;--border:#e2d9f3;--border-strong:#c4b5fd;--text:#0f0a1e;--text-dim:#3d2f6b;--text-muted:#6d5fa0;--text-faint:#9d8ec4;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-6:1.5rem;--sp-8:2rem;--sp-12:3rem;--sp-16:4rem;--radius-sm:4px;--radius:8px;--radius-lg:16px;--transition:.18s ease;--shadow-sm:0 1px 3px #6b3fc414, 0 1px 2px #6b3fc40a;--shadow:0 4px 12px #6b3fc41a, 0 2px 4px #6b3fc40f}[data-theme=dark]{--bg:#0a0a0f;--bg-mid:#12121a;--bg-soft:#1c1c28;--border:#2a2a3a;--border-strong:#4a2c9e;--text:#f4f0ff;--text-dim:#c4b8e8;--text-muted:#8b7ab8;--text-faint:#5a4d7a;--purple-light:#9b6de4;--purple-pale:#d4b8f5;--gold:#c9a84c;--gold-pale:#e8d5a3;--red:#c44a4a;--red-pale:#c44a4a26;--green:#4ac49b;--green-pale:#4ac49b26;--shadow-sm:0 1px 3px #0006;--shadow:0 4px 12px #00000080}html{font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background var(--transition), color var(--transition);font-weight:400;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);font-weight:600;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:clamp(1.2rem,2vw,1.5rem)}h4{font-size:1.1rem}p{color:var(--text-dim);line-height:1.7}a{color:var(--purple);transition:color var(--transition);text-decoration:none}a:hover{color:var(--purple-mid)}.container{width:100%;max-width:960px;padding:0 var(--sp-6);margin:0 auto}.page{min-height:100vh;padding:var(--sp-8) var(--sp-4)}.card{background:var(--bg-mid);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-8);box-shadow:var(--shadow-sm)}.card-sm{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-6);box-shadow:var(--shadow-sm)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius);font-family:var(--font-body);letter-spacing:.02em;cursor:pointer;transition:all var(--transition);border:none;padding:.65rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-mid);color:#fff}.btn-secondary{color:var(--purple);border:1.5px solid var(--purple);background:0 0}.btn-secondary:hover{background:var(--bg-soft)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{border-color:var(--purple);color:var(--purple)}.btn-danger{background:var(--red);color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-full{width:100%}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-muted);width:36px;height:36px;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;font-size:1rem;display:flex}.theme-toggle:hover{border-color:var(--purple);color:var(--purple)}.form-group{gap:var(--sp-2);margin-bottom:var(--sp-6);flex-direction:column;display:flex}label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600}input,textarea,select{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);width:100%;transition:border-color var(--transition), box-shadow var(--transition);-webkit-appearance:none;outline:none;padding:.65rem .875rem;font-size:.95rem}input:focus,textarea:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6b3fc41f}textarea{resize:vertical;min-height:120px;line-height:1.6}select option{background:var(--bg);color:var(--text)}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.divider{background:var(--border);height:1px;margin:var(--sp-8) 0}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:99px;align-items:center;padding:.2rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-purple{background:var(--bg-soft);color:var(--purple);border:1px solid var(--border-strong)}.badge-gold{background:var(--gold-pale);color:var(--gold)}.badge-green{background:var(--green-pale);color:var(--green)}.badge-red{background:var(--red-pale);color:var(--red)}.badge-muted{background:var(--bg-soft);color:var(--text-muted);border:1px solid var(--border)}.alert{padding:var(--sp-4);border-radius:var(--radius);margin-bottom:var(--sp-4);font-size:.9rem;line-height:1.5}.alert-error{background:var(--red-pale);border:1px solid var(--red);color:var(--red)}.alert-success{background:var(--green-pale);border:1px solid var(--green);color:var(--green)}.alert-info{background:var(--bg-soft);border:1px solid var(--border-strong);color:var(--text-dim)}.spinner{border:2px solid var(--border);border-top-color:var(--purple);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.accent-bar{background:var(--purple);width:40px;height:3px;margin-bottom:var(--sp-4);border-radius:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--purple-light)}.text-gold{color:var(--gold)}.text-purple{color:var(--purple)}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.display{font-family:var(--font-display)}.mt-2{margin-top:var(--sp-2)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.gap-2{gap:var(--sp-2)}.gap-4{gap:var(--sp-4)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.w-full{width:100%}@media (width<=640px){.card{padding:var(--sp-6)}.hide-mobile{display:none}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0a0f;--bg-mid:#12121a;--bg-soft:#1c1c28;--border:#2a2a3a;--border-strong:#4a2c9e;--text:#f4f0ff;--text-dim:#c4b8e8;--text-muted:#8b7ab8;--text-faint:#5a4d7a;--purple-light:#9b6de4;--purple-pale:#d4b8f5;--gold:#c9a84c;--red:#c44a4a;--red-pale:#c44a4a26;--green:#4ac49b;--green-pale:#4ac49b26;--shadow-sm:0 1px 3px #0006;--shadow:0 4px 12px #00000080}}body,p,li,textarea,input{line-height:var(--line-spacing,1.6)}[data-theme=high-contrast]{--bg:#000;--bg-mid:#000;--bg-soft:#0a0a0a;--border:#fff;--border-strong:#fff;--text:#fff;--text-dim:#fff;--text-muted:#ddd;--text-faint:#bbb;--purple:#bf80ff;--purple-light:#bf80ff;--purple-pale:#fff;--purple-mid:#93f;--purple-deep:#60c;--gold:#fd0;--gold-pale:#332b00;--red:#f44;--red-pale:#300;--green:#0f8;--green-pale:#032;--shadow-sm:none;--shadow:none}[data-theme=high-contrast] input,[data-theme=high-contrast] textarea,[data-theme=high-contrast] select,[data-theme=high-contrast] .card,[data-theme=high-contrast] .card-sm{border-width:2px}[data-theme=high-contrast] .btn{border-width:2px;font-weight:700}[data-reduced-motion=true] *,[data-reduced-motion=true] :before,[data-reduced-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button,a,input[type=checkbox],input[type=radio],select{min-height:44px}input[type=checkbox],input[type=radio]{cursor:pointer;min-width:24px;min-height:24px}:focus-visible{outline:3px solid var(--purple);outline-offset:3px;border-radius:var(--radius-sm)}[data-theme=high-contrast] :focus-visible{outline-offset:4px;outline:4px solid #fff}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}input[type=checkbox]{accent-color:var(--purple);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){input[type=checkbox]{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=dark] input[type=checkbox]{background-color:#fff}
