.pub{--pub-navy:#071b33;--pub-navy-deep:#041225;--pub-teal:#008f87;--pub-teal-bright:#12b8a6;--pub-bg:#f5f8fa;--pub-border:#d8e2ec;--pub-muted:#61728a;background:var(--pub-bg);color:#10233f;min-height:100vh;font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif}.pub-top{background:var(--pub-navy);color:#fff;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:0 clamp(16px,3vw,32px);display:flex;box-shadow:0 4px 24px #071b3326}.pub-brand{flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.pub-brand-logo{filter:brightness(1.05);width:auto;max-height:52px}.pub-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:none}.pub-nav a{color:#ffffffeb;white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none}.pub-nav a:hover{color:#fff;background:#ffffff1a}.pub-nav a.pub-nav-accent{background:var(--pub-teal);color:#fff}.pub-nav a.pub-nav-accent:hover{background:var(--pub-teal-bright)}.pub-login{color:#fff;white-space:nowrap;background:#ffffff1f;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none}.pub-login:hover{background:#fff3}.pub-wrap{max-width:1140px;margin:0 auto;padding:clamp(20px,4vw,36px) clamp(16px,3vw,32px) 56px}.pub-head{margin-bottom:22px}.pub-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--pub-teal);margin:0 0 6px;font-size:11px;font-weight:700}.pub-head h1{color:var(--pub-navy);letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:800}.pub-head p{color:var(--pub-muted);max-width:640px;margin:8px 0 0;line-height:1.65}.pub-head p a{color:var(--pub-teal);font-weight:600;text-decoration:none}.pub-head p a:hover{text-decoration:underline}.pub-help{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.pub-help a{border:1px solid var(--pub-border);color:var(--pub-navy);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.pub-help a:hover{border-color:var(--pub-teal);color:var(--pub-teal)}.pub-flash{border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:14px;font-weight:500}.pub-flash.is-ok{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.pub-flash.is-err{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.pub-card{border:1px solid var(--pub-border);background:#fff;border-radius:16px;margin-bottom:18px;padding:clamp(16px,3vw,22px);box-shadow:0 4px 20px #071b330a}.pub-card h2{color:var(--pub-navy);border-bottom:1px solid var(--pub-border);margin:0 0 16px;padding-bottom:10px;font-size:1rem;font-weight:700}.pub-grid{grid-template-columns:1fr;gap:14px 20px;display:grid}@media (min-width:640px){.pub-nav{display:flex}}@media (min-width:768px){.pub-grid{grid-template-columns:1fr 1fr}}.pub-field span{color:#334155;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.pub-field input,.pub-field select{border:1px solid var(--pub-border);color:#10233f;background:#fff;border-radius:10px;width:100%;height:42px;padding:8px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.pub-field input:focus,.pub-field select:focus{border-color:var(--pub-teal);outline:none;box-shadow:0 0 0 3px #008f8726}.pub-field input[readonly]{color:var(--pub-muted);background:#f8fafc}.pub-submit{background:linear-gradient(135deg, var(--pub-teal) 0%, var(--pub-teal-bright) 100%);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;max-width:300px;height:48px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 24px #008f874d}.pub-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px #008f8759}.pub-submit:disabled{opacity:.7;cursor:not-allowed}.pub-foot{border-top:1px solid var(--pub-border);color:var(--pub-muted);margin-top:32px;padding-top:20px;font-size:13px;line-height:1.6}.pub-foot a{color:var(--pub-teal);font-weight:600;text-decoration:none}.pub-foot a:hover{text-decoration:underline}[data-theme=dark] .pub{color:#e5e7eb;background:#0b1220}[data-theme=dark] .pub-card{background:#111827;border-color:#1f2937}[data-theme=dark] .pub-field input,[data-theme=dark] .pub-field select{color:#e5e7eb;background:#0f172a;border-color:#334155}[data-theme=dark] .pub-head p,[data-theme=dark] .pub-foot{color:#94a3b8}[data-theme=dark] .pub-help a{color:#e5e7eb;background:#111827;border-color:#334155}
