/* Accounts share the site's dawn palette and quiet golden motion. */
.brand .nav-profile{color:var(--accent);border:1px solid #ffc24b55;border-radius:30px;padding:7px 15px;text-decoration:none}
body[data-stage="account"] #app,body[data-stage="email"] #app{max-width:620px}
.auth-card{width:100%;padding:38px;border:1px solid #a8b4d52b;background:linear-gradient(145deg,#17233ce8,#0e172be8);border-radius:26px;box-shadow:0 24px 100px #070c1933}
.auth-card h1{font-size:clamp(30px,5vw,43px);margin:15px 0 12px!important}.auth-intro .eyebrow{margin-bottom:18px}.auth-card p{color:var(--muted)}
.auth-form{display:flex;flex-direction:column;gap:11px}.auth-form label{font-size:14px;color:#ccd1de;margin-top:8px}
.auth-form input{width:100%;padding:15px 17px;font:16px var(--sans);color:var(--text);background:#0c1427;border:1px solid #46516b;border-radius:12px;min-width:0}
.auth-form input:focus{border-color:var(--accent)}.auth-form .cta{margin-top:15px!important}.auth-form .status{margin:0;min-height:0}
.password-toggle,.auth-switch{border:0;background:none;color:var(--muted);font:14px var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:10px 0}
.password-toggle{align-self:flex-end;margin-top:-6px}.auth-switch{display:block;margin:12px auto 0}.auth-switch:hover{color:var(--accent)}
.google-signin{display:flex;flex-direction:column;align-items:center;margin-top:22px}.google-signin .note{font-size:12px;text-align:center;margin:10px 0 0}.google-unavailable{border:1px solid #8994aa;background:#f5f4ef;color:#333;border-radius:30px;padding:12px 22px;font:500 15px var(--sans);width:100%;opacity:.65!important}
.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;margin:24px 0 14px}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#ffffff20}
body[data-stage="profile"] #app{max-width:1120px;justify-content:flex-start;padding-top:115px;gap:0}
body[data-stage="profile-empty"] #app{max-width:850px;justify-content:flex-start;padding-top:105px}
.profile-account{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-bottom:40px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.profile-account .auth-switch{margin:0;white-space:nowrap}
.profile-heading{max-width:690px;margin-bottom:25px}.profile-heading .eyebrow{margin-bottom:17px}.profile-heading h1{font-size:clamp(37px,6vw,60px);letter-spacing:-.025em;margin-bottom:15px}.profile-heading p{font-size:17px}
.profile-overview{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;margin:10px 0 28px}
.profile-spotlight,.profile-progress{border:1px solid #d3b47744;border-radius:24px;position:relative;overflow:hidden;background:linear-gradient(130deg,#26365acc,#10192ee6);padding:32px}
.profile-spotlight::after{content:"";position:absolute;right:-85px;top:-85px;width:290px;height:290px;border-radius:50%;border:1px solid #ffbd6526;box-shadow:0 0 0 30px #ffbf6506,0 0 0 65px #ffbf6504;pointer-events:none}
.profile-spotlight h2{font-size:clamp(37px,5vw,52px);color:#ffcf83;margin:24px 0 7px}.profile-tag{font:italic 19px var(--serif);color:var(--muted);margin-bottom:30px}
.profile-progress{display:flex;align-items:center;gap:28px;background:linear-gradient(145deg,#19273edb,#0e172bdc);border-color:#9dafd633}
.profile-progress-ring{flex:0 0 152px;width:152px;height:152px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;isolation:isolate;border-radius:50%;background:conic-gradient(#ffc24b var(--progress),#ffffff15 0);box-shadow:0 0 0 9px #ffc24b06}
.profile-progress-ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:#1b283f;z-index:-1}.profile-progress-ring strong{font:35px var(--serif)}.profile-progress-ring span{font-size:11px;color:var(--muted);margin-top:7px}
.profile-counts{display:grid;gap:23px}.profile-counts strong{display:block;color:var(--accent);font:32px var(--serif)}.profile-counts span{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:5px}
.verification-note{border-left:2px solid #ffc24b66;padding:4px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted);margin-bottom:20px}.verification-note .auth-switch{margin:0;white-space:nowrap}
.profile-section-heading{margin:33px 0 8px}.profile-section-heading h2{font-size:34px}.profile-section-heading p{max-width:690px}
.profile-area{margin:24px 0}.profile-area-title{display:flex;align-items:center;gap:13px;margin-bottom:19px}.profile-area-title>span{font-size:11px;letter-spacing:.1em;color:var(--accent);border:1px solid #ffc24b44;border-radius:50%;display:grid;place-items:center;width:31px;height:31px}.profile-area-title h3{margin:0;font-size:24px}
.profile-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-test-card{padding:25px;border:1px solid #8293bc36;border-radius:20px;background:linear-gradient(135deg,#15213adb,#141c31de);display:flex;flex-direction:column;transition:border-color .25s,box-shadow .25s}.profile-test-card:hover{border-color:#ffc24b70;box-shadow:0 10px 40px #080f242b}.profile-test-card.completed{border-color:#d0aa6755}.test-status{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#a9b1c4;margin-bottom:15px}.completed .test-status{color:#e5c88f}.profile-test-card h4{font:25px var(--serif);margin:0 0 12px}.profile-test-card .note{font-size:14px;line-height:1.65;margin:0 0 22px;flex:1}.test-date{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}.profile-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-card-link{color:#ffcd7e;text-decoration:none;font-size:14px;font-weight:600}.profile-card-link::after{content:" \2192"}.profile-retake{color:var(--muted);font-size:12px;text-underline-offset:4px}.profile-unlock{align-self:flex-start;border:1px solid #ffc24b70;background:#ffc24b0c;border-radius:30px;padding:9px 15px;margin-top:18px;color:var(--accent);font-size:12px}.profile-history{margin-top:18px;color:var(--muted);font-size:12px}.profile-history summary{cursor:pointer}.profile-history a{display:block;margin-top:10px;color:var(--accent)}
.profile-empty{text-align:center;max-width:620px;margin:15px auto}.profile-empty h1{font-size:clamp(37px,6vw,57px);margin:18px 0}.profile-empty>p{max-width:450px;margin:0 auto 28px;font-size:17px;color:#c0c6d6}.profile-empty .cta{display:inline-block;text-decoration:none}.profile-empty .note{font-size:13px;margin-top:25px}
.profile-orbit{width:150px;height:150px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffc24b40;margin:10px auto 40px;box-shadow:0 0 0 20px #ffc24b04,0 0 60px #ffc24b14}.profile-orbit span{font-size:63px;color:#ffd58a;text-shadow:0 0 22px #ffb24b88;animation:account-star 8s ease-in-out infinite}@keyframes account-star{50%{opacity:.65;transform:scale(.91)}}
.profile-packages{margin-top:45px;padding-top:30px;border-top:1px solid #ffffff22;scroll-margin-top:90px}.profile-packages h2{font-size:34px}.profile-package-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.profile-package{text-align:left;border:1px solid #7083aa70;background:#15223bdd;border-radius:21px;padding:25px;color:var(--text);font:inherit}.profile-package>span{font-size:16px}.profile-package strong{display:block;font:40px var(--serif);margin:16px 0;color:#ffca78}.profile-package p{font-size:14px;color:var(--muted);line-height:1.6}.profile-package small{font-size:11px;color:var(--muted);line-height:1.5;display:block}.profile-package.premium{border-color:#ffc24b99;box-shadow:0 0 45px -22px #ffbf55;background:linear-gradient(140deg,#333147e8,#1c2338ed)}
.profile-return{display:inline-block;text-decoration:none;margin-top:28px!important}.profile-saved{margin:24px 0 10px;font-size:13px;color:var(--muted)}
.unlock-dialog{background:#19243b;color:var(--text);padding:32px;border:1px solid #ffc24b70;border-radius:24px;margin:auto;max-width:460px;width:calc(100% - 36px);box-shadow:0 30px 100px #0008}.unlock-dialog::backdrop{background:#0b1121b3;backdrop-filter:blur(5px)}.unlock-dialog p{color:#c8ccda;font-size:15px}.unlock-dialog .cta{width:100%;margin:15px 0 0}
.suite-lock{position:relative;padding:24px 0;margin:10px 0 25px}.suite-lock h3{filter:blur(3px);opacity:.5;user-select:none}.suite-lock p{color:var(--muted)}
@media(max-width:850px){.profile-overview{grid-template-columns:1fr}.profile-progress{justify-content:space-around}.profile-counts{grid-template-columns:1fr 1fr;gap:25px}}
@media(max-width:600px){.brand-nav{gap:12px!important}.brand .nav-profile{padding:5px 10px}.auth-card{padding:25px 20px;border-radius:21px}.profile-test-grid,.profile-package-grid{grid-template-columns:1fr}.profile-account{margin-bottom:28px}.profile-spotlight,.profile-progress{padding:24px}.profile-progress{gap:22px}.profile-progress-ring{flex-basis:128px;width:128px;height:128px}.profile-progress-ring strong{font-size:29px}.profile-counts{grid-template-columns:1fr;gap:13px}.profile-counts strong{font-size:25px}.verification-note{align-items:flex-start;flex-direction:column;gap:4px}.profile-empty>p{font-size:16px}.profile-test-card{padding:23px}}
@media(max-width:390px){.brand-name{font-size:11px!important;letter-spacing:.12em!important}.brand-nav{gap:8px!important}.brand-nav .nav-link{font-size:11px!important}.brand{padding-left:12px!important;padding-right:12px!important}}
@media(prefers-reduced-motion:reduce){.profile-orbit span{animation:none}.profile-test-card{transition:none}}

.auth-form .cta,.unlock-dialog .cta{justify-content:center;text-align:center}

.profile-settings{margin:35px 0;color:var(--muted);font-size:14px}.profile-settings summary{cursor:pointer}.profile-settings .auth-switch{margin-left:0}.profile-settings .google-signin{align-items:flex-start}

.profile-wallet{display:flex;align-items:center;gap:25px;width:100%;margin:0 0 28px;padding:25px 30px;text-align:left;color:var(--text);font:inherit;border:1px solid #ffc24b60;border-radius:22px;background:radial-gradient(ellipse at 4% 50%,#ffc24b17,transparent 65%),linear-gradient(120deg,#202d46ed,#172036e8);box-shadow:0 0 45px -30px #ffc24b80;cursor:pointer;transition:border-color .3s,box-shadow .3s}
.profile-wallet:hover,.profile-wallet:focus-visible{border-color:#ffc24bad;box-shadow:0 0 40px -19px #ffc24b80}.wallet-coin{flex:0 0 61px;display:grid;place-items:center;width:61px;height:61px;border:1px solid #ffcb7955;border-radius:50%;color:#ffd38a;font-size:29px;background:radial-gradient(circle,#ffc24b19,transparent 75%);box-shadow:0 0 0 6px #ffc24b05;text-shadow:0 0 20px #ffc24b77}
.wallet-balance{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:10px;min-width:125px}.wallet-balance>span:first-child{grid-column:1/-1;color:#ffc96f;letter-spacing:.1em;font-size:10px;text-transform:uppercase}.wallet-balance strong{font:42px var(--serif)}.wallet-balance>span:last-child{color:var(--muted);font-size:12px}.wallet-copy{border-left:1px solid #ffc24b26;padding-left:25px;display:grid;gap:10px;max-width:610px}.wallet-copy strong{font-size:14px;line-height:1.65;font-weight:400;color:#ccd0dd}.wallet-copy>span{color:#ffd087;font-size:13px}
.profile-test-card.locked .test-status{color:#a4aec5}.profile-unlock{cursor:pointer;margin-top:0;font:600 13px var(--sans);padding:10px 17px;transition:box-shadow .2s}.profile-unlock:hover{box-shadow:0 0 22px #ffc24b22}.saved-preview-link{margin-top:14px}.profile-package{cursor:pointer;transition:border-color .25s,box-shadow .25s;position:relative;display:flex;flex-direction:column;align-items:flex-start}.profile-package:hover:enabled{border-color:#ffd080;box-shadow:0 0 28px #ffc24b20}.profile-package:disabled{opacity:.5;cursor:default}.credit-shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.credit-shop-grid .profile-package{padding:24px 19px}.credit-shop-grid .credit-product-name{font-size:13px;font-weight:600;letter-spacing:.04em}.credit-shop-grid strong{font-size:35px;margin:15px 0 10px}.credit-shop-grid p{flex:1;font-size:13px;margin:12px 0 20px}.credit-shop-grid .credit-shop-choice{color:#ffcf83;line-height:1.5;font-size:12px}.credit-original-price{font-size:13px!important;color:#a9adc0;text-decoration:line-through}.wallet-discount{padding:14px 19px;border:1px solid #ffc24b40;border-radius:13px;background:#ffc24b09;color:#ffd38b;font-size:14px}.wallet-terms{text-align:center;color:#c6bca8;font-size:12px;margin:23px 0 17px}.wallet-footnote{font-size:12px!important;margin:6px 0;line-height:1.6}.wallet-owned{font:26px var(--serif);color:#ffd38b;margin:25px 0 12px}.credit-dialog{max-width:920px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:30px;background:radial-gradient(ellipse at top right,#ffc24b0c,transparent 55%),#162239}.credit-dialog .credit-shop{margin:5px 0 0;padding:0;border:0}.credit-dialog .credit-shop h2{font:clamp(28px,4vw,38px) var(--serif);margin:14px 0}.credit-dialog .credit-shop .eyebrow{margin:0}.credit-dialog-close{display:block;margin:0 0 20px auto;padding:8px 12px;border:1px solid #c9d0e137;border-radius:25px;background:none;color:#cbd0df;font:12px var(--sans);cursor:pointer}.credit-dialog .credit-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-dialog .profile-package p{font-size:14px}.credit-dialog .status{margin-bottom:0}.credit-dialog:focus{outline:none}
@media(max-width:900px){.credit-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.profile-wallet{gap:16px;padding:22px;flex-wrap:wrap}.wallet-coin{flex-basis:53px;width:53px;height:53px}.wallet-copy{padding:0;border:0;flex-basis:100%}.credit-shop-grid,.credit-dialog .credit-shop-grid{grid-template-columns:1fr}.credit-shop-grid .profile-package{padding:23px}.credit-dialog{padding:22px 18px}.credit-dialog .credit-shop h2{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.profile-wallet,.profile-package,.profile-unlock{transition:none}}

.credit-shop .status:empty{display:none}.credit-shop .status:not(:empty){padding:12px 15px;border:1px solid #ffc24b40;border-radius:12px;background:#1b2942;font-size:13px;line-height:1.5}.credit-dialog .status:not(:empty){position:sticky;top:42px;z-index:2}.credit-dialog-close{position:sticky;top:0;z-index:3;background:#19263d}

/* Reserve a full-width slot for the official Google button, with no placeholder click. */
.google-signin{width:100%;min-width:0}
.google-button-frame{position:relative;width:100%;aspect-ratio:10;min-height:44px}
.google-button-mount{position:absolute;top:0;left:0;transform-origin:top left}
.google-loading{display:flex;align-items:center;justify-content:center;min-height:44px;font:14px var(--sans);color:var(--muted)}

.google-button-frame.is-unavailable{aspect-ratio:auto;height:auto!important}
