/* Generated by scripts/build_page_styles.py; retains all declared page states. */
:root { color-scheme: light; --ink:#19332d; --muted:#6c817a; --line:#dbe8e2; --mint:#dff3e9; --brand:#28785f; --paper:#fbfdfb; }
html { min-height:100%; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; min-height:100svh; overflow-x:hidden; color:var(--ink); font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"PingFang SC",sans-serif; background:radial-gradient(circle at 10% 10%,#e5f6ef,transparent 34%),linear-gradient(145deg,#f8fcfa,#edf6f2); }
.account-page { display:grid; place-items:center; padding:clamp(18px,4vw,48px); }
.account-shell { width:min(880px,100%); display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; align-items:center; }
.account-brand { display:flex; align-items:center; gap:14px; padding:22px; }
.brand-mark { display:grid; place-items:center; width:58px; height:58px; border-radius:20px; color:white; background:var(--brand); font-size:34px; font-weight:850; box-shadow:0 16px 38px rgba(40,120,95,.24); }
.account-brand strong, .account-brand small { display:block; }
.account-brand strong { font-size:30px; letter-spacing:-1px; }
.account-brand small { color:var(--muted); font-size:10px; letter-spacing:1.2px; }
.account-card { padding:clamp(24px,5vw,46px); border:1px solid rgba(255,255,255,.9); border-radius:30px; background:rgba(255,255,255,.88); box-shadow:0 28px 80px rgba(34,75,63,.12); backdrop-filter:blur(18px); }
.account-kicker { margin:0; color:var(--brand); font-size:11px; font-weight:800; letter-spacing:1.5px; }
h1 { margin:7px 0 8px; font-size:clamp(26px,4vw,38px); line-height:1.14; letter-spacing:-1px; }
.account-card>p:not(.account-kicker) { color:var(--muted); }
.account-topic-context { margin:16px 0 0; padding:12px 14px; border:1px solid #cce8d9; border-radius:13px; background:#ecf8f1; color:var(--ink)!important; font-size:14px; font-weight:700; overflow-wrap:anywhere; }
.account-topic-context[hidden] { display:none; }
.account-entry-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:14px; color:var(--brand); font-size:13px; font-weight:700; }
.account-entry-links a { color:inherit; text-decoration:none; border-bottom:1px solid #9ecab8; }
.account-entry-links a:focus-visible { outline:3px solid #4f9c84; outline-offset:3px; }
form { display:grid; gap:15px; margin-top:26px; }
label { display:grid; gap:7px; font-size:12px; font-weight:750; }
input, button, select { width:100%; min-height:50px; border-radius:14px; font:inherit; }
input, select, textarea { font-size:16px; }
input { border:1px solid var(--line); padding:0 14px; background:var(--paper); color:var(--ink); outline:none; }
input:focus { border-color:#7ab49f; box-shadow:0 0 0 4px rgba(80,158,128,.12); }
button { border:0; padding:0 18px; color:white; background:var(--brand); font-weight:800; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.account-status { min-height:24px; margin:18px 0 0; color:#9b493f!important; }
.hidden { display:none!important; }
.brand-site { display:inline-block; margin-top:10px; color:var(--brand); font-size:12px; font-weight:750; text-decoration:none; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:24px; padding:4px; border-radius:15px; background:#edf5f1; }
.auth-tabs button { min-height:42px; color:var(--muted); background:transparent; }
.auth-tabs button.active { color:var(--ink); background:white; box-shadow:0 4px 14px rgba(34,75,63,.08); }
.auth-tabs button:disabled { cursor:not-allowed; }
.auth-tabs+form { margin-top:18px; }
.code-field { display:grid; grid-template-columns:minmax(0,1fr) 126px; gap:9px; align-items:end; }
.code-field button { padding:0 10px; font-size:13px; }
.form-note { color:var(--muted); font-size:11px; line-height:1.65; }
.button-secondary { color:var(--brand); background:#e5f3ed; }
table { width:100%; border-collapse:collapse; white-space:nowrap; font-size:13px; }
th, td { padding:12px; border-bottom:1px solid #edf3f0; text-align:left; }
th { position:sticky; top:0; z-index:1; color:var(--muted); background:#f7fbf9; font-size:11px; }
tr:last-child td { border-bottom:0; }
dialog { width:min(520px,calc(100% - 30px)); border:0; border-radius:24px; padding:26px; color:var(--ink); box-shadow:0 30px 90px rgba(18,47,39,.28); }
dialog::backdrop { background:rgba(24,47,41,.34); backdrop-filter:blur(5px); }
@media(max-width:640px) {
.account-brand small {display:none}
}
@supports(min-height:100dvh) {
body {min-height:100dvh}
}
@media(max-width:720px) {
.account-page {place-items:start center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.account-shell {min-width:0;grid-template-columns:1fr;gap:6px}
.account-brand {padding:6px 4px}
.account-card {min-width:0;width:100%;border-radius:24px}
.code-field {grid-template-columns:minmax(0,1fr) 116px}
}
@media(pointer:coarse) {
input, button {min-height:56px}
}
dialog[id^="partner-"] {max-height:calc(100dvh - 24px);overflow:auto;}
#wechat-login-qr { display:block; width:224px; height:224px; max-width:100%; margin:12px auto; border-radius:12px; }
.wechat-login { margin-top:24px; padding-bottom:20px; border-bottom:1px solid #dbe8e1; }
.wechat-login-divider { display:block; margin-bottom:12px; color:#31584e; font-size:13px; font-weight:800; text-align:center; }
.wechat-login > button { width:100%; }
.wechat-login p { font-size:12px; line-height:1.6; color:#58766e; }
.wechat-login [hidden] { display:none; }
.account-page [hidden] { display:none!important; }
.auth-secondary-toggle { margin-top:18px; background:transparent; color:var(--brand); border:1px solid var(--line); font-size:14px; }
.auth-help { color:var(--muted); font-size:13px; line-height:1.7; margin:20px 0 0; }
.wechat-scan-panel { text-align:center; margin:12px auto; }
.wechat-scan-panel img { display:block; width:224px; max-width:100%; height:auto; margin:12px auto; border-radius:12px; }
.wechat-scan-panel > p { overflow-wrap:anywhere; line-height:1.7; }
.wechat-scan-panel button { margin-top:10px; }
.wechat-login #wechat-scan-start { min-height:40px; margin-top:8px; font-size:13px; }
.auth-secondary-toggle:focus-visible, .wechat-login button:focus-visible { outline:3px solid #74b59c; outline-offset:3px; }
