@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_532bb9{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_532bb9{--font-body:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_482ce5{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_482ce5{--font-display:"Fraunces","Fraunces Fallback"}:root{--bg:#fbf8f3;--surface:#ffffff;--surface-2:#f4efe6;--ink:#1b1d33;--ink-2:#3c3f5c;--muted:#676a85;--line:#e7e1d6;--brand:#26338c;--brand-2:#3a49c4;--brand-soft:#e8eafb;--accent:#e2522f;--accent-soft:#fde7df;--good:#187a4a;--good-soft:#def4e8;--bad:#b3261e;--bad-soft:#fbe3e1;--warn:#8a5a00;--warn-soft:#fff2d2;--on-brand:#ffffff;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px rgb(27 29 51/0.05),0 4px 14px rgb(27 29 51/0.05);--shadow-lg:0 18px 44px rgb(27 29 51/0.14);--max:1160px;color-scheme:light}:root[data-theme=dark]{--bg:#12131f;--surface:#1b1d2c;--surface-2:#222537;--ink:#eceaf5;--ink-2:#c9c8dc;--muted:#9c9cb6;--line:#2e3147;--brand:#9aa6ff;--brand-2:#b3bcff;--brand-soft:#262c55;--accent:#ff8a66;--accent-soft:#3f2219;--good:#6fd6a0;--good-soft:#173527;--bad:#ff8f86;--bad-soft:#3d1b19;--warn:#f3c45e;--warn-soft:#362a10;--on-brand:#12131f;--shadow:0 1px 2px rgb(0 0 0/0.3);--shadow-lg:0 18px 44px rgb(0 0 0/0.5);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;font-size:17px;line-height:1.65}h1,h2,h3,h4{font-family:var(--font-display),Georgia,serif;line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2rem,4.6vw,3.1rem);font-weight:650}h2{font-size:clamp(1.45rem,2.8vw,1.9rem)}h2,h3{font-weight:620}h3{font-size:1.2rem}p{margin:0 0 1em}a{color:var(--brand-2);text-underline-offset:3px}a:hover{color:var(--accent)}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:-999px;top:8px;background:var(--brand);color:var(--on-brand);padding:8px 14px;border-radius:8px;z-index:50}.skip-link:focus{left:12px}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}.narrow{max-width:780px}main{min-height:60vh}.section{padding:56px 0}.section.tint{background:var(--surface-2)}.eyebrow{display:inline-block;font-size:.78rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.lead{font-size:1.15rem;color:var(--ink-2);max-width:680px}.muted{color:var(--muted)}.small{font-size:.88rem}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{gap:24px;height:66px}.header-inner,.logo{display:flex;align-items:center}.logo{gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:1.15rem}.logo-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-family:var(--font-display),serif;font-size:1.05rem;font-weight:700}.logo b{color:var(--accent)}.main-nav{display:flex;gap:4px;margin-left:auto}.main-nav a{text-decoration:none;color:var(--ink-2);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:999px}.main-nav a:hover,.main-nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand)}.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:7px 9px;cursor:pointer}@media (max-width:820px){.nav-toggle{display:inline-flex}.main-nav{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 16px 16px;box-shadow:var(--shadow-lg)}.main-nav.open{display:flex}.main-nav a{padding:12px 14px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;border:1.5px solid transparent;font-weight:700;font-size:.98rem;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:var(--brand);color:var(--on-brand);box-shadow:0 6px 18px rgb(38 51 140/.25)}.btn.primary:hover{background:var(--brand-2);color:var(--on-brand)}.btn.accent{background:var(--accent);color:#fff}.btn.accent:hover{color:#fff;filter:brightness(1.05)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--brand-2);color:var(--brand)}.btn.sm{padding:7px 14px;font-size:.88rem}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.link-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.link-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--brand-2);color:var(--ink)}.link-card h3{margin:4px 0 2px}.link-card p{color:var(--muted);margin:0;font-size:.95rem}.link-card .more{margin-top:auto;padding-top:10px;color:var(--brand-2);font-weight:700;font-size:.92rem}.icon-chip{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand)}.icon-chip.accent{background:var(--accent-soft);color:var(--accent)}.icon-chip.good{background:var(--good-soft);color:var(--good)}.icon-chip.warn{background:var(--warn-soft);color:var(--warn)}.tag{display:inline-block;font-size:.75rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:6px;background:var(--brand-soft);color:var(--brand)}.tag.listening{background:#e3f1ff;color:#145a9e}.tag.reading{background:var(--good-soft);color:var(--good)}.tag.writing{background:var(--accent-soft);color:var(--accent)}.tag.speaking{background:#f1e6ff;color:#6a2fb5}.tag.general,.tag.vocabulary{background:var(--warn-soft);color:var(--warn)}[data-theme=dark] .tag.listening{background:#15304d;color:#8cc4ff}[data-theme=dark] .tag.speaking{background:#2f1f4a;color:#cfa8ff}.hero{position:relative;overflow:hidden;padding:72px 0 64px}.hero:before{content:"";position:absolute;inset:-40% -10% auto auto;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-2) 22%,transparent),transparent 65%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;grid-gap:48px;gap:48px;align-items:center}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.hero h1 em{font-style:normal;color:var(--accent)}.hero-stats{display:flex;flex-wrap:wrap;gap:28px;margin-top:30px}.hero-stats b{display:block;font-family:var(--font-display),serif;font-size:1.7rem;color:var(--brand)}.hero-stats span{color:var(--muted);font-size:.9rem}.band-card{padding:28px;position:relative}.band-card .big-band{font-family:var(--font-display),serif;font-size:4.2rem;line-height:1;color:var(--brand)}.skill-bars{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-gap:12px;gap:12px}.skill-bars li{display:grid;grid-template-columns:90px 1fr 36px;align-items:center;grid-gap:10px;gap:10px;font-weight:600;font-size:.92rem}.bar{height:10px;background:var(--surface-2);overflow:hidden}.bar,.bar>span{border-radius:999px}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand-2),var(--accent))}.breadcrumbs{font-size:.88rem;margin:26px 0 10px}.breadcrumbs,.breadcrumbs a{color:var(--muted)}.page-head{padding:10px 0 24px}.prose{font-size:1.05rem}.prose h2{margin-top:1.8em}.prose h3{margin-top:1.5em}.prose ol,.prose ul{padding-left:1.3em;margin:0 0 1.1em}.prose li{margin:.3em 0}.prose blockquote{margin:1.4em 0;padding:14px 20px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink)}.prose blockquote p:last-child{margin:0}.prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.prose code,.prose th{background:var(--surface-2)}.prose code{padding:1px 6px;border-radius:5px;font-size:.92em}.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.article-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--muted);font-size:.9rem}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:48px;gap:48px;align-items:start}.article-aside{position:-webkit-sticky;position:sticky;top:90px;display:grid;grid-gap:18px;gap:18px}@media (max-width:980px){.article-layout{grid-template-columns:1fr}.article-aside{position:static}}.toc ol{padding-left:1.1em;margin:0;font-size:.93rem}.toc li{margin:6px 0}.next-prev{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin:40px 0 10px}.next-prev a:last-child{text-align:right}@media (max-width:600px){.next-prev{grid-template-columns:1fr}.next-prev a:last-child{text-align:left}}.ad-slot{margin:28px 0;min-height:100px;text-align:center}.ad-slot .ad-label{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}label{font-weight:650;font-size:.95rem}input[type=email],input[type=number],input[type=text],select,textarea{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin-top:6px}input:focus,select:focus,textarea:focus{border-color:var(--brand-2);outline:none;box-shadow:0 0 0 3px var(--brand-soft)}textarea{resize:vertical;min-height:220px;line-height:1.6}.form-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tool-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-gap:24px;gap:24px;align-items:start}@media (max-width:900px){.tool-layout{grid-template-columns:1fr}}.result-panel{text-align:center}.result-panel .big-band{font-family:var(--font-display),serif;font-size:4.5rem;color:var(--brand);line-height:1.05}.stat-row{display:flex;flex-wrap:wrap;gap:12px}.stat{flex:1 1 120px;background:var(--surface-2);border-radius:var(--radius-sm);padding:12px 14px}.stat b{display:block;font-size:1.5rem;font-family:var(--font-display),serif}.stat span{font-size:.82rem;color:var(--muted)}.stat.good b{color:var(--good)}.stat.bad b{color:var(--bad)}.notice{padding:14px 18px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--ink);font-size:.95rem}.notice.warn{background:var(--warn-soft)}.notice.bad{background:var(--bad-soft)}.notice.good{background:var(--good-soft)}.test-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.test-layout .passage{position:-webkit-sticky;position:sticky;top:86px;max-height:calc(100vh - 110px);overflow-y:auto}@media (max-width:960px){.test-layout{grid-template-columns:1fr}.test-layout .passage{position:static;max-height:none}}.passage p{font-size:1rem}.question-group{margin-bottom:26px}.question-group h3{font-size:1.05rem;font-family:var(--font-body),sans-serif;font-weight:750}.question-group .instructions{font-size:.93rem;color:var(--muted)}.question{padding:12px 0;border-bottom:1px dashed var(--line)}.question:last-child{border-bottom:0}.question .q-text{display:flex;gap:10px;margin-bottom:8px}.q-num{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:.85rem}.options{display:flex;flex-wrap:wrap;gap:8px;padding-left:38px}.options label{display:inline-flex;align-items:center;gap:7px;font-weight:500;padding:6px 12px;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;background:var(--surface)}.options label:has(input:checked){border-color:var(--brand-2);background:var(--brand-soft)}.options input{accent-color:var(--brand)}.options.stacked{flex-direction:column;align-items:stretch}.options.stacked label{border-radius:var(--radius-sm)}.gap-input{max-width:260px;padding-left:38px}.gap-input input{margin-top:0}.question.correct .q-num{background:var(--good);color:#fff}.question.wrong .q-num{background:var(--bad);color:#fff}.feedback{padding-left:38px;margin-top:6px;font-size:.9rem}.feedback.ok{color:var(--good)}.feedback.ko{color:var(--bad)}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;font-size:1.4rem}.timer.low{color:var(--bad)}.sticky-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:10;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:12px 0;margin-top:24px}.sticky-bar .container{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between}.flashcard{perspective:1200px;cursor:pointer;min-height:280px;border:0;background:none;padding:0;width:100%}.flashcard-inner{position:relative;width:100%;min-height:280px;transition:transform .55s ease;transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center}.flashcard-face.back{transform:rotateY(180deg);background:var(--brand-soft)}.flashcard .word{font-family:var(--font-display),serif;font-size:2.3rem;color:var(--brand)}@media (prefers-reduced-motion:reduce){.btn,.flashcard-inner,.link-card{transition:none}}.site-footer{margin-top:64px;background:var(--surface);border-top:1px solid var(--line);padding:44px 0 28px;font-size:.93rem}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);grid-gap:28px;gap:28px}@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}.footer-grid h4{font-family:var(--font-body),sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.footer-grid a{color:var(--ink-2);text-decoration:none}.footer-grid a:hover{color:var(--accent)}.disclaimer{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}@media (max-width:600px){.sticky-bar{padding:8px 0}.sticky-bar .container{flex-wrap:nowrap;gap:10px;padding:0}.sticky-bar .timer{font-size:1.1rem;white-space:nowrap}.sticky-bar .small{display:none}.sticky-bar .btn{padding:10px 16px;font-size:.92rem;white-space:nowrap}}[data-theme=dark] .btn.accent,[data-theme=dark] .btn.accent:hover{color:#12131f}.logo-pre{font-size:.68em;font-weight:800;letter-spacing:.08em;color:var(--muted);margin-right:2px}.logo-mark{font-size:.92rem;letter-spacing:-.02em}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --shine{syntax:"<percentage>";inherits:false;initial-value:-60%}:root{--violet:#7b5cff;--teal:#12b5a6;--glass:rgb(255 255 255/0.7)}:root[data-theme=dark]{--violet:#a48cff;--teal:#3fd8c8;--glass:rgb(27 29 44/0.7)}html{scroll-behavior:smooth}::selection{background:var(--accent);color:#fff}.theme-toggle{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:transform .2s ease,border-color .2s ease}.theme-toggle:hover{transform:rotate(-12deg);border-color:var(--brand-2)}@media (max-width:820px){.nav-toggle{margin-left:auto}}::view-transition-new(root),::view-transition-old(root){animation-duration:.35s}.site-header{background:var(--glass);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px)}@supports (animation-timeline:scroll()){.site-header{animation:header-shrink linear both;animation-timeline:scroll();animation-range:0 120px}@keyframes header-shrink{to{box-shadow:0 8px 30px rgb(20 22 50/.08);border-bottom-color:transparent}}}.hero.mesh{padding:64px 0 40px;isolation:isolate}.hero.mesh:before{display:none}.mesh-blob{position:absolute;z-index:-1;border-radius:50%;filter:blur(70px);opacity:.55;animation:float 18s ease-in-out infinite}.mesh-blob.b1{width:520px;height:520px;background:var(--brand-2);top:-180px;right:-120px}.mesh-blob.b2{width:420px;height:420px;background:var(--accent);bottom:-160px;left:-140px;opacity:.35;animation-delay:-6s}.mesh-blob.b3{width:360px;height:360px;background:var(--violet);top:30%;left:40%;opacity:.25;animation-delay:-12s}:root[data-theme=dark] .mesh-blob{opacity:.3}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,25px) scale(.95)}}.grid-overlay{position:absolute;inset:0;z-index:-1;opacity:.5;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%)}.hero h1{font-size:clamp(2.3rem,5.4vw,3.7rem)}.gradient-text{background:linear-gradient(100deg,var(--accent),var(--violet) 55%,var(--brand-2));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-pan 8s ease-in-out infinite alternate}@keyframes gradient-pan{to{background-position:100%}}.pill-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;margin-bottom:18px;font-size:.85rem;font-weight:700;color:var(--ink-2);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pill-badge .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgb(34 197 94/.2);animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px rgb(34 197 94/0)}}.hero-checks{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:.92rem}.hero-checks li{display:inline-flex;align-items:center;gap:6px}.hero-checks svg{color:var(--good)}.btn.shine{position:relative;overflow:hidden}.btn.shine:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent calc(var(--shine) - 20%),rgb(255 255 255/.35) var(--shine),transparent calc(var(--shine) + 20%));animation:shine 3.5s ease-in-out infinite}@keyframes shine{0%,60%{--shine:-60%}to{--shine:160%}}.btn.light{background:#fff;color:var(--brand);box-shadow:0 10px 30px rgb(0 0 0/.2)}.btn.light:hover{color:var(--accent)}.hero-quiz{padding:24px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg)}.hero-quiz-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.quiz-dots{display:flex;gap:6px}.quiz-dots span{width:26px;height:6px;border-radius:999px;background:var(--line);transition:background .3s ease}.quiz-dots span.on{background:var(--good)}.quiz-dots span.now{background:var(--brand-2)}.quiz-passage{font-size:.92rem;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-sm);padding:12px 14px;border-left:3px solid var(--brand-2)}.quiz-q{display:flex;gap:10px;font-weight:650}.quiz-choices{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.quiz-choice{padding:11px 6px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-weight:750;font-size:.85rem;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .2s ease}.quiz-choice:hover:not(:disabled){transform:translateY(-2px);border-color:var(--brand-2)}.quiz-choice.right{background:var(--good-soft);border-color:var(--good);color:var(--good)}.quiz-choice.wrong{background:var(--bad-soft);border-color:var(--bad);color:var(--bad);animation:shake .35s ease}.quiz-choice.dim{opacity:.5}.quiz-choice:disabled{cursor:default}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.quiz-feedback{display:grid;grid-gap:8px;gap:8px;margin-top:14px;animation:rise .3s ease both}.quiz-feedback>span{display:inline-flex;align-items:center;gap:6px;font-weight:750}.quiz-feedback .ok{color:var(--good)}.quiz-feedback .ko{color:var(--bad)}.quiz-feedback small{color:var(--muted)}.quiz-feedback .btn{justify-self:start}.quiz-done{text-align:center;animation:rise .35s ease both}.quiz-done .big-band{font-family:var(--font-display),serif;font-size:3.6rem;line-height:1.1;color:var(--brand)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:44px 0 0;padding:18px 8px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stats-strip div{text-align:center;padding:4px;border-right:1px solid var(--line)}.stats-strip div:last-child{border-right:0}.stats-strip dt{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.stats-strip dd{margin:2px 0 0;font-family:var(--font-display),serif;font-size:1.9rem;font-weight:650;color:var(--brand)}@media (max-width:600px){.stats-strip{grid-template-columns:repeat(2,1fr);row-gap:12px}.stats-strip div:nth-child(2){border-right:0}}.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--surface);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee-track{display:flex;gap:14px;width:max-content;padding:14px 0;animation:marquee 40s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track span{padding:6px 16px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-weight:650;font-size:.9rem;white-space:nowrap}.marquee-track span:nth-child(3n){background:var(--brand-soft);color:var(--brand)}.marquee-track span:nth-child(4n){background:var(--accent-soft);color:var(--accent)}@keyframes marquee{to{transform:translateX(-50%)}}.section-head{text-align:center;max-width:680px;margin:0 auto 34px}.glow-card{position:relative;isolation:isolate}.glow-card:before{content:"";position:absolute;inset:-1.5px;z-index:-1;border-radius:inherit;padding:1.5px;opacity:0;background:conic-gradient(from var(--angle),var(--brand-2),var(--violet),var(--accent),var(--teal),var(--brand-2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transition:opacity .3s ease;animation:spin 4s linear infinite}.glow-card:focus-visible:before,.glow-card:hover:before{opacity:1}.hero-quiz.glow-card:before{opacity:.85}@keyframes spin{to{--angle:360deg}}.bento{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(190px,auto)}.bento-card{display:flex;flex-direction:column;gap:8px;padding:26px;border-radius:22px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.bento-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:var(--ink)}.bento-card h3{margin:6px 0 0;font-size:1.3rem}.bento-card p{margin:0;color:var(--muted);font-size:.95rem}.bento-card.accent{background:linear-gradient(160deg,var(--accent-soft),var(--surface) 55%)}.b-wide{grid-column:span 2}.b-tall{grid-row:span 2}@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.b-tall{grid-row:auto}}@media (max-width:600px){.bento{grid-template-columns:1fr}.b-wide{grid-column:auto}}.mini-score{display:flex;align-items:center;gap:22px;margin-top:auto;padding-top:14px}.mini-ring{place-items:center;width:84px;height:84px;flex:none;background:conic-gradient(var(--good) 0 78%,var(--surface-2) 78% 100%)}.mini-ring,.mini-ring b{display:grid;border-radius:50%}.mini-ring b{place-items:center;width:66px;height:66px;background:var(--surface);font-family:var(--font-display),serif;font-size:1.4rem;color:var(--good)}.mini-score ul{list-style:none;margin:0;padding:0;font-size:.9rem;display:grid;grid-gap:4px;gap:4px}.mini-score .ok{color:var(--good)}.mini-score .ko,.mini-score .ok{font-weight:800;margin-right:6px}.mini-score .ko{color:var(--bad)}.mini-correction{margin-top:14px;padding:14px;border-radius:14px;background:var(--surface);border:1px dashed var(--line);font-size:.95rem}.mini-correction s{color:var(--bad)}.mini-correction b{color:var(--good)}.mini-correction small{display:block;color:var(--muted);margin-top:4px}.mini-bars{display:grid;grid-gap:10px;gap:10px;margin-top:auto;padding-top:14px;font-size:.82rem;font-weight:650;color:var(--ink-2)}.mini-bars i{display:block;height:8px;border-radius:999px;margin-top:4px;background:linear-gradient(90deg,var(--accent),var(--violet))}.mini-cards{display:flex;gap:10px;margin-top:auto;padding-top:14px;flex-wrap:wrap}.mini-cards span{padding:12px 18px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-family:var(--font-display),serif;font-size:1.1rem;transform:rotate(-3deg);box-shadow:var(--shadow);transition:transform .3s ease}.mini-cards span:nth-child(2){transform:rotate(2deg);background:var(--good-soft);color:var(--good)}.mini-cards span:nth-child(3){transform:rotate(-1deg);background:var(--accent-soft);color:var(--accent)}.bento-card:hover .mini-cards span{transform:rotate(0) translateY(-3px)}.tag svg{vertical-align:-3px;margin-right:2px}.steps{list-style:none;padding:0;margin:0;display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(4,1fr);counter-reset:s}@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media (max-width:560px){.steps{grid-template-columns:1fr}}.steps li{position:relative;padding:24px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}.steps li p{color:var(--muted);font-size:.95rem}.steps li a{font-weight:750;text-decoration:none}.step-num{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;margin-bottom:14px;background:linear-gradient(135deg,var(--brand-2),var(--violet));color:#fff;font-weight:800;font-size:1.1rem}.cta-band{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;margin:20px 0 10px;padding:44px 40px;border-radius:28px;color:#fff;background:radial-gradient(circle at 15% 20%,rgb(255 255 255/.18),transparent 40%),linear-gradient(120deg,#26338c,#5b3fd6 55%,#e2522f)}.cta-band h2{color:#fff;margin-bottom:6px}.cta-band p{margin:0;opacity:.9}@supports (animation-timeline:view()){.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0 entry 40%}@keyframes reveal{0%{opacity:0;transform:translateY(28px) scale(.98)}}}.read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--brand-2),var(--violet),var(--accent))}@supports (animation-timeline:scroll()){.read-progress{animation:progress linear both;animation-timeline:scroll(root)}@keyframes progress{to{transform:scaleX(1)}}}@supports not (animation-timeline:scroll()){.read-progress{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}html{scroll-behavior:auto}}.b-full{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;grid-column-gap:22px;column-gap:22px;align-items:center}.b-full .icon-chip{grid-row:span 2}.b-full .mini-cards{grid-column:3;grid-row:1/span 2;margin:0;padding:0}@media (max-width:760px){.b-full{display:flex}.b-full .mini-cards{margin-top:8px}}.check-list{list-style:none;padding:0;margin:16px 0;display:grid;grid-gap:10px;gap:10px}.check{display:flex;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface-2)}.check p{margin:2px 0 0;font-size:.93rem;color:var(--ink-2)}.check.good svg{color:var(--good)}.check.warn svg{color:var(--warn)}.check.bad svg{color:var(--bad)}.check svg{flex:none;margin-top:2px}