:root{--bg:#f4f7fb;--surface:#fff;--text:#10233f;--muted:#5b6b82;--border:#d7e2ef;--primary:#1a5fad;--primary-hover:#154e8f;--primary-soft:#e8f1fb;--accent:#0d8a6a;--danger:#b42318;--shadow:0 10px 30px #10233f14;--radius:14px;--font:"Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font);color:var(--text);background:radial-gradient(circle at top right, #dcecff 0%, transparent 40%), linear-gradient(180deg, #f8fbff 0%, var(--bg) 100%);margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}main{width:min(960px,100% - 2rem);margin:0 auto;padding:2.5rem 0 4rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.stack{gap:1rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}h1,h2{letter-spacing:-.02em;margin:0 0 .5rem}.lead{color:var(--muted);margin:0;line-height:1.55}.muted{color:var(--muted);font-size:.95rem}.btn{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1.1rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--primary-hover);text-decoration:none}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-secondary{background:var(--primary-soft);color:var(--primary)}.field{gap:.35rem;display:grid}.field label{font-size:.9rem;font-weight:600}.field input,.field select{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:.7rem .85rem}.field input:focus,.field select:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.error{color:var(--danger);margin:0;font-size:.95rem}.success{color:var(--accent);margin:0;font-size:.95rem}.banner{color:#0f5132;background:linear-gradient(135deg,#dff7ef,#e8f1fb);border:1px solid #b7e4d4;border-radius:12px;padding:.9rem 1rem;font-weight:600}.nav{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.brand:hover{color:var(--primary);text-decoration:none}.key-box{color:#d7e8ff;word-break:break-all;background:#0f1c2e;border-radius:10px;padding:.9rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .4rem;font-size:.95rem}.footer-note{color:var(--muted);margin-top:2rem;font-size:.85rem}
