@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");:root{--bg:#fbfbfa;--ink:#272b2b;--muted:#929593;--line:#e9ebe7;--purple:#7064ac;--lavender:#f0edf8;--green:#60816c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:DM Sans,Noto Sans JP,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a,button,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible{outline:3px solid #b1a8d3;outline-offset:4px}button{border:0;background:none}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;padding:37px 22px 22px;background:#f4f5f1;border-right:1px solid #e6e8e1;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-weight:700;font-size:29px;letter-spacing:-1.2px;padding:0 12px}.brand-mark{display:inline-flex;flex:0 0 auto;width:36px;height:36px}.brand-mark img{display:block;width:100%;height:100%}.brand-dot{color:var(--purple)}.workspace-label{font-size:9px;letter-spacing:1.5px;color:#9da198;font-weight:600;margin:53px 14px 15px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;text-align:left;margin:4px 0;color:#7c827a;font-weight:500;font-size:13px;border-radius:8px}.nav-item.selected{background:#e9e5f2;color:#6e6294}.nav-item:after{content:"";display:none;flex-shrink:0;width:5px;height:5px;background:var(--purple);border-radius:50%;margin-left:auto}.nav-item.selected:after{display:block}.profile{margin-top:auto;border-top:1px solid #e0e3db;padding:20px 3px 0;display:flex;gap:10px;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e5e7df;color:#7c8473;font-size:13px}.profile strong{display:block;font-size:11px;font-weight:500}.profile small{display:block;margin-top:4px;font-size:9px;color:#9da397}.main-shell{margin-left:232px;width:calc(100% - 232px)}header{height:79px;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 47px}.breadcrumb,header{display:flex;align-items:center}.breadcrumb{gap:13px;color:#a4a7a1;font-size:11px}.breadcrumb>span{color:#686f65}.header-actions{gap:20px}.header-actions,.language-pill{display:flex;align-items:center}.language-pill{gap:9px;font-size:11px}.live-dot{width:5px;height:5px;border-radius:50%;background:#83a382;display:inline-block}.locale{display:flex;gap:7px;align-items:center;border-left:1px solid var(--line);padding-left:20px;color:#80877c;font-size:11px}main{max-width:1250px;padding:44px 48px 24px;margin:0 auto}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#929589}.eyebrow,h1{font-weight:600}h1{font-size:32px;letter-spacing:-1.2px;margin:14px 0 10px;line-height:1.4}.subtitle{font-size:12px;color:#93978f;line-height:1.8;margin:0 0 30px}.hero{border:1px solid #e6e2ed;border-radius:13px;min-height:272px;background:#f1eff6;display:flex;overflow:hidden;position:relative}.hero-copy{padding:30px 34px;z-index:1;flex:1 1}.hero-label{font-size:9px;color:#8679a1;letter-spacing:1.3px;display:flex;align-items:center;gap:7px}.hero-label .live-dot{background:#9885b4}.hero h2{font-size:25px;letter-spacing:-.5px;font-weight:600;margin:18px 0 10px}.hero p{font-size:12px;line-height:1.9;color:#94909f;max-width:410px;margin:0}.hero-meta{display:flex;flex-wrap:wrap;gap:8px 19px;color:#8e879c;font-size:10px;margin:17px 0 22px}.hero-meta span{display:flex;gap:6px;align-items:center}.primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--purple);color:white;border-radius:7px;padding:12px 17px;font-size:11px;font-weight:500;transition:background .2s}.primary:hover:not(:disabled){background:#5d5295}.hero-art{width:300px;position:relative;flex-shrink:0}.coffee-card,.hero-art{display:flex;justify-content:center;align-items:center}.coffee-card{width:160px;height:195px;transform:rotate(8deg);background:#faf9fc;border:1px solid #ddd7e8;border-radius:12px;box-shadow:0 10px 25px #7264960c;flex-direction:column;color:#9383af;z-index:1}.coffee-card>span{font-size:16px;line-height:1.6;margin-top:11px;color:#827491}.coffee-card small{font-size:6px;letter-spacing:1.5px;margin-top:16px;color:#b0a7be}.art-ring{position:absolute;border:1px solid #e1dce9;border-radius:50%;width:235px;height:235px}.ring-two{width:330px;height:330px}.art-spark{position:absolute;color:#ad9ac6;font-size:25px;z-index:2}.one{top:42px;left:38px}.two{right:34px;bottom:68px;font-size:32px}.art-caption{position:absolute;bottom:14px;right:30px;letter-spacing:3px;font-size:9px;color:#b1a6c2}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:23px 0 36px}.stats>div{display:flex;gap:13px;background:white;border:1px solid var(--line);border-radius:10px;padding:20px 17px}.stat-icon{width:33px;height:33px;background:#f0edf7;color:#9a8ab8;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.mint{background:#edf3eb;color:#869b7a}.peach{background:#f8f0e8;color:#bb9b7d}.stat-label{color:#93978e;font-size:10px}.stats strong{display:block;font-size:26px;font-weight:550;letter-spacing:-.7px;margin-top:5px}.stats strong small{font-size:10px;font-weight:400;letter-spacing:0;color:#a3a69e;margin-left:7px}.stats p{font-size:9px;color:#a5aaa0;margin:7px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px;gap:12px}.section-heading h2{font-size:17px;font-weight:550;letter-spacing:-.3px;margin:0;display:flex;gap:10px;align-items:center}.section-heading p{font-size:11px;color:#9b9f96;margin:8px 0 0}.count{font-size:10px;letter-spacing:0;color:#a0a69b;background:#eef0e9;border-radius:5px;padding:2px 5px}.library-note{display:flex;gap:8px;font-size:10px;color:#a1a69a;align-items:center}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.topic-card{padding:21px 20px;background:white;border:1px solid var(--line);border-radius:10px;text-align:left;transition:transform .2s,border-color .2s,box-shadow .2s}.topic-card:hover{transform:translateY(-3px);border-color:#cac2de;box-shadow:0 5px 15px #7e719510}.card-top{display:flex;justify-content:space-between;align-items:center}.topic-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:10px;background:#f1edf7;color:#9b89b3;flex-shrink:0}.color-1{background:#edf2ec;color:#8d9f80}.color-2{background:#f7efe6;color:#bca17f}.color-3{background:#edf1f4;color:#8c9da9}.level{display:flex;gap:15px;align-items:center;color:#a8aca3;font-size:9px}.level svg{color:#babeb5}.topic-card h3{font-weight:550;font-size:14px;margin:17px 0 8px}.topic-card p{color:#a2a69e;font-size:10px;line-height:1.8;min-height:36px;margin:0}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:23px}.progress-segments{display:flex;gap:4px;width:72px}.progress-segments span{height:4px;flex:1 1;background:#eeefe9;border-radius:3px}.progress-segments .filled{background:#a49ac2}.card-bottom small{font-size:9px;color:#a9ada5}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:35px;color:#aeb2a8;font-size:9px}.back,footer span:last-child{display:flex;gap:7px;align-items:center}.back{font-size:11px;color:#91988b;padding:0;margin-bottom:25px}.practice-title{display:flex;gap:15px;align-items:center;margin-bottom:30px}.practice-title h1{font-size:25px;margin:0 0 5px}.practice-title p{margin:0;color:#959b90;font-size:11px}.tag{border:1px solid var(--line);padding:6px 9px;border-radius:6px;font-size:10px;color:#949b8c;white-space:nowrap}.practice-title>.tag{margin-left:auto}.stage-path{display:flex;justify-content:space-between;margin:0 auto 27px;max-width:760px}.stage-step{display:flex;gap:10px;align-items:center;color:#b2b6ac;font-size:11px}.stage-step>span{width:24px;height:24px;border:1px solid #e0e3dc;border-radius:50%;display:grid;place-items:center;font-size:10px}.stage-step strong{font-weight:500}.stage-step>svg{margin-left:12px;color:#c7cac1}.stage-step.current{color:var(--purple)}.stage-step.current>span{background:var(--purple);border-color:var(--purple);color:white}.stage-step.finished{color:#7d9576}.stage-step.finished>span{background:#edf2e8;border-color:#edf2e8}.exercise{max-width:800px;margin:auto;border:1px solid var(--line);border-radius:14px;background:white;padding:30px 34px;box-shadow:0 4px 24px #272b2b03}.exercise-top{display:flex;justify-content:space-between;align-items:center}.thin{color:#c3c6bd}.stopwatch{display:flex;gap:6px;align-items:center;color:#92988a;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px}.stopwatch small{margin-left:-5px;font-size:11px;color:#b5baad}.exercise h2{font-size:22px;font-weight:550;margin:27px 0 10px;letter-spacing:-.5px}.exercise-hint{font-size:11px;color:#a0a69a;margin:0 0 27px}.prompt{padding:22px 25px;background:#f7f7f3;border:1px solid #edeee7;border-radius:9px;position:relative}.alternatives>span,.answer-label,.prompt-label{font-size:9px;color:#a1a697;letter-spacing:1px}.prompt p{font-size:21px;line-height:1.8;margin:11px 0 0}.japanese p{letter-spacing:1px;padding-right:25px}.audio{position:absolute;right:17px;bottom:28px;color:#a29bb1}.answer-label{display:flex;justify-content:space-between;margin:25px 0 11px}.answer-label span:last-child{color:#c1c5b9}textarea{width:100%;resize:vertical;min-height:135px;max-height:350px;padding:18px;border:1px solid #e1e3dc;border-radius:8px;background:#fefefe;font:inherit;font-size:19px;line-height:1.8;color:#454b40;outline:0;transition:border-color .2s,box-shadow .2s}textarea:focus{border-color:#b3a5ce;box-shadow:0 0 0 3px #f3effa}textarea::placeholder{font-size:13px;color:#b4b9aa}textarea:disabled{background:#fafbf8}.exercise-bottom{display:flex;justify-content:flex-end;align-items:center;margin-top:17px;gap:15px}.exercise-bottom>span{display:flex;align-items:center;gap:7px;color:#a9ae9f;font-size:10px}.exercise-bottom .primary{gap:12px}kbd{font:inherit;font-size:9px;border-radius:3px;padding:3px 5px;background:#ffffff1c;white-space:nowrap}.practice-footer{display:flex;justify-content:center;align-items:center;gap:7px;color:#a4ac9d;font-size:10px;margin-top:25px}.feedback{animation:slide .25s ease-out;margin-top:25px;border:1px solid #dfe8dc;background:#f6f9f3;padding:20px;border-radius:10px}.feedback.polish,.feedback.retry{background:#fffbf4;border-color:#efe1c8}.feedback-top{justify-content:space-between;gap:12px}.feedback-top,.status{display:flex;align-items:center}.status{gap:6px;color:#668357;font-weight:600;font-size:12px}.polish .status,.retry .status{color:#b58d47}.feedback-top>span:last-child{font-size:10px;color:#a0a797}.faster{color:#6a8f59;font-size:10px;margin-left:9px}.feedback-content>p,.feedback>p{font-size:12px;line-height:1.8;color:#7b8572}.alternatives{padding-top:12px;border-top:1px solid #e4eade}.alternatives>span{display:block;margin-bottom:10px}.alternatives button{font-size:15px;display:flex;gap:15px;align-items:center;padding:5px 0;color:#626d5b;text-align:left;line-height:1.7}.alternatives svg{flex-shrink:0;color:#9da78f}.next-button{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;margin-top:18px;padding:9px 12px;background:white;border:1px solid #e0e6d8;border-radius:6px}.next-button kbd{color:#a1a99a;margin-left:10px}.error{color:#ae764e;background:#fff5eb;border:1px solid #f3dfc9;padding:13px 17px;border-radius:7px;font-size:12px;line-height:1.8;margin:16px 0}.chat-flow{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;padding-right:5px}.chat-message{align-self:flex-start;background:#f5f5f0;border-radius:10px 10px 10px 2px;padding:12px 18px;max-width:88%}.chat-message.user{align-self:flex-end;background:#f0edf7;border-radius:10px 10px 2px 10px}.chat-message small{color:#a1a596;font-size:9px}.chat-message p{font-size:16px;margin:5px 0 0;line-height:1.8}.completion{max-width:760px;text-align:center;margin:60px auto;background:white;border:1px solid var(--line);border-radius:15px;padding:45px 30px}.completion-icon{margin:0 auto 25px;width:67px;height:67px;border-radius:50%;display:grid;place-items:center;color:#7c9a6b;background:#eff5e9}.completion h1{font-size:29px}.completion>p{font-size:12px;color:#9ca392}.session-stats{display:flex;justify-content:space-evenly;margin:35px 0}.session-stats strong{font-size:29px;font-weight:500}.session-stats small{display:block;font-size:10px;color:#a4aa9b;margin-top:8px}.text-button{display:block;font-size:11px;color:#a4a999;margin:20px auto 0}.analytics{border:1px solid var(--line);border-radius:12px;background:white;padding:26px;margin:22px 0}.chart{height:220px;position:relative;padding:20px 15px 0 45px}.chart-grid{position:absolute;inset:20px 0 30px}.chart-grid>div{height:50%;border-top:1px dashed #e8ece3;position:relative;margin-left:40px}.chart-grid span{position:absolute;left:-38px;top:-7px;font-size:10px;color:#aab19f}.chart-grid>div:last-child{height:0}.bars{justify-content:space-around;gap:22px;position:relative}.bar-column,.bars{height:100%;display:flex}.bar-column{flex:1 1;flex-direction:column;align-items:center}.bar-slot{height:calc(100% - 30px);width:100%;display:flex;align-items:flex-end;justify-content:center}.bar{width:60%;max-width:54px;background:#b6adcf;border-radius:5px 5px 0 0;position:relative}.bar span{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:10px;color:#9588ad;white-space:nowrap}.bar-column small{font-size:10px;color:#a0a894;margin-top:12px}.no-value{color:#cbd0c4;margin-bottom:10px}.chart-empty{font-size:11px;color:#a6ad9d;text-align:center}.trend-controls,.trend-heading{flex-wrap:wrap;gap:12px}.trend-controls{display:flex;justify-content:space-between;margin:18px 0 24px}.trend-options{display:flex;padding:3px;gap:3px;border:1px solid var(--line);border-radius:8px;background:#f8f9f6}.trend-options button{border:0;border-radius:6px;background:transparent;color:#828a79;font-size:12px;padding:8px 12px;cursor:pointer}.trend-options button[aria-pressed=true]{background:#eeeaf5;color:var(--purple);font-weight:600}.trend-scroll{overflow-x:auto;overflow-y:hidden;padding-top:6px}.chart-month{min-width:680px}.chart-month .bars{gap:7px}.chart-month .bar{width:75%}.chart-month .bar span{opacity:0;z-index:2;background:white;padding:2px 4px;border-radius:3px}.chart-month .bar-column:focus .bar span,.chart-month .bar-column:hover .bar span{opacity:1}.bar-column:focus-visible{outline:2px solid var(--purple);outline-offset:2px;border-radius:4px}.matrix-row{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;border-bottom:1px solid #f0f1ed;align-items:center;padding:14px 0;font-size:11px}.matrix-row:last-child{border:0}.matrix-head{color:#a3ab98;font-size:10px}.matrix-row>span:not(:first-child){justify-self:center}.matrix-row>button{text-align:left;padding:0;font-size:11px}.mastery{width:26px;height:26px;border-radius:6px;background:#f5f6f1;display:grid;place-items:center}.mastery>span{width:5px;height:5px;background:#dce1d4;border-radius:50%}.mastery.done{background:#ecf3e6;color:#8fa37d}.reinforce{display:inline-block;margin-left:8px;color:#b59a6c;font-size:8px;background:#faf3e8;padding:2px 4px;border-radius:3px}.spinner{width:12px;height:12px;border:2px solid #ffffff60;border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1500px){main{padding-top:55px}.hero{min-height:290px}.hero-copy{padding:35px 40px}.topic-card{padding:25px}.hero-art{width:350px}}@media (max-width:1150px){.sidebar{width:200px;padding-left:15px;padding-right:15px}.main-shell{margin-left:200px;width:calc(100% - 200px)}main{padding:35px 28px}header{padding:0 28px}.hero-art{width:220px}.hero-copy{padding:28px}.hero p{max-width:310px}.stats{gap:10px}.stats>div{padding:16px 12px;gap:9px}.stats p{font-size:8px}.topic-grid{gap:12px}.topic-card{padding:18px 15px}.library-note{display:none}.exercise{padding:27px}.stage-step{gap:7px}.stage-step>svg{margin-left:4px}}@media (max-width:850px){.sidebar{width:75px;align-items:center;padding:25px 10px}.brand{padding:0}.brand>span:last-child,.nav-item:after,.profile,.sidebar-note,.workspace-label{display:none}.nav-item{font-size:0;padding:15px;gap:0;width:48px}.sidebar nav{margin-top:40px}.main-shell{margin-left:75px;width:calc(100% - 75px)}.stats>div{flex-direction:column}.hero-art{width:190px}.coffee-card{width:130px;height:170px}.topic-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:28px}.stage-path{gap:5px}.stage-step strong{font-size:9px}.stage-step>svg{display:none}.exercise-bottom{align-items:flex-start}.exercise-bottom>span{max-width:150px;line-height:1.7}.hero h2{font-size:23px}footer{gap:15px}footer span:last-child{display:none}}@media (max-width:560px){.sidebar{position:static;width:100%;height:65px;padding:0 20px;flex-direction:row;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.brand>span:last-child{display:block;font-size:23px}.brand-mark{width:26px;height:26px}.sidebar nav{display:flex;margin:0;gap:5px}.nav-item{padding:10px;width:40px;margin:0}.shell{display:block}.main-shell{margin:0;width:100%}header{height:55px;padding:0 20px}.breadcrumb{font-size:10px;gap:7px}.header-actions{gap:10px}.locale{padding-left:10px}.language-pill{font-size:10px;gap:5px}main{padding:27px 20px}h1{font-size:26px;letter-spacing:-.8px}.subtitle{font-size:11px;margin-bottom:23px}.hero-copy{padding:24px;flex:1 1}.hero-art{width:105px;margin-right:8px}.coffee-card{width:100px;height:140px}.coffee-card svg{width:38px}.coffee-card>span{font-size:11px}.coffee-card small{font-size:4px;letter-spacing:.5px}.hero-meta{gap:10px;font-size:8px;flex-wrap:wrap}.hero-label{font-size:8px;letter-spacing:.5px}.hero h2{font-size:22px}.hero p{font-size:10px}.art-ring{width:145px;height:145px}.ring-two{width:210px;height:210px}.art-caption{display:none}.art-spark{font-size:17px}.one{top:55px;left:-5px}.two{right:0;bottom:55px;font-size:23px}.stats{gap:8px;margin:17px 0 27px}.stats>div{padding:12px 9px;gap:9px}.stat-icon{width:27px;height:27px}.stat-label{font-size:8px}.stats strong{font-size:22px}.stats strong small{display:block;margin:3px 0 0;font-size:8px}.stats p{line-height:1.7;font-size:7px;min-height:24px}.section-heading h2{font-size:16px}.section-heading p{font-size:9px}.topic-grid{gap:10px}.topic-card{padding:15px 13px}.topic-card h3{font-size:12px}.topic-card p{font-size:9px;min-height:33px}.topic-icon{width:34px;height:34px}.topic-card .topic-icon svg{width:19px}.card-bottom{margin-top:17px;gap:5px}.progress-segments{width:50px}.card-bottom small{font-size:8px}.level{gap:8px}.exercise{padding:22px 18px}.exercise h2{font-size:19px}.exercise-hint{font-size:10px;line-height:1.8}.prompt{padding:17px}.prompt p{font-size:18px}.stage-path{flex-wrap:wrap;gap:10px}.stage-step{font-size:9px}.stage-step>span{width:21px;height:21px}.stage-step strong{font-size:8px}.exercise-bottom{flex-direction:column;align-items:stretch}.exercise-bottom>span{max-width:none;font-size:9px}.exercise-bottom .primary{justify-content:space-between}.practice-title{gap:10px}.practice-title h1{font-size:22px}.practice-title p{font-size:10px}.feedback{padding:14px}.feedback-top{align-items:flex-start}.faster{display:block;margin:5px 0}.alternatives button{font-size:14px}.completion{margin:20px auto;padding:30px 15px}.completion h1{font-size:22px}.session-stats strong{font-size:24px}.session-stats small{font-size:8px}.analytics{padding:18px 13px}.matrix-row{grid-template-columns:1.6fr repeat(4,1fr);gap:5px}.matrix-row,.matrix-row>button{font-size:9px}.matrix-head{font-size:8px}.reinforce{display:block;max-width:40px;margin:5px 0 0}.bars{gap:10px}.chart{padding-right:0}.bar{width:70%}.bar-column small,.chart-grid span{font-size:8px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.review-due{font-size:9px;color:#8f879e;line-height:1.8;margin-top:10px}.topic-card:disabled{opacity:.65;cursor:default}.topic-card:disabled:hover{transform:none;box-shadow:none;border-color:var(--line)}.queue-empty{background:#f1f5ed;border:1px solid #e1e8d9;border-radius:10px;padding:20px 24px;margin-top:20px;color:#819170}.queue-empty strong{font-size:13px;display:inline-block;vertical-align:top;margin-left:10px}.queue-empty p{font-size:11px;line-height:1.8;margin-bottom:0}.completion>p{line-height:2}.category-selected{border-color:#a99cc8;background:#f7f4fc}.question-library{margin-top:32px}.question-number{font-size:11px;color:#a49abb;letter-spacing:1px}.question-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.question-tags span{font-size:8px;border-radius:4px;background:#f0edf7;color:#9a8ab5;padding:3px 6px}.matrix .mastery{width:42px;font-size:9px;color:#a7ad9c}.matrix .mastery.done{color:#7c976a}@media (max-width:560px){.question-library>.section-heading{align-items:flex-start;flex-direction:column}.question-library .primary{font-size:10px;padding:9px 12px}.matrix .mastery{width:34px;font-size:8px}}.auth-shell{max-width:1000px;min-height:100vh;margin:auto;padding:35px 35px 65px}.account-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}.account-loading .brand{margin:0}.account-loading p{color:var(--muted);font-size:13px;max-width:420px;margin:0}.auth-header{display:flex;justify-content:space-between;align-items:center}.auth-card{max-width:430px;margin:70px auto 0;padding:35px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 40px #65577508}.auth-card h1{font-size:27px}.auth-tabs{display:flex;background:#f6f5f8;padding:4px;border-radius:7px;margin:25px 0}.auth-tabs button{flex:1 1;padding:9px;border-radius:5px;font-size:12px;color:#9892a3}.auth-tabs button.selected{background:white;color:var(--purple);box-shadow:0 1px 5px #6557750c}.auth-card label{display:block;font-size:11px;color:#8d9485;margin:18px 0 9px}.auth-card input{width:100%;padding:13px;border:1px solid #e3e4dd;border-radius:7px;font:inherit;font-size:13px;outline:none}.auth-card input:focus{border-color:#b3a5ce;box-shadow:0 0 0 3px #f3effa}.auth-card input::placeholder{color:#b2b7a9}.auth-card form>.primary{width:100%;margin-top:24px;justify-content:space-between}.auth-hint{font-size:9px;line-height:1.8;color:#a4ab9b;margin-top:13px}.logout{gap:6px;font-size:10px;color:#929b88}.import-banner,.logout{display:flex;align-items:center}.import-banner{gap:20px;justify-content:space-between;padding:18px 22px;background:#f2eff8;border:1px solid #e5dfef;border-radius:10px;margin-bottom:24px}.import-banner strong{font-size:12px;color:#82739d}.import-banner p{font-size:10px;color:#9c92ad;margin:8px 0 0;line-height:1.8}.import-banner .primary{flex-shrink:0}@media (max-width:560px){.auth-shell{padding:24px 20px}.auth-card{padding:25px 22px;margin-top:45px}.auth-card h1{font-size:24px}.auth-card .practice-footer{font-size:9px}.import-banner{align-items:flex-start;flex-direction:column}.logout{font-size:9px}.header-actions{gap:8px}}.communication-context{margin:18px 0;padding:14px 16px;border:1px solid #e8e2f0;border-left:3px solid #9a89bd;border-radius:8px;background:#f7f5fa;line-height:1.7}.communication-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.communication-heading strong{color:#575063;font-size:14px;font-weight:600;overflow-wrap:anywhere}.communication-heading>span{color:#817197;font-size:11px}.exercise .communication-context p{margin:5px 0 0;color:#847d8d;font-size:12px}.variant-partner{display:block;color:#8d8798;font-size:10px;margin:7px 0}.direction-switch{display:inline-flex;align-items:center}.direction-switch select{appearance:none;font:inherit;font-size:13px;font-weight:500;color:#665593;background-color:#f4f1fa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237064ac' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #e1daed;border-radius:10px;padding:10px 38px 10px 14px;min-height:40px;min-width:180px;max-width:220px;box-shadow:0 1px 2px #272b2b05;cursor:pointer;transition:background-color .15s,border-color .15s}.direction-switch select:not(:disabled):hover{background-color:#ede7f7;border-color:#bcb0d8}.direction-switch option{color:var(--ink);background:white}.direction-switch select:disabled{opacity:.55;cursor:wait}.direction-switch select:focus-visible{outline:2px solid var(--purple);outline-offset:2px}@media (max-width:600px){.direction-switch select{min-width:0;max-width:190px;padding:9px 34px 9px 12px;font-size:12px}}.help-button{font:inherit;background:transparent;border:1px solid var(--line);border-radius:9px;padding:13px 18px;color:var(--ink);white-space:nowrap}.help-button:hover:enabled{background:var(--lavender);border-color:#d8d1ea}.help-note{color:var(--muted);font-size:12px;line-height:1.7}@media (max-width:600px){.exercise-bottom .help-button{width:100%}}.settings-page{max-width:720px;margin:12px auto 40px}.language-preferences{margin-bottom:22px}.language-preferences label,.signup-language{display:grid;gap:8px;font-size:13px;margin-top:18px}.auth-locale,.language-preferences select,.signup-language select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-height:40px;width:100%;max-width:320px}.auth-locale{width:auto}.auth-locale,.language-preferences select,.signup-language select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23828a79' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.signup-language{margin-bottom:20px}.settings-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px;color:var(--purple)}.settings-heading h1{color:var(--ink);font-size:27px;margin:0}.settings-card{background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.settings-card fieldset{border:0;padding:0;margin:0;min-width:0}.settings-card legend{font-size:18px;font-weight:600;padding:0}.settings-card fieldset>p,.settings-note{color:var(--muted);font-size:13px;line-height:1.7}.model-options{display:grid;gap:10px;margin:22px 0}.model-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:15px;cursor:pointer}.model-option.selected{border-color:#bbb1d9;background:var(--lavender)}.model-option>svg{color:var(--purple);margin-left:auto;flex-shrink:0}.model-option input{accent-color:var(--purple);flex-shrink:0}.model-option span{overflow-wrap:anywhere}.model-option:focus-within{outline:2px solid var(--purple);outline-offset:2px}.settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}.settings-saved{display:flex;align-items:center;gap:6px;color:var(--green);font-size:13px}@media (max-width:600px){.settings-card{padding:20px}.settings-heading h1{font-size:24px}}.credit-summary{display:flex;flex-wrap:wrap;gap:38px;margin:22px 0}.credit-summary>div{display:grid;gap:7px}.credit-summary strong{font-size:30px;font-weight:500}.credit-summary span{font-size:12px;color:var(--muted)}.assigned-model{padding:15px;background:var(--lavender);border-radius:10px;overflow-wrap:anywhere}.quota-pill{font-size:12px;color:var(--purple);white-space:nowrap}.admin-link{text-decoration:none}.admin-shell{max-width:1300px;margin:auto;padding:0}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:0;height:auto;margin:0 0 28px;border:0;background:transparent}.admin-header>div{display:flex;align-items:center;gap:12px}.admin-header h1{font-size:26px;margin:0}.admin-shell .settings-card{margin-bottom:22px}.admin-shell h2{font-size:18px;margin:0}.admin-config form,.admin-user form{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.admin-shell label{display:grid;gap:8px;font-size:12px;flex:1 1 150px}.admin-shell input,.admin-shell select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:11px;border-radius:8px;width:100%;min-width:0}.admin-shell select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23828a79' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.admin-shell .text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;margin:0;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:#686f65;background:white;white-space:nowrap}.admin-shell .text-button:not(:disabled):hover{color:var(--purple);border-color:#d9d2e8;background:#f8f6fc}.admin-shell .text-button svg{flex-shrink:0}.admin-shell .ledger-button{margin-top:14px}.admin-shell button.primary{font-size:12px;padding:12px 18px}.admin-section-heading,.admin-user-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-section-heading small{color:var(--muted);font-size:12px;margin-left:8px}.admin-search{display:flex;gap:12px;align-items:center;margin:20px 0}.admin-search input{max-width:420px;flex:1 1}.admin-user{padding:22px 0;border-top:1px solid var(--line)}.admin-user h3{font-size:15px;margin:0;overflow-wrap:anywhere}.admin-user h3 small{margin-left:10px;color:var(--purple);font-weight:400}.admin-user-heading{margin-bottom:18px}.admin-user-heading p,.admin-user-usage{font-size:11px;color:var(--muted);margin:7px 0 0}.admin-user-usage{display:flex;flex-wrap:wrap;gap:18px}.admin-user-usage strong{color:var(--ink);font-size:18px;font-weight:500;margin-left:5px}.admin-notice{color:var(--green)}.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:20px;font-size:12px}.ledger-button{margin-top:14px}.quota-ledger{background:var(--bg);padding:10px 16px;border-radius:8px;font-size:11px;line-height:1.8}.audit-list>div{border-top:1px solid var(--line);padding:18px 0;font-size:12px}.audit-list>div:first-child{margin-top:18px}.audit-list span{color:var(--muted);margin-right:15px}.audit-list pre{max-height:260px;overflow:auto;background:var(--bg);padding:15px;border-radius:8px;font-size:11px}.audit-list summary{cursor:pointer;color:var(--purple)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:600px){.main-shell>header{height:auto;min-height:64px;flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:12px}.header-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.header-actions .logout{white-space:nowrap}.admin-shell{padding:0}.admin-header h1{font-size:21px}.admin-header{gap:15px}.admin-user-heading{align-items:start;flex-direction:column;gap:8px}.admin-user form>button{width:100%}.header-actions{gap:7px}.quota-pill{font-size:10px}.header-actions .language-pill{display:none}.admin-config form button{width:100%}}.question-bank{max-width:1100px;margin:0 auto}.bank-heading{display:flex;align-items:center;gap:12px;margin-bottom:28px}.bank-heading h1{margin:0;font-size:26px}.bank-readonly{margin-left:auto;font-size:12px;padding:6px 10px;border-radius:8px;background:#f0eef7;color:#78679c}.bank-filters{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.8fr;gap:16px;background:white;border:1px solid #e6e8e2;border-radius:18px;padding:22px}.bank-filters label{display:flex;flex-direction:column;gap:10px;font-size:13px}.bank-filters select,.bank-search input{width:100%;min-width:0;font:inherit;padding:12px;color:inherit}.bank-filters select,.bank-search input,.bank-search>div{background:#fafbf8;border:1px solid #e6e8e2;border-radius:10px}.bank-search>div{display:flex;align-items:center;gap:8px;padding-left:12px}.bank-search input{border:0;background:transparent}.bank-count{margin:24px 0 12px;color:#8b9384;font-size:13px}.bank-list{display:grid;gap:10px}.bank-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:white;border:1px solid #e6e8e2;border-radius:14px;padding:18px 22px;color:inherit;cursor:pointer}.bank-row:hover{border-color:#b4a9d1;background:#faf8ff}.bank-row div{display:grid;gap:8px}.bank-row code,.bank-row small{color:#8b9384;font-size:12px}.bank-detail{margin-top:24px;padding:28px;background:white;border:1px solid #e6e8e2;border-radius:18px}.bank-detail>.text-button{display:inline-flex;align-items:center;gap:8px;padding:8px 0}.bank-detail h2{margin:20px 0 12px}.bank-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#8b9384}.bank-partner{padding:18px;background:#f7f4fc;border-radius:12px;margin:24px 0}.bank-stage{padding:18px 0;border-top:1px solid #eceee8}.bank-stage h3{font-size:16px;margin:0 0 14px}.bank-stage h4{font-size:12px;color:#8b9384;margin-bottom:8px}.bank-partner p,.bank-stage p{line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.bank-stage small{color:#8b9384}.bank-stage summary{cursor:pointer}@media (max-width:900px){.bank-filters{grid-template-columns:1fr 1fr}}@media (max-width:600px){.bank-filters{grid-template-columns:1fr;padding:18px}.bank-detail{padding:18px}.bank-heading h1{font-size:21px}.bank-heading{flex-wrap:wrap}}.bank-filters select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23828a79' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.bank-pagination{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:18px 0;font-size:13px}.bank-pagination button{font:inherit;color:#77659e;border:1px solid #e4dfee;background:#f8f6fc;padding:9px 16px;border-radius:9px;cursor:pointer}.bank-pagination button:hover:not(:disabled){background:#eee8f7}.bank-pagination button:disabled{opacity:.4;cursor:default}.bank-pagination span{min-width:55px;text-align:center}.bank-heading{scroll-margin-top:24px}.account-email label{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:13px}.account-email input{width:100%;font:inherit;color:inherit;padding:12px 14px;background:#fafbf8;border:1px solid #e4e7e0;border-radius:10px}.email-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.email-actions .text-button,.recovery-back{padding:12px 0}.email-notice{line-height:1.8;color:#687b61;padding:14px 16px;background:#f0f5ed;border-radius:10px;margin-top:18px}.recovery-back{display:inline-block;margin-top:16px}.account-email{margin-bottom:22px}.model-priority-editor{flex:1 1 100%;min-width:0}.model-priority-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.model-priority-list li{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px}.model-rank{color:var(--muted);font-size:12px;width:20px;text-align:center;flex-shrink:0}.model-priority-name{flex:1 1;min-width:0;display:grid;gap:6px}.model-priority-name code{font-size:13px;overflow-wrap:anywhere}.model-priority-name small{font-size:12px;color:var(--muted)}.model-add-row,.model-priority-actions{display:flex;gap:8px;align-items:center}.model-add-row button,.model-priority-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px;border:1px solid var(--line);border-radius:8px;white-space:nowrap;font-size:12px}.model-priority-actions button:disabled{opacity:.4}.model-add-row{margin-top:14px}.model-add-row input{flex:1 1}.streaming-feedback{background:var(--bg);border-color:var(--line)}.streaming-feedback .status{color:var(--muted);gap:10px}.streaming-feedback p{white-space:pre-wrap}@media (max-width:650px){.model-priority-list li{flex-wrap:wrap}.model-priority-actions{flex:1 1 100%;justify-content:flex-end}}.context-toggle,.mobile-header,.mobile-menu,.mobile-stage-name{display:none}@media (max-width:700px){.shell{display:block}.main-shell>header,.shell>.sidebar{display:none}.main-shell{width:100%;margin:0}.mobile-header{display:flex;align-items:center;gap:8px;height:calc(56px + env(safe-area-inset-top, 0px));padding:env(safe-area-inset-top,0) max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px));position:sticky;top:0;z-index:30;background:rgba(251,251,250,.97);border-bottom:1px solid var(--line)}.mobile-brand{font-size:21px;letter-spacing:-.7px;gap:7px;padding:0;margin-right:auto}.mobile-brand .brand-mark{width:27px;height:27px}.mobile-brand>span:last-child{display:block}.mobile-icon-button{width:44px;height:44px;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:12px}.mobile-icon-button:active{background:var(--lavender)}.mobile-menu-trigger{color:#666773}.mobile-direction-switch select{font-size:12px;min-height:40px;min-width:0;max-width:155px;padding:8px 29px 8px 10px;border-radius:12px;box-shadow:none}.mobile-practice-title{flex:1 1;min-width:0;display:grid;gap:1px}.mobile-practice-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.mobile-practice-title>span{color:#85858c;font-size:10px}.mobile-header-focused{gap:3px}.mobile-menu[open]{display:block;position:fixed;inset:0 0 0 auto;width:min(88vw,360px);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-left:1px solid var(--line);background:var(--bg);color:var(--ink);box-shadow:-16px 0 60px #272b2b16}.mobile-menu::backdrop{background:#22212f55}.mobile-menu-content{padding:max(12px,env(safe-area-inset-top,0px)) 16px max(20px,env(safe-area-inset-bottom,0px));min-height:100%;display:flex;flex-direction:column}.mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;font-size:22px}.mobile-menu-account{display:flex;align-items:center;gap:12px;padding:20px 8px;margin:8px 0;border-bottom:1px solid var(--line)}.mobile-menu-account>div{min-width:0;display:grid;gap:7px}.mobile-menu-account strong{overflow-wrap:anywhere;font-size:14px}.mobile-menu-account>div>span{color:#7f817c;font-size:12px}.mobile-menu-item{width:100%;min-height:52px;display:flex;align-items:center;gap:13px;text-align:left;padding:12px;margin:5px 0;font-size:15px;border-radius:12px}.mobile-menu-item>svg{flex-shrink:0}.mobile-menu-item.selected{color:var(--purple);background:#ece8f6}.mobile-menu-item.selected:after{content:"";width:5px;height:5px;flex-shrink:0;margin-left:auto;border-radius:50%;background:var(--purple)}.mobile-menu-logout{margin-top:auto;border-top:1px solid var(--line);border-radius:0;color:#7d807c;padding-top:20px}.main-shell>main{padding:20px max(16px,env(safe-area-inset-right,0px)) 28px max(16px,env(safe-area-inset-left,0px))}.main-shell footer{display:none}.main-shell .primary{min-height:44px}.hero-art{display:none}.hero-copy{padding:22px}.hero h2{font-size:24px}.hero p{font-size:13px;line-height:1.7}.hero-label{font-size:9px}.hero-meta{font-size:11px;gap:10px}.hero .primary{width:100%;justify-content:center;font-size:14px}.stats{gap:8px;margin:16px 0 24px}.stats>div{padding:13px 10px}.stat-label{font-size:10px;line-height:1.5}.stats strong{font-size:24px}.stats p,.stats strong small{font-size:10px}.stats p{line-height:1.6}.topic-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.topic-card{padding:16px 13px}.topic-card h3{font-size:15px}.topic-card p{font-size:12px;line-height:1.65}.card-bottom small{font-size:10px}.section-heading p{font-size:12px}.settings-card{padding:20px 16px}.settings-page{margin-top:0}.practice-focused .main-shell>main{padding:12px max(12px,env(safe-area-inset-right,0px)) 20px max(12px,env(safe-area-inset-left,0px))}.practice-active .back,.practice-focused .practice-title{display:none}.practice-focused .stage-path{gap:5px;margin:0 auto 10px;max-width:none;flex-wrap:nowrap;height:3px}.practice-focused .stage-step{flex:1 1;height:3px;background:#e9e7ee;border-radius:4px}.practice-focused .stage-step.current{background:var(--purple)}.practice-focused .stage-step.finished{background:#a6baa5}.practice-focused .stage-step>*{display:none}.exercise{padding:16px;border-radius:14px;box-shadow:none}.exercise-top{gap:10px;min-height:20px}.exercise-top>.eyebrow{font-size:10px;letter-spacing:.5px;flex-shrink:0}.mobile-stage-name{display:inline;flex:1 1;min-width:0;font-size:11px;color:var(--purple)}.stopwatch{font-size:12px;gap:4px;flex-shrink:0}.exercise h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.exercise-hint{display:none}.communication-context{margin:13px 0;padding:10px 38px 10px 11px;position:relative;line-height:1.5}.communication-heading{display:grid;gap:3px}.communication-heading strong{font-size:12px;line-height:1.5}.communication-heading>span{font-size:11px}.exercise .communication-context p{display:none;margin-top:8px;font-size:12px}.exercise .communication-context p.context-expanded{display:block}.context-toggle{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:38px;height:100%;min-height:44px;color:#807394;border-radius:8px}.context-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.prompt{padding:12px 14px;border-radius:10px}.answer-label,.prompt-label{font-size:10px;letter-spacing:.4px}.prompt p{margin:6px 0 0;font-size:18px;line-height:1.65;overflow-wrap:anywhere}.answer-label{margin:14px 0 7px}.exercise textarea{min-height:104px;max-height:240px;font-size:17px;line-height:1.7;padding:12px;resize:vertical;scroll-margin-top:74px}.exercise textarea::placeholder{font-size:12px}.exercise-bottom{position:sticky;bottom:var(--keyboard-inset,0);z-index:10;flex-direction:row;align-items:stretch;gap:9px;padding:11px 0 max(8px,env(safe-area-inset-bottom,0px));margin:0;background:white}.exercise-bottom .help-button{flex:0 1 auto;width:auto;font-size:13px;min-height:46px;padding:10px 12px}.exercise-bottom .primary{flex:1 1;justify-content:center;min-height:46px;font-size:13px;padding:10px 12px}.exercise kbd,.exercise.has-result .exercise-bottom,.exercise.is-grading .exercise-bottom{display:none}.feedback{padding:15px;margin-top:16px;scroll-margin-top:calc(70px + env(safe-area-inset-top, 0px))}.feedback-top{gap:8px;flex-wrap:wrap;align-items:center}.feedback-top>span:last-child{font-size:11px}.feedback-content>p,.feedback>p{font-size:14px;line-height:1.8}.status{font-size:13px}.alternatives>span{font-size:10px}.alternatives button{font-size:16px;min-height:44px}.feedback .next-button{position:sticky;bottom:0;width:100%;justify-content:center;min-height:48px;padding:12px;margin-top:14px;font-size:13px;border:1px solid #ddd7e9;border-radius:10px;box-shadow:0 2px 8px #272b2b07}.exercise.has-result textarea{min-height:72px}.chat-flow{max-height:min(30dvh,210px);margin:0;overscroll-behavior:contain}.chat-message p{font-size:16px;line-height:1.6}.completion{margin:12px auto;padding:24px 16px}.completion>.primary{width:100%;justify-content:center}}@media (max-width:360px){.mobile-direction-switch select{max-width:132px;font-size:11px}.mobile-brand{font-size:19px}.mobile-brand .brand-mark{width:23px;height:23px}.exercise{padding:13px}}.feedback-content,.practice-prompt-pane,.practice-response-pane{min-width:0}@media (min-width:701px){.practice-focused .main-shell>header{height:56px}.practice-focused .main-shell>main{padding:18px 28px 20px;max-width:1380px}.practice-focused .back{margin-bottom:10px;min-height:22px;width:fit-content}.practice-focused .practice-title{gap:12px;margin-bottom:12px}.practice-focused .practice-title h1{font-size:22px;margin:0 0 3px}.practice-focused .practice-title .topic-icon{width:38px;height:38px;flex-shrink:0}.practice-focused .stage-path{margin:0 auto 14px;width:100%;max-width:none}.practice-focused .exercise{padding:20px 22px;max-width:none;width:100%}.practice-focused .exercise h2{font-size:18px;line-height:1.5;margin:0 0 12px}.practice-focused .exercise-hint{display:none}.practice-focused .communication-context{margin:0 0 14px;padding:11px 13px}.practice-focused .communication-heading{gap:5px 12px}.practice-focused .communication-heading strong{font-size:13px}.practice-focused .communication-context p{font-size:12px;line-height:1.65}.practice-focused .prompt{padding:16px}.practice-focused .prompt p{font-size:19px;line-height:1.75;overflow-wrap:anywhere}.practice-focused .answer-label{margin:16px 0 8px}.practice-focused textarea{min-height:110px;padding:13px;font-size:18px;line-height:1.75}.practice-focused .exercise-bottom{position:sticky;bottom:0;z-index:5;margin:0;padding-top:12px;gap:10px;background:white}.practice-focused .exercise-bottom button{min-height:42px}.practice-focused .exercise.has-result .exercise-bottom,.practice-focused .exercise.is-grading .exercise-bottom{display:none}.practice-focused .feedback{margin-top:12px;padding:16px}.practice-focused .feedback-content>p{font-size:14px;line-height:1.8}.practice-focused .feedback .next-button{min-height:42px;font-size:12px}.practice-focused .alternatives button{font-size:16px;line-height:1.65}}@media (min-width:1000px){.practice-focused .exercise{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:28px;row-gap:16px}.practice-focused .exercise-top{grid-column:1/-1}.practice-prompt-pane{grid-column:1;grid-row:2}.practice-response-pane{grid-column:2;grid-row:2;display:flex;flex-direction:column;min-height:0}.practice-focused .practice-response-pane .answer-label{margin:0 0 8px;flex-shrink:0}.practice-focused .practice-response-pane textarea{flex:1 1;min-height:150px;max-height:none;resize:none}.practice-focused .practice-response-pane .exercise-bottom{flex-shrink:0}.practice-focused .practice-response-pane .exercise-bottom .primary{flex:1 1;justify-content:center}.practice-focused .exercise.has-result textarea,.practice-focused .exercise.is-grading textarea{flex:0 0 68px;min-height:68px;height:68px}.practice-focused .practice-response-pane .error{max-height:120px;flex-shrink:0;overflow-y:auto;margin-bottom:0}.practice-focused .feedback{display:flex;flex-direction:column;flex:1 1;min-height:0}.practice-focused .feedback-top{flex-shrink:0;flex-wrap:wrap;gap:6px 12px}.practice-focused .feedback .status{font-size:13px}.practice-focused .feedback .next-button{justify-content:center;flex-shrink:0;margin-top:12px}.practice-focused .feedback-content{min-height:0}}@media (min-width:1000px) and (min-height:600px){.practice-focused .main-shell>main{height:calc(100dvh - 56px);display:flex;flex-direction:column;min-height:0}.practice-focused .main-shell>main>.back,.practice-focused .practice-title,.practice-focused .stage-path{flex-shrink:0}.practice-focused .exercise{flex:1 1;min-height:0;margin:0}.practice-focused .practice-prompt-pane{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:6px}.practice-focused .practice-response-pane{min-height:0}.practice-focused .feedback{overflow:hidden}.practice-focused .feedback-content{flex:1 1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:5px}.practice-focused .chat-flow{max-height:none;overflow:visible}}.main-shell>main.sentence-lab-workspace{width:100%;padding:18px 28px}@media (max-width:700px){.main-shell>main.sentence-lab-workspace{padding:8px max(12px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}}.legacy-tabs{display:flex;gap:8px;margin-bottom:18px;border-bottom:1px solid var(--line)}.legacy-tabs button{padding:10px 12px;color:#777;border-bottom:2px solid transparent}.legacy-tabs button[aria-current=page]{color:#333;border-bottom-color:#777}@media (max-width:700px){.legacy-tabs{margin-bottom:12px}}