/* Saudi learner workspace. Codex, 2026-10-20. System fonts, no remote assets. */
:root{--bg:#f5f7f8;--paper:#fff;--ink:#1f2933;--muted:#52606d;--accent:#14634d;--line:#ccd6d4;--focus:#245ec7;--error:#9d2634;font-family:Tahoma,"Arial",sans-serif;color:var(--ink);background:var(--bg);font-size:18px;line-height:1.7;color-scheme:light}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:.22em}button,input,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.6rem 1.1rem;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;line-height:1.4;text-decoration:none}button:disabled{cursor:wait;opacity:.65}.quiet{background:transparent;color:var(--accent)}button:hover,.button:hover{filter:brightness(.96)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}textarea,input{color:var(--ink);background:#fff}textarea{display:block;width:100%;border:1px solid #899e9a;border-radius:6px;padding:14px;margin-top:10px;resize:vertical;font-size:18px;min-height:170px;line-height:1.7}input[type=radio]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}input[type=text]{width:100%;border:1px solid #899e9a;border-radius:5px;min-height:46px;padding:7px 10px;direction:ltr}fieldset{border:0;margin:0;padding:0;min-inline-size:0}legend{padding:0;max-width:100%}label{display:block}h1,h2,p{margin-top:0}h1{font-size:clamp(1.75rem,4vw,2.35rem);line-height:1.4;font-weight:700;margin-bottom:16px;letter-spacing:-.02em}h2{font-size:1.25rem;line-height:1.5;margin-bottom:12px}p{margin-bottom:16px}a,button,textarea,input{touch-action:manipulation}a,button,p,h1,h2{overflow-wrap:anywhere}.english{font-family:Arial,sans-serif;text-align:left;line-height:1.75;letter-spacing:.005em}.preserved{white-space:pre-wrap}.muted,.footnote{color:var(--muted)}.footnote{font-size:.8rem;margin-top:18px}.lead{font-size:1.1rem;max-width:58ch}.eyebrow{font-size:.82rem;color:var(--accent);font-weight:700;margin:0 0 10px}.step{font-weight:700;font-size:.88rem;color:var(--accent);margin-bottom:16px}.paper{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:28px;margin-bottom:24px}.masthead{max-width:1180px;min-height:88px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 30px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--accent);border-radius:10px;color:#fff;font-size:24px}.header-actions{display:flex;gap:22px;align-items:center;font-size:.82rem}.header-actions a{min-height:44px;display:flex;align-items:center}.demo-note{background:#e9efec;border-block:1px solid #cbd8d2;text-align:center;padding:9px 20px;font-size:.75rem;color:#355547}main{max-width:1120px;margin:54px auto 80px;padding:0 30px;min-height:55vh}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.path-entry{display:block;color:var(--ink);text-decoration:none;border-block:2px solid var(--line);padding:28px 24px;background:#fff}.path-entry:hover{border-color:var(--accent)}.path-entry p{color:var(--muted);font-size:.95rem}.path-number{font-family:Arial,sans-serif;color:var(--accent);font-size:.85rem;display:block;margin-bottom:20px}.entry-action{color:var(--accent);font-weight:700;font-size:.9rem}.back{display:inline-block;margin-bottom:28px;min-height:44px;padding:6px 0}.next-task{border-inline-start:4px solid var(--accent);margin-top:24px}.task-bottom{display:flex;gap:20px;align-items:center;margin-top:28px;flex-wrap:wrap}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start}.workspace-heading{display:flex;align-items:start;justify-content:space-between;gap:24px}.save-state{font-size:.8rem;color:var(--muted);max-width:32ch}.passage{font-size:1.1rem;line-height:1.9;max-width:65ch}.reading{border-top:3px solid var(--accent)}.question{margin:0 0 22px}.question legend{font-weight:700}.option{display:flex;align-items:center;gap:10px;min-height:46px;margin:8px 0;padding:8px 10px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}.notes-grid label{font-size:.8rem}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.notice{padding:14px 18px;border-inline-start:3px solid #8d713d;background:#faf6ec;font-size:.88rem}.error{padding:14px 18px;border:1px solid #bf8790;background:#fff5f4;color:var(--error)}details{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem}summary{cursor:pointer;min-height:44px;font-weight:700}details p{margin-top:14px}.feedback{max-width:850px}.feedback li{margin-block:10px}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.teacher-note{border-top:1px solid var(--line);padding-top:16px}.review-form{border-top:1px solid var(--line);padding-top:20px}.review-form textarea{min-height:100px}.review-form label{font-weight:700}.review-block{margin-bottom:28px}.review-state{font-size:.85rem;color:var(--muted)}footer{max-width:1120px;margin:0 auto;padding:24px 30px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.75rem}.skip{position:absolute;top:-100px;right:20px;padding:10px;background:#fff;z-index:5}.skip:focus{top:10px}[hidden]{display:none!important}
@media(max-width:760px){main{margin-top:28px;padding:0 18px}.masthead{padding:14px 18px;gap:12px}.brand{font-size:.9rem;gap:8px}.brand-mark{width:34px;height:34px}.header-actions{gap:10px}.header-actions a{max-width:90px;line-height:1.4}.header-actions button{padding:8px;min-width:64px}.entry-grid,.work-grid,.evidence-grid{grid-template-columns:1fr;gap:16px}.paper{padding:22px 18px;margin-bottom:18px}.entry-grid{margin-top:24px}.path-entry{padding:20px}.workspace-heading{display:block}.save-state{max-width:none;min-height:30px}.notes-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}footer{padding:20px 18px 32px;flex-direction:column;gap:6px}.passage{font-size:1.05rem}.demo-note{font-size:.72rem;text-align:start}.reading{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#language{white-space:nowrap;min-width:78px}

/* Batch2: card hierarchy adapted from GRE learn.php:2298–2405; no game/media. */
.lesson-words{padding:24px 0;margin-bottom:24px;border-block-end:1px solid var(--line)}.lesson-words h2{margin-bottom:6px}.lesson-words p{color:var(--muted)}#vocabulary{max-width:820px;margin:auto}.vocab-progress{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:24px 0 12px;font-size:.88rem;font-weight:600}.vocab-progress progress{width:100%;height:8px;accent-color:var(--accent)}.learn-word-card{padding:32px;text-align:center;min-height:430px}.learn-word-text{font-size:42px;font-weight:800;color:var(--ink);margin:6px 0 24px;letter-spacing:1px;text-align:center}.learn-meaning-area{border-top:1px solid var(--line);padding-top:22px;min-height:160px}.learn-meaning-text{font-size:26px;line-height:1.7;margin-bottom:6px}.learn-example{font-size:20px;line-height:1.8;margin:12px auto 24px;max-width:55ch;text-align:center}.learn-action-btns{display:flex;gap:16px;justify-content:center;margin-top:22px}.learn-action-btns button{min-width:220px}#vocabForm{max-width:460px;margin:20px auto;text-align:start}#vocabForm input{font-size:22px;min-height:54px;margin:10px 0 16px}#vocabForm button{width:100%}.vocab-feedback{font-size:1rem;padding:16px;background:#e9f2ee;border-inline-start:3px solid var(--accent);text-align:start}.vocab-records{padding:0;list-style:none}.vocab-records li{display:flex;gap:20px;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.vocab-records li strong{font-size:1.2rem}.vocab-records li span{font-size:.85rem;color:var(--muted)}#vocabResults .button{margin:12px 0}#vocabSave{max-width:none;min-height:28px}#vocabConflict button{margin:6px}
@media(max-width:760px){.learn-word-card{padding:24px 18px;min-height:450px}.learn-word-text{font-size:38px}.learn-meaning-text{font-size:23px}.learn-action-btns{flex-direction:column}.learn-action-btns button{width:100%;min-width:0}.vocab-records li{align-items:start;gap:12px}.vocab-records li span{max-width:65%}}

/* SA-03 (agent-5, 2026-10-21): app shell — top bar identity/entry/user menu,
 * 8-section sidebar (inline-start: right in Arabic RTL, left in English LTR),
 * collapsible icon rail, narrow-screen drawer, and login/settings/privacy/
 * courses/section pages. Existing colors, fonts and card rules above unchanged. */
.quiet-button{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 1.1rem;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:600;text-decoration:none;background:transparent}
.masthead-start{display:flex;gap:14px;align-items:center;min-width:0}
#menuButton{min-width:64px}
.position{font-size:.82rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32ch}
.shell-body{max-width:1400px;margin:0 auto;display:flex;align-items:flex-start;gap:0}
.shell-body main{flex:1;min-width:0}
.sidebar{flex-shrink:0;width:248px;padding:24px 12px 24px 0;position:sticky;top:0}
.sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.sidebar-list a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;border-inline-start:4px solid transparent}
.sidebar-list a:hover{background:#e9efec}
.sidebar-list a[aria-current="page"]{border-inline-start-color:var(--accent);background:var(--paper);box-shadow:0 1px 2px rgba(31,41,51,.08)}
.sidebar-list a[aria-current="page"] .nav-label{font-weight:800;text-decoration:underline;text-underline-offset:.22em}
.sidebar-list a[aria-current="page"] .nav-icon{background:var(--accent);color:#fff}
.nav-icon{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--accent);font-weight:800;font-size:.95rem}
.collapse-button{width:100%;margin-bottom:10px;font-size:.85rem}
.sidebar.collapsed{width:76px;padding-inline-end:8px}
.sidebar.collapsed .nav-label,.sidebar.collapsed .collapse-label{display:none}
.sidebar.collapsed .sidebar-list a{justify-content:center;padding:10px 6px;gap:0}
.drawer-scrim{position:fixed;inset:0;background:rgba(31,41,51,.45);z-index:40}
.user-menu{position:relative}
.user-menu-list{position:absolute;inset-inline-end:0;top:calc(100% + 6px);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px;min-width:220px;z-index:50;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 24px rgba(31,41,51,.14)}
.user-menu-list a,.user-menu-list button{min-height:44px;display:flex;align-items:center;padding:8px 12px;border-radius:8px;text-decoration:none}
.user-menu-list .footnote{margin:4px 12px 8px}
.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;align-items:start}
.login-grid label{font-weight:700;margin-top:14px}
.login-grid input,.login-grid select{width:100%;border:1px solid #899e9a;border-radius:5px;min-height:46px;padding:7px 10px;margin-top:6px;background:#fff;color:var(--ink)}
.login-grid button{margin-top:20px;width:100%}
.page-state{padding:28px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);margin-bottom:24px;background:var(--paper)}
.page-state.error-state{border:1px solid #bf8790;border-style:solid;background:#fff5f4;color:var(--error)}
.course-card{margin-bottom:20px}
.course-card .badge{display:inline-block;padding:3px 10px;border-radius:999px;background:#faf6ec;border:1px solid #8d713d;color:#6b5410;font-size:.78rem;font-weight:700;margin-bottom:10px}
.section-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.record-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}
.record-row .muted{font-size:.85rem}
@media(max-width:1000px){
  .sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(320px,85vw);background:var(--bg);z-index:50;padding:18px;border-inline-end:1px solid var(--line);overflow-y:auto;box-shadow:0 0 32px rgba(31,41,51,.2)}
  .sidebar.collapsed{width:min(320px,85vw)}
  .sidebar.collapsed .nav-label,.sidebar.collapsed .collapse-label{display:inline}
  .sidebar.collapsed .sidebar-list a{justify-content:flex-start;padding:10px 14px;gap:12px}
  .position{display:none}
}
@media(max-width:760px){
  .login-grid,.section-cards{grid-template-columns:1fr}
  .user-menu-list{min-width:200px}
}
@media(min-width:1001px){#menuButton{display:none!important}.drawer-scrim{display:none!important}}
/* SA-04 (agent-7): unscoped draft badge for the vocab card and word-detail page;
 * the more specific .course-card .badge rule above still wins on course cards. */
.badge{display:inline-block;padding:3px 10px;border-radius:999px;background:#faf6ec;border:1px solid #8d713d;color:#6b5410;font-size:.78rem;font-weight:700;margin-bottom:10px}
