*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--accent:#1b4b8a;--accent-light:#2d6bb0;--gold:#c0662a;--ground:#f5f8fc;--surface:#eef3fa;--border:#c8d8ec;--text:#0e2040;--muted:#6b8099;--danger:#c0392b;--success:#2d7a3a;--f-body:"Plus Jakarta Sans", system-ui, sans-serif;--f-mono:"JetBrains Mono", monospace;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:#4a9fe8;--accent-light:#62b0f4;--gold:#d4924a;--ground:#0b1520;--surface:#122035;--border:#1e3354;--text:#d8e8f8;--muted:#7a99bb}}:root[data-theme=dark]{--accent:#4a9fe8;--accent-light:#62b0f4;--gold:#d4924a;--ground:#0b1520;--surface:#122035;--border:#1e3354;--text:#d8e8f8;--muted:#7a99bb}body{font-family:var(--f-body);background:var(--ground);color:var(--text);min-height:100%;font-size:16px;line-height:1.6}a{color:var(--accent)}button{cursor:pointer}.btn{border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:600;transition:opacity .15s;display:inline-flex}.btn:hover{opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--danger);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #1a4b8a0f}input,select,textarea{border:1.5px solid var(--border);background:var(--ground);width:100%;color:var(--text);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:15px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group{margin-bottom:20px}h1{font-size:clamp(24px,4vw,32px);font-weight:800;line-height:1.2}h2{font-size:22px;font-weight:700}h3{letter-spacing:-.01em;font-size:17px;font-weight:600}
