@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#24332d;font-synthesis:none;background:#f6f4ee;font-family:DM Sans,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{min-width:1100px;margin:0}button,input,textarea{font:inherit}.shell{grid-template-columns:255px 1fr;min-height:100vh;display:grid}.sidebar{color:#e9f0ec;background:#193c35;flex-direction:column;width:255px;height:100vh;padding:26px 18px 18px;display:flex;position:fixed}.brand{align-items:center;gap:12px;padding:0 7px 27px;display:flex}.brandmark{color:#193c35;background:#efb764;border-radius:11px;place-items:center;width:37px;height:37px;font-family:Georgia;font-size:24px;font-weight:700;display:grid}.brand b,.brand span{display:block}.brand b{font-size:15px}.brand span{opacity:.58;letter-spacing:1.4px;margin-top:3px;font-size:10px}.nav{color:#bcd0c8;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;margin-bottom:3px;padding:11px 13px;display:flex}.nav.active,.nav:hover{color:#fff;background:#2a5148}.course small,.units p{text-transform:uppercase;letter-spacing:1.2px;color:#8daaa0;font-size:10px}.course-title{align-items:center;gap:9px;margin-top:12px;display:flex}.cover{color:#244239;background:#eec074;border-radius:4px 7px 7px 4px;place-items:center;width:33px;height:41px;font:700 18px Georgia;display:grid}.course-title div:nth-child(2){flex:1}.course-title b,.course-title span{display:block}.course-title b{font-size:13px}.course-title span{color:#9cb5ac;margin-top:4px;font-size:10px}.units{overflow:auto}.units p{justify-content:space-between;align-items:center;padding:0 7px;display:flex}.units p button{color:#aac0b8;background:0 0;border:0}.lesson{text-align:left;color:#c1d1cb;cursor:pointer;background:0 0;border:0;border-left:2px solid #385950;width:100%;margin:4px 0;padding:9px 13px;display:block}.lesson span,.lesson b,.lesson small{display:block}.lesson span{color:#82a097;text-transform:uppercase;font-size:9px}.lesson b{margin:2px 0;font-size:12px}.lesson small{color:#809c93;font-size:10px}.lesson.active{color:#fff;background:#2b5148;border-left-color:#efb764;border-radius:0 8px 8px 0}.profile{border-top:1px solid #31534b;align-items:center;gap:9px;margin-top:auto;padding:17px 5px 0;display:flex}.avatar{background:#d78870;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.profile b,.profile span{display:block}.profile b{font-size:12px}.profile span{color:#91aaa1;font-size:10px}.profile>div:nth-child(2){flex:1}.profile button{color:#9ab0a8;cursor:pointer;background:0 0;border:0}main{grid-column:2}main>header{background:#fbfaf6;border-bottom:1px solid #dedbd1;justify-content:space-between;align-items:center;height:128px;padding:24px 38px;display:flex}.crumb{color:#789087;font-size:11px}h1{color:#1d332c;margin:9px 0 3px;font:600 27px Georgia,Noto Sans SC}header p{color:#78847f;margin:0;font-size:12px}.source{color:#876d44;background:#f1eadc;border-radius:10px;margin-left:10px;padding:4px 8px;font-size:10px}.header-actions{align-items:center;gap:9px;display:flex}.status{color:#658479;margin-right:4px;font-size:11px}.status:before{content:"";background:#7da68f;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.status.editing:before{background:#dc9d54}.primary,.secondary{cursor:pointer;border:0;border-radius:8px;align-items:center;gap:7px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.primary{color:#fff;background:#d88a5f;box-shadow:0 3px 9px #d88a5f33}.secondary{color:#31453e;background:#fff;border:1px solid #d9d8d2}.tabs{background:#fbfaf6;border-bottom:1px solid #dfdcd3;gap:28px;height:52px;padding-left:38px;display:flex}.tabs button{color:#78857f;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;height:52px;font-size:12px;display:flex}.tabs button.active{color:#24453b;border-color:#d88a5f;font-weight:600}.workspace{grid-template-columns:minmax(600px,860px) 270px;align-items:start;gap:24px;padding:28px 38px;display:grid}.content{flex-direction:column;gap:16px;display:flex}.card,.inspector-card,.asset-page{background:#fff;border:1px solid #e2dfd6;border-radius:12px;box-shadow:0 3px 12px #4e635a0b}.card{padding:23px 27px}.card-head{justify-content:space-between;align-items:center;margin-bottom:19px;display:flex}.card-head>div{align-items:center;gap:11px;display:flex}.card-head small{color:#d88a5f;font:italic 14px Georgia}.card h2,.asset-page h2{margin:0;font:600 20px Georgia,Noto Sans SC}.magic{color:#a85f40;cursor:pointer;background:linen;border:0;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.goals>div{align-items:center;gap:11px;margin-bottom:8px;display:flex}.goals span{color:#4c7366;background:#eef3ef;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.goals textarea{resize:none;background:0 0;border:0;border-bottom:1px solid #0000;flex:1;height:32px;padding:6px}.goals textarea:focus{border-color:#d7b18c;outline:0}.time{color:#a65f44;background:#f6e8e0;border-radius:12px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;display:flex}.time.good{color:#4a7664;background:#e6f1eb}.timeline article{grid-template-columns:27px 1fr;display:grid}.line{position:relative}.line i{z-index:1;border-radius:50%;width:10px;height:10px;margin:8px auto;display:block;position:relative;box-shadow:0 0 0 4px #fff}.line em{background:#dedfd9;width:1px;position:absolute;top:15px;bottom:-9px;left:13px}.activity{border-bottom:1px solid #eeeae2;margin:0 0 16px 6px;padding:0 0 17px}.timeline article:last-child .activity{border:0;margin-bottom:0}.activity-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.activity-top>span{font-size:10px;font-weight:700}.activity-top>input{color:#273b34;background:0 0;border:0;flex:1;font-weight:600}.activity-top label{color:#829089;font-size:10px}.activity-top label input{text-align:center;background:#f4f1ea;border:0;border-radius:4px;width:35px;padding:4px}.roles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.roles>div{background:#f8f7f3;border-radius:7px;padding:10px}.roles b{color:#678076;margin-bottom:4px;font-size:10px;display:block}.roles textarea{resize:vertical;color:#52625c;background:0 0;border:0;width:100%;min-height:52px;font-size:11px;line-height:1.6}.roles textarea:focus,.activity-top input:focus{outline:0}.wide{resize:vertical;border:1px solid #e5e1d9;border-radius:7px;width:100%;min-height:60px;padding:11px}.inspector{flex-direction:column;gap:14px;display:flex;position:sticky;top:18px}.eyebrow{letter-spacing:1.5px;color:#d27e58;font-size:9px;font-weight:700}.inspector h3{margin:5px 0 16px;font:600 17px Georgia,Noto Sans SC}.inspector label{color:#829087;margin:14px 0 7px;font-size:10px;display:block}.chips{flex-wrap:wrap;gap:5px;display:flex}.chips span{color:#41695b;background:#edf3ef;border-radius:12px;padding:5px 8px;font-size:10px}.sentence{border-left:2px solid #e8b588;padding-left:8px;font-size:11px;line-height:1.5}.inspector-card>p{color:#65736e;font-size:11px;line-height:1.7}.feedback-button{color:#826e5d;cursor:pointer;background:0 0;border:1px dashed #d1c9bb;border-radius:8px;justify-content:center;gap:7px;padding:10px;display:flex}.asset-page{min-height:600px;margin:28px 38px;padding:30px}.asset-head{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.asset-head h2{margin:7px 0;font-size:25px}.asset-head p{color:#75837d;font-size:12px}.slide-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.slide{aspect-ratio:16/9;text-align:center;background:linear-gradient(145deg,#fffdf7,#eef5ef);border:1px solid #ddd9ce;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;padding:18px;display:flex;position:relative;box-shadow:0 5px 12px #405c5014}.slide small{color:#bba98f;position:absolute;top:11px;left:13px}.slide span{color:#cf805a;text-transform:uppercase;letter-spacing:1px;font-size:10px}.slide b{margin-top:12px;font:600 16px Georgia,Noto Sans SC}.game-board{color:#fff;background:#1c4339;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:290px;display:flex}.ball{color:#efb866;font-size:58px;line-height:1}.game-board h3{font:600 28px Georgia}.game-board p{color:#b9cdc6;font-size:12px}.game-board button{color:#24443a;cursor:pointer;background:#efb866;border:0;border-radius:20px;padding:10px 22px;font-weight:700}.steps{gap:10px;margin-top:18px;display:flex}.steps div{background:#f7f5ef;border-radius:8px;flex:1;gap:9px;padding:12px;display:flex}.steps span,.task>span{color:#fff;background:#d88a5f;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.steps p{margin:4px 0;font-size:11px}.paper{background:#fffdf8;border:1px solid #d8d3c8;width:650px;min-height:760px;margin:auto;padding:50px 56px;box-shadow:0 8px 25px #405c5017}.paper header{border-bottom:2px solid #284c41;padding-bottom:17px}.paper header h2{margin:7px 0;font:600 28px Georgia}.paper header small{color:#d27e58;letter-spacing:1px}.task{border-bottom:1px solid #e8e2d8;gap:14px;padding:24px 0;display:flex}.task b{font-size:13px}.answer-lines{border-bottom:1px dashed #b9b4aa;width:490px;height:45px}.toast{color:#fff;z-index:10;background:#1f4037;border-radius:8px;padding:12px 18px;font-size:12px;position:fixed;bottom:28px;right:28px;box-shadow:0 8px 25px #18332b33}.modal-bg{z-index:20;background:#172e2888;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fffdf8;border-radius:15px;width:480px;padding:33px;position:relative;box-shadow:0 20px 55px #12241f44}.close{color:#78847f;cursor:pointer;background:0 0;border:0;position:absolute;top:18px;right:18px}.modal h2{margin:8px 0;font:600 23px Georgia}.modal>p{color:#74817c;font-size:12px;line-height:1.6}.feedback-types{flex-wrap:wrap;gap:7px;margin:17px 0;display:flex}.feedback-types button{cursor:pointer;background:#fff;border:1px solid #dcd7cd;border-radius:16px;padding:6px 10px;font-size:11px}.feedback-types button.active{color:#a65d3d;background:#faeee5;border-color:#d88a5f}.modal textarea{resize:none;border:1px solid #dcd7cd;border-radius:8px;width:100%;height:120px;padding:11px}.submit{margin-top:14px;margin-left:auto}@media (width<=1200px){.workspace{grid-template-columns:minmax(570px,1fr) 240px}.roles{grid-template-columns:1fr}.slide-grid{grid-template-columns:repeat(2,1fr)}}.course-mini{background:#244a41;border-radius:9px;margin:18px 7px;padding:15px}.course-mini>span,.course-mini>small{color:#91aaa1;font-size:10px;display:block}.course-mini>b{color:#efc077;margin:5px 0;display:block}.course-mini>div{background:#3b5f56;border-radius:4px;height:4px;margin:7px 0}.course-mini i{background:#efb764;border-radius:4px;height:100%;display:block}.course-page{max-width:1250px;padding:30px 38px 60px}.course-hero{background:#fff;border:1px solid #e1ddd3;border-radius:14px;justify-content:space-between;gap:30px;padding:30px 32px;display:flex;box-shadow:0 5px 18px #3451460b}.hero-copy{max-width:760px}.hero-copy h1{margin:9px 0 12px;font-size:30px}.hero-copy>p{color:#697a74;font-size:12px;line-height:1.9}.course-meta{gap:18px;margin-top:18px;display:flex}.course-meta span{color:#567369;align-items:center;gap:6px;font-size:11px;display:flex}.hero-actions{flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex}.hero-actions a{text-decoration:none}.progress-ring{border:9px solid #e8eee9;border-top-color:#d88a5f;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:105px;height:105px;display:flex}.progress-ring b{font:600 27px Georgia}.progress-ring span{color:#7d8984;font-size:9px}.mode-bar{background:#ede9df;border-radius:8px;align-items:center;gap:17px;margin:16px 0 28px;padding:13px 17px;display:flex}.mode-bar span{color:#a26549;font-size:10px;font-weight:700}.mode-bar p{color:#63746e;margin:0;font-size:11px}.group-title{align-items:center;gap:12px;margin:28px 0 13px;display:flex}.group-title>span{color:#27483e;font:600 18px Georgia}.group-title i{background:#dad7cf;flex:1;height:1px}.group-title small{color:#86938e}.course-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.course-card{background:#fff;border:1px solid #e1ddd3;border-radius:11px;flex-direction:column;min-height:230px;padding:20px;transition:all .2s;display:flex;position:relative}.course-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #34514614}.complete{color:#c7c9c5;cursor:pointer;background:#fff;border:1px solid #d9d8d1;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:14px;right:14px}.course-card.done .complete{color:#fff;background:#668c7c;border-color:#668c7c}.lesson-no{color:#d48963;font:italic 20px Georgia}.pages{color:#9b8a78;font-size:9px;position:absolute;top:20px;right:46px}.course-card h3{margin:10px 0 5px;font:600 17px Georgia,Noto Sans SC}.course-card>p{color:#6a7a74;font-size:11px}.mini-activities{flex-wrap:wrap;gap:5px;display:flex}.mini-activities span{color:#6b756f;background:#f3f0e9;border-radius:4px;padding:4px 6px;font-size:9px}.course-card footer{justify-content:space-between;margin-top:auto;padding-top:16px;display:flex}.course-card footer button{color:#607b71;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;font-size:10px;display:flex}.course-card footer .start{color:#355c4e;background:#edf2ef;border-radius:6px;padding:6px 9px}.course-detail{background:#fffdf8;border-radius:15px;width:580px;max-height:88vh;padding:34px;position:relative;overflow:auto}.detail-head{border-bottom:1px solid #ded9d0;padding-bottom:16px}.detail-head>span{color:#cf7955;font-size:10px}.detail-head h2{margin:6px 0;font:600 26px Georgia}.detail-head p{color:#87918d;font-size:10px}.course-detail section{margin:22px 0}.course-detail h4{color:#35584c;align-items:center;gap:7px;font-size:12px;display:flex}.detail-goal{align-items:center;gap:9px;margin:8px 0;display:flex}.detail-goal span,.detail-activity span{color:#527264;background:#edf2ef;border-radius:50%;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.detail-goal p{margin:0;font-size:11px}.detail-activity{grid-template-columns:1fr 1fr;gap:8px;display:grid}.detail-activity>div{background:#f5f3ed;border-radius:6px;align-items:center;gap:8px;padding:9px;display:flex}.detail-activity b{font-size:10px}.homework-line{border-left:2px solid #e2a47f;padding-left:9px;font-size:11px}.detail-open{margin-left:auto}.course-detail .close{top:16px}@media (width<=1200px){.course-grid{grid-template-columns:repeat(2,1fr)}}.live-score{color:#3e6758;background:#edf3ef;border-radius:9px;align-items:baseline;gap:6px;padding:9px 14px;display:flex}.live-score b{font:700 23px Georgia}.live-score span{font-size:10px}.game-start{min-height:360px}.play-board{color:#fff;background:#1c4339;border-radius:16px;min-height:430px;padding:28px 38px}.round-track{align-items:center;gap:12px;display:flex}.round-track>span{color:#b6ccc4;white-space:nowrap;font-size:10px}.round-track>div{background:#365a50;border-radius:5px;flex:1;height:5px}.round-track i{background:#efb866;border-radius:5px;height:100%;display:block}.question{text-align:center;padding:47px 10px 32px}.question small{color:#efb866;letter-spacing:1px}.question h3{margin:12px 0;font:600 28px Georgia,Noto Sans SC}.game-options{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.game-options button{color:#29473e;cursor:pointer;background:#fff;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:80px;padding:13px;font-weight:600;transition:all .15s;display:flex}.game-options button:hover{background:#fff8e9;transform:translateY(-2px)}.game-options button>span{background:#edf2ef;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.game-options button.correct{color:#2e6844;background:#e8f5ed;border-color:#67a17e}.game-options button.wrong{color:#8b4438;background:#f8e9e5;border-color:#cc7664}.game-options button.muted{opacity:.45}.answer-feedback{border-radius:9px;align-items:center;gap:12px;margin-top:19px;padding:13px 16px;display:flex}.answer-feedback.right{background:#315d4c}.answer-feedback.retry{background:#6a493e}.answer-feedback b{font-size:12px}.answer-feedback p{color:#dce8e3;flex:1;margin:0;font-size:10px}.answer-feedback button{color:#23463a;cursor:pointer;background:#efb866;border:0;border-radius:7px;align-items:center;gap:4px;padding:8px 12px;font-weight:700;display:flex}.result-board{min-height:430px}.result-stars{color:#efb866;letter-spacing:6px;font-size:24px}.final-score b{color:#efb866;font:700 64px Georgia}.final-score span{color:#aac4ba;font-size:20px}.result-board>p{margin-bottom:20px}@media (width<=1200px){.game-options{grid-template-columns:1fr}.play-board{padding:24px}.question{padding:30px 5px 20px}}:root{--primary:#3f765f;--primary-strong:#285845;--primary-soft:#e3f0e8;--secondary:#e8955d;--secondary-soft:#fff0e4;--tertiary:#7ca9bd;--surface:#fffefa;--surface-low:#f8f7f1;--surface-warm:#fffaf0;--ink:#1d3129;--ink-2:#5e7068;--ink-3:#8b9792;--outline:#e4e4dc;--outline-strong:#d4d8d1;--shadow-1:0 1px 2px #2a43380a,0 8px 24px #2a43380e;--shadow-2:0 4px 12px #2a43380f,0 18px 44px #2a43381a;--r-sm:10px;--r-md:16px;--r-lg:24px;--ease:cubic-bezier(.2,0,0,1)}html{background:var(--surface-low)}body{background:radial-gradient(circle at 78% 0%,#fff2d8 0,transparent 28%),var(--surface-low);color:var(--ink)}button,a,input,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #3f765f38!important}.shell{grid-template-columns:264px 1fr}.sidebar{width:264px;color:var(--ink);border-right:1px solid var(--outline);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefaf0;padding:28px 18px 20px}.brand{padding:0 10px 30px}.brandmark{color:#fff;background:linear-gradient(145deg,#f7bc72,#ef935d);border-radius:14px;width:42px;height:42px;box-shadow:0 8px 20px #e8955d3d}.brand b{color:var(--ink);font-size:16px}.brand span{color:var(--ink-3);opacity:1}.nav{min-height:46px;color:var(--ink-2);transition:transform .18s var(--ease),background .18s,color .18s;border-radius:13px;padding:11px 14px;font-size:13px;font-weight:500}.nav:hover{color:var(--primary-strong);background:#eff4f0;transform:translate(2px)}.nav.active{background:var(--primary-soft);color:var(--primary-strong);font-weight:700}.nav:active{transform:scale(.98)}.course{border-top:1px solid var(--outline);margin-top:20px;padding:22px 8px 10px}.course small,.units p{color:var(--ink-3)}.cover{color:#fff;background:linear-gradient(145deg,#f7c679,#f0a35f);border-radius:7px 11px 11px 7px;box-shadow:0 5px 12px #e8955d33}.course-title b{color:var(--ink)}.course-title span{color:var(--ink-3)}.lesson{color:var(--ink-2);border-left-color:var(--outline);border-radius:0 11px 11px 0;transition:all .18s}.lesson:hover{background:#f2f5f2}.lesson.active{background:var(--primary-soft);border-left-color:var(--primary);color:var(--primary-strong)}.lesson span,.lesson small{color:var(--ink-3)}.course-mini{border:1px solid var(--outline);box-shadow:none;background:linear-gradient(145deg,#f0f6f2,#fffaf0)}.course-mini>span,.course-mini>small{color:var(--ink-3)}.course-mini>b{color:var(--primary-strong)}.course-mini>div{background:#e3e9e5}.course-mini i{background:linear-gradient(90deg,var(--primary),#78a78e)}.profile{border-top-color:var(--outline);color:var(--ink)}.profile span,.profile button{color:var(--ink-3)}main{background:0 0;min-width:0}main>header{border-bottom:1px solid var(--outline);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffefac7;height:132px;padding:26px clamp(28px,4vw,52px)}.crumb{color:var(--ink-3)}h1{color:var(--ink);letter-spacing:-.025em;font-family:Noto Serif SC,Georgia,serif}header p{color:var(--ink-2)}.source{background:var(--secondary-soft);color:#9a572d}.primary,.secondary{min-height:44px;transition:transform .16s var(--ease),box-shadow .16s,filter .16s;border-radius:12px;padding:0 18px}.primary{background:var(--primary);box-shadow:0 6px 16px #3f765f2e}.primary:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 9px 22px #3f765f38}.secondary{background:var(--surface);border-color:var(--outline-strong);color:var(--ink)}.secondary:hover{background:#f7f9f7;transform:translateY(-1px)}.primary:active,.secondary:active{transform:scale(.97)}.tabs{border-color:var(--outline);background:#fffefac7;gap:12px;height:58px;padding-left:clamp(28px,4vw,52px)}.tabs button{height:58px;color:var(--ink-2);border-bottom-width:0;border-radius:12px;padding:0 16px;transition:all .16s}.tabs button:hover{color:var(--primary-strong);background:#eef4f0}.tabs button.active{background:var(--primary-soft);color:var(--primary-strong)}.workspace{gap:22px;padding:32px clamp(28px,4vw,52px)}.card,.inspector-card,.asset-page{border-color:var(--outline);border-radius:var(--r-md);box-shadow:var(--shadow-1);background:#fffefaf5}.card{animation:rise-in .45s var(--ease) both;padding:26px 28px}.card:nth-child(2){animation-delay:50ms}.card:nth-child(3){animation-delay:.1s}.card-head small{color:var(--secondary)}.magic{background:var(--secondary-soft);color:#97562e;border-radius:10px;min-height:38px;transition:all .16s}.magic:hover{background:#ffe5d2;transform:translateY(-1px)}.goals span{background:var(--primary-soft);color:var(--primary-strong)}.goals textarea{color:var(--ink)}.time.good{background:var(--primary-soft);color:var(--primary-strong)}.roles>div{background:#f6f7f3;border:1px solid #ecece5;border-radius:11px}.roles b{color:var(--primary)}.roles textarea{color:var(--ink-2)}.activity{border-color:var(--outline)}.inspector-card{padding:22px}.eyebrow{color:var(--secondary)}.chips span{background:var(--primary-soft);color:var(--primary-strong)}.feedback-button{border-color:var(--outline-strong);min-height:44px;color:var(--ink-2);border-radius:12px;transition:all .16s}.feedback-button:hover{background:var(--surface-warm);border-color:#efc9a9}.asset-page{margin:32px clamp(28px,4vw,52px);padding:32px}.course-page{max-width:1440px;padding:36px clamp(28px,4vw,52px) 72px;animation:.4s both fade-in}.course-hero{border-radius:var(--r-lg);box-shadow:var(--shadow-1);background:linear-gradient(125deg,#fffdf8 10%,#fff7e8 62%,#edf6f1 100%);border:1px solid #e6cfa7b3;padding:38px 40px;position:relative;overflow:hidden}.course-hero:after{content:"";background:#e8955d1f;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-120px;right:-70px}.hero-copy{z-index:1;position:relative}.hero-copy h1{font-size:clamp(28px,3vw,38px);line-height:1.25}.hero-copy>p{color:var(--ink-2);max-width:76ch;font-size:13px;line-height:1.9}.course-meta span{color:var(--ink-2);background:#ffffffa3;border-radius:10px;padding:8px 11px}.hero-actions{z-index:1;position:relative}.progress-ring{border-color:#e5eee9;border-top-color:var(--secondary);background:#fff9;box-shadow:inset 0 0 0 5px #ffffff8c}.progress-ring b{color:var(--ink)}.mode-bar{border:1px solid var(--outline);background:#ffffffa8;border-radius:12px;padding:15px 18px}.mode-bar span{color:#9a572d}.mode-bar p{color:var(--ink-2)}.group-title{margin-top:36px}.group-title>span{color:var(--ink);font-family:Noto Serif SC,Georgia,serif;font-size:20px}.group-title i{background:var(--outline)}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-card{border-color:var(--outline);border-radius:var(--r-md);min-height:236px;transition:transform .22s var(--ease),box-shadow .22s,border-color .22s;padding:22px;box-shadow:0 1px 2px #2a433806}.course-card:hover{box-shadow:var(--shadow-2);border-color:#cfdcd4;transform:translateY(-4px)}.course-card.done{background:linear-gradient(160deg,#fff 40%,#f0f8f3);border-color:#9fc2ae}.complete{border-color:var(--outline);width:30px;height:30px;color:var(--ink-3);transition:all .16s}.complete:hover{background:var(--primary-soft);color:var(--primary);transform:scale(1.07)}.course-card.done .complete{background:var(--primary);border-color:var(--primary)}.lesson-no{color:var(--secondary);font-size:22px}.course-card h3{color:var(--ink);font-family:Noto Serif SC,Georgia,serif;font-size:17px}.course-card>p{color:var(--ink-2)}.mini-activities span{color:var(--ink-2);background:#f2f4ef;border-radius:7px;padding:5px 8px}.course-card footer{border-top:1px solid #efefe9;margin-top:auto}.course-card footer button{min-height:38px;color:var(--primary);font-weight:600}.course-card footer .start{background:var(--primary-soft);color:var(--primary-strong);border-radius:9px}.course-card footer .start:hover{background:#d5e9dd}.course-detail,.modal{border-radius:var(--r-lg);box-shadow:0 28px 80px #1a332838}.modal-bg{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#182e256b}.detail-head h2,.modal h2{color:var(--ink);font-family:Noto Serif SC,Georgia,serif}.detail-goal span,.detail-activity span{background:var(--primary-soft);color:var(--primary)}.detail-activity>div{background:#f6f7f3;border-radius:10px}.toast{box-shadow:var(--shadow-2);animation:toast-up .3s var(--ease);background:#294a3e;border-radius:12px}.play-board,.game-board{background:linear-gradient(145deg,#315f4e,#214638);border-radius:20px}.game-board button,.answer-feedback button{color:#3b4c3e;background:#ffd18e}.slide{border-radius:14px}.paper{border-radius:4px}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (width<=1200px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){body{min-width:0}.shell{display:block}.sidebar{width:100%;height:auto;position:static}.sidebar .course,.sidebar .course-mini,.profile{display:none}.sidebar nav{display:flex;overflow:auto}.nav{min-width:max-content}.course-grid{grid-template-columns:1fr}.course-hero{flex-direction:column}.hero-actions{align-items:flex-start;gap:18px}.workspace{grid-template-columns:1fr}.inspector{position:static}}.login-page{background:#fffefa;grid-template-columns:minmax(430px,1.08fr) minmax(480px,.92fr);min-height:100vh;display:grid}.login-story{background:linear-gradient(145deg,#edf5ef 0%,#f8f3df 58%,#ffe9d8 100%);flex-direction:column;padding:clamp(38px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-story:before,.login-story:after{content:"";filter:blur(1px);border-radius:50%;position:absolute}.login-story:before{background:#f7bc7247;width:360px;height:360px;top:-130px;right:-130px}.login-story:after{background:#3f765f24;width:260px;height:260px;bottom:-120px;left:-100px}.login-brand{z-index:1;align-items:center;gap:13px;display:flex;position:relative}.login-brand .brandmark{flex:0 0 44px}.login-brand b,.login-brand span{display:block}.login-brand b{font-size:17px}.login-brand span{color:var(--ink-3);letter-spacing:1.3px;margin-top:3px;font-size:10px}.story-copy{z-index:1;max-width:650px;margin:auto 0;position:relative}.story-copy h1{margin:18px 0 24px;font-size:clamp(38px,4.5vw,66px);line-height:1.18}.story-copy>p{color:var(--ink-2);max-width:570px;font-size:clamp(15px,1.3vw,18px);line-height:1.9}.story-points{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.story-points span{color:var(--primary-strong);background:#ffffff8c;border:1px solid #3f765f29;border-radius:12px;align-items:center;gap:7px;padding:10px 13px;font-size:13px;display:flex}.story-quote{z-index:1;color:var(--ink-2);font:italic 14px Georgia,Noto Serif SC,serif;position:relative}.login-panel{background:radial-gradient(circle at 90% 10%,#fff0d8,#0000 30%),#fffefa;place-items:center;padding:40px;display:grid}.login-card{border:1px solid var(--outline);width:min(100%,440px);animation:rise-in .5s var(--ease) both;background:#ffffffe0;border-radius:26px;padding:42px;box-shadow:0 26px 70px #2a43381c}.login-welcome{text-align:center}.login-sun{background:var(--secondary-soft);border-radius:15px;place-items:center;width:46px;height:46px;margin:0 auto 15px;font-size:23px;display:grid}.login-welcome small{color:var(--secondary);letter-spacing:1px;font-weight:700}.login-welcome h2{margin:8px 0 9px;font-family:Noto Serif SC,Georgia,serif;font-size:28px}.login-welcome p,.demo-note{color:var(--ink-3);font-size:12px;line-height:1.7}.demo-account{background:var(--primary-soft);color:var(--primary-strong);border-radius:12px;align-items:center;gap:10px;margin:25px 0 21px;padding:12px 14px;font-size:12px;display:flex}.demo-account span{flex:1}.demo-account b,.demo-account i{border-left:1px solid #bfd6c8;padding-left:10px;font-style:normal}.field{margin-top:16px;display:block}.field>span{color:var(--ink-2);margin:0 0 7px;font-size:12px;font-weight:650;display:block}.field input{border:1px solid var(--outline-strong);width:100%;height:50px;color:var(--ink);background:#fff;border-radius:12px;padding:0 14px;transition:border .16s,box-shadow .16s}.field>div{position:relative}.field>div input{padding-right:48px}.field>div button{width:40px;height:40px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:9px;position:absolute;top:5px;right:5px}.field input:focus{border-color:var(--primary)}.login-error{color:#aa4f44;background:#fff0ed;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:12px}.login-submit{background:var(--primary);color:#fff;cursor:pointer;width:100%;height:50px;transition:all .18s var(--ease);border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;margin-top:22px;font-weight:700;display:flex;box-shadow:0 9px 22px #3f765f33}.login-submit:hover{filter:brightness(1.06);transform:translateY(-2px)}.login-submit:active{transform:scale(.98)}.login-submit:disabled{cursor:wait;opacity:.82}.login-submit i{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.demo-note{text-align:center;margin:17px 8px 0}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=850px){.login-page{grid-template-columns:1fr}.login-story{min-height:390px}.story-copy{margin:70px 0}.login-panel{padding:28px 18px}.login-card{padding:30px 24px}}.cartoon-slides{background:linear-gradient(#fffdf6,#fff8e8);max-width:1440px;margin-inline:auto;padding:28px}.cartoon-slides .asset-head{border-bottom:1px solid #eadfca;margin-bottom:22px;padding-bottom:20px}.cartoon-slides .asset-head h2{font-size:24px}.cartoon-slide-grid{grid-template-columns:repeat(3,minmax(250px,1fr));align-items:stretch;gap:18px;display:grid}.cartoon-slide{--navy:#173f68;--yellow:#efb83f;--red:#c9512b;--green:#56794b;aspect-ratio:16/10;border:4px solid var(--navy);isolation:isolate;min-width:0;transition:transform .22s var(--ease),box-shadow .22s var(--ease);background:#f8edcf;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 6px #d89b31,0 12px 22px #2f3e311f}.cartoon-slide:hover{transform:translateY(-5px)rotate(-.2deg);box-shadow:0 9px #d89b31,0 20px 32px #2f3e312b}.cartoon-slide:nth-child(2n):hover{transform:translateY(-5px)rotate(.2deg)}.paper-grain{z-index:-1;opacity:.2;background-image:repeating-linear-gradient(8deg,#2b484317 0 1px,#0000 1px 5px),radial-gradient(circle,#fff 0 1px,#0000 2px);background-size:auto,12px 12px;position:absolute;inset:0}.cartoon-slide:before{content:"";background:var(--yellow);z-index:-1;border-radius:50%;width:55%;height:80%;position:absolute;top:-35%;right:-24%}.cartoon-slide:after{content:"";z-index:-1;background:#708f59;border-radius:50% 50% 0 0/45% 45% 0 0;height:35%;position:absolute;bottom:-17%;left:-8%;right:-8%}.slide-cloud{background:#fff9e9;border-radius:18px;width:46px;height:15px;position:absolute}.slide-cloud:before,.slide-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.slide-cloud:before{width:20px;height:20px;top:-9px;left:7px}.slide-cloud:after{width:25px;height:25px;top:-13px;right:6px}.cloud-a{top:8%;left:8%}.cloud-b{top:19%;right:10%;transform:scale(.65)}.abc-sticker{color:var(--red);letter-spacing:1px;font:900 14px/1 DM Sans;position:absolute;top:17px;left:16px;transform:rotate(-7deg)}.slide-stage{text-align:center;border:3px solid var(--navy);background:#fffaf0;border-radius:42% 47% 40% 45%/11% 14% 10% 13%;flex-direction:column;justify-content:center;align-items:center;padding:15px 20px 13px;display:flex;position:absolute;inset:10% 8% 17% 10%}.slide-topline{color:var(--navy);justify-content:space-between;align-items:center;font-size:9px;font-weight:800;display:flex;position:absolute;top:12px;left:20px;right:20px}.slide-topline i{font-size:18px;font-style:normal}.slide-stage>em{color:var(--red);letter-spacing:1px;font-size:11px;font-style:normal;font-weight:900}.slide-stage h3{max-width:92%;color:var(--navy);overflow-wrap:anywhere;margin:7px auto 4px;font-family:Noto Serif SC,Noto Sans SC,serif;font-size:clamp(14px,1.15vw,19px);line-height:1.3}.slide-stage p{color:var(--green);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:90%;margin:0 auto;font-size:9px;font-weight:700;line-height:1.45;display:-webkit-box;overflow:hidden}.title-ribbon,.student-prompt{background:var(--yellow);color:#304836;border-radius:5px;margin-top:8px;padding:5px 12px;font-size:8px;font-weight:900;transform:rotate(-1deg)}.student-prompt{border:1.5px dashed var(--navy);color:var(--navy);background:#fff;border-radius:16px;transform:rotate(1deg)}.scene-strip{filter:saturate(.75);justify-content:space-around;align-items:end;font-size:17px;display:flex;position:absolute;bottom:1%;left:24%;right:4%}.scene-strip span:nth-child(2){font-size:23px}.slide-character{z-index:2;filter:drop-shadow(2px 3px #163f682e);width:74px;height:94px;position:absolute;bottom:2%;left:1%}.slide-character .head{color:#f2ad72;font-size:39px;line-height:1;position:absolute;top:12px;left:24px}.slide-character .head:after{content:"• ᴗ •";color:#253e4e;white-space:nowrap;font:900 8px DM Sans;position:absolute;top:12px;left:7px}.slide-character .cap{color:var(--red);font:900 49px/1 serif;position:absolute;top:-2px;left:18px;transform:rotate(-12deg)}.slide-character .body{color:var(--yellow);font-size:58px;line-height:1;position:absolute;top:50px;left:15px}.slide-character .hand{color:#f2ad72;font-size:38px;font-weight:900;position:absolute;top:46px;left:55px;transform:rotate(-22deg)}.cartoon-slide.discover{--yellow:#e9aa35;--red:#cf6333}.cartoon-slide.speak{--yellow:#f0bd48;--green:#4c774d}.cartoon-slide.words{--yellow:#e5a43a;--red:#b64a2e}.cartoon-slide.task{--yellow:#f2c34b;--green:#467255}.cartoon-slide.finish{--yellow:#e8ad42;--red:#c85b36}@media (width<=1280px){.cartoon-slide-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}.cartoon-slide{aspect-ratio:16/9}.slide-stage h3{font-size:18px}}@media (width<=860px){.cartoon-slides{margin:20px 16px;padding:20px}.cartoon-slides .asset-head{align-items:flex-start;gap:15px}.cartoon-slide-grid{grid-template-columns:1fr}.cartoon-slide{aspect-ratio:16/9}.slide-stage h3{font-size:clamp(17px,4vw,23px)}}
