*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-primary:#1a1a2e;--brand-secondary:#16213e;--brand-text:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--accent:#3b82f6;--accent-hover:#2563eb;--danger:#ef4444;--danger-text:#b91c1c;--success:#22c55e;--radius:8px;--radius-lg:12px;--shadow:0 1px 2px #0000000a, 0 1px 3px #0000000f;--shadow-md:0 4px 12px #0000000f, 0 2px 6px #00000014;--shadow-lg:0 16px 40px #0000001f, 0 4px 16px #00000014;--shadow-rest:var(--shadow);--shadow-hover:var(--shadow-md);--shadow-modal:var(--shadow-lg);--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--dur-fast:.1s;--dur-base:.18s;--dur-slow:.28s;--ring-focus:0 0 0 3px color-mix(in oklab, var(--brand-primary) 35%, transparent);--surface:#fff;--holding-row:#fffbeb;--holding-row-hover:#fef3c7;--inactive-row:#f8f9fa;--inactive-row-hover:#f0f0f0;--text-brand:var(--brand-primary)}[data-theme=dark]{--gray-50:#141414;--gray-100:#1c1c1c;--gray-200:#383838;--gray-300:#707070;--gray-400:#8a8a8a;--gray-500:#a4a4a4;--gray-600:silver;--gray-700:#dadada;--gray-800:#ededed;--gray-900:#f5f5f5;--surface:#262626;--text-brand:#60a5fa;--danger-text:#fca5a5;--shadow:0 1px 2px #00000080, 0 1px 3px #0009;--shadow-md:0 4px 12px #00000080, 0 2px 6px #0000008c;--shadow-lg:0 16px 40px #0000008c, 0 4px 16px #00000073}[data-theme=dark] body{background:var(--gray-50);color:var(--gray-900)}[data-theme=dark] .form-input{background:var(--surface);color:var(--gray-900);border-color:var(--gray-200)}[data-theme=dark] .form-input::placeholder{color:var(--gray-400)}[data-theme=dark] .card{background:var(--surface)}[data-theme=dark] .btn-secondary{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-200)}[data-theme=dark] .btn-ghost{color:var(--gray-600)}[data-theme=dark] .btn-ghost:hover:not(:disabled){background:var(--gray-100)}[data-theme=dark]{--holding-row:#2d2008;--holding-row-hover:#3d2c0a;--inactive-row:var(--gray-100);--inactive-row-hover:var(--gray-200)}html,body{height:100%}html,[data-theme=dark] html{background:var(--gray-50)}body{background:var(--gray-50);color:var(--gray-900);-webkit-font-smoothing:antialiased;font-family:Montserrat,sans-serif;line-height:1.5;overflow-x:hidden}body[data-page=landing],body[data-page=landing]~*{background:#1a0000}html:has(body[data-page=landing]){background:#1a0000}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font-family:Montserrat,sans-serif}button{cursor:pointer;border:none;outline:none}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:var(--ring-focus);outline:none}.btn-primary{background:var(--brand-primary);color:var(--brand-text)}.btn-primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:var(--shadow-hover)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-hover)}@media (prefers-reduced-motion:no-preference){.btn:active:not(:disabled){transform:scale(.97)}.btn-primary:hover:not(:disabled),.btn-accent:hover:not(:disabled){transform:translateY(-1px)}}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1.5px solid var(--gray-200)}.btn-secondary:hover:not(:disabled){background:var(--gray-200)}.btn-ghost{color:var(--gray-600);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--gray-100)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.88}.btn-lg{padding:14px 28px;font-size:16px}.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{padding:4px 10px;font-size:11px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--gray-600);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.form-input{border:1.5px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-900);background:var(--surface);width:100%;padding:10px 14px;font-family:Montserrat,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus-visible{border-color:var(--brand-primary);box-shadow:var(--ring-focus);outline:none}.form-input:focus{outline:none}.form-input{transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.form-input::placeholder{color:var(--gray-400)}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-rest);transition:box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);padding:24px}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-hover)}.card-interactive:focus-visible{box-shadow:var(--ring-focus);outline:none}@media (prefers-reduced-motion:no-preference){.card-interactive:hover{transform:translateY(-1px)}.card-interactive:active{transform:translateY(0)}}.error-msg{color:var(--danger);font-size:13px;font-weight:500}.spinner{border:2px solid color-mix(in srgb, currentColor 35%, transparent);border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.65s linear infinite spin}.spinner-dark{border-color:#0000001f;border-top-color:var(--gray-600)}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:99px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-blue{color:#2563eb;background:#3b82f61f}.badge-green{color:#16a34a;background:#22c55e1f}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.badge-amber{color:#d97706;background:#f59e0b1f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalEnter{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes justChanged{0%{background-color:color-mix(in srgb, var(--brand-primary) 18%, transparent)}to{background-color:#0000}}@media (prefers-reduced-motion:no-preference){.anim-fade-in{animation:fadeIn var(--dur-base) var(--ease-out) both}.anim-modal-enter{animation:modalEnter var(--dur-base) var(--ease-out) both}.anim-card-enter{animation:cardEnter .7s var(--ease-out) both;animation-delay:var(--enter-delay,0s)}.anim-just-changed{animation:justChanged .7s var(--ease-out)}[role=dialog]{animation:modalEnter var(--dur-base) var(--ease-out) both}[role=dialog]+*,[data-modal-overlay]{animation:fadeIn var(--dur-base) var(--ease-out) both}}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible{box-shadow:var(--ring-focus);outline:none}
