@font-face{font-family:Sora;src:url(/fonts/sora-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/sora-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/sora-800.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-700.woff2)format("woff2");font-weight:700;font-display:swap}:root{--accent:#1a6cfb;--accent-deep:#0a4fd6;--accent-soft:#e8f0fe;--bg-deep:#0b1e3f;--ink:#0e1f3a;--ink-2:#213354;--mute:#6b7793;--bg:#fff;--bg-soft:#f4f6fa;--line:#e4e8ef;--radius:14px;--radius-lg:20px;--surface:var(--bg);--surface-2:var(--bg-soft);--surface-3:#eaeef5;--text:var(--ink);--text-2:var(--ink-2);--text-3:var(--mute);--border:var(--line);--primary:var(--accent);--primary-hover:var(--accent-deep);--primary-soft:var(--accent-soft);--on-primary:#fff;--focus:#1a6cfb;--ok:#0f7a4a;--ok-soft:#e3f5ec;--warn:#9a5b00;--warn-soft:#fff3dc;--danger:#c02a2a;--danger-soft:#fdeaea;--shadow:0 1px 2px #0e1f3a0f, 0 8px 24px #0e1f3a14;--shadow-lg:0 24px 64px #0b1e3f38;--font-title:"Sora", system-ui, sans-serif;--font-body:"Manrope", system-ui, sans-serif;--ease:cubic-bezier(.2, .7, .2, 1);--dur:.18s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--surface:#0d1830;--surface-2:#0a1428;--surface-3:#15233f;--text:#e6ebf5;--text-2:#c2cbe0;--text-3:#8b97b3;--border:#22314f;--primary:#4d8dff;--primary-hover:#6aa0ff;--primary-soft:#16294d;--on-primary:#06122a;--focus:#7aa7ff;--ok:#4fd39a;--ok-soft:#0f2e24;--warn:#ffc266;--warn-soft:#33270f;--danger:#ff7b7b;--danger-soft:#3a1717;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-body);color:var(--text);background:var(--surface-2);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-title);color:var(--text);margin:0;line-height:1.2}a{color:var(--primary)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--primary);color:var(--on-primary);border-radius:8px;padding:8px 14px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.btn{border:1px solid var(--border);background:var(--surface);height:40px;color:var(--text);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.btn-danger:hover{background:var(--danger-soft)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3)}.btn-sm{border-radius:8px;height:32px;padding:0 10px;font-size:13px}.icon-btn{border-radius:10px;width:36px;height:36px;padding:0}.field{gap:6px;display:grid}.field>span{color:var(--text-2);font-size:13px;font-weight:600}.input,.select,.textarea{border:1px solid var(--border);background:var(--surface);width:100%;height:42px;color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border-radius:10px;padding:0 12px}.textarea{resize:vertical;height:auto;min-height:120px;padding:10px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.hint{color:var(--text-3);font-size:12.5px}.error-text{color:var(--danger);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.badge{background:var(--surface-3);height:22px;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--primary-soft);color:var(--primary)}.alert{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:12px 14px;font-size:14px}.alert-danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger)}.alert-warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent);color:var(--warn)}.alert-ok{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 30%, transparent);color:var(--ok)}.demo-ribbon{z-index:90;color:#3a2500;letter-spacing:.3px;background:#ffb020;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:800;position:fixed;bottom:12px;right:12px}.brand{color:var(--text);justify-items:end;line-height:1;text-decoration:none;display:inline-grid}.brand-row{align-items:center;gap:2px;display:inline-flex}.id-mark{fill:var(--brand-id,#2b7fe0);width:auto;display:block}.brand-product{font-family:var(--font-title);letter-spacing:-1px;color:currentColor;font-size:30px;font-weight:800}.brand-by{font-family:var(--font-title);letter-spacing:.2px;color:var(--brand-id-soft,#8fb8f2);margin-top:1px;font-size:9.5px;font-weight:600}.brand-by b{color:var(--text);letter-spacing:.6px;font-weight:800}.brand-lg .brand-product{letter-spacing:-2px;font-size:54px}.brand-lg .brand-by{font-size:16px}:root[data-theme=light] .brand-by{color:var(--accent-deep)}.spinner{border:2.5px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .22s var(--ease) both}.toast-region{z-index:120;gap:8px;width:min(92vw,460px);display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-deep);color:#fff;box-shadow:var(--shadow-lg);animation:fadeIn .2s var(--ease) both;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.toast.error{background:#7c1d1d}.toast button{color:#9cc0ff;cursor:pointer;background:0 0;border:0;font-weight:700}.dialog-backdrop{z-index:110;animation:fadeIn .15s var(--ease) both;background:#060e1e73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius-lg);width:min(100%,480px);box-shadow:var(--shadow-lg);gap:14px;padding:22px;display:grid}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);border-bottom:1px solid var(--border);padding:10px 12px;font-size:12px;font-weight:700}table.data td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}table.data tr:last-child td{border-bottom:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
