:root{color-scheme:light;--bg:#f3f6f5;--card:#fff;--ink:#172b2d;--mut:#687a7b;--line:#dce5e2;--acc:#0f766e;--acc2:#dff4ef;--orange:#b45309;--blue:#1d4ed8;--shadow:0 5px 18px rgba(20,50,45,.045)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#101b1d;--card:#192729;--ink:#edf5f3;--mut:#9aacab;--line:#2b4040;--acc:#2dd4bf;--acc2:#183b37;--orange:#fbbf6a;--blue:#8fb0ff;--shadow:0 5px 18px rgba(0,0,0,.12)}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 "Segoe UI",Tahoma,Arial,sans-serif;padding:0 16px 35px}header,main,nav,footer{max-width:920px;margin:0 auto}header{padding:25px 0 12px}.brand{display:flex;align-items:center;gap:13px}.brand-icon{width:48px;height:48px;border-radius:15px;background:var(--acc);color:white;display:grid;place-items:center;font-weight:800;letter-spacing:1px}.brand h1{font-size:1.45rem;margin:0}.brand h1 small{font-size:.85rem;color:var(--acc);margin-inline-start:7px}.brand p{margin:0;color:var(--mut);font-size:.9rem}.top-stats{display:flex;justify-content:space-between;gap:12px;color:var(--mut);font-size:.85rem;margin-top:12px}.streak{color:#c27619}nav{display:flex;gap:9px;overflow-x:auto;padding:12px 0 15px;scrollbar-width:thin}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--acc);outline-offset:2px}#months button{flex:1 0 105px;border:1px solid var(--line);background:var(--card);border-radius:13px;padding:9px 13px;text-align:center;box-shadow:var(--shadow)}#months button b,#months button span{display:block}#months button b{font-size:1rem;color:var(--acc)}#months button span{font-size:.78rem;color:var(--mut)}#months button.on{background:var(--acc);border-color:var(--acc);color:#fff}#months button.on b,#months button.on span{color:#fff}.level-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0}.eyebrow{color:var(--acc);font-size:.78rem;font-weight:700}.level-heading h2{font-size:1.25rem;margin:2px 0}.level-heading p{color:var(--mut);margin:0;font-size:.88rem}.level-pill{background:var(--acc2);color:var(--acc);border-radius:999px;padding:5px 13px;font-weight:800}.dashboard{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin:12px 0 20px}.dash-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px;box-shadow:var(--shadow);min-width:0}.dash-card b{display:block;font-size:1.35rem}.dash-card small,.dash-card>span:not(.dash-icon){display:block;color:var(--mut);font-size:.78rem}.dash-icon{font-size:1.1rem}.main-progress .dash-top{display:flex;justify-content:space-between;align-items:center;font-size:.88rem}.main-progress .dash-top b{color:var(--acc)}.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin:9px 0}.progress i{display:block;height:100%;background:var(--acc);border-radius:99px;transition:width .2s}.tabs{display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid var(--line);margin:10px 0;padding-bottom:0}.tabs button{white-space:nowrap;background:none;border:0;padding:11px 13px;border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--mut);font-size:.9rem}.tabs button.on{color:var(--acc);border-color:var(--acc);font-weight:700}.count{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:99px;background:var(--acc2);color:var(--acc);font-size:.75rem;padding:0 5px}#days{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin:14px 0}#days button{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:7px 0;box-shadow:var(--shadow)}#days button.on{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}#days button.done{background:var(--acc);color:#fff;border-color:var(--acc)}#days button:disabled{opacity:.25;cursor:not-allowed}.section-head,.sec{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 10px}.section-head h3,.sec h3{margin:0;font-size:1.05rem}.section-head p{margin:2px 0 0;color:var(--mut);font-size:.83rem}.muted{color:var(--mut);font-size:.8rem}.list{display:grid;gap:8px}.word-card,.sentence-card{display:grid;grid-template-columns:30px 1fr auto auto;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow)}.word-card:nth-child(-n+15){border-inline-start:4px solid var(--orange)}.word-card.learned{opacity:.72}.word-card.learned .de:after{content:' ✓';color:var(--acc);font-size:.8rem}.sentence-card{grid-template-columns:30px 1fr auto}.num{color:var(--mut);font-size:.8rem;text-align:center}.de{font-weight:750;font-size:1.08rem;direction:ltr;text-align:left;unicode-bidi:isolate}.ar{color:var(--mut);font-size:.9rem}.hide .ar{filter:blur(6px);user-select:none;cursor:pointer}.hide .ar:hover{filter:none}.icon-btn{border:1px solid var(--line);background:transparent;border-radius:50%;width:35px;height:35px}.learned-btn.active{background:var(--acc);color:#fff;border-color:var(--acc)}.tool,.primary{border-radius:9px;padding:8px 13px;font-size:.88rem}.tool{border:1px solid var(--line);background:var(--card)}.primary{border:1px solid var(--acc);background:var(--acc);color:#fff;font-weight:700}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.quiz-card,.result-card,.empty-state,.note{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);margin:16px 0}.quiz-meta{display:flex;justify-content:space-between;color:var(--mut);font-size:.88rem}.quiz-instruction{text-align:center;color:var(--mut);margin:20px 0 5px}.quiz-word{font-size:2rem;font-weight:800;text-align:center;margin:5px 0 20px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.option{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px}.option:disabled{cursor:default;opacity:1}.option.correct{background:#dff5e8;color:#17633b;border-color:#55a879}.option.wrong{background:#fde8e7;color:#a32d2d;border-color:#dc7770}.feedback{text-align:center;padding:10px;border-radius:9px;margin:14px 0}.feedback.good{background:#dff5e8;color:#17633b}.feedback.bad{background:#fde8e7;color:#a32d2d}.next-question{width:100%}.hint{text-align:center;color:var(--mut);font-size:.82rem}.result-card,.empty-state{text-align:center}.result-emoji,.empty-state>div{font-size:2.4rem}.score{font-size:2.4rem;font-weight:800;color:var(--acc)}.result-card p,.empty-state p{color:var(--mut)}.note{text-align:center;color:var(--mut)}footer{text-align:center;color:var(--mut);font-size:.82rem;padding:25px 0 5px}
@media(max-width:650px){body{padding-inline:12px}.dashboard{grid-template-columns:repeat(3,1fr)}.main-progress{grid-column:1/-1}.dash-card{padding:10px}.dash-card b{font-size:1.15rem}.tabs button{padding-inline:10px;font-size:.82rem}#days{grid-template-columns:repeat(6,1fr)}.word-card{grid-template-columns:24px 1fr auto auto;padding:9px}.de{font-size:1rem}.ar{font-size:.83rem}.quiz-options{grid-template-columns:1fr}.level-heading h2{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Course, workbook and external learning resources */
.course-intro{background:linear-gradient(135deg,#0f766e,#155e75);color:#fff;border-radius:20px;padding:22px;margin:18px 0}
.course-intro h3{font-size:1.35rem;margin:0 0 8px}.course-intro p{margin:0;color:#e0f2fe;line-height:1.8}
.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px;margin:16px 0}
.course-card,.resource-card,.book-unit{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:16px;box-shadow:0 4px 18px rgba(15,23,42,.04)}
.course-card h4,.resource-card h4{margin:8px 0;font-size:1.05rem}.course-card p,.resource-card p,.book-unit p{line-height:1.75;color:var(--muted,#64748b);margin:7px 0}
.course-card summary{cursor:pointer;list-style:none}.course-card summary::-webkit-details-marker{display:none}.course-card[open]{border-color:#0d9488}
.course-tag{display:inline-flex;background:#ccfbf1;color:#115e59;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:700}
.lesson-body{border-top:1px solid var(--border,#e5e7eb);margin-top:13px;padding-top:12px;line-height:1.9}.lesson-body h5{margin:12px 0 5px}.lesson-example{background:var(--soft,#f1f5f9);border-radius:10px;padding:10px 12px;margin:8px 0;direction:ltr;text-align:left}.lesson-example b{display:block}.lesson-example span{color:var(--muted,#64748b);direction:rtl;text-align:right;display:block}
.lesson-table{width:100%;border-collapse:collapse;margin:10px 0}.lesson-table th,.lesson-table td{border:1px solid var(--border,#e5e7eb);padding:8px;text-align:center}.lesson-table th{background:var(--soft,#f1f5f9)}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}.resource-link{display:inline-flex;align-items:center;gap:7px;color:#0f766e;font-weight:800;text-decoration:none;margin-top:8px}.resource-link:hover{text-decoration:underline}
.book-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:14px 0}.book-unit strong{display:block}.book-unit small{color:var(--muted,#64748b)}
.course-note{background:#fffbeb;border:1px solid #fde68a;color:#854d0e;border-radius:12px;padding:12px;line-height:1.8;margin:14px 0}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .course-tag{background:#134e4a;color:#ccfbf1}:root:not([data-theme="light"]) .course-note{background:#422006;border-color:#92400e;color:#fde68a}}

.tabs .tab-link{white-space:nowrap;display:inline-flex;align-items:center;text-decoration:none;color:var(--acc);font-weight:800;padding:11px 13px;border-bottom:3px solid var(--acc);margin-bottom:-1px;font-size:.9rem}
@media(max-width:650px){.tabs .tab-link{padding-inline:10px;font-size:.82rem}}

/* manual theme (ui.js) */
:root[data-theme="light"]{color-scheme:light;--bg:#f3f6f5;--card:#fff;--ink:#172b2d;--mut:#687a7b;--line:#dce5e2;--acc:#0f766e;--acc2:#dff4ef;--orange:#b45309;--blue:#1d4ed8;--shadow:0 5px 18px rgba(20,50,45,.045)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101b1d;--card:#192729;--ink:#edf5f3;--mut:#9aacab;--line:#2b4040;--acc:#2dd4bf;--acc2:#183b37;--orange:#fbbf6a;--blue:#8fb0ff;--shadow:0 5px 18px rgba(0,0,0,.12)}
:root[data-theme="dark"] .course-tag{background:#134e4a;color:#ccfbf1}
:root[data-theme="dark"] .course-note{background:#422006;border-color:#92400e;color:#fde68a}
#months button.locked,#days button.locked{opacity:.5;position:relative;cursor:not-allowed}
#months button.locked::after,#days button.locked::after{content:"🔒";position:absolute;top:3px;inset-inline-end:5px;font-size:.7rem}
.writing-note{background:var(--acc2);border:1px solid var(--line);border-inline-start:5px solid var(--acc);border-radius:12px;padding:11px 14px;margin:12px 0;line-height:1.8}

/* V23 accessibility improvements */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #2563eb;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V42: قائمة تعلم عمودية واسعة مع مساحة مستقلة للمحتوى */
body:has(.learning-shell) header,body:has(.learning-shell) main,body:has(.learning-shell) nav,body:has(.learning-shell) footer{max-width:1320px}
.learning-shell{display:grid;grid-template-columns:minmax(310px,365px) minmax(0,1fr);gap:24px;align-items:start;margin:22px 0 30px}
.learning-menu,.learning-workspace{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);min-width:0}
.learning-menu{padding:20px;position:relative}.learning-workspace{padding:clamp(14px,2.6vw,30px);min-height:650px}
.menu-heading h2{font-size:1.32rem;margin:3px 0 4px}.menu-heading p{font-size:.9rem;color:var(--mut);line-height:1.7;margin:0 0 16px}
.menu-subheading{margin:18px 3px 8px;border-top:1px solid var(--line);padding-top:15px}.menu-subheading h3{font-size:1rem;margin:0}
.learning-menu .tabs,.learning-menu .menu-links{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:0;padding:0;border:0;overflow:visible}
.learning-menu .tabs .menu-entry,.learning-menu .menu-links .menu-entry{display:flex;align-items:center;gap:13px;min-width:0;width:100%;padding:13px 14px;text-align:right;white-space:normal;background:var(--bg);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);font:inherit;transition:border-color .15s,background .15s;box-sizing:border-box}
.learning-menu .tabs .menu-entry.on,.learning-menu .menu-entry:hover,.learning-menu .menu-entry:focus-visible{background:var(--acc2);border-color:var(--acc);color:var(--ink)}
.learning-menu .tabs .menu-entry.on{box-shadow:inset 4px 0 0 var(--acc)}
.menu-icon{flex:0 0 45px;height:45px;width:45px;border-radius:13px;display:grid;place-items:center;background:var(--card);font-size:1.35rem}
.menu-copy{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.menu-copy strong{font-size:1rem;font-weight:750;line-height:1.5}.menu-copy small{color:var(--mut);font-size:.83rem;line-height:1.5;white-space:normal}
.menu-chevron{font-size:1.35rem;color:var(--mut)}.workspace-heading{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:13px;align-items:center}
.workspace-heading strong{font-size:1.1rem}.workspace-heading span{color:var(--mut);font-size:.83rem}
.learning-workspace #days{grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:8px}
@media(max-width:1000px){.learning-shell{grid-template-columns:minmax(270px,310px) minmax(0,1fr);gap:14px}.learning-menu{padding:14px}}
@media(max-width:760px){.learning-shell{grid-template-columns:minmax(0,1fr);gap:16px}.learning-menu,.learning-workspace{padding:15px}.menu-copy strong{font-size:1.01rem}.learning-menu .tabs .menu-entry,.learning-menu .menu-links .menu-entry{min-height:68px}.learning-workspace{min-height:0}}

/* Accounts: optional cloud profile and gentle sync notice */
.cloud-account-link{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;background:var(--card,var(--paper,#fff));font-weight:650;white-space:nowrap}
.cloud-fresh-notice{position:fixed;bottom:16px;left:16px;right:auto;max-width:min(430px,calc(100vw - 32px));z-index:1000;padding:13px 16px;background:var(--card,var(--paper,#fff));color:var(--ink);border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 32px rgba(0,0,0,.15);line-height:1.7}
.cloud-fresh-notice a{color:var(--acc,var(--accent));font-weight:800;margin-inline-start:7px}
/* V43: full-width vertical learning menu; content is not squeezed into a narrow column. */
.learning-shell{grid-template-columns:minmax(0,1fr);max-width:1100px;margin:23px auto 36px;gap:18px}
.learning-menu{padding:clamp(17px,3vw,28px)}
.learning-menu .tabs,.learning-menu .menu-links{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
.learning-menu .tabs .menu-entry,.learning-menu .menu-links .menu-entry{min-height:74px;width:100%;padding:13px 18px}
.learning-menu .menu-copy strong{font-size:1.08rem}.learning-menu .menu-copy small{font-size:.87rem}
.learning-menu .menu-icon{width:50px;height:50px;flex-basis:50px}
.learning-workspace{min-height:480px;padding:clamp(18px,3.5vw,36px)}
.menu-jump{display:inline-flex;align-items:center;gap:8px;margin-top:17px;color:var(--acc);font-weight:750;text-decoration:none}
@media(max-width:760px){.learning-shell{margin:16px auto}.learning-menu .tabs .menu-entry,.learning-menu .menu-links .menu-entry{min-height:74px}}

/* V52: compact horizontal learning navigation; full-width lesson workspace */
.learning-shell{display:flex;flex-direction:column;max-width:1250px;gap:18px;margin:20px auto 32px}
.learning-menu{padding:clamp(14px,2.5vw,22px)}
.learning-menu .tabs,.learning-menu .menu-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;overflow:visible}
.learning-menu .tabs .menu-entry,.learning-menu .menu-links .menu-entry{display:flex;flex-direction:row;align-items:center;min-height:84px;padding:12px;gap:10px;width:100%;white-space:normal;text-align:right}
.learning-menu .menu-icon{width:41px;height:41px;flex:0 0 41px;font-size:1.1rem}
.learning-menu .menu-copy strong{font-size:.99rem;line-height:1.4}
.learning-menu .menu-copy small{font-size:.78rem;line-height:1.35}
.learning-workspace{width:100%;min-height:420px}
@media(min-width:900px){.learning-menu .menu-links{grid-template-columns:repeat(4,minmax(0,1fr))}.learning-menu .tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:580px){.learning-menu .tabs,.learning-menu .menu-links{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-menu .tabs .menu-entry,.learning-menu .menu-links .menu-entry{min-height:92px;padding:10px 8px;gap:7px}.learning-menu .menu-icon{width:32px;height:32px;flex-basis:32px;font-size:1rem}.learning-menu .menu-copy strong{font-size:.9rem}.learning-menu .menu-copy small{font-size:.72rem}.menu-chevron{display:none}}
@media(max-width:360px){.learning-menu .tabs,.learning-menu .menu-links{grid-template-columns:1fr}}

/* V53: automatically reveal chosen section without hiding the start beneath the viewport edge. */
#view{scroll-margin-top:20px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
