
  body{background:#f5f6f3;color:#23343e;font:14px/1.5 'Segoe UI',Arial,sans-serif}.preview-bar{display:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #034ea2;outline-offset:3px}.v2-ribbon{height:27px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;background:#edf1e8;border-bottom:1px solid #e0e6d8;color:#526249;font-size:10px;letter-spacing:.45px;flex-shrink:0}.v2-ribbon button{background:transparent;border:0;color:#435d39;font-size:11px;text-decoration:underline}.v2-head{height:66px;border-bottom:1px solid #dde3e3;background:white;display:flex;align-items:center;padding:0 24px;gap:22px;flex-shrink:0}.v2-brand{font-size:21px;font-weight:700;color:#034ea2;display:flex;align-items:center;gap:11px;letter-spacing:-.6px;min-width:183px}.v2-mark{width:13px;height:13px;background:#ffc20f;border-radius:50%;box-shadow:0 0 0 5px #fff5cc}.v2-search-launch{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f6f7f7;color:#64737d;border:1px solid #dce2e4;border-radius:7px;width:min(480px,45vw);padding:10px 14px;font-size:13px;text-align:left}.v2-search-launch kbd{font:11px 'Segoe UI';border:1px solid #d4dcdf;border-radius:4px;padding:0 5px;background:white}.v2-free-label{margin-left:auto;color:#347050;font-size:12px;white-space:nowrap}.v2-workspace{display:flex;flex:1;min-height:0}.v2-aside{width:226px;flex-shrink:0;border-right:1px solid #dde3e3;background:#f4f5f2;overflow:auto;padding:24px 14px 20px;display:flex;flex-direction:column;gap:23px}.v2-nav-label{font-size:10px;letter-spacing:1.3px;color:#727f79;padding:0 12px;margin:0 0 8px;font-weight:650}.v2-nav button{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:0;border-radius:6px;padding:10px 12px;text-align:left;color:#4d5e66;font-size:13px;min-height:42px}.v2-nav button:hover{background:#e8ede8}.v2-nav button.active{background:#e3edf7;color:#034ea2;font-weight:650;box-shadow:inset 3px 0 #034ea2}.v2-nav button .icon{width:21px;font-size:16px;font-weight:600}.v2-note{font-size:12px;color:#708078;padding:2px 12px;line-height:1.7;margin:0}.v2-nav .v2-item{font-size:12px;align-items:flex-start;line-height:1.55;padding:8px 12px}.v2-item>span{min-width:0}.v2-item small{display:block;font-size:10px;color:#708078;margin-top:2px}.v2-aside-footer{padding-top:18px;border-top:1px solid #dce3da}.v2-lis-nav{border:0;color:#536849;background:transparent;text-align:left;font-size:12px;padding:8px 12px;line-height:1.6}.v2-lis-nav b{display:block;color:#274335;font-size:13px}.v2-main{display:flex;flex-direction:column;min-width:0;flex:1;background:#fafbf9}.v2-command{height:45px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #e7ebeb;gap:14px}.v2-command-label{font-size:12px;color:#6e7b83}.v2-command-actions{display:flex;align-items:center;gap:12px}.v2-command button{background:transparent;border:0;color:#546978;font-size:12px;padding:6px}.v2-command button[aria-pressed=true]{color:#034ea2}.v2-main iframe{background:#fafbf9}.v2-menu{display:none;border:0;background:transparent;font-size:20px;color:#364d59;padding:4px}.v2-focus .v2-aside{display:none}.v2-status{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:100;background:#223c32;color:white;border-radius:8px;padding:10px 18px;box-shadow:0 6px 25px #142b351c;font-size:13px}.v2-status:empty{display:none}#v2-find{width:min(650px,calc(100% - 28px));padding:0;border-radius:12px}#v2-find .find-head{display:flex;align-items:center;padding:17px 20px;gap:15px;border-bottom:1px solid #e0e6e5}#v2-find label{font-weight:650;font-size:14px;flex:1}#v2-find .find-close{background:#eef2ef;color:#52675b;padding:3px 10px;font-size:19px}#v2-find input{width:calc(100% - 40px);margin:18px 20px 9px;padding:12px;border:1px solid #b9c8ca;border-radius:7px;outline-offset:2px}#v2-find .find-count{margin:0 20px 12px;font-size:12px;color:#677974}#v2-results{max-height:50vh;overflow:auto;padding:0 12px 15px}#v2-results button{display:block;width:100%;background:white;color:#283c44;text-align:left;border-radius:7px;padding:12px 10px;font-size:14px}#v2-results button:hover{background:#edf3f7}#v2-results small{display:block;font-size:11px;color:#687e83;margin-top:4px}#v2-results p{padding:0 10px;color:#687e83;font-size:13px}#v2-mobile{padding:0;max-height:85vh;width:min(330px,calc(100% - 24px));border-radius:12px}#v2-mobile .v2-aside{width:100%;border:0;max-height:70vh;display:flex}#v2-mobile .v2-nav button{background:transparent;color:#425963}#v2-mobile .v2-nav button.active{background:#e3edf7;color:#034ea2}#v2-mobile .v2-lis-nav{background:transparent;color:#536849}#v2-mobile .mobile-close{display:block;margin:12px 15px 0 auto;background:#edf2ee;color:#3d5645;padding:5px 12px;font-size:12px}.v2-command [hidden]{display:none}.v2-main iframe:focus-visible{outline:2px solid #034ea2;outline-offset:-2px}
  @media(max-width:850px){.v2-aside{display:none}.v2-menu{display:block}.v2-head{padding:0 18px;gap:15px}.v2-brand{min-width:130px}.v2-search-launch{width:auto;flex:1}.v2-search-launch kbd{display:none}.v2-free-label{display:none}.v2-command{padding:0 18px}.v2-command-label{font-size:11px}.v2-command-actions{gap:8px}}
  @media(max-width:500px){.v2-ribbon{padding:0 15px;font-size:9px}.v2-head{height:59px;padding:0 15px;gap:12px}.v2-brand{min-width:0;font-size:19px;gap:9px}.v2-search-launch{font-size:0;flex:none;margin-left:auto;width:38px;height:36px;padding:8px;justify-content:center}.v2-search-launch:before{content:'⌕';font-size:23px;line-height:1;color:#425e70}.v2-command{height:42px;padding:0 13px}.v2-command-actions{gap:5px}.v2-command button{font-size:11px}.v2-command-label{font-size:10px}.v2-status{max-width:90vw;font-size:12px}.v2-search-launch span{display:none}}

/* SJE: restrained surfaces and a stable learning workspace. */
:root{--sje-bg:#fafbf9;--sje-ink:#192c38;--sje-muted:#596a76;--sje-line:#dfe5e5;--sje-shadow-sm:none;--sje-radius:10px}
body{background:#fafbf9;font-family:'Segoe UI',Arial,sans-serif;color:#192c38}.site-header,.site-footer{display:none}.wrap{max-width:1160px;padding-inline:34px}main.wrap{padding-bottom:30px}.crumbs{padding-top:14px;font-size:12px}.crumbs a{min-height:32px}.page-hero{padding:18px 0 17px}.page-hero h1{font-size:32px;font-weight:650;letter-spacing:-.8px;line-height:1.2}.hero-kicker{font-size:10px!important;letter-spacing:1.7px;color:#596a76!important;font-weight:650}.page-hero>p:not(.hero-kicker){font-size:14px;line-height:1.7;margin-top:10px;max-width:700px}.hero-actions{margin-top:15px}.hero-actions .btn{min-height:36px;padding:8px 14px;font-size:12px;flex:none}.hero-actions .level-help{margin:0;align-self:center;font-size:12px}.btn{box-shadow:none!important;border-radius:7px;font-weight:600;font-size:14px;border-width:1px}.btn:hover{transform:none}.local-free-scope{background:transparent;border:0;border-top:1px solid #e2e9e5;border-bottom:1px solid #e2e9e5;padding:12px 0;margin:0 0 24px;border-radius:0;font-size:12px;color:#596a76}.local-free-scope b{color:#256b4d;background:#e8f3ec;padding:3px 8px;font-size:10px}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 28px}.level-card{padding:20px;min-height:170px;border:1px solid #dfe5e5;border-radius:10px;box-shadow:none;background:white}.level-card::before{display:none}.level-card:hover{transform:none;box-shadow:0 3px 12px #142b3510;border-color:#7fa7c8}.level-card.level-a1{background:#f4f8f2;border-color:#c9dbc8}.level-card h2{font-size:20px;font-weight:650;margin-top:10px}.level-card p{font-size:13px;line-height:1.65}.level-code{font-size:12px;padding:4px 9px;border-radius:6px}.badge-count{background:#f0f3f5;color:#536874;font-size:11px}.level-card-cta{font-size:12px;font-weight:600}.level-card .badge-start,.level-card .start-badge{background:#e2eedc;color:#42673c}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.topic-card{border-radius:10px;padding:18px;min-height:125px;box-shadow:none;background:white;border-color:#dfe5e5}.topic-card:hover{transform:none;box-shadow:0 3px 12px #142b3510}.topic-card h2{font-size:16px}.family-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.family-chip{border-radius:8px;box-shadow:none;padding:15px;background:white}.family-chip:hover{transform:none;border-color:#7fa7c8}.session-card{border:1px solid #cbdce9;border-left:3px solid #034ea2;background:#f1f6fb;color:#192c38;box-shadow:none;border-radius:10px;padding:24px;gap:20px;margin-top:5px}.session-card::after,.session-card::before{display:none}.session-card h2{color:#192c38;font-size:24px;letter-spacing:-.5px;font-weight:650}.session-card .session-eyebrow{color:#034ea2}.session-card .session-copy>p:not(.session-eyebrow),.session-card .storage-note,.session-card .session-summary{color:#526878;font-weight:400;font-size:12px}.session-card .btn-primary{background:#034ea2;color:white;border-color:#034ea2}.session-card .btn-ghost{color:#034ea2;border-color:#aec4d9;background:white}.session-metric{background:#ffffffb0;border-color:#d9e3ec;border-radius:8px;color:#192c38}.session-metric dt,.session-metric dd{color:#192c38}.session-metric dd{font-size:22px;font-weight:600}.progress-panel,.grammar-progress-panel{border-radius:9px;box-shadow:none;background:white}.filter-chip{font-size:12px;border-radius:7px;min-height:38px}.filter-chip.active{background:#e8f0fa;color:#034ea2;border-color:#b8cde5}.concept-card{border-radius:12px;box-shadow:none}.concept-card h2{font-size:25px}.practice-sheet{border-radius:14px;box-shadow:0 20px 80px #142b3530}.practice-option{border-radius:9px}.local-lis{background:#f0f3ef;border:1px solid #dce4da;border-radius:12px;padding:25px;margin-top:28px}.local-lis h2{font-size:24px;font-weight:650}.local-lis .local-kicker{color:#536b53;font-size:10px}.local-lis-intro{font-size:13px;line-height:1.7}.local-steps{gap:12px;margin:18px 0}.local-step{border:0;border-left:1px solid #ccd8ca;border-radius:0;background:transparent;padding:0 15px}.local-step>span{color:#526b54;font-size:10px}.local-step h3{font-size:15px}.local-step p{font-size:12px}.local-lis button{font:600 13px 'Segoe UI',Arial,sans-serif;border-radius:7px}.local-lis-bottom>span{font-size:11px}.local-modal{border-radius:14px}.local-modal-head button{font-family:'Segoe UI',Arial,sans-serif}.local-modal .local-return{font:600 14px 'Segoe UI',Arial,sans-serif}.grammar-choice,.grammar-error-fragment{font-size:15px}*:focus-visible{outline:3px solid #034ea2;outline-offset:3px}
.level-card h2,.topic-card h2{font-family:'Segoe UI',Arial,sans-serif;font-weight:650}.level-card h2{margin:10px 0 5px}.level-card p{margin:0 0 10px}.level-card-cta{margin-top:13px}.v2-catalog .crumbs{display:none}.v2-catalog .page-hero{padding-top:30px}.v2-focused .local-lis,.v2-focused .local-free-scope{display:none}
.session-card .btn-primary:not(:disabled):hover{background:#063e80;color:#fff;border-color:#063e80;box-shadow:none}.session-card .btn-ghost:not(:disabled):hover{background:#e8f0fa;color:#034ea2;border-color:#96b6d3}.session-card .storage-note::before{background:#e3edf7;color:#42657f}
@media(min-width:1100px){.level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.wrap{padding-inline:24px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.session-card{padding:20px}.local-steps{grid-template-columns:1fr}.local-step{padding-left:13px}.local-lis-bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.wrap{padding-inline:18px}.page-hero{padding-top:14px}.page-hero h1{font-size:27px}.page-hero>p:not(.hero-kicker){font-size:13px}.level-grid,.topic-grid{grid-template-columns:1fr}.level-card{min-height:155px;padding:18px}.local-free-scope{flex-direction:row;align-items:center;font-size:11px;gap:10px}.local-free-scope b{white-space:nowrap}.family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-card h2{font-size:22px}.local-lis{padding:20px}.local-lis h2{font-size:22px}.hero-actions .level-help{font-size:11px}.hero-actions .btn{width:100%}.local-free-scope span{line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

body{background:#fafbfddd}.arc-root main.wrap{max-width:1260px}.arc-root .page-hero{display:none}.arc-root .local-free-scope{display:none}.arc-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.1fr 1fr;min-height:340px;margin:26px 0 30px;border-radius:25px;overflow:hidden;background:#092f6a;color:white;box-shadow:0 12px 32px #173e6c17}.arc-hero.grammar{background:#342566}.arc-copy{padding:35px 12px 34px 35px;z-index:1;align-self:center}.arc-kicker{font-size:10px;font-weight:750;letter-spacing:1.5px;color:#b7d3fc;margin:0 0 14px}.grammar .arc-kicker{color:#d4c8ff}.arc-copy h1{font:750 clamp(28px,3.2vw,41px)/1.13 'Segoe UI',Arial,sans-serif;letter-spacing:-1.3px;max-width:480px;margin:0 0 16px}.arc-copy p:not(.arc-kicker){font-size:14px;color:#d6e5fa;line-height:1.7;max-width:420px;margin:0 0 23px}.arc-hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.arc-start{display:inline-flex;align-items:center;gap:8px;background:white;color:#123b6b;text-decoration:none;border:0;border-radius:24px;padding:11px 18px;font-size:13px;font-weight:750;box-shadow:0 5px 15px #0001;cursor:pointer;transition:transform .18s}.arc-start:hover{background:#eef5ff;transform:translateY(-2px)}.arc-link{font-size:12px;color:#cfdef5;text-decoration:none;padding:8px 0}.arc-link:hover{text-decoration:underline}.arc-illustration{align-self:stretch;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse at 75% 45%,#7aa4ee77,transparent 65%);overflow:hidden}.arc-illustration svg{width:112%;max-width:490px;min-width:280px;filter:drop-shadow(0 18px 25px #031b4d33);transform:rotate(-5deg);transition:transform .5s}.arc-hero:hover .arc-illustration svg{transform:rotate(-2deg) translateY(-4px)}.arc-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:26px 0 14px}.arc-section-head h2{font:700 23px/1.3 'Segoe UI',Arial,sans-serif;letter-spacing:-.65px;margin:0}.arc-section-head span{font-size:12px;color:#617283}.arc-curated{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:30px}.arc-tile{display:block;text-decoration:none;color:#192c38;border-radius:18px;background:#fff;border:1px solid #e0e6ee;overflow:hidden;box-shadow:0 4px 12px #18294008;transition:transform .18s,box-shadow .18s}.arc-tile:hover{transform:translateY(-4px);box-shadow:0 12px 26px #18294017}.arc-art{height:140px;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background:var(--arc-color,#cfeaff)}.arc-art svg{width:190px;height:160px;transform:rotate(-5deg) translateY(10px);transition:transform .25s}.arc-tile:hover .arc-art svg{transform:rotate(0) translateY(6px)}.arc-tile-body{padding:17px 18px;position:relative}.arc-tile-body small{font-size:10px;color:#5b7084;letter-spacing:.55px}.arc-tile-body h3{font:700 17px/1.35 'Segoe UI',Arial,sans-serif;letter-spacing:-.25px;margin:5px 0 6px;padding-right:25px}.arc-tile-body p{color:#637487;font-size:12px;margin:0;line-height:1.55}.arc-tile-arrow{position:absolute;right:16px;top:38px;border:1px solid #e3e8ed;background:#f6f8fb;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:#034ea2;font-size:14px}.arc-recent{display:flex;gap:12px;margin:14px 0 27px;flex-wrap:wrap}.arc-recent a{display:flex;align-items:center;gap:12px;min-width:180px;flex:1;max-width:400px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #dfe7ee;text-decoration:none;color:#20374c}.arc-recent a>span:first-child{width:36px;height:36px;display:grid;place-items:center;background:#e7effa;color:#034ea2;border-radius:10px;font-weight:700}.arc-recent strong{display:block;font-size:12px;font-weight:650}.arc-recent small{font-size:10px;color:#6a7b8c}.arc-library-head{border-top:1px solid #e2e8ee;padding-top:22px}.arc-root .level-card{min-height:165px;border-radius:16px}.arc-root .level-grid{gap:13px}.arc-root .local-lis{margin-top:28px}.arc-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.arc-mini{width:105px;height:95px;border-radius:20px;background:#e8effb;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.arc-mini svg{width:120px;transform:rotate(-8deg)}.arc-detail-heading .page-hero{flex:1}.arc-level-cover{height:60px;margin-bottom:11px;display:flex;align-items:center}.arc-level-cover svg{width:85px;height:75px}.arc-topic-card{border-radius:15px}.v2-focused .arc-illustration,.v2-focused .arc-curated,.v2-focused .arc-curated-heading,.v2-focused .arc-mini{display:none}.v2-focused .arc-hero{grid-template-columns:1fr;min-height:0;background:#edf3fb;color:#193a60;box-shadow:none}.v2-focused .arc-copy{padding:24px}.v2-focused .arc-copy h1{font-size:28px;color:#193a60;max-width:none}.v2-focused .arc-copy p,.v2-focused .arc-kicker,.v2-focused .arc-link{color:#45637e!important}.v2-focused .arc-copy p{margin-bottom:12px;max-width:none}
@media(max-width:1000px){.arc-hero{min-height:300px;grid-template-columns:1.2fr 1fr}.arc-copy{padding:28px 0 28px 27px}.arc-copy h1{font-size:33px}.arc-curated{gap:12px}.arc-tile-body{padding:14px}.arc-art{height:120px}.arc-tile-body h3{font-size:16px}.arc-section-head h2{font-size:21px}}
@media(max-width:650px){.arc-hero{grid-template-columns:1fr;min-height:0;margin-top:18px;border-radius:21px}.arc-copy{padding:25px 24px 10px;order:2}.arc-copy h1{font-size:30px;max-width:400px}.arc-copy p:not(.arc-kicker){font-size:13px;margin-bottom:15px}.arc-illustration{height:185px;order:1;background:radial-gradient(ellipse at 50% 70%,#7aa4ee77,transparent 75%)}.arc-illustration svg{width:270px;min-width:0;height:245px;transform:rotate(-5deg) translateY(22px)}.arc-hero:hover .arc-illustration svg{transform:rotate(-5deg) translateY(22px)}.arc-hero-actions{margin-bottom:17px;gap:8px}.arc-start{font-size:12px;padding:10px 15px}.arc-link{font-size:11px}.arc-curated{grid-template-columns:1fr;gap:12px}.arc-tile{display:grid;grid-template-columns:112px 1fr;min-height:122px;border-radius:15px}.arc-art{height:100%;min-height:122px}.arc-art svg{width:140px;height:140px;flex-shrink:0;transform:rotate(-7deg) translateY(5px)}.arc-tile-body{align-self:center;padding:15px 13px}.arc-tile-body h3{padding-right:0;font-size:16px}.arc-tile-arrow{display:none}.arc-section-head{align-items:flex-start;gap:6px;flex-direction:column}.arc-section-head h2{font-size:22px}.arc-mini{width:69px;height:69px;border-radius:16px}.arc-mini svg{width:85px}.arc-detail-heading{gap:12px}.arc-recent a{max-width:none}.arc-level-cover{height:50px}.arc-root .level-card{min-height:150px}}
@media(prefers-reduced-motion:reduce){.arc-hero:hover .arc-illustration svg,.arc-tile:hover,.arc-tile:hover svg,.arc-start:hover{transform:none}*{transition:none!important}}

html,body{height:auto;min-height:100%;margin:0}.site-header,.site-footer,.skip-link{display:none}.v2-head{position:sticky;top:0;z-index:50}.v2-workspace{min-height:calc(100vh - 66px);align-items:stretch}.v2-main{display:block}.v2-aside{position:sticky;top:66px;height:calc(100vh - 66px)}.v2-nav a{display:block;padding:12px;color:inherit;text-decoration:none;border-radius:9px}.v2-nav a.active{background:#e3edf7;color:#034ea2;font-weight:700}.v2-main main{width:100%}.free-account{margin-left:auto;border:0;border-radius:25px;background:#16624b;color:white;padding:12px 18px;font:inherit;cursor:pointer}.free-gate{padding:22px 28px;background:#eff7f0;border:1px solid #cfded2;border-radius:18px;margin:18px 0}.free-gate h2{margin:0 0 10px}.free-gate p{color:#476052}.free-gate button{background:#16624b;color:white;border:0;border-radius:22px;padding:12px 20px;font:inherit;cursor:pointer}body.free-guest .concept-practice,body.free-guest .grammar-session-card,body.free-guest .grammar-progress-panel,body.free-guest .session-panel{display:none!important}#free-dialog{padding:28px;max-width:550px;width:calc(100% - 32px);border:0;border-radius:20px}#free-dialog::backdrop{background:#10243e99}#free-dialog input{display:block;width:100%;padding:12px;margin:8px 0 20px;border:1px solid #aebfbc;border-radius:8px}#free-dialog button{margin:5px;padding:12px 16px;border-radius:10px;border:0;cursor:pointer}#free-dialog .primary{background:#16624b;color:white}.free-option{display:block;width:100%;text-align:left}.free-feedback{padding:14px;background:#eff7f0;border-radius:10px}.free-close{float:right}#free-sync{font-size:12px;color:#476052;padding:8px 28px}.free-error{color:#a43426}body .v2-search-launch{display:none}@media(max-width:850px){.v2-aside{display:none}.v2-aside.open{display:block;position:fixed;z-index:80;background:#f4f5f2;left:0;top:66px;width:240px}.v2-head{padding:0 15px;gap:8px}.v2-brand{min-width:0}.free-account{font-size:12px;padding:10px}.free-gate{padding:18px}}
/* Free V3: shared typography and responsive overlays. Keep public lists browsable. */
body { --free-font: "Segoe UI", Arial, sans-serif; font-family: var(--free-font); }
.concept-explanation, .example-en, .example-vi, .grammar-exercise-sentence,
.grammar-error-sentence, .practice-question, .flash .fex { font-family: var(--free-font); }
.concept-explanation { max-width: 68ch; font-size: 17px; line-height: 1.75; }
.concept-card { padding: 26px; }
.v2-main .wrap { max-width: 1280px; padding-inline: 32px; }
.v2-main .reading-wrap { max-width: 1060px; }
.v2-head { box-sizing: border-box; width: 100%; }
.v2-main { min-width: 0; }
body.free-guest .session-card, body.free-guest .progress-panel,
body.free-guest .filter-bar, body.free-guest .topic-done-banner { display: none !important; }
.free-gate p { margin-bottom: 14px; }
#free-dialog { position: fixed; inset: 0; margin: auto; box-sizing: border-box;
  width: min(550px, calc(100% - 32px)); max-height: calc(100dvh - 32px);
  padding: 28px; overflow-y: auto; color: #18323e; font: 16px/1.6 var(--free-font);
  box-shadow: 0 24px 80px #10243e33; }
#free-dialog h2 { padding-right: 40px; font-size: 23px; line-height: 1.35; margin-bottom: 16px; }
#free-dialog p { margin-bottom: 12px; }
#free-dialog button { font: inherit; min-height: 44px; margin: 6px 0; }
#free-dialog .free-close { position: absolute; top: 12px; right: 12px; width: 44px; margin: 0; }
#free-dialog .free-option { width: 100%; background: #f0f4f5; border: 1px solid #d6e0e3; }
#free-dialog .free-option:hover:not(:disabled) { background: #e4eff8; border-color: #034ea2; }
#free-dialog button:focus-visible, .v2-nav a:focus-visible { outline: 3px solid #034ea2; outline-offset: 3px; }
#free-dialog button:disabled { cursor: default; opacity: .75; }
.catalog-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.catalog-list > li { margin: 0; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 850px) {
  .v2-main .wrap { padding-inline: 20px; }
  .catalog-list { grid-template-columns: 1fr; }
  .concept-card { padding: 20px; }
}
@media (max-width: 480px) {
  #free-dialog { padding: 22px 18px; }
  #free-dialog h2 { font-size: 21px; }
  .v2-main .wrap { padding-inline: 16px; }
}

/* Account-only daily overview; guest pages keep their existing layout. */
#free-today { margin: 12px 0 36px; color: #173354; }
.free-today-heading { margin-bottom: 20px; }
.free-today-heading > p { color: #034ea2; font-size: 11px; font-weight: 750; letter-spacing: .12em; margin: 0 0 7px; }
.free-today-heading h2 { color: #173354; font-size: clamp(24px, 3vw, 32px); line-height: 1.25; margin: 0; }
.free-today-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.free-today-card { display: flex; flex-direction: column; min-width: 0; padding: 22px 20px; border: 1px solid #dbe4ef; border-radius: 18px; background: #fff; }
.free-today-card h3 { color: #034ea2; font-size: 17px; line-height: 1.3; margin: 0 0 16px; }
.free-today-card p { font-size: 15px; line-height: 1.65; margin: 0 0 18px; overflow-wrap: anywhere; }
.free-today-card p:last-child { margin-bottom: 0; }
.free-today-card strong { font-weight: 750; }
.free-today-card .free-today-action { display: flex; align-items: center; justify-content: space-between; min-height: 44px; margin-top: auto; padding: 10px 14px; border-radius: 10px; background: #edf3fb; color: #034ea2; text-decoration: none; font-size: 14px; font-weight: 700; }
.free-today-action:focus-visible { outline: 3px solid #ffc20f; outline-offset: 3px; }
.free-today-action:hover { text-decoration: underline; }
.free-today-review { background: #034ea2; border-color: #034ea2; color: #fff; }
.free-today-review h3 { color: #fff; }
.free-today-review p > strong { display: block; font-size: 36px; line-height: 1.15; margin-bottom: 7px; }
.free-today-review .free-today-action { background: #ffc20f; color: #15314e; }
.free-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; max-width: 210px; margin: 0 0 14px; }
.free-day { aspect-ratio: 1; border: 1px solid #dbe4ef; border-radius: 4px; background: #edf2f8; }
.free-day.active { background: #034ea2; border-color: #034ea2; }
.free-day.today { box-shadow: 0 0 0 2px #ffc20f; }
.free-today-message { color: #034ea2; padding: 12px 0; }
@media (max-width: 1200px) { .free-today-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .free-today-grid { grid-template-columns: minmax(0, 1fr); } .free-today-card { padding: 20px; } }
