/* Focused learning shell. Loaded last; existing learning tools remain intact. */
[hidden] { display: none !important; }
:root { --focus-ink:#192c3b; --focus-muted:#586b78; --focus-brand:#176b61; --focus-paper:#fff; --focus-bg:#f4f6f5; --focus-line:#dce5e1; }
html[data-theme="night"] { --focus-ink:#edf5f2; --focus-muted:#b4c6be; --focus-brand:#80d8bc; --focus-paper:#172b28; --focus-bg:#10201e; --focus-line:#36534a; }
body { background:var(--focus-bg); color:var(--focus-ink); padding:0 24px 48px; font-family:'IBM Plex Sans Arabic',sans-serif; }
.holo-backdrop,.command-bridge,#learningJourneyBar,#dimensionBanner { display:none !important; }
body[data-focus-route] > .deck-workspace { display:none !important; }
body[data-focus-route="lesson"] #workspaceExplorer,body[data-focus-route="builder"] #workspaceBuilder,body[data-focus-route="doctor"] #workspaceDoctor,body[data-focus-route="arena"] #workspaceMatrix { display:block !important; }
.focus-header { max-width:1280px; margin:0 auto 32px; padding:22px 0; display:flex; align-items:center; gap:32px; border-bottom:1px solid var(--focus-line); }
.focus-logo { color:var(--focus-ink); text-decoration:none; font-size:19px; font-weight:700; white-space:nowrap; }
.focus-logo span { color:var(--focus-brand); }
.focus-nav { display:flex; flex:1; gap:6px; flex-wrap:wrap; }
.focus-nav a { text-decoration:none; padding:9px 16px; border-radius:8px; color:var(--focus-muted); font-weight:600; }
.focus-nav a[aria-current="page"] { background:var(--focus-paper); color:var(--focus-brand); box-shadow:0 1px 4px #152e2610; }
.focus-header .theme-toggle-btn { font:inherit; font-size:13px; padding:8px 12px; border:1px solid var(--focus-line); background:transparent; box-shadow:none; border-radius:8px; color:var(--focus-muted); }
.focus-main,.focus-lesson-bar { max-width:1140px; margin:auto; }
.focus-main:focus { outline:none; }
.focus-eyebrow { font-size:13px; color:var(--focus-brand); font-weight:700; margin:0 0 10px; }
.focus-main h1 { font-size:clamp(26px,3vw,38px); line-height:1.5; margin:0 0 12px; letter-spacing:0; }
.focus-main h2 { font-size:22px; line-height:1.6; margin:0 0 10px; }
.focus-main h3 { font-size:18px; margin:0 0 8px; }
.focus-main p { color:var(--focus-muted); line-height:1.9; margin:0 0 16px; }
.focus-hero { padding:30px 0 34px; max-width:760px; }
.focus-primary,.focus-secondary { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--focus-line); border-radius:9px; min-height:44px; padding:10px 20px; text-decoration:none; font:600 15px 'IBM Plex Sans Arabic',sans-serif; cursor:pointer; background:var(--focus-paper); color:var(--focus-ink); box-shadow:none; }
.focus-primary { color:#fff; background:#176b61; border-color:#176b61; }
.focus-primary:hover { background:#105348; }
.focus-secondary:hover { border-color:var(--focus-brand); }
.focus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:20px 0 30px; }
.focus-card { background:var(--focus-paper); border:1px solid var(--focus-line); border-radius:14px; padding:24px; box-shadow:none; }
.focus-card p { font-size:15px; }
.focus-card .focus-primary,.focus-card .focus-secondary { margin-top:8px; }
.focus-card-top { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:16px; }
.focus-number { font:600 13px 'JetBrains Mono',monospace; color:var(--focus-brand); }
.focus-tag { display:inline-block; font-size:12px; background:var(--focus-bg); color:var(--focus-muted); padding:4px 10px; border-radius:5px; }
.focus-resume { display:flex; align-items:center; justify-content:space-between; gap:28px; border-inline-start:4px solid var(--focus-brand); }
.focus-resume p { margin-bottom:0; }
.focus-note { font-size:13px !important; margin:18px 0 !important; }
.focus-path { display:grid; gap:12px; margin:26px 0; }
.focus-path .focus-card { display:flex; gap:20px; align-items:center; }
.focus-path .focus-card > div { flex:1; }
.focus-path p { margin:0; }
.focus-lesson-bar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.focus-lesson-bar .focus-spacer { flex:1; }
.focus-lesson-bar a { color:var(--focus-muted); font-size:14px; }
.focus-lesson-bar .smart-drop-trigger { min-height:42px; font-size:13px; box-shadow:none; border-radius:8px; }
#workspaceExplorer .visible-goal-wizard,#workspaceExplorer .smart-selector-bar,#workspaceExplorer .xray-badges { display:none !important; }
#workspaceExplorer .studio-grid { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:22px; align-items:start; }
#workspaceExplorer .code-xray-bay,#workspaceExplorer .sim-monitor { border-radius:12px; box-shadow:none; border:1px solid var(--focus-line); }
.code-xray-bay h1 { font-size:21px; line-height:1.6; }
.xray-actions { flex-wrap:wrap; }
.action-btn,.ghost-sm-btn,.gentle-drawer-summary { box-shadow:none; }
body[data-focus-route="lesson"] #codeActionsDropdown { display:block !important; }
body[data-focus-route="lesson"] #zeroKnowledgeAccordion { display:block !important; margin-bottom:20px; }
.focus-intro { margin-bottom:20px; }
.focus-intro p { max-width:780px; }
.focus-intro details { margin-top:14px; }
.focus-intro summary { cursor:pointer; font-weight:600; padding:8px 0; }
.focus-intro li { line-height:1.9; color:var(--focus-muted); margin:8px 0; }
.focus-intro code,.focus-main code { direction:ltr; unicode-bidi:isolate; font-family:'JetBrains Mono',monospace; }
.focus-search { display:block; width:100%; max-width:520px; min-height:48px; padding:12px 16px; border:1px solid var(--focus-line); border-radius:9px; background:var(--focus-paper); color:var(--focus-ink); font:inherit; margin-top:8px; }
.focus-game-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.focus-scene { border:1px solid var(--focus-line); border-radius:12px; background:var(--focus-bg); padding:24px; min-height:230px; display:flex; flex-direction:column; justify-content:center; gap:22px; }
.focus-track { direction:ltr; height:64px; border-bottom:2px solid var(--focus-line); position:relative; margin:12px 12px 0; }
.focus-player { position:absolute; left:0; bottom:0; width:30px; height:36px; border-radius:8px 8px 3px 3px; background:#176b61; transition:left .9s ease; }
.focus-marker { position:absolute; bottom:-28px; font:12px 'JetBrains Mono',monospace; color:var(--focus-muted); }
.focus-gate { display:flex; align-items:center; justify-content:center; gap:24px; font-size:28px; }
.focus-door { width:76px; height:90px; display:grid; place-items:center; background:#e6c8b1; border:3px solid #a78266; border-radius:10px 10px 0 0; color:#422f22; font:600 15px 'IBM Plex Sans Arabic',sans-serif; }
.focus-door.open { background:#cdebdc; border-color:#176b61; color:#174d3e; }
.focus-counter { display:flex; justify-content:center; gap:30px; text-align:center; }
.focus-counter strong { display:block; font:600 38px 'JetBrains Mono',monospace; }
.focus-code { background:#192c3b; color:#e3f3ed; padding:20px; border-radius:10px; direction:ltr; text-align:left; white-space:pre-wrap; font:14px/1.9 'JetBrains Mono',monospace; overflow-wrap:anywhere; margin:16px 0; }
.focus-options { display:grid; gap:10px; margin:16px 0; }
.focus-options button { text-align:start; }
.focus-options button[aria-pressed="true"] { border-color:var(--focus-brand); background:var(--focus-bg); box-shadow:inset 0 0 0 1px var(--focus-brand); }
.focus-feedback { border-inline-start:3px solid var(--focus-brand); padding:14px 16px; background:var(--focus-bg); line-height:1.9; margin:16px 0; }
.focus-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.focus-steps { margin:24px 0; display:flex; gap:8px; flex-wrap:wrap; color:var(--focus-muted); font-size:14px; }
.focus-steps span { padding:6px 14px; background:var(--focus-paper); border:1px solid var(--focus-line); border-radius:6px; }
.focus-steps .current { color:var(--focus-brand); border-color:var(--focus-brand); }
.focus-skip { position:absolute; top:-100px; right:24px; z-index:10000; }
.focus-skip:focus { top:8px; }
:where(a,button,input,summary):focus-visible { outline:3px solid #268bce !important; outline-offset:3px; }
.focus-main .trainer-studio-bar { margin:24px 0; }
body:not([data-focus-route="teacher"]) #trainerStudioBar { display:none !important; }
body[data-focus-route="lesson"][data-teaching="true"] #trainerStudioBar:not([hidden]) { display:block !important; margin:0 auto 24px; }
.focus-source-links a { color:var(--focus-brand); }
@media(min-width:1100px) { .focus-header { gap:48px; } }
@media(max-width:850px) { .focus-header { flex-wrap:wrap; gap:12px; margin-bottom:20px; } .focus-nav { order:3; flex-basis:100%; } .focus-header .theme-toggle-btn { margin-inline-start:auto; } .focus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } #workspaceExplorer .studio-grid,.focus-game-layout { grid-template-columns:1fr; } .focus-path .focus-card { flex-wrap:wrap; } }
@media(max-width:520px) { body { padding:0 16px 32px; } .focus-grid { grid-template-columns:1fr; } .focus-nav { gap:0; justify-content:space-between; } .focus-nav a { font-size:13px; padding:8px; } .focus-resume { align-items:start; flex-direction:column; } .focus-card { padding:20px; } .focus-hero { padding-top:16px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
