@font-face{font-family:Studio;src:url(vendor/NotoSans-Regular.ttf) format('truetype');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f6f7f3;color:#213c35;font-family:Studio,Arial,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:400;font-size:40px;line-height:1.15;letter-spacing:-1px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:16px}p{line-height:1.7}small,.muted{color:#74847c}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#738578}.btn,button.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#245849;color:white;border:1px solid #245849;border-radius:9px;padding:11px 17px;text-decoration:none;font-weight:600}.btn:hover{background:#183e33}.btn.secondary{background:white;color:#294f43;border-color:#d8e2d9}.btn.ghost{background:transparent;color:#476356;border-color:transparent}.btn.small{padding:7px 11px;font-size:12px}.btn.danger{color:#a54436;background:#fff4f0;border-color:#f0d6ce}.btn.gold{color:#3b4528;background:#e2ebae;border-color:#e2ebae}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:18px}.shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:#fffefb;border-right:1px solid #e3e8df;padding:32px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;margin-bottom:43px}.brand-mark{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:13px;background:#245849;color:white;font:bold 35px Georgia}.brand strong{display:block;font-size:18px}.brand small{font-size:10px;letter-spacing:1.4px}.nav{display:grid;gap:6px}.nav button{border:0;background:transparent;text-align:left;padding:13px 14px;border-radius:9px;color:#708276;display:flex;gap:12px;align-items:center}.nav button.active{background:#e9efe5;color:#224c3c;font-weight:700}.nav button:hover{background:#f0f4eb}.nav-icon{font-size:19px;width:24px}.side-note{margin-top:auto;padding:20px 12px;background:#f1f4e9;border-radius:12px;font-size:12px;line-height:1.7}.profile{border-top:1px solid #e5e9e1;margin-top:20px;padding-top:20px;display:flex;gap:10px;align-items:center}.avatar{background:#e5ebde;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-weight:bold}.workspace{min-width:0}.topbar{height:79px;border-bottom:1px solid #e2e7df;padding:0 40px;background:#fbfcf9;display:flex;align-items:center;justify-content:space-between}.topbar small{font-size:12px}.page{max-width:1450px;padding:34px 40px 65px;margin:auto}.heading{margin-bottom:27px}.heading h1{margin-bottom:10px}.hero{background:#234f43;border-radius:18px;min-height:224px;color:#fff;padding:32px 35px;display:grid;grid-template-columns:1fr 240px;gap:25px;position:relative;overflow:hidden}.hero .eyebrow{color:#b6d0b4}.hero h1{font-size:37px;max-width:530px;margin:13px 0}.hero p{color:#cbd8cb;max-width:530px;margin-bottom:22px}.hero-art{display:grid;align-content:center;gap:13px;transform:rotate(-7deg);padding-right:20px}.paper-card{background:#fffdf1;color:#2e5447;padding:19px;border-radius:9px;box-shadow:0 10px 25px #102b2840;font-family:Georgia,serif;font-size:22px}.paper-card:last-child{margin-left:30px;background:#e5ecb9;transform:rotate(12deg);font-size:15px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 30px}.metric{border:1px solid #e1e7dc;background:#fffefa;border-radius:12px;padding:19px}.metric strong{display:block;font-size:29px;font-family:Georgia,serif;margin:8px 0}.metric small{font-size:11px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid #e0e6dc;background:#fffefa;border-radius:13px;padding:22px;min-width:0}.card h3{line-height:1.5;margin:14px 0 8px}.card p{font-size:12px;color:#78857d}.tag{display:inline-block;border-radius:5px;background:#eaf0e5;color:#506d50;font-size:10px;padding:4px 8px;letter-spacing:.4px}.tag.amber{background:#fcf0d9;color:#94713e}.tag.rose{background:#f4e5df;color:#9a6155}.activity-icon{width:45px;height:45px;border-radius:11px;display:grid;place-items:center;background:#eef0d8;color:#657640;font-size:23px}.card-footer{border-top:1px solid #edf0e8;padding-top:15px;margin-top:18px;display:flex;gap:6px;flex-wrap:wrap}.section-title{margin:28px 0 17px}.section-title h2{margin:0}.empty{border:1px dashed #cdd9c9;border-radius:14px;padding:38px;text-align:center;color:#7d8b7d;background:#fafcf6}.panel{background:#fffefa;border:1px solid #e1e7dc;border-radius:14px;padding:26px}.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#526757}input,select,textarea{border:1px solid #d9e1d5;background:#fff;border-radius:8px;padding:11px 12px;color:#263e33;width:100%;font-size:14px}textarea{resize:vertical;min-height:90px;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:#6f9476;outline:2px solid #dce9d6}input[type=checkbox]{width:auto}label.check{display:flex;align-items:center;font-weight:400}.hint{font-size:11px;color:#7b8b7a;line-height:1.7}.question-editor{background:#f6f8f0;border:1px solid #e3e9da;padding:20px;border-radius:10px;margin:16px 0}.question-editor .row{margin-bottom:14px}.question-image{max-width:150px;max-height:130px;border-radius:8px;object-fit:contain}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th,td{padding:14px 10px;border-bottom:1px solid #e7ecdf}th{color:#83907e;font-size:11px;font-weight:500}td small{display:block;margin-top:4px}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-intro{background:#234f43;color:#fff;padding:65px;display:flex;flex-direction:column;justify-content:center}.auth-intro h1{font-size:62px;max-width:520px;margin-top:55px}.auth-intro p{max-width:440px;color:#cbdccc}.auth-intro .brand{color:#fff}.auth-intro .brand-mark{background:#e4ecb6;color:#234f43}.auth-intro .eyebrow{color:#c4d8b1}.auth-form{display:flex;align-items:center;justify-content:center;padding:45px}.auth-box{width:100%;max-width:420px}.auth-box h1{font-size:34px;margin-top:18px}.auth-box form{display:grid;gap:17px}.notice{padding:14px 17px;border-radius:8px;background:#edf2df;color:#5f7045;font-size:12px;line-height:1.7}.notice.error{background:#fff0e9;color:#9a4538}.auth-foot{font-size:11px;color:#83907d;margin-top:30px;line-height:1.8}.loading{padding:80px;text-align:center}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 24px;background:#224f42;color:white;border-radius:9px;box-shadow:0 5px 20px #0002;max-width:90vw;display:none;z-index:999}#toast.show{display:block}#toast.error{background:#9c493b}dialog{border:0;border-radius:15px;box-shadow:0 20px 100px #0004;width:min(680px,94vw);max-height:90vh;padding:30px;color:#234638;background:#fffefa}dialog::backdrop{background:#1d352c88}dialog .close{float:right;background:none;border:0;font-size:24px;color:#667b6b}dialog form{display:grid;gap:16px}dialog pre{white-space:pre-wrap;font:inherit;line-height:1.7}.qr-box{text-align:center;background:white;padding:22px;margin:20px auto;border-radius:12px}.qr-box img{max-width:240px;width:100%;image-rendering:pixelated}.play{max-width:850px;margin:0 auto}.play-header{padding:28px;background:#eaf0df;border-radius:14px;margin-bottom:22px}.play-question{padding:24px;border:1px solid #e2e8dc;border-radius:12px;background:#fffefa;margin-bottom:15px}.play-question h3{font-size:17px;line-height:1.7}.play-question img{display:block;max-width:100%;max-height:260px;object-fit:contain;margin:15px 0;border-radius:8px}.option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dce5d6;border-radius:8px;margin:8px 0}.option input{width:auto}.answer-result{margin:12px 0;padding:12px;border-radius:8px;background:#edf5e4}.answer-result.wrong{background:#fbede7}.search{max-width:300px}.toolbar{margin:20px 0}.split-banner{display:flex;gap:25px;justify-content:space-between;align-items:center}.mini-count{font-size:11px;color:#7d8f77}.mobile-brand{display:none}.flashcard{height:260px;background:#e9efd9;display:grid;place-items:center;text-align:center;padding:30px;border-radius:14px;font:30px Georgia;cursor:pointer}.flashcard img{max-height:130px;max-width:200px}.block-text{white-space:pre-wrap;overflow-wrap:anywhere}.tabs{display:flex;gap:8px;flex-wrap:wrap}.side-note strong{display:block;margin-bottom:7px}.game-controls{position:sticky;bottom:12px;background:#fffefbeF;backdrop-filter:blur(10px);padding:15px;border:1px solid #e0e6da;border-radius:12px;box-shadow:0 5px 25px #1933260b}.footer-note{text-align:center;margin-top:35px;font-size:11px;color:#92a08e}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{padding:25px 14px}.shell{grid-template-columns:210px 1fr}.page{padding:28px}.topbar{padding:0 28px}.hero{grid-template-columns:1fr 170px}.hero h1{font-size:33px}.hero-art{padding:0}.metrics{gap:10px}.metric{padding:15px}.two-col{grid-template-columns:1fr}}@media(max-width:760px){.shell{display:block}.sidebar{position:static;height:auto;padding:15px;border-right:0;border-bottom:1px solid #dce5d6}.sidebar .brand{margin:0 0 14px}.nav{display:flex;overflow-x:auto;gap:4px}.nav button{white-space:nowrap;padding:9px 12px}.nav-icon{display:none}.side-note,.profile{display:none}.topbar{height:52px;padding:0 18px}.page{padding:24px 18px}.hero{grid-template-columns:1fr;padding:26px}.hero-art{display:none}.hero h1{font-size:34px}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.auth{display:block}.auth-intro{padding:25px}.auth-intro h1{font-size:35px;margin-top:18px}.auth-intro .brand{margin:0 0 15px}.auth-intro p{margin-bottom:0}.auth-form{padding:28px 22px}.heading h1{font-size:34px}.split-banner{align-items:start;flex-direction:column}.row{gap:8px}.panel{padding:19px}dialog{padding:22px}.topbar .date{display:none}}
/* Teaching studio 1.1 */
.upload-zone{border:1px dashed #aebf9e;border-radius:12px;background:#f4f7ed;padding:20px;margin:15px 0}.upload-zone input{background:white}.source-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e3e9dc;padding:16px 0;overflow-wrap:anywhere}.source-row small{display:block;color:#83907d;margin-top:6px;font-size:10px}.source-row .row{flex-shrink:0}.section-editor,.vocab-editor,.link-editor{background:#f6f8f0;border:1px solid #e1e7d8;border-radius:10px;padding:18px;margin-top:16px;display:grid;gap:14px}.lesson-content{display:grid;gap:18px;margin-bottom:22px}.word-entry{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:8px;padding:14px 0;border-bottom:1px solid #e4e9df}.word-entry em{grid-column:1/-1;color:#72806c;font-size:13px}.activity-frame{width:100%;height:520px;border:1px solid #d8e2d0;border-radius:12px;margin-top:20px;background:white}.steps{padding-left:22px;line-height:1.8}.steps li{margin-bottom:12px}summary{cursor:pointer;font-weight:600}.source-row .btn{overflow-wrap:anywhere;max-width:350px}@media(max-width:760px){.source-row{align-items:flex-start;flex-direction:column}.source-row .row{flex-wrap:wrap}.activity-frame{height:440px}.word-entry{grid-template-columns:1fr}.word-entry em{grid-column:auto}}

@media(min-width:901px){.sidebar{overflow-y:auto}.side-note{flex-shrink:0}}
.creation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.creation-card{background:#fffefb;border:1px solid #dce4d7;border-radius:14px;padding:20px;text-align:left;display:grid;gap:10px;color:#244e40}.creation-card>span{font-size:25px}.creation-card strong{font-size:16px}.creation-card small{line-height:1.6}.creation-card:hover,.creation-card.chosen{border-color:#245849;background:#eef3e5}.study-card{padding:20px;min-height:320px}.study-card h1{margin-top:24px}.study-card .row{margin-top:30px}
