:root{--navy:#12325a;--navy-deep:#0b2a5b;--pink:#ed0e57;--teal:#00b39f;--bg:#fff;--surface:#fff;--surface-2:#eef3fb;--fg:#12325a;--fg-soft:#3c4f6c;--muted:#5b6b82;--line:#dce5f2;--line-strong:#c3d0e4;--accent:#12325a;--accent-fg:#fff;--cta:#ed0e57;--cta-fg:#fff;--data:#00b39f;--ok:#00b39f;--warn:#b4700a;--bad:#ed0e57;--radius:12px;--radius-lg:18px;--shadow:0 1px 2px #12325a0f, 0 10px 28px #12325a12;--mark:#12325a;--max:1080px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#071b3b;--surface:#0b2a5b;--surface-2:#10315f;--fg:#f2f6fc;--fg-soft:#c4d3e8;--muted:#8fa3c0;--line:#1c3c6e;--line-strong:#2a4e85;--accent:#7fa8e8;--accent-fg:#071b3b;--cta:#ff2e6e;--cta-fg:#fff;--data:#2fd6c0;--ok:#2fd6c0;--warn:#e0a44a;--bad:#ff5e85;--mark:#fff;--shadow:0 1px 2px #00000073, 0 10px 28px #00000059}[data-exam]{--ex:var(--navy);--ex-vivid:var(--navy)}[data-exam=ielts]{--ex:#e4002b;--ex-vivid:#e4002b}[data-exam=pte]{--ex:#00857b;--ex-vivid:#00b39f}[data-exam=toefl]{--ex:#1454c8;--ex-vivid:#1454c8}[data-exam=det]{--ex:#3a8500;--ex-vivid:#58cc02}[data-theme=dark] [data-exam=ielts]{--ex:#ff7a8c;--ex-vivid:#ff4d6a}[data-theme=dark] [data-exam=pte]{--ex:#2fd6c0;--ex-vivid:#2fd6c0}[data-theme=dark] [data-exam=toefl]{--ex:#7fa8e8;--ex-vivid:#4a86e8}[data-theme=dark] [data-exam=det]{--ex:#8ce05a;--ex-vivid:#6bd32b}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font:16px/1.65 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;line-height:1.2}p{margin:0}ul,ol{margin:0;padding-left:1.15em}.shell{flex-direction:column;min-height:100dvh;display:flex}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}.narrow{max-width:720px}.stack{gap:14px;display:grid}.stack-lg{gap:28px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:auto}.section{padding-top:56px;padding-bottom:56px}.section+.section{border-top:1px solid var(--line)}.center{text-align:center}.topbar{z-index:30;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-in{align-items:center;gap:18px;height:64px;display:flex}.brand{align-items:center;gap:10px;display:inline-flex}.brand-text{gap:3px;display:grid}.wordmark{letter-spacing:-.045em;color:var(--fg);font-size:20px;font-weight:800;line-height:1;display:block}.wordmark-core{color:var(--pink)}.brand-exam{letter-spacing:.16em;text-transform:uppercase;color:var(--ex,var(--muted));white-space:nowrap;font-size:9.5px;font-weight:800;line-height:1;display:block}.mainnav{align-items:center;gap:2px;margin-left:auto;display:flex}.navlink{color:var(--fg-soft);border-radius:9px;padding:7px 11px;font-size:14px;font-weight:500}.navlink:hover{background:var(--surface-2);color:var(--fg)}.navlink[aria-current=page]{background:var(--surface-2);color:var(--fg);font-weight:650}.navcta{border-radius:999px;margin-left:10px;padding:9px 16px;font-size:14.5px}.btn{cursor:pointer;background:var(--surface-2);color:var(--fg);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:650;transition:transform 60ms,filter .15s;display:inline-flex}.btn:hover{filter:brightness(.97)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--cta);color:var(--cta-fg)}.btn-navy{background:var(--navy);color:#fff}.btn-outline{border-color:var(--line-strong);color:var(--fg);background:0 0}.btn-ghost{color:var(--fg-soft);background:0 0}.btn-lg{border-radius:12px;padding:14px 24px;font-size:16px}.btn-block{width:100%}.btn-danger{background:var(--bad);color:#fff}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px}.card-pad-sm{padding:16px}.card-hover{transition:border-color .15s,transform .1s,box-shadow .15s}.card-hover:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.grid2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.grid3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.grid4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.h1{font-size:clamp(30px,5.4vw,46px)}.h2{font-size:clamp(22px,3.2vw,30px)}.h3{font-size:18px}.lead{color:var(--fg-soft);font-size:18px}.muted{color:var(--muted)}.small{font-size:13.5px}.tiny{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.badge{background:var(--surface-2);color:var(--fg-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:650;display:inline-flex}.badge-accent{background:color-mix(in srgb, var(--ex,var(--navy)) 10%, transparent);color:var(--ex,var(--navy));border-color:color-mix(in srgb, var(--ex,var(--navy)) 28%, transparent)}.badge-data{background:color-mix(in srgb, var(--data) 12%, transparent);color:var(--data);border-color:color-mix(in srgb, var(--data) 32%, transparent)}.badge-ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 35%, transparent);background:color-mix(in srgb, var(--ok) 10%, transparent)}.badge-warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent)}.badge-lock{color:var(--muted)}.hub{padding-top:56px;padding-bottom:40px}.examlist{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.examrow{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:15px;padding:22px 22px 20px 26px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:flex;position:relative;overflow:hidden}.examrow:before{content:"";background:var(--ex-vivid);width:6px;transition:width .18s;position:absolute;inset:0 auto 0 0}.examrow:hover:before{width:10px}.examrow:hover{border-color:var(--ex);background:linear-gradient(160deg, color-mix(in srgb, var(--ex-vivid) 8%, var(--surface)) 0%, var(--surface) 52%);box-shadow:0 16px 34px -16px color-mix(in srgb, var(--ex-vivid) 60%, transparent);transform:translateY(-3px)}.examrow-id{min-width:0}.examrow-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.examrow-name{letter-spacing:-.025em;font-size:22px;font-weight:800}.examrow-scale{letter-spacing:.01em;color:var(--ex);background:color-mix(in srgb, var(--ex-vivid) 13%, transparent);white-space:nowrap;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700}.examrow-body{color:var(--fg-soft);margin-top:7px;font-size:14px;line-height:1.55}.examrow-feats{gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.examrow-feats li{color:var(--fg-soft);padding-left:28px;font-size:14px;line-height:1.4;transition:color .16s;position:relative}.examrow-feats li:before{content:"";background:color-mix(in srgb, var(--ex-vivid) 15%, transparent);border-radius:50%;width:18px;height:18px;transition:background .18s,transform .18s;position:absolute;top:1px;left:0}.examrow-feats li:after{content:"";border-left:2px solid var(--ex);border-bottom:2px solid var(--ex);width:7px;height:3.5px;transition:border-color .18s,transform .18s;position:absolute;top:6.5px;left:5.5px;transform:rotate(-45deg)}.examrow:hover .examrow-feats li{color:var(--fg)}.examrow:hover .examrow-feats li:before{background:var(--ex-vivid);transform:scale(1.08)}.examrow:hover .examrow-feats li:after{border-color:#fff;transform:rotate(-45deg)scale(1.08)}.examrow-goal{min-width:0}.examrow-act{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:4px;display:flex}.examrow-proof{color:var(--data);font-size:12.5px;font-weight:650;line-height:1.3}.examrow-go{color:var(--ex);white-space:nowrap;border:1.5px solid color-mix(in srgb, var(--ex) 40%, transparent);border-radius:999px;align-items:center;gap:7px;padding:9px 17px;font-size:14.5px;font-weight:700;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.examrow-go:after{content:"→";transition:transform .16s}.examrow:hover .examrow-go{background:var(--ex);border-color:var(--ex);color:#fff}.examrow:hover .examrow-go:after{transform:translate(4px)}@media (max-width:820px){.examlist{grid-template-columns:minmax(0,1fr);gap:12px}}@media (max-width:600px){.examrow{gap:13px;padding:18px 18px 16px 22px}.examrow-name{font-size:20px}.examrow-body{display:none}.examrow-act{flex-wrap:wrap;gap:10px}}.scorebig{align-items:baseline;gap:10px;display:flex}.scorebig-v{letter-spacing:-.04em;color:var(--data);font-size:62px;font-weight:800;line-height:1}.scorebig-m{color:var(--muted);font-size:18px;font-weight:600}.convgrid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.conv{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);padding:12px 14px}.conv-k{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11.5px;font-weight:700}.conv-v{color:var(--data);margin-top:2px;font-size:22px;font-weight:750}.crit{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px}.crit-head{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.crit-code{font-size:14px;font-weight:750}.crit-band{color:var(--data);margin-left:auto;font-size:20px;font-weight:800}.fix{background:var(--surface-2);border-radius:9px;gap:4px;padding:10px 12px;font-size:14px;display:grid}.fix-wrong{color:var(--bad);text-decoration:line-through}.fix-better{color:var(--ok);font-weight:600}.bar{background:var(--surface-2);border-radius:999px;height:7px;overflow:hidden}.bar>i{background:var(--data);border-radius:999px;height:100%;display:block}.rec{place-items:center;gap:18px;padding:26px 0;display:grid}.rec-btn{cursor:pointer;background:var(--cta);width:96px;height:96px;color:var(--cta-fg);box-shadow:0 6px 22px color-mix(in srgb, var(--cta) 38%, transparent);border:none;border-radius:50%;place-items:center;font-size:15px;font-weight:700;display:grid}.rec-btn.is-rec{background:var(--navy);color:#fff;animation:1.6s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--data) 55%, transparent)}70%{box-shadow:0 0 0 22px #0000}to{box-shadow:0 0 #0000}}.rec-timer{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:34px;font-weight:750}.rec-wave{align-items:flex-end;gap:3px;height:34px;display:flex}.rec-wave i{background:var(--data);border-radius:2px;width:4px;transition:height 80ms linear}.steps{align-items:center;gap:8px;display:flex}.step{background:var(--surface-2);border-radius:999px;flex:1;height:4px}.step.on{background:var(--cta)}.step.done{background:color-mix(in srgb, var(--data) 55%, transparent)}.refbox{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);padding:20px;font-size:22px;font-weight:500;line-height:1.6}.promptbox{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);white-space:pre-line;padding:18px 20px;font-size:18px;line-height:1.6}.plan{gap:14px;display:grid;position:relative}.plan.featured{border-color:var(--cta);box-shadow:0 0 0 3px color-mix(in srgb, var(--cta) 13%, transparent)}.plan-tag{position:absolute;top:-11px;left:20px}.plan-price{align-items:baseline;gap:8px;display:flex}.plan-price b{letter-spacing:-.03em;font-size:32px;font-weight:800}.plan-was{color:var(--muted);font-size:14px;text-decoration:line-through}.feat{gap:8px;font-size:14.5px;display:grid}.feat div{align-items:flex-start;gap:9px;display:flex}.feat .yes{color:var(--ok);font-weight:800}.feat .no{color:var(--muted)}table.cmp{border-collapse:collapse;width:100%;font-size:14.5px}table.cmp th,table.cmp td{border-bottom:1px solid var(--line);text-align:left;padding:11px 12px}table.cmp th:not(:first-child),table.cmp td:not(:first-child){text-align:center;width:110px}table.cmp thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12.5px}.tablescroll{overflow-x:auto}.lesson{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:14px;padding:15px 16px;display:flex}.lesson-ico{background:var(--surface-2);border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:19px;display:grid}.blank{border:none;border-bottom:2px solid var(--line-strong);min-width:108px;color:var(--fg);font:inherit;text-align:center;background:0 0;margin:0 3px;padding:4px 8px;display:inline-block}.blank:focus{border-bottom-color:var(--navy);outline:none}.blank.ok{border-bottom-color:var(--ok);color:var(--ok)}.blank.bad{border-bottom-color:var(--bad);color:var(--bad)}.dictline{font-size:17px;line-height:1.8}.textarea{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:110px;color:var(--fg);font:inherit;resize:vertical;padding:13px 15px}.textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px;border-color:var(--accent)}.chip{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:14px}.chip[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.notice{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);padding:13px 16px;font-size:14px}.notice-warn{border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent)}.notice-bad{border-color:color-mix(in srgb, var(--bad) 40%, transparent);background:color-mix(in srgb, var(--bad) 8%, transparent)}.locked{position:relative}.locked>.locked-in{filter:blur(5px);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.locked-over{place-items:center;padding:16px;display:grid;position:absolute;inset:0}.footer{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:26px 0;font-size:13.5px}.langbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:3px;display:flex}.langbar>a,.langmore>summary{color:var(--muted);border-radius:7px;padding:4px 8px;font-size:12.5px}.langbar>a[aria-current=true],.langmore>summary[aria-current=true]{background:var(--surface-2);color:var(--fg);font-weight:650}.lang-short{display:none}.spinner{border:2px solid color-mix(in srgb, var(--fg) 18%, transparent);border-top-color:var(--data);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.section{padding-top:40px;padding-bottom:40px}.card{padding:18px}.mainnav{gap:0}.navlink{display:none}.navcta{margin-left:6px;padding:9px 15px;font-size:14px}.lang-full{display:none}.lang-short{display:inline}.langbar{flex-wrap:nowrap;gap:1px}.langbar>a,.langmore>summary{padding:4px 6px;font-size:12px;font-weight:650}.langmore-menu{width:min(260px,100vw - 24px)}.brand-exam{letter-spacing:.1em;font-size:8.5px}.topbar-in{gap:10px;height:auto;min-height:56px;padding-top:8px;padding-bottom:8px}.wordmark{font-size:18px}}.appshell{grid-template-columns:232px 1fr;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:18px;height:100dvh;padding:18px 14px;display:flex;position:sticky;top:0}.side-brand{align-items:center;gap:9px;padding:0 6px 4px;display:flex}.side-nav{gap:2px;display:grid}.side-link{color:var(--fg-soft);border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:14.5px;font-weight:550;display:flex}.side-link:hover{background:var(--surface-2);color:var(--fg)}.side-link.on{background:color-mix(in srgb, var(--ex,var(--navy)) 10%, transparent);color:var(--ex,var(--navy));font-weight:700}.side-ico{opacity:.9;flex:none;display:block}.side-link.on .side-ico{opacity:1}.side-foot{margin-top:auto}.side-cta{background:var(--cta);color:var(--cta-fg);box-shadow:0 8px 20px -10px color-mix(in srgb, var(--cta) 75%, transparent);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:14.5px;font-weight:700;transition:transform .12s,box-shadow .16s,filter .16s;display:flex}.side-cta:hover{filter:brightness(1.04);box-shadow:0 12px 26px -10px color-mix(in srgb, var(--cta) 85%, transparent);transform:translateY(-1px)}.side-cta:active{transform:translateY(1px)}.sitemain{flex-direction:column;padding-top:0;padding-left:0;padding-right:0;display:flex}.sitemain>.footer{margin-top:auto}.mobilebar{display:none}.credit{border-top:1px solid var(--line);justify-items:center;gap:9px;padding:12px 8px;display:grid}.credit-ring{place-items:center;width:64px;height:64px;display:grid;position:relative}.credit-ring svg{position:absolute;inset:0}.credit-num{letter-spacing:-.03em;color:var(--fg);font-size:19px;font-weight:800}.credit-den{color:var(--muted);font-size:11px;font-weight:600}.appmain{min-width:0;max-width:1180px;padding:24px 26px 90px}.botnav{display:none}.bot-link{color:var(--muted);flex:1;justify-items:center;gap:3px;padding:8px 4px;display:grid}.bot-link.on{color:var(--ex,var(--navy))}.bot-label{font-size:10.5px;font-weight:650}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:16px;font-size:13px;display:flex}.crumbs a:hover{color:var(--fg);text-decoration:underline}.crumbs .sep{opacity:.5}.crumbs .cur{color:var(--fg);font-weight:600}.bank{grid-template-columns:216px 1fr;align-items:start;gap:20px;display:grid}.topiclist{gap:4px;max-height:calc(100dvh - 120px);display:grid;position:sticky;top:18px;overflow:auto}.topicbtn{text-align:left;cursor:pointer;color:var(--fg-soft);background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:7px;padding:9px 11px;font-size:14px;display:flex}.topicbtn:hover{background:var(--surface-2)}.topicbtn.on{background:var(--surface-2);border-color:var(--line-strong);color:var(--fg);font-weight:650}.topicbtn .dot{background:var(--cta);border-radius:50%;flex:none;width:7px;height:7px}.qcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.qcard.done{border-color:color-mix(in srgb, var(--data) 40%, transparent);background:color-mix(in srgb, var(--data) 5%, var(--surface))}.qcard.low{border-color:color-mix(in srgb, var(--cta) 40%, transparent)}.qgrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}.pills,.critchips{flex-wrap:wrap;gap:6px;display:flex}.critchip{background:var(--surface-2);color:var(--fg-soft);border:1px solid var(--line);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.critchip.b-low{background:color-mix(in srgb, var(--cta) 12%, transparent);color:var(--cta);border-color:color-mix(in srgb, var(--cta) 30%, transparent)}.critchip.b-mid{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 32%, transparent)}.critchip.b-high{background:color-mix(in srgb, var(--data) 14%, transparent);color:var(--data);border-color:color-mix(in srgb, var(--data) 34%, transparent)}.scoredot{color:#fff;background:var(--navy);border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:18px;font-weight:800;display:grid}.scoredot.b-low{background:var(--cta)}.scoredot.b-mid{background:var(--warn)}.scoredot.b-high{background:var(--data)}.split{grid-template-columns:1fr 380px;align-items:start;gap:20px;display:grid}.aipanel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:16px;position:sticky;top:18px}.tabs{flex-wrap:wrap;gap:9px;margin:0 0 20px;padding-left:4px;display:flex}.tab{color:var(--fg-soft);background:var(--surface);border:1.5px solid var(--line-strong);cursor:pointer;border-radius:11px;padding:12px 20px;font-size:15px;font-weight:700;transition:border-color .15s,background .15s,color .15s,transform .1s}.tab:hover{border-color:var(--ex,var(--navy));color:var(--fg);transform:translateY(-1px)}.tab.on{background:var(--ex-vivid,var(--navy));border-color:var(--ex-vivid,var(--navy));color:#fff;box-shadow:0 8px 18px -10px color-mix(in srgb, var(--ex-vivid,var(--navy)) 75%, transparent)}.heat{grid-template-rows:repeat(7,11px);grid-auto-flow:column;gap:3px;display:grid}.heat i{background:var(--surface-2);border-radius:3px;width:11px;height:11px;display:block}.heat i[data-l="1"]{background:color-mix(in srgb, var(--data) 30%, var(--surface-2))}.heat i[data-l="2"]{background:color-mix(in srgb, var(--data) 55%, var(--surface-2))}.heat i[data-l="3"]{background:color-mix(in srgb, var(--data) 80%, var(--surface-2))}.heat i[data-l="4"]{background:var(--data)}@media (max-width:900px){.appshell{grid-template-columns:1fr}.sidebar{display:none}.appmain{padding:16px 16px 84px}.sitemain{padding:0 0 84px}.mobilebar{z-index:30;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.mobilebar-help{white-space:nowrap;color:var(--ex,var(--navy));border:1px solid color-mix(in srgb, var(--ex,var(--navy)) 35%, transparent);border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:700}.botnav{z-index:40;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.bank,.split{grid-template-columns:1fr}.topiclist{grid-auto-columns:max-content;grid-auto-flow:column;max-height:none;position:static;overflow-x:auto}.aipanel{position:static}}.count-big{color:var(--cta);font-variant-numeric:tabular-nums;font-size:72px;font-weight:800;line-height:1;animation:.9s ease-out countPulse}@keyframes countPulse{0%{opacity:.35;transform:scale(1.35)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.count-big{animation:none}}.promptbox-hidden{color:var(--muted);background:repeating-linear-gradient(-45deg, transparent 0 9px, color-mix(in srgb, var(--line) 55%, transparent) 9px 10px);font-style:italic}.uprow{border-left:3px solid #0000;align-items:flex-start;gap:12px;padding:11px 0 11px 13px;display:flex}.uprow+.uprow{border-top:1px solid var(--line)}.uprow p{margin:0}.uprow-now{border-left-color:var(--line-strong)}.uprow-now p{color:var(--muted)}.uprow-next{border-left-color:var(--cta);background:color-mix(in srgb, var(--cta) 5%, transparent)}.uprow-next p{font-weight:600}.uprow-goal{border-left-color:var(--data)}.uptag{letter-spacing:.04em;text-transform:uppercase;min-width:96px;color:var(--muted);flex:none;padding-top:2px;font-size:11px}.uptag-on{color:var(--cta);font-weight:700}.upchanged{border-top:1px dashed var(--line);margin:4px 0 0;padding:11px 0 0 30px}.upchanged li{margin-bottom:3px}@media (max-width:560px){.uprow{flex-direction:column;gap:4px}.uptag{min-width:0}.upchanged{padding-left:17px}}.glyph{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.glyph-goal{letter-spacing:-.04em;color:var(--ex,var(--data));font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.glyph-bar{gap:6px;min-width:0;display:grid}.glyph-track{background:var(--line);border-radius:99px;height:6px;position:relative;overflow:visible}.glyph-fill{background:var(--ex-vivid,var(--data));border-radius:99px;position:absolute;inset:0 auto 0 0}.glyph-pin{background:var(--surface);border:3px solid var(--ex-vivid,var(--data));border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:50%;transform:translateY(-50%)}.glyph-ends{font-variant-numeric:tabular-nums;color:var(--muted);justify-content:space-between;font-size:10.5px;display:flex}mark.mispron{color:inherit;-webkit-text-decoration:underline wavy var(--cta);text-decoration:underline wavy var(--cta);text-underline-offset:4px;cursor:help;background:0 0;font-weight:600;text-decoration-thickness:2px}.pronfix{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pronfix-wrong{color:var(--cta);text-decoration:line-through}.pronfix-arrow{color:var(--muted)}.pronfix-better{color:var(--data);font-weight:600}.resultpanel{padding:0;overflow:hidden}.rtabs{border-bottom:1px solid var(--line);background:var(--surface-2);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.rtabs::-webkit-scrollbar{display:none}.rtab{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:7px;padding:13px 15px;font-size:14px;font-weight:600;display:flex}.rtab:hover{color:var(--fg)}.rtab.on{color:var(--fg);background:var(--bg);border-bottom-color:var(--cta)}.rtab-band{font-variant-numeric:tabular-nums;color:var(--data);font-weight:800}.rtab.on .rtab-band{color:var(--cta)}.rtabbody{padding:20px}.upcard{border:1px solid var(--line);border-radius:var(--radius);margin-top:9px;padding:4px 0}@media (max-width:560px){.rtab{padding:12px 11px;font-size:13px}.rtabbody{padding:15px}}.perq{border-bottom:1px solid var(--line);padding:13px 0}.perq:last-child{border-bottom:0}.perq-i{color:var(--muted);letter-spacing:.02em;font-size:13px;font-weight:700}.perq-fix{color:var(--data);margin:6px 0 0}.gap{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:10px;display:flex}.gap-now{color:var(--muted);letter-spacing:-.02em;font-size:34px;font-weight:800}.gap-arrow{color:var(--line-strong);font-size:22px}.gap-goal{color:var(--cta);letter-spacing:-.03em;font-size:44px;font-weight:800}.gap-eta{color:var(--muted);margin-left:4px;font-size:14px}.bottleneck{border-left:4px solid var(--cta)}.firststep{border-left:4px solid var(--data)}.wk{border-bottom:1px solid var(--line);gap:15px;padding:15px 0;display:flex}.wk:last-child{border-bottom:0}.wk-n{text-transform:uppercase;letter-spacing:.05em;color:var(--cta);flex:0 0 74px;padding-top:3px;font-size:12px;font-weight:700}.wk-body{flex:1;min-width:0}.wk-focus{margin:0 0 7px;font-weight:650}.wk-body ul{margin:0 0 10px}.wk-foot{flex-wrap:wrap;gap:11px}.wk-expect{color:var(--data);font-weight:600}@media (max-width:560px){.wk{flex-direction:column;gap:6px}.wk-n{flex:none}.gap-goal{font-size:36px}}.certstrip{scroll-snap-type:x mandatory;scrollbar-width:thin;gap:14px;padding:4px 0 14px;display:flex;overflow-x:auto}.certcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);cursor:zoom-in;scroll-snap-align:start;flex:none;width:208px;padding:0;transition:transform .16s,border-color .16s;position:relative;overflow:hidden}.certcard:hover{border-color:var(--line-strong);transform:translateY(-2px)}.certcard img{width:100%;height:auto;display:block}.certbadge{background:var(--cta);color:#fff;border-radius:99px;padding:4px 9px;font-size:12px;font-weight:700;position:absolute;bottom:9px;left:9px}.certlightbox{z-index:90;cursor:zoom-out;background:#081426db;place-items:center;padding:26px;display:grid;position:fixed;inset:0}.certlightbox img{border-radius:8px;width:auto;max-width:min(96vw,780px);max-height:92vh;box-shadow:0 20px 60px #00000080}.certclose{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;width:42px;height:42px;font-size:25px;line-height:1;position:absolute;top:18px;right:20px}@media (max-width:560px){.certcard{width:168px}}.certslot{flex:none;width:208px}.certslot .certcard{width:100%}.certnote{color:var(--muted);margin:8px 0 0;line-height:1.5}@media (max-width:560px){.certslot{width:168px}}.storyscore{letter-spacing:-.03em;color:var(--data);font-size:44px;font-weight:800;line-height:1.05}.storygrid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.storycell{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:12px}.storycell-k{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px}.storycell-v{margin-top:3px;font-size:24px;font-weight:800}.storycell.weakest{border-color:var(--cta);background:color-mix(in srgb, var(--cta) 6%, transparent)}.storycell.weakest .storycell-v{color:var(--cta)}.storycell-tag{color:var(--cta);margin-top:2px;font-weight:700}@media (max-width:560px){.storygrid{grid-template-columns:repeat(2,1fr)}.storyscore{font-size:36px}}.vocablist{margin:0}.vocabrow{border-bottom:1px solid var(--line);grid-template-columns:minmax(140px,34%) 1fr;gap:14px;padding:11px 0;display:grid}.vocabrow:last-child{border-bottom:0}.vocabrow dt{color:var(--fg);font-weight:700}.vocabrow dd{color:var(--fg-soft);margin:0;font-size:14.5px}.topiclink{font-weight:600;transition:border-color .15s,transform .12s;display:block}.topiclink:hover{border-color:var(--cta);transform:translateY(-2px)}@media (max-width:560px){.vocabrow{grid-template-columns:1fr;gap:3px}}.skel-stack{gap:8px;display:grid}.skel{background:linear-gradient(90deg, var(--surface-2) 0%, color-mix(in srgb, var(--line) 55%, var(--surface-2)) 50%, var(--surface-2) 100%);background-size:240% 100%;border-radius:8px;animation:1.15s linear infinite skel-sweep;display:block}.skel-chip{border-radius:999px;width:190px;height:26px}.skel-h1{width:100%;max-width:560px;height:40px}.skel-h2{width:100%;max-width:320px;height:28px}.skel-line{width:100%;height:14px}.skel-btn{border-radius:10px;width:176px;height:46px}.skel-row{border-radius:var(--radius-lg);width:100%;height:74px}@keyframes skel-sweep{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.skel{background:var(--surface-2);animation:none}}.stem{color:var(--fg);font-size:16px;line-height:1.55}.stem-sm{font-size:14.5px;line-height:1.5}.cue{gap:9px;display:grid}.cue-lead{color:var(--fg);letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.45}.cue-say{color:var(--fg-soft);font-size:14.5px;font-weight:650}.cue-list{border-left:2px solid color-mix(in srgb, var(--ex,var(--navy)) 30%, transparent);gap:6px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.cue-list li{color:var(--fg);padding-left:15px;font-size:15.5px;line-height:1.5;position:relative}.cue-list li:before{content:"";background:var(--ex,var(--navy));border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:0}.cue-close{color:var(--fg);font-size:15.5px;font-style:italic;line-height:1.5}.cue-sm{gap:6px}.cue-sm .cue-lead{font-size:14.5px}.cue-sm .cue-say{font-size:12.5px}.cue-sm .cue-list{gap:3px;padding-left:11px}.cue-sm .cue-list li{padding-left:13px;font-size:13.5px}.cue-sm .cue-list li:before{width:4px;height:4px;top:7px}.cue-sm .cue-close{font-size:13.5px}.disc>summary{cursor:pointer;color:var(--ex,var(--navy));background:color-mix(in srgb, var(--ex-vivid,var(--navy)) 7%, transparent);border-radius:10px;align-items:center;gap:9px;padding:9px 12px;font-size:15px;font-weight:700;list-style:none;transition:background .16s;display:flex}.disc>summary::-webkit-details-marker{display:none}.disc>summary:before{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:7px;height:7px;transition:transform .18s;transform:rotate(-45deg)translate(-1px,-1px)}.disc[open]>summary:before{transform:rotate(45deg)translate(-1px,-1px)}.disc>summary:hover{background:color-mix(in srgb, var(--ex-vivid,var(--navy)) 13%, transparent)}.lessonrow{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);cursor:pointer;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:border-color .16s,transform .12s,box-shadow .16s;display:flex}.lessonrow:hover{border-color:var(--ex,var(--navy));box-shadow:0 10px 24px -14px color-mix(in srgb, var(--ex-vivid,var(--navy)) 60%, transparent);transform:translateY(-2px)}.lessonrow-no{width:30px;height:30px;color:var(--ex,var(--navy));background:color-mix(in srgb, var(--ex-vivid,var(--navy)) 13%, transparent);border-radius:50%;flex:none;place-items:center;font-size:13.5px;font-weight:800;display:grid}.lessonrow-title{color:var(--fg);font-size:15.5px;font-weight:700;display:block}.lessonrow-meta{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.lessonrow-go{color:var(--ex,var(--navy));white-space:nowrap;font-size:13.5px;font-weight:700}.lessonbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding-bottom:12px;display:flex}.lessonbar-back{cursor:pointer;color:var(--ex,var(--navy));background:0 0;border:0;padding:0;font-size:13.5px;font-weight:700}.lessonbar-back:hover{text-decoration:underline}.lessonbar-where{color:var(--fg-soft);font-size:13.5px;font-weight:650}.qcard-open{flex:auto;display:block}.qcard-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:11px;padding-top:10px;display:flex}.marktick{cursor:pointer;color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:4px 2px;font-size:12.5px;font-weight:650;transition:color .15s;display:inline-flex}.marktick:hover{color:var(--fg)}.marktick[disabled]{opacity:.55;cursor:progress}.marktick-box{border:1.6px solid var(--line-strong);border-radius:5px;flex:none;width:16px;height:16px;transition:background .15s,border-color .15s;position:relative}.marktick:hover .marktick-box{border-color:var(--ok)}.marktick.on{color:var(--ok)}.marktick.on .marktick-box{background:var(--ok);border-color:var(--ok)}.marktick.on .marktick-box:after{content:"";border-bottom:2px solid #fff;border-right:2px solid #fff;width:4px;height:8px;position:absolute;top:1.5px;left:4.5px;transform:rotate(45deg)}.langflags{flex-wrap:wrap;gap:3px;margin-bottom:10px;display:flex}.langflag{color:var(--muted);border:1px solid #0000;border-radius:8px;align-items:center;gap:4px;padding:5px 7px;font-size:11px;font-weight:700;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.langflag span[aria-hidden]{font-size:13px;line-height:1}.langflag:hover{background:var(--surface-2);color:var(--fg)}.langflag.on{background:color-mix(in srgb, var(--ex,var(--navy)) 10%, transparent);border-color:color-mix(in srgb, var(--ex,var(--navy)) 30%, transparent);color:var(--ex,var(--navy))}.langflag-code{letter-spacing:.04em}.guestbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.guestbar-cta{color:var(--ex,var(--navy));white-space:nowrap;font-weight:700}.pairgrid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.pairbtn{border-radius:var(--radius);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--fg);cursor:pointer;padding:16px 14px;font-size:16.5px;font-weight:700;transition:border-color .14s,background .14s,transform .1s}.pairbtn:hover:not(:disabled){border-color:var(--ex,var(--navy));transform:translateY(-1px)}.pairbtn.picked{border-color:var(--ex,var(--navy));background:color-mix(in srgb, var(--ex-vivid,var(--navy)) 8%, transparent)}.pairbtn.right{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent);color:var(--ok)}.pairbtn.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 10%, transparent);color:var(--bad)}.pairbtn:disabled{cursor:default}.rmintro{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:28px;display:grid}.rmintro-main{gap:10px;max-width:60ch;display:grid}.rmintro-list{margin-top:8px}.rmintro-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--ex-vivid,var(--navy)) 7%, var(--surface)) 0%, var(--surface) 60%);gap:11px;padding:22px;display:grid;position:sticky;top:18px}.rmintro-cardtitle{letter-spacing:-.02em;font-size:19px;font-weight:800}.rmintro-facts{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rmintro-facts li{color:var(--fg-soft);padding-left:16px;font-size:13.5px;line-height:1.5;position:relative}.rmintro-facts li:before{content:"";background:var(--ex-vivid,var(--navy));border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:0}@media (max-width:900px){.rmintro{grid-template-columns:minmax(0,1fr);gap:22px}.rmintro-card{position:static}}.acct{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.acct-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;padding:0 2px;font-size:13.5px;font-weight:750;overflow:hidden}.acct-badge{letter-spacing:.01em;color:var(--data);background:color-mix(in srgb, var(--data) 12%, transparent);border:1px solid color-mix(in srgb, var(--data) 32%, transparent);text-align:center;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:800}.acct-days{color:var(--muted);text-align:center;font-size:11.5px}.acct-pro{background:linear-gradient(160deg, color-mix(in srgb, #fff 14%, var(--cta)) 0%, var(--cta) 55%, color-mix(in srgb, #000 10%, var(--cta)) 100%);color:#fff;box-shadow:inset 0 0 0 1px #ffffff57, 0 0 0 4px color-mix(in srgb, var(--cta) 12%, transparent), 0 12px 26px -10px color-mix(in srgb, var(--cta) 85%, transparent);border-radius:13px;gap:3px;padding:14px 15px;transition:transform .12s,filter .16s,box-shadow .16s;display:grid}.acct-pro:hover{box-shadow:inset 0 0 0 1px #ffffff73, 0 0 0 6px color-mix(in srgb, var(--cta) 18%, transparent), 0 16px 32px -10px color-mix(in srgb, var(--cta) 90%, transparent);filter:brightness(1.06);transform:translateY(-1px)}.acct-pro:active{transform:translateY(1px)}.acct-pro-title{letter-spacing:-.015em;color:#fff;white-space:nowrap;font-size:14.5px;font-weight:800;line-height:1.3}.acct-pro-sub{color:#fff;text-wrap:balance;font-size:11.5px;font-weight:600;line-height:1.45}.acct-pro-sub:after{content:" →";font-weight:800}.acct .credit{border-top:0;padding:4px 0 0}.helpdock{z-index:45;position:fixed;bottom:18px;right:18px}.helpdock>summary{cursor:pointer;background:var(--surface);border:1px solid var(--line-strong);color:var(--fg);border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:700;list-style:none;transition:transform .12s,border-color .16s;display:inline-flex;box-shadow:0 8px 22px -10px #12325a59}.helpdock>summary::-webkit-details-marker{display:none}.helpdock>summary:hover{border-color:var(--ex,var(--navy));transform:translateY(-1px)}.helpdock-ico{font-size:15px;line-height:1}.helpdock-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:7px;width:232px;padding:13px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 18px 40px -16px #12325a66}.helpdock-title{color:var(--muted);font-size:11.5px;font-weight:700}.helpdock-line{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;gap:1px;padding:8px 10px;transition:border-color .15s;display:grid}.helpdock-line:hover{border-color:var(--ex,var(--navy))}.helpdock-name{color:var(--ex,var(--navy));font-size:11.5px;font-weight:700}.helpdock-phone{color:var(--fg);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.helpdock-role{color:var(--muted);font-size:10.5px}@media (max-width:900px){.helpdock{bottom:76px;right:12px}.helpdock>summary{padding:8px 12px;font-size:12.5px}}.h1-app{letter-spacing:-.025em;font-size:clamp(24px,3vw,31px);line-height:1.2}.h1-app .muted{font-weight:700}.topichead{letter-spacing:-.025em;font-size:clamp(21px,2.4vw,27px)}.lessonrow.done{border-color:color-mix(in srgb, var(--ok) 42%, transparent);background:color-mix(in srgb, var(--ok) 5%, var(--surface))}.lessonrow.done .lessonrow-no{background:var(--ok);color:#fff}.lessonrow.done .lessonrow-go{color:var(--muted)}.langdrop{position:relative}.langdrop>summary{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:10px;align-items:center;gap:8px;padding:9px 11px;font-size:13px;font-weight:650;list-style:none;transition:border-color .15s;display:flex}.langdrop>summary::-webkit-details-marker{display:none}.langdrop>summary:hover{border-color:var(--ex,var(--navy))}.langdrop-now{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.langdrop-caret{border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);flex:none;width:6px;height:6px;transition:transform .18s;transform:rotate(45deg)translate(-1px,-1px)}.langdrop[open] .langdrop-caret{transform:rotate(-135deg)translate(-2px,-2px)}.langdrop-menu{z-index:50;border:1px solid var(--line);background:var(--surface);overscroll-behavior:contain;border-radius:12px;gap:2px;width:268px;min-width:100%;max-height:min(58vh,420px);padding:6px;display:grid;position:absolute;bottom:calc(100% + 6px);left:0;right:auto;overflow-y:auto;box-shadow:0 16px 34px -14px #12325a61}.langdrop-sep{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 0 2px;padding:0 10px;font-size:10.5px;font-weight:750}.langdrop-item{color:var(--fg-soft);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.langdrop-item:hover{background:var(--surface-2);color:var(--fg)}.langdrop-item.on{background:color-mix(in srgb, var(--ex,var(--navy)) 10%, transparent);color:var(--ex,var(--navy));font-weight:750}.langitem-name{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.langitem-country{color:var(--muted);white-space:nowrap;flex:none;font-size:11px;font-weight:600}.langmore{position:relative}.langmore>summary{cursor:pointer;align-items:center;gap:4px;list-style:none;display:inline-flex}.langmore>summary::-webkit-details-marker{display:none}.langmore>summary:hover{color:var(--fg)}.langmore-menu{z-index:60;border:1px solid var(--line);background:var(--surface);overscroll-behavior:contain;text-align:left;border-radius:12px;gap:2px;width:260px;max-height:min(64vh,460px);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 16px 34px -14px #12325a61}.sectabs{overscroll-behavior-x:contain;border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;padding-bottom:3px;display:flex;overflow-x:auto}.sectabs::-webkit-scrollbar{display:none}.sectab{color:var(--muted);white-space:nowrap;border-bottom:2.5px solid #0000;border-radius:9px 9px 0 0;flex:none;align-items:center;gap:7px;margin-bottom:-1px;padding:9px 13px;font-size:14px;font-weight:620;transition:color .15s,border-color .15s;display:inline-flex}.sectab:hover{color:var(--fg)}.sectab.on{color:var(--ex,var(--navy));border-bottom-color:var(--ex,var(--navy))}.sectab-n{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:11.5px;font-weight:750}.sectab.on .sectab-n{background:color-mix(in srgb, var(--ex,var(--navy)) 14%, transparent);color:var(--ex,var(--navy))}.modepick{grid-template-columns:1fr 1fr;gap:12px;max-width:720px;margin-bottom:24px;display:grid}.modecard{text-align:left;cursor:pointer;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface);gap:5px;padding:15px 17px;transition:border-color .15s,background .15s;display:grid}.modecard:hover{border-color:var(--line-strong)}.modecard.on{border-color:var(--ex,var(--navy));background:color-mix(in srgb, var(--ex,var(--navy)) 6%, var(--surface))}.modecard-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.modecard-name{color:var(--fg);font-size:15.5px;font-weight:700}.modecard-min{color:var(--ex,var(--navy));white-space:nowrap;font-size:13px;font-weight:700}.modecard-why{color:var(--muted);font-size:13px;line-height:1.45}.setgrid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;display:grid}.setcard{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:12px;padding:16px 17px;transition:border-color .15s,transform .15s;display:flex}.setcard:hover{border-color:var(--line-strong);transform:translateY(-1px)}.setcard.done{background:color-mix(in srgb, var(--surface-2) 55%, var(--surface))}.setcard-head{align-items:flex-start;gap:12px;display:flex}.setcard-kicker{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.setcard-n{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.setcard-title{margin:0;font-size:16px;font-weight:700;line-height:1.3}.topicglyph{width:46px;height:46px;color:var(--ex,var(--navy));background:color-mix(in srgb, var(--ex,var(--navy)) 9%, transparent);border-radius:11px;flex:none;place-items:center;display:grid}.setcard-parts{gap:6px;margin:0;padding:0;list-style:none;display:grid}.setcard-parts li{background:var(--surface-2);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding:6px 9px;font-size:13px;display:grid}.setpart-label{color:var(--fg-soft);white-space:nowrap;font-weight:700}.setpart-topic{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.setpart-n{color:var(--muted);white-space:nowrap;font-size:11.5px;font-weight:700}.setcard-vocab{flex-wrap:wrap;align-items:center;gap:5px;margin:0;display:flex}.setcard-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.setcard-meta{color:var(--muted);font-size:12.5px;font-weight:650}.chip-new,.chip-done,.chip-vocab,.chip-hard-1,.chip-hard-2,.chip-hard-3{cursor:default;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.chip-new{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok)}.chip-done{background:var(--surface-2);color:var(--muted)}.chip-vocab{background:var(--surface-2);color:var(--fg-soft);font-weight:620}.chip-hard-1{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.chip-hard-2{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--fg-soft)}.chip-hard-3{background:color-mix(in srgb, var(--bad) 14%, transparent);color:var(--bad)}.runhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.runback{color:var(--muted);font-size:13.5px;font-weight:650}.runback:hover{color:var(--fg)}.runhead-meta{color:var(--muted);font-size:12.5px;font-weight:650}.runtabs{flex-wrap:wrap;gap:6px;display:flex}.runtab{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:12.5px;font-weight:650;display:inline-flex}.runtab.on{color:var(--ex,var(--navy));border-color:var(--ex,var(--navy));background:color-mix(in srgb, var(--ex,var(--navy)) 8%, transparent)}.runtab.done{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.runtab-n{opacity:.75;font-size:11px;font-weight:800}.bigcard{border:1.5px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;padding:22px 24px;transition:border-color .15s;display:grid}.bigcard:hover{border-color:var(--ex,var(--navy))}.bigcard-main{align-content:start;gap:9px;display:grid}.bigcard-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--ex,var(--navy));font-size:11px;font-weight:800}.bigcard-feats{color:var(--fg-soft);gap:5px;margin:4px 0 0;padding-left:18px;font-size:13.5px;display:grid}.bigcard-cta{width:fit-content;margin-top:8px}.bigcard-side{flex-wrap:wrap;align-content:center;gap:7px;display:flex}.ipachip{background:color-mix(in srgb, var(--ex,var(--navy)) 8%, transparent);color:var(--ex,var(--navy));border-radius:10px;padding:7px 12px;font-family:ui-monospace,Menlo,monospace;font-size:15px;font-weight:700}.ipafilters{flex-wrap:wrap;gap:6px;margin:4px 0 18px;display:flex}.chipbtn{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--fg-soft);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:650;display:inline-flex}.chipbtn:hover{border-color:var(--line-strong)}.chipbtn.on{background:var(--ex,var(--navy));border-color:var(--ex,var(--navy));color:#fff}.chipbtn.hard{border-color:color-mix(in srgb, var(--bad) 40%, transparent);color:var(--bad)}.chipbtn.hard.on{background:var(--bad);border-color:var(--bad);color:#fff}.chipbtn-n{opacity:.7;font-size:11px;font-weight:800}.ipagrid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-bottom:26px;display:grid}.ipacell{cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:11px;justify-items:center;gap:2px;padding:11px 6px 9px;transition:border-color .12s,background .12s;display:grid}.ipacell:hover{border-color:var(--line-strong);background:var(--surface-2)}.ipacell.on{border-color:var(--ex,var(--navy));background:color-mix(in srgb, var(--ex,var(--navy)) 8%, transparent)}.ipacell-sym{color:var(--fg);font-family:ui-monospace,Menlo,monospace;font-size:19px;font-weight:750}.ipacell-word{color:var(--muted);font-size:11.5px}.ipacell-dots{gap:2.5px;height:5px;margin-top:3px;display:flex}.ipacell-dots i{background:var(--muted);opacity:.45;border-radius:50%;width:5px;height:5px}.ipacell[data-hard="3"] .ipacell-dots i{background:var(--bad);opacity:.85}.ipacell[data-hard="2"] .ipacell-dots i{background:var(--warn);opacity:.8}.ipadetail{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:14px;max-width:720px;padding:20px 22px;display:grid}.ipadetail-head{align-items:center;gap:14px;display:flex}.ipadetail-sym{color:var(--ex,var(--navy));font-family:ui-monospace,Menlo,monospace;font-size:30px;font-weight:750;line-height:1}.ipadetail-spell{margin:2px 0 0;font-size:14px;font-weight:650}.ipadetail-words{gap:6px;display:grid}.wordbtn{cursor:pointer;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:9px;padding:7px 13px;font-size:14.5px;font-weight:650}.wordbtn:hover{border-color:var(--ex,var(--navy))}.ipadetail-note{border-radius:11px;padding:12px 14px;font-size:13.5px;line-height:1.55}.ipadetail-note p:last-child{margin:0}.ipadetail-note .label{letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-weight:800}.ipadetail-note.bad{background:color-mix(in srgb, var(--bad) 7%, transparent);color:var(--fg-soft)}.ipadetail-note.bad .label{color:var(--bad)}.ipadetail-note.good{background:color-mix(in srgb, var(--ok) 9%, transparent);color:var(--fg-soft)}.ipadetail-note.good .label{color:var(--ok)}.ipadetail-drill{gap:9px;display:grid}.ipadetail-drill .label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:800}.drill-text{margin:0;font-size:17px;font-weight:620;line-height:1.5}.ipapair{border:1px dashed var(--line-strong);background:var(--surface-2);border-radius:12px;gap:9px;padding:15px 16px;display:grid}.ipapair .label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:800}.ipapair-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ipapair-vs{font-size:14px;font-weight:650}.ipapair-choices{flex-wrap:wrap;gap:9px;display:flex}.pairbtn{cursor:pointer;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--fg);border-radius:11px;padding:11px 22px;font-size:16px;font-weight:700}.pairbtn:hover:not(:disabled){border-color:var(--ex,var(--navy))}.pairbtn:disabled{cursor:default;opacity:.6}.pairbtn.is-target{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent);opacity:1}.pairverdict{margin:0;font-size:14px;font-weight:700}.pairverdict.ok{color:var(--ok)}.pairverdict.no{color:var(--bad)}.row.wrap{flex-wrap:wrap}@media (max-width:720px){.modepick,.bigcard,.setgrid{grid-template-columns:1fr}.ipagrid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.ipadetail{padding:16px 15px}}.ipa-examples ul{gap:5px;margin:6px 0 0;padding:0;list-style:none;display:grid}.ipa-examples li{background:var(--surface-2);border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px 10px;font-size:14px;display:grid}.exbtn{cursor:pointer;border:1px solid var(--line);background:var(--surface);width:28px;height:28px;color:var(--ex,var(--navy));border-radius:8px;flex:none;place-items:center;font-size:12px;display:grid}.exbtn:hover{border-color:var(--ex,var(--navy))}.exbtn.slow{color:var(--muted)}.ipa-rec{border:1.5px solid var(--ex,var(--navy));background:color-mix(in srgb, var(--ex,var(--navy)) 7%, var(--surface));border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 18px;display:flex}.ipa-rec-title{color:var(--fg);margin:0 0 3px;font-size:16px;font-weight:750}.ipa-rec-btn{flex:none;padding:13px 26px;font-size:15.5px}.ipa-rec.open{display:block}.acct-login{text-align:center;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);border-radius:10px;margin-bottom:8px;padding:9px 12px;font-size:13.5px;font-weight:700;display:block}.acct-login:hover{border-color:var(--ex,var(--navy));color:var(--ex,var(--navy))}
