:root{--bg:#f6f7f9;--paper:#fff;--ink:#101828;--muted:#667085;--line:#e4e7ec;--blue:#2563eb;--blue-deep:#1d4ed8;--blue-soft:#eff6ff;--blue-wash:#f8fbff;--green:var(--blue);--green-deep:var(--blue-deep);--green-soft:var(--blue-soft);--green-wash:var(--blue-wash);--red:#b42318;--red-soft:#fef3f2;--shadow:0 10px 30px rgba(16,24,40,.05);--radius:18px;--plus:#111827;--plus-soft:#f2f4f7;}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Inter Variable,'Noto Sans SC Variable','Noto Sans SC','Microsoft YaHei UI',sans-serif;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,#eef4ff 0,transparent 34%),var(--bg)}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
.app-shell{width:min(1240px,calc(100% - 56px));margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:38px;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:44px 0 34px;display:flex;flex-direction:column}.brand-lockup{border:0;background:none;text-align:left;padding:0;cursor:pointer}.brand-lockup strong{display:block;font-size:20px;letter-spacing:.16em}.brand-lockup.plus strong{color:var(--blue);font-weight:800}.brand-lockup span{display:block;margin-top:6px;font-size:12px;color:var(--muted);letter-spacing:.05em}.nav-list{display:grid;gap:6px;margin-top:58px}.nav-item{border:0;background:transparent;border-radius:10px;padding:12px 14px;text-align:left;color:#6e7971;cursor:pointer;font-weight:600}.nav-item:hover{background:#f2f6ff;color:var(--ink)}.nav-item.active{background:#eaf1ff;color:var(--green-deep)}.side-foot{margin-top:auto;font-size:11px;color:#889188;display:flex;align-items:center;gap:8px;padding:0 12px}.status-dot{width:7px;height:7px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}.main-stage{padding:56px 0 80px;min-width:0}.mobile-nav{display:none}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px}.page-head h1{margin:6px 0 0;font-size:34px;line-height:1.18;letter-spacing:-.04em;font-weight:720}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.17em;color:var(--green);font-weight:750}.page-meta{font-size:13px;color:var(--muted)}.xhs-beta-strip{width:100%;min-height:44px;cursor:pointer;text-align:left;margin:-12px 0 18px;padding:0 14px;border:1px solid #f0d7dc;border-radius:12px;background:rgba(255,255,255,.9);display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);box-shadow:0 4px 16px rgba(16,24,40,.03)}.xhs-beta-strip span{font-size:10px;font-weight:800;color:#ff2442;letter-spacing:.06em}.xhs-beta-strip strong{font-size:13px}.xhs-beta-strip em{font-size:11px;color:var(--muted);font-style:normal}.xhs-beta-strip b{margin-left:auto;font-size:11px;color:#b4233f}.xhs-beta-strip:hover{border-color:#e8b9c3;background:#fff}.xhs-beta-card{margin:0 0 18px;padding:22px 24px;border:1px solid #f0d7dc;border-radius:18px;background:linear-gradient(135deg,#fff8fa,#fff);display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow)}.xhs-beta-card>div:first-child>span{font-size:10px;font-weight:800;color:#ff2442;letter-spacing:.08em}.xhs-beta-card h2{margin:7px 0 6px;font-size:21px;letter-spacing:-.03em}.xhs-beta-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.xhs-beta-card p strong{color:#c5213b;font-size:15px}.xhs-beta-card del{color:#98a2b3}.xhs-redeem{display:flex!important;gap:8px;min-width:330px}.xhs-redeem input{height:42px;min-width:180px;border:1px solid #e4cbd1;border-radius:10px;padding:0 12px;background:#fff;text-transform:uppercase;letter-spacing:.06em}.xhs-beta-card.redeemed{border-color:#d6e0f4;background:linear-gradient(135deg,#f8fbff,#fff)}.xhs-beta-card .plus-button,.xhs-redeem .plus-button{position:static;right:auto;bottom:auto;flex:0 0 auto;white-space:nowrap}.xhs-redeem{align-items:center}.primary,.ghost{min-height:46px;border-radius:12px;padding:0 20px;border:1px solid transparent;font-weight:700;cursor:pointer}.primary{background:var(--green);color:white;box-shadow:0 8px 20px rgba(37,99,235,.18)}.primary:hover{background:var(--green-deep)}.primary:disabled{opacity:.35;cursor:not-allowed}.ghost{background:white;border-color:var(--line)}.ghost:hover{border-color:#b8c7dd}.toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%);background:#1e2921;color:white;padding:11px 16px;border-radius:10px;font-size:13px;z-index:50;box-shadow:var(--shadow)}
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px}.hero-card,.quiet-card,.mode-card,.stats-panel,.settings-panel{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-card{border-radius:20px;padding:28px}.today-line{display:flex;justify-content:space-between;align-items:flex-start}.today-line span{font-size:13px;color:var(--muted)}.today-line strong{display:block;margin-top:8px;font-size:42px;letter-spacing:-.055em}.today-line em{font-size:22px;color:#9aa49d;font-style:normal;font-weight:560}.percent{font-weight:700;color:var(--green-deep)!important;margin-top:7px}.progress{height:9px;border-radius:99px;background:#edf2ee;overflow:hidden;margin:25px 0 22px}.progress i{display:block;height:100%;border-radius:99px;background:var(--green)}.hero-cta{width:100%;display:flex;justify-content:space-between;align-items:center}.hero-cta span{font-size:11px;opacity:.65}.quiet-card{border-radius:18px;padding:18px 20px;display:grid}.quiet-card div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1ed;padding:10px 0}.quiet-card div:last-child{border:0}.quiet-card span{font-size:12px;color:var(--muted)}.quiet-card strong{font-size:17px}.mode-section{margin-top:32px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{font-size:17px;margin:0;letter-spacing:-.02em}.section-title span{font-size:12px;color:var(--muted)}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mode-card{border-radius:15px;padding:18px;text-align:left;cursor:pointer;min-height:126px;display:flex;flex-direction:column;transition:.16s transform,.16s border-color}.mode-card:hover{transform:translateY(-2px);border-color:#b8c7dd}.mode-card:disabled{opacity:.42;cursor:not-allowed;transform:none}.mode-card span,.mode-card small{font-size:11px;color:var(--muted)}.mode-card strong{font-size:18px;margin:12px 0 7px;letter-spacing:-.02em}.subject-mode{background:linear-gradient(145deg,#fff,#fafbfc)}.empty-state,.empty-inline{border:1px dashed #d8e1da;border-radius:14px;padding:18px;color:var(--muted);margin-top:18px}.empty-state strong{display:block;color:var(--ink);margin-bottom:5px}.empty-state span{font-size:13px}
.onboarding{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:42px 0 70px}.onboard-head{display:flex;justify-content:space-between;align-items:flex-end}.onboard-head h1{font-size:24px;margin:5px 0 0;letter-spacing:-.035em}.step-count{font-size:12px;color:var(--muted)}.onboard-progress{height:3px;background:#e4eae5;margin:22px 0 38px}.onboard-progress i{display:block;height:100%;background:var(--green);transition:width .2s}.onboard-card{width:min(760px,100%);margin:0 auto;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;padding:34px 38px;box-shadow:var(--shadow)}.onboard-card.wide{width:100%}.onboard-card.compact{width:min(650px,100%)}.onboard-card h2{font-size:30px;letter-spacing:-.045em;margin:8px 0}.subtle,.microcopy{color:var(--muted);font-size:13px;line-height:1.75}.province-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:28px}.province-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px 12px;text-align:left;cursor:pointer;min-height:76px}.province-card strong{font-size:15px}.province-card span{display:block;font-size:10px;color:#939c95;margin-top:8px}.province-card:hover,.province-card.selected{border-color:#8fb0f5;background:var(--green-wash)}.province-card.selected{box-shadow:inset 0 0 0 1px #c7d8fb}.onboard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.field{display:grid;gap:8px}.field span{font-size:12px;color:#667269;font-weight:650}.field input,.field select{height:47px;border:1px solid #dce4de;border-radius:10px;background:#fbfcfb;padding:0 13px;color:var(--ink)}.field input::placeholder{color:#aab2ac}.span-2{grid-column:span 2}.notice{background:#f7f3e9;border:1px solid #ebe2c9;color:#796d4f;padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.6;margin-top:18px}.rule-summary{display:flex;gap:30px;flex-wrap:wrap;margin:26px 0 16px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rule-summary div{display:grid;gap:4px}.rule-summary span{font-size:11px;color:var(--muted)}.rule-summary strong{font-size:14px}.subject-list{display:grid;gap:8px}.subject-row{display:flex;justify-content:space-between;align-items:center;background:#fafcfa;border:1px solid #edf1ed;border-radius:10px;padding:13px 14px}.subject-row strong{font-size:14px}.coverage{font-size:10px;color:#9a7658}.coverage.ok{color:var(--green-deep)}.goal-number{display:flex;align-items:baseline;gap:9px;margin:28px 0 14px}.goal-number strong{font-size:64px;letter-spacing:-.06em}.goal-number span{color:var(--muted)}.goal-range{width:100%;accent-color:var(--green)}.goal-presets{display:flex;gap:8px;margin:14px 0}.goal-presets button,.mini-select{border:1px solid var(--line);background:white;border-radius:9px;padding:8px 13px;cursor:pointer}.goal-input{max-width:180px;margin-top:18px}.difficulty-grid{display:grid;gap:10px;margin-top:25px}.difficulty-card{border:1px solid var(--line);border-radius:12px;background:white;padding:17px;text-align:left;cursor:pointer}.difficulty-card strong{display:block;font-size:15px}.difficulty-card span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.difficulty-card.selected{border-color:#8fb0f5;background:var(--green-wash);box-shadow:inset 0 0 0 1px #c7d8fb}
.quiz-page{min-height:100vh;padding:28px 32px 24px;display:flex;flex-direction:column;background:linear-gradient(180deg,#f7f8fa,#f4f6f9)}.quiz-top{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:100px 1fr 100px;gap:20px;align-items:center}.exit-button{border:0;background:none;color:var(--muted);cursor:pointer;text-align:left}.quiz-subject{text-align:right;font-size:12px;color:var(--green-deep);font-weight:700}.quiz-progress span{display:block;text-align:center;font-size:11px;color:var(--muted);margin-bottom:8px}.quiz-progress i{display:block;height:4px;background:#e2e9e3;border-radius:99px;overflow:hidden}.quiz-progress b{display:block;height:100%;background:var(--green);border-radius:99px}.question-stage{width:min(800px,100%);margin:74px auto 30px}.question-meta{display:flex;gap:8px;min-height:22px}.question-meta span{font-size:10px;letter-spacing:.04em;color:#7f8981;background:#eef2f6;border-radius:99px;padding:5px 9px}.question-title{font-size:28px;line-height:1.55;letter-spacing:-.025em;margin:16px 0 28px;font-weight:670}.choices{display:grid;gap:11px}.choice{width:100%;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;border:1px solid #dfe6e0;background:#fff;border-radius:13px;padding:13px 15px;text-align:left;cursor:pointer;min-height:62px;box-shadow:0 5px 18px rgba(40,60,47,.025)}.choice:hover{border-color:#a8bce0;background:#fbfdff}.choice kbd,.judge-button kbd{width:29px;height:29px;border-radius:8px;background:#f0f4f1;color:#5f6d63;display:grid;place-items:center;font-family:inherit;font-size:11px;border:1px solid #e3e9e4}.choice span{font-size:15px;line-height:1.5}.choice.correct,.judge-button.correct{border-color:#6f9a7c;background:#edf6ef;box-shadow:inset 0 0 0 1px rgba(78,127,91,.18)}.choice.correct kbd{background:#62866e;color:white;border-color:#62866e}.choice.wrong,.judge-button.wrong{border-color:#c76b6f;background:var(--red-soft);box-shadow:inset 0 0 0 1px rgba(184,76,80,.12)}.choice.wrong kbd{background:var(--red);color:white;border-color:var(--red)}.true-false{display:grid;grid-template-columns:1fr 1fr;gap:14px}.judge-button{border:1px solid var(--line);background:white;border-radius:14px;min-height:90px;display:flex;align-items:center;gap:14px;justify-content:center;cursor:pointer}.judge-button strong{font-size:18px}.fill-wrap{display:flex;gap:10px}.fill-input{flex:1;height:58px;border:1px solid #d7e0d9;border-radius:12px;background:#fff;padding:0 16px;font-size:16px}.fill-submit{height:58px}.feedback{margin-top:20px;border-radius:14px;padding:16px 17px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.feedback.success{background:#e9f3eb;border:1px solid #bdd4c3;color:#335942}.feedback.error{background:#f8e8e8;border:1px solid #e1b7b9;color:#873d40}.feedback div{display:grid;gap:6px}.feedback strong{font-size:15px}.feedback span{font-size:13px;line-height:1.65}.feedback button{border:0;background:none;font-weight:700;cursor:pointer;color:inherit;white-space:nowrap}.keyboard-hint{margin-top:auto;text-align:center;color:#9ba49d;font-size:10px;letter-spacing:.03em}.keyboard-hint kbd,.feedback kbd{font-family:inherit}.result-wrap{width:min(760px,100%);margin:64px auto 0;text-align:center;position:relative}.result-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-deep);font-size:25px;margin:0 auto 20px}.result-wrap h1{font-size:34px;letter-spacing:-.045em;margin:9px 0 30px}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;background:white;overflow:hidden;box-shadow:var(--shadow)}.result-grid div{padding:20px 12px;border-right:1px solid var(--line)}.result-grid div:last-child{border:0}.result-grid span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.result-grid strong{font-size:20px}.checkin-line{margin:18px 0;color:var(--green-deep);font-size:12px}.checkin-line.muted{color:var(--muted)}.result-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.result-mascot{position:absolute;width:82px;right:-24px;bottom:-38px;opacity:.76;pointer-events:none}
.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.stat-grid>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 15px}.stat-grid span{display:block;font-size:11px;color:var(--muted)}.stat-grid strong{font-size:26px;margin-top:8px;display:inline-block;letter-spacing:-.04em}.stat-grid small{font-size:10px;color:var(--muted);margin-left:3px}.stats-panel{margin-top:18px;border-radius:17px;padding:21px 22px}.performance-row{display:grid;grid-template-columns:90px 1fr 44px;align-items:center;gap:14px;padding:10px 0}.performance-row strong{font-size:13px}.performance-row div{height:7px;background:#edf2ee;border-radius:99px;overflow:hidden}.performance-row i{display:block;height:100%;background:var(--green);border-radius:99px}.performance-row span{text-align:right;color:var(--muted);font-size:11px}.weak-list{display:flex;flex-wrap:wrap;gap:8px}.weak-chip,.pill{border:1px solid var(--line);background:#fafbfc;border-radius:99px;padding:7px 10px;font-size:11px}.settings-panel{border-radius:17px;padding:4px 22px;margin-bottom:14px}.setting-line{min-height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1ed}.setting-line:last-child{border:0}.setting-line>div{display:grid;gap:5px}.setting-line span{font-size:11px;color:var(--muted)}.setting-line strong{font-size:14px}.setting-line.column{display:grid;gap:13px;padding:17px 0}.pill-row,.inline-selects{display:flex;flex-wrap:wrap;gap:8px}.text-button{border:0;background:none;color:var(--green-deep);font-size:12px;cursor:pointer}.profile-logout{min-height:38px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#344054;padding:0 14px;font-size:12px;font-weight:700;cursor:pointer}.profile-logout:hover{border-color:#98a2b3;background:#f9fafb}.profile-logout.compact{min-height:34px;padding:0 12px}.profile-page-head{align-items:center}.profile-mode-card{margin:-10px 0 18px;padding:16px 18px;border:1px solid #e4e7ec;border-radius:14px;background:rgba(255,255,255,.82);display:flex;align-items:center;justify-content:space-between;box-shadow:0 6px 20px rgba(16,24,40,.035)}.profile-mode-card>div{display:grid;gap:3px}.profile-mode-card span{font-size:9px;letter-spacing:.16em;color:#98a2b3;font-weight:800}.profile-mode-card strong{font-size:18px;letter-spacing:.12em}.profile-mode-card small{font-size:11px;color:#98a2b3}.profile-mode-card.plus{border-color:#cfdcf5;background:linear-gradient(180deg,#fff,#f8fbff)}.profile-mode-card.plus strong{color:var(--blue)}.account-logout-row{background:#fcfcfd}.mini-select.selected{background:var(--green-soft);border-color:#b8cabd;color:var(--green-deep)}.memory-copy{font-size:13px;color:#667168;line-height:1.8;margin:0 0 20px}.danger-zone{padding:18px 22px;display:flex;align-items:center;justify-content:space-between}.danger-zone>div{display:grid;gap:5px}.danger-zone span{font-size:11px;color:var(--muted)}.danger-button{border:1px solid #e3c7c8;background:#fffafa;color:#a1474a;border-radius:9px;padding:8px 12px;cursor:pointer}.about-line{display:flex;justify-content:space-between;padding:12px 5px;color:var(--muted);font-size:11px}.about-line strong{letter-spacing:.12em;color:#536158}.fatal{width:min(560px,calc(100% - 40px));margin:20vh auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px;display:grid;gap:10px}.fatal span{color:var(--red)}.fatal small{color:var(--muted)}
@media(max-width:1024px){.app-shell{width:min(940px,calc(100% - 34px));grid-template-columns:180px 1fr;gap:25px}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.province-grid{grid-template-columns:repeat(4,1fr)}.stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.xhs-beta-strip{gap:8px}.xhs-beta-card{display:grid;padding:18px}.xhs-redeem{min-width:0;display:grid!important}.xhs-redeem input{width:100%;min-width:0}.xhs-beta-strip em{display:none}body{background:#f7f8fa}.app-shell{width:100%;display:block}.sidebar{display:none}.main-stage{padding:28px 18px 88px}.mobile-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;height:64px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:7px max(10px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom))}.mobile-nav .nav-item{text-align:center;padding:8px}.page-head{align-items:flex-start;margin-bottom:24px}.page-head h1{font-size:28px}.page-meta{font-size:11px;margin-top:7px}.home-grid{grid-template-columns:1fr}.quiet-card{grid-template-columns:repeat(3,1fr);gap:12px}.quiet-card div{display:grid;gap:4px;border:0;text-align:center}.hero-card{padding:22px}.today-line strong{font-size:36px}.mode-grid{grid-template-columns:1fr 1fr}.mode-card{min-height:112px}.onboarding{width:calc(100% - 28px);padding:24px 0 50px}.onboard-card{padding:24px 20px;border-radius:17px}.onboard-card h2{font-size:25px}.province-grid{grid-template-columns:repeat(3,1fr);gap:7px}.province-card{padding:12px 9px;min-height:70px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.quiz-page{padding:18px 16px 20px}.quiz-top{grid-template-columns:62px 1fr 62px;gap:10px}.question-stage{margin:46px auto 24px}.question-title{font-size:22px;margin-bottom:22px}.choice{grid-template-columns:36px 1fr;padding:12px;min-height:58px}.feedback{display:grid}.keyboard-hint{display:none}.result-grid{grid-template-columns:1fr 1fr}.result-grid div:nth-child(2){border-right:0}.result-grid div:nth-child(-n+2){border-bottom:1px solid var(--line)}.result-mascot{display:none}.stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:430px){.mode-grid{grid-template-columns:1fr}.province-grid{grid-template-columns:repeat(2,1fr)}.quiet-card{padding:13px}.page-head h1{font-size:26px}.question-stage{margin-top:38px}.question-title{font-size:21px}.true-false{grid-template-columns:1fr 1fr}.fill-wrap{display:grid}.fill-submit{height:48px}.stat-grid{grid-template-columns:repeat(2,1fr)}.result-wrap{margin-top:28px}.result-wrap h1{font-size:29px}}

/* Membership UI */
.premium-mode{position:relative;background:linear-gradient(145deg,#fff,#f7faf8);padding-right:78px}
.lock-mark,.access-mark{position:absolute;right:14px;top:14px;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:750;letter-spacing:.04em}
.lock-mark{background:#eef2ef;color:#7a857e;border:1px solid #dfe6e1}
.access-mark{background:#e8f1eb;color:var(--green-deep);border:1px solid #cfe0d4}
.membership-entry{background:linear-gradient(90deg,rgba(234,241,236,.55),transparent);margin:0 -22px;padding:0 22px}
.membership-entry strong{color:var(--green-deep)}
.head-actions{display:flex;align-items:center;gap:14px}
.membership-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow)}
.membership-hero h2{font-size:30px;letter-spacing:-.04em;margin:9px 0 10px}
.membership-hero p{max-width:620px;color:var(--muted);font-size:13px;line-height:1.75;margin:0}
.membership-kicker{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--green)}
.membership-status{border-left:1px solid var(--line);padding-left:24px;display:grid;align-content:center;grid-template-columns:82px 1fr;gap:8px 12px}
.membership-status span{font-size:11px;color:var(--muted)}
.membership-status strong{font-size:13px;text-align:right}
.membership-status small{grid-column:1/-1;text-align:right;margin-top:7px;color:#8b958e;font-size:10px}
.membership-section{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:var(--shadow)}
.compare-table{border:1px solid #e6ece7;border-radius:13px;overflow:hidden}
.compare-head,.compare-row{display:grid;grid-template-columns:minmax(0,1fr) 94px 94px;align-items:center;min-height:46px;padding:0 14px;border-bottom:1px solid #edf1ed}
.compare-row:last-child{border-bottom:0}
.compare-head{background:#fafbfc;color:var(--muted);font-size:10px;font-weight:700}
.compare-head b,.compare-row b{text-align:center;font-size:12px}
.compare-row span{font-size:13px}
.compare-row b{color:#aab2ac;font-weight:720}
.compare-row b.yes{color:var(--green-deep)}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.plan-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfcfb;display:grid;gap:16px}
.plan-card>div:first-child{display:flex;justify-content:space-between;align-items:baseline}
.plan-card span{font-size:12px;color:var(--muted)}
.plan-card strong{font-size:15px}
.plan-price{font-size:21px;font-weight:720;letter-spacing:-.03em}
.plan-action{height:40px;border:1px solid #dde5df;border-radius:10px;background:#f0f4f1;color:#8b958e;font-weight:650}
.plan-action:disabled{cursor:not-allowed}
.payment-disclaimer{margin:14px 2px 0;color:#87918a;font-size:11px;line-height:1.7}
.membership-note,.gate-notice{margin-top:14px;border-radius:12px;padding:13px 15px;font-size:12px;line-height:1.65}
.membership-note{border:1px solid #e1e7e2;background:#fafbfc;color:#758078}
.membership-note code{font-size:10px;color:#5a6a5f}
.gate-notice{border:1px solid #cfded3;background:#eef5f0;display:flex;gap:12px;align-items:center;color:#53675a}
.gate-notice strong{color:var(--green-deep)}
.gate-notice span{color:#738078}
.purchase-list{display:grid}
.purchase-row{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid #edf1ed;font-size:12px;color:var(--muted)}
.purchase-row:last-child{border-bottom:0}
.custom-card{max-width:720px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow)}
.custom-card h2{font-size:29px;letter-spacing:-.04em;margin:8px 0}
.custom-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0 18px}
.custom-summary{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 2px;margin-bottom:18px}
.custom-summary span{font-size:11px;color:var(--muted)}
.custom-summary strong{font-size:15px}
.custom-card>.primary{width:100%}
@media(max-width:768px){.membership-hero{grid-template-columns:1fr;padding:22px}.membership-status{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.plan-grid{grid-template-columns:1fr}.compare-head,.compare-row{grid-template-columns:minmax(0,1fr) 70px 70px}.custom-controls{grid-template-columns:1fr}.head-actions{gap:8px}}
@media(max-width:430px){.membership-section{padding:16px}.membership-hero h2,.custom-card h2{font-size:25px}.gate-notice{display:grid}.premium-mode{padding-right:18px;padding-top:46px}.lock-mark,.access-mark{left:14px;right:auto}}

.backend-banner{margin:0 0 18px;padding:12px 14px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc;display:flex;gap:10px;align-items:baseline;font-size:12px;color:#667085}.backend-banner strong{color:#2456a6;white-space:nowrap}.backend-banner.offline{background:#fbf8f1;border-color:#e8dfcc}.backend-banner.offline strong{color:#806d48}.account-panel{padding:18px 22px}.account-panel .section-title{margin-bottom:4px}.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #edf1ed}.auth-grid:last-of-type{border-bottom:0}.auth-grid .primary,.auth-grid .ghost{min-width:140px}.account-panel .microcopy{margin:12px 0 2px}
@media(max-width:600px){.backend-banner{display:grid}.auth-grid{grid-template-columns:1fr}.auth-grid .primary,.auth-grid .ghost{width:100%}.xhs-beta-card .plus-button,.xhs-redeem .plus-button{width:100%}.profile-page-head .profile-logout{min-width:92px}}

/* Mini mock */
.mini-home-card{margin-top:18px;background:linear-gradient(135deg,#f8fbf8,#fff);border:1px solid #dce7de;border-radius:18px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:var(--shadow)}
.mini-home-card h2{margin:7px 0 5px;font-size:22px;letter-spacing:-.03em}.mini-home-card p{margin:0;color:var(--muted);font-size:12px}.mini-home-card .primary{white-space:nowrap}
.mini-intro{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;justify-content:space-between;gap:28px;align-items:center;box-shadow:var(--shadow)}
.mini-intro h2{margin:0 0 8px;font-size:27px;letter-spacing:-.04em}.mini-intro p{margin:0;color:var(--muted);font-size:13px;line-height:1.7;max-width:650px}
.mini-rule{display:grid;grid-template-columns:auto auto;gap:1px 8px;align-items:baseline;min-width:140px}.mini-rule span{font-size:30px;font-weight:750;letter-spacing:-.04em}.mini-rule small{font-size:10px;color:var(--muted)}
.mini-region-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:18px 0}.mini-region{background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:12px;padding:13px 14px;display:grid;gap:5px}.mini-region strong{font-size:14px}.mini-region span{font-size:10px;color:var(--muted)}.mini-region.active{background:var(--green-soft);border-color:#b9ccbe}
.mini-start-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:26px;align-items:center;box-shadow:var(--shadow)}.mini-start-card h2{font-size:25px;margin:8px 0}.mini-start-card p{color:var(--muted);font-size:12px;line-height:1.7}.mini-start-card.unavailable{grid-template-columns:1fr auto}
.mini-start-meta{display:grid;gap:8px;border-left:1px solid var(--line);padding-left:24px}.mini-start-meta strong{font-size:20px}.mini-start-meta span{font-size:10px;color:var(--muted);margin-bottom:5px}.mock-source-panel{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mock-source-panel>span{font-size:10px;color:var(--muted);font-weight:700}.mock-source-panel>div{display:flex;gap:7px;flex-wrap:wrap}.mock-source-link{font-size:10px;color:var(--blue-deep);text-decoration:none;border:1px solid #d8e2f4;background:#f8fbff;border-radius:999px;padding:5px 8px}.mock-source-link:hover{background:#eff6ff;border-color:#b8c9e9}.mini-disclaimer{font-size:11px;color:#89938b;line-height:1.7;margin:14px 3px 0}
.mini-clock{text-align:right;font-size:15px;font-weight:750;color:var(--green-deep);font-variant-numeric:tabular-nums}.mini-exam-actions{margin-top:20px;border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;align-items:center}.mini-exam-actions span{font-size:11px;color:var(--muted)}
.mini-result-hero{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;box-shadow:var(--shadow)}.mini-score{display:grid;place-items:center;border-right:1px solid var(--line)}.mini-score strong{font-size:64px;letter-spacing:-.07em;color:var(--green-deep)}.mini-score span{font-size:11px;color:var(--muted)}.mini-result-copy h2{font-size:25px;margin:0 0 8px}.mini-result-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}
@media(max-width:768px){.mini-home-card,.mini-intro{align-items:flex-start;display:grid}.mini-home-card .primary{width:100%}.mini-region-grid{grid-template-columns:repeat(2,1fr)}.mini-start-card,.mini-start-card.unavailable{grid-template-columns:1fr}.mini-start-meta{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.mini-result-hero{grid-template-columns:110px 1fr}.mini-score strong{font-size:50px}}
@media(max-width:430px){.mini-intro{padding:21px}.mini-rule{grid-template-columns:auto auto}.mini-result-hero{grid-template-columns:1fr;text-align:center}.mini-score{border-right:0;border-bottom:1px solid var(--line);padding-bottom:18px}}

/* Home simplification · desktop-first */
.mixed-mode{position:relative;background:linear-gradient(145deg,#fff,#f5f9f6)}
.adhd-badge{position:absolute;right:13px;top:12px;padding:4px 7px;border:1px solid #d7e2da;border-radius:999px;background:#f1f6f2;color:var(--green-deep)!important;font-size:9px!important;font-weight:780;letter-spacing:.06em}
.more-training{margin-top:22px}.training-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.training-strip button{position:relative;min-height:64px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.78);padding:12px 14px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}
.training-strip button:hover{border-color:#b8c7dd;background:#fff}.training-strip button:disabled{opacity:.42;cursor:not-allowed}
.training-strip button>span:first-child{font-size:13px;font-weight:680}.training-strip button>small{font-size:10px;color:var(--muted);margin-right:0}.training-premium{padding-right:72px!important}
.training-strip .lock-mark,.training-strip .access-mark{top:50%;right:12px;transform:translateY(-50%)}
@media(min-width:1025px){.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mode-card{min-height:110px;padding:16px}.mode-card strong{margin:10px 0 6px}}
@media(max-width:768px){.training-strip{grid-template-columns:1fr 1fr}}

/* Numeric alignment + production polish */
.today-line strong,.today-line em,.percent,.quiet-card strong,.goal-number strong,.stat-grid strong,.stat-grid small,.result-grid strong,.mini-score strong,.mini-rule span,.mini-clock,.performance-row span,.custom-summary strong{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
.today-line strong{display:flex;align-items:baseline;gap:6px;line-height:1}.today-line em{line-height:1}.percent,.quiet-card strong,.stat-grid strong,.result-grid strong,.mini-score strong{line-height:1.05}
.stat-grid>div,.result-grid>div{display:flex;flex-direction:column;justify-content:center}.stat-grid strong{margin-top:10px}.stat-grid small{margin-left:0;margin-top:4px;display:block}

/* Membership analytics */
.weakness-panel{overflow:hidden}
.weakness-stack{display:grid;gap:10px}
.weakness-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:22px;align-items:center;padding:15px 0;border-bottom:1px solid #edf1ed}
.weakness-row:last-child{border-bottom:0}.weakness-copy{display:grid;gap:4px}.weakness-copy span{font-size:10px;color:var(--muted)}.weakness-copy strong{font-size:14px}.weakness-copy small{font-size:10px;color:#8c958f}
.weakness-score{display:grid;gap:7px;text-align:right}.weakness-score b{font-size:17px;color:var(--green-deep);font-variant-numeric:tabular-nums}.weakness-score i{height:6px;background:#edf2ee;border-radius:999px;overflow:hidden}.weakness-score em{display:block;height:100%;background:var(--green);border-radius:999px}
.locked-analysis{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff,#f6faf7)}.locked-analysis h2{margin:6px 0}.locked-analysis p{margin:0;color:var(--muted);font-size:12px;line-height:1.7;max-width:620px}.locked-analysis .primary{white-space:nowrap}
.report-section{margin-top:18px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.report-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow);display:grid;gap:12px}.report-card>span{font-size:11px;color:var(--muted)}.report-card>strong{font-size:25px;letter-spacing:-.04em}
.report-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #edf1ed;padding-top:13px;gap:12px}.report-metrics b{font-size:16px}.report-metrics small{display:block;font-size:9px;color:var(--muted);margin-top:4px;font-weight:500}
.locked-report{background:linear-gradient(145deg,#fff,#fafbfc)}.locked-report p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.locked-report .text-button{justify-self:start;padding:0}
@media(max-width:768px){.weakness-row{grid-template-columns:1fr}.weakness-score{text-align:left}.locked-analysis{display:grid}.report-grid{grid-template-columns:1fr}}

/* VANTAGE 16 · monochrome + blue system */
html,body{background:#f6f7f9;color:var(--ink)}
body{background:#f6f7f9}
button,input,select{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}
.primary{background:var(--blue);box-shadow:0 8px 20px rgba(37,99,235,.16)}
.primary:hover{background:var(--blue-deep)}
.ghost{background:#fff;border-color:#dfe3e8}
.ghost:hover{border-color:#b8c2d0;background:#fafbfc}
.toast{background:#101828;color:#fff;box-shadow:0 12px 30px rgba(16,24,40,.16)}
.brand-lockup strong,.boot-brand{color:#101828}
.nav-item{color:#667085}
.nav-item:hover{background:#f2f4f7;color:#101828}
.nav-item.active{background:#eef4ff;color:var(--blue-deep)}
.side-foot{color:#8b95a5}
.status-dot{background:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.eyebrow,.section-kicker,.quiz-subject,.text-button,.coverage.ok,.checkin-line{color:var(--blue-deep)}
.hero-card,.quiet-card,.mode-card,.stats-panel,.settings-panel,.membership-hero,.membership-section,.report-card,.custom-card,.mini-intro,.mini-start-card,.mini-result-hero{background:#fff;box-shadow:var(--shadow)}
.progress,.performance-row div,.weakness-score i{background:#eef2f6}
.progress i,.performance-row i,.weakness-score em,.quiz-progress b,.onboard-progress i{background:var(--blue)}
.empty-state,.empty-inline{border-color:#d8dee8}
.province-card,.difficulty-card,.goal-presets button,.mini-select{background:#fff;border-color:#dfe3e8}
.province-card:hover,.province-card.selected,.difficulty-card.selected,.mini-select.selected{background:#f8fbff;border-color:#9ab8f5;box-shadow:inset 0 0 0 1px #c7d8fb}
.field span{color:#667085}
.field input,.field select,.fill-input{background:#fff;border-color:#dce3ec;color:#101828}
.field input:focus,.field select:focus,.fill-input:focus{border-color:#8fb0f5;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.subject-row,.weak-chip,.pill{background:#fafbfc;border-color:#e4e7ec}
.quiz-page{background:#f6f7f9}
.quiz-progress i{background:#e4e8ef}
.question-meta span{background:#f2f4f7;color:#667085}
.choice,.judge-button{border-color:#dce3ec;box-shadow:0 5px 18px rgba(15,23,42,.025)}
.choice:hover{border-color:#b8c7dd;background:#fbfdff}
.choice kbd,.judge-button kbd{background:#f3f5f8;color:#5f6b7d;border-color:#e1e6ee}
.keyboard-hint{color:#98a2b3}
.boot-screen{background:#f6f7f9!important;color:#101828!important}
.boot-copy{color:#667085!important}
.boot-bar{background:#e4e7ec!important}
.boot-bar i{background:var(--blue)!important}

/* Account gate */
.auth-page{min-height:100vh;background:#f6f7f9;padding:40px 24px;display:grid;place-items:center}
.auth-shell{width:min(900px,100%);display:grid;grid-template-columns:minmax(260px,320px) minmax(0,460px);grid-template-areas:"brand card" "foot card";column-gap:32px;row-gap:18px;align-items:stretch;justify-content:center}
.auth-brand{grid-area:brand;min-height:0;padding:34px 30px;border:1px solid #e4e7ec;border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);display:flex;flex-direction:column}
.auth-brand>strong{display:block;font-size:24px;letter-spacing:.16em;font-weight:800;color:#101828}
.auth-brand>span{display:block;margin-top:10px;color:#667085;font-size:12px;letter-spacing:.04em}
.auth-brand-copy{margin-top:54px;padding-top:0}
.auth-brand-copy h2{max-width:280px;margin:0;font-size:30px;line-height:1.16;letter-spacing:-.045em;color:#101828}
.auth-brand-copy p{max-width:300px;margin:14px 0 0;color:#667085;font-size:12px;line-height:1.75}
.auth-brand-points{display:grid;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid #e4e7ec}
.auth-brand-points span{display:flex;align-items:baseline;gap:8px;margin:0;color:#667085;font-size:11px;letter-spacing:0}
.auth-brand-points b{min-width:48px;color:#174ea6;font-size:12px;letter-spacing:.02em}
.auth-card{grid-area:card;background:#fff;border:1px solid #e4e7ec;border-radius:20px;padding:34px 36px;box-shadow:0 16px 44px rgba(16,24,40,.06)}
.auth-eyebrow{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;background:#eef4ff;color:var(--blue-deep);padding:0 9px;font-size:10px;font-weight:800;letter-spacing:.12em}
.auth-card h1{margin:14px 0 8px;font-size:32px;line-height:1.2;letter-spacing:-.045em}
.auth-card>p{margin:0;color:#667085;font-size:13px;line-height:1.75}
.auth-fields{display:grid;gap:14px;margin-top:28px}
.auth-field{display:grid;gap:8px}
.auth-field span{font-size:12px;font-weight:650;color:#475467}
.auth-field input{height:50px;border:1px solid #dce3ec;border-radius:11px;background:#fff;padding:0 14px;color:#101828}
.auth-field input::placeholder{color:#98a2b3}
.auth-field input:focus{border-color:#8fb0f5;box-shadow:0 0 0 3px rgba(37,99,235,.08);outline:0}
.auth-field input.is-valid{border-color:#52a57a;background:#fbfffc;box-shadow:0 0 0 3px rgba(34,160,107,.06)}
.auth-field input.is-invalid{border-color:#e36b6b;background:#fffdfd;box-shadow:0 0 0 3px rgba(239,68,68,.05)}
.auth-field-note{min-height:16px;color:#98a2b3;font-size:10px;line-height:1.45}
.auth-field-note.is-valid{color:#18794e}
.auth-field-note.is-invalid{color:#b42318}
.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:10px;align-items:end}
.auth-code-button{height:50px;margin-bottom:24px;border:1px solid #c9d7f2;border-radius:11px;background:#f8fbff;color:#174ea6;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.auth-code-button:hover{background:#eef4ff}
.auth-code-button:disabled{cursor:not-allowed;opacity:.5}
.password-rule{margin-top:14px;padding:12px 14px;border:1px solid #dbe7ff;border-radius:11px;background:#f8fbff;display:grid;gap:5px}
.password-rule strong{font-size:11px;color:#2456a6}
.password-rule span{font-size:11px;line-height:1.65;color:#667085}
.auth-submit{width:100%;margin-top:20px}
.auth-switch{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:18px;font-size:12px;color:#667085}
.auth-switch button{border:0;background:transparent;color:var(--blue-deep);font-weight:700;padding:3px;cursor:pointer}
.auth-foot{grid-area:foot;border-top:1px solid #e4e7ec;padding-top:16px;display:grid;gap:8px;color:#667085;font-size:11px;line-height:1.6}
.auth-foot b{justify-self:start;border:1px solid #d3def1;background:linear-gradient(180deg,#fff,#f5f8fe);color:#315b9e;border-radius:999px;padding:5px 10px;font-size:9px;font-weight:800;letter-spacing:.10em;box-shadow:0 4px 12px rgba(37,99,235,.05)}

/* Home selection + Plus */
.quota-chip{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;border:1px solid #dbe7ff;background:#f8fbff;color:#2456a6!important;padding:0 10px;font-size:10px!important;font-weight:750;white-space:nowrap}
.daily-subject-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:4px 0 12px}
.daily-subject-title strong{font-size:14px}
.daily-subject-title span{font-size:11px;color:#667085}
.daily-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}
.daily-subject{min-height:66px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;padding:12px 13px;text-align:left;cursor:pointer;display:grid;gap:6px}
.daily-subject strong{font-size:14px}
.daily-subject span{font-size:10px;color:#667085}
.daily-subject:hover{border-color:#b8c7dd;background:#fbfdff}
.daily-subject.selected{border-color:#8fb0f5;background:#f8fbff;box-shadow:inset 0 0 0 1px #c7d8fb}
.daily-subject.selected strong{color:#174ea6}
.daily-subject:disabled{opacity:.42;cursor:not-allowed}
.plus-mode-card{position:relative;margin-top:18px;min-height:138px;border:1px solid #cbdafd;border-radius:18px;background:#fff;padding:24px 170px 24px 24px;box-shadow:0 10px 30px rgba(37,99,235,.06);display:flex;align-items:center}
.plus-mode-card h2{margin:8px 0 7px;font-size:22px;letter-spacing:-.035em}
.plus-mode-card p{margin:0;max-width:650px;color:#667085;font-size:12px;line-height:1.7}
.plus-kicker,.membership-kicker{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;border:1px solid #cfdcf5;background:linear-gradient(180deg,#ffffff 0%,#f3f7ff 100%);color:#234b8f!important;padding:0 10px;font-size:9px!important;font-weight:800;letter-spacing:.14em;box-shadow:0 5px 16px rgba(37,99,235,.07),inset 0 1px 0 rgba(255,255,255,.9)}
.plus-button{position:absolute;right:22px;bottom:22px;min-height:42px;border:0;border-radius:11px;background:var(--blue);color:#fff;padding:0 16px;font-weight:750;cursor:pointer}
.plus-button:hover{background:var(--blue-deep)}
.lock-mark,.access-mark{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:0 9px;border:1px solid #d5dfef;background:linear-gradient(180deg,#fff,#f7f9fd);color:#475467;box-shadow:0 4px 12px rgba(16,24,40,.04);font-size:9px;font-weight:800;letter-spacing:.09em}
.lock-mark::before,.access-mark::before{content:"✦";margin-right:5px;font-size:8px;color:#6f8fc8}
.access-mark{border-color:#bfd2f6;background:linear-gradient(180deg,#fafdff,#edf4ff);color:#174ea6}
.premium-mode{background:#fff;border-color:#dbe7ff}
.membership-entry{background:#f8fbff}
.membership-entry strong,.plus-text{color:var(--blue-deep)}
.plus-hero{border-color:#dbe7ff}
.membership-status{border-color:#e4e7ec}
.compare-table{border-color:#e4e7ec}
.compare-head{background:#f8fafc}
.compare-head,.compare-row,.purchase-row{border-color:#eef2f6}
.compare-row b.yes{color:var(--blue-deep)}
.plan-card{background:#fafbfc;border-color:#e4e7ec}
.plan-action{background:#f2f4f7;border-color:#e4e7ec;color:#98a2b3}
.membership-note{background:#f8fafc;border-color:#e4e7ec;color:#667085}
.gate-notice{background:#f8fbff;border-color:#cbdafd;color:#475467}
.gate-notice strong{color:#174ea6}
.locked-analysis,.locked-report{background:#fff;border-color:#dbe7ff}
.report-metrics{border-color:#eef2f6}
.training-strip button{background:#fff;border-color:#e4e7ec}
.training-strip button:hover{border-color:#b8c7dd;background:#fbfdff}
.backend-banner{background:#f8fbff;border-color:#dbe7ff;color:#667085}
.backend-banner strong{color:#2456a6}
.mini-home-card{background:#fff;border-color:#dbe7ff}
.mini-region.active{background:#f8fbff;border-color:#9ab8f5}

/* Final surface polish */
.onboard-progress{background:#e4e7ec}
.field input::placeholder{color:#98a2b3}
.subject-row{border-color:#eef2f6}
.quiz-top,.question-stage,.result-wrap{color:#101828}
.result-mark{background:#eef4ff;color:var(--blue-deep)}
.stat-grid>div{background:#fff}
.settings-panel,.stats-panel{border-color:#e4e7ec}
.setting-line{border-color:#eef2f6}
.memory-copy{color:#667085}
.about-line strong{color:#475467}
.mini-clock,.mini-score strong,.weakness-score b{color:var(--blue-deep)}
.mini-disclaimer,.payment-disclaimer{color:#8b95a5}
.account-panel .auth-grid{border-color:#eef2f6}
.more-training,.report-section{margin-top:22px}
.today-line em{color:#98a2b3}
.hero-card,.quiet-card{border-color:#e4e7ec}
.quiet-card div{border-color:#eef2f6}
.hero-cta{min-height:48px}
.page-head h1,.today-line strong,.goal-number strong,.stat-grid strong,.result-grid strong,.mini-score strong,.mini-rule span,.mini-clock,.performance-row span,.custom-summary strong{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
@media(max-width:768px){
  body{background:#f6f7f9}
  .auth-page{padding:24px 16px}
  .auth-shell{grid-template-columns:1fr;grid-template-areas:"brand" "card" "foot";gap:18px;width:min(520px,100%)}
  .auth-brand{min-height:auto;padding:24px}
  .auth-brand-copy{margin-top:32px;padding-top:0}
  .auth-brand-points{grid-template-columns:1fr;gap:7px;margin-top:18px}
  .auth-card{padding:28px 22px}
  .daily-subject-grid{grid-template-columns:1fr}
  .daily-subject-title{display:grid;gap:4px}
  .plus-mode-card{display:block;padding:22px 22px 76px}
  .plus-button{left:22px;right:auto}
}
@media(max-width:430px){
  .auth-card h1{font-size:28px}
  .auth-card{border-radius:17px}
  .auth-code-row{grid-template-columns:1fr}
  .auth-code-button{width:100%;margin-bottom:0}
  .quota-chip{font-size:9px!important}
  .today-line{gap:12px}
  .today-line strong{font-size:34px}
}

/* Plus label normalization without business-JS changes */
.locked-analysis .membership-kicker{font-size:0!important}
.locked-analysis .membership-kicker::after{content:"PLUS";font-size:9px;letter-spacing:.10em}
.locked-report{position:relative;padding-top:48px}
.locked-report::before{content:"✦  PLUS";position:absolute;left:20px;top:18px;border:1px solid #d3def1;border-radius:999px;background:linear-gradient(180deg,#fff,#f5f8fe);color:#315b9e;padding:5px 10px;font-size:9px;font-weight:800;letter-spacing:.10em;box-shadow:0 4px 12px rgba(37,99,235,.05)}


/* Auth v2 · borderless */
.auth-page{min-height:100vh;background:#f7f8fa;padding:48px 28px;display:grid;place-items:center}
.auth-shell{width:min(920px,100%);grid-template-columns:minmax(280px,1fr) minmax(360px,420px);grid-template-areas:"brand card";column-gap:104px;row-gap:0;align-items:center;justify-content:center}
.auth-brand{grid-area:brand;min-height:auto;padding:0;border:0;border-radius:0;background:transparent;display:block}
.auth-brand>strong{font-size:26px;letter-spacing:.18em}
.auth-brand>span{margin-top:10px;font-size:12px}
.auth-brand-copy{margin-top:118px;padding:0}
.auth-brand-copy h2{max-width:360px;font-size:42px;line-height:1.08;letter-spacing:-.055em}
.auth-brand-copy p{margin-top:18px;font-size:14px;line-height:1.65}
.auth-brand-points,.auth-foot{display:none!important}
.auth-card{grid-area:card;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.auth-eyebrow{background:transparent;padding:0;min-height:0;color:#2456a6;font-size:10px;letter-spacing:.16em}
.auth-card h1{margin:15px 0 8px;font-size:38px;letter-spacing:-.055em}
.auth-card>p{font-size:14px}
.auth-fields{margin-top:30px;gap:16px}
.auth-field{gap:8px}
.auth-field input{height:52px;border-radius:12px}
.auth-field-note:empty{display:none}
.auth-code-row{grid-template-columns:minmax(0,1fr) 116px;gap:10px}
.auth-code-button{height:52px;margin-bottom:0;border-color:#d6e0f0;background:#fff}
.auth-submit{height:52px;margin-top:22px;border-radius:12px}
.auth-switch{display:none}

.username-shell{width:min(620px,100%);display:grid;gap:56px}
.username-brand{display:flex;align-items:baseline;justify-content:space-between}
.username-brand strong{font-size:22px;letter-spacing:.16em}
.username-brand span{font-size:11px;color:#98a2b3}
.username-panel{max-width:420px}
.username-panel h1{margin:0;font-size:38px;letter-spacing:-.05em}
.username-panel>p{margin:10px 0 28px;color:#667085;font-size:13px;line-height:1.7}

@media(max-width:768px){
  .auth-page{padding:28px 20px;place-items:start center}
  .auth-shell{grid-template-columns:1fr;grid-template-areas:"brand" "card";gap:58px;width:min(520px,100%)}
  .auth-brand{padding:0}
  .auth-brand-copy{margin-top:48px}
  .auth-brand-copy h2{font-size:34px}
  .auth-card{padding:0}
  .username-shell{gap:48px}
}

/* Account-mode state cleanup + mobile guard */
.auth-wait-note{margin-top:9px;font-size:11px;line-height:1.6;color:#8a94a6}
.profile-mode-card{gap:18px}
.profile-mode-actions{display:flex;align-items:center;gap:14px}
.profile-mode-actions small{white-space:nowrap}
.mode-upgrade-button{min-height:36px;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:0 13px;font-size:11px;font-weight:750;cursor:pointer}
.mode-upgrade-button:hover{background:var(--blue-deep)}
.profile-mode-card.normal{border-color:#e4e7ec;background:#fff}
.profile-mode-card.normal strong{color:#344054}
@media(max-width:768px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .main-stage{width:100%;max-width:100%;padding:22px 14px calc(84px + env(safe-area-inset-bottom));overflow-x:hidden}
  .page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:start;margin-bottom:22px}
  .page-head>div:first-child{min-width:0}
  .page-head .head-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}
  .page-meta{max-width:42vw;text-align:right;overflow-wrap:anywhere}
  .xhs-beta-strip{min-width:0;min-height:0;margin:0 0 16px;padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px 8px;align-items:center}
  .xhs-beta-strip strong{min-width:0;line-height:1.4;overflow-wrap:anywhere}
  .xhs-beta-strip b{margin-left:0;white-space:nowrap}
  .xhs-beta-card{min-width:0;gap:16px;padding:18px;display:grid}
  .xhs-beta-card>div,.xhs-redeem{min-width:0;width:100%}
  .xhs-redeem{display:grid!important}
  .xhs-redeem input{width:100%;min-width:0}
  .xhs-beta-card .plus-button,.xhs-redeem .plus-button{position:static;inset:auto;width:100%;max-width:100%}
  .home-grid{grid-template-columns:minmax(0,1fr)}
  .hero-card,.quiet-card,.mode-card,.stats-panel,.settings-panel,.membership-section,.membership-hero,.mini-intro,.mini-start-card,.mini-home-card{min-width:0;max-width:100%}
  .hero-card{padding:20px 18px}
  .today-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
  .quota-chip{max-width:42vw;white-space:normal;text-align:right;justify-content:flex-end;line-height:1.35;padding:5px 9px}
  .quiet-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:12px}
  .quiet-card div{min-width:0;padding:8px 2px}
  .quiet-card strong{font-size:15px;overflow-wrap:anywhere}
  .mode-grid{grid-template-columns:1fr 1fr}
  .daily-subject-grid{grid-template-columns:1fr}
  .plus-mode-card{min-height:0;padding:20px;display:grid;gap:15px}
  .plus-mode-card .plus-button{position:static;inset:auto;width:100%;margin:0}
  .plus-mode-card .lock-mark,.plus-mode-card .access-mark{position:static;inset:auto;transform:none;justify-self:start}
  .training-strip{grid-template-columns:1fr 1fr}
  .training-strip button{min-width:0;padding:12px}
  .training-premium{padding-right:12px!important}
  .training-strip .lock-mark,.training-strip .access-mark{position:static;inset:auto;transform:none;flex:0 0 auto;margin-left:auto}
  .settings-panel{padding-left:16px;padding-right:16px}
  .setting-line{min-width:0;gap:12px}
  .setting-line>div{min-width:0}
  .setting-line strong,.setting-line span,.setting-line small{overflow-wrap:anywhere;word-break:break-word}
  .profile-mode-card{min-width:0;align-items:flex-start}
  .profile-mode-actions{display:grid;justify-items:end;gap:7px}
  .danger-zone{display:grid;gap:14px}
  .danger-zone .danger-button{justify-self:start}
  .membership-hero{grid-template-columns:1fr;gap:18px;padding:20px}
  .membership-status{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
  .membership-status strong{min-width:0;overflow-wrap:anywhere}
  .membership-status small{grid-column:1/-1;text-align:left}
  .membership-section{padding:18px}
  .membership-section .section-title{gap:10px;align-items:flex-start}
  .membership-section .section-title span{text-align:right;max-width:46%}
  .compare-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .compare-head,.compare-row{grid-template-columns:minmax(150px,1fr) 76px 76px;min-width:302px}
  .plan-grid{grid-template-columns:1fr}
  .custom-controls{grid-template-columns:1fr}
  .mini-home-card,.mini-intro{grid-template-columns:1fr;gap:16px;align-items:start}
  .mini-start-card,.mini-start-card.unavailable{grid-template-columns:1fr;padding:20px}
  .mini-start-meta{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}
  .mock-source-panel{display:grid;gap:8px}
  .mini-result-hero{grid-template-columns:100px minmax(0,1fr);gap:18px;padding:22px 18px}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .performance-row{grid-template-columns:72px minmax(0,1fr) 38px;gap:8px}
  .result-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .result-actions button{width:100%}
  .field,.field input,.field select,.fill-input{min-width:0;max-width:100%}
  .quiz-top{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}
  .quiz-subject{max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .question-title,.choice span,.feedback span{overflow-wrap:anywhere;word-break:break-word}
}
@media(max-width:430px){
  .main-stage{padding:18px 12px calc(82px + env(safe-area-inset-bottom))}
  .page-head{grid-template-columns:1fr;gap:9px}
  .page-meta{max-width:none;text-align:left;margin-top:0}
  .profile-page-head .profile-logout{justify-self:start;min-width:0}
  .profile-mode-card{display:grid;gap:12px}
  .profile-mode-actions{justify-items:start}
  .xhs-beta-strip{grid-template-columns:auto minmax(0,1fr)}
  .xhs-beta-strip b{grid-column:2;justify-self:start}
  .quiet-card{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mode-grid,.training-strip,.mini-region-grid{grid-template-columns:1fr}
  .membership-section .section-title{display:grid}
  .membership-section .section-title span{max-width:none;text-align:left}
  .mini-result-hero{grid-template-columns:1fr;text-align:center}
  .mini-score{border-right:0;border-bottom:1px solid var(--line);padding-bottom:18px}
}

/* mobile-state-fix-20260925 */
.auth-wait-note{margin-top:9px;font-size:11px;line-height:1.6;color:#8a94a6}.profile-mode-card{gap:18px}.profile-mode-actions{display:flex;align-items:center;gap:14px}.profile-mode-actions small{white-space:nowrap}.mode-upgrade-button{min-height:36px;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:0 13px;font-size:11px;font-weight:750;cursor:pointer}.profile-mode-card.normal{border-color:#e4e7ec;background:#fff}.profile-mode-card.normal strong{color:#344054}
@media(max-width:768px){html,body{width:100%;max-width:100%;overflow-x:hidden}.main-stage{width:100%;max-width:100%;padding:22px 14px calc(84px + env(safe-area-inset-bottom));overflow-x:hidden}.page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:start;margin-bottom:22px}.page-head>div:first-child{min-width:0}.page-head .head-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.page-meta{max-width:42vw;text-align:right;overflow-wrap:anywhere}.xhs-beta-strip{min-width:0;min-height:0;margin:0 0 16px;padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px 8px;align-items:center}.xhs-beta-strip strong{min-width:0;line-height:1.4;overflow-wrap:anywhere}.xhs-beta-strip b{margin-left:0;white-space:nowrap}.xhs-beta-card{min-width:0;gap:16px;padding:18px;display:grid}.xhs-beta-card>div,.xhs-redeem{min-width:0;width:100%}.xhs-redeem{display:grid!important}.xhs-redeem input{width:100%;min-width:0}.xhs-beta-card .plus-button,.xhs-redeem .plus-button{position:static;inset:auto;width:100%;max-width:100%}.home-grid{grid-template-columns:minmax(0,1fr)}.hero-card,.quiet-card,.mode-card,.stats-panel,.settings-panel,.membership-section,.membership-hero,.mini-intro,.mini-start-card,.mini-home-card{min-width:0;max-width:100%}.hero-card{padding:20px 18px}.today-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.quota-chip{max-width:42vw;white-space:normal;text-align:right;justify-content:flex-end;line-height:1.35;padding:5px 9px}.quiet-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:12px}.quiet-card div{min-width:0;padding:8px 2px}.quiet-card strong{font-size:15px;overflow-wrap:anywhere}.mode-grid{grid-template-columns:1fr 1fr}.daily-subject-grid{grid-template-columns:1fr}.plus-mode-card{min-height:0;padding:20px;display:grid;gap:15px}.plus-mode-card .plus-button{position:static;inset:auto;width:100%;margin:0}.plus-mode-card .lock-mark,.plus-mode-card .access-mark{position:static;inset:auto;transform:none;justify-self:start}.training-strip{grid-template-columns:1fr 1fr}.training-strip button{min-width:0;padding:12px}.training-premium{padding-right:12px!important}.training-strip .lock-mark,.training-strip .access-mark{position:static;inset:auto;transform:none;flex:0 0 auto;margin-left:auto}.settings-panel{padding-left:16px;padding-right:16px}.setting-line{min-width:0;gap:12px}.setting-line>div{min-width:0}.setting-line strong,.setting-line span,.setting-line small{overflow-wrap:anywhere;word-break:break-word}.profile-mode-card{min-width:0;align-items:flex-start}.profile-mode-actions{display:grid;justify-items:end;gap:7px}.danger-zone{display:grid;gap:14px}.membership-hero{grid-template-columns:1fr;gap:18px;padding:20px}.membership-status{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.membership-status strong{min-width:0;overflow-wrap:anywhere}.membership-status small{grid-column:1/-1;text-align:left}.membership-section{padding:18px}.membership-section .section-title{gap:10px;align-items:flex-start}.membership-section .section-title span{text-align:right;max-width:46%}.compare-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.compare-head,.compare-row{grid-template-columns:minmax(150px,1fr) 76px 76px;min-width:302px}.plan-grid{grid-template-columns:1fr}.custom-controls{grid-template-columns:1fr}.mini-home-card,.mini-intro{grid-template-columns:1fr;gap:16px;align-items:start}.mini-start-card,.mini-start-card.unavailable{grid-template-columns:1fr;padding:20px}.mini-start-meta{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}.mock-source-panel{display:grid;gap:8px}.mini-result-hero{grid-template-columns:100px minmax(0,1fr);gap:18px;padding:22px 18px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-row{grid-template-columns:72px minmax(0,1fr) 38px;gap:8px}.result-actions{display:grid;grid-template-columns:1fr;gap:9px}.result-actions button{width:100%}.field,.field input,.field select,.fill-input{min-width:0;max-width:100%}.quiz-top{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.quiz-subject{max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-title,.choice span,.feedback span{overflow-wrap:anywhere;word-break:break-word}}
@media(max-width:430px){.main-stage{padding:18px 12px calc(82px + env(safe-area-inset-bottom))}.page-head{grid-template-columns:1fr;gap:9px}.page-meta{max-width:none;text-align:left;margin-top:0}.profile-page-head .profile-logout{justify-self:start;min-width:0}.profile-mode-card{display:grid;gap:12px}.profile-mode-actions{justify-items:start}.xhs-beta-strip{grid-template-columns:auto minmax(0,1fr)}.xhs-beta-strip b{grid-column:2;justify-self:start}.quiet-card{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-grid,.training-strip,.mini-region-grid{grid-template-columns:1fr}.membership-section .section-title{display:grid}.membership-section .section-title span{max-width:none;text-align:left}.mini-result-hero{grid-template-columns:1fr;text-align:center}.mini-score{border-right:0;border-bottom:1px solid var(--line);padding-bottom:18px}}

/* mobile-card-fix-20260925 */
@media(max-width:768px){
  .mini-home-card.premium-mode{position:relative!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:20px!important;min-height:0!important}
  .mini-home-card.premium-mode>div{min-width:0;width:100%}
  .mini-home-card.premium-mode h2{font-size:22px;line-height:1.28;margin:8px 0}
  .mini-home-card.premium-mode p{line-height:1.6;overflow-wrap:anywhere}
  .mini-home-card.premium-mode .plus-button{position:static!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;margin:0!important}
  .mini-home-card.premium-mode .lock-mark,.mini-home-card.premium-mode .access-mark{position:static!important;inset:auto!important;transform:none!important;justify-self:start}
}
@media(max-width:430px){
  .mini-home-card.premium-mode{padding:18px!important}
  .mini-home-card.premium-mode h2{font-size:21px}
}
/* admin entry */
.profile-admin{min-height:36px;border:1px solid #cfdcf5;border-radius:9px;background:#f8fbff;color:var(--blue-deep);padding:0 13px;font-size:11px;font-weight:760;cursor:pointer}
.profile-admin:hover{background:#eef5ff}
@media(max-width:430px){.profile-page-head .head-actions{width:100%;display:flex;flex-wrap:wrap;gap:8px}.profile-page-head .head-actions button{flex:1 1 auto}}

/* 2026-09-26 module progress + product switch */
.side-foot{display:grid;gap:10px;align-items:stretch}
.site-switch-link{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--blue-deep);font-size:11px;font-weight:720;text-decoration:none}
.site-switch-link:hover{background:var(--blue-wash);border-color:#bfd0ef}
.site-meta{display:flex;align-items:center;gap:8px;padding:0 2px}
.site-meta .status-dot{display:inline-block}
.product-switch-row{display:flex;justify-content:space-between;align-items:center;margin:-22px 0 22px;padding:9px 12px;border:1px solid #e3e8f0;border-radius:11px;background:rgba(255,255,255,.72);font-size:11px}
.product-switch-row span{font-weight:750;color:#475467}
.product-switch-row a{color:var(--blue-deep);text-decoration:none;font-weight:720}
.learning-progress-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:16px;padding:25px 27px;border:1px solid #cfdcf5;border-radius:19px;background:linear-gradient(135deg,#fff,#f5f9ff);box-shadow:var(--shadow)}
.learning-progress-hero h2{margin:8px 0 6px;font-size:25px;letter-spacing:-.035em}
.learning-progress-hero p{margin:0;color:var(--muted);font-size:12px}
.learning-progress-hero>strong{font-size:42px;letter-spacing:-.06em;color:var(--blue-deep);font-variant-numeric:tabular-nums}
.module-progress-panel{margin-top:0}
.module-progress-list{display:grid;gap:9px}
.module-progress-row{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;align-items:center;padding:14px 15px;border:1px solid #e6eaf0;border-radius:13px;background:#fcfdff}
.module-progress-row.current{border-color:#b9cdf2;background:#f7faff;box-shadow:inset 3px 0 0 var(--blue)}
.module-progress-copy{display:grid;gap:4px;min-width:0}
.module-progress-copy span{font-size:9px;letter-spacing:.08em;color:var(--blue);font-weight:800}
.module-progress-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.module-progress-copy small{font-size:10px;color:var(--muted)}
.module-progress-meter{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center}
.module-progress-meter>b{text-align:right;font-size:12px;color:#475467;font-variant-numeric:tabular-nums}
.module-progress-meter>i{height:7px;border-radius:99px;background:#e8edf5;overflow:hidden}
.module-progress-meter>i>em{display:block;height:100%;border-radius:99px;background:var(--blue)}
.compact-stats{grid-template-columns:repeat(4,1fr);margin-top:16px}
@media(max-width:768px){.product-switch-row{margin:0 0 18px}.learning-progress-hero{padding:20px}.learning-progress-hero>strong{font-size:34px}.module-progress-row{grid-template-columns:1fr;gap:10px}.module-progress-meter{grid-template-columns:40px 1fr}.compact-stats{grid-template-columns:repeat(2,1fr)}.mobile-nav{grid-template-columns:repeat(5,1fr)}}

.resume-progress-card{width:100%;margin:0 0 16px;padding:16px 18px;border:1px solid #cfdcf5;border-radius:14px;background:linear-gradient(135deg,#fff,#f7faff);display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;cursor:pointer;box-shadow:0 6px 20px rgba(16,24,40,.035)}.resume-progress-card:hover{border-color:#aec4ec;background:#fff}.resume-progress-card>div{display:grid;gap:4px;min-width:0}.resume-progress-card span{font-size:9px;letter-spacing:.12em;color:var(--blue);font-weight:800}.resume-progress-card strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-progress-card small{font-size:10px;color:var(--muted)}.resume-progress-card>b{font-size:28px;color:var(--blue-deep);letter-spacing:-.05em;font-variant-numeric:tabular-nums}@media(max-width:600px){.resume-progress-card{padding:14px}.resume-progress-card>b{font-size:24px}}
