:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#232628;background:#f7f3ea}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:26px 18px;background:#fffaf0;border-right:1px solid #e6ddcf}.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:#232628;font-weight:800;font-size:22px}.brand.large{width:fit-content;margin-bottom:18px;font-size:26px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#243b53;color:#fff;font-size:14px}nav{display:grid;gap:6px}.nav-button{min-height:44px;display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#697178;text-align:left;font-weight:700}.nav-button:hover,.nav-button.active{background:#e4edf4;color:#243b53}.sidebar-panel,.panel,.auth-card,.daily-panel,.example-card,.exercise-preview{border:1px solid #e3d8ca;border-radius:8px;background:#fffdf8;box-shadow:0 18px 36px #2a30370f}.sidebar-panel{margin-top:auto;padding:16px}.sidebar-panel p,.sidebar-panel span,.muted{margin:0;color:#687178}.sidebar-panel strong{display:block;margin:7px 0;color:#d65f3f;font-size:24px;line-height:1;word-break:break-word}.main-content{width:min(1180px,100%);margin:0 auto;padding:34px clamp(20px,4vw,54px) 56px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(24px,5vw,70px);align-items:center;width:min(1120px,100%);margin:0 auto;padding:34px clamp(18px,5vw,56px)}.auth-shell.single{grid-template-columns:minmax(320px,520px);justify-content:center}.auth-intro,.page-stack,.stack,.auth-card form,.record-list,.example-list,.exercise-list{display:grid;gap:16px}.auth-card,.panel,.daily-panel{padding:clamp(20px,4vw,34px)}.eyebrow{margin:0 0 8px;color:#697178;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{color:#1f2830;font-size:clamp(34px,4vw,58px);line-height:1}h2{color:#1f2830;font-size:21px;line-height:1.2}.lede{max-width:680px;color:#606a72;line-height:1.6}.lede-sub{opacity:.75}.nowrap{white-space:nowrap}.auth-principles{display:grid;gap:10px}.auth-principles span,.data-panel{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #cbdedc;border-radius:8px;background:#edf7f4;color:#156064;font-weight:750}label{display:grid;gap:8px;color:#505961;font-weight:800}.input-wrap{min-height:48px;display:flex;align-items:center;gap:10px;border:1px solid #d7ccc0;border-radius:8px;background:#fff;padding:0 12px;color:#697178}input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#232628}.primary-button,.text-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;font-weight:800}.primary-button{border:0;padding:12px 16px;background:#d65f3f;color:#fff}.primary-button:disabled{opacity:.5;cursor:not-allowed}.primary-button.wide{width:100%}.text-button{width:100%;margin-top:18px;border:0;background:transparent;color:#156064}.form-note,.data-panel p{margin:6px 0 0;color:#687178;line-height:1.5}.error-message{margin:0;padding:12px;border-radius:8px;background:#fff1e7;color:#a64b2e;font-weight:750}html:not([data-theme=light]) .error-message{background:#a64b2e29;border:1px solid rgba(166,75,46,.5);color:#f5c0a6}.home-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:18px}.daily-art{min-height:210px;display:grid;align-content:end;margin-bottom:32px;padding:28px;border-radius:8px;background:linear-gradient(140deg,#243b53e6,#156064b8);color:#fff}.daily-art span{font-weight:800}.daily-art strong{max-width:650px;font-size:clamp(44px,6vw,82px);line-height:.95}.empty-grid,.section-tabs,.progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progress-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{min-height:104px;display:grid;gap:8px;padding:14px;border:1px solid #e7ddd1;border-radius:8px;background:#fff}.metric span,.section-tabs span,.example-card span,.exercise-preview span{color:#687178;font-size:12px}.metric strong{color:#243b53;font-size:28px;line-height:1}.panel.compact{padding:18px}.panel-title{display:flex;justify-content:space-between;gap:16px}.empty-state{display:grid;gap:10px;min-height:172px;align-content:center;padding:22px;border:1px dashed #d6cbbd;border-radius:8px;background:#fff;color:#566069}.empty-state h3,.empty-state p{margin:0}.record-list div{display:flex;justify-content:space-between;gap:16px;padding:12px;border:1px solid #eadfd1;border-radius:8px;background:#fff}.record-count{min-height:172px;display:grid;place-content:center;gap:6px;border:1px solid #eadfd1;border-radius:8px;background:#fff;text-align:center}.record-count strong{color:#156064;font-size:44px;line-height:1}.section-tabs{display:flex;flex-wrap:wrap;gap:8px}.section-tabs.compact{max-width:560px}.section-tabs button{min-height:0;display:inline-flex;align-items:center;gap:8px;border:1px solid #ded4c8;border-radius:999px;background:#fffdf8;color:#243b53;text-align:center;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer}.section-tabs.compact button{min-height:0}.section-tabs button.selected{border-color:#156064;background:#edf7f4;color:#156064}.section-tabs strong{font-size:14px;line-height:1.2}.example-card,.exercise-preview{display:grid;gap:8px;padding:16px}.example-card span,.exercise-preview span{color:#156064;font-weight:800;text-transform:uppercase}.example-card p,.exercise-preview p{margin:0;color:#26323a;line-height:1.55}.exercise-preview h2{margin:0}.choice-pills{display:flex;flex-wrap:wrap;gap:8px}.choice-pills span{padding:7px 9px;border-radius:999px;background:#edf7f4;color:#156064;text-transform:none}.clean-list{margin:0;padding-left:19px;color:#4f5960;line-height:1.8}.panel-grid{display:grid;gap:14px}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.topic-group{padding:14px;border:1px solid #e7ddd1;border-radius:8px;background:#fff}.topic-group h3{margin:0 0 10px;color:#156064;font-size:15px;text-transform:capitalize}.topic-group--wide{grid-column:1 / -1}.topic-item{display:grid;gap:3px;padding:8px 0;border-top:1px solid #eee5da}.topic-item:first-of-type{border-top:0}.topic-item strong{color:#243b53;font-size:13px}.topic-item span{color:#687178;font-size:13px}.topic-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 24px}.topic-word{display:flex;align-items:baseline;gap:8px;padding:6px 0;min-width:0}.topic-word strong{color:#243b53;font-size:13px;white-space:nowrap}.topic-word span{color:#687178;font-size:12px;overflow-wrap:anywhere}summary{cursor:pointer;font-weight:800}@media(max-width:1040px){.app-shell,.auth-shell,.home-grid,.progress-grid{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;gap:8px;padding:10px;min-width:0}.sidebar>.nav-button{width:auto;flex:0 0 auto}.sidebar nav{grid-auto-flow:column;overflow-x:auto;min-width:0;flex:1 1 0%}.sidebar-panel{display:none}}@media(max-width:680px){.main-content{padding:24px 14px 42px}.empty-grid,.section-tabs,.topic-grid{grid-template-columns:1fr}}:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e8eef7;background:#080d18}body{background:radial-gradient(circle at 70% -10%,#18304d 0,#0b1220 42%,#080d18)}.app-shell{grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#0a111fe0;border-right:1px solid #22344d;padding:28px 16px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{color:#eef5ff}.brand-mark{border-radius:12px;background:linear-gradient(135deg,#5eead4,#2d7cff);box-shadow:0 0 22px #2d7cff61}.nav-button{color:#91a3bb;border:1px solid transparent}.nav-button:hover,.nav-button.active{color:#eaf4ff;background:linear-gradient(90deg,#38bdf82e,#2d7cff14);border-color:#2c547b}.sidebar-panel,.panel,.auth-card,.daily-panel,.example-card,.exercise-preview{background:#0f1a2bd1;border-color:#253d59;box-shadow:0 20px 60px #0003}.sidebar-panel strong{color:#5eead4}.main-content{max-width:1440px;padding:42px clamp(24px,5vw,72px) 70px}.daily-panel{padding:34px;border-radius:22px}.home-grid{gap:24px;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}.daily-art{min-height:250px;border-radius:18px;margin-bottom:38px;padding:30px;background:linear-gradient(135deg,#142b46,#176b78 55%,#2b9b9a);position:relative;overflow:hidden}.daily-art:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-70px;top:-100px;background:#5eead438;box-shadow:0 0 70px #5eead44d}.daily-art strong{position:relative;z-index:1;font-size:clamp(42px,5vw,76px);letter-spacing:-.06em}h1,h2,h3{color:#f4f8ff;letter-spacing:-.035em}.page-title{font-size:clamp(38px,5vw,64px)}.lede,.muted,.sidebar-panel p,.sidebar-panel span{color:#91a3bb}.eyebrow{color:#5eead4}.metric{background:#142338cc;border-color:#294661}.metric strong{color:#5eead4}.data-panel{background:#1e6e7438;border-color:#287c83;color:#9ef7e9}.primary-button{border-radius:12px;background:linear-gradient(100deg,#ff735c,#f04f77);box-shadow:0 12px 28px #f04f7740;transition:transform .2s,box-shadow .2s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px #f04f775c}.empty-state{background:#0c18288c;border-color:#2b4764;color:#a7b7ca}.record-list div,.topic-item{background:#142338cc;border-color:#294661}html[data-theme=light] .topic-word strong{color:#243b53}html[data-theme=light] .topic-word span{color:#687178}.topic-word strong{color:#dce6f2}.topic-word span{color:#91a3bb}.section-tabs button{background:#0f1a2bd1;border-color:#294661;color:#d8e8fb}.section-tabs button.selected{background:#31b2a92e;border-color:#5eead4;color:#8ff8e7}.example-card p,.exercise-preview p,.clean-list{color:#d4e0ee}.theme-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:#91a3bb;font-weight:700;text-align:left}.theme-toggle:hover{color:#eaf4ff;background:#38bdf81f;border-color:#2c547b}html[data-theme=light]{color:#232628;background:#f7f3ea}html[data-theme=light] body{background:radial-gradient(circle at 70% -10%,#fff 0,#f7f3ea 58%,#eee8dc)}html[data-theme=light] .sidebar{background:#fffaf0;border-right-color:#e6ddcf}html[data-theme=light] .brand{color:#232628}html[data-theme=light] .nav-button,.theme-toggle{color:#697178}html[data-theme=light] .nav-button:hover,html[data-theme=light] .nav-button.active,.theme-toggle:hover{background:#e4edf4;border-color:#c8d9e5;color:#243b53}html[data-theme=light] .sidebar-panel,html[data-theme=light] .panel,html[data-theme=light] .auth-card,html[data-theme=light] .daily-panel,html[data-theme=light] .example-card,html[data-theme=light] .exercise-preview{background:#fffdf8;border-color:#e3d8ca;box-shadow:0 18px 36px #2a30370f}html[data-theme=light] h1,html[data-theme=light] h2,html[data-theme=light] h3{color:#1f2830}html[data-theme=light] .lede,html[data-theme=light] .muted,html[data-theme=light] .sidebar-panel p,html[data-theme=light] .sidebar-panel span{color:#687178}html[data-theme=light] .metric,html[data-theme=light] .record-list div,html[data-theme=light] .topic-item{background:#fff;border-color:#e7ddd1}html[data-theme=light] .metric strong{color:#243b53}html[data-theme=light] .example-card p,html[data-theme=light] .exercise-preview p,html[data-theme=light] .clean-list{color:#26323a}html:not([data-theme=light]) .topic-group{background:#151515;border-color:#303030}html:not([data-theme=light]) .topic-group h3{color:#f5f5f5}html:not([data-theme=light]) .topic-item{background:transparent;border-color:#2a2a2a}html:not([data-theme=light]) .topic-item strong{color:#dce6f2}html:not([data-theme=light]) .topic-item span{color:#999}.session-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}html:not([data-theme=light]) .record-count{background:#151515;border-color:#303030}html:not([data-theme=light]) .record-count strong{color:#5eead4}html:not([data-theme=light]) .record-count span{color:#999}@media(max-width:680px){.session-stats{grid-template-columns:1fr}}html[data-theme=light] .section-tabs button{background:#fffdf8;border-color:#ded4c8;color:#243b53}html[data-theme=light] .empty-state{background:#fff;border-color:#d6cbbd;color:#566069}html:not([data-theme=light]) body{background:#111;color:#eee}html:not([data-theme=light]) .sidebar{background:#111;border-right:1px solid #2d2d2d}html:not([data-theme=light]) .brand-mark{border-radius:8px;box-shadow:none}html:not([data-theme=light]) .nav-button{border-radius:6px}html:not([data-theme=light]) .nav-button:hover,html:not([data-theme=light]) .nav-button.active{background:#202020;border-color:#3a3a3a}html:not([data-theme=light]) .sidebar-panel{background:#171717;border-color:#303030;box-shadow:none}html:not([data-theme=light]) .panel,html:not([data-theme=light]) .daily-panel,html:not([data-theme=light]) .exercise-preview,html:not([data-theme=light]) .example-card{background:#151515;border-color:#303030;border-radius:14px;box-shadow:none}html:not([data-theme=light]) .daily-art{border-radius:12px;background:#1b1b1b;border:1px solid #303030}html:not([data-theme=light]) .daily-art:after{display:none}html:not([data-theme=light]) h1,html:not([data-theme=light]) h2,html:not([data-theme=light]) h3{color:#f5f5f5}html:not([data-theme=light]) .lede,html:not([data-theme=light]) .muted{color:#999}html:not([data-theme=light]) .metric{background:#191919;border-color:#303030}html:not([data-theme=light]) .metric strong{color:#fff}html:not([data-theme=light]) .primary-button{background:#f1f1f1;color:#111;box-shadow:none;border-radius:9px}html:not([data-theme=light]) .primary-button:hover{box-shadow:none;transform:translateY(-1px)}html:not([data-theme=light]) .section-tabs button{background:#151515;border-color:#303030;border-radius:8px}html:not([data-theme=light]) .section-tabs button.selected{background:#252525;border-color:#eee;color:#fff}html:not([data-theme=light]) .mcq-options button{background:#1a1a1a;border-color:#353535;color:#e8e8e8}html:not([data-theme=light]) .mcq-options button:hover:not(:disabled){background:#252525;border-color:#aaa}html:not([data-theme=light]) .session-toolbar{color:#888}html:not([data-theme=light]) .reset-button{border-color:#444;color:#bbb}.level-guide{display:grid;gap:16px}.level-guide h2{margin:0;font-size:24px}.guide-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guide-columns>div{padding:14px;border:1px solid #303030;border-radius:10px;background:#191919}.guide-columns strong{color:#5eead4;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.guide-columns p{margin:7px 0 0;color:#aeb8c6;line-height:1.5}.level-guide small{color:#7f8a99}.level-guide a{color:#7dd3fc}html[data-theme=light] .guide-columns>div{background:#fff;border-color:#e7ddd1}html[data-theme=light] .guide-columns p,html[data-theme=light] .level-guide small{color:#687178}html[data-theme=light] .level-guide a{color:#156064}.content-module{display:grid;gap:14px}.content-module>summary{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #303030;border-radius:11px;background:#151515;color:#f1f1f1;cursor:pointer;font-weight:700}.content-module>summary small{color:#888;font-family:inherit;font-size:11px;font-weight:400}.content-module[open]>summary{border-color:#555}.button-centered{width:max-content;margin:0 auto}.concept-map{display:grid;gap:18px}.map-flow{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center}.map-root{display:grid;place-items:center;align-content:center;min-height:82px;border:1px solid #5eead4;border-radius:50%;background:#27707a33;color:#a4ffef;font-family:ui-monospace,monospace;font-size:24px;font-weight:800}.map-root small{color:#8ca4b7;font-size:10px;font-weight:400}.map-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.map-node{padding:11px 12px;border:1px solid #303030;border-radius:9px;background:#191919;color:#d9e4f0;font-size:13px}.map-node span{margin-right:8px;color:#5eead4;font-family:ui-monospace,monospace;font-size:11px}html[data-theme=light] .content-module>summary{background:#fffdf8;border-color:#e3d8ca;color:#243b53}html[data-theme=light] .map-root{background:#edf7f4;color:#156064;border-color:#156064}html[data-theme=light] .map-node{background:#fff;border-color:#e7ddd1;color:#26323a}html[data-theme=light] .map-node span{color:#156064}.wide-content .roadmap-canvas{min-height:calc(100vh - 310px);align-content:space-evenly}.wide-content .concept-map{width:100%}.main-content.wide-content{width:min(1440px,100%)}.curriculum{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.curriculum-heading{display:flex;justify-content:space-between;align-items:end;gap:12px}.curriculum-heading{grid-column:1}.curriculum-heading h2{margin:0}.curriculum-count{color:#888;font-size:12px}.concept-list{display:grid;gap:8px}.concept-row{display:grid;grid-template-columns:36px 1fr 22px;gap:12px;align-items:center;padding:13px 14px;border:1px solid #303030;border-radius:10px;background:#191919;color:#dce6f2;text-align:left;cursor:pointer}.concept-row:hover,.concept-row.selected{border-color:#5eead4;background:#27707a33}.concept-number{color:#5eead4;font-family:ui-monospace,monospace;font-size:12px}.concept-row strong,.concept-row small{display:block}.concept-row small{margin-top:3px;color:#8997a8;font-size:12px}.concept-arrow{color:#6f8296;font-size:22px}.concept-detail{display:grid;gap:18px;margin:0 0 6px;padding:18px;border:1px solid #303030;border-radius:12px;background:#111;animation:concept-open .16s ease-out}@keyframes concept-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.concept-detail h2{margin:0;font-size:30px}.concept-subtitle{margin:6px 0 0;color:#aeb8c6}.theory-blocks{display:grid;gap:10px}.theory-card{padding:14px 16px;border:1px solid #303030;border-radius:10px;background:#191919}.theory-card strong{color:#5eead4;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.theory-card p{margin:8px 0 0;color:#dce6f2;line-height:1.55}.theory-card code{display:block;margin-top:8px;color:#fbbf8d;white-space:pre-wrap}.theory-card.tip{background:#27707a29}.theory-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #303030;border-radius:10px;overflow:hidden}.theory-table span{padding:10px 12px;border-right:1px solid #303030;border-bottom:1px solid #303030;color:#dce6f2;font-size:13px}.related-vocab{display:grid;gap:8px}.related-vocab>strong{color:#5eead4;font-size:12px;text-transform:uppercase}.related-vocab div{display:flex;flex-wrap:wrap;gap:8px}.related-vocab span{padding:6px 9px;border-radius:7px;background:#202020;color:#dce6f2;font-size:12px}.concept-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px}.concept-footer small{color:#8997a8;line-height:1.6}.concept-footer a{display:block;color:#7dd3fc}html[data-theme=light] .concept-row,html[data-theme=light] .theory-card{background:#fff;border-color:#e7ddd1;color:#243b53}html[data-theme=light] .concept-row small,html[data-theme=light] .concept-subtitle{color:#687178}html[data-theme=light] .theory-card p,html[data-theme=light] .theory-table span{color:#26323a}html[data-theme=light] .theory-table,html[data-theme=light] .theory-table span{border-color:#e7ddd1}html[data-theme=light] .related-vocab span{background:#edf7f4;color:#156064}html[data-theme=light] .concept-footer small{color:#687178}html[data-theme=light] .concept-footer a{color:#156064}.concept-placeholder{min-height:260px;display:grid;place-content:center;gap:8px;padding:24px;border:1px dashed #3b4c60;border-radius:12px;color:#8997a8;text-align:center}.concept-placeholder span{color:#5eead4;font-size:24px}.concept-placeholder strong{color:#dce6f2}.concept-placeholder p{margin:0;font-size:13px;line-height:1.5}.roadmap-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px}.roadmap-levels{display:flex;flex-wrap:wrap;gap:7px}.roadmap-levels button{min-width:42px;padding:7px 10px;border:1px solid #3b4f67;border-radius:7px;background:#191919;color:#aab8c9;font-size:12px;font-weight:800;cursor:pointer}.roadmap-levels button.selected,.roadmap-levels button:hover{border-color:#5eead4;background:#286d78;color:#fff}.map-only-page{min-height:calc(100vh - 56px);display:grid}.map-only-page .concept-map{min-height:calc(100vh - 56px);border:0;border-radius:0;background:transparent;padding:0}.map-only-page .roadmap-canvas{min-height:calc(100vh - 145px);border-radius:0}.concept-modal-scroll{height:100%;overflow-y:auto;max-width:900px;margin:0 auto;padding:6px 12px 30px}.concept-modal .concept-detail{max-width:860px;margin:0 auto;border:0;background:transparent;padding:0 0 30px}.concept-modal-close{position:absolute;top:14px;right:24px;width:34px;height:34px;border:1px solid #555;border-radius:8px;background:#202020;color:#fff;font-size:24px;line-height:1;cursor:pointer}.concept-modal-close:hover{border-color:#5eead4;color:#5eead4}html[data-theme=light] .concept-modal{background:#fffdf8;border-top-color:#d8ccbe;box-shadow:0 -18px 50px #2a30372e}html[data-theme=light] .concept-modal-close{background:#fff;border-color:#cbd9e4;color:#243b53}html[data-theme=light] .roadmap-levels button{background:#fff;border-color:#cbd9e4;color:#687178}html[data-theme=light] .roadmap-levels button.selected,html[data-theme=light] .roadmap-levels button:hover{background:#397f84;color:#fff;border-color:#156064}.roadmap-heading h2{margin:0}.roadmap-badge{padding:6px 9px;border:1px solid #3b4f67;border-radius:999px;color:#8da4bc;font-size:11px}.roadmap-canvas{position:relative;display:grid;min-height:250px;border:1px solid #252525;border-radius:12px;background-color:#121212;background-image:radial-gradient(#343434 1px,transparent 1px);background-size:18px 18px}.roadmap-spine{display:none}.roadmap-node{position:relative;z-index:1;display:grid;gap:4px;min-height:70px;padding:12px;border:1px solid #5369aa;border-radius:9px;background:#4a5288;color:#fff;text-align:left;box-shadow:0 5px #30365e;cursor:pointer;transition:.16s ease}.roadmap-node:hover{transform:translateY(-3px);border-color:#a8b5ff;box-shadow:0 8px #30365e}.roadmap-node.active{border-color:#5eead4;background:#286d78}.roadmap-lesson{margin-top:18px}.roadmap-lesson .concept-detail{background:#151515}.content-view-toggle{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:-6px 0 -4px;color:#8997a8;font-size:12px}.content-view-toggle button{padding:8px 12px;border:1px solid #3b4f67;border-radius:8px;background:#191919;color:#dce6f2;font-size:12px;font-weight:700;cursor:pointer}.content-view-toggle button:hover{border-color:#5eead4;color:#a4ffef}.roadmap-node span{color:#b7c1ff;font-family:ui-monospace,monospace;font-size:10px}.roadmap-node strong{font-size:13px}.roadmap-node small{color:#c3cbee;font-size:10px;text-transform:uppercase}.roadmap-node-1{margin-top:28px}.roadmap-node-2{margin-top:8px}html[data-theme=light] .roadmap-badge{border-color:#cbd9e4;color:#687178}html[data-theme=light] .roadmap-canvas{border-color:#e3d8ca;background-color:#f5f1e9;background-image:radial-gradient(#cfc7b9 1px,transparent 1px)}html[data-theme=light] .roadmap-node{background:#5b64a0;border-color:#5968ad;color:#fff}html[data-theme=light] .roadmap-node.active{border-color:#156064;background:#397f84}html[data-theme=light] .roadmap-lesson .concept-detail{background:#fffdf8}html[data-theme=light] .content-view-toggle button{background:#fff;border-color:#cbd9e4;color:#243b53}html[data-theme=light] .concept-detail{background:#fffdf8;border-color:#e3d8ca}html[data-theme=light] .concept-placeholder{border-color:#cbd9e4;color:#687178}html[data-theme=light] .concept-placeholder strong{color:#243b53}.app-shell{grid-template-columns:64px minmax(0,1fr)}.sidebar{width:64px;overflow:hidden;z-index:20;transition:width .18s ease,box-shadow .18s ease}.sidebar:hover{width:250px;box-shadow:14px 0 36px #00000047}.brand{white-space:nowrap}.brand span:last-child,.nav-button span,.sidebar-panel,.theme-toggle span{opacity:0;pointer-events:none;transition:opacity .12s ease}.sidebar:hover .brand span:last-child,.sidebar:hover .nav-button span,.sidebar:hover .sidebar-panel,.sidebar:hover .theme-toggle span{opacity:1;pointer-events:auto}.sidebar nav{width:228px}.sidebar .brand,.sidebar-panel{width:228px}.theme-toggle{width:228px;white-space:nowrap}html[data-theme=light] .sidebar:hover{box-shadow:14px 0 36px #2a303724}@media(max-width:1040px){.app-shell{grid-template-columns:1fr}.sidebar{width:100%;overflow:visible}.sidebar:hover{width:100%;box-shadow:none}.sidebar .brand span:last-child,.sidebar .nav-button span,.sidebar .theme-toggle span{display:none}.sidebar nav,.sidebar .brand,.theme-toggle{width:auto}.sidebar-panel{display:none}}@media(max-width:680px){.guide-columns{grid-template-columns:1fr}}@media(max-width:680px){.map-flow,.map-branches{grid-template-columns:1fr}}@media(max-width:900px){.curriculum{grid-template-columns:1fr}.curriculum-heading,.concept-list,.concept-detail,.concept-placeholder{grid-column:1}}@media(max-width:680px){.roadmap-canvas{grid-template-columns:1fr;padding:16px}.roadmap-node{margin-left:12px}.roadmap-node-1,.roadmap-node-2{margin-top:0}}@media(max-width:680px){.concept-modal{left:0;height:82vh;padding:22px 14px 24px}.concept-modal-close{right:14px}}.mcq-options{display:grid;gap:9px;margin-top:4px}.session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:-4px;color:#91a3bb;font-size:13px;font-weight:700}.reset-button{padding:8px 12px;border:1px solid #315171;border-radius:9px;background:transparent;color:#9db4cc;font-size:12px;font-weight:800;cursor:pointer}.reset-button:hover{border-color:#5eead4;color:#8ff8e7;background:#27707a33}.mcq-options button{padding:12px 14px;border:1px solid #315171;border-radius:10px;background:#122339cc;color:#dce9f8;text-align:left;cursor:pointer;transition:.18s ease}.mcq-options button:hover:not(:disabled){border-color:#5eead4;background:#27707a4d;transform:translate(3px)}.mcq-options button.correct{border-color:#5eead4;background:#26b49b40;color:#a4ffef}.mcq-options button.incorrect{border-color:#ff7e7e;background:#c7424f3b;color:#ffc3c3}.mcq-options button:disabled{cursor:default;opacity:.92}.mcq-feedback{display:grid;gap:3px;margin-top:3px;padding:11px 13px;border-radius:10px;font-size:13px}.mcq-feedback.correct{background:#26b49b29;color:#a4ffef}.mcq-feedback.incorrect{background:#c7424f29;color:#ffc3c3}.retry-button{width:max-content;margin-top:5px;padding:7px 11px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font-size:12px;font-weight:800;cursor:pointer}.retry-button:hover{background:#ffffff1a}html[data-theme=light] .mcq-options button{background:#fff;border-color:#cbd9e4;color:#243b53}html[data-theme=light] .session-toolbar{color:#687178}html[data-theme=light] .reset-button{border-color:#cbd9e4;color:#156064}html[data-theme=light] .reset-button:hover{border-color:#156064;background:#edf7f4}html[data-theme=light] .mcq-options button:hover:not(:disabled){background:#edf7f4;border-color:#156064}html[data-theme=light] .mcq-options button.correct{background:#e1f6ef;color:#156064}html[data-theme=light] .mcq-options button.incorrect{background:#fff0ef;color:#a64b2e}.concept-map.has-modal .roadmap-canvas{margin-left:0;width:100%;transform:none}.concept-map.has-modal .roadmap-heading{margin-left:0}.concept-map.has-modal .roadmap-node{min-height:82px;font-size:14px}.concept-modal{position:fixed;z-index:50;left:0;top:0;bottom:0;width:50vw;height:100vh;padding:28px 24px;background:#151515;border-right:1px solid #4b4b4b;box-shadow:18px 0 50px #00000061}.concept-modal-scroll{max-width:640px}@media(max-width:680px){.concept-map.has-modal .roadmap-canvas,.concept-map.has-modal .roadmap-heading{margin-left:0;width:100%;transform:none}.concept-modal{left:0;width:100vw}}.roadmap-canvas{grid-template-columns:repeat(5,minmax(120px,1fr));grid-template-rows:repeat(8,78px);gap:34px 28px;align-content:center;padding:38px 7%;overflow:hidden}.roadmap-connectors{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible;transform:none!important}.roadmap-connectors-a2{transform:none}.roadmap-connectors path{fill:none;stroke:#68708a;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.82;filter:drop-shadow(0 0 2px rgba(103,119,235,.25))}.roadmap-node{z-index:1}html[data-theme=light] .roadmap-connectors path{stroke:#8d95a8;opacity:.72}.map-toolbar{position:relative;z-index:3;display:flex;justify-content:flex-end;align-items:center;gap:10px;min-height:42px;padding:4px 22px 0;color:#8997a8;font-size:12px}.map-toolbar button{padding:8px 12px;border:1px solid #3b4f67;border-radius:8px;background:#191919;color:#dce6f2;font-size:12px;font-weight:700;cursor:pointer}.map-toolbar button:hover{border-color:#5eead4;color:#a4ffef}.roadmap-table-page{min-height:calc(100vh - 105px);padding:8px clamp(18px,4vw,60px) 40px}.roadmap-table{margin-top:18px;border:1px solid #2c2c2c;border-radius:12px;overflow:hidden;background:#151515}.roadmap-table-head,.roadmap-table-row{display:grid;grid-template-columns:1.2fr .8fr 2fr;gap:18px;align-items:center;padding:16px 20px}.roadmap-table-head{color:#8997a8;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #2c2c2c}.roadmap-table-row{border:0;border-bottom:1px solid #242424;color:#e5e7eb;text-align:left;font:inherit;background:none;width:100%;cursor:pointer}.roadmap-table-row:last-child{border-bottom:0}.roadmap-table-row:hover{background:#1c2646}.roadmap-table-row.active{background:#1c2f56;box-shadow:inset 3px 0 #5eead4}.roadmap-table-row span{display:flex;gap:12px;align-items:center;font-weight:700}.roadmap-table-row b{color:#aeb9ff;font:11px ui-monospace,monospace}.roadmap-table-row small{color:#aeb9ff;text-transform:uppercase;font-size:10px}.roadmap-table-row p{margin:0;color:#9ba8ba;font-size:13px}html[data-theme=light] .map-toolbar{color:#687178}html[data-theme=light] .map-toolbar button{background:#fff;border-color:#cbd9e4;color:#243b53}html[data-theme=light] .roadmap-table{background:#fffdf8;border-color:#e3d8ca}html[data-theme=light] .roadmap-table-head{border-color:#e3d8ca}html[data-theme=light] .roadmap-table-row{border-color:#eee5da;color:#243b53}html[data-theme=light] .roadmap-table-row:hover{background:#edf7f4}html[data-theme=light] .roadmap-table-row.active{background:#dceee9;box-shadow:inset 3px 0 #156064}html[data-theme=light] .roadmap-table-row p{color:#687178}@media(max-width:680px){.map-toolbar{padding-right:14px}.roadmap-table-head{display:none}.roadmap-table-row{grid-template-columns:1fr;gap:6px}.roadmap-connectors{transform:none}}.reading-passage{margin:12px 0 14px;padding:14px 16px;border:1px solid #303030;border-radius:10px;background:#1b1b1b}.reading-passage strong{display:block;margin-bottom:6px;color:#5eead4;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.reading-passage p{margin:0;color:#cbd5e1;line-height:1.6;white-space:pre-wrap}html[data-theme=light] .reading-passage{background:#f5f1e9;border-color:#e3d8ca}html[data-theme=light] .reading-passage p{color:#243b53}.roadmap-heading .roadmap-levels,.roadmap-table-page .roadmap-levels{display:flex;flex-wrap:wrap;gap:8px;width:auto}.roadmap-heading .roadmap-levels button,.roadmap-table-page .roadmap-levels button{min-width:0;min-height:0;padding:8px 16px;border-radius:999px;text-align:center}.roadmap-heading .roadmap-levels button,.roadmap-table-page .roadmap-levels button{background:#151515;border:1px solid #303030;color:#dce6f2;font-family:inherit;font-size:13px;font-weight:700}.roadmap-heading .roadmap-levels button.selected,.roadmap-table-page .roadmap-levels button.selected{background:#252525;border-color:#5eead4;color:#fff}.roadmap-heading .roadmap-levels button:hover,.roadmap-table-page .roadmap-levels button:hover{border-color:#5eead4;background:#202020;color:#fff}html[data-theme=light] .roadmap-heading .roadmap-levels button,html[data-theme=light] .roadmap-table-page .roadmap-levels button{background:#fffdf8;border-color:#ded4c8;color:#243b53}html[data-theme=light] .roadmap-heading .roadmap-levels button.selected,html[data-theme=light] .roadmap-table-page .roadmap-levels button.selected{background:#edf7f4;border-color:#156064;color:#156064}.map-only-page{width:100%}.map-only-page{row-gap:32px}.map-only-page .concept-map,.map-only-page .roadmap-table-page{width:100%;max-width:none}.roadmap-table-page{padding-left:0;padding-right:0}.roadmap-node{min-height:74px;align-self:center;justify-self:center;width:100%;max-width:235px;padding:10px 14px 14px;border:1px solid #506be0;border-radius:9px;background:linear-gradient(145deg,#273a82,#202958);box-shadow:0 3px #6c78de,inset 0 0 18px #6e82ff26;text-align:center}.roadmap-node:after{content:"";position:absolute;left:16px;right:16px;bottom:8px;height:4px;border-radius:9px;background:linear-gradient(90deg,#d7dcff,#8998ff)}.roadmap-node strong{font-size:15px}.roadmap-node small{font-size:9px;color:#aeb9ff}.roadmap-node i{display:none}.roadmap-node-1{grid-column:3;grid-row:1}.roadmap-node-2{grid-column:3;grid-row:2}.roadmap-node-3{grid-column:2;grid-row:3}.roadmap-node-4{grid-column:1;grid-row:4}.roadmap-node-5{grid-column:2;grid-row:4}.roadmap-node-6{grid-column:2;grid-row:5}.roadmap-node-7{grid-column:4;grid-row:3}.roadmap-node-8{grid-column:4;grid-row:4}.roadmap-node-9{grid-column:3;grid-row:5}.roadmap-node-10{grid-column:4;grid-row:5}.roadmap-node-11{grid-column:5;grid-row:5}.roadmap-node-12{grid-column:3;grid-row:6}.roadmap-node-13{grid-column:3;grid-row:7}.roadmap-node-14{grid-column:2;grid-row:8}.roadmap-node-15{grid-column:4;grid-row:8}.roadmap-a2 .roadmap-node-1{grid-column:3;grid-row:1}.roadmap-a2 .roadmap-node-2{grid-column:3;grid-row:2}.roadmap-a2 .roadmap-node-3{grid-column:2;grid-row:3}.roadmap-a2 .roadmap-node-4{grid-column:1;grid-row:4}.roadmap-a2 .roadmap-node-5{grid-column:3;grid-row:4}.roadmap-a2 .roadmap-node-6{grid-column:4;grid-row:4}.roadmap-a2 .roadmap-node-7{grid-column:3;grid-row:5}.roadmap-b1 .roadmap-node-1{grid-column:3;grid-row:1}.roadmap-b1 .roadmap-node-2{grid-column:3;grid-row:2}.roadmap-b1 .roadmap-node-3{grid-column:2;grid-row:3}.roadmap-b1 .roadmap-node-4{grid-column:1;grid-row:4}.roadmap-b1 .roadmap-node-5{grid-column:3;grid-row:4}.roadmap-b1 .roadmap-node-6{grid-column:4;grid-row:4}.roadmap-b1 .roadmap-node-7{grid-column:3;grid-row:5}@media(max-width:680px){.roadmap-canvas{grid-template-columns:1fr;grid-template-rows:none;gap:14px;padding:18px;overflow:auto}.roadmap-node-1,.roadmap-node-2,.roadmap-node-3,.roadmap-node-4,.roadmap-node-5,.roadmap-node-6,.roadmap-node-7,.roadmap-node-8,.roadmap-node-9,.roadmap-node-10,.roadmap-node-11,.roadmap-node-12,.roadmap-node-13,.roadmap-node-14,.roadmap-node-15{grid-column:1;grid-row:auto}}.main-content{width:min(1440px,100%)}@media(max-width:680px){.map-only-page{row-gap:22px}}.mcq-card{display:grid;gap:12px}.session-runner{display:grid;gap:14px}.session-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:inherit}.session-nav{display:flex;gap:10px;justify-content:space-between}.queue-kind{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#5eead424;color:#5eead4;border:1px solid rgba(94,234,212,.4)}.queue-kind-review{background:#fbbf2424;color:#fbbf24;border-color:#fbbf2466}.queue-kind-weak{background:#f04f7724;color:#f04f77;border-color:#f04f7766}.queue-kind-exam{background:#60a5fa24;color:#60a5fa;border-color:#60a5fa66}.tab-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.word-order-answer{display:flex;flex-wrap:wrap;gap:8px;min-height:52px;padding:12px;border:1px dashed currentColor;border-radius:10px}.word-order-bank{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.word-token{padding:8px 14px;border:1px solid #315171;border-radius:999px;background:#122339cc;color:#dce9f8;cursor:pointer}.word-token.placed{background:#5eead42e;border-color:#5eead4}.free-text-input{width:100%;padding:12px 14px;border:1px solid #315171;border-radius:10px;background:#12233999;color:inherit;font:inherit;resize:vertical}.free-text-input::placeholder{color:#8290a0;opacity:1}html[data-theme=light] .free-text-input{background:#fff;border-color:#b8c7d5;color:#243b53;box-shadow:inset 0 1px 2px #243b530f}html[data-theme=light] .free-text-input::placeholder{color:#718096}.audio-player{margin:8px 0}.audio-player audio{width:100%}.rubric-box{padding:12px 14px;border:1px solid #303030;border-radius:10px;background:#ffffff08}.rubric-box ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;font-size:13px}.reveal-word{font-size:22px;font-weight:800;padding:10px 0}.self-mark-row{display:flex;gap:10px;flex-wrap:wrap}.self-mark-row>button{flex:1 1 160px;min-height:46px;margin-top:0;padding:12px 16px;font-size:inherit}.stub-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.4);margin-top:6px}.concept-map-scroll{overflow-x:auto}.roadmap-edge{fill:none;stroke:#94a3b8;stroke-width:2;opacity:.7}.roadmap-anchor{fill:#5eead4}.concept-card{position:relative}.concept-card.stub{opacity:.85}.topic-list{display:grid;gap:10px;margin-top:12px}.topic-card{padding:12px 14px;border:1px solid #303030;border-radius:10px}.topic-card h3{margin:0 0 4px;font-size:15px}.placement-banner{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid rgba(94,234,212,.4);border-radius:12px;background:#5eead414;margin:14px 0}.placement-banner div{flex:1}.placement-banner p{margin:4px 0 0;font-size:13px;opacity:.8}.skill-row{display:flex;align-items:center;gap:12px;padding:8px 0}.skill-row .bar{flex:1;height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.skill-row .fill{height:100%;background:#5eead4;border-radius:999px}.timer-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid #303030;background:#191919;color:#5eead4;font-size:12px;font-weight:800;white-space:nowrap}.checklist{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}.checklist button{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;padding:12px 14px;border:1px solid #303030;border-radius:10px;background:#191919;color:#dce6f2;cursor:pointer}.checklist button:hover{border-color:#5eead4}.checklist .checkbox{flex:none;width:20px;height:20px;margin-top:2px;border:2px solid #5eead4;border-radius:6px;display:grid;place-items:center}.checklist button.checked .checkbox{background:#5eead4}.checklist button.checked .checkbox:after{content:"";width:10px;height:6px;border-left:2px solid #111;border-bottom:2px solid #111;transform:rotate(-45deg) translateY(-1px)}.checklist button.checked strong{text-decoration:line-through;opacity:.6}.checklist strong{display:block;font-size:14px}.checklist small{display:block;margin-top:3px;color:#999;font-size:13px}.steps-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.step-card{padding:14px;border:1px solid #303030;border-radius:10px;background:#191919;display:grid;gap:6px;align-content:start}.step-number{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#5eead426;color:#5eead4;font-size:13px;font-weight:800}.step-card strong{font-size:14px;color:#f5f5f5}.step-card p{margin:0;color:#999;font-size:13px;line-height:1.5}@media(max-width:680px){.steps-row{grid-template-columns:1fr}}html[data-theme=light] .timer-chip{background:#edf7f4;border-color:#cbd9e4;color:#156064}html[data-theme=light] .checklist button{background:#fff;border-color:#e7ddd1;color:#243b53}html[data-theme=light] .checklist small{color:#687178}html[data-theme=light] .step-card{background:#fff;border-color:#e7ddd1}html[data-theme=light] .step-card strong{color:#1f2830}html[data-theme=light] .step-card p{color:#687178}.exercise-card-wrap{display:flex;flex-direction:column}.report-button{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin-top:12px;padding:8px 12px;border:1px solid #5eead4;border-radius:9px;background:#5eead41f;color:#a4ffef;font-size:13px;font-weight:700}.report-button:hover{background:#5eead438}.report-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.report-button svg{flex:none}.report-form{margin-top:10px;padding:12px;border:1px solid #303030;border-radius:10px;display:flex;flex-direction:column;gap:10px;background:#191919}.report-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.report-form select,.report-form textarea{font:inherit;font-weight:400;padding:8px 10px;border:1px solid #303030;border-radius:8px;background:#111;color:inherit}.report-actions{display:flex;justify-content:flex-end;gap:8px}.report-thanks{margin-top:10px;font-size:13px;opacity:.7;text-align:right}html[data-theme=light] .report-form,html[data-theme=light] .report-form select,html[data-theme=light] .report-form textarea{border-color:#e7ddd1;background:#fff}html[data-theme=light] .report-button{background:#edf7f4;border-color:#156064;color:#156064}html[data-theme=light] .report-button:hover{background:#d9eee8}@media(max-width:680px){.topic-search input{width:130px}}.speech-controls,.speech-feedback{display:grid;gap:10px;padding:12px 14px;border:1px solid #303030;border-radius:10px}.speech-controls audio{width:100%}.speech-feedback{background:#5eead412}.speech-feedback p{white-space:pre-wrap}.speech-token-row{display:grid;gap:5px}.speech-tokens{display:flex;flex-wrap:wrap;gap:6px}.speech-word{padding:3px 6px;border-radius:5px;border:1px solid transparent}.speech-word-matched{background:#26b49b33;border-color:#299e89}.speech-word-missed{background:#c7424f33;border-color:#c7424f;text-decoration:underline}.speech-word-extra{background:#fbbf242e;border-color:#b88916;text-decoration:underline dotted}html[data-theme=light] .speech-controls,html[data-theme=light] .speech-feedback{border-color:#ded4c8}.exercise-preview.speaking-lesson{gap:20px;padding:24px;border:1px solid #303a40;border-radius:14px;background:#151a1d}.speaking-lesson-heading{display:grid;gap:5px}.speaking-lesson .speaking-kicker{margin:0;color:#79d9cc;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.speaking-lesson-heading h2{margin:0;color:#f2f5f4;font-size:clamp(20px,2vw,26px);line-height:1.3}.speaking-route{display:flex;gap:22px;border-bottom:1px solid #343e43}.speaking-lesson .speaking-route button{position:relative;padding:0 2px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:#acb9be;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.speaking-lesson .speaking-route button.active{border-bottom-color:#69decb;color:#effffb}.speaking-lesson .speaking-route button:hover:not(:disabled){color:#fff}.speaking-lesson .speaking-route button:disabled{opacity:.55;cursor:default}.speaking-step{display:grid;gap:13px}.speaking-step-intro{display:grid;gap:4px}.speaking-step-intro h3{margin:0;color:#f2f5f4;font-size:15px}.speaking-lesson .speaking-step-intro p{margin:0;color:#aebbc0;font-size:14px}.speaking-phrase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.speaking-lesson .speaking-phrase{display:flex;align-items:start;gap:12px;min-width:0;min-height:102px;padding:15px;border:1px solid #3a454b;border-radius:11px;background:#1c2428;color:#eef3f2;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.speaking-lesson .speaking-phrase:hover:not(:disabled){border-color:#7ed5c6;background:#202d30}.speaking-lesson .speaking-phrase.selected{border-color:#69decb;background:#1c302f}.speaking-lesson .speaking-phrase:disabled{opacity:.65;cursor:default}.speaking-lesson .speaking-choice-mark{display:grid;place-items:center;flex:none;width:20px;height:20px;margin-top:1px;border:1.5px solid #809197;border-radius:50%;background:transparent;color:#102323;font-size:13px;font-weight:800;text-transform:none}.speaking-lesson .speaking-phrase.selected .speaking-choice-mark{border-color:#69decb;background:#69decb}.speaking-phrase-copy{display:grid;gap:6px;min-width:0}.speaking-lesson .speaking-phrase-copy strong{color:#f4f8f7;font-size:15px;font-weight:700;line-height:1.45;text-transform:none}.speaking-lesson .speaking-phrase-copy small{color:#aebbc0;font-size:13px;font-weight:400;line-height:1.4;text-transform:none}.speaking-lesson .speaking-tip{margin:0;color:#aebbc0;font-size:13px}.speaking-lesson .speaking-tip strong{color:#dfe9e6}.speaking-lesson .speaking-task{margin:0;padding:15px 18px;border-left:3px solid #69decb;border-radius:0 7px 7px 0;background:#1c2929;color:#f1f5f3;font-size:16px;line-height:1.6}.speaking-lesson .speaking-task-note,.speaking-lesson .speaking-privacy{margin:0;color:#aebbc0;font-size:13px}.speaking-prep,.speaking-followups{padding:12px 15px;border:1px solid #38444a;border-radius:9px;background:#1a2024;font-size:13px}.speaking-prep ul,.speaking-followups ul{margin:7px 0 0;padding-left:19px}.speaking-followups summary{cursor:pointer;font-weight:700}.speaking-action{display:grid;gap:14px}.speaking-lesson .speech-controls{display:grid;justify-items:start;gap:10px;width:100%;padding:0;border:0;background:none}.speaking-lesson .speech-controls audio{width:min(100%,560px)}.speaking-button-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.speaking-button-row p{margin:0 8px 0 0}.speaking-lesson .primary-button{min-height:42px;padding:9px 16px;border:0;border-radius:8px;background:#69decb;color:#102524;box-shadow:none;font-size:13px;font-weight:800}.speaking-lesson .primary-button:hover:not(:disabled){background:#8eead9;box-shadow:none;transform:none}.speaking-lesson .text-button{width:auto;min-height:42px;margin:0;padding:8px 10px;border:0;background:transparent;color:#b4dbd5;font-size:13px;font-weight:700}.speaking-lesson .text-button:hover:not(:disabled){color:#fff;text-decoration:underline}.speaking-lesson .speech-feedback{display:grid;gap:12px;padding:15px 17px;border:1px solid #3b7068;border-radius:10px;background:#172724}.speaking-lesson .speech-feedback>strong{color:#f2f8f6}.speaking-lesson .speech-token-row{display:grid;gap:6px}.speaking-lesson .speech-token-row>strong{color:#dfeae7;font-size:13px}.speaking-lesson .speech-tokens{display:flex;flex-wrap:wrap;gap:6px}.speaking-lesson .speech-word{padding:4px 7px;color:#f4f8f7;font-size:14px;font-weight:600;text-transform:none}.speaking-lesson .speech-word-matched{background:#239a7d40;border-color:#36aa8d}.speaking-lesson .speech-word-missed{background:#c5424d3d;border-color:#da6670}.speaking-lesson .speech-word-extra{background:#b97f1d33;border-color:#bf933e}.speaking-lesson .speaking-feedback-note{margin:0;color:#b5c5c0;font-size:12px}.speaking-usage{width:max-content;color:#99aaa9;font-size:12px}.speaking-usage summary{cursor:pointer}.speaking-usage p{padding-top:5px}.speaking-lesson button:focus-visible,.speaking-usage summary:focus-visible{outline:2px solid #a5f1e4;outline-offset:3px}html[data-theme=light] .exercise-preview.speaking-lesson{border-color:#d8e1df;background:#fff}html[data-theme=light] .speaking-lesson .speaking-kicker{color:#156f63}html[data-theme=light] .speaking-lesson-heading h2,html[data-theme=light] .speaking-step-intro h3{color:#243331}html[data-theme=light] .speaking-route{border-color:#dbe3e1}html[data-theme=light] .speaking-lesson .speaking-route button{color:#5d7271}html[data-theme=light] .speaking-lesson .speaking-route button.active{color:#155d54;border-color:#218574}html[data-theme=light] .speaking-lesson .speaking-step-intro p,html[data-theme=light] .speaking-lesson .speaking-tip,html[data-theme=light] .speaking-lesson .speaking-task-note,html[data-theme=light] .speaking-lesson .speaking-privacy{color:#576b6a}html[data-theme=light] .speaking-lesson .speaking-phrase{border-color:#d8e1df;background:#f8fbfa}html[data-theme=light] .speaking-lesson .speaking-phrase.selected{border-color:#218574;background:#eaf8f3}html[data-theme=light] .speaking-lesson .speaking-phrase-copy strong{color:#233532}html[data-theme=light] .speaking-lesson .speaking-phrase-copy small{color:#5e706f}html[data-theme=light] .speaking-lesson .speaking-tip strong{color:#334946}html[data-theme=light] .speaking-lesson .speaking-task{color:#243331;background:#eaf7f3;border-color:#218574}html[data-theme=light] .speaking-prep,html[data-theme=light] .speaking-followups{border-color:#d8e1df;background:#f8fbfa}html[data-theme=light] .speaking-lesson .primary-button{background:#218574;color:#fff}html[data-theme=light] .speaking-lesson .primary-button:hover:not(:disabled){background:#176d5f}html[data-theme=light] .speaking-lesson .text-button{color:#176d5f}html[data-theme=light] .speaking-lesson .speech-feedback{border-color:#b9d7ce;background:#f2faf7}html[data-theme=light] .speaking-lesson .speech-feedback>strong,html[data-theme=light] .speaking-lesson .speech-token-row>strong{color:#243331}html[data-theme=light] .speaking-lesson .speech-word{color:#243331}html[data-theme=light] .speaking-lesson .speaking-feedback-note{color:#576b6a}@media(max-width:760px){.speaking-phrase-list{grid-template-columns:1fr}.exercise-preview.speaking-lesson{padding:18px}.speaking-route{gap:16px}}
