:root{--ink:#10172a;--blue:#079ee8;--violet:#7928ff;--muted:#687187;--line:#dce2eb}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 15%,rgba(7,158,232,.16),transparent 30%),radial-gradient(circle at 15% 85%,rgba(121,40,255,.1),transparent 32%),#f4f7fb;color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;display:grid;grid-template-rows:auto 1fr auto}.auth-nav{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.auth-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-weight:900}.auth-brand img{width:42px;height:42px;border-radius:50%;object-fit:cover}.auth-brand span span{color:var(--blue)}.auth-nav>a:last-child{font-size:12px;color:#4d576c;text-decoration:none}.auth-main{display:grid;place-items:center;padding:55px 20px}.auth-shell{width:min(100%,1040px);display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid rgba(16,23,42,.08);border-radius:16px;overflow:hidden;background:white;box-shadow:0 30px 80px rgba(16,23,42,.12)}.auth-aside{padding:52px 44px;background:radial-gradient(circle at 30% 20%,rgba(7,158,232,.3),transparent 35%),linear-gradient(145deg,#10172a,#080d19);color:white;display:flex;flex-direction:column}.auth-aside small{letter-spacing:2px;color:#62ccfa}.auth-aside h1{font-size:45px;line-height:1.05;letter-spacing:-.055em;margin:24px 0}.auth-aside p{font-size:13px;line-height:1.9;color:#aeb8ca}.auth-address{margin-top:auto;color:#63cdfa;font-family:Consolas,monospace}.auth-card{padding:48px}.auth-card h2{font-size:34px;letter-spacing:-.045em;margin:0 0 8px}.auth-card>p{font-size:13px;color:var(--muted);line-height:1.7}.auth-form{display:grid;gap:17px;margin-top:28px}.auth-form label{font-size:12px;font-weight:800;color:#3f4960}.auth-form input{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #d6dce7;border-radius:7px;font:inherit;outline:none}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,158,232,.11)}.code-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.code-button{height:46px;padding:0 16px;border:1px solid #c9e5f5;background:#edf9ff;color:#0878df;border-radius:7px;font-weight:800;cursor:pointer}.submit-button{padding:14px;border:0;border-radius:7px;background:linear-gradient(110deg,var(--blue),#0878df);color:white;font:inherit;font-weight:800;cursor:pointer}.form-message{min-height:18px;margin:0!important;color:#c64141!important}.form-message.success{color:#188b5a!important}.auth-links{display:flex;justify-content:space-between;gap:14px;margin-top:23px;font-size:12px}.auth-links a{color:#0878df;text-decoration:none}.auth-footer{padding:25px;text-align:center;color:#8790a2;font-size:11px}@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-aside{padding:35px}.auth-aside h1{font-size:36px}.auth-address{margin-top:20px}.auth-card{padding:35px 25px}.code-row{grid-template-columns:1fr}.code-button{width:100%}}
.password-requirements[hidden],.password-confirmation[hidden]{display:none}
.password-requirements{padding:16px;margin-top:-7px;border:1px solid #dce5eb;border-radius:10px;background:#f8fafc}
.password-requirements[data-complete="true"]{border-color:#b8ded0;background:#f4fbf7}
.password-requirements-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.password-requirements-heading h3{font-size:12px;margin:0;color:#3f4960}
.password-requirements-heading p{font-size:11px;margin:0;color:#687187}
.password-rules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}
.password-rules li{display:flex;gap:7px;font-size:12px;line-height:1.6;color:#687187;min-width:0}
.password-rules li:nth-last-child(-n+2){grid-column:1/-1}
.password-rule-icon{font-size:14px;line-height:1.35;font-weight:800;flex:0 0 15px;text-align:center}
.password-rules [data-state="met"],.password-confirmation[data-state="met"]{color:#18754e}
.password-rules [data-state="unmet"] .password-rule-icon,.password-confirmation[data-state="unmet"]{color:#b74d46}
.password-confirmation{font-size:12px;line-height:1.6;margin:-8px 0 0;color:#687187}
.password-help{font-size:12px;line-height:1.8;color:#687187;margin:0}
.auth-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:500px){.password-rules{grid-template-columns:1fr}.password-requirements{padding:14px}}

/* The same LiamCraft/AuthMe forms in the main site's shared light palette. */
body.site-unified { --ink:var(--site-ink,#101b35); --blue:var(--site-blue,#315efb); --muted:var(--site-muted,#5f6d86); --line:var(--site-line,#dce3f0); }
.site-unified .auth-main { padding:48px 28px; }
.site-unified .auth-shell { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 12px 38px -24px #20357940; }
.site-unified .auth-aside { position:relative; background:linear-gradient(145deg,#edf2ff,#f8faff); color:var(--ink); border-right:1px solid var(--line); padding:46px 38px; }
.site-unified .auth-aside::before { content:""; width:48px; height:5px; border-radius:9px; margin-bottom:34px; background:var(--blue); }
.site-unified .auth-aside small { color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.13em; }
.site-unified .auth-aside h1 { margin:22px 0 20px; font-size:clamp(32px,4vw,44px); line-height:1.2; color:var(--ink); }
.site-unified .auth-aside p { color:var(--muted); font-size:14px; line-height:1.9; }
.site-unified .auth-address { color:#3659b5; padding-top:26px; overflow-wrap:anywhere; font-size:13px; }
.site-unified .auth-card { min-width:0; padding:44px; }
.site-unified .auth-card h2 { font-size:32px; line-height:1.3; }
.site-unified .auth-card>p { font-size:14px; }
.site-unified .auth-form label { font-size:14px; font-weight:650; color:#344363; min-width:0; }
.site-unified .auth-form input { min-width:0; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); padding:12px 14px; min-height:46px; font-size:16px; }
.site-unified .auth-form input:focus { border-color:var(--blue); box-shadow:0 0 0 3px #315efb12; }
.site-unified .code-row { grid-template-columns:minmax(0,1fr) auto; }
.site-unified .code-button { background:var(--site-soft,#edf2ff); border-color:#d7e2fc; color:#3156a9; border-radius:12px; font:650 13px/1.5 var(--site-font,"Segoe UI",sans-serif); }
.site-unified .code-button:disabled { opacity:.55; cursor:wait; }
.site-unified .submit-button { min-height:46px; background:var(--blue); border-radius:12px; font-size:15px; font-weight:650; }
.site-unified .submit-button:hover { background:#254edb; }
.site-unified .submit-button:disabled { opacity:.55; cursor:wait; }
.site-unified .auth-links { flex-wrap:wrap; font-size:13px; }
.site-unified .auth-links a { color:var(--blue); display:inline-flex; align-items:center; min-height:36px; }
.site-unified .password-requirements { background:#f8faff; border-color:var(--line); border-radius:14px; }
.site-unified .password-requirements[data-complete="true"] { border-color:#b8ded0; background:#f4fbf7; }
.site-unified .password-requirements-heading h3 { color:#344363; font-size:13px; }
.site-unified .password-help { color:var(--muted); }
.site-unified .auth-footer { width:min(1180px,calc(100% - 56px)); margin:0 auto; padding:24px 0; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
@media(max-width:760px) { .site-unified .auth-main { padding:28px 20px; } .site-unified .auth-shell { grid-template-columns:minmax(0,1fr); } .site-unified .auth-aside { padding:28px; border-right:0; border-bottom:1px solid var(--line); } .site-unified .auth-aside::before { margin-bottom:22px; } .site-unified .auth-aside h1 { font-size:32px; } .site-unified .auth-address { margin-top:0; padding-top:8px; } .site-unified .auth-card { padding:28px; } .site-unified .code-row { grid-template-columns:minmax(0,1fr); } .site-unified .auth-footer { width:calc(100% - 40px); } }
@media(max-width:420px) { .site-unified .auth-main { padding:24px 16px; } .site-unified .auth-card,.site-unified .auth-aside { padding:24px 20px; } .site-unified .auth-footer { width:calc(100% - 32px); } }

/* Tablet forms get a full column before the verification row becomes cramped. */
.site-unified .auth-main, .site-unified .auth-shell,
.site-unified .auth-aside, .site-unified .auth-form, .site-unified .code-row { min-width: 0; }
.site-unified .auth-form input { font-size: 16px; max-width: 100%; line-height: 1.6; }
.site-unified .code-button { min-height: 46px; height: auto; max-width: 100%; padding-block: 10px; white-space: normal; }
.site-unified .submit-button { max-width: 100%; min-height: 48px; line-height: 1.6; }
.site-unified .auth-links a { min-height: 44px; line-height: 1.6; }
.site-unified .form-message, .site-unified .password-confirmation,
.site-unified .password-help, .site-unified .password-rules li,
.site-unified .password-requirements-heading { overflow-wrap: anywhere; }
.site-unified .password-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .site-unified .auth-main { padding: 28px 20px; }
  .site-unified .auth-shell { grid-template-columns: minmax(0, 1fr); max-width: 680px; }
  .site-unified .auth-aside { padding: 26px 30px; border-right: 0; border-bottom: 1px solid var(--line); }
  .site-unified .auth-aside::before { margin-bottom: 18px; }
  .site-unified .auth-aside h1 { font-size: 32px; margin-block: 14px; }
  .site-unified .auth-address { margin-top: 0; padding-top: 8px; }
  .site-unified .auth-card { padding: 30px; }
}
@media (max-width: 600px) {
  .site-unified .auth-main { padding: 24px 16px; }
  .site-unified .auth-card, .site-unified .auth-aside { padding: 24px 22px; }
  .site-unified .code-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .site-unified .code-button { width: 100%; }
}
@media (max-width: 420px) {
  .site-unified .auth-card, .site-unified .auth-aside { padding: 22px 18px; }
  .site-unified .auth-card h2 { font-size: 29px; }
  .site-unified .password-rules { grid-template-columns: minmax(0, 1fr); }
  .site-unified .password-requirements { padding: 14px 12px; }
}
