:root{--navy:#253a3d;--muted:#8b9290;--paper:#faf9f5;--line:#e7e7df;--orange:#cf7456;--mint:#d9e9dc;--pink:#f6ddda}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font:14px Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #cc9565;outline-offset:4px}button{transition:background .15s,transform .15s}a{text-decoration:none;color:inherit}.sidebar{width:235px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#d3dbd4;padding:36px 24px;display:flex;flex-direction:column}.logo{font:bold 31px Georgia;letter-spacing:-1.2px;display:flex;align-items:center;gap:8px;color:#f5f0df}.orange{color:#de9e77;margin-left:-7px}.logo-icon{width:32px;height:36px;background:#e7e4b9;border-radius:10px 10px 10px 2px;color:var(--navy);font:italic bold 32px Georgia;line-height:31px;text-align:center;position:relative}.logo-icon span{font:15px Georgia;position:absolute;top:-8px;right:-4px;color:#edc77c}.course{display:flex;align-items:center;gap:10px;margin:45px 0 36px;font-size:12px}.course>span{font-size:23px}.course small{display:block;color:#91a29b;font-size:9px;margin-top:6px}.nav-label{font-size:8px;letter-spacing:1.8px;color:#8b9f96;margin-bottom:15px;padding-left:10px}.nav{border:0;background:none;color:#a8b8af;padding:13px 12px;text-align:left;border-radius:7px;font-size:12px;display:flex;align-items:center;gap:13px;margin-bottom:8px}.nav span{font-size:20px}.nav.active{background:#3a5050;color:#f0e9d2}.side-bottom{margin-top:auto}.handmade{padding:35px 12px}.handmade>span{font-size:40px;color:#d4c087}.handmade p{font:italic 24px/1.3 Georgia;color:#e3dec6}.handmade small{font-size:7px;letter-spacing:1.6px;color:#8fa59b}.user{border-top:1px solid #425351;padding-top:23px;display:flex;align-items:center;gap:10px;font-size:10px}.user-icon{border:1px solid #647e71;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;font:italic 14px Georgia;color:#ded9bd}.user small{display:block;font-size:8px;color:#8ba296;margin-top:6px}main{margin-left:235px;padding:0 46px;max-width:1750px}header{height:82px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.4px;color:#87928b}header>div{display:flex;align-items:center;gap:8px}.header-dot{height:5px;width:5px;border-radius:50%;background:#bcad79}header button{background:none;border:0;font-size:10px;color:#6d7d73}header button span{margin-left:8px}.intro{padding:33px 0 30px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:8px;letter-spacing:1.8px;color:#a09275;font-weight:bold}h1{font:42px/1.15 Georgia;font-weight:400;letter-spacing:-1.5px;margin:14px 0}h1 em{color:#9a795c;font-weight:400}.intro p{color:#90978c;font-size:11px;line-height:1.7;margin-bottom:0}.intro-stamp{transform:rotate(8deg);color:#91a18c;border:1px solid #d6ddc9;outline:1px dashed #d6ddc9;outline-offset:5px;border-radius:50%;height:91px;width:91px;display:flex;justify-content:center;align-items:center;flex-direction:column;font:23px Georgia;margin-right:12px}.intro-stamp span{font:7px Arial;margin-top:5px}.intro-stamp small{font:6px Arial;margin-top:5px}.lesson-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:24px}.lesson-tab{border:1px solid var(--line);background:#fffefa;border-radius:8px;padding:16px;text-align:left;display:flex;align-items:center;gap:11px;position:relative}.lesson-tab.selected{border-color:#b4c0a9;background:#edf0e4}.lesson-tab .tab-icon{font-size:20px;width:33px;height:33px;background:#f4eddc;border-radius:9px;display:grid;place-items:center}.lesson-tab strong{font-size:11px;display:block;font-weight:500}.lesson-tab small{font-size:9px;color:#8f988a;display:block;margin-top:5px}.lesson-tab .tab-arrow{margin-left:auto;font-size:16px;color:#8c9a7e}.workspace{display:grid;grid-template-columns:285px 1fr;border:1px solid #e0e2d7;border-radius:11px;overflow:hidden;background:#fffefa;min-height:620px}.scene-panel{background:#eeeddc;display:flex;flex-direction:column;border-right:1px solid #dedfce}.scene-location{font-size:7px;letter-spacing:1.6px;color:#99957c;padding:23px 23px 0}.scene-picture{height:195px;padding:0 13px;display:grid;align-items:center}.scene-picture svg{width:100%;max-height:190px}.scene-copy{padding:10px 24px 20px}.scene-number{font-size:8px;letter-spacing:1.6px;color:#ab9b72}.scene-copy h2{font:31px/1.15 Georgia;margin:12px 0;color:#48594b;letter-spacing:-.8px}.scene-copy p{font-size:11px;line-height:1.8;color:#8c9077}.scene-meta{display:flex;gap:14px;font-size:8px;color:#91947c;margin-top:20px}.scene-tip{margin:0 23px 20px;border-top:1px solid #d9dcc8;padding-top:20px}.scene-tip>span{font-size:7px;letter-spacing:1.2px;color:#9b906c}.scene-tip p{font-size:10px;line-height:1.8;color:#8d927a;margin-bottom:0}.restart{border:0;border-top:1px solid #daddc8;background:transparent;font-size:9px;color:#899478;text-align:left;padding:17px 23px;margin-top:auto}.restart:hover{background:#e5e7d4}.conversation-panel{display:flex;flex-direction:column;min-width:0}.chat-header{display:flex;gap:11px;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line)}.person-avatar{border-radius:50%;height:36px;width:36px;background:#e6dac5;display:grid;place-items:center;font:19px Georgia;color:#8d7859}.chat-header strong{font-size:12px;font-weight:500}.chat-header small{display:block;font-size:8px;color:#a2a695;margin-top:5px}.translation-toggle{margin-left:auto;border:1px solid #e4e5d8;background:none;border-radius:5px;font-size:9px;padding:6px 8px;color:#7c8871}.translation-toggle span{font-size:7px;color:#a4ac97}.chat{padding:23px 25px;display:flex;gap:15px;flex-direction:column;max-height:340px;min-height:150px;overflow-y:auto;scroll-behavior:smooth}.chat-message{max-width:94%}.chat-message .name{font-size:7px;letter-spacing:1.4px;color:#9ba38f;margin-bottom:8px}.bubble{background:#edf1e5;border-radius:0 10px 10px 10px;padding:15px 17px;font:19px/1.5 Georgia;color:#53654d}.bubble .translation{font:10px/1.6 Arial;color:#959e89;margin-top:7px}.chat-message.you{align-self:flex-end}.you .name{text-align:right}.you .bubble{background:#f4e5d6;color:#917356;border-radius:10px 0 10px 10px;font-size:16px}.bubble .micro-tip{font:9px/1.6 Arial;color:#ad9577;margin-top:7px}.builder{padding:20px 25px 17px;margin-top:auto;border-top:1px solid var(--line)}.builder-label{display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1.5px;color:#939d87}.turn-num{letter-spacing:0;color:#adb29f;margin-left:7px}.builder-label button{font-size:9px;letter-spacing:0;border:0;background:none;color:#86917a;padding:4px}.builder-label button:disabled{opacity:.35}.sentence{min-height:71px;border-bottom:1px dashed #dedfcf;display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:14px 0;margin-bottom:18px}.sentence .placeholder{font:italic 19px Georgia;color:#c1c2af}.sentence .chosen{font:20px Georgia;color:#53654d;animation:appear .15s}.sentence .cursor{height:22px;width:1px;background:#afbb97;animation:blink 1s infinite;margin-left:3px}.word-label{display:flex;justify-content:space-between;color:#a1a68e;font-size:9px;margin-bottom:13px}.words{display:flex;flex-wrap:wrap;gap:8px;min-height:45px;align-content:start}.word{font-size:13px;border:1px solid #e1e3d5;border-radius:6px;padding:10px 14px;background:#fafbf5;min-height:39px;box-shadow:0 2px 0 #e6e7dd}.word:hover{background:#edf1e2;transform:translateY(-1px)}.word.wrong,.word.wrong:hover{background:var(--pink);border-color:#d9a19d;box-shadow:0 2px 0 #e6b6b1;color:#ad514a;animation:shake .2s}.wrong-mark{margin-left:5px}.feedback{min-height:34px;font-size:9px;line-height:1.6;color:#ad6860;padding-top:10px}.feedback.success{color:#7b9170}.send{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--navy);border:0;border-radius:6px;color:#f0f1e3;padding:13px 16px;font-size:11px}.send span{font-size:17px}.send:disabled{background:#eceee5;color:#b1b6a4}.send:not(:disabled):hover{background:#3c5551}.builder-bottom{display:flex;align-items:center;gap:12px;font-size:7px;color:#acb09b;margin-top:13px}.builder-bottom>span{display:flex;align-items:center;gap:4px}.builder-bottom>span:last-child{margin-left:auto}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.mint{background:#becfb1}.pink{background:#d99d96}.under-note{display:flex;align-items:center;gap:9px;font:italic 11px Georgia;color:#aaa98f;padding:21px 0 25px}.under-note>span:first-child{font:22px Georgia;color:#b5b487}.under-right{font:7px Arial;letter-spacing:1.6px;margin-left:auto;color:#aaa991}footer{border-top:1px solid var(--line);padding:20px 0;display:flex;align-items:center;gap:17px;color:#a2aa98;font-size:8px}footer>span{font:bold 19px Georgia;color:#8f9a81}footer small{margin-left:auto;font-size:8px}.completion{text-align:center;padding:22px 26px 25px;margin-top:auto;border-top:1px solid var(--line);background:#f4f5e9}.completion>.star{font-size:32px;color:#b5a36d}.completion h3{font:27px Georgia;margin:12px}.completion p{font-size:11px;color:#919a82;line-height:1.7}.completion .completion-actions{display:flex;gap:10px;margin-top:20px}.secondary{border:1px solid #d9ddca;background:none;border-radius:5px;font-size:10px;padding:10px 15px;white-space:nowrap}.completion .send{font-size:10px}.summary-choices{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:15px}.summary-choices span{padding:6px 10px;background:#e5e9d8;color:#829170;font-size:8px;border-radius:20px}#progressView{padding-top:45px;min-height:75vh}.progress-intro{color:#929c88;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:35px 0}.stat{background:#eeefdf;border:1px solid #e0e4d3;border-radius:8px;padding:25px}.stat strong{font:40px Georgia;color:#89967b;display:block}.stat span{font-size:10px;color:#9aa18b;display:block;margin-top:10px}.progress-heading{font:25px Georgia}.progress-row{border:1px solid var(--line);padding:20px;display:flex;align-items:center;gap:15px;background:#fffefa;border-radius:7px;margin-bottom:12px}.progress-row>span{font-size:27px}.progress-row strong{font:20px Georgia}.progress-row small{display:block;color:#9aa08d;font-size:10px;margin-top:8px}.progress-row button{margin-left:auto}dialog{width:460px;max-width:calc(100% - 30px);max-height:90dvh;overflow:auto;border:1px solid #e1e4d4;border-radius:13px;background:var(--paper);padding:28px;color:var(--navy);box-shadow:0 20px 90px #162c3130}dialog::backdrop{background:#253a3d77;backdrop-filter:blur(4px)}.help-head{display:flex;align-items:center;justify-content:space-between}.help-head button{border:0;background:none;font-size:25px;color:#a5ac97}dialog h2{font:35px/1.15 Georgia;margin-top:10px}dialog ol{padding-left:20px}dialog li{padding-left:5px;margin-bottom:16px;font-size:12px}dialog li p{font-size:11px;line-height:1.8;color:#939b86}.help-note{font-size:10px;line-height:1.8;color:#969d88;background:#eeeede;padding:14px;border-radius:7px;margin:20px 0}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,100px);background:var(--navy);color:white;padding:12px 20px;border-radius:7px;font-size:12px;transition:transform .2s;z-index:10}#toast.show{transform:translate(-50%,0)}.translation-hidden .translation{display:none}[hidden]{display:none!important}@keyframes blink{50%{opacity:0}}@keyframes appear{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@media(min-width:1450px){main{padding:0 70px}.workspace{grid-template-columns:330px 1fr}.scene-picture{height:230px}.scene-copy{padding-left:30px;padding-right:30px}.scene-copy h2{font-size:36px}.scene-tip{margin-left:30px;margin-right:30px}.chat{max-height:360px}}@media(max-width:1150px){.sidebar{width:200px;padding:30px 19px}main{margin-left:200px;padding:0 28px}h1{font-size:36px}.workspace{grid-template-columns:230px 1fr}.scene-copy h2{font-size:28px}.scene-copy{padding-left:20px;padding-right:20px}.scene-picture{height:170px}.lesson-tab{padding:13px 10px;gap:8px}.lesson-tab .tab-icon{width:28px;height:28px;font-size:17px}.lesson-tab strong{font-size:10px}.lesson-tab .tab-arrow{display:none}.chat,.builder{padding-left:20px;padding-right:20px}.intro-stamp{width:75px;height:75px;font-size:19px}.intro-stamp span{font-size:6px}.builder-bottom>span:last-child{display:none}}@media(max-width:900px){.sidebar{width:75px;padding:26px 13px}.logo{font-size:0;justify-content:center}.logo .orange,.course,.nav-label,.side-bottom{display:none}.nav{font-size:0;gap:0;padding:13px;margin-top:8px}.nav:first-of-type{margin-top:43px}.nav span{font-size:23px}main{margin-left:75px;padding:0 25px}.workspace{grid-template-columns:205px 1fr}.scene-location{padding-left:18px;font-size:6px}.scene-copy{padding:10px 18px 20px}.scene-tip{margin-left:18px;margin-right:18px}.scene-meta{flex-direction:column;gap:8px}.intro-stamp{display:none}.word{padding:10px 12px}.restart{padding:16px;font-size:8px}.lesson-tabs{gap:8px}.lesson-tab small{font-size:8px}.scene-picture{height:155px}}@media(max-width:660px){.sidebar{position:static;width:100%;height:68px;flex-direction:row;padding:15px 20px;align-items:center;gap:6px}.logo{font-size:28px;margin-right:auto;gap:8px}.logo .orange{display:inline}.logo-icon{width:28px;height:32px;font-size:28px;line-height:29px}.nav,.nav:first-of-type{margin:0;padding:9px;background:none}.nav.active{background:#3a5050}.nav span{font-size:20px}main{margin-left:0;padding:0 18px}header{height:52px;font-size:7px;letter-spacing:1px}header button{font-size:9px}.intro{padding:25px 0 23px}h1{font-size:35px;max-width:300px;line-height:1.15}.intro p{font-size:10px;max-width:280px}.eyebrow{font-size:7px;letter-spacing:1.4px}.lesson-tabs{gap:7px;margin-bottom:18px}.lesson-tab{padding:10px 8px;flex-direction:column;align-items:flex-start;gap:8px}.lesson-tab strong{font-size:10px;line-height:1.4}.lesson-tab small{font-size:7px}.lesson-tab .tab-icon{font-size:17px;width:28px;height:28px}.workspace{display:flex;flex-direction:column;min-height:0}.scene-panel{border-right:0;border-bottom:1px solid #dedfce;position:relative;min-height:120px}.scene-location{padding:17px 18px 0;font-size:6px}.scene-picture{position:absolute;right:3px;top:10px;width:130px;height:110px;padding:0;opacity:.75}.scene-copy{padding:10px 18px 15px;padding-right:120px}.scene-number{display:none}.scene-copy h2{font-size:25px;margin:5px 0}.scene-copy p{font-size:9px;line-height:1.6;margin-bottom:0}.scene-meta,.scene-tip,.restart{display:none}.chat-header{padding:15px 18px}.person-avatar{width:32px;height:32px;font-size:17px}.chat{padding:18px;max-height:290px;min-height:130px}.bubble{font-size:18px;padding:13px 15px}.bubble .translation{font-size:10px}.chat-message{max-width:96%}.builder{padding:17px 18px}.sentence{min-height:64px;margin-bottom:15px}.sentence .chosen{font-size:21px}.sentence .placeholder{font-size:18px}.word{font-size:14px;padding:11px 15px;min-height:43px}.words{gap:8px}.feedback{font-size:10px;min-height:42px}.send{min-height:44px}.builder-bottom{font-size:7px}.under-note{font-size:10px;gap:7px;line-height:1.6}.under-right{display:none}footer{font-size:7px;gap:12px}footer small{display:none}.stats{gap:8px}.stat{padding:18px 12px}.stat strong{font-size:30px}.stat span{font-size:8px;line-height:1.6}.progress-row{padding:16px 12px;gap:10px}.progress-row strong{font-size:17px}.progress-row small{font-size:9px}.progress-row .secondary{padding:9px;font-size:9px}.completion .completion-actions{flex-direction:column}.completion .secondary{padding:13px}}
.feedback.explanation{background:#fcf0eb;border:1px solid #eed6cd;border-radius:7px;padding:13px 15px;margin:12px 0 15px;color:#91675a;font-size:11px;line-height:1.7}.explanation-label{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#b07361;margin-bottom:7px}.attempted{font:17px/1.5 Georgia;color:#a65c52;margin-bottom:7px}.explanation-reason{color:#94796c}.correction{margin-top:8px;padding-top:8px;border-top:1px solid #ecd9ce;color:#6f865e;font-weight:500}
.available-choice{font-size:9px;margin-top:6px;color:#9b8f7a}
.level-filters{display:flex;gap:6px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.level-filters>span{font-size:7px;letter-spacing:1.3px;color:#9b9e89;margin-right:12px}.level-filters button{border:1px solid transparent;border-radius:20px;background:none;padding:8px 12px;font-size:9px;color:#929c85}.level-filters button.selected{background:#e9eddf;border-color:#d6deca;color:#637b57}.level-filters button:hover{background:#eef0e6}@media(max-width:660px){.level-filters{gap:4px}.level-filters>span{width:100%;margin-bottom:5px}.level-filters button{font-size:8px;padding:8px 9px}.lesson-tab{min-height:98px}}
.feedback.explanation.correct{background:#edf4e8;border-color:#cfdfc3;color:#49653e}.feedback.explanation.correct .explanation-label{color:#5a7a49}.feedback.explanation.correct .attempted{color:#496c3c}.feedback.explanation.correct .explanation-reason{color:#64785a}.sentence button.chosen{padding:3px 2px;border:0;border-bottom:1px dotted #bccdb0;border-radius:3px;background:transparent;cursor:pointer}.sentence button.chosen:hover{background:#e9f0e0}.sentence button.chosen:focus-visible{outline:2px solid #8aa777;outline-offset:2px}
/* Vector controls keep their appearance across Safari, Firefox, and Chromium. */
.arrow-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;overflow:visible;fill:none}.lesson-tab>.arrow-icon{margin-left:auto;color:#8c9a7e}.secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:12px}.editor-link{display:inline-flex;align-items:center;gap:5px;color:#718468}.editor-link .arrow-icon{width:13px;height:13px;flex-basis:13px}button{touch-action:manipulation;-webkit-appearance:none;appearance:none}button[disabled]{cursor:default}#words>.send{width:100%;min-height:43px;margin:0}#choiceLabelRow.is-empty{visibility:hidden}.loading,.load-error{padding:14px 0;color:#8f997f;font-size:12px}.load-error{color:#a45f50}.typing{display:flex;align-items:center;gap:9px;padding:9px 25px 17px;color:#96a08b;font-size:10px}.typing-dots{display:inline-flex;gap:4px}.typing-dots i{width:4px;height:4px;border-radius:50%;background:#a8b49a;animation:thinking 1.2s infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes thinking{50%{opacity:.25;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:660px){.editor-link{font-size:8px}#words>.send{min-height:43px}.typing{padding-left:18px;padding-right:18px}.level-filters{gap:3px}}
