.lesson-area-picker{display:flex;justify-content:center;align-items:center;gap:clamp(24px,6vw,90px);flex:1}.lesson-area-picker button{width:clamp(210px,28vw,330px);height:clamp(130px,20vw,200px);border-radius:50%;font-family:Marelle;font-size:clamp(32px,4vw,50px);background:var(--yellow);border:1px solid #dcd2a8;box-shadow:0 5px #e4dcb7}.lesson-area-picker button+button{background:var(--lilac);border-color:#d3c6e5;box-shadow:0 5px #d9cde8}.lesson-area-back{position:absolute;right:24px;top:90px;z-index:1}.lesson-mode-nav{display:flex;gap:14px;margin:12px 0 24px}.lesson-mode-nav .active{background:var(--lilac);color:var(--ink)}
#app.lesson-open .student-main{max-width:1440px;padding:12px 28px 26px;display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}#app.lesson-open .student-bar{margin-bottom:3px;flex-shrink:0}#app.lesson-open .name-pill{font-size:clamp(24px,3vw,36px);padding:6px 18px;line-height:1.4}#app.lesson-open .footer{position:fixed;right:8px;bottom:0;padding:0;z-index:5}#app.lesson-open .lesson-pupil{flex:1;min-height:0;display:flex;flex-direction:column}.lesson-heading{display:flex;align-items:center;gap:18px;flex-shrink:0;padding:5px 0;font-size:clamp(18px,2.1vw,27px)}.lesson-heading .btn{padding:4px 12px;line-height:1.5;min-height:38px}.lesson-stage{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.lesson-stage>section{width:100%}.lesson-title,.lesson-wait,.lesson-celebrate{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:45vh}.lesson-title h1,.lesson-celebrate h1{font-family:Marelle;font-size:clamp(36px,5.4vw,76px);line-height:1.7;letter-spacing:0}.lesson-part{color:var(--muted);font-size:18px}.lesson-demonstration{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,2vh,24px)}.lesson-example{width:100%}.lesson-sentence{font-family:Marelle;font-size:clamp(24px,3.5vw,49px);line-height:1.85;letter-spacing:0;text-align:center;overflow:visible}.lesson-word{font:inherit;border-radius:8px;display:inline-block;line-height:1.5;padding:3px 3px 6px;min-height:0;background:transparent;border:2px solid transparent;vertical-align:baseline;transition:color .35s,background .35s,border-color .35s}.lesson-word.lesson-verb{color:#af2938;background:#fbe2e4;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.lesson-word.lesson-subject,.lesson-word.lesson-selected{border-color:#4e9366;background:#e3f0df}.lesson-word.lesson-gold{background:#f5da83;border-color:#af8424;color:#66501b}.lesson-word.lesson-wrong{border-color:#c0444c;background:#fae2e4}.lesson-explanation{min-height:100px;display:flex;flex-direction:column;justify-content:center;gap:10px}.lesson-prompt{font-size:clamp(17px,1.9vw,24px);text-align:center}.lesson-speaker{background:transparent;border:1px solid transparent;border-radius:50%;min-width:40px;min-height:38px;vertical-align:middle;font-size:20px;padding:3px}.lesson-speaker:hover{background:#fff8}.lesson-frame{font-size:clamp(19px,2.2vw,29px);text-align:center;padding:8px;line-height:1.6}.lesson-reveal{animation:lesson-appear .4s ease-out}.lesson-gold{color:#846615}.lesson-wrong{color:#b13d49}.lesson-feedback{font-size:22px;text-align:center}.lesson-correct-answer{font-family:Marelle;font-size:34px}.lesson-choices,.lesson-question-nav{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.lesson-choices .chosen,.lesson-images .chosen{background:#e3f0df;border:2px solid #4e9366}.lesson-exercise{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;max-width:1250px;margin:auto;position:relative}.lesson-main-sentence{width:100%;text-align:center}.lesson-model .lesson-sentence{font-size:clamp(21px,2.6vw,35px)}.lesson-counter{color:var(--muted);font-size:16px}.lesson-images{display:flex;gap:30px;justify-content:center;padding:12px}.lesson-image{width:clamp(85px,13vw,145px);height:clamp(85px,13vw,145px);border-radius:25px;background:#fffefa;border:2px solid var(--line);font-size:clamp(48px,8vw,85px)}.lesson-listen{text-align:center;min-height:70px}.lesson-dot{border-radius:50%;width:36px;min-height:36px;background:#eeede7;border:2px solid transparent}.lesson-dot.active{border-color:#77618d}.lesson-dot.right,.lesson-sort-chip.right{background:#e4efdc}.lesson-dot.wrong,.lesson-sort-chip.wrong{background:#fae0e4}.lesson-question-nav{margin:8px 0}.lesson-question-nav .btn{min-height:36px;padding:1px 14px}.lesson-frame input{width:clamp(160px,25vw,350px);font-size:clamp(20px,2.5vw,32px);text-align:center}.lesson-drop{min-width:170px;max-width:100%;min-height:54px;border:2px dashed #9b91ae;border-radius:12px;background:#fffefa;font:inherit;padding:6px 15px}.lesson-drag-group,.lesson-sort-chip{touch-action:none}.dragging{opacity:.55}.lesson-unlock{align-self:flex-end;font-size:14px}.lesson-unlock>.btn{font-size:14px;min-height:26px;padding:2px 8px}.lesson-unlock form{position:absolute;right:0;bottom:28px;background:#fffefa;border:1px solid var(--line);border-radius:18px;padding:18px;z-index:8;box-shadow:0 8px 30px #30483f22}.lesson-help{background:#fffefa;border:1px solid #d6cbe5;border-radius:18px;padding:8px 18px;max-width:90%;text-align:center}.lesson-help .lesson-sentence{font-size:26px}.lesson-small{font-size:16px}.lesson-help p{font-size:16px}.lesson-help .btn{min-height:32px;padding:3px 16px}.lesson-production{display:flex;flex-direction:column;gap:9px;max-width:900px;margin:auto;align-items:stretch}.lesson-production textarea{font-family:Crusoe;font-size:20px;color:var(--ink);width:100%;min-height:44px;resize:vertical;border:1px solid #cdd2c6;border-radius:12px;background:#fffefa;padding:8px 14px}.lesson-production .btn{align-self:center}.lesson-sort{text-align:center;max-width:1100px;margin:auto}.lesson-sort-source{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px}.lesson-sort-row{display:flex;flex-direction:column;align-items:center}.lesson-sort-row .lesson-sentence{font-family:Crusoe;font-size:17px;line-height:1.4}.lesson-sort-row .lesson-word{padding:0 2px}.lesson-sort-chip{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:5px 12px;min-height:36px;margin:3px;font-size:18px}.lesson-sort-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:10px auto}.lesson-sort-columns section{min-height:100px;background:#eaf0df;border-radius:16px;padding:8px}.lesson-sort-columns section+section{background:#e4e9f2}.lesson-sort-columns h3{font-size:20px}.lesson-emoji-picture{font-size:46px;line-height:1.4}.lesson-profile-form{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.lesson-profile-form label{display:flex;align-items:center;gap:7px}.lesson-profile-form input[type=checkbox]{min-height:20px;width:20px}.lesson-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.lesson-preview{background:#f8f2dc;min-height:340px;display:flex;align-items:center;justify-content:center;border-radius:20px;padding:20px;margin:20px 0}.lesson-preview .lesson-sentence{font-size:clamp(23px,2.7vw,35px)}.lesson-preview .lesson-title{min-height:250px}.lesson-slide-bank{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:18px 0}.lesson-slide{display:flex;flex-direction:column;gap:4px;padding:12px;background:#fffefa;border:2px solid var(--line);border-radius:15px}.lesson-slide.active{border-color:#7a6597;background:var(--lilac)}.lesson-slide small{font-size:13px;line-height:1.3}.lesson-student-row{width:100%;background:transparent;text-align:left}.lesson-student-row span+span{font-size:15px}.lesson-report-exercise{padding:12px 0;border-bottom:1px solid var(--line)}.lesson-report-answer{padding:8px 0;font-size:17px}.lesson-alerts{display:flex;gap:10px;flex-wrap:wrap}.lesson-project{background:#f8f2dc}.lesson-project main{max-width:1500px;width:100%;height:100dvh;min-height:0;padding:30px;display:flex}.lesson-project .lesson-sentence{font-size:clamp(30px,4.2vw,64px)}.lesson-project #connection{position:fixed;bottom:8px;left:20px;font-size:16px}.lesson-stage .button-row{justify-content:center}
@keyframes lesson-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-height:740px){#app.lesson-open .student-main{padding-top:5px}#app.lesson-open .student-bar .name-pill{font-size:27px;padding:4px 15px}.lesson-heading{padding:0}.lesson-exercise{gap:2px}.lesson-sentence{font-size:clamp(23px,3vw,37px);line-height:1.6}.lesson-frame{padding:3px;font-size:21px}.lesson-exercise .btn{min-height:38px;padding:5px 15px}.lesson-explanation{min-height:65px}.lesson-help .lesson-sentence{font-size:22px}.lesson-help{padding:4px 14px}.lesson-sort-source{gap:1px}.lesson-sort-row .lesson-sentence{font-size:15px}.lesson-sort-chip{min-height:28px;padding:2px 10px;font-size:16px}.lesson-sort-columns{margin:5px auto}.lesson-production textarea{font-size:18px;min-height:35px;padding:4px 12px}.lesson-production{gap:5px}}
@media(max-width:700px){.lesson-area-picker{flex-direction:column;gap:24px}.lesson-images{gap:12px}.lesson-sort-source{grid-template-columns:1fr}.lesson-pupil .lesson-heading>span{font-size:18px}#app.lesson-open .student-main{padding:8px 12px 26px}.lesson-sentence{font-size:25px}.lesson-stage{overflow:auto;justify-content:flex-start}.lesson-exercise{padding-top:10px}.lesson-profile-form{gap:10px}.lesson-sort-row .lesson-sentence{font-size:15px}}
@media(prefers-reduced-motion:reduce){.lesson-reveal{animation:none}.lesson-word{transition:none}}

.lesson-teacher [hidden]{display:none!important}

.lesson-demonstration.compare .lesson-example{min-height:100px}.lesson-pending{visibility:hidden}.lesson-success-review .lesson-sentence{font-size:clamp(24px,3vw,38px)}.lesson-celebrate:has(.lesson-success-review){gap:10px}.lesson-celebrate:has(.lesson-success-review) h1{font-size:45px}

.lesson-stage>*{flex-shrink:0;transform-origin:center center}.lesson-drag-ghost{position:fixed;pointer-events:none;z-index:9999;border:1px solid #8c9b86;border-radius:12px;background:#fffefa;padding:8px 14px;box-shadow:0 4px 12px #30483f22;font:20px Crusoe;color:var(--ink)}
.lesson-selection{border:2px solid transparent;border-radius:10px;padding:5px 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;line-height:1.7}.lesson-selection.lesson-selected,.lesson-selection.lesson-subject{border-color:#4e9366;background:#e3f0df}.lesson-selection.lesson-gold{border-color:#af8424;background:#f5da83;color:#66501b}.lesson-selection.lesson-wrong{border-color:#c0444c;background:#fae2e4}.lesson-selection>.lesson-word{background:transparent;border:0;border-radius:0}.lesson-selection>.lesson-word.lesson-verb{color:#af2938}.lesson-idle .footer{display:none}.lesson-blank{flex:1;width:100%;min-height:80vh}.lesson-projection-controls{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;z-index:10;max-width:98vw;white-space:nowrap}.lesson-projection-controls [hidden]{display:none!important}.lesson-project main{padding-bottom:100px}.lesson-project #connection{bottom:75px}.lesson-projection-controls button{font-size:17px;min-height:42px;padding:7px 13px}:fullscreen .lesson-projection-controls{opacity:.18;transition:opacity .2s}:fullscreen .lesson-projection-controls:hover,:fullscreen .lesson-projection-controls:focus-within{opacity:1}

.lesson-blank{display:flex;align-items:center;justify-content:center}.lesson-connected{font-size:clamp(18px,2vw,24px);color:var(--ink);text-align:center;margin:0;padding:20px}

.session-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:32px auto;max-width:1100px}.session-card{display:flex;flex-direction:column;gap:16px;text-align:center;align-items:center}.session-card h2{font-size:30px;line-height:1.6}.session-frame{display:block;width:100%;height:calc(100dvh - 205px);min-height:400px;border:0;border-radius:20px}.session-card .button-row{justify-content:center}

.session-card label{display:flex;align-items:center;gap:10px}.session-card input[type=checkbox]{width:20px;height:20px;min-height:0;margin:0}
