/* Student identity adapter. Source: supplied primary-student-main/assets/css/
   main.css (purple/light), 104-theme-purple-white.css, and 96-cosmic-skin.css.
   The originals are reference assets only; student runtime code is not imported. */
:root,:root[data-theme=purple]{color-scheme:dark;--primary:#a855f7;--primary-hover:#9333ea;--primary-light:#c084fc;--accent:#a855f7;--bg-page:#140a24;--bg-card:#1e1233;--bg-input:#221538;--bg-input-focus:#2b1a45;--text-primary:#f3e9ff;--text-secondary:#c4b3da;--text-muted:#a08eb9;--border-color:#33244d;--gradient:linear-gradient(135deg,#4c1d95 0%,#a855f7 100%);--shadow:0 4px 20px #0a051880;--glow:0 0 26px #a855f729;--radius:14px;--student-page:#140a24;--student-card:#1e1233;--student-input:#221538;--student-ink:#f3e9ff;--student-secondary:#c4b3da;--student-muted:#a08eb9;--student-border:#33244d;--world-map:#160e26;--world-card-tint:#a855f71a;--world-card-selected:#a855f72b;--world-grid:#b895e6;--world-route:#c084fc;--logo-color:#fff;--student-cosmos:url('cinematic/cosmos-ambient-wide-purple2.webp');--student-scrim:linear-gradient(180deg,#140a24ed,#140a24c7)}
:root[data-theme=light]{color-scheme:light;--primary:#7c3aed;--primary-hover:#6d28d9;--primary-light:#8b5cf6;--accent:#7c3aed;--bg-page:#f5f7fa;--bg-card:#fff;--bg-input:#f8fafc;--bg-input-focus:#fff;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#475569;--border-color:#cbd5e1;--gradient:linear-gradient(135deg,#5b21b6 0%,#7c3aed 100%);--shadow:0 2px 8px #0f172a0f;--glow:0 0 20px #7c3aed29;--student-page:#f5f7fa;--student-card:#fff;--student-input:#f8fafc;--student-ink:#0f172a;--student-secondary:#334155;--student-muted:#475569;--student-border:#cbd5e1;--world-map:#fafbff;--world-card-tint:#7c3aed0c;--world-card-selected:#7c3aed13;--world-grid:#8295b7;--world-route:#7c3aed;--logo-color:#5b21b6;--student-cosmos:url('cinematic/cosmos-ambient-wide-snow.webp');--student-scrim:linear-gradient(180deg,#f5f7faf5,#f5f7fade)}
:root{--world-ink:var(--text-primary);--world-muted:var(--text-secondary);--world-purple:var(--primary);--world-line:var(--border-color);--world-bg:var(--bg-page);--surface-0:var(--student-page);--surface-1:var(--student-card);--surface-2:var(--student-input);--ink-1:var(--student-ink);--ink-2:var(--student-secondary);--ink-3:var(--student-muted);--border:var(--student-border)}
html{font-size:16px}body,button,input,select,textarea{font-family:'Tajawal','Segoe UI','Arial',sans-serif}body,body:not(.is-world){background:var(--bg-page);color:var(--text-primary);--surface-0:var(--student-page);--surface-1:var(--student-card);--surface-2:var(--student-input);--border:var(--student-border)}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--student-scrim),var(--student-cosmos);background-size:cover;background-position:center bottom}body>header,body:not(.is-world)>header{background:color-mix(in srgb,var(--bg-page) 90%,transparent);border-color:var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,body:not(.is-world) .brand{color:var(--text-primary);font-size:22px;letter-spacing:0}.brand small{color:var(--text-secondary)}.h-logo{display:inline-block;flex-shrink:0;width:45px;height:49px;background:var(--logo-color);-webkit-mask:url('images/logo-h-white-400.png') center/contain no-repeat;mask:url('images/logo-h-white-400.png') center/contain no-repeat}.hrow{gap:24px}.world-theme-toggle{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;font:inherit;font-size:23px;color:var(--primary-light);background:var(--world-card-tint);border:1px solid var(--border-color);border-radius:12px;cursor:pointer}.world-theme-toggle:hover{border-color:var(--primary)}.world-theme-toggle:focus-visible{outline:3px solid var(--primary-light);outline-offset:3px}nav.tabs button,body:not(.is-world) .tabs button{color:var(--text-secondary)}nav.tabs button:hover,body:not(.is-world) .tabs button:hover{background:var(--world-card-tint)}nav.tabs button[aria-selected=true],body:not(.is-world) .tabs button[aria-selected=true]{color:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 35%,var(--border-color));background:var(--world-card-selected)}
.world-intro h1{font-weight:800}.world-intro h1 span{color:var(--primary-light)}.world-eyebrow,.world-overline,.world-source,.world-sidebar-head p,.world-footer,.world-footer span:first-child{color:var(--text-secondary)}.world-overline{font-size:13px}.world-shell{background:var(--bg-card);border-color:var(--border-color);box-shadow:var(--shadow)}.world-sidebar{background:linear-gradient(145deg,var(--bg-card),color-mix(in srgb,var(--bg-page) 60%,var(--bg-card)))}.world-btn,.world-icon-btn,.world-zoom,.world-step-dot,.world-detail-head button{background:var(--bg-input);border-color:var(--border-color);color:var(--text-primary);border-radius:12px}.world-primary,.world-play{background:var(--gradient);border-color:#a855f759;color:#fff;box-shadow:0 4px 18px #a855f729}.world-primary:hover,.world-play:hover{background:var(--primary-hover);box-shadow:0 6px 26px #a855f742}.world-btn:hover{border-color:var(--primary)}.world-journey{background:var(--bg-input);border-color:var(--border-color);color:var(--text-primary);border-radius:var(--radius)}.world-journey.is-active{background:var(--world-card-selected);border-color:var(--primary);box-shadow:var(--glow)}.world-journey:hover{background:var(--world-card-tint)}.world-journey small{color:var(--text-secondary);font-size:12px}.world-journey .number{background:color-mix(in srgb,var(--journey-color) 14%,var(--bg-card));border:1px solid color-mix(in srgb,var(--journey-color) 24%,var(--border-color));color:var(--journey-color)}.world-journey .journey-arrow{color:var(--primary-light)}.world-mission{background:var(--bg-input);border-color:var(--border-color)}.world-mission>span{color:#e6b665}.world-mission small,.world-mission p,.world-range-labels{color:var(--text-secondary)}.world-mission.complete{background:#2dd4a814;border-color:#2dd4a8}.world-progress{background:var(--border-color)}.world-progress i{background:var(--gradient)}.world-settings{border-color:var(--border-color)}.world-settings label{color:var(--text-secondary)}.world-settings input[type=number],.world-jump input{background:var(--bg-input);border-color:var(--border-color);color:var(--primary-light)}.world-settings input[type=range]{accent-color:var(--primary)}.world-map-toolbar{border-color:var(--border-color)}.world-live-dot{background:var(--primary-light);box-shadow:0 0 0 4px var(--world-card-tint)}.world-small-pill{background:var(--world-card-tint);color:var(--primary-light)}.world-search input{background:var(--bg-input);border-color:var(--border-color);color:var(--text-primary)}.world-search input::placeholder{color:var(--text-muted)}.world-search>span{color:var(--text-secondary)}.world-results,.world-detail{background:var(--bg-card);border-color:var(--border-color);box-shadow:var(--shadow);color:var(--text-primary)}.world-result{color:var(--text-primary)}.world-result small{color:var(--text-secondary)}.world-result:hover,.world-result:focus-visible{background:var(--world-card-tint)}.world-canvas{background:radial-gradient(ellipse at 50% 45%,var(--world-card-tint),transparent 65%),var(--world-map)}#worldGrid circle{fill:var(--world-grid);opacity:.3}.world-canvas-caption span,.world-canvas-caption b,.world-map-hint{color:var(--text-muted)}.world-map-stats{color:var(--text-secondary);background:var(--bg-card);border-color:var(--border-color)}.world-zoom button,.world-zoom label,.world-zoom input{color:var(--text-secondary)}.world-zoom button:hover{color:var(--primary-light);background:var(--world-card-tint)}.world-zoom input{background:transparent}.world-island .island-label{fill:var(--text-primary)}.world-island .island-sub{fill:var(--text-secondary)}.world-island .island-count{fill:#140a24;font-weight:700}.world-island:focus-visible .island-hit{stroke:var(--primary-light);fill:#a855f70a}.world-link{stroke:color-mix(in srgb,var(--primary-light) 60%,var(--border-color));opacity:.2}.world-link.is-related{stroke:var(--primary-light);opacity:.58}.world-link-hit:focus-visible{stroke:color-mix(in srgb,var(--primary-light) 55%,transparent)}.world-active-path{stroke:var(--world-route);stroke-width:5;filter:drop-shadow(0 0 5px #a855f72c)}#worldArrow path{fill:var(--world-route)}.world-traveller>circle{fill:var(--world-route);stroke:#fff}.world-link-label rect{fill:var(--bg-card);stroke:var(--primary)}.world-link-label text{fill:var(--text-primary)}.world-story{background:linear-gradient(110deg,var(--world-card-tint),var(--bg-card));border-color:var(--border-color)}.world-story-icon{background:var(--world-card-tint);border-color:var(--border-color);color:var(--primary-light)}.world-story p,.world-relation,.world-jump{color:var(--text-secondary)}.world-relation button{background:var(--world-card-tint);border-color:var(--border-color);color:var(--primary-light)}.world-step-dot{color:var(--text-secondary)}.world-step-dot.is-current{background:var(--primary);border-color:var(--primary);color:#fff}.world-step-dot.is-done{background:var(--world-card-tint);color:var(--primary-light)}.world-player .world-icon-btn{color:var(--primary-light)}.world-detail-head{background:var(--bg-card);border-color:var(--border-color)}.world-detail-body>p,.world-detail-row small{color:var(--text-secondary)}.world-detail-row,.world-evidence{background:var(--bg-input);border-color:var(--border-color);color:var(--text-primary)}.world-evidence code{color:var(--text-secondary)}.world-badge{background:var(--world-card-tint);color:var(--primary-light)}.world-badge.risk{background:#ff94571c;color:#ffb590}.world-badge.assumed{background:var(--border-color);color:var(--text-secondary)}.world-congratulations{color:#2dd4a8}.world-loading{color:var(--text-secondary)}.world-detail::backdrop{background:#0c0618b0}#world button:focus-visible,#world input:focus-visible,#worldCanvas:focus-visible{outline-color:var(--primary-light)}
:root[data-theme=light] .world-journey .number{color:var(--primary)}:root[data-theme=light] .world-badge.risk{background:#fff0e9;color:#9a3412}:root[data-theme=light] .world-congratulations{color:#087c60}
/* Unify reference views and the detail panel moved into body by schematic.js. */
.sch-root,.sch-panel,.sch-root[data-theme],.sch-panel[data-theme]{--primary:var(--accent);--bg-page:var(--student-page);--bg-card:var(--student-card);--bg-input:var(--student-input);--text-primary:var(--student-ink);--text-secondary:var(--student-secondary);--text-muted:var(--student-muted);--border-color:var(--student-border);--cosmos-a:#a855f71c;--cosmos-b:#4c1d9524;--cosmos-c:#9333ea1a;--gradient:linear-gradient(135deg,#4c1d95,#a855f7)}.sch-root .sch-hero h1{background:none;color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)}.sch-panel:not(.open){pointer-events:none}.card,.flow,.kpi,.opp,table,.step,.mono,.tag{color:var(--text-primary)}.hero h1{-webkit-text-fill-color:var(--text-primary);background:none;color:var(--text-primary)}.sub,.card p,.lead,.flow .desc{color:var(--text-secondary)}
@media(orientation:portrait),(max-width:820px){:root{--student-cosmos:url('cinematic/cosmos-ambient-tall-purple2.webp')}:root[data-theme=light]{--student-cosmos:url('cinematic/cosmos-ambient-tall-snow.webp')}}
@media(max-width:960px){.hrow{position:relative;gap:10px}.h-logo{width:34px;height:38px}.brand{font-size:20px}.world-theme-toggle{position:absolute;left:0;top:12px;width:42px;height:42px}.brand small{font-size:12px}.world-intro h1{font-size:21px}.world-present{font-size:12px!important}.world-settings{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 14px;padding-top:8px}.world-setting-heading{grid-column:1;grid-row:1/3;align-self:center}.world-setting-heading h3{display:none}.world-settings label{grid-column:2;font-size:13px;min-height:38px}.world-settings input[type=range]{grid-column:2;margin:0;min-height:25px}.world-range-labels{display:none}.world-settings input[type=number]{min-height:36px}.world-mission{display:grid;grid-template-columns:1fr 95px;align-items:center;gap:3px 12px;padding:8px 10px;order:4;margin:0}.world-mission>span{font-size:12px}.world-mission strong,.world-mission p{display:none}.world-mission small{font-size:11px;margin:0;grid-column:2;grid-row:1;text-align:left}.world-progress{grid-column:1/-1;height:4px}.world-search input{font-size:16px!important}.world-search input::placeholder{font-size:12px}.world-zoom input{font-size:16px!important;width:43px}.world-jump input,.world-settings input[type=number]{font-size:16px!important}.world-canvas{height:550px;min-height:550px}.world-map-heading h2{font-size:13px}.world-journey small{font-size:12px}.world-detail-row small,.world-evidence code{font-size:13px}.world-presentation .world-story{overflow-y:auto;max-height:45dvh;min-height:0}.world-presentation .world-canvas{min-height:0}.world-presentation .world-map-toolbar{min-height:56px;flex-shrink:0}.world-presentation .world-story-copy{flex:1 1 100%}}
@media(max-height:500px) and (orientation:landscape){.world-presentation .world-playground{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:56px minmax(0,1fr);height:100dvh;min-height:0}.world-presentation .world-map-toolbar{grid-column:1/-1}.world-presentation .world-canvas{grid-column:1;grid-row:2;min-height:0;height:100%}.world-presentation .world-story{grid-column:2;grid-row:2;min-height:0;max-height:none;height:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;padding:14px;flex-wrap:nowrap}.world-presentation .world-story-copy{flex:0 0 auto}.world-presentation .world-story h3{font-size:19px}.world-presentation .world-story p{font-size:14px}.world-presentation .world-player{margin-top:auto!important;flex-wrap:wrap}.world-presentation .world-story-icon{display:none}}

@media(min-width:961px){.world-shell{height:max(670px,calc(100dvh - 218px));min-height:0}.world-sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.world-playground{min-height:0}.world-canvas{min-height:0}.world-story{flex-shrink:0}.world-presentation .world-shell{height:100dvh}}
body{isolation:isolate}.world-playground{isolation:isolate}.world-story{isolation:isolate}input[type=number]{font-variant-numeric:tabular-nums}.world-theme-toggle{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
