/* Shared black surfaces and the original local typefaces. */
:root { --surface:#050505; --surface-raised:#050505; --surface-soft:#050505; --learning-surface:#050505; --panel:#050505; --border:#343434; --learning-line:#343434; --line:#343434; }
body { font-family:'Zain','Doppio One',sans-serif!important; }
body * { font-family:inherit!important; }
html[lang=en] body { font-family:'Doppio One','Zain',sans-serif!important; }
.brand-text { font-family:'Doppio One','Zain',sans-serif!important; }
:is(.cat-card,#availablePathMount,.continue-panel,.weekly-panel,.inspiration-panel,.linked-practice,.lesson-exercise,.saved-list>a,.learning-resume-card,.weekly-card,.level-card-compact,.journey-preview,.practice-card,.path-library-card,.path-progress-panel,.path-information-grid article,.roadmap-phase,.practice-summary,.challenge-category-header,.challenge-tools,.challenge-workspace-header,.workspace-section,.challenge-submit-panel,.workspace-lab-placeholder,.profile-snapshot article,.skill-matrix article,.profile-learning-card,.profile-rank-card,.profile-path-row,.admin-summary article,.room-card,.ch-card,.podium-card,.panel,.admin-challenge,.learning-question,.knowledge-checks,.lesson-summary,.lesson-objective,.choice-card,.scenario-option) {
  background:#050505!important; border:1px solid #343434!important; box-shadow:none!important;
}
:is(.cat-card,.room-card,.ch-card,.saved-list>a,.choice-card):hover { background:#050505!important; border-color:#626262!important; }
.cat-card::before,.cat-card::after { background:none!important; }
.inspiration-panel { border-radius:14px; }
.continue-path,.inspiration-panel .context-label,.inspiration-panel p,.domain-details { color:#b8b8b8!important; }
:is(.domain-symbol,.cat-icon,.room-icon,.category-hero-icon,.learning-emblem,.panel-heading,.session-steps,.quiet-link,.message-icon,.saved-list,.password-toggle,.auth-reassurance,.skill-icon) svg,
svg.lucide { color:#a6a6a6!important; }
:is(.domain-symbol,.learning-emblem,.room-icon,.cat-icon) { color:#a6a6a6!important; background:#050505!important; border-color:#343434!important; }
.availability-note { background:#050505; color:#b8b8b8; border:1px solid #343434; }
#fieldDialog,.modal { background:#050505!important; border:1px solid #343434!important; }
:is(.scenario-option,.choice-card):has(input:checked) { border-color:var(--amber,#ff5b5f)!important; }
.btn[href] { display:inline-flex; align-items:center; justify-content:center; gap:13px; }
.btn[href]::after { content:''; display:block; width:7px; height:7px; border-top:1.6px solid currentColor; border-right:1.6px solid currentColor; transform:rotate(45deg); flex-shrink:0; }
html[dir=rtl] .btn[href]::after { transform:rotate(-135deg); }
/* Compact, deliberate account form. */
body.is-auth-route .nav { position:absolute; border-bottom:1px solid #202020; }
body.is-auth-route .auth-wrap.account-page { min-height:100svh!important; padding:122px 24px 44px!important; display:flex; justify-content:center; align-items:center; }
body.is-auth-route .auth-card { width:min(480px,100%)!important; padding:34px 36px!important; border:1px solid #343434!important; border-radius:16px!important; background:#050505!important; box-shadow:none!important; }
body.is-auth-route .auth-back { margin-bottom:22px; font-size:14px; color:#a6a6a6; }
body.is-auth-route .auth-heading { margin-bottom:26px; }
body.is-auth-route .auth-heading .context-label { display:none; }
body.is-auth-route .auth-heading h1 { font-size:34px; line-height:1.3; margin:0; letter-spacing:0; }
body.is-auth-route .auth-card .sub { margin-top:9px!important; font-size:16px!important; line-height:1.7; color:#a6a6a6!important; }
body.is-auth-route #authForm { display:flex; flex-direction:column; gap:18px; }
body.is-auth-route .auth-card .field { margin:0!important; }
body.is-auth-route .auth-card .field input { height:50px; padding:10px 14px; font-size:17px; background:#050505!important; border:1px solid #444!important; border-radius:8px; }
body.is-auth-route .auth-card .field label { font-size:16px!important; line-height:1.3; margin-bottom:9px!important; }
body.is-auth-route .field small:empty,body.is-auth-route .field-error:empty,#accountStatus:empty,#formErr:empty,#recoveryMount:empty { display:none; }
body.is-auth-route .auth-submit { margin:4px 0 0!important; min-height:50px; font-size:17px; }
body.is-auth-route .auth-alt { margin-top:24px; padding-top:22px; border-top:1px solid #292929; font-size:16px; }
body.is-auth-route .auth-reassurance { border:0; padding:0; margin:20px 0 0; font-size:13px; color:#929292; }
.academy-reader-nav { display:flex; justify-content:space-between; gap:18px; }
.academy-reader-nav :is(.reader-prev,.reader-next) { flex:0 1 180px; min-height:50px; display:flex; align-items:center; justify-content:center; padding:12px 24px; font-size:18px; border:1px solid #444; border-radius:8px; background:#050505; color:var(--text); text-decoration:none; }
.academy-reader-nav .reader-next:not(:disabled) { background:var(--amber); color:var(--amber-ink); border-color:var(--amber); }
.academy-reader-nav button:disabled { cursor:not-allowed; opacity:.4; }
.completion-hint { color:var(--dim); margin-top:14px; font-size:15px; }
@media(max-width:560px) {
 body.is-auth-route .auth-wrap.account-page { padding:100px 18px 30px!important; align-items:flex-start; }
 body.is-auth-route .auth-card { padding:26px 22px!important; border-radius:12px!important; }
 body.is-auth-route .auth-heading h1 { font-size:31px; }
 body.is-auth-route .auth-reassurance { line-height:1.6; text-align:center; }
}
:is(.learning-note,.code-block,.code-toolbar,.lesson-media,.lab-workspace,.knowledge-check-section,.lesson-takeaway) { background:#050505!important; border-color:#343434!important; }
.academy-reader-nav :is(.reader-prev,.reader-next) { min-height:50px!important; padding:12px 24px!important; background:#050505!important; border-color:#444!important; }
.academy-reader-nav .reader-next:not(:disabled) { background:var(--amber)!important; border-color:var(--amber)!important; }
/* Focused landing, path overview, and consistent training tiles. */
.tracks .section-heading { display:block; margin-bottom:30px; }
.tracks .cat-card { min-height:160px; padding:28px; align-items:center; justify-content:center; gap:18px; text-align:center; }
.tracks .cat-name { margin:0; }
.tracks .domain-symbol { display:grid; place-items:center; width:48px; height:48px; }
.tracks .domain-symbol svg { width:32px; height:32px; stroke-width:1.7; }
.tracks .cat-card:hover { transform:none; border-color:#343434!important; }
.mission { border-top:1px solid #292929; }
.mission .section-title { max-width:780px; margin:18px 0 24px; }
.mission .section-sub { max-width:760px; font-size:22px; line-height:1.9; }
.rooms-grid.category-launcher { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:22px!important; }
.category-launcher .room-card { min-height:245px!important; padding:28px!important; border-radius:14px!important; display:flex; flex-direction:column; }
.category-launcher .room-card .room-card-head { margin-bottom:20px; }
.category-launcher .room-card .room-icon { display:flex!important; align-items:center; justify-content:center; width:56px!important; height:56px!important; flex:0 0 56px!important; padding:0!important; }
.category-launcher .room-card .room-icon svg { display:block; width:32px!important; height:32px!important; min-width:32px; margin:0!important; stroke-width:1.7; }
.category-launcher .room-card>p { min-height:0; font-size:16px; line-height:1.7; }
.category-launcher .room-card-foot { padding-top:22px; }
@media(max-width:760px) { .rooms-grid.category-launcher { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; } .category-launcher .room-card { padding:22px!important; } .mission .section-sub{font-size:19px} }
@media(max-width:460px) { .category-launcher .room-card { min-height:185px!important; padding:18px!important; } .category-launcher .room-card .room-icon { width:48px!important; height:48px!important; flex-basis:48px!important; } }
.category-launcher .room-card { grid-column:auto!important; grid-row:auto!important; }
.category-launcher .room-card-foot em { color:#b8b8b8!important; }
.path-modules { margin:38px 0; }
.path-modules>h2 { font-size:28px; margin-bottom:20px; }
.module-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.module-card { display:flex; flex-direction:column; align-items:flex-start; padding:26px; border:1px solid #343434; border-radius:12px; color:var(--text); text-decoration:none; background:#050505; }
.module-card:hover { border-color:#666; }
.module-number,.module-card p { color:#aaa; }
.module-card h3 { font-size:24px; margin:14px 0; }
.module-enter,.enter-field { display:inline-flex; align-items:center; justify-content:center; padding:7px 20px; border:1px solid #555; border-radius:6px; color:var(--text)!important; margin-top:18px; }
.module-page>h1 { font-size:40px; margin:16px 0; }
.module-lesson-list { list-style:none; padding:0; margin-top:28px; }
.module-lesson-list a { display:grid; grid-template-columns:32px 1fr auto auto; gap:18px; align-items:center; padding:21px; margin-bottom:12px; border:1px solid #343434; border-radius:9px; color:var(--text); text-decoration:none; }
.module-lesson-list h2 { font-size:21px; margin:0; }
.source-lesson { text-align:left; }
.source-lesson .source-block { margin-top:22px!important; }
.source-block p,.source-instructions { white-space:pre-wrap; overflow-wrap:anywhere; font-size:18px; line-height:1.85; }
.source-lesson .lesson-media img { max-width:100%; height:auto; }
.lesson-system { margin-top:42px; padding:26px; border:1px solid #343434; border-radius:12px; }
.lesson-system>h2 { font-size:27px; margin-bottom:20px; }
.source-instructions { margin-bottom:24px; text-align:left; }
.system-preview { min-height:300px; border:1px solid #444; border-radius:9px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:24px; background:#050505; }
.system-symbol svg { width:44px;height:44px;color:#aaa; }
.system-status { color:#bbb; text-align:center; }
.system-toolbar { display:flex;justify-content:space-between;width:100%; }
.system-preview pre { width:100%;height:330px;overflow:auto;white-space:pre-wrap;background:#050505; }
.system-preview form { width:100%; }.system-preview form>div { display:flex;gap:12px; }.system-preview input { flex:1; min-width:0; }
@media(max-width:760px) { .module-cards { grid-template-columns:1fr; }.module-lesson-list a {grid-template-columns:26px 1fr;}.module-lesson-list a>span:nth-last-child(-n+2){font-size:13px}.lesson-system{padding:18px}.source-block p,.source-instructions{font-size:16px} }
.outline-module>summary { cursor:pointer;list-style:none; }.outline-module>summary::after{content:'+';margin-inline-start:auto;color:#999}.outline-module[open]>summary::after{content:'−'}
.source-block p { margin:0; }
.lesson-article:has(.source-lesson) .lesson-intro h1 { font-size:clamp(32px,4vw,52px);overflow-wrap:anywhere; }
/* Full-width, compact module rows and bilingual reading. */
.module-cards { grid-template-columns:minmax(0,1fr); gap:12px; }
.module-card { display:grid; grid-template-columns:85px minmax(0,1fr) auto auto; align-items:center; gap:24px; padding:22px 26px; min-height:92px; }
.module-card h3 { margin:0; font-size:23px; }
.module-card p { margin:0; white-space:nowrap; }
.module-card .module-enter { margin:0; white-space:nowrap; }
.source-lesson,.source-instructions { text-align:start; }
.source-block h2 { font-size:27px; line-height:1.5; margin:34px 0 12px; }
.source-block ul { padding-inline-start:24px; font-size:19px; line-height:1.9; }
.source-code { padding:20px; border:1px solid #343434; border-radius:8px; background:#050505; overflow:auto; white-space:pre; text-align:left; font-size:15px; line-height:1.8; }
.source-code code { font-family:'Doppio One','Zain',monospace!important; }
.system-limits { font-size:14px; line-height:1.8; color:#a6a6a6; margin-top:15px; }
.system-preview textarea { flex:1; min-width:0; resize:vertical; background:#050505; border:1px solid #444; color:#eee; padding:12px; border-radius:6px; }
@media(max-width:640px){
 .module-card { grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:18px; }
 .module-card .module-number { grid-column:1; font-size:14px; }
 .module-card h3 { grid-column:1;grid-row:2;font-size:21px; }
 .module-card p { grid-column:1;grid-row:3;font-size:14px; }
 .module-card .module-enter { grid-column:2;grid-row:1 / 4;padding:8px 12px;font-size:14px; }
 .source-code { font-size:13px;padding:14px; }.source-block ul{font-size:17px;}
}
.source-lesson .source-block p,.source-lesson .source-block li,.lesson-system .source-instructions { font-size:22px; font-weight:500; line-height:1.9; color:#eee; }
.source-lesson .source-block { margin-top:18px!important; padding:0!important; min-height:0!important; }
.source-lesson .source-block h2 { font-size:30px; font-weight:700; margin:26px 0 12px; }
.source-lesson .source-code { font-size:17px; line-height:1.7; }
@media(max-width:760px){.source-lesson .source-block p,.source-lesson .source-block li,.lesson-system .source-instructions{font-size:20px}.source-lesson .source-block h2{font-size:27px}.source-lesson .source-code{font-size:15px}}
.lesson-terminal { height:420px; padding:14px 8px; text-align:left; background:#050505; overflow:hidden; }
.lesson-terminal,.lesson-terminal * { font-family:monospace!important; }
.lesson-terminal .xterm { height:100%; }
.terminal-keys { display:flex; gap:8px; padding:8px 12px; direction:ltr; border-bottom:1px solid #343434; }
.terminal-keys button { padding:6px 12px; border:1px solid #555; border-radius:5px; background:#111; color:#eee; }
.terminal-status { padding:0 12px; }
.lesson-flag-form { margin-top:24px; }
.lesson-flag-form label { display:block; font-size:22px; font-weight:700; margin-bottom:10px; }
.lesson-flag-form>div { display:flex; gap:12px; }
.lesson-flag-form input { flex:1; min-width:0; background:#090909; color:#eee; border:1px solid #555; padding:14px; border-radius:7px; font-size:18px; }
.knowledge-check-item b { font-size:21px; color:#eee; }
.knowledge-check-item input { font-size:20px; }
@media(max-width:640px){.lesson-flag-form>div{flex-direction:column}.lesson-terminal{height:380px}.terminal-keys{gap:4px}.terminal-keys button{padding:7px 10px}}
.system-preview:has(.lesson-terminal) { display:block; min-height:0; padding:0; text-align:start; }
.system-preview .system-toolbar { padding:14px 16px; }
.system-preview .system-toolbar button { background:#101010; color:#eee; border:1px solid #555; border-radius:6px; padding:7px 14px; }
/* Profile: one identity column and a concise learning overview. */
.account-overview { max-width:1240px; padding-top:54px; }
.account-page-heading,.account-section-title { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.account-page-heading { margin-bottom:36px; }
.account-page-heading h1 { margin:0; font-size:44px; }
.account-columns { display:grid; grid-template-columns:300px minmax(0,1fr); gap:32px; align-items:start; }
.account-identity-card { border:1px solid #343434; border-radius:14px; background:#050505; padding:36px 26px; text-align:center; }
.account-avatar { width:112px; height:112px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#151515; border:1px solid #555; font-size:44px; font-weight:700; overflow:hidden; flex:none; }
.account-avatar img { width:100%; height:100%; object-fit:cover; }
.account-identity-card h2 { font-size:28px; margin:22px 0 2px; overflow-wrap:anywhere; }
.account-handle { color:#aaa; margin:0; font-size:16px; }
.account-bio { margin:24px 0; font-size:19px; line-height:1.7; overflow-wrap:anywhere; }
.account-membership { margin-top:28px; padding-top:20px; border-top:1px solid #292929; color:#aaa; font-size:16px; }
.account-main { display:grid; gap:28px; }
.account-numbers { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #343434; border-radius:14px; padding:24px 0; }
.account-numbers>div,.account-numbers>a { padding:0 26px; display:flex; flex-direction:column; gap:6px; color:#eee; }
.account-numbers>*+* { border-inline-start:1px solid #333; }
.account-numbers strong { font-size:36px; line-height:1.2; }
.account-numbers small { font-size:21px; color:#999; font-weight:400; }
.account-numbers span { font-size:18px; color:#b9b9b9; }
.account-section { border:1px solid #343434; border-radius:14px; padding:26px; background:#050505; }
.account-section h2 { font-size:25px; margin:0 0 20px; }
.account-section-title h2 { margin-bottom:0; }
.account-section-title { margin-bottom:20px; }
.account-section-title>a { color:#ccc; font-size:18px; text-decoration:underline; text-underline-offset:5px; }
.account-path { display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; color:#eee; }
.account-path h3 { font-size:23px; margin:0 0 6px; }
.account-path span { font-size:17px; color:#aaa; }
.account-path>strong { font-size:24px; }
.account-path .progress-line { grid-column:1/-1; margin:0; }
.account-activity>div { display:flex; gap:16px; align-items:center; padding:18px 0; border-bottom:1px solid #292929; }
.account-activity>div:last-child { border-bottom:0; padding-bottom:0; }
.account-activity b { font-size:19px; flex:1; }
.account-activity time,.account-empty { color:#aaa; font-size:17px; }
#modalBox:has(.account-editor) { max-width:900px; width:calc(100vw - 80px); padding:0; border:1px solid #454545; background:#050505; border-radius:16px; }
.account-editor>header { padding:30px 36px 22px; border-bottom:1px solid #303030; }
.account-editor>header h2 { margin:0; font-size:32px; }
.account-editor>header p { margin:5px 0 0; color:#aaa; font-size:18px; }
.account-editor-grid { display:grid; grid-template-columns:220px minmax(0,1fr); gap:36px; padding:30px 36px; }
.account-photo { display:flex; align-items:center; flex-direction:column; gap:16px; padding-inline-end:28px; border-inline-end:1px solid #303030; }
.account-photo .btn { width:100%; justify-content:center; }
.account-photo .quiet-link { border:0; background:none; color:#bbb; cursor:pointer; font-size:17px; }
.account-photo p { color:#999; text-align:center; font-size:15px; line-height:1.8; }
.account-fields { display:grid; gap:24px; }
.account-fields .field { margin:0; }
.account-fields label,.account-weekly legend { font-size:20px; font-weight:600; color:#eee; margin-bottom:10px; }
.account-fields input:not([type=radio]),.account-fields textarea { width:100%; border:1px solid #454545; border-radius:8px; background:#090909; color:#eee; padding:13px 15px; font-size:20px; resize:vertical; box-sizing:border-box; }
.account-fields input:focus,.account-fields textarea:focus { outline:2px solid #aaa; outline-offset:2px; }
.field-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.field-heading>span { color:#999; font-size:15px; direction:ltr; }
.account-weekly { border:0; padding:0; margin:0; min-width:0; }
.account-weekly>div { display:flex; gap:8px; }
.account-weekly label { flex:1; position:relative; margin:0; cursor:pointer; }
.account-weekly input { position:absolute; opacity:0; }
.account-weekly span { display:block; padding:10px 8px; border:1px solid #444; border-radius:7px; text-align:center; font-size:17px; background:#090909; color:#bbb; }
.account-weekly input:checked+span { border-color:#eee; color:#fff; background:#191919; }
.account-weekly input:focus-visible+span { outline:2px solid #aaa; outline-offset:3px; }
.account-editor-footer { padding:20px 36px; border-top:1px solid #303030; display:flex; align-items:center; gap:12px; }
.account-editor-footer p { flex:1; margin:0; font-size:17px; }
/* Remove decorative gray badges while retaining meaningful status text. */
.status-label,.skill-tags span,.lesson-facts span { background:transparent!important; border:0!important; border-radius:0!important; padding:0!important; box-shadow:none!important; }
.status-check,.profile-page .context-label,.account-overview .context-label,.hello-kicker,.eyebrow { display:none!important; }
/* Answers stay black after validation; the check is large and consistent. */
.knowledge-check-section { background:#050505; border:1px solid #343434; border-radius:12px; padding:28px; }
.knowledge-check-item,.knowledge-check-item.correct,.knowledge-check-item.incorrect { background:#050505; border:0; border-radius:0; padding:18px 0; gap:12px 16px; grid-template-columns:32px minmax(0,1fr); }
.knowledge-check-item>span { grid-row:1; font-size:18px; color:#aaa; padding-top:3px; }
.knowledge-check-item>b { font-size:21px; }
.answer-input-wrap { grid-column:2; position:relative; display:flex; align-items:center; }
.knowledge-check-item .answer-input-wrap input { width:100%; min-height:54px; padding:12px 16px; padding-inline-end:54px; border:1px solid #4a4a4a; border-radius:8px; background:#090909; color:#eee; font-size:20px; }
.knowledge-check-item .answer-input-wrap input:focus { border-color:#ccc; outline:2px solid #666; outline-offset:2px; }
.answer-confirmation { display:none; position:absolute; inset-inline-end:15px; width:26px; height:26px; color:#eee; }
.answer-confirmation svg { width:26px; height:26px; stroke-width:2.5; }
.knowledge-check-item.correct .answer-confirmation { display:inline-flex; }
.knowledge-check-item.correct input { border-color:#bbb; }
.knowledge-check-item.incorrect input { border-color:#e86a6a; }
.knowledge-check-item.correct small::after,.knowledge-check-item.incorrect small::after { content:none; }
.knowledge-check-item small { min-height:0; }
.knowledge-check-status.ok,.success-copy,.flag-status.success-copy { color:#e5e5e5; }
.completion-mark,.outline-module li.complete a>.completion-mark { display:inline-flex; width:28px; height:28px; flex:none; align-items:center; justify-content:center; border:1px solid #666; border-radius:50%; color:#eee; background:#111; }
.completion-mark svg { width:20px; height:20px; stroke-width:2.5; }
.outline-module li.complete a { color:#d8d8d8; }
.outline-module li a { gap:12px; }
.outline-module li a>b { font-size:17px; line-height:1.65; }
.system-preview:has(.lesson-desktop) { display:block; padding:0; }
.lesson-desktop { width:100%; height:620px; border:0; display:block; background:#111; }
.system-toolbar>div { display:flex; gap:10px; }
.system-preview:fullscreen { width:100vw; height:100vh; background:#050505; display:flex; flex-direction:column; }
.system-preview:fullscreen .lesson-desktop { flex:1; height:auto; }
.account-numbers>a,.account-path { text-decoration:none; }
#modalBox:has(.account-editor) { max-height:calc(100vh - 64px); overflow:hidden; }
.account-editor { display:flex; flex-direction:column; max-height:calc(100vh - 64px); }
.account-editor>header { flex:none; padding:24px 32px 18px; }
.account-editor>form { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.account-editor-grid { overflow:auto; padding:24px 32px; gap:28px; }
.account-editor-footer { flex:none; padding:16px 32px; background:#050505; }
.account-fields { gap:20px; }
.account-fields textarea { min-height:112px; line-height:1.6; }
.account-photo .btn { background:#090909; }
.account-fields textarea { height:120px; min-height:112px; }
.status-label,.skill-tags { display:none!important; }
