@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&family=Nunito:wght@500;600;700;800;900&display=swap');
:root{--bg:#f7f9fc;--paper:#fff;--ink:#182e3b;--muted:#7d8c9c;--line:#e9edf2;--brand:#1b6472;--brand-dark:#114b58;--brand-soft:#e6f5f4;--mint:#e6f6e9;--orange:#fbad67;--pink:#ffe5da;--shadow:0 10px 33px rgba(23,50,76,.045);--radius:23px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Cairo',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);margin:0;line-height:1.6;font-size:14px}button,input,select,textarea{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-weight:900;line-height:1.42;letter-spacing:-.65px}h2{font-size:19px;font-weight:900}h3{font-size:15px;font-weight:800}small,.tiny{font-size:11px}strong{font-weight:800}::selection{background:#a1e5d9;color:#0b3440}.muted{color:var(--muted)}.wide{grid-column:1/-1}.block{display:flex!important;width:100%;justify-content:center}.row-between{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:2.3px;color:#49939b;margin-bottom:12px;direction:ltr;text-align:right}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:2px solid transparent;border-radius:14px;font-size:13px;font-weight:900;padding:12px 20px;line-height:1.4;transition:transform .15s,box-shadow .15s,filter .15s;white-space:nowrap}.btn:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn.primary{color:white;background:var(--brand);border-color:var(--brand);box-shadow:0 4px 0 #10434d}.btn.primary:hover{box-shadow:0 6px 0 #10434d}.btn.big{padding:15px 27px;font-size:14px}.btn.outline{color:var(--brand);background:white;border-color:#dfe9ea;box-shadow:0 3px 0 #e3eaed}.btn.white{color:var(--brand-dark);background:white;box-shadow:0 4px 0 #d5e3de}.btn.translucent{color:white;background:#ffffff22;border:1px solid #ffffff55}.btn.dark{color:white;background:#183d45;box-shadow:0 4px 0 #102d35}.btn.small{padding:9px 14px;font-size:12px;border-radius:11px}.btn.danger-btn{color:#bd5452;border-color:#ffe3e1;background:#fff5f5}.brand{display:flex;gap:12px;align-items:center;font-family:'Nunito','Cairo',sans-serif;font-weight:900;font-size:20px;letter-spacing:-.4px;direction:ltr}.brand img{flex:0 0 auto}.brand small{display:block;font-size:8px;letter-spacing:2px;color:#98a6b0;direction:ltr;line-height:1.5}
/* Public welcome */
.public-body{background:#fbfcfc}.public-header{width:min(1160px,calc(100% - 60px));margin:0 auto;padding:34px 0;display:flex;justify-content:space-between;align-items:center}.landing{max-width:1150px;padding:42px 25px 58px;margin:auto;min-height:560px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.landing-hero{padding:22px 0}.hero-overline{color:var(--brand);letter-spacing:3px;font-size:11px;font-weight:900;direction:ltr;text-align:right;margin-bottom:20px}.landing-hero h1{font-size:clamp(42px,5vw,74px);line-height:1.25;letter-spacing:-2.5px;margin:0 0 20px}.landing-hero h1 span{color:#2b7e81}.landing-hero p{font-size:17px;color:#728692;line-height:2;max-width:450px;margin-bottom:30px}.landing-chips{display:flex;flex-wrap:wrap;gap:11px;margin-top:33px;direction:ltr;justify-content:flex-end}.landing-chips span{font-family:Nunito,sans-serif;font-weight:800;background:#eff5f6;border-radius:30px;color:#43747c;font-size:12px;padding:9px 13px}.landing-art{min-height:480px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(closest-side,#dcf4ed 0%,#f6f9f9 75%,transparent 100%)}.practice-card{background:white;width:360px;max-width:90%;padding:27px 30px 22px;border:1px solid #eaf0ee;border-radius:27px;box-shadow:0 25px 60px rgba(34,91,91,.12);transform:rotate(-4deg);direction:ltr;text-align:left}.practice-top{display:flex;justify-content:space-between;color:#96a5aa;font-family:Nunito;font-weight:800;letter-spacing:1.5px}.checkcircle{color:#198362;background:#e7f6eb;border-radius:50%;padding:0 6px}.practice-emoji{font-size:39px;display:block;margin:16px 0 8px}.practice-card h3{font-family:Nunito;font-weight:900;font-size:20px}.fake-question{font-family:Nunito;font-size:15px;font-weight:700;margin-bottom:18px}.fake-answer,.fake-wrong{border-radius:12px;border:2px solid #e5e9ed;padding:10px 15px;font-family:Nunito;font-weight:850;margin-bottom:10px}.fake-answer{border-color:#8bceab;background:#eaf9f0;color:#24815c}.fake-wrong{color:#8296a4}.practice-bottom{border-top:1px solid #eff2f5;margin-top:20px;padding-top:13px;display:flex;justify-content:space-between;font-family:Nunito;font-weight:900;color:#589786}.practice-bottom strong{color:#e49c48}.float-star{position:absolute;font-size:80px;color:#ffc884}.star-one{top:13px;left:2px}.star-two{bottom:12px;right:8px;color:#65b6a3;font-size:66px}.landing-footer{text-align:center;padding:18px 0 35px;color:#a4b3b8;font-size:11px}.landing-footer span{margin:0 8px}
/* Auth */
.auth-page{min-height:calc(100vh - 125px);display:flex;align-items:center;justify-content:center;padding:20px}.auth-shell{background:white;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:45px;width:min(440px,100%);text-align:center}.auth-shell h1{font-size:29px;margin:9px 0}.auth-shell>.muted{margin-bottom:27px}.auth-icon{width:60px;height:60px;margin:auto;border-radius:20px;background:#e4f5eb;color:#198369;font-size:36px;display:flex;align-items:center;justify-content:center}.auth-form{text-align:right;display:flex;flex-direction:column;gap:18px}.subtle-link{display:inline-block;color:var(--brand);font-size:12px;font-weight:900;background:transparent;border:0;margin-top:22px}.auth-shell .btn{margin-top:8px}.install-shell{width:min(760px,100%);margin:40px auto;text-align:right}.install-shell h1{text-align:center}.install-shell>.muted{text-align:center}.auth-logo{display:flex;justify-content:center;align-items:center;gap:12px;font-size:25px;font-family:Nunito;font-weight:900;direction:ltr}
/* Shell */
.app-layout{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:white;border-left:1px solid #ecf0f3;padding:31px 17px 20px}.sidebar-brand{margin:0 9px 51px;font-size:19px;white-space:nowrap}.sidebar-label{font-size:10px;color:#a3b0b8;margin:0 16px 16px;font-weight:900}.side-nav{display:flex;flex-direction:column;gap:8px}.nav-link{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;font-weight:800;color:#758895;transition:background .15s,color .15s}.nav-link:hover{background:#f2f8f8}.nav-link.active{background:#e8f4f3;color:#186271}.nav-icon{width:27px;text-align:center;font-size:23px;line-height:1.1;font-weight:800}.side-bottom{margin-top:auto}.side-quote{background:#f3f9f7;border-radius:20px;padding:21px;color:#5b8b85;font-weight:800;font-size:13px;position:relative;line-height:1.9}.side-quote span{position:absolute;left:20px;bottom:12px;font-size:27px;color:#d1ae62}.logout-btn{width:100%;text-align:right;background:transparent;border:0;color:#93a2af;font-size:12px;font-weight:800;padding:23px 14px 3px}.content-layout{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:87px;padding:0 clamp(20px,4.5vw,66px);display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.86);border-bottom:1px solid #edf0f4}.breadcrumb{color:#a2afbb;font-size:12px;margin-left:6px}.topbar-user{display:flex;align-items:center;gap:14px}.top-greeting{color:#5c7080;font-weight:800;font-size:12px}.avatar{width:36px;height:36px;border-radius:13px;background:#cfe9e3;color:#21686d;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:900}.avatar.secondary{background:#e6eef7;color:#56769e}.main-content{width:min(1090px,100%);margin:0 auto;padding:35px clamp(20px,4.5vw,54px) 65px;flex:1}.app-footer{text-align:center;color:#acb7c1;font-size:10px;padding:15px}.app-footer span{font-family:Nunito;direction:ltr}.mobile-nav{display:none}
/* Content */
.teacher-hero{position:relative;overflow:hidden;min-height:242px;display:flex;align-items:center;justify-content:space-between;background:#206b76;border-radius:26px;padding:30px 47px;color:white}.teacher-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,#31838a 0%,transparent 37%),radial-gradient(circle at 85% 70%,#165663 0%,transparent 50%)}.teacher-hero>div{position:relative;z-index:1}.teacher-hero .eyebrow{color:#a3d6c7}.teacher-hero h1{font-size:27px;line-height:1.5;margin-bottom:7px}.teacher-hero p{color:#cbe8e4;font-size:12px;margin-bottom:23px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-illustration{width:260px;height:210px;position:relative;flex-shrink:0}.illustration-book{position:absolute;top:44px;right:30px;width:170px;height:126px;background:#f3fbfa;border:11px solid #9ad4c3;outline:7px solid #357e86;transform:rotate(-14deg);border-radius:22px;color:#1e6a74;font:900 70px/1.3 Nunito;text-align:center;box-shadow:18px 18px 0 #1d5862}.illustration-book span{font-size:40px;color:#f2a65a}.ill-star{position:absolute;top:4px;right:16px;color:#ffcf85;font-size:54px}.ill-orbit{position:absolute;left:10px;bottom:9px;font-size:45px;color:#a3debd}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:21px 0 34px}.stat-card{background:white;padding:22px 24px;border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow);min-height:156px;display:flex;flex-direction:column;align-items:flex-start}.stat-icon{display:flex;width:39px;height:39px;align-items:center;justify-content:center;border-radius:13px;font-size:22px;margin-bottom:10px;font-weight:900}.pastel-blue{background:#e6f2fd;color:#6196d1}.pastel-purple{background:#f3eafb;color:#9b7ac9}.pastel-orange{background:#fff1e6;color:#edaa60}.stat-card small{color:#92a0ae;font-weight:700}.stat-card strong{font:900 26px/1.55 Nunito,'Cairo',sans-serif}.stat-card a{font-size:11px;font-weight:900;color:#4b8c93}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-heading h2{margin-bottom:1px}.section-heading p{font-size:11px;color:#9aa9b7;margin:0}.text-action{color:var(--brand);font-size:12px;font-weight:900;white-space:nowrap}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-card{display:flex;align-items:center;gap:16px;min-height:96px;padding:16px 20px;background:white;border:1px solid var(--line);border-radius:18px;transition:transform .15s,box-shadow .15s}.activity-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #254b5f12}.activity-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:18px;font-size:30px;font-weight:900;flex-shrink:0}.skill-grammar{background:#e5f4e9;color:#389666}.skill-listening{background:#fff0e1;color:#e29a50}.skill-reading{background:#e8f2fc;color:#5c91be}.skill-writing{background:#eeeafa;color:#a18bcc}.skill-speaking{background:#ffedf1;color:#de83a2}.skill-vocabulary{background:#fff3d5;color:#d2a34e}.activity-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.activity-copy strong{font-size:14px;white-space:normal;line-height:1.55}.activity-copy small{color:#9aa9b4;font-size:11px}.card-arrow{font-size:23px;color:#9badb7;margin-right:5px}.pill{padding:5px 11px;font-size:10px;border-radius:99px;font-weight:900;display:inline-flex;white-space:nowrap}.pill.ok{background:#e4f5ea;color:#38805b}.pill.pending{background:#fff2df;color:#ba8746}.pill.blue{background:#e9f4f6;color:#3c7b89}.activity-meta{font-size:10px;color:#a5b2bc;text-align:left;margin:-7px 8px 5px 0;padding-left:15px}.empty-state{background:white;border:2px dashed #e7edf1;border-radius:23px;padding:55px 22px;text-align:center;color:#71909a;font-size:38px}.empty-state strong{display:block;color:#264a56;font-size:19px;margin:8px 0}.empty-state p{font-size:12px;color:#9daeb9;margin-bottom:16px}.page-head{margin-bottom:26px}.page-head h1{font-size:30px;margin-bottom:6px}.page-head p{color:#8b9cab;margin-bottom:0}.soft-count{font:800 15px Nunito;color:#689da0;background:#e5f5f1;border-radius:100px;padding:5px 11px;vertical-align:middle}.head-actions{display:flex;gap:9px;flex-wrap:wrap}.two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:23px;padding:26px;box-shadow:var(--shadow);min-width:0}.panel.compact{padding:20px;margin-top:14px}.panel h2{margin-bottom:6px}.panel>.muted{margin-bottom:25px}.panel .section-heading.inner{margin-bottom:12px}.count-label{font-size:11px;color:#9caab2}.section-title{font-size:12px;font-weight:900;color:#487984;margin:18px 0 12px;padding-bottom:10px;border-bottom:1px solid #eef1f3}.form-stack{display:flex;flex-direction:column;gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-stack label,.auth-form label,.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:850;color:#405867;min-width:0}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;border:1.7px solid #e6edf0;border-radius:11px;padding:11px 13px;background:#fbfcfe;outline:0;color:#334b5a;font-size:13px;min-width:0;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#5aada4!important;box-shadow:0 0 0 3px #70c8b321}input[type=file]{background:#f8fcfc}textarea{resize:vertical;line-height:1.8;min-height:48px}textarea:disabled,input:disabled,select:disabled{opacity:.6;background:#f1f4f6}.checkline{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important;cursor:pointer;font-size:12px!important;font-weight:750!important;color:#586f7c!important}.checkline input{accent-color:var(--brand);width:17px;height:17px;flex-shrink:0}.student-row{display:flex;align-items:center;gap:12px;border-top:1px solid #f0f2f4;padding:16px 0}.student-info{flex:1;min-width:0;display:flex;flex-direction:column}.student-info strong{font-size:12px}.student-info small{font-size:10px;color:#97a5b0;overflow-wrap:anywhere}.icon-btn{border:0;background:#f1f5f6;color:#8195a0;font-size:22px;width:29px;height:29px;border-radius:10px}.icon-btn.danger{color:#db7776;background:#fff5f5}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:right;font-size:12px;white-space:nowrap}th{color:#9dabb5;font-size:10px;border-bottom:2px solid #eef2f5;padding:14px 11px}td{border-bottom:1px solid #f1f4f6;padding:17px 11px}tr:last-child td{border-bottom:0}.filter-strip{display:flex;gap:9px;margin-bottom:17px;overflow-x:auto}.filter-button{background:#fff;color:#78909e;border:1px solid #e7eff2;border-radius:12px;padding:9px 17px;font-size:12px;font-weight:850;white-space:nowrap}.filter-button.selected{background:var(--brand);color:white;border-color:var(--brand)}
/* AI & Editor */
.ai-grid{grid-template-columns:minmax(0,1.3fr) minmax(245px,.7fr)}.upload-zone{border:2px dashed #b8dad8;background:#f4fbfa;border-radius:18px;min-height:160px;display:flex!important;flex-direction:column!important;gap:4px!important;align-items:center;justify-content:center;color:#3b8285!important;cursor:pointer;padding:20px}.upload-emoji{font-size:40px;line-height:1.1}.upload-zone strong{font-size:14px}.upload-zone small{font-size:11px;color:#78a3a3}.upload-filename{color:#9aaeb0;font-size:10px}.upload-zone.has-file{border-style:solid;background:#e8f7f0}.ai-side,.editor-side{display:flex;flex-direction:column;gap:14px}.tips-card{background:#226d75;color:white;border-radius:23px;padding:30px;position:relative;overflow:hidden}.tips-card:before{content:'';width:230px;height:230px;border-radius:50%;background:#ffffff0e;position:absolute;left:-140px;top:-90px}.tips-card h2{font-size:24px;position:relative}.tips-card p{font-size:12px;color:#d0e9e6;line-height:2;position:relative}.sparkle{font-size:43px;color:#ffce8e}.tip-item{position:relative;display:flex;gap:13px;align-items:center;border-top:1px solid #ffffff29;padding:14px 0}.tip-item>span{display:flex;justify-content:center;align-items:center;width:30px;height:30px;background:#ffffff25;border-radius:10px;font:900 17px Nunito}.tip-item strong,.tip-item small{display:block}.tip-item small{color:#a9d1ce}.note-card{background:#fff7e9;border:1px solid #fce9cb;color:#987a4e;padding:21px;border-radius:19px;font-size:12px;line-height:2}.inline-note{border-radius:13px;padding:12px 14px;background:#edf7f6;color:#5b8d88;font-size:12px;line-height:1.9}.inline-note a{font-weight:900;text-decoration:underline}.editor-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(235px,.82fr);align-items:start;gap:18px}.question-builder{background:#f8fafb;border:1px solid #e6ebef;padding:21px;border-radius:17px;margin-bottom:15px}.question-bar{display:flex;justify-content:space-between;margin-bottom:15px}.question-bar strong{color:#366b72}.delete-question{border:0;background:#ffe7e7;border-radius:9px;color:#d56666;width:28px;height:28px;font-size:18px}.question-builder .form-grid{gap:12px}.question-builder .form-grid label small{color:#9eabb2}.editor-submit{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:19px;flex-wrap:wrap;gap:15px}.student-check-list{background:#fbfcfd;border:1px solid #edf0f3;border-radius:15px;padding:11px;max-height:210px;overflow:auto;display:flex;flex-direction:column;gap:12px}.student-check-list .checkline{padding:2px 5px}.student-check-list .checkline small{margin-right:auto;font:800 10px Nunito;color:#96a4ab}.select-all{padding-bottom:11px!important;border-bottom:1px solid #e9f0f0}.assigned-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:6px 0;border-bottom:1px solid #f1f3f4}.assigned-item form{margin:0}.attachment-banner{border:1px dashed #d6e7e6;padding:15px;background:#f7fcfb;border-radius:15px;color:#547c81;font-size:12px;line-height:2}.attachment-banner>a{color:var(--brand);font-weight:900;text-decoration:underline}.attachment-banner .lesson-image{max-height:180px}
/* Learner */
.student-hero{border-radius:27px;min-height:245px;background:#fce9d5;display:flex;align-items:center;justify-content:space-between;padding:33px 49px;position:relative;overflow:hidden}.student-hero:before{content:'';position:absolute;border-radius:50%;background:#ffffff44;width:260px;height:260px;top:-100px;right:-90px}.student-hero-text{position:relative;z-index:1}.student-hero .eyebrow{color:#b97d52}.student-hero h1{font:900 40px/1.08 Nunito,sans-serif;direction:ltr;text-align:right;margin:0 0 13px;letter-spacing:-1.3px;color:#253f46}.student-hero p{font-size:13px;color:#997b66;margin-bottom:20px}.target-illustration{width:260px;height:220px;position:relative;flex-shrink:0}.target-ring{width:178px;height:178px;border:24px solid #efad7a;border-radius:50%;position:absolute;left:36px;top:13px;background:#fdd7b6;box-shadow:0 7px 0 #d98f60}.target-inner{position:absolute;inset:25px;border-radius:50%;background:#fff6e9;display:flex;align-items:center;justify-content:center;font-size:62px;color:#cc8c58}.target-spark{position:absolute;right:10px;top:3px;font-size:53px;color:#9fb38f}.target-spark2{position:absolute;bottom:12px;left:15px;color:#b96851;font-size:38px}.student-stats .stat-card{min-height:143px}.stat-unit{font-size:13px;color:#d69d70}.progress-track{width:100%;height:9px;border-radius:100px;background:#edf1f3;overflow:hidden;margin:6px 0 4px}.progress-track>div{height:100%;background:#43a88e;border-radius:99px;transition:width .4s}.learning-path{display:flex;flex-direction:column;gap:13px}.path-item{display:flex;gap:15px;align-items:center;background:white;border:1px solid var(--line);border-radius:20px;padding:19px 23px;position:relative;transition:transform .15s}.path-item:hover{transform:translateX(-3px)}.path-number{background:#eff6f5;border-radius:10px;display:flex;align-items:center;justify-content:center;width:29px;height:29px;font:900 13px Nunito;color:#438d85}.path-icon{height:52px;width:52px;border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:29px}.path-item>div:nth-of-type(2){flex:1;min-width:0}.path-item strong,.path-item small{display:block}.path-item small{color:#9cabb3}.path-go{color:var(--brand);font-weight:900;font-size:11px;white-space:nowrap}.profile-card{text-align:center}.profile-avatar{height:75px;width:75px;border-radius:25px;display:flex;align-items:center;justify-content:center;background:#d8f1e7;color:var(--brand);margin:0 auto 13px;font-size:35px;font-weight:900}.profile-card h2{margin-bottom:2px}.profile-stats{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-around}.profile-stats strong,.profile-stats small{display:block}.profile-stats strong{font:900 25px Nunito}.profile-stats small{color:var(--muted)}
/* Activity runner */
.lesson-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.back-link{color:#849aa4;font-weight:800;font-size:12px}.lesson-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.lesson-title h1{font:900 clamp(25px,3.5vw,38px)/1.3 Nunito,'Cairo',sans-serif;direction:auto}.lesson-title p{color:#9aabb5}.lesson-badge{width:77px;height:77px;display:flex;align-items:center;justify-content:center;background:#dcefeb;border-radius:23px;font-size:45px;color:#287b7d}.lesson-panel{background:white;border:1px solid var(--line);border-radius:23px;padding:29px;margin-bottom:23px}.intro-text{font-size:15px;color:#536c78;line-height:2}.lesson-explanation{border:1px solid #f0f2f5;background:#fafcfb;border-radius:16px;font-size:14px;line-height:2.1;padding:20px;white-space:normal}.lesson-image{display:block;width:100%;max-width:760px;object-fit:contain;max-height:520px;margin:15px auto;border-radius:15px}.audio-player{width:100%;margin:10px 0}.lesson-video{width:100%;max-height:460px;background:black;border-radius:17px;margin:12px 0}.video-wrap{aspect-ratio:16/9;position:relative;border-radius:17px;overflow:hidden;margin:12px 0;background:#122c36}.video-wrap iframe{border:0;width:100%;height:100%}.quiz-step{background:white;border:1px solid var(--line);border-radius:23px;padding:30px;margin-bottom:16px}.js-quiz .quiz-step{display:none}.js-quiz .quiz-step.is-active{display:block;animation:stepIn .2s ease}@keyframes stepIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.quiz-topline{display:flex;justify-content:space-between;font:900 11px Nunito;color:#a3b3bd;letter-spacing:1px;margin-bottom:20px;direction:ltr}.quiz-topline strong{color:#e6a05a}.question-text{font-size:20px;margin-bottom:22px;line-height:1.9}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.option-choice{position:relative;display:flex;align-items:center;gap:15px;border:2px solid #e7edf1;border-radius:16px;padding:18px;color:#405768;font:800 15px Nunito,'Cairo';cursor:pointer;transition:background .14s,border-color .14s;min-width:0;overflow-wrap:anywhere}.option-choice input{position:absolute;opacity:0;width:1px;height:1px}.option-choice:has(input:checked){border-color:#52ad98;background:#ecf9f4;color:#1d755e}.option-choice:has(input:focus-visible){outline:2px solid #228c7a;outline-offset:3px}.option-letter{font-size:21px;color:#bdc9d0}.option-choice:has(input:checked) .option-letter{color:#31936c}.writing-field{display:block;font-weight:900;color:#8096a0;margin-bottom:10px}.writing-field input,.writing-field textarea{margin-top:8px;font-size:16px!important}.order-picked{display:flex;gap:9px;flex-wrap:wrap;min-height:57px;border:2px dashed #bfd4d8;border-radius:12px;padding:9px;margin-bottom:15px;direction:ltr}.order-bank{display:flex;gap:9px;flex-wrap:wrap;direction:ltr}.word-chip{border:1px solid #dbe4ea;background:#fff;box-shadow:0 3px 0 #e5edf1;padding:8px 13px;border-radius:11px;font:900 14px Nunito;cursor:pointer}.word-chip:disabled{opacity:.3}.order-picked .word-chip{background:#e8f5f1;color:#176359;border-color:#afd8cb}.reset-order{margin-top:12px}.quiz-nav{display:flex;align-items:center;gap:14px;justify-content:space-between;background:white;border:1px solid var(--line);border-radius:19px;padding:15px;margin-top:15px;position:sticky;bottom:14px;z-index:5;box-shadow:0 8px 30px #1d4e5414}.quiz-progress{height:10px;border-radius:99px;background:#e5edf0;flex:1;overflow:hidden}.quiz-progress>div{height:100%;background:#45a88c;border-radius:99px;transition:width .2s}.js-quiz #quiz-submit{display:none}.js-quiz .quiz-nav{display:flex}.quiz-nav:not(.ready) #quiz-prev{visibility:hidden}.review-question{border-bottom:1px solid var(--line);padding:22px 0}.review-question:last-of-type{border-bottom:0}.review-question h3{font-size:16px;line-height:1.8;margin:11px 0}.question-counter{font:900 11px Nunito;color:#80a4aa;letter-spacing:1px}.answer-line{background:#f8fafb;border-radius:11px;padding:12px 14px;margin:9px 0;font-size:13px;overflow-wrap:anywhere;line-height:2}.answer-line.correct{background:#eaf8ee;color:#39815d}.answer-line.incorrect{background:#fff1ed;color:#be6e5c}.result-hero{text-align:center;background:#e6f5ef;border-radius:25px;padding:34px 25px;margin-bottom:20px}.trophy{font-size:66px;line-height:1.5}.result-hero .eyebrow{text-align:center}.result-hero h1{font-size:32px;margin:0}.result-hero p{color:#6a9183}.result-number{font:900 40px Nunito;color:#24836a;direction:ltr}.result-hero small{color:#7c9f93}
/* Messages */
.alert{position:relative;background:#eaf7f0;color:#317a64;border:1px solid #d1eadb;padding:15px 40px 15px 16px;border-radius:13px;font-size:12px;font-weight:800;margin-bottom:22px}.alert.error{background:#fff1f0;color:#bb5d5a;border-color:#f5dad9}.alert-close{position:absolute;left:10px;top:8px;background:transparent;border:0;color:inherit;font-size:22px}.loading-overlay{position:fixed;inset:0;background:#112e37cc;display:flex;flex-direction:column;justify-content:center;align-items:center;color:white;z-index:999;font-size:18px;font-weight:900;gap:20px;padding:20px;text-align:center}.loading-dots{width:62px;height:62px;border-radius:50%;border:6px solid #ffffff50;border-top-color:white;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Responsive */
@media(max-width:1050px){.app-layout{grid-template-columns:218px minmax(0,1fr)}.main-content{padding:29px 26px 65px}.teacher-hero{padding:27px 30px}.hero-illustration{transform:scale(.84);transform-origin:center}.two-col{grid-template-columns:1fr 1fr}.editor-layout{grid-template-columns:minmax(0,1.4fr) minmax(210px,.7fr)}.student-hero{padding:27px}}
@media(max-width:790px){body{font-size:13px}.app-layout{display:block}.sidebar{display:none}.content-layout{min-height:100vh}.topbar{height:67px;padding:0 20px}.main-content{padding:23px 17px 111px}.app-footer{padding-bottom:94px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:90;background:#ffffffed;backdrop-filter:blur(14px);border-top:1px solid #e7eef0;box-shadow:0 -7px 20px #294f5b09;justify-content:space-around;gap:5px}.mobile-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:9px;font-weight:800;color:#9aa9b2;border-radius:12px;padding:6px 2px}.mobile-nav a span{font-size:23px;line-height:1.1}.mobile-nav a.active{background:#eaf6f3;color:#206c74}.teacher-hero{padding:25px;min-height:222px}.teacher-hero h1{font-size:22px}.hero-illustration{width:174px;transform:scale(.75);margin:-15px}.two-col,.ai-grid,.editor-layout{grid-template-columns:1fr}.ai-side{display:grid;grid-template-columns:1fr 1fr}.student-hero{padding:25px}.student-hero h1{font-size:35px}.target-illustration{transform:scale(.77);transform-origin:center left;width:175px}.page-head h1{font-size:25px}.landing{grid-template-columns:1fr;min-height:auto;gap:0;padding:20px 25px 40px}.landing-hero{padding-top:22px;text-align:center}.landing-hero .hero-overline{text-align:center}.landing-hero p{margin:0 auto 25px}.landing-chips{justify-content:center}.landing-art{min-height:410px}.public-header{width:calc(100% - 35px);padding:19px 0}.landing-footer{padding-top:0}}
@media(max-width:550px){.public-header .brand{font-size:17px}.public-header .brand img{width:38px}.landing-hero h1{font-size:42px;letter-spacing:-1.5px}.landing-hero p{font-size:13px}.landing-art{min-height:385px}.practice-card{max-width:84%;padding:24px;transform:rotate(-3deg)}.float-star{font-size:48px}.top-greeting{display:none}.topbar{padding:0 19px}.topbar>div:first-child{font-size:12px}.main-content{padding:18px 13px 105px}.teacher-hero{border-radius:20px;padding:25px 22px;min-height:235px}.teacher-hero h1{font-size:21px}.teacher-hero p{font-size:10px;max-width:225px}.teacher-hero .eyebrow{font-size:9px}.hero-illustration{position:absolute!important;left:-63px;top:54px;opacity:.32;transform:scale(.8)}.hero-actions .btn{font-size:11px;padding:10px}.stats-grid{gap:8px;margin:13px 0 27px}.stat-card{border-radius:16px;padding:14px 11px;min-height:136px}.stat-icon{width:33px;height:33px;border-radius:10px;font-size:18px}.stat-card strong{font-size:23px}.stat-card small{font-size:9px}.stat-card a{font-size:9px}.section-heading h2{font-size:17px}.activity-card{gap:10px;padding:12px;min-height:83px;border-radius:15px}.activity-icon{width:47px;height:47px;border-radius:13px;font-size:25px}.activity-copy strong{font-size:12px}.activity-copy small{font-size:9px}.activity-card .pill{display:none}.card-arrow{font-size:16px}.page-head{margin-bottom:20px}.page-head h1{font-size:23px}.page-head p{font-size:11px}.page-head.row-between{align-items:flex-start;flex-direction:column}.head-actions{width:100%}.head-actions .btn{flex:1}.panel{padding:19px;border-radius:19px}.panel h2{font-size:17px}.form-grid{grid-template-columns:1fr 1fr;gap:10px}.form-stack{gap:14px}.ai-side{grid-template-columns:1fr}.tips-card{padding:23px}.student-hero{min-height:218px;padding:21px 22px}.student-hero h1{font-size:30px}.student-hero p{max-width:220px;font-size:10px}.target-illustration{position:absolute;left:-42px;top:33px;opacity:.36;transform:scale(.7)}.student-hero-text{z-index:1}.stat-unit{font-size:9px}.path-item{gap:8px;padding:15px 12px;border-radius:15px}.path-number{width:23px;height:23px}.path-icon{width:43px;height:43px;border-radius:12px;font-size:23px}.path-item strong{font-size:11px}.path-item small{font-size:9px}.path-go{font-size:9px}.lesson-head{margin-bottom:15px}.lesson-title h1{font-size:25px}.lesson-badge{width:58px;height:58px;font-size:32px;border-radius:17px}.lesson-panel{padding:20px;border-radius:18px}.quiz-step{padding:19px;border-radius:19px}.question-text{font-size:18px}.option-grid{grid-template-columns:1fr}.option-choice{padding:14px 12px;font-size:13px}.quiz-nav{bottom:85px;padding:10px 9px;gap:8px}.quiz-nav .btn{padding:10px 13px;font-size:11px}.quiz-progress{height:7px}.editor-submit{align-items:stretch;flex-direction:column}.editor-submit .btn{width:100%}.review-question h3{font-size:15px}.auth-shell{padding:32px 22px}.form-grid label{font-size:10px}.install-shell .form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* ChatGPT Plus lesson studio — no in-browser API keys */
.plus-banner{display:flex;align-items:center;gap:16px;border:2px solid #b5dcce;background:#e9f8f1;border-radius:22px;padding:17px 22px;margin:0 0 25px;color:#184d47}
.plus-banner strong{font-size:15px}.plus-banner p{font-size:12px;margin:5px 0 0;line-height:1.8}.plus-symbol{font-size:33px;flex:none}
.prompt-ready{border:1px solid #cbdadf;background:#f8fcfd;border-radius:16px;padding:16px;display:block}.prompt-ready[hidden]{display:none}
.prompt-ready textarea{font-size:12px;line-height:1.75;direction:rtl;resize:vertical}.prompt-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.prompt-actions>.btn{flex:1}
.import-panel{margin-top:26px}.import-panel h2{font-size:20px;margin-bottom:8px}.import-panel>p{max-width:780px;line-height:1.8}
.import-panel textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.65;direction:ltr;text-align:left}
.integration-note{margin-top:16px;background:#f6f9fc;border-radius:16px;border:1px solid #dfeaf0;padding:20px 22px;color:#385765}
.integration-note strong{font-size:14px}.integration-note p{font-size:12px;line-height:1.9;margin:7px 0 0}.integration-note a{color:#0b687b;font-weight:800;text-decoration:underline}
.integration-settings{margin-top:22px}.integration-settings>p{line-height:1.8}.bridge-token-box{margin:14px 0;padding:15px;border:1px solid #c6dfda;background:#f0faf8;border-radius:14px;display:grid;gap:10px}
.bridge-token-box input{font:13px ui-monospace,monospace;min-width:0;width:100%;padding:11px;border:1px solid #c1d6dd;border-radius:9px;background:white;direction:ltr}
.integration-settings code{word-break:break-all}
@media(max-width:790px){.plus-banner{padding:15px;gap:12px;border-radius:17px}.plus-symbol{font-size:23px}.plus-banner strong{font-size:12px}.plus-banner p{font-size:10px}.prompt-actions{flex-direction:column;align-items:stretch}.prompt-actions>.btn,.prompt-actions form,.prompt-actions form button{width:100%}.import-panel h2{font-size:17px}.integration-note{padding:15px}}
