/* The approved Mathub Q版 art and ice-blue / pale-gold card language.
   These presentation rules do not alter account storage or mastery colors. */
.math-account-strip{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:7px 24px;background:linear-gradient(180deg,#f8fcff,#eaf3fa);border-bottom:1px solid #c5dce9;color:#53748a;font:13px/1.4 system-ui,sans-serif;position:relative;z-index:20;flex-shrink:0;box-shadow:inset 0 1px 0 #fff}
.math-account-user{color:#285c7d;text-decoration:none;display:flex;gap:5px;align-items:center}
.math-account-user>span{color:#b18b4c}
.math-account-strip button{font:inherit;border:1px solid #b8d1e1;background:linear-gradient(#fff,#eef7fd);border-radius:9px;padding:5px 10px;color:#315f7c;box-shadow:0 2px 0 #d1e2ed;cursor:pointer}
.math-account-strip button:hover{background:#e5f2fc;border-color:#8cb4ce}
.math-account-strip [data-sync-status=offline],.math-account-strip [data-sync-status=conflict]{color:#986a29}
.account-blocker{position:fixed;inset:0;z-index:99999;background:rgba(233,243,251,.96);display:flex;justify-content:center;align-items:center;padding:24px;font-family:'PingFang SC',system-ui,sans-serif;color:#214d6b}
.account-blocker section{box-sizing:border-box;width:min(520px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:linear-gradient(145deg,#fff 70%,#f0f8fe);padding:32px;border:2px solid #9cbcd1;border-radius:24px;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 5px #e4d8bb,0 6px 0 #c4d9e8,0 20px 65px #31577718}
.account-blocker img{border-radius:18px;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px #c5a86c,0 3px 0 #d8e6ef}
.account-blocker h2{color:#214d6b;font-size:24px}
.account-blocker p{color:#4e6e84;line-height:1.8}
.account-blocker button{border:1px solid #a9c7dc;border-radius:10px;padding:10px 14px;margin:5px;background:linear-gradient(#f7fcff,#dfedf8);box-shadow:inset 0 1px 0 #fff,0 3px 0 #c4d8e6;color:#285b7b;font-size:14px;cursor:pointer}
.account-blocker small{display:block;line-height:1.7;color:#6b8294;margin-top:14px}
body[data-page=graph]{height:100dvh;grid-template-rows:auto 48px minmax(0,1fr)}
.account-page{--account-ink:#214d6b;--account-muted:#597b93;--account-gold:#c6a05d;box-sizing:border-box;margin:0;background:radial-gradient(ellipse at 8% 5%,#dbeefd 0,transparent 48%),radial-gradient(ellipse at 98% 92%,#e3f0ff 0,transparent 42%),#f4f9fd;color:var(--account-ink);font-family:'Hiragino Maru Gothic ProN','PingFang SC','Noto Sans SC',system-ui,sans-serif;min-height:100vh;min-height:100dvh}
.account-page::before{content:'✧';position:fixed;top:19%;right:4%;color:#c6a05d65;font-size:55px;line-height:1;transform:rotate(9deg);pointer-events:none;z-index:-1}
.account-header{box-sizing:border-box;max-width:1200px;margin:auto;padding:26px 36px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.account-brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:750;letter-spacing:.03em}
.account-brand span{display:block}
.account-brand small{display:block;margin-top:3px;font-size:10px;letter-spacing:.15em;font-weight:500;color:#718a9e}
.account-header img{border:3px solid white;border-radius:15px;object-fit:contain;object-position:center;box-shadow:0 0 0 1px #adcadd,0 3px 0 #c8dfea}
.account-header-note{color:#7b8fa0;font-size:12px;letter-spacing:.06em}
.account-header-note>span{color:var(--account-gold);margin-right:6px}
.account-layout{max-width:1120px;margin:20px auto 52px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:54px;padding:0 36px;align-items:center}
.account-intro{min-width:0}
.account-portrait{position:relative;margin:0;padding:8px;border:1px solid #9fbfd6;border-radius:29px;background:linear-gradient(145deg,#fff,#edf6fc);box-shadow:inset 0 0 0 3px #fff,0 5px 0 #cddfeb,0 14px 28px -22px #31577765}
.account-portrait::before,.account-portrait::after{position:absolute;content:'✦';z-index:1;color:#c7a76b;text-shadow:0 1px 0 white;font-size:22px;line-height:1;pointer-events:none}
.account-portrait::before{left:-8px;top:24px}
.account-portrait::after{right:-8px;bottom:68px;font-size:18px}
.account-portrait img{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:center 45%;border:1px solid #c9dfec;border-radius:21px;box-sizing:border-box}
.account-portrait figcaption{position:absolute;inset:auto 22px 22px;padding:10px 7px;border:1px solid #fff;border-radius:11px;background:#fffffff0;color:#476e89;text-align:center;font-size:11px;line-height:1.5;box-shadow:0 2px 8px #274c6b0d}
.account-portrait figcaption span{color:#b8995f;margin:0 5px}
.account-intro-copy{padding:23px 8px 0}
.account-kicker{color:#8b764e;font-size:11px;line-height:1.7;letter-spacing:.04em}
.account-intro h1{font-size:clamp(28px,3vw,37px);line-height:1.45;letter-spacing:-.025em;margin:10px 0 8px;color:var(--account-ink)}
.account-intro p{font-size:14px;line-height:1.9;color:var(--account-muted);margin:0}
.account-card{position:relative;box-sizing:border-box;background:linear-gradient(145deg,#fff 78%,#f3faff);border:2px solid #a4bfd2;border-radius:27px;padding:33px 32px;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 5px #e9dfc8,0 6px 0 #c6dae8,0 16px 35px -26px #31577765;min-width:0}
.account-card::before{content:'✧';position:absolute;top:-15px;right:30px;display:grid;place-items:center;width:29px;height:29px;border:1px solid #d6bd86;border-radius:9px;background:linear-gradient(#fffef6,#f5e9ce);color:#a48650;box-shadow:inset 0 0 0 2px #fffdf5,0 2px 0 #d5c69e;font-size:21px;pointer-events:none}
.account-tabs{display:flex;gap:7px;padding:5px;background:#edf4fa;border:1px solid #d2e2ed;border-radius:14px;margin-bottom:26px;box-shadow:inset 0 2px 4px #d9e6ef35}
.account-tabs button{flex:1;min-height:43px;border:1px solid transparent;padding:10px 8px;background:transparent;color:#648298;font-family:inherit;font-size:15px;font-weight:500;line-height:1.4;border-radius:10px;cursor:pointer}
.account-tabs button[aria-pressed=true]{background:linear-gradient(180deg,#e2f3ff,#c5e5fa);border-color:#a7c9e0;color:#285b7c;font-weight:700;box-shadow:inset 0 1px 0 #fff,0 3px 0 #b5d0e2}
.account-card h2{color:var(--account-ink);font-size:25px;line-height:1.4;margin:4px 0 10px;letter-spacing:-.02em;overflow-wrap:anywhere}
.account-card p{line-height:1.8;color:#668197;font-size:14px}
.account-card label{display:block;font-size:14px;font-weight:650;margin-top:22px;color:#355e79}
.account-card input{box-sizing:border-box;width:100%;min-height:49px;margin-top:9px;border:1px solid #bed4e3;border-radius:11px;padding:13px 14px;font:16px/1.4 system-ui;color:#294e68;background:#f9fcff;box-shadow:inset 0 2px 4px #42657e05}
.account-card input::placeholder{color:#9baebc}
.account-card input:focus{outline:3px solid #a1d0ef4d;outline-offset:1px;border-color:#69a6cf;background:#fff}
.account-help{font-size:11px;line-height:1.75;color:#7991a3;display:block;margin-top:7px}
.account-primary{display:block;width:100%;border:1px solid #84b2d0;border-radius:12px;background:linear-gradient(180deg,#d6efff,#b6dcf5);color:#214d6b;padding:14px 12px;min-height:50px;font:700 16px/1.4 system-ui;margin-top:27px;cursor:pointer;box-shadow:inset 0 1px 0 #fff,0 4px 0 #9bbfd8;transition:background .15s,box-shadow .15s,transform .15s}
.account-primary:hover:not(:disabled){background:linear-gradient(#c8eaff,#a8d5f2);border-color:#71a5c9}
.account-primary:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 #fff,0 2px 0 #9bbfd8}
.account-primary:disabled{opacity:.65;cursor:wait}
.account-page button:focus-visible,.math-account-strip button:focus-visible,.math-account-user:focus-visible,.account-blocker button:focus-visible{outline:3px solid #7bb5df;outline-offset:4px}
.account-message{padding:12px;border:1px solid #ead5ba;border-radius:10px;background:#fff7e9;color:#9a602b!important;font-size:14px}
.account-success{background:#edf6ff;border-color:#c2dfef;color:#356d90!important}
.account-card .account-footnote{font-size:11px;line-height:1.9;border-top:1px solid #dfeaf2;padding-top:18px;margin:24px 0 0;color:#7890a2}
.account-secondary{font:inherit;font-size:13px;border:1px solid #bbd2e2;background:linear-gradient(#fff,#f2f8fc);color:#4a708a;border-radius:10px;padding:11px 14px;cursor:pointer;margin:5px 5px 5px 0;box-shadow:0 2px 0 #dbe7ef}
.account-secondary:hover{background:#e9f4fc;border-color:#91b7d0}
.account-dashboard-actions{margin-top:20px}
.account-admin-link{display:inline-block;text-decoration:none;text-align:center;box-sizing:border-box}
.account-dashboard-actions .account-primary{margin-bottom:17px}
.account-legacy{font-size:13px;line-height:1.8;margin-top:24px;padding:16px;background:#f0f7fc;border:1px solid #d7e6f0;border-radius:12px}
.account-legacy summary{cursor:pointer;color:#4b738e}
.account-legacy button{font-size:13px}
.account-waiting{padding:30px;color:#62829a}
.account-key-badge{display:inline-flex;align-items:center;gap:6px;margin:1px 0 17px;padding:6px 10px;border:1px solid #ddcfad;border-radius:9px;background:#fffcf3;color:#8d764c;font-size:11px;line-height:1.5}
.account-key-badge>span{color:#b8995d}
.account-key-tools{display:flex;align-items:center;justify-content:space-between;gap:6px 10px;flex-wrap:wrap;margin-top:8px}
.account-key-helpers{display:flex;align-items:center;gap:6px}
.account-key-tool{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid #c7dce9;border-radius:9px;background:linear-gradient(#fff,#f0f7fc);color:#4b7591;font-family:inherit;font-size:12px;font-weight:500;line-height:1.4;cursor:pointer;box-shadow:0 1px 0 #dce8f0}
.account-key-tool[hidden]{display:none}
.account-key-tool:hover:not(:disabled){background:#e8f4fd;border-color:#9cbfd7}
.account-key-tool:disabled{opacity:.6;cursor:wait}
.account-key-kind{border-color:transparent;background:transparent;box-shadow:none;color:#66869d;padding-inline:5px}
#account-key[inputmode=numeric]{letter-spacing:.08em}
#account-key::placeholder{letter-spacing:normal}
.account-other-methods{margin-top:21px;border-top:1px solid #dfeaf2;padding-top:15px;color:#6e8ba0;font-size:12px}
.account-other-methods summary{cursor:pointer;width:fit-content;padding:4px 0;color:#547c97}
.account-other-methods .account-tabs{margin:14px 0 8px}
.account-other-methods .account-tabs button{font-size:12px;min-height:39px}
.account-other-methods>p{font-size:11px;margin:7px 0 0}
.account-mode-link{display:block;border:0;background:transparent;padding:0;margin:-11px 0 18px;color:#61849d;font-family:inherit;font-size:12px;line-height:1.6;cursor:pointer}
@media(min-width:1500px){.account-layout{margin-top:40px}}
@media(max-width:950px){.account-layout{gap:28px;padding:0 28px}.account-header{padding-inline:28px}.account-card{padding:30px 25px}.account-portrait img{aspect-ratio:1}.account-intro h1{font-size:30px}.account-portrait figcaption{font-size:10px;inset-inline:17px}}
@media(max-width:700px){.account-header{padding:20px 22px 16px}.account-brand{font-size:21px;gap:10px}.account-brand small{font-size:9px}.account-header-note{display:none}.account-layout{display:block;padding:0 20px;margin:5px auto 35px;max-width:470px}.account-intro{display:grid;grid-template-columns:122px minmax(0,1fr);gap:17px;align-items:center;margin-bottom:26px}.account-portrait{padding:5px;border-radius:21px}.account-portrait img{aspect-ratio:1;border-radius:15px;object-position:59% 38%}.account-portrait figcaption{display:none}.account-portrait::before{top:9px;left:-6px;font-size:17px}.account-portrait::after{right:-6px;bottom:13px;font-size:14px}.account-intro-copy{padding:0;min-width:0}.account-kicker{font-size:10px;letter-spacing:0}.account-intro h1{font-size:21px;line-height:1.5;margin:6px 0}.account-intro p{font-size:11px;line-height:1.7}.account-card{padding:27px 24px 26px;border-radius:24px}.account-tabs{margin-bottom:23px}.account-card h2{font-size:23px}.account-card p{font-size:13px}.account-card label{margin-top:20px}.account-card .account-footnote{font-size:11px}.math-account-strip{padding:6px 12px;gap:9px;font-size:11px;flex-wrap:wrap}.math-account-strip button{padding:4px 6px}.account-blocker section{padding:27px}}
@media(max-width:370px){.account-layout{padding-inline:14px}.account-intro{grid-template-columns:104px minmax(0,1fr);gap:13px}.account-intro h1{font-size:19px}.account-intro p{font-size:10px}.account-card{padding-inline:20px}.account-kicker{font-size:9px}}
@media(prefers-reduced-motion:reduce){.account-primary{transition:none}}
