:root{--green: #006241;--green-rgb: 0, 98, 65;--green-dark: #004730;--green-soft: #D6F5EB;--green-tint: #E7F8F2;--ch-a: 37, 99, 235;--ch-a-d: 29, 78, 190;--ch-b: 234, 88, 12;--ch-b-d: 191, 71, 9;--ch-c: 8, 145, 178;--ch-c-d: 6, 113, 138;--ch-d: 219, 39, 119;--ch-d-d: 176, 28, 96;--ch-e: 13, 148, 136;--ch-e-d: 10, 115, 105;--ch-f: 162, 28, 175;--ch-f-d: 129, 22, 139;--gold: #FFC800;--gold-dark: #E1A100;--gold-soft: #FFF2C2;--red: #FF4B4B;--red-dark: #D33B3B;--red-soft: #FFDFE0;--red-tint: #FCEBEA;--ink: #3C3C3C;--ink-strong: #1F2937;--mute: #777777;--mute-2: #AFAFAF;--line: #E5E5E5;--line-2: #D4D4D4;--surface: #F7F7F7;--surface-2: #EFEFEF;--bg: #FFFFFF;--gem: #2BA3C7;--gem-dark: #1C7C99;--done: #8B5CF6;--done-dark: #6D28D9;--done-soft: #EEE9FD;--font: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--shell-max: 980px;--content-max: 1280px;--sidebar-w: 248px;--topnav-h: 64px;--bottomnav-h: 64px;--radius: 16px;--shadow-sm: 0 2px 8px rgba(15,22,30,.05);--shadow-md: 0 10px 28px rgba(15,22,30,.09);--shadow-lg: 0 24px 60px rgba(15,22,30,.16);color-scheme:light}.t-dark{--green: #1AB380;--green-rgb: 26, 179, 128;--green-dark: #0F8A61;--green-soft: #0A291F;--green-tint: #071D15;--ch-a: 96, 150, 255;--ch-a-d: 56, 112, 224;--ch-b: 251, 133, 45;--ch-b-d: 214, 102, 22;--ch-c: 20, 165, 196;--ch-c-d: 14, 130, 156;--ch-d: 244, 114, 165;--ch-d-d: 214, 70, 124;--ch-e: 18, 178, 160;--ch-e-d: 12, 140, 126;--ch-f: 209, 100, 224;--ch-f-d: 169, 64, 188;--gold: #FFD43A;--gold-dark: #B58800;--gold-soft: #3A2F08;--red: #FF6B6B;--red-dark: #B53636;--red-soft: #3A1B1F;--red-tint: #3A1B1F;--ink: #F1F2F3;--ink-strong: #FFFFFF;--mute: #A0A4AC;--mute-2: #6C7079;--line: #2A2F36;--line-2: #1B1F25;--surface: #141820;--surface-2: #1B2028;--bg: #0F1318;--gem: #46C5E8;--gem-dark: #2BA3C7;--done: #A78BFA;--done-dark: #7C3AED;--done-soft: #241F38;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.005em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}*{scrollbar-width:thin;scrollbar-color:var(--green) var(--surface-2)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--surface-2);border-radius:999px}*::-webkit-scrollbar-thumb{background:var(--green);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:var(--green-dark)}*::-webkit-scrollbar-thumb:active{background:var(--green-dark)}*::-webkit-scrollbar-corner{background:transparent}.katex-display{overflow-x:auto;overflow-y:hidden;max-width:100%;padding-bottom:2px}.katex-display>.katex{white-space:nowrap}.lesson-content{min-width:0;max-width:100%}.lesson-content>*{min-width:0;max-width:100%}.h-display{font-weight:900;font-size:28px;letter-spacing:-.02em;color:var(--ink-strong);line-height:1.1}@media (max-width: 560px){.h-display{font-size:23px}}.h-title{font-weight:900;font-size:22px;letter-spacing:-.01em;color:var(--ink-strong);line-height:1.15}.h-head{font-weight:800;font-size:17px;color:var(--ink-strong);line-height:1.2}.h-section{font-weight:800;font-size:18px;color:var(--ink-strong);line-height:1.2}.hero-num{font-weight:900;font-size:24px;letter-spacing:-.02em;color:var(--ink-strong);line-height:1.1}.body{font-weight:600;font-size:15px;color:var(--ink);line-height:1.45}.caption{font-weight:700;font-size:13px;color:var(--mute);line-height:1.4}.overline{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.tab-label{font-size:13px;font-weight:900;letter-spacing:.02em;white-space:nowrap}@media (max-width: 420px){.tab-label{font-size:11px;letter-spacing:0}}.text-green{color:var(--green)}.text-gold{color:var(--gold-dark)}.text-red{color:var(--red)}.text-mute{color:var(--mute)}.text-ink{color:var(--ink-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font);font-weight:800;font-size:15px;letter-spacing:.05em;text-transform:uppercase;padding:14px 22px;min-height:50px;border:none;border-radius:16px;background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-dark);transition:transform .08s ease,box-shadow .08s ease,filter .08s ease;-webkit-user-select:none;user-select:none}.btn:hover{filter:brightness(1.04)}.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--green-dark)}.btn:focus-visible{outline:3px solid var(--green-tint);outline-offset:2px}.btn-block{width:100%}.btn-sm{min-height:40px;padding:9px 16px;font-size:13px;border-radius:12px;box-shadow:0 3px 0 var(--green-dark)}.btn-sm:active{box-shadow:0 1px 0 var(--green-dark)}.btn-gold{background:var(--gold);color:#4a3700;box-shadow:0 4px 0 var(--gold-dark)}.btn-gold:active{box-shadow:0 2px 0 var(--gold-dark)}.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 0 var(--red-dark)}.btn-red:active{box-shadow:0 2px 0 var(--red-dark)}.btn-ghost{background:var(--bg);color:var(--ink-strong);border:2px solid var(--line);box-shadow:0 2px 0 var(--line-2)}.btn-ghost:hover{filter:none;background:var(--surface)}.btn-ghost:active{box-shadow:0 0 0 var(--line-2);transform:translateY(2px)}.btn-disabled,.btn:disabled{background:var(--surface-2);color:var(--mute-2);box-shadow:none;pointer-events:none;filter:none}.btn-icon{width:44px;height:44px;border-radius:14px;background:var(--bg);color:var(--ink-strong);border:2px solid var(--line);box-shadow:0 2px 0 var(--line-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .08s ease,box-shadow .08s ease}.btn-icon:hover{background:var(--surface)}.btn-icon:active{transform:translateY(2px);box-shadow:0 0 0 var(--line-2)}.btn-bare{background:transparent;border:none;box-shadow:none;padding:0;display:inline-flex;align-items:center;justify-content:center}.btn-bare:active{transform:none}.set-tile{aspect-ratio:1;border-radius:16px;border:2px solid var(--tile-ring, var(--line));background:var(--tile-fill, var(--surface-2));box-shadow:0 4px 0 var(--tile-shadow, var(--line-2));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}.btn-bare:hover .set-tile{filter:brightness(1.03)}.btn-bare:active .set-tile{transform:translateY(2px);box-shadow:0 2px 0 var(--tile-shadow, var(--line-2))}.card{background:var(--bg);border:2px solid var(--line);border-radius:16px;padding:16px}.card-flat{background:var(--surface);border-color:transparent}.card-tap{transition:transform .1s ease,box-shadow .1s ease}.card-tap:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f161e12}.hero{border-radius:18px;color:#fff;padding:18px;background:var(--green);box-shadow:inset 0 -5px #0000002e}.chip{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;padding:5px 10px;border-radius:999px;border:2px solid var(--line);background:var(--bg);color:var(--ink-strong);white-space:nowrap}.chip-green{background:var(--green-tint);border-color:var(--green);color:var(--green-dark)}.chip-gold{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-dark)}.chip-red{background:var(--red-soft);border-color:var(--red);color:var(--red-dark)}.progress-track{height:16px;background:var(--surface-2);border-radius:999px;overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--done);border-radius:999px;box-shadow:inset 0 -4px #00000014,inset 0 4px #ffffff59;transition:width .3s ease}.progress-fill.gold,.progress-fill.red,.progress-fill.done{background:var(--done)}.progress-fill.on-tone{background:#ffffffeb}.field{width:100%;padding:14px 16px;font-size:15px;font-weight:600;color:var(--ink-strong);background:var(--surface);border:2px solid var(--line);border-radius:14px;outline:none;transition:border-color .12s ease,background .12s ease}.field::placeholder{color:var(--mute-2)}.field:focus{border-color:var(--green);background:var(--bg)}.field-error{border-color:var(--red)}.duo-path-bg{background-image:radial-gradient(circle at 50% 50%,var(--line-2) 1.5px,transparent 1.6px);background-size:20px 20px;background-position:center 0}.stage-banner{position:relative;overflow:hidden;border-radius:18px;padding:15px 17px;box-shadow:inset 0 -5px #00000029,0 7px 16px #0000001a}.stage-banner:after{content:"";position:absolute;top:-55%;right:-6%;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);pointer-events:none}.stage-medallion{width:48px;height:48px;flex-shrink:0;border-radius:14px;background:#ffffff38;border:2px solid rgba(255,255,255,.45);box-shadow:0 3px #0000002e;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:19px;color:#fff}.stage-strip{display:flex;gap:3px;margin-top:11px}.stage-strip>i{flex:1;height:7px;border-radius:3px;background:#00000038}.stage-strip>i.on{background:#fffffff2}.tri .panel{box-shadow:0 2px 0 var(--line-2)}.summit-ira{width:54px;height:54px;flex-shrink:0;border-radius:50%;background:#ffffffeb;box-shadow:0 3px #00000026;display:inline-flex;align-items:center;justify-content:center}.summit-stat{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:#fff3;color:#fff;font-weight:900;font-size:12.5px;white-space:nowrap}.shimmer{position:relative;overflow:hidden;background:var(--surface-2);border-radius:12px}.shimmer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:ira-shimmer 1.3s infinite}.t-dark .shimmer:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}@keyframes ira-shimmer{to{transform:translate(100%)}}@keyframes ira-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.anim-shake{animation:ira-shake .4s ease}@keyframes ira-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.anim-bob{animation:ira-bob 1.4s ease-in-out infinite}@keyframes ira-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.anim-blink{animation:ira-blink 1s steps(1,end) infinite}@keyframes ira-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.6}}.anim-pulse{animation:ira-pulse .75s ease-in-out infinite}@keyframes ira-pop{0%{transform:scale(0);opacity:0}55%{transform:scale(1.18);opacity:1}75%{transform:scale(.94)}to{transform:scale(1);opacity:1}}.anim-pop{animation:ira-pop .4s ease both}@keyframes ira-focus-halo{0%{box-shadow:0 0 rgba(var(--ripple-rgb, 124,77,255),.55)}70%{box-shadow:0 0 0 16px rgba(var(--ripple-rgb, 124,77,255),0)}to{box-shadow:0 0 rgba(var(--ripple-rgb, 124,77,255),0)}}.focus-halo{border-radius:50%;animation:ira-focus-halo 1.4s ease-out 3}@keyframes ira-node-ripple{0%{box-shadow:0 0 rgba(var(--ripple-rgb, 124,77,255),.5)}70%{box-shadow:0 0 0 16px rgba(var(--ripple-rgb, 124,77,255),0)}to{box-shadow:0 0 rgba(var(--ripple-rgb, 124,77,255),0)}}.node-ripple{border-radius:50%;animation:ira-node-ripple 1.8s ease-out infinite}@keyframes ira-rise{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.anim-rise{animation:ira-rise .3s ease both}@keyframes ira-fall{0%{transform:translateY(-30px) rotate(0);opacity:0}8%{opacity:1}to{transform:translateY(840px) rotate(540deg);opacity:0}}@keyframes ira-spin{to{transform:rotate(360deg)}}@keyframes ira-fade{0%{opacity:0}to{opacity:1}}.anim-fade{animation:ira-fade .25s ease both}@keyframes ira-route-fwd{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes ira-route-back{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}.route-anim{animation-duration:.26s;animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:backwards}.route-fwd{animation-name:ira-route-fwd}.route-back{animation-name:ira-route-back}@media (prefers-reduced-motion: reduce){.route-anim{animation-name:ira-fade;animation-duration:.18s}}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.between{justify-content:space-between}.center{align-items:center;justify-content:center}.wrap{flex-wrap:wrap}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.flex-1{flex:1;min-width:0}.shrink-0{flex-shrink:0}.w-full{width:100%}.divider{height:2px;background:var(--line);border:0;margin:0}.stack>*+*{margin-top:var(--stack-gap, 14px)}@media (max-width: 760px),(pointer: coarse){.kbd-hint{display:none!important}}.free-slim{display:none}@media (max-width: 1080px){.free-slim{display:flex;align-items:center;position:sticky;z-index:30;top:79px}}@media (max-width: 1023px){.free-slim{top:74px}}@media (max-width: 560px){.practice-upsell{flex-direction:column;align-items:stretch;justify-content:flex-start}.practice-upsell>.btn{width:100%}}.scope-filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.scope-filters>*{max-width:220px}@media (max-width: 1023px){.scope-filters{display:grid;grid-template-columns:1fr 1fr;flex-basis:100%;width:100%}.scope-filters>*{min-width:0;max-width:none}.scope-filters>*:last-child:nth-child(odd){grid-column:1 / -1}}.learn-sticky-head{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:2px solid var(--line);padding-bottom:10px;margin-bottom:12px}@media (max-width: 1023px){.learn-sticky-head{top:0;padding-top:8px}.learn-sticky-head>div:first-child{display:none}}.chapters-fab{position:fixed;right:22px;bottom:28px;z-index:60;display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 18px;border:none;border-radius:16px;background:var(--green);color:#fff;font-family:var(--font);font-weight:900;font-size:14px;cursor:pointer;box-shadow:0 8px 22px #0000002e,0 4px 0 var(--green-dark);transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}.chapters-fab:hover{filter:brightness(1.04)}.chapters-fab:active{transform:translateY(2px);box-shadow:0 6px 16px #0000002e,0 2px 0 var(--green-dark)}.chapters-fab-label{white-space:nowrap}@media (max-width: 1023px){.chapters-fab{bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + 18px)}}@media (max-width: 560px){.chapters-fab{padding:0;width:52px;justify-content:center}.chapters-fab-label{display:none}}@keyframes ira-slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}.spin-fab{position:fixed;right:20px;z-index:60;bottom:24px;width:62px;height:62px;padding:0;border-radius:50%;background:var(--bg);border:2px solid var(--gold);display:grid;place-items:center;cursor:pointer;animation:ira-spin-fab-pulse 2.2s ease-in-out infinite}.spin-fab:active{transform:translateY(2px)}.spin-fab.is-done{animation:none;border-color:var(--line);box-shadow:0 6px 16px #0000001f,0 3px 0 var(--line-2)}.spin-fab-badge{position:absolute;top:-7px;right:-7px;background:var(--red);color:#fff;font-size:9px;font-weight:900;letter-spacing:.03em;padding:2px 6px;border-radius:9px;line-height:1;border:2px solid var(--bg)}@media (max-width: 1023px){.spin-fab{bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + 18px)}}@keyframes ira-spin-fab-pulse{0%,to{box-shadow:0 8px 22px #0000002e,0 4px 0 var(--gold-dark),0 0 #ffc8008c}50%{box-shadow:0 8px 22px #0000002e,0 4px 0 var(--gold-dark),0 0 0 12px #ffc80000}}@keyframes ira-wheel-spin{to{transform:rotate(360deg)}}.mini-wheel-spin{animation:ira-wheel-spin 5.5s linear infinite}@media (prefers-reduced-motion: reduce){.spin-fab,.mini-wheel-spin{animation:none}}.page{max-width:760px;margin:0 auto}.page-wide{max-width:var(--content-max);margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{margin:0}.page-sub{font-weight:700;font-size:14px;color:var(--mute);margin-top:4px}@media (max-width: 1023px){.page-head:not(.keep-mobile-title) .h-display,.page-head:not(.keep-mobile-title) .page-sub{display:none}.page-head:not(.keep-mobile-title){margin-bottom:0}.page-head.learn-sticky-head{margin-bottom:12px}}.section+.section{margin-top:30px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.section-head .overline{font-size:13px}.dash{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.dash-col{display:flex;flex-direction:column;gap:16px;min-width:0}@media (min-width: 1101px){.dash-aside{position:sticky;top:24px;align-self:start}}@media (max-width: 1100px){.dash{grid-template-columns:1fr}}.topic-hero{display:none}.topic-hero-pct{font-weight:900;font-size:40px;line-height:1;color:#fff}.topic-hero-meta{flex:1;min-width:0}.topic-hero-title{font-weight:800;font-size:14px;color:#fff;margin-bottom:8px}.topic-hero-stars{margin-top:10px}@media (max-width: 1100px){.topic-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;border-radius:18px;padding:18px 20px;margin-bottom:16px;background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);box-shadow:inset 0 -5px #00000024,var(--shadow-md)}.topic-hero:after{content:"";position:absolute;top:-60%;right:-8%;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);pointer-events:none}.topic-hero>*{position:relative;z-index:1}.topic-progress,.topic-head-stars{display:none}.lesson-aside{order:-1}}.tri{display:grid;grid-template-columns:264px minmax(0,600px) 296px;justify-content:center;gap:28px;align-items:start}@media (max-width: 1340px){.tri{grid-template-columns:264px minmax(0,640px)}.tri>.tri-right{display:none}}@media (max-width: 1080px){.tri{grid-template-columns:minmax(0,1fr)}.tri>.tri-left{display:none}}.side-sticky{position:sticky;top:91px;display:flex;flex-direction:column;gap:14px}.mcq{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}@media (min-width: 900px){.mcq{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.mcq>.mcq-q{position:sticky;top:84px}}.flash-body{display:grid;grid-template-columns:1fr;gap:18px;align-items:center;justify-items:center}.flash-body .flash-text{max-width:620px}@media (min-width: 880px){.flash-body.has-figure{grid-template-columns:1fr 1fr;gap:40px}.flash-body.has-figure .flash-text{max-width:none}}.flip{perspective:1600px}.flip-inner{display:grid;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.75,.25,1);will-change:transform}.flip-inner.is-flipped{transform:rotateY(180deg)}.flip-face{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center}.flip-back{transform:rotateY(180deg)}@media (prefers-reduced-motion: reduce){.flip-inner{transition:none}}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media (max-width: 900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.streak-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.streak-stat{padding:16px}.streak-stat-ic{width:44px;height:44px;border-radius:13px;background:var(--gold-soft);display:inline-flex;align-items:center;justify-content:center}.streak-stat-val{font-weight:900;font-size:22px;color:var(--ink-strong);line-height:1}@media (max-width: 560px){.streak-stats{gap:8px}.streak-stat{padding:14px 6px}.streak-stat-ic{width:38px;height:38px;border-radius:11px}.streak-stat-val{font-size:18px}}.home-explore{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1100px){.home-explore{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.home-explore{grid-template-columns:repeat(2,1fr)}}@media (max-width: 300px){.home-explore{grid-template-columns:1fr}}.panel{background:var(--bg);border:2px solid var(--line);border-radius:16px;padding:16px}.panel-soft{background:var(--surface);border-color:transparent}.hero-lg{border-radius:22px;color:#fff;padding:26px 28px;background:var(--green);box-shadow:inset 0 -6px 0 var(--green-dark),var(--shadow-md);position:relative;overflow:hidden}.hero-lg:after{content:"";position:absolute;top:-40%;right:-10%;width:320px;height:320px;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%);pointer-events:none}.on-hero{color:#ffffffeb}.hero-title{font-weight:900;font-size:26px;color:#fff;margin:4px 0 6px;line-height:1.15}@media (max-width: 560px){.hero-lg{padding:20px 18px}.hero-title{font-size:21px}}.progress-hero{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.progress-hero-stats{align-items:center;justify-content:flex-end;flex-shrink:0}@media (max-width: 560px){.progress-hero{flex-direction:column;align-items:stretch;gap:18px}.progress-hero-stats{justify-content:space-between}}.progress-upsell{display:flex;align-items:center;justify-content:space-between;gap:14px}@media (max-width: 560px){.progress-upsell{flex-direction:column;align-items:stretch}.progress-upsell>.btn{width:100%}}.streak-hero{position:relative;overflow:hidden;color:#fff;border-radius:24px;padding:26px 26px 20px;background:var(--green);box-shadow:inset 0 -6px 0 var(--green-dark),var(--shadow-md);display:flex;flex-direction:column;gap:16px}.streak-hero:before{content:"";position:absolute;left:60px;top:-90px;pointer-events:none;width:300px;height:300px;background:radial-gradient(circle,#ffffff52,#fff0 60%)}.streak-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(120% 60% at 50% -10%,rgba(255,255,255,.18),transparent 60%)}.streak-hero>*{position:relative;z-index:1}.streak-hero-top{display:flex;align-items:center;gap:18px}.streak-medallion{width:76px;height:76px;flex-shrink:0;border-radius:22px;background:#fff;box-shadow:0 4px #0000002e;display:inline-flex;align-items:center;justify-content:center}.streak-medallion svg{transform-origin:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22));animation:streak-flicker 2.6s ease-in-out infinite}.streak-hero-num{font-weight:900;font-size:56px;line-height:.95;text-shadow:0 3px 0 rgba(0,0,0,.2)}.streak-hero-unit{font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-top:4px;color:#ffffffeb}.streak-hero-chip{align-self:flex-start;padding:8px 15px;border-radius:999px;background:#fffffff0;color:var(--red-dark);font-weight:800;font-size:13px;box-shadow:0 3px #00000024}.streak-week{display:flex;gap:6px;padding-top:14px;border-top:2px solid rgba(255,255,255,.24)}.streak-week-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.streak-week-lbl{font-weight:800;font-size:11px;color:#ffffffd9}.streak-week-dot{width:34px;height:34px;border-radius:50%;background:#ffffff29;display:inline-flex;align-items:center;justify-content:center}.streak-week-dot.future{background:#ffffff14}.streak-week-dot.on{background:#fff;box-shadow:0 2px #00000024}.streak-week-dot.today{box-shadow:inset 0 0 0 2px #fff}.streak-week-dot.today.on{box-shadow:inset 0 0 0 2px #fff9,0 2px #00000024}.streak-week-pip{width:7px;height:7px;border-radius:50%;background:#fff}@keyframes streak-flicker{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.06) rotate(2deg)}}@media (prefers-reduced-motion: reduce){.streak-medallion svg{animation:none}}.sm-hero{display:flex;align-items:center;gap:20px}.sm-hero>*{position:relative;z-index:1}.sm-hero-ring{width:124px;height:124px;flex-shrink:0;border-radius:50%;background:#fff;box-shadow:0 4px #00000024;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 560px){.sm-hero{gap:14px}.sm-hero-ring{width:112px;height:112px}}:root{--ira-scale: 1}@media (max-width: 560px){:root{--ira-scale: 1.2}}.ira-mascot{flex-shrink:0}@keyframes ira-blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.ira-blink{transform-box:fill-box;transform-origin:center;animation:ira-blink 4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.ira-blink{animation:none}}@media (max-width: 560px){.streak-hero{padding:22px 18px 18px}.streak-hero-num{font-size:48px}.streak-medallion{width:64px;height:64px}.streak-week-dot{width:30px;height:30px}}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;text-align:left;background:transparent;border:none;border-top:2px solid var(--line);transition:background .12s ease}.list-row:first-child{border-top:none}.list-row:hover{background:var(--surface)}.nav-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 14px;border-radius:14px;color:var(--ink);font-weight:700;font-size:15px;text-decoration:none;transition:background .12s ease,color .12s ease,transform .08s ease,box-shadow .08s ease}.nav-link>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link .nav-ic{flex-shrink:0;color:var(--mute);transition:color .12s ease}.nav-link:hover{background:var(--surface);color:var(--ink-strong)}.nav-link:hover .nav-ic{color:var(--ink-strong)}.nav-link:active{transform:translateY(1px)}.nav-link:focus-visible{outline:3px solid var(--green);outline-offset:2px}.nav-link.is-active,.nav-link.is-active:hover{background:var(--green);color:#fff;font-weight:800;box-shadow:0 4px 0 var(--green-dark)}.nav-link.is-active .nav-ic{color:#fff}.nav-link.is-active:hover{filter:brightness(1.04)}.nav-link.is-active:active{transform:translateY(2px);box-shadow:0 2px 0 var(--green-dark)}.nav-sep{height:2px;background:var(--line);border:0;border-radius:2px;margin:0 12px}.nav-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:var(--green-tint);overflow:hidden;pointer-events:none}.nav-progress__bar{position:absolute;top:0;bottom:0;width:40%;background:var(--green);box-shadow:0 0 8px var(--green);border-radius:0 3px 3px 0;animation:nav-progress-slide 1.05s ease-in-out infinite}@keyframes nav-progress-slide{0%{left:-45%}50%{left:35%}to{left:105%}}@media (prefers-reduced-motion: reduce){.nav-progress__bar{position:static;width:100%;animation:none}}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}.nav-link:active,.nav-link.is-active:active{transform:none}}.prac-dial{position:absolute;top:50%;right:-26px;transform:translateY(-50%);width:232px;height:232px;color:#fff;opacity:.14;pointer-events:none}.prac-spin{transform-box:view-box;transform-origin:50% 52%;animation:prac-sweep 60s linear infinite}@keyframes prac-sweep{to{transform:rotate(360deg)}}.prac-qcount{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 14px;border-radius:14px;background:#ffffff29}.prac-qcount-num{font-weight:900;font-size:24px;line-height:1;color:#fff}.prac-qcount-lbl{font-weight:800;font-size:13px;color:#ffffffe6}.prac-row{display:flex;align-items:center;gap:14px;width:100%;min-width:0;text-align:left;padding:16px;border-radius:16px;background:var(--bg);border:2px solid var(--line);transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.prac-row:hover{background:var(--green-tint);border-color:var(--green);transform:translateY(-1px);box-shadow:0 6px 18px #0f161e14}.prac-row:active{transform:translateY(0)}.prac-row:focus-visible{outline:3px solid var(--green);outline-offset:2px}.prac-node{width:52px;height:52px;border-radius:14px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--green-tint)}.prac-node.is-summit{background:var(--green)}.prac-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}@media (min-width: 1024px){.prac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.prac-dial{width:150px;right:-44px;opacity:.1}}@media (prefers-reduced-motion: reduce){.prac-spin{animation:none}.prac-row{transition:background .12s ease,border-color .12s ease}.prac-row:hover,.prac-row:active{transform:none;box-shadow:none}}.scope-card{display:flex;flex-direction:column;width:100%;min-width:0;height:100%;text-align:left;padding:16px;border-radius:16px;background:var(--bg);border:2px solid var(--line);font-family:inherit;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.scope-card:hover:not(.is-locked){background:var(--green-tint);border-color:var(--green);transform:translateY(-1px);box-shadow:0 6px 18px #0f161e14}.scope-card:focus-visible{outline:3px solid var(--green);outline-offset:2px}.scope-card.is-locked{opacity:.9}@media (prefers-reduced-motion: reduce){.scope-card{transition:background .12s ease,border-color .12s ease}.scope-card:hover:not(.is-locked){transform:none;box-shadow:none}}.stat-strip{display:flex;gap:10px;flex-wrap:wrap}.stat-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--surface);border:2px solid var(--line);font-weight:900;font-size:15px;color:var(--ink-strong)}.stat-pill .lbl{font-weight:800;font-size:12px;color:var(--mute)}a:focus-visible,.btn-bare:focus-visible,.btn-icon:focus-visible,.chip:focus-visible{outline:3px solid var(--green-tint);outline-offset:2px;border-radius:10px}.field:focus-visible{outline:none}@media (max-width: 1023px){.home-theme-toggle{display:none!important}}@media (max-width: 1023px){.home-head-stats{display:none!important}}.ira-toasts{bottom:24px}@media (max-width: 1023px){.ira-toasts{bottom:calc(var(--bottomnav-h) + 16px)}}.pyq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(154px,1fr));gap:12px}.pyq-node{font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;width:100%;background:var(--bg);border:2px solid var(--line);border-radius:16px;padding:14px 15px 13px;cursor:pointer;color:var(--ink-strong);transition:border-color .12s ease,background .12s ease,transform .06s ease}.pyq-node:hover{border-color:var(--node);background:var(--surface)}.pyq-node:active{transform:scale(.985)}.pyq-node:focus-visible{outline:3px solid var(--node);outline-offset:2px}.pyq-node-locked .pyq-year{color:var(--mute-2)}.pyq-year{font-weight:900;font-size:34px;letter-spacing:-.03em;line-height:1;color:var(--node);margin:8px 0 3px}@media (max-width: 560px){.pyq-year{font-size:30px}}.ts-cat{position:relative;overflow:hidden;height:100%;min-height:196px;padding:20px;cursor:pointer}.ts-cat.card-tap:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f161e1a}.ts-cat:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.ts-cat-glyph{position:absolute;right:-26px;bottom:-34px;opacity:.06;pointer-events:none;line-height:0}.ts-cat-body{position:relative;z-index:1;height:100%}.ts-cat-medallion{width:60px;height:60px;border-radius:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-tint)}.ts-mock-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}@media (min-width: 1024px){.ts-mock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ts-tabs{display:flex;gap:4px;width:100%;margin-bottom:16px;padding:4px;border-radius:14px;background:var(--surface);border:2px solid var(--line)}.ts-tab{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;font:inherit;font-weight:800;font-size:14px;color:var(--mute);white-space:nowrap;padding:9px 10px;border-radius:10px;border:none;background:transparent;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.ts-tab:hover{color:var(--ink-strong)}.ts-tab.is-active{background:var(--green);color:#fff;box-shadow:0 2px 0 var(--green-dark)}.ts-tab:focus-visible{outline:3px solid var(--green-tint);outline-offset:2px}@media (max-width: 400px){.ts-tab{font-size:13px;padding:9px 6px}}.ts-mock-icon{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--green-tint)}.ts-mock-icon-gold{background:var(--gold-soft)}.ts-mrow{cursor:pointer}.ts-mrow.card-tap:hover{border-color:var(--accent, var(--green))}.ts-mrow:focus-visible{outline:3px solid var(--accent, var(--green));outline-offset:2px}.ts-detail-hero{margin-bottom:16px}.ts-detail-hero-main{display:flex;gap:16px;align-items:center;position:relative;z-index:1}.ts-hero-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:#ffffff38;color:#fff;font-weight:900;font-size:11px;letter-spacing:.02em}.ts-hero-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.ts-hero-stat{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:13px;background:#ffffff29}.ts-hero-stat-num{font-weight:900;font-size:18px;line-height:1;color:#fff}.ts-hero-stat-lbl{font-weight:800;font-size:12px;color:#ffffffe6}@media (max-width: 560px){.ts-hero-stat{padding:7px 11px}.ts-hero-stat-num{font-size:16px}}.ts-owned-card{background:var(--green-tint);border-color:var(--green);margin-bottom:18px}.ts-owned-icon{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--green);box-shadow:0 3px 0 var(--green-dark)}.ts-buy-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--gold-soft);border-color:var(--gold);margin-bottom:18px}.ts-buy-copy{min-width:0}.ts-buy-price{font-weight:900;font-size:28px;letter-spacing:-.02em;color:var(--ink-strong);line-height:1}.ts-buy-elite{display:block;margin-top:8px;color:var(--gold-dark);font-weight:800;font-size:13px}.ts-buy-btn{flex-shrink:0}@media (max-width: 560px){.ts-buy-card{flex-direction:column;align-items:stretch}.ts-buy-btn{width:100%}}.ts-mock-num{width:46px;height:46px;border-radius:13px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--green-tint);color:var(--green-dark);font-weight:900;font-size:17px}.ts-mock-num.is-locked{background:var(--surface-2)}.ts-chap-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}@media (min-width: 1024px){.ts-chap-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.ts-chap{border:2px solid var(--line);border-radius:16px;background:var(--bg);overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.ts-chap.is-open{border-color:var(--green);box-shadow:0 6px 18px #0f161e0f}.ts-chap-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;background:transparent;border:none;cursor:pointer;font:inherit;text-align:left;color:var(--ink-strong)}.ts-chap-head:hover{background:var(--surface)}.ts-chap-head:focus-visible{outline:3px solid var(--green-tint);outline-offset:-3px}.ts-chap-chev{flex-shrink:0;line-height:0;transition:transform .15s ease}.ts-chap.is-open .ts-chap-chev{transform:rotate(90deg)}.ts-chap-body{display:flex;flex-direction:column;gap:6px;padding:2px 12px 12px}.ts-chap-mock{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 14px;border-radius:12px;background:var(--surface);border:none;cursor:pointer;font:inherit;text-align:left;color:var(--ink-strong);transition:background .12s ease}.ts-chap-mock:hover{background:var(--green-tint)}.ts-chap-mock:focus-visible{outline:3px solid var(--green-tint);outline-offset:2px}.mtr-root{height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.mtr-top{display:flex;align-items:center;gap:16px;padding:10px 22px;border-bottom:2px solid var(--line);flex-shrink:0}.mtr-clock{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-variant-numeric:tabular-nums;font-size:19px;color:var(--ink-strong)}.mtr-clock.low{color:var(--red-dark)}.mtr-title{flex:1;min-width:0;text-align:center;font-weight:800;font-size:14px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtr-body{flex:1;display:flex;min-height:0}.mtr-main{flex:1;min-width:0;display:flex;flex-direction:column}.mtr-scroll{flex:1;overflow-y:auto}.mtr-q{max-width:1040px;margin:0 auto;padding:22px 28px 10px}.mtr-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.mtr-nav{display:flex;gap:12px;padding:12px 28px;border-top:2px solid var(--line);flex-shrink:0}.mtr-nav-inner{display:flex;gap:12px;max-width:1040px;margin:0 auto;width:100%}.mtr-aside{width:320px;flex-shrink:0;border-left:2px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-height:0}.mtr-aside-foot{padding:14px 18px;border-top:2px solid var(--line);flex-shrink:0}.mtr-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:8px}.mtr-pnum{aspect-ratio:1;border-radius:10px;border:2px solid var(--line);background:var(--surface-2);color:var(--ink-strong);font-weight:800;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .06s ease}.mtr-pnum:hover{transform:translateY(-1px)}.mtr-pnum.answered{background:var(--green);color:#fff;border-color:var(--green)}.mtr-pnum.marked{background:var(--gold);color:#fff;border-color:var(--gold-dark)}.mtr-pnum.current{outline:3px solid var(--ink-strong);outline-offset:1px}@media (max-width: 1023px){.mtr-top{padding:10px 14px}.mtr-title{display:none}.mtr-q{padding:16px 14px 8px}.mtr-nav{padding:12px 14px}.mtr-options{grid-template-columns:1fr}}.mtr-intro{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--surface);padding:24px;position:relative}.mtr-intro-card{width:100%;max-width:860px;background:var(--bg);border:2px solid var(--line);border-radius:24px;padding:30px 34px;box-shadow:var(--shadow-md)}.mtr-intro-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mtr-intro-stat{background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:13px 15px}.mtr-intro.has-foot{align-items:stretch;justify-content:flex-start;overflow-y:auto;padding-bottom:92px}.mtr-intro-foot{position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--bg);border-top:2px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}@media (max-width: 700px){.mtr-intro{padding:14px}.mtr-intro-card{padding:22px 18px;border-radius:20px}.mtr-intro-stats{grid-template-columns:repeat(2,1fr)}}.mtr-res{max-width:1140px;margin:0 auto;padding:16px 24px 56px}.mtr-res-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mtr-res-top{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;align-items:start;margin-bottom:28px}.mtr-res-score{text-align:center;padding:26px 22px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.mtr-res-tallies{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mtr-res-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}@media (max-width: 980px){.mtr-res-top,.mtr-res-review{grid-template-columns:1fr}}@media (max-width: 560px){.mtr-res{padding:12px 14px 48px}.mtr-res-tallies{grid-template-columns:repeat(2,1fr)}}.zoom-badge{position:absolute;right:6px;bottom:6px;width:26px;height:26px;border-radius:50%;background:#0f13188c;display:inline-flex;align-items:center;justify-content:center;cursor:zoom-in;line-height:0}.zoom-badge:hover{background:#0f1318cc}.zoom-badge:focus-visible{outline:3px solid var(--green-tint);outline-offset:2px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0a0c0feb;display:flex;align-items:center;justify-content:center;padding:24px;animation:ira-fade .18s ease}.lightbox-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:none;background:#ffffff24;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#ffffff42}.lightbox-zoom{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;gap:2px;background:#ffffff1f;border-radius:999px;padding:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-zoom button{min-width:46px;height:38px;border:none;background:transparent;color:#fff;font-weight:800;font-size:18px;cursor:pointer;border-radius:999px}.lightbox-zoom button:hover{background:#ffffff2e}
