:root{--green:#174f43;--dark:#103c33;--mint:#e8efe7;--paper:#f6f5ef;--ink:#233a33;--muted:#737e76;--line:#dfe5dc;--gold:#ba8b47;--white:#fff;--red:#aa4c3b;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Cairo,Tahoma,Arial,sans-serif;color:var(--ink);font-size:14px;line-height:1.8}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.apphead{height:82px;padding:0 3.2%;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line);gap:20px;position:sticky;top:0;z-index:20}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-size:16px;white-space:nowrap}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.8px;color:var(--muted)}.mark{width:45px;height:45px;border-radius:15px 15px 4px 15px;display:grid;place-items:center;background:var(--green);color:white;font-size:33px}.headnav{display:flex;align-items:center;gap:26px}.headnav a{font-size:12px;color:var(--muted)}.headnav a.active{color:var(--green);font-weight:800}.headtools{display:flex;align-items:center;gap:9px}.iconbtn{width:37px;height:37px;display:inline-grid;place-items:center;border:1px solid var(--line);background:white;border-radius:50%;color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);border:1px solid var(--green);color:white;border-radius:9px;padding:11px 20px;font-weight:700;font-size:13px;text-align:center}.btn.secondary{background:transparent;color:var(--green)}.btn.white{background:white;color:var(--green);border-color:white}.btn.small{padding:7px 13px;font-size:11px}.btn.ghost{background:white;color:var(--muted);border-color:var(--line)}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:23px}.role-switch{display:flex;padding:4px;background:#f1f3ed;border:1px solid var(--line);border-radius:10px;gap:3px}.role-switch button{border:0;background:none;padding:6px 13px;border-radius:7px;color:var(--muted);font-size:11px}.role-switch button.active{background:white;color:var(--green);box-shadow:0 2px 5px #183e2b0c;font-weight:800}.demo-bar{text-align:center;padding:7px 16px;color:#718071;font-size:10px;background:#eaf0e5;border-bottom:1px solid var(--line)}.shell{display:grid;grid-template-columns:215px minmax(0,1fr);max-width:1500px;margin:auto}.sidebar{padding:32px 23px;border-inline-end:1px solid var(--line);min-height:calc(100vh - 113px);position:sticky;top:113px;height:calc(100vh - 113px);display:flex;flex-direction:column}.side-label{font-size:10px;color:var(--muted);margin:0 11px 14px}.sidelink{display:flex;gap:11px;align-items:center;padding:12px;margin-bottom:5px;border-radius:9px;font-size:12px;color:var(--muted)}.sidelink .ico{width:18px;height:18px}.sidelink.active{background:var(--green);color:white;font-weight:700}.sideunit{border-top:1px solid var(--line);margin-top:20px;padding:20px 10px}.sideunit b{font-size:12px}.sideunit p{font-size:10px;color:var(--muted)}.profile{margin-top:auto;display:flex;gap:10px;align-items:center;padding:18px 4px 0;border-top:1px solid var(--line);font-size:12px}.profile small{display:block;color:var(--muted);font-size:9px}.avatar{border-radius:50%;display:grid;place-items:center;background:#e1e8db;color:var(--green);width:38px;height:38px}.content{padding:34px 38px 60px;min-width:0}.landing{max-width:1220px;margin:auto;padding:42px 30px 70px}h1,h2,h3,h4{line-height:1.65}h1{font-size:34px;letter-spacing:-.8px;margin:9px 0 12px}h2{font-size:24px;margin:6px 0 14px}h3{font-size:16px;margin:0 0 10px}h4{font-size:13px;margin:0 0 6px}p{color:var(--muted);margin:9px 0;line-height:1.95}.eyebrow{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:1px}.muted{color:var(--muted)}.sub{font-size:12px}.tiny{font-size:10px}.page-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.crumb{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;margin-bottom:12px}.crumb .ico{width:13px;height:13px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.card.flush{padding:0;overflow:hidden}.card.soft{background:var(--mint)}.cardhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.cardhead h3{margin:0}.tag{display:inline-flex;gap:5px;align-items:center;border-radius:20px;background:var(--mint);color:var(--green);font-size:10px;padding:4px 11px;white-space:nowrap}.tag.gold{background:#f6eddb;color:#8c652c}.tag.gray{background:#f1f3ef;color:#7b867b}.tag.red{background:#f9eae5;color:var(--red)}.tag .ico{width:12px;height:12px}.split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr);gap:22px;align-items:start}.stack{display:grid;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.banner{background:var(--green);color:white;border-radius:18px;padding:29px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative;overflow:hidden}.banner h2{font-size:29px;margin:9px 0 12px}.banner p{color:#c9dcd2;max-width:570px;font-size:12px}.banner .tag{background:#ffffff19;color:#e4efdf}.hero-visual{min-width:150px;width:190px;height:170px;position:relative;display:grid;place-items:center}.cup{width:100%;height:100%;color:#cddbc2}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:17px 19px}.metric strong{font-size:25px;display:block;color:var(--green);line-height:1.6}.metric span{font-size:10px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0 26px}.progress{height:6px;background:#e8ede5;border-radius:5px;overflow:hidden;margin:13px 0}.progress>i{display:block;height:100%;background:var(--gold);border-radius:5px}.path{display:flex;gap:0;margin:25px 0 27px;border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden}.path a{flex:1;padding:12px 8px;border-inline-end:1px solid var(--line);font-size:10px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted)}.path a:last-child{border:0}.path a.active{background:#eaf0e7;color:var(--green);font-weight:800}.path a.done .stepnum{background:var(--green);color:white}.stepnum{border:1px solid #cbd5c8;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:10px;flex-shrink:0}.unitrow{display:flex;align-items:center;gap:15px;padding:18px 23px;border-bottom:1px solid var(--line)}.unitrow:last-child{border:0}.unitrow .round{flex-shrink:0}.unitrow .grow{flex:1}.unitrow p{font-size:11px;margin:3px 0 0}.round{width:40px;height:40px;border-radius:12px;background:var(--mint);color:var(--green);display:grid;place-items:center}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.outcomes{list-style:none;padding:0;margin:12px 0}.outcomes li{display:flex;align-items:start;gap:10px;padding:8px 0;font-size:12px}.outcomes .ico{color:var(--green);width:16px;height:16px;margin-top:4px}.note{font-size:11px;background:#f7efdf;color:#8b6d39;padding:13px 17px;border-radius:9px;line-height:1.9}.note.info{background:#edf1eb;color:#56705b}.note.error{background:#faeae5;color:var(--red)}.dialogue{background:#f8f7f1;border:1px solid var(--line);border-radius:12px;padding:22px;margin:16px 0;direction:rtl}.dialogue .speaker{display:flex;gap:12px;margin:16px 0;align-items:start}.dialogue .speaker .avatar{width:30px;height:30px;font-size:10px;flex-shrink:0}.dialogue .phrase{color:var(--ink);font-size:20px}.dialogue .translation{font-size:11px;color:var(--muted)}.audio-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 0}.audio-tools label{font-size:10px}.audio-tools select{width:auto;padding:5px 8px;font-size:10px}.vocab{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.vocab button{border:1px solid var(--line);background:white;padding:13px;border-radius:9px;color:var(--green)}.vocab b{display:block;font-size:19px}.vocab small{font-size:10px;color:var(--muted)}label{font-size:12px;display:block;font-weight:700;margin-bottom:8px}input,textarea,select{width:100%;border:1px solid #cfd9cd;border-radius:8px;background:white;color:var(--ink);padding:11px 13px}textarea{resize:vertical;min-height:100px}input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--green);flex-shrink:0}input[type=range]{padding:0}fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}legend{font-size:14px;font-weight:700;margin-bottom:12px}.choice{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:white;padding:12px 15px;margin:9px 0;color:var(--ink);font-weight:500;text-align:start;width:100%}.choice:has(input:checked),.choice.chosen{border-color:var(--green);background:var(--mint)}.choice.correct{border-color:var(--green);background:var(--mint)}.choice.wrong{border-color:#dca89a;background:#fcf0e9}.field{margin-bottom:18px}.checkline{display:flex;align-items:start;gap:10px;font-size:12px;font-weight:500;margin:12px 0}.checkline input{margin-top:5px}.footerline{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);margin-top:25px;padding-top:17px}.phase-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.phase-tabs button{background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:11px 13px;white-space:nowrap;font-size:12px}.phase-tabs button.active{border-color:var(--green);color:var(--green);font-weight:800}.empty{text-align:center;padding:40px 20px}.empty .round{margin:auto auto 17px}.empty p{font-size:12px}.timeline{border-inline-start:1px solid var(--line);margin-inline-start:8px;padding-inline-start:24px}.event{position:relative;padding-bottom:23px;font-size:12px}.event:before{content:'';position:absolute;inset-inline-start:-30px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid white}.event small{display:block;color:var(--muted);font-size:10px}.scorecard{display:flex;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:10px;padding:15px;margin:12px 0;align-items:center}.scorecard strong{font-size:27px;color:var(--green)}.rubric{display:grid;gap:15px}.rubric-item{border:1px solid var(--line);border-radius:11px;padding:16px}.rubric-options{display:flex;gap:6px;margin-top:12px}.rubric-options label{flex:1;text-align:center;padding:9px 3px;border:1px solid var(--line);border-radius:7px;font-size:10px;font-weight:500;cursor:pointer;margin:0}.rubric-options label:has(input:checked){background:var(--mint);border-color:var(--green)}.rubric-options input{display:block;margin:0 auto 4px;width:14px;height:14px}.statusbox{padding:17px;border-radius:10px;background:var(--mint)}.statusbox p{font-size:12px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:start;padding:15px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:10px;font-weight:600;white-space:nowrap}td small{display:block;color:var(--muted);font-size:10px}.review-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.review-summary>div{background:var(--paper);border-radius:10px;padding:15px;text-align:center}.review-summary strong{display:block;font-size:24px;color:var(--green)}.review-summary small{font-size:9px}.landinghero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding:35px 0 50px}.landinghero h1{font-size:49px;line-height:1.6}.landinghero p{max-width:500px;font-size:15px}.illustration{height:390px;border-radius:130px 130px 20px 20px;background:#e1e8da;position:relative;display:grid;place-items:center;overflow:hidden}.illustration:before{content:'';border:1px solid #bdcdb5;border-radius:130px 130px 0 0;width:230px;height:300px;position:absolute;bottom:0;box-shadow:0 0 0 22px #d5dfcc,0 0 0 23px #bdcdb5}.illustration svg{width:210px;position:relative;color:var(--green)}.floating{position:absolute;background:white;padding:12px 17px;border-radius:10px;box-shadow:0 10px 25px #173e2810;font-size:11px}.floating.a{top:70px;right:20px}.floating.b{bottom:35px;left:20px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin:35px 0 20px;gap:15px}.levelgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.levelcard{border:1px solid var(--line);border-radius:12px;padding:20px;background:white}.levelcard b{font-size:24px;color:var(--green);display:block}.levelcard p{font-size:11px}.formbox{max-width:620px;margin:auto}.searchresults a{display:block;padding:13px;border-bottom:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:15px;padding:27px;width:min(600px,92vw);max-height:85vh;color:var(--ink)}dialog::backdrop{background:#163c3366}.dialoghead{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--dark);color:white;padding:12px 24px;box-shadow:0 6px 25px #0002;border-radius:9px;z-index:60;display:none;font-size:12px;max-width:90vw}audio{width:100%;margin:12px 0}.error-text{color:var(--red);font-size:11px}html[dir=ltr] .arrow{transform:rotate(180deg)}.section-space{margin-top:22px}.printonly{display:none}@media(min-width:1500px){.content{padding-inline:55px}}@media(max-width:1100px){.headnav{display:none}.shell{grid-template-columns:185px 1fr}.sidebar{padding-inline:15px}.content{padding:26px 24px}.split{grid-template-columns:1fr}.hero-visual{width:150px;min-width:130px}.landinghero{gap:30px}.landinghero h1{font-size:39px}.review-summary{grid-template-columns:repeat(4,1fr)}}@media(max-width:740px){.apphead{height:auto;min-height:76px;padding:13px 16px;gap:8px;flex-wrap:wrap}.brand{font-size:13px}.brand small{font-size:8px}.mark{width:37px;height:37px;font-size:29px}.headtools{gap:5px}.role-switch{order:3;width:100%;justify-content:center}.role-switch button{flex:1;padding:6px 10px}.demo-bar{font-size:9px}.shell{display:block}.sidebar{height:auto;min-height:0;position:static;padding:10px 12px;border:0;display:flex;flex-direction:row;overflow:auto;gap:4px;border-bottom:1px solid var(--line);background:white}.sidebar .side-label,.sidebar .sideunit,.sidebar .profile{display:none}.sidelink{margin:0;white-space:nowrap;font-size:10px;padding:9px 12px}.sidelink .ico{width:15px;height:15px}.content{padding:22px 16px 50px}h1{font-size:27px}h2{font-size:21px}.page-top{align-items:start}.page-top>.btn{font-size:10px;padding:9px 12px}.banner{padding:22px;align-items:start}.banner h2{font-size:23px}.hero-visual{display:none}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:20px}.metric span{font-size:9px}.path{overflow-x:auto}.path a{min-width:83px;flex-direction:column;gap:4px;font-size:9px;padding:11px 7px}.card{padding:19px}.unitrow{padding:15px;gap:10px}.unitrow .btn{padding:7px 10px}.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.vocab{gap:6px}.vocab button{padding:9px 5px}.vocab b{font-size:18px}.review-summary{grid-template-columns:repeat(2,1fr)}.rubric-options{gap:4px}.rubric-options label{font-size:9px;padding:8px 2px}.landing{padding:22px 18px 50px}.landinghero{grid-template-columns:1fr;gap:28px;padding:15px 0 30px}.landinghero h1{font-size:35px}.landinghero p{font-size:13px}.illustration{height:270px;border-radius:90px 90px 14px 14px}.illustration svg{width:170px}.illustration:before{height:220px}.floating.a{top:35px}.floating.b{bottom:20px}.levelgrid{grid-template-columns:repeat(2,1fr)}.scorecard strong{font-size:23px}.dialogue .phrase{font-size:19px}.footerline{align-items:start}.actions .btn{font-size:12px}.tablewrap{margin-inline:-8px}th,td{padding:12px 8px}}
@media print{.apphead,.sidebar,.demo-bar,.actions,.path,.no-print,.crumb,#toast{display:none!important}.shell{display:block}.content{padding:0}.card{break-inside:avoid}.printonly{display:block}.split{grid-template-columns:1fr}body{background:white}.page-top{margin-top:20px}.banner{color:var(--ink);background:#e8efe7}.banner p{color:var(--ink)}}

/* Shared approved logo, site header and navigation drawer. */
.mark.brand-logo{object-fit:contain;background:transparent;border-radius:0;display:block;flex-shrink:0}
