@font-face{font-family:StudioLocal;src:local("Malgun Gothic");font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f4ec;color:#302f40;font-family:StudioLocal,"Segoe UI",sans-serif;font-size:15px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #007f7b;outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.3}h1{font-size:clamp(30px,3.2vw,48px);letter-spacing:-1.8px}h2{font-size:24px;letter-spacing:-.65px}h3{font-size:18px;letter-spacing:-.3px}.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{padding:34px 24px;border-right:1px solid #e2ded5;background:#ede9f3;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;font-size:17px;line-height:1.3;letter-spacing:-.5px}.brand small{display:block;font-size:9px;letter-spacing:2.1px;margin-top:7px}.brand-mark{width:44px;height:49px;border-radius:15px 15px 5px 15px;background:#70619d;color:white;font-size:31px;line-height:48px;text-align:center;position:relative}.brand-mark span{position:absolute;left:24px;top:13px;font-size:16px;color:#ffcf8d;line-height:22px}.sidebar-intro{margin:45px 0 24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#746a8a;display:block;margin-bottom:9px}.sidebar-intro h2{font-size:21px;line-height:1.55;letter-spacing:-.7px}.progress-summary{padding:18px;background:#faf8fd;border-radius:16px;margin-bottom:27px}.progress-label{display:flex;justify-content:space-between;gap:10px;font-size:12px}.progress-label strong{color:#66528e}.progress-track{height:7px;background:#e3dce9;border-radius:5px;margin-top:10px;overflow:hidden}.progress-track span{height:100%;display:block;background:#6e9d94;transition:width .3s}.lesson-link{display:flex;width:100%;gap:12px;align-items:center;text-align:left;border:0;background:transparent;padding:12px 10px;margin:3px 0;border-radius:12px;color:#615d6d}.lesson-link:hover{background:#e3dceb}.lesson-link.active{background:#fff;color:#332c4c;box-shadow:0 3px 12px #5c487609}.lesson-number{font-size:13px;font-weight:800;width:31px;height:31px;border-radius:10px;background:#e2dbea;display:grid;place-items:center;flex:none}.lesson-link.active .lesson-number{background:#75639e;color:#fff}.lesson-link.done .lesson-number{background:#d6e8df;color:#347561}.lesson-link strong{display:block;font-size:13px}.lesson-link small{font-size:10px;color:#82788b;display:block;margin-top:2px}.paper-links{display:flex;flex-direction:column;gap:9px;margin-top:32px;padding-top:23px;border-top:1px solid #d9d0e1}.paper-links a{display:flex;justify-content:space-between;font-size:12px;text-decoration:none}.paper-links a:hover{text-decoration:underline}.local-note{font-size:10px;color:#81788c;margin-top:24px}.main-shell{min-width:0}.topbar{height:84px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e6e0d7;padding:0 48px}.studio-label{font-size:9px;letter-spacing:1.5px;color:#8b827b;font-weight:700}.profile-area{display:flex;align-items:center;gap:10px}.profile-caption{font-size:11px;color:#8b827b}.profiles{display:flex;gap:5px;padding:4px;background:#e9e4dc;border-radius:24px}.profile{border:0;border-radius:20px;padding:6px 15px;font-size:12px;background:transparent;color:#706963;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile.active{background:#fff;color:#3b6c63;box-shadow:0 2px 5px #443a3410}.icon-button{border:1px solid #ded8ce;background:transparent;width:31px;height:31px;border-radius:50%;color:#756780}main{max-width:1220px;margin:0 auto;padding:43px 48px 70px}.lesson-heading{position:relative;padding:0 0 29px;min-height:152px}.lesson-heading .eyebrow{color:#a56756;letter-spacing:2px}.lesson-heading h1{margin-bottom:14px}.lesson-subtitle{color:#7d746d;max-width:760px;font-size:14px}.lesson-goal{display:inline-flex;gap:9px;align-items:flex-start;background:#e8eee6;padding:9px 14px;border-radius:10px;color:#527061;font-size:12px;margin-top:18px}.lesson-goal b{white-space:nowrap}.tabs{display:flex;gap:9px;border-bottom:1px solid #ded8cf;margin-bottom:28px;overflow-x:auto}.tab{border:0;border-bottom:3px solid transparent;border-radius:10px 10px 0 0;background:transparent;color:#8d8179;white-space:nowrap;padding:12px 15px 13px;font-size:13px}.tab span{font-size:10px;display:inline-block;margin-left:7px;color:#a4978b}.tab.active{border-bottom-color:#746293;color:#54446f;font-weight:800;background:#eee8f1}.player-panel{background:#fff;border:1px solid #e2ded5;border-radius:22px;overflow:hidden;margin-bottom:28px}.player-heading{padding:23px 27px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.player-heading h2{font-size:19px}.player-heading .eyebrow{font-size:9px;margin-bottom:6px}.time-badge{font-family:Consolas,monospace;white-space:nowrap;font-size:11px;background:#f1ece4;border-radius:30px;padding:7px 12px;color:#81736b}.video-wrap{position:relative;background:#15131a;aspect-ratio:16/9}.video-wrap video{width:100%;height:100%;display:block;object-fit:contain}.video-status{position:absolute;left:14px;top:14px;max-width:calc(100% - 28px);background:#252034db;color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;pointer-events:none}.video-status:empty{display:none}.player-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 26px 10px}.button{border:1px solid transparent;border-radius:10px;padding:10px 17px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px}.primary{background:#706092;color:#fff}.primary:hover{background:#5d4c7d}.secondary{background:#f4f1ec;color:#6a5d54;border-color:#e7e0d6}.secondary:hover{background:#eae4dc}.teal{background:#4c8b7e;color:#fff}.toggle{font-size:12px;display:flex;align-items:center;gap:7px;cursor:pointer}.toggle input{accent-color:#736091;width:16px;height:16px}.speed-control{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:11px;color:#85776d}.speed-control select{border:1px solid #e0d8ce;border-radius:8px;padding:7px 8px;background:#fff;font-size:11px;color:#6d6158}.player-tip{padding:4px 26px 18px;color:#99887b;font-size:11px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:30px 0 17px}.section-heading h2{font-size:23px}.section-heading p{font-size:12px;color:#8c7c70;margin-top:6px}.section-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:6px}.panel{background:#fff;border:1px solid #e2ded5;padding:26px;border-radius:18px}.scene-note{background:#efede7;border-radius:13px;padding:17px 20px;font-size:13px;margin-bottom:23px;color:#756b61}.scene-note strong{color:#5e5272;font-weight:800;margin-right:10px}.vocabulary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.word-card{border:1px solid #e2ded5;border-radius:14px;background:#fff;padding:19px 13px;min-height:94px;text-align:center}.word-card strong{font-size:17px;color:#5d5077;display:block;line-height:1.4;overflow-wrap:anywhere}.word-card span{font-size:11px;color:#9b8b7c;display:block;margin-top:7px}.dialogue-stack{display:grid;gap:19px}.dialogue-row{display:flex;align-items:flex-start;gap:13px;max-width:92%}.dialogue-row.right{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.avatar{width:64px;height:64px;flex:none;object-fit:cover;object-position:50% 30%;border-radius:18px;background:#e8deed;border:3px solid #fff;box-shadow:0 2px 8px #40305a12}.dialogue-body{min-width:0}.speaker{font-size:10px;letter-spacing:.5px;font-weight:800;color:#918195;margin-bottom:6px;padding:0 9px}.right .speaker{text-align:right}.bubble{position:relative;background:#eee8f4;border-radius:3px 17px 17px 17px;padding:17px 22px;color:#514466}.right .bubble{background:#e4eee7;color:#386a5b;border-radius:17px 3px 17px 17px}.bubble .english{font-family:"Segoe UI",sans-serif;font-size:20px;font-weight:600;line-height:1.5}.bubble .korean{font-size:12px;color:#8b7b91;margin-top:7px}.right .bubble .korean{color:#6f8d7d}.line-play{font-size:10px;border:0;border-radius:20px;background:#ffffffb3;color:inherit;padding:4px 9px;margin-top:10px}.hidden-text{color:#8b7d93;font-size:13px;font-style:italic}.practice-label{display:inline-block;border-radius:5px;background:#f6e2d8;color:#ac6c53;font-size:10px;padding:3px 7px;vertical-align:middle;margin-left:7px}.note{font-size:11px;color:#9b8c7f}.practice-bottom{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:25px}.check-row{display:flex;gap:9px;align-items:flex-start;font-size:13px}.check-row input{width:17px;height:17px;accent-color:#588a78;margin-top:4px;flex:none}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.challenge-panel{background:#e9eee4;border-color:#dbe3d5}.challenge-panel.write-panel{background:#eee7f2;border-color:#e0d7e6}.challenge-panel .eyebrow{color:#5c806c}.challenge-panel h3{font-size:18px;margin-bottom:13px}.challenge-panel p{font-size:13px;line-height:1.8}.challenge-panel textarea{width:100%;margin-top:17px;min-height:125px;border:1px solid #d7cddd;border-radius:10px;background:#ffffffc9;resize:vertical;padding:13px;font-size:15px;line-height:1.8}.autosave{font-size:10px;margin-top:4px;color:#8f8097;text-align:right}.exercise{padding:23px;background:#fff;border:1px solid #e2ded5;border-radius:16px;margin-bottom:14px}.exercise legend{font-size:15px;font-weight:700;padding:0 5px;color:#51475b}.exercise fieldset{border:0;margin:0;padding:0}.question-number{font-size:10px;color:#a58b70;font-weight:800;letter-spacing:1px;margin-bottom:9px}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}.option{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;border:1px solid #e3ddd4;border-radius:9px;cursor:pointer;font-size:13px;background:#fcfbf8}.option:hover{border-color:#b1a2c3}.option:has(input:checked){background:#ede6f4;border-color:#9480b0}.option input{accent-color:#75618c;margin-top:4px}.feedback{margin-top:13px;padding:10px 13px;border-radius:9px;font-size:12px;background:#f8e8dc;color:#a16a43}.feedback.correct{background:#e5eee5;color:#4d7f60}.feedback:empty{display:none}.exercise-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:19px}.score{margin-left:auto;font-size:13px;font-weight:700;color:#5b7c63}.token-bank,.answer-bank{display:flex;flex-wrap:wrap;gap:8px;min-height:50px;padding:13px;border-radius:11px}.token-bank{background:#f6f2eb}.answer-bank{border:1px dashed #c3b7ce;margin:14px 0 10px;background:#fbf9fd}.answer-bank:empty::before{content:"아래 낱말을 눌러 문장을 만들어요";font-size:12px;color:#b5a9bf;align-self:center}.token{background:white;border:1px solid #ded5e4;border-radius:8px;padding:8px 13px;font:600 15px "Segoe UI",sans-serif;color:#665274;box-shadow:0 2px 0 #e0d8e7}.token:hover{background:#eee7f6}.token:disabled{visibility:hidden}.answer-bank .token{background:#e9e2f0;box-shadow:none}.completion{margin-top:26px;padding:24px 26px;background:#ece6d6;border-radius:17px;display:flex;gap:25px;justify-content:space-between;align-items:center}.completion h3{font-size:18px;margin-bottom:5px;color:#6f654c}.completion p{font-size:12px;color:#8d7b5d}.completion.done{background:#deede2}.completion.done h3,.completion.done p{color:#4b7d60}.completion .button{white-space:nowrap}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.character-card{background:#fff;border:1px solid #e3ded5;border-radius:18px;overflow:hidden}.character-image{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 35%;display:block;background:#eee7f3}.character-copy{padding:19px}.character-copy h3{font-size:19px}.character-ko{font-size:11px;color:#948579;margin-top:3px}.character-trait{display:inline-block;background:#e9eee4;color:#6d8464;padding:3px 9px;border-radius:6px;font-size:10px;margin:12px 0 10px}.character-copy p{font-size:12px;line-height:1.75;color:#817366}.song-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:27px}.song-select{text-align:left;border:1px solid #ddd3e7;border-radius:14px;background:#fff;padding:16px 18px;display:flex;gap:13px;align-items:center}.song-select.active{background:#e8dfef;border-color:#a692b7}.song-select .song-icon{color:#ae7d58;font-size:26px}.song-select strong{display:block;font-size:14px;color:#62516f}.song-select small{font-size:10px;color:#9d879e}.song-part{margin-bottom:17px;border:1px solid #e2d9e7;border-radius:16px;overflow:hidden;background:#fff}.song-part.active{border-color:#a28bb5;box-shadow:0 0 0 2px #b4a0c022}.part-heading{padding:18px 20px;display:flex;gap:13px;align-items:center;background:#f2edf6}.singer-stack{display:flex;flex:none}.singer-stack .avatar{width:42px;height:42px;border-radius:12px;border-width:2px;margin-left:-6px;box-shadow:none}.singer-stack .avatar:first-child{margin-left:0}.part-title{flex:1;min-width:0}.part-title h3{font-size:15px}.part-title small{font-size:10px;color:#9b85a1}.part-heading .button{padding:8px 12px;font-size:11px}.song-part details>summary{font-size:12px;padding:13px 21px;color:#8e7699;cursor:pointer;background:#fcfafc}.lyrics{padding:3px 23px 21px}.lyric{padding:11px 0;border-bottom:1px solid #eee9f1}.lyric:last-child{border:0}.lyric .english{font-family:"Segoe UI",sans-serif;font-size:19px;font-weight:600;color:#64516e}.lyric .korean{font-size:11px;color:#a08ca3;margin-top:4px}.song-blank{padding:16px 0;border-bottom:1px solid #eee7dd}.song-blank:last-child{border:0}.song-blank p{font-size:18px;font-family:"Segoe UI",sans-serif;color:#60516e;margin-bottom:9px}.song-blank select{padding:8px 12px;border:1px solid #dcd1e4;border-radius:8px;font-size:13px;background:#faf7fc;color:#695174}.mission{background:#f4e4d4;border:1px solid #ead6bf;border-radius:15px;padding:22px;margin-top:22px}.mission .eyebrow{color:#b3895b}.mission p{font-size:14px;color:#8f6e4b}.art-selectors{display:flex;gap:10px;margin-bottom:17px;flex-wrap:wrap}.art-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px;padding:17px;background:#f0eaf3;border-radius:13px}.art-tools label{font-size:12px;color:#86718f;display:flex;align-items:center;gap:8px}.art-tools input[type=color]{width:40px;height:35px;padding:3px;background:#fff;border:1px solid #cdbed6;border-radius:7px;cursor:pointer}.art-tools input[type=range]{width:90px;accent-color:#7a628f}.swatch{height:25px;width:25px;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #ddd;cursor:pointer}.art-canvas-wrap{position:relative;width:min(100%,680px);margin:0 auto;box-shadow:0 3px 25px #4531490d;background:white;line-height:0;border-radius:7px;overflow:hidden}.art-canvas-wrap img{width:100%;display:block;height:auto}.art-canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;mix-blend-mode:multiply;cursor:crosshair}.art-tools .selected{background:#5b8779;color:white}.art-caption{text-align:center;font-size:11px;color:#a18c78;margin-top:14px}.empty-state{padding:28px;background:#fff;border:1px solid #e4ddd3;border-radius:15px;font-size:13px;color:#8c7768}.loading{padding:60px;text-align:center;color:#8b7795}.error-state{padding:30px;background:#fff0e5;color:#8c6248;border-radius:16px}.error-state p{margin-top:13px;font-size:13px}.error-state code{font-size:12px}footer{display:flex;justify-content:space-between;padding:25px 48px;border-top:1px solid #e4ddd3;font-size:10px;color:#b2a293}dialog{border:1px solid #ddd1e6;border-radius:19px;padding:31px;width:min(420px,calc(100% - 35px));box-shadow:0 20px 80px #2e1d3b22;background:#faf7fc;color:#5a456b}dialog::backdrop{background:#2c213957}dialog h2{font-size:21px;margin-bottom:22px}dialog label{display:block;font-size:12px;margin-bottom:6px}dialog input{width:100%;border:1px solid #d8cbe1;border-radius:9px;padding:10px 13px;background:white}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);opacity:0;transition:.2s;pointer-events:none;background:#4c3c5f;color:white;padding:12px 23px;border-radius:12px;font-size:13px;z-index:1000;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.skip-link{position:fixed;top:-60px;left:20px;background:#fff;z-index:999;padding:10px 17px;border-radius:8px}.skip-link:focus{top:10px}[hidden]{display:none!important}.is-hidden-en .english{display:none}.is-hidden-ko .korean{display:none}.is-hidden-en .hidden-text{display:block}.hidden-text{display:none}.practice-notice{font-size:11px;padding:12px 16px;background:#f5ebdf;color:#ad8661;border-radius:10px;margin-bottom:20px}.print-note{font-size:12px;color:#96806b;margin-bottom:20px}
.focus-card{position:relative;background:#eee8f3;border:1px solid #e0d6e9;border-radius:20px;padding:29px 30px;margin:31px 0;overflow:hidden}.focus-header{display:flex;justify-content:space-between;align-items:center}.focus-header .eyebrow{color:#9882ad}.focus-stamp{font:italic 25px Georgia,serif;color:#aa92ba;position:absolute;right:28px;top:25px}.focus-card h3{font-size:19px;color:#655077;margin-bottom:23px}.focus-sentence{font:600 26px/1.45 "Segoe UI",sans-serif;color:#5d436f;max-width:90%}.focus-meaning{font-size:12px;color:#9d86aa;margin-top:7px}.sentence-chunks{display:flex;flex-wrap:wrap;align-items:stretch;gap:9px;margin:23px 0}.sentence-chunk{display:flex;flex-direction:column;padding:11px 16px;border-radius:10px;gap:5px;min-width:90px}.sentence-chunk strong{font:700 18px/1.5 "Segoe UI",sans-serif}.sentence-chunk span{font-size:10px;opacity:.75}.chunk-0{background:#e1d5ee;color:#735c8a}.chunk-1{background:#d7e7df;color:#527966}.chunk-2{background:#f0dcd1;color:#a57c63}.chunk-3{background:#e2e4c9;color:#7f8356}.focus-tip{font-size:13px;line-height:1.95;color:#80698f;max-width:700px}.focus-swap{margin-top:23px;padding-top:20px;border-top:1px solid #dcd1e5}.focus-swap .eyebrow{font-size:9px;margin-bottom:5px}.focus-swap .note{color:#a48cae;font-size:11px}.swap-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.swap-chip{padding:9px 13px;border:1px solid #d9cbe4;border-radius:9px;background:#ffffff9e;color:#866599;font-size:12px;text-align:left;line-height:1.5}.swap-chip:hover,.swap-chip.selected{background:#dcd0e7;border-color:#ab91be;color:#674a7a}.focus-example{padding:16px 19px;border-radius:10px;background:#fff8eb;margin-top:15px;color:#9d7850}.focus-example strong{display:block;font:600 19px/1.5 "Segoe UI",sans-serif}.focus-example span{display:block;font-size:11px;margin-top:5px}.character-copy .character-meaning{font-size:11px;color:#ac9a8b;margin-top:10px}.character-role{border-top:1px solid #f0e9e1;margin-top:13px;padding-top:10px;font-size:8px;letter-spacing:1px;color:#bca991}.character-role b{font-size:10px;letter-spacing:0;font-weight:600;color:#a88b65;margin-left:6px}
.studio-photo{width:100%;height:103px;object-fit:cover;display:block;border-radius:12px;margin-top:21px;filter:saturate(.8)}.listen-coach{display:flex;gap:17px;align-items:flex-start;border:1px solid #e4dbc7;background:#f2ecdd;border-radius:17px;padding:23px;margin-top:25px}.listen-coach>.avatar{width:55px;height:55px;transform:rotate(-4deg)}.coach-copy{min-width:0;flex:1}.coach-copy .eyebrow{color:#b1915d;font-size:9px}.coach-copy h3{font-size:18px;color:#8c7551;margin-bottom:10px}.coach-copy>p{font-size:13px;color:#a38b64;line-height:1.8}.coach-copy details{margin-top:15px;font-size:11px;color:#af9468}.coach-copy summary{cursor:pointer}.coach-answer{margin-top:11px;padding:14px 16px;background:#fffaf0;border-radius:9px;color:#927341;font-size:12px;line-height:1.8}.song-notes{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:23px 0}.song-note-card{background:#f1ece3;border-color:#e4dbcd;padding:23px}.song-note-card:nth-child(2){background:#e7eee7;border-color:#d6e2d7}.song-note-card .eyebrow{font-size:9px;color:#9d8669}.song-note-card h3{font-size:17px;color:#87715c;margin-bottom:12px}.song-note-card p{font-size:12px;line-height:1.9;color:#9d8976}.song-note-card:nth-child(2) .eyebrow,.song-note-card:nth-child(2) h3{color:#69866c}.song-note-card:nth-child(2) p{color:#869e88}.create-song{padding:25px;background:#e9e2f0;border-radius:16px;margin-top:18px}.create-song h3{font-size:18px;color:#77638b;margin-bottom:12px}.create-song p{font-size:13px;line-height:1.8;color:#927ba5}.with-singer{display:flex;gap:15px;align-items:center}.lyric-singer{width:83px;flex:none;display:flex;align-items:center;flex-direction:column;gap:4px}.lyric-singer .avatar{width:37px;height:37px;border-radius:10px;border:2px solid #fff}.lyric-singer span{font-size:8px;line-height:1.4;color:#aa94b1;text-align:center}.lyric-text{min-width:0;flex:1}.reset-row{text-align:right;margin-top:9px}.text-button{font-size:10px;color:#a99889;background:none;border:0;padding:5px;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:#7f6593}
@media(min-width:1450px){main{padding-left:65px;padding-right:65px}.sidebar{padding-left:28px;padding-right:28px}.app-shell{grid-template-columns:290px minmax(0,1fr)}}
@media(max-width:1100px){.app-shell{grid-template-columns:225px minmax(0,1fr)}.sidebar{padding:27px 17px}.brand{font-size:15px}.brand-mark{width:38px;font-size:28px}.brand small{font-size:8px}.topbar{padding:0 27px}.studio-label{display:none}.profile-area{margin-left:auto}main{padding:33px 27px 55px}.vocabulary{grid-template-columns:repeat(3,minmax(0,1fr))}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tab{padding-left:11px;padding-right:11px}.tab span{display:none}.speed-control{margin-left:0}.topbar{height:72px}.two-column{grid-template-columns:1fr}.bubble .english{font-size:18px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;top:auto;height:auto;border-right:0;padding:18px 20px;border-bottom:1px solid #dcd2e3}.brand{font-size:16px;display:inline-flex}.brand-mark{height:40px;line-height:40px;width:37px;border-radius:11px}.brand-mark span{top:9px}.brand small{margin-top:4px}.sidebar-intro,.paper-links,.local-note{display:none}.progress-summary{position:absolute;right:20px;top:20px;width:134px;padding:9px 12px;margin:0;border-radius:10px}.progress-label{font-size:10px}.progress-label span{max-width:77px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-track{height:5px;margin-top:5px}#lesson-nav{display:flex;overflow:auto;gap:8px;margin-top:17px;padding-bottom:3px}.lesson-link{flex:none;width:119px;padding:8px;gap:7px}.lesson-link strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:74px}.lesson-link small{display:none}.lesson-number{width:25px;height:25px;font-size:10px;border-radius:8px}.topbar{height:64px;padding:0 20px}.profile-caption{font-size:10px}.profile{padding:5px 12px;font-size:11px}.profile-area{width:100%;justify-content:flex-end}main{padding:28px 20px 45px}.lesson-heading{padding-bottom:22px;min-height:0}h1{font-size:32px;letter-spacing:-1px}.lesson-subtitle{font-size:12px}.lesson-goal{font-size:11px;line-height:1.7}.tabs{gap:0;margin-bottom:20px}.tab{font-size:11px;padding:10px 12px}.player-panel{border-radius:16px}.player-heading{padding:16px 18px}.player-heading h2{font-size:16px}.time-badge{font-size:10px;padding:6px 9px}.player-controls{padding:15px 16px 7px;gap:9px}.button{padding:9px 12px;font-size:11px}.toggle{font-size:10px}.speed-control{font-size:10px;gap:5px}.speed-control select{font-size:10px}.player-tip{padding:6px 16px 14px;font-size:10px}.section-heading{margin-top:24px;display:block}.section-heading h2{font-size:21px}.section-actions{margin-top:8px}.vocabulary{grid-template-columns:repeat(2,minmax(0,1fr))}.word-card{padding:13px;min-height:75px}.word-card strong{font-size:16px}.word-card:last-child:nth-child(odd){grid-column:1/-1}.avatar{width:46px;height:46px;border-radius:13px;border-width:2px}.dialogue-row{max-width:100%;gap:9px}.bubble{padding:13px 15px;border-radius:3px 13px 13px 13px}.bubble .english{font-size:17px}.bubble .korean{font-size:10px}.speaker{font-size:9px}.panel{padding:20px}.scene-note{font-size:12px;padding:14px 16px}.practice-notice{font-size:10px}.exercise{padding:18px}.exercise legend{font-size:14px}.options{grid-template-columns:1fr}.option{font-size:12px}.completion{display:block;padding:20px}.completion .button{margin-top:16px}.character-grid{gap:12px}.character-copy{padding:13px}.character-copy h3{font-size:15px}.character-copy p{font-size:11px}.character-ko{font-size:10px}.character-trait{font-size:9px;margin:9px 0}.song-list{gap:9px}.song-select{padding:12px;gap:9px}.song-select strong{font-size:12px}.song-select .song-icon{font-size:22px}.song-select small{font-size:9px}.part-heading{padding:13px;gap:9px;flex-wrap:wrap}.part-title h3{font-size:14px}.part-heading .button{margin-left:auto}.singer-stack .avatar{width:33px;height:33px;border-radius:9px}.lyrics{padding:0 17px 16px}.lyric .english{font-size:17px}.lyric .korean{font-size:10px}.art-tools{padding:13px;gap:9px}.art-tools label{font-size:10px}.art-tools input[type=range]{width:70px}.art-caption{font-size:10px}footer{padding:22px 20px;font-size:9px;gap:15px}.score{font-size:12px}.token{font-size:14px;padding:8px 11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:430px){.progress-summary{position:static;width:100%;margin:15px 0 0;padding:10px 13px}.progress-label span{max-width:none}#lesson-nav{margin-top:11px}.sidebar{padding:17px 18px}.profile-caption{display:none}.profile-area{justify-content:space-between}.profile{max-width:110px}.topbar{padding:0 18px;height:59px}main{padding:24px 18px 40px}.player-heading{align-items:flex-start;gap:10px}.player-heading h2{font-size:14px}.time-badge{font-size:9px;padding:5px 7px}.character-grid{grid-template-columns:1fr 1fr;gap:9px}.character-copy h3{font-size:13px}.character-copy{padding:11px}.character-copy p{font-size:10px}.character-copy .character-meaning{font-size:10px}.character-trait{font-size:8px}.song-list{grid-template-columns:1fr}.singer-stack .avatar{width:29px;height:29px}.part-title h3{font-size:13px}.part-heading{gap:7px}.part-title small{font-size:9px}.completion h3{font-size:16px}.focus-card{padding:20px 17px}.listen-coach{padding:15px;gap:10px}.listen-coach>.avatar{width:34px;height:34px}.coach-copy h3{font-size:14px}.coach-copy>p{font-size:11px}}
@media(max-width:760px){.focus-card{padding:23px 20px;border-radius:16px}.focus-card h3{font-size:18px;margin-bottom:19px}.focus-sentence{font-size:23px;max-width:100%}.focus-stamp{right:20px;top:21px;font-size:22px}.sentence-chunks{gap:7px;margin:18px 0}.sentence-chunk{padding:9px 13px;min-width:75px}.sentence-chunk strong{font-size:16px}.sentence-chunk span{font-size:9px}.focus-tip{font-size:12px}.focus-example strong{font-size:17px}.swap-chip{font-size:11px}.listen-coach{padding:18px;gap:12px}.listen-coach>.avatar{width:40px;height:40px}.coach-copy h3{font-size:16px}.coach-copy>p{font-size:12px}.coach-copy details{font-size:10px}.song-notes{grid-template-columns:1fr;gap:12px}.song-note-card{padding:20px}.with-singer{gap:10px}.lyric-singer{width:51px}.lyric-singer span{font-size:7px}.lyric-singer .avatar{width:32px;height:32px}.with-singer .english{font-size:16px}}
button,select{min-height:44px}.icon-button{width:44px;min-width:44px;height:44px}.swatch{width:44px;min-width:44px;height:44px}.toggle,.check-row,.paper-links a{min-height:44px;align-items:center}.option{min-height:48px}.toggle input,.check-row input,.option input{width:20px;height:20px;flex:none}.check-row input{margin-top:0}.line-play{padding:8px 13px}.text-button{min-height:44px}.song-part details>summary,.coach-copy summary{min-height:44px;padding-top:11px;padding-bottom:11px}.art-tools input[type=color]{width:44px;height:44px}.art-tools input[type=range]{min-height:44px}.start-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:11px;color:#7f6b93;text-decoration:none;white-space:nowrap;padding:7px 10px;border-radius:9px;background:#eee7f1}.start-link:hover{background:#e4d9ec}.topbar .studio-label{min-width:0}.topbar{gap:14px}.profile-area{min-width:0;flex:none}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.art-canvas-wrap{touch-action:pan-y}.art-canvas-wrap canvas{touch-action:none}.video-wrap{position:relative}.video-wrap video{touch-action:manipulation}.local-note{line-height:1.8}.autosave{line-height:1.6}.part-heading{flex-wrap:wrap}.lyric-text{overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:900px){.app-shell{display:block}.sidebar{position:relative;top:auto;height:auto;padding:22px 28px;border-right:0;border-bottom:1px solid #dcd2e3}.brand{display:inline-flex}.sidebar-intro,.paper-links,.local-note{display:none}.progress-summary{position:absolute;top:22px;right:28px;width:210px;padding:11px 16px;margin:0}.progress-label{font-size:11px}.progress-track{margin-top:7px}#lesson-nav{display:flex;gap:9px;overflow:auto;padding:16px 0 1px;margin-top:7px}.lesson-link{flex:none;width:156px;gap:10px;padding:9px}.lesson-link strong{font-size:11px}.lesson-link small{display:none}.lesson-number{width:29px;height:29px}.topbar{height:75px;padding:0 32px}.topbar .profile-area{margin-left:auto}main{padding:31px 32px 55px}.vocabulary{grid-template-columns:repeat(5,minmax(0,1fr))}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.character-copy h3{font-size:16px}.character-copy{padding:16px}.tabs{gap:6px}.tab{padding:12px 16px}.tab span{display:none}.bubble .english{font-size:20px}}
@media(min-width:901px) and (max-width:1180px) and (orientation:landscape){.video-wrap{height:48vh;max-height:410px;aspect-ratio:auto}.sidebar-intro{margin-top:29px}.studio-photo{height:83px}.sidebar{padding-top:24px}.lesson-link{padding-top:9px;padding-bottom:9px}}
@media(max-width:760px){.topbar{height:auto;min-height:72px;gap:10px;padding-top:9px;padding-bottom:9px}.profile-area{width:auto;flex:1;gap:7px}.profile-caption{display:none}.profile{padding:6px 12px}.start-link{font-size:10px;padding:7px 9px}.lesson-link{min-height:48px}.button{font-size:12px}.line-play{font-size:11px}.song-part details>summary{font-size:12px}.speed-control select{font-size:12px}.art-tools label{font-size:12px}.art-tools input[type=range]{width:90px}.option{font-size:14px}.toggle,.check-row{font-size:12px}.token{font-size:16px}}
@media(max-width:430px){.topbar{flex-wrap:wrap;padding-top:8px;padding-bottom:8px;gap:5px}.start-link{margin-left:auto;min-height:36px}.profile-area{width:100%;flex-basis:100%;justify-content:flex-end}.profiles{margin-right:auto}.profile{max-width:104px}.start-link{font-size:10px}.art-tools{gap:8px}.swatch{width:40px;min-width:44px}.player-controls{gap:8px}}
@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select{font-size:16px!important}.profile{font-size:13px}.button,.tab{font-size:14px}.word-card strong{font-size:19px}.bubble .english{font-size:21px}.bubble .korean{font-size:13px}.lyric .english{font-size:20px}.lyric .korean{font-size:13px}.option{font-size:15px}.character-copy p{font-size:13px}.character-copy .character-meaning{font-size:12px}.quiz legend{font-size:16px}}
@media print{.sidebar,.topbar,.tabs,.player-panel,footer,.button,.exercise-actions,.art-tools{display:none!important}.app-shell{display:block}main{padding:0}.panel,.exercise,.character-card,.song-part{break-inside:avoid}.lesson-heading{padding-bottom:15px}.character-grid{grid-template-columns:repeat(3,1fr)}body{background:white}.art-canvas-wrap{max-width:100%}}

.footer-links{display:flex;flex-wrap:wrap;gap:13px}.footer-links a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none;color:#90789d;font-size:11px}footer{align-items:center;flex-wrap:wrap}
.study-workspace{min-width:0}.study-workspace>#stage{min-width:0}.earned-reward{display:flex;align-items:center;gap:18px;margin-top:27px;padding:25px;border:1px solid #d4dfc8;background:linear-gradient(115deg,#e4efdf,#f7ecd8);border-radius:20px}.earned-reward>.avatar{width:77px;height:77px;border-radius:22px;transform:rotate(-5deg);border-width:4px}.earned-reward .eyebrow{font-size:9px;color:#9b975b;letter-spacing:1.8px}.earned-reward h3{font:700 25px/1.3 "Segoe UI",sans-serif;color:#66835e}.earned-reward p{font-size:12px;color:#8e9a70;margin:7px 0 10px}.reward-proof{font-size:10px;font-weight:700;color:#7f946b;letter-spacing:.4px}
@media(min-width:900px) and (orientation:landscape){.app-shell{display:block}.sidebar{position:relative;top:auto;height:auto;display:grid;grid-template-columns:190px minmax(0,1fr) 130px;align-items:center;gap:15px;padding:15px 28px;border-right:0;border-bottom:1px solid #ded5e6;overflow:visible}.brand{font-size:14px;grid-column:1;grid-row:1;gap:10px}.brand-mark{height:42px;width:35px;line-height:42px;font-size:27px;border-radius:12px}.brand-mark span{top:10px;left:21px}.brand small{font-size:7px;letter-spacing:1.7px;margin-top:4px}.sidebar-intro,.paper-links,.local-note{display:none}.progress-summary{position:static;grid-column:3;grid-row:1;margin:0;padding:10px 12px;width:auto;border-radius:10px}.progress-label{font-size:10px;gap:5px}.progress-label span{max-width:73px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-track{height:5px;margin-top:7px}#lesson-nav{display:flex;grid-column:2;grid-row:1;gap:6px;overflow-x:auto;margin:0;padding:0 0 4px;scrollbar-width:thin}.lesson-link{flex:none;width:130px;gap:8px;padding:8px;margin:0;min-height:48px}.lesson-link strong{font-size:10px;max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-link small{display:none}.lesson-number{height:28px;width:28px;font-size:11px;border-radius:9px}.topbar{height:65px;min-height:65px;padding:0 28px;gap:15px}.topbar .profile-area{width:auto;flex:none;margin-left:auto}.profile-caption{display:block;font-size:10px}.start-link{margin-left:auto}.topbar .studio-label{font-size:8px;letter-spacing:1px}.profile{font-size:12px;padding:6px 14px}main{max-width:1600px;padding:24px 28px 50px}.lesson-heading{display:grid;grid-template-columns:1fr minmax(280px,.8fr);column-gap:25px;min-height:0;padding:0 0 20px}.lesson-heading>.eyebrow{grid-column:1;grid-row:1;font-size:9px;margin-bottom:7px}.lesson-heading h1{grid-column:1;grid-row:2;font-size:32px;letter-spacing:-1.1px;margin-bottom:7px}.lesson-subtitle{grid-column:1;grid-row:3;font-size:12px}.lesson-goal{grid-column:2;grid-row:1/4;align-self:center;margin:0;font-size:12px;line-height:1.8;padding:12px 15px}.tabs{margin-bottom:23px;gap:6px}.tab{font-size:13px;padding:11px 16px}.tab span{display:inline-block;font-size:10px}.study-workspace.with-player{display:grid;grid-template-columns:minmax(350px,.94fr) minmax(400px,1.06fr);gap:28px;align-items:start}.study-workspace.without-player{display:block}.with-player>#player-panel{position:sticky;top:20px;align-self:start;margin-bottom:0;border-radius:18px}.with-player .video-wrap{aspect-ratio:16/9;height:auto;max-height:52vh}.with-player .player-heading{padding:18px 19px;gap:10px;align-items:flex-start}.with-player .player-heading h2{font-size:15px;line-height:1.6}.with-player .player-heading .eyebrow{font-size:8px}.with-player .time-badge{font-size:10px;padding:6px 8px}.with-player .player-controls{padding:17px 18px 9px;gap:10px}.with-player .player-controls .button{font-size:12px;padding:9px 13px}.with-player .player-tip{font-size:11px;line-height:1.9;padding:3px 19px 18px}.with-player .speed-control{margin-left:0}.with-player .scene-note{font-size:13px;line-height:1.85;padding:17px 19px;margin-bottom:20px}.with-player .section-heading{margin-top:25px;display:block}.with-player .section-heading:first-child{margin-top:0}.with-player .section-heading h2{font-size:23px}.with-player .section-heading p{font-size:12px;line-height:1.8}.with-player .section-actions{margin-top:11px}.with-player .vocabulary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.with-player .word-card{padding:16px 10px;min-height:83px}.with-player .word-card strong{font-size:19px}.with-player .word-card span{font-size:12px}.with-player .dialogue-stack{gap:24px}.with-player .dialogue-row{max-width:100%;gap:13px}.with-player .dialogue-row>.avatar{width:62px;height:62px;min-width:62px;border-radius:17px;border-width:3px}.with-player .bubble{padding:17px 19px}.with-player .bubble .english{font-size:20px;line-height:1.6}.with-player .bubble .korean{font-size:13px;line-height:1.8;margin-top:8px}.with-player .speaker{font-size:11px}.with-player .line-play{font-size:11px}.with-player .focus-card{padding:25px 23px}.with-player .focus-sentence{font-size:27px;max-width:100%}.with-player .focus-tip{font-size:14px;line-height:1.9}.with-player .sentence-chunk strong{font-size:19px}.with-player .focus-meaning{font-size:13px}.with-player .listen-coach{padding:21px;gap:13px}.with-player .listen-coach>.avatar{width:55px;height:55px}.with-player .coach-copy h3{font-size:17px}.with-player .coach-copy>p{font-size:14px;line-height:1.8}.with-player .song-list{grid-template-columns:1fr 1fr;gap:10px}.with-player .song-select{padding:15px 13px;gap:10px}.with-player .song-select strong{font-size:13px}.with-player .part-heading{padding:16px;gap:10px}.with-player .part-title{min-width:120px}.with-player .lyrics{padding:3px 19px 20px}.with-player .lyric .english{font-size:21px;line-height:1.6}.with-player .lyric .korean{font-size:13px;line-height:1.8}.with-player .lyric-singer{width:65px}.with-player .lyric-singer .avatar{width:49px;height:49px}.with-player .lyric-singer span{font-size:9px}.with-player .song-notes{grid-template-columns:1fr;gap:13px}.with-player .song-note-card p,.with-player .mission p,.with-player .create-song p{font-size:14px;line-height:1.9}.with-player .completion{display:block;padding:22px}.with-player .completion .button{margin-top:15px}.with-player .earned-reward{padding:21px;gap:14px}.with-player .earned-reward>.avatar{width:64px;height:64px}.with-player .earned-reward h3{font-size:24px}.without-player .two-column{grid-template-columns:1fr 1fr}.without-player .character-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.without-player .exercise{padding:25px}.without-player .exercise legend{font-size:18px}.without-player .options{grid-template-columns:repeat(2,minmax(0,1fr))}.without-player .option{font-size:17px}.without-player .token{font-size:19px}.without-player .challenge-panel p{font-size:16px;line-height:1.9}.without-player .challenge-panel textarea{font-size:19px;min-height:160px}footer{padding:20px 28px}}
@media(min-width:900px) and (max-width:1100px) and (orientation:landscape){.sidebar{grid-template-columns:169px minmax(0,1fr) 117px;gap:10px;padding-left:22px;padding-right:22px}.brand{font-size:13px}.brand small{font-size:6px}.progress-summary{padding:9px}.lesson-link{width:119px}.lesson-link strong{max-width:77px}.topbar{padding-left:22px;padding-right:22px}main{padding-left:22px;padding-right:22px}.study-workspace.with-player{grid-template-columns:minmax(340px,.9fr) minmax(400px,1.1fr);gap:22px}.tab span{display:none}.with-player .player-controls{gap:9px}.with-player .player-heading{flex-wrap:wrap}.with-player .time-badge{margin-left:auto}.with-player .player-heading h2{font-size:14px}.without-player .character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.with-player .song-list{grid-template-columns:1fr}.lesson-heading h1{font-size:29px}.lesson-goal{font-size:11px}.with-player .bubble .english{font-size:20px}}
/* Two children, one friendly entrance; profiles keep their existing record keys. */
#welcome-dialog{width:min(670px,calc(100vw - 36px));max-width:none;border:0;border-radius:32px;padding:42px;text-align:center;background:linear-gradient(130deg,#fff8ef,#f6edff);box-shadow:0 25px 100px #32204755;color:#644d7c}#welcome-dialog::backdrop{background:#241438bd;backdrop-filter:blur(8px)}#welcome-dialog h2{font-size:30px;margin:14px 0}#welcome-dialog p{font-size:16px;line-height:1.6;color:#897594}#welcome-dialog>small{display:block;font-size:12px;color:#93829d;margin-top:24px}.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}.welcome-choices button{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:260px;border:2px solid #d4bee6;border-radius:24px;background:#fff;padding:25px;color:#775095;box-shadow:0 7px 0 #e5d7ef;cursor:pointer;touch-action:manipulation}.welcome-choices button:last-child{border-color:#ecc3ab;color:#a5644d;box-shadow:0 7px 0 #f1dfcf}.welcome-choices img{width:130px;height:130px;border-radius:50%;object-fit:cover}.welcome-choices strong{font-size:30px}.welcome-choices span{font-size:13px;color:#92809b}.welcome-choices button:focus-visible{outline:4px solid #7563b9;outline-offset:5px}.welcome-choices button:active{transform:translateY(4px)}.word-plus>small{font-size:10px;color:#9c87aa;line-height:1.6}.word-plus>p{font-size:15px;line-height:1.65;color:#735f83;margin:14px 0 5px}.story-plus{padding:27px 29px;margin:17px 0 25px;background:linear-gradient(120deg,#f1eafb,#fff6e9);border:1px solid #e3d5ea;border-radius:23px}.story-plus>div{display:flex;align-items:center;gap:14px}.story-plus .avatar{width:56px;height:56px;border-radius:17px}.story-plus h2{margin:16px 0;color:#745389;font-size:24px}.story-plus p[lang=en]{font-size:20px;line-height:1.7;color:#625071}.story-plus .story-plus-ko{font-size:13px;line-height:1.9;color:#93809b;margin-top:12px}.story-plus details{border-top:1px solid #dfd1e6;margin-top:20px;padding-top:17px}.story-plus summary{cursor:pointer;min-height:35px;font-size:14px;color:#856397}.story-plus details p{margin:12px 0;font-size:13px;line-height:1.75;color:#8c7898}@media(max-width:600px){#welcome-dialog{padding:27px 20px}#welcome-dialog h2{font-size:25px}.welcome-choices{gap:14px}.welcome-choices button{min-height:220px;padding:22px 10px}.welcome-choices img{width:100px;height:100px}.welcome-choices strong{font-size:26px}.story-plus{padding:22px}.story-plus p[lang=en]{font-size:18px}}

/* Print first; the online review is a compact sequence, not a long worksheet. */
body.practice-focused .sidebar,body.practice-focused #lesson-heading{display:none}body.practice-focused .app-shell{display:block}body.practice-focused main{padding:12px 24px}body.practice-focused .topbar{padding:10px 24px;min-height:56px}body.practice-focused .course-bar{margin:0 0 10px;padding:9px 12px}body.practice-focused .tabs{margin:8px 0 13px}body.practice-focused .study-workspace.with-player{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.35fr);gap:22px;align-items:start}body.practice-focused .player-panel{position:sticky;top:12px}body.practice-focused .chapter-controls{display:none}body.practice-focused .player-tip{font-size:11px}body.practice-focused .lesson-plus{max-width:1000px;margin:auto}
@media(max-width:850px),(orientation:portrait){body.practice-focused .study-workspace.with-player{grid-template-columns:1fr}body.practice-focused .player-panel{position:static}body.practice-focused main{padding:12px 16px}body.practice-focused .course-bar{flex-wrap:wrap}}
@media(min-width:900px) and (orientation:landscape){body.practice-focused{overflow:hidden}body.practice-focused .main-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}body.practice-focused .topbar{min-height:42px;padding:5px 20px;flex:none}body.practice-focused .topbar .studio-label,body.practice-focused .topbar .start-link{display:none}body.practice-focused .topbar .profile-area{margin-left:auto}body.practice-focused main{display:flex;flex-direction:column;min-height:0;flex:1;padding:4px 18px 10px}body.practice-focused .course-bar{min-height:40px;margin:0 0 5px;padding:5px 10px;flex:none}body.practice-focused .course-bar button{font-size:11px;min-height:34px;padding:7px 12px}body.practice-focused .tabs{margin:3px 0 8px;flex:none}body.practice-focused .tabs .tab{padding:9px 13px}body.practice-focused .study-workspace{flex:1;min-height:0}body.practice-focused #stage,body.practice-focused #lesson-plus{height:100%;min-height:0}body.practice-focused .main-shell>footer{display:none}body.practice-focused .lp-wizard{height:100%;display:flex;flex-direction:column;gap:5px}body.practice-focused .lp-review-label{margin:0;font-size:11px;flex:none}body.practice-focused .lp-stage-nav{flex:none;margin:0 0 3px}body.practice-focused .lp-question-card{display:flex;flex-direction:column;flex:1;min-height:0}body.practice-focused .lp-current-question{flex:1;min-height:0;overflow:auto}body.practice-focused .lp-navigation{flex:none}body.practice-focused .lp-save-note{margin:0;font-size:9px;flex:none}}

.print-first-link{white-space:nowrap;color:#856199;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:9px 3px}body.practice-focused .with-player .lp-watch{display:none}body.practice-focused .lp-feedback:empty{display:none;min-height:0;margin:0}
body.learn-focused .sidebar,body.learn-focused #lesson-heading{display:none}body.learn-focused .app-shell{display:block}body.learn-focused .study-workspace.with-player{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.25fr);gap:22px;align-items:start}body.learn-focused main{padding:12px 22px}body.learn-focused .topbar{min-height:42px;padding:5px 20px}body.learn-focused .topbar .studio-label,body.learn-focused .topbar .start-link{display:none}body.learn-focused .topbar .profile-area{margin-left:auto}body.learn-focused .course-bar{margin:0 0 6px;padding:5px 10px;min-height:40px}body.learn-focused .course-bar button{font-size:11px;min-height:34px;padding:7px 12px}body.learn-focused .tabs{margin:3px 0 8px}body.learn-focused .tabs .tab{padding:9px 13px}body.learn-focused .chapter-controls{display:none}
@media(min-width:900px) and (orientation:landscape){body.learn-focused{overflow:hidden}body.learn-focused .main-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}body.learn-focused main{display:flex;flex-direction:column;min-height:0;flex:1;padding:4px 18px 10px}body.learn-focused .topbar,body.learn-focused .course-bar,body.learn-focused .tabs{flex:none}body.learn-focused .study-workspace{flex:1;min-height:0}body.learn-focused #stage,body.learn-focused #learn-studio{height:100%;min-height:0}body.learn-focused .main-shell>footer{display:none}body.learn-focused .player-panel{position:sticky;top:10px}}
@media(max-width:850px),(orientation:portrait){body.learn-focused .study-workspace.with-player{grid-template-columns:1fr}body.learn-focused .course-bar{flex-wrap:wrap}body.learn-focused .player-panel{position:static}.print-first-link{font-size:11px}}
@media(min-width:900px) and (orientation:landscape){body.learn-focused .with-player .ls-scene-intro{display:none}body.learn-focused .ls-clue{margin-top:0}body.learn-focused .ls-clue h4{font-size:22px;line-height:1.35}body.learn-focused .ls-clue-options button{min-height:44px;padding:8px 12px;font-size:18px}}

/* English learning: full-width assessment and optional scene replay. */
.tab-locked{opacity:.65!important}.tab-locked small{display:block;font-size:11px;line-height:1.2;margin-top:3px;color:#806b91}.tab-locked::before{content:'🔒 ';font-size:12px}
#scene-review-dialog{width:min(830px,94vw);max-height:94dvh;padding:18px;border:0;border-radius:24px;background:#faf7ff;overflow:auto;color:#3d315c}#scene-review-dialog::backdrop{background:#201633bb;backdrop-filter:blur(5px)}#scene-review-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}#scene-review-dialog h2{font-size:24px}#scene-review-dialog .player-panel{margin:0;position:static}#scene-review-dialog .video-wrap{max-height:55dvh}#scene-review-dialog .player-tip,#scene-review-dialog .player-heading,#scene-review-dialog .chapter-controls{display:none}
body.practice-focused .study-workspace.without-player{display:block;width:100%}body.practice-focused .lesson-plus{max-width:1200px}
@media(min-width:900px) and (orientation:landscape){body.practice-focused .topbar{height:38px;min-height:38px}body.practice-focused .course-bar{min-height:38px}body.practice-focused .tabs{margin:2px 0 7px}body.practice-focused .tabs .tab{min-height:44px;padding:7px 15px}body.practice-focused .lp-understand .lp-current-question{overflow:visible}body.learn-focused .ls-clue-options button{min-height:60px;font-size:20px;padding:10px 14px}}
