:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #f6f8fb;--paper: #ffffff;--ink: #07172f;--muted: #66748a;--line: #dde5ef;--nav: #07172f;--nav-soft: #11223d;--nav-ink: #edf4ff;--teal: #27b8bd;--teal-dark: #178a94;--teal-soft: #e7f8f8;--crimson: #b4232a;--green: #087f5b;--amber: #b45309;--blue: #2563eb;--blue-soft: #dce8ff;--ice: #eef3ff;--shadow: 0 20px 50px rgba(7, 23, 47, .08);--radius-surface: 6px;--radius-control: 4px;--radius-chip: 3px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 82% 0%,rgba(37,99,235,.12),transparent 32%),radial-gradient(circle at 2% 24%,rgba(39,184,189,.1),transparent 28%),linear-gradient(180deg,rgba(238,243,255,.88),transparent 320px),var(--bg);color:var(--ink)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.portal-shell{--sidebar-detail-opacity: 0;--sidebar-width: 76px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.portal-shell:has(.portal-sidebar:hover),.portal-shell:has(.portal-sidebar:focus-within),.portal-shell.is-sidebar-expanded{--sidebar-detail-opacity: 1;--sidebar-width: 268px}.portal-sidebar{background:linear-gradient(180deg,rgba(37,99,235,.12),transparent 220px),linear-gradient(180deg,#07172f,#0b1d38);border-right:1px solid rgba(255,255,255,.06);color:var(--nav-ink);display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding:18px 10px;position:sticky;top:0;transition:padding .18s ease;width:100%}.portal-shell:has(.portal-sidebar:hover) .portal-sidebar,.portal-shell:has(.portal-sidebar:focus-within) .portal-sidebar,.portal-shell.is-sidebar-expanded .portal-sidebar{padding:18px 14px}.portal-brand{align-items:center;display:flex;gap:11px;justify-content:center;padding:8px 0 22px;width:56px}.portal-shell:has(.portal-sidebar:hover) .portal-brand,.portal-shell:has(.portal-sidebar:focus-within) .portal-brand,.portal-shell.is-sidebar-expanded .portal-brand{justify-content:flex-start;padding:8px 10px 22px;width:240px}.portal-brand-mark{align-items:center;background:linear-gradient(145deg,#fff,#edf4ff);border:0;border-radius:8px;box-shadow:0 12px 28px #07172f29;color:#07172f;display:grid;flex:0 0 42px;height:42px;place-items:center;width:42px}.portal-brand-mark:hover{background:#fff}.portal-brand>.ikasyn-logo{max-width:0;min-width:0;opacity:var(--sidebar-detail-opacity);overflow:hidden;transform:translate(-8px);transition:max-width .14s ease,opacity .14s ease,transform .14s ease;white-space:nowrap}.portal-shell:has(.portal-sidebar:hover) .portal-brand>.ikasyn-logo,.portal-shell:has(.portal-sidebar:focus-within) .portal-brand>.ikasyn-logo,.portal-shell.is-sidebar-expanded .portal-brand>.ikasyn-logo{max-width:200px;transform:translate(0)}.ikasyn-logo{align-items:center;display:inline-flex;gap:10px}.ikasyn-logo-mark{display:block;height:28px;width:28px}.portal-brand-mark .ikasyn-logo-mark{height:31px;width:31px}.logo-stem{fill:#07172f}.logo-chevron{fill:#2563eb}.logo-dot{fill:#27b8bd}.ikasyn-logo-word{display:grid;gap:2px;line-height:1}.ikasyn-logo-word strong{color:#f8fbff;font-size:17px;font-weight:850;letter-spacing:.28em}.ikasyn-logo-word small{color:#6aa2ff;font-size:8px;font-weight:850;letter-spacing:.27em}.portal-nav{display:grid;gap:4px;width:56px}.portal-shell:has(.portal-sidebar:hover) .portal-nav,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav,.portal-shell.is-sidebar-expanded .portal-nav{width:240px}.portal-nav-item{align-items:center;background:transparent;border:0;border-radius:8px;color:#cbd8ea;display:grid;gap:0;grid-template-columns:1fr;min-height:40px;justify-items:center;padding:9px;text-align:left;width:56px}.portal-shell:has(.portal-sidebar:hover) .portal-nav-item,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav-item,.portal-shell.is-sidebar-expanded .portal-nav-item{gap:10px;grid-template-columns:22px minmax(0,1fr) auto;justify-items:start;padding:9px 10px;width:100%}.portal-nav-item:hover,.portal-nav-item.is-active{background:linear-gradient(135deg,#2563eb57,#27b8bd29),#ffffff0f;box-shadow:inset 3px 0 #27b8bd;color:#fff}.portal-nav-item span{font-size:13px;font-weight:750;max-height:0;max-width:0;opacity:var(--sidebar-detail-opacity);overflow:hidden;text-overflow:ellipsis;transition:max-height .14s ease,max-width .14s ease,opacity .14s ease;white-space:nowrap}.portal-shell:has(.portal-sidebar:hover) .portal-nav-item span,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav-item span,.portal-shell.is-sidebar-expanded .portal-nav-item span{max-height:24px;max-width:170px}.portal-nav-item i{align-items:center;background:var(--crimson);border-radius:999px;color:#fff;display:inline-flex;font-size:10px;font-style:normal;font-weight:800;justify-content:center;min-width:19px;padding:3px 5px}.sidebar-course-panel{border-top:1px solid rgba(255,255,255,.1);display:grid;gap:7px;margin-top:16px;padding:14px 0 0;width:56px}.portal-shell:has(.portal-sidebar:hover) .sidebar-course-panel,.portal-shell:has(.portal-sidebar:focus-within) .sidebar-course-panel,.portal-shell.is-sidebar-expanded .sidebar-course-panel{padding:14px 4px 0;width:240px}.sidebar-section-title{color:#91a2bb;font-size:11px;font-weight:900;letter-spacing:0;opacity:var(--sidebar-detail-opacity);padding:0 6px;text-transform:uppercase;transition:opacity .14s ease}.sidebar-course-button{align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#dce8f8;display:grid;gap:0;grid-template-columns:1fr;min-height:48px;justify-items:center;padding:9px;text-align:left;width:56px}.portal-shell:has(.portal-sidebar:hover) .sidebar-course-button,.portal-shell:has(.portal-sidebar:focus-within) .sidebar-course-button,.portal-shell.is-sidebar-expanded .sidebar-course-button{gap:9px;grid-template-columns:18px minmax(0,1fr);justify-items:start;padding:9px 10px;width:100%}.sidebar-course-button:hover,.sidebar-course-button.is-active{background:#e6f7fb;border-color:#b7dce7;color:#06384b}.sidebar-course-button span{display:grid;gap:2px;max-height:0;max-width:0;min-width:0;opacity:var(--sidebar-detail-opacity);overflow:hidden;transition:max-height .14s ease,max-width .14s ease,opacity .14s ease}.portal-shell:has(.portal-sidebar:hover) .sidebar-course-button span,.portal-shell:has(.portal-sidebar:focus-within) .sidebar-course-button span,.portal-shell.is-sidebar-expanded .sidebar-course-button span{max-height:44px;max-width:180px}.sidebar-course-button strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-course-button small{color:#91a2bb;font-size:10px;font-weight:850}.sidebar-course-button.is-active small,.sidebar-course-button:hover small{color:#20705b}.portal-sidebar-footer{border-top:1px solid rgba(255,255,255,.12);display:grid;gap:4px;margin-top:auto;opacity:var(--sidebar-detail-opacity);padding:16px 10px 4px;transition:opacity .14s ease;width:56px}.portal-shell:has(.portal-sidebar:hover) .portal-sidebar-footer,.portal-shell:has(.portal-sidebar:focus-within) .portal-sidebar-footer,.portal-shell.is-sidebar-expanded .portal-sidebar-footer{width:240px}.portal-sidebar-footer span{color:#fff;font-size:12px;font-weight:850}.portal-sidebar-footer small{color:#91a2bb;font-size:11px}.portal-main{display:grid;gap:20px;grid-template-rows:auto minmax(0,1fr);min-width:0;padding:18px 22px 28px}.portal-topbar{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(210px,.8fr) minmax(260px,1.35fr) auto auto auto}.portal-topbar.minimal-topbar{grid-template-columns:minmax(0,1fr) auto}.portal-title h1{font-size:24px;line-height:1.08;margin:0}.program-context-chip{align-items:center;background:transparent;border:0;border-radius:0;box-shadow:none;display:inline-flex;gap:8px;margin-bottom:4px;max-width:100%;min-height:0;padding:0}.portal-shell.is-videogames-subportal .program-context-chip{border-left-color:var(--teal)}.program-context-chip b{color:#52627a;font-size:11px;font-weight:900;letter-spacing:.02em;white-space:nowrap}.program-context-chip span{color:var(--muted);display:inline;font-size:11px;font-weight:800;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-context-chip small{background:#f2f6fb;border:1px solid #d9e3ef;border-radius:5px;color:#44546b;font-size:11px;font-weight:900;padding:3px 6px;white-space:nowrap}.portal-shell.is-videogames-subportal .program-context-chip small{background:#eefafa;border-color:#bee7e9;color:#0f6671}.program-subpage-switch{align-items:center;background:#fff;border:1px solid #c7d4e6;border-radius:8px;box-shadow:0 12px 28px #07172f12;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;max-width:760px;padding:5px;width:fit-content}.program-subpage-switch button{background:transparent;border:1px solid transparent;border-radius:6px;color:#44546b;cursor:pointer;font-size:12px;font-weight:900;min-height:38px;padding:0 14px;position:relative}.program-subpage-switch button:hover{background:#fff;border-color:#c5d2e3;color:#143352}.program-subpage-switch button.is-active{background:#143352;border-color:#143352;box-shadow:0 10px 22px #14335229;color:#fff}.portal-shell.is-videogames-subportal .program-subpage-switch button.is-active{background:#0f6671;border-color:#0f6671;box-shadow:0 10px 22px #0f667129}.breadcrumb{align-items:center;color:#6e7d94;display:flex;flex-wrap:wrap;font-size:11px;font-weight:850;gap:5px;margin-bottom:4px}.breadcrumb span{align-items:center;display:inline-flex;gap:5px}.breadcrumb span+span:before{color:#9aa7ba;content:"/"}.breadcrumb button{background:transparent;border:0;color:#5c6c84;cursor:pointer;font:inherit;padding:0}.breadcrumb button:hover{color:#143352}.breadcrumb b{color:#26364f;font-weight:900}.portal-title span{color:var(--muted);display:block;font-size:12px;font-weight:720;margin-top:4px}.portal-title .breadcrumb{margin-top:0}.topbar-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;min-width:0}.service-status{align-items:center;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:11px;font-weight:850;height:30px;padding:0 10px;white-space:nowrap}.service-status.is-online{background:#edf8f4;border-color:#9bd7c3;color:#0f6d4e}.service-status.is-degraded{background:#fff5e6;border-color:#f3c778;color:#9a5a00}.sync-status{align-items:center;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:11px;font-weight:850;height:30px;padding:0 10px;white-space:nowrap}.sync-status.is-synced{background:#edf8f4;border-color:#9bd7c3;color:#0f6d4e}.sync-status.is-syncing{background:#eef5ff;border-color:#a8c7f7;color:#235aa8}.sync-status.is-local_only{background:#f6f7fb;border-color:#d9deea;color:#52627a}.sync-status.is-failed{background:#fff0f0;border-color:#f4aaaa;color:#a83333}.portal-search{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0f172a0a;color:#7b8798;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;height:42px;padding:0 12px}.portal-search input{border:0;color:var(--ink);min-width:0;outline:0}.portal-search input::placeholder{color:#8c97a8}.portal-search kbd{background:#f0f3f7;border:1px solid #d7dee8;border-radius:6px;color:#647084;font-size:11px;font-weight:800;padding:3px 6px}.role-switch,.icon-button,.profile-chip,.quick-actions button,.code-modules button,.ai-prompts button,.ai-input button,.link-button,.run-button,.check-button,.submit-button,.reset-button{border-radius:8px}.role-switch{align-items:center;background:var(--paper);border:1px solid var(--line);color:#344054;display:flex;gap:8px;height:42px;padding:0 12px}.role-switch.is-on{background:#effafa;border-color:#91d9dc;color:var(--teal-dark)}.role-switch strong{color:var(--teal-dark)}.role-switch>span:last-child{align-items:baseline;display:inline-flex;gap:5px;white-space:nowrap}.switch-track{align-items:center;background:#dbe3ef;border-radius:999px;display:inline-flex;height:20px;padding:2px;transition:background .16s ease;width:38px}.switch-track i{background:#fff;border-radius:999px;box-shadow:0 3px 8px #07172f2e;display:block;height:16px;transform:translate(0);transition:transform .16s ease;width:16px}.role-switch.is-on .switch-track{background:var(--teal)}.role-switch.is-on .switch-track i{transform:translate(18px)}.icon-button{align-items:center;background:var(--paper);border:1px solid var(--line);color:#344054;display:grid;height:42px;place-items:center;position:relative;width:42px}.icon-button span{align-items:center;background:var(--crimson);border-radius:999px;color:#fff;display:grid;font-size:10px;font-weight:900;height:18px;place-items:center;position:absolute;right:-5px;top:-5px;width:18px}.profile-chip{align-items:center;background:var(--paper);border:1px solid var(--line);display:flex;gap:10px;height:42px;padding:5px 10px 5px 6px}button.profile-chip:hover,.role-switch:hover{border-color:#b8c5d8;box-shadow:0 10px 24px #0f172a0f}.profile-chip b,.avatar{align-items:center;background:linear-gradient(135deg,var(--blue),var(--teal));border-radius:8px;color:#fff;display:grid;font-size:12px;height:30px;place-items:center;width:30px}.profile-chip span,.message-item span{display:grid;min-width:0}.profile-chip span{color:#253044;font-size:12px;font-weight:850;line-height:1.2}.profile-chip small{color:var(--muted);font-size:11px;font-weight:720}.program-launcher-shell{align-items:center;background:linear-gradient(90deg,#fff 0 64%,#f2f6fb 64% 100%);display:grid;min-height:100vh;padding:clamp(24px,4vw,52px)}.program-launcher{display:grid;gap:clamp(28px,4vw,48px);margin:0 auto;max-width:1080px;width:100%}.program-launcher-header{align-items:center;display:flex;gap:18px;justify-content:space-between}.program-launcher-header div{display:grid;gap:3px}.program-launcher-header strong{color:var(--ink);font-size:18px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.program-launcher-header span{color:var(--muted);font-size:12px;font-weight:800}.program-launcher-header nav{align-items:center;display:flex;gap:8px}.program-launcher-header button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:#253044;display:inline-flex;font-size:13px;font-weight:850;gap:8px;min-height:40px;padding:0 13px}.program-launcher-header .launcher-login{background:#07172f;border-color:#07172f;color:#fff;min-width:96px}.program-launcher-header .launcher-login:disabled{background:#dbe3ef;border-color:#dbe3ef;color:#6d788b}.program-launcher-header .launcher-teacher{background:#ffffffb8}.program-launcher-main{display:grid;align-items:start;gap:clamp(28px,5vw,56px);grid-template-columns:minmax(0,.78fr) minmax(360px,.92fr)}.program-launcher-copy{display:grid;gap:14px;max-width:560px}.launcher-eyebrow{color:#0f6671;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.program-launcher-copy h1{color:#07172f;font-size:clamp(42px,5vw,72px);letter-spacing:0;line-height:.95;margin:0}.program-launcher-copy p{color:#536176;font-size:18px;line-height:1.55;margin:0;max-width:650px}.launcher-session-memory{background:#fff;border:1px solid #d8e4ef;border-left:4px solid var(--green);border-radius:8px;box-shadow:0 18px 46px #07172f12;display:grid;gap:5px;max-width:680px;padding:13px 14px}.launcher-session-memory strong{color:#172033;font-size:14px}.launcher-session-memory span{color:#334155;font-size:13px;font-weight:760;line-height:1.4}.launcher-session-memory small{color:#64748b;font-size:11px;font-weight:760}.program-launcher-options{display:grid;gap:12px}.launcher-option{align-items:center;background:#fff;border:1px solid #d8e1ec;border-radius:8px;box-shadow:0 22px 58px #07172f14;color:var(--ink);display:flex;gap:20px;justify-content:space-between;min-height:152px;overflow:hidden;padding:24px 26px;position:relative;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.launcher-option:before{background:#07172f;content:"";height:4px;inset:0 0 auto;position:absolute;width:100%}.launcher-option.videogames:before{background:#146b73}.launcher-option:hover{border-color:#2563eb73;box-shadow:0 34px 90px #07172f1f;transform:translateY(-2px)}.launcher-option span{display:grid;gap:8px;min-width:0}.launcher-option strong{font-size:clamp(22px,2.2vw,30px);line-height:1.1}.launcher-option small{color:var(--muted);font-size:15px;font-weight:750;line-height:1.35}.launcher-option dl{align-self:end;display:grid;gap:0;grid-template-columns:repeat(3,minmax(74px,1fr));margin:0;min-width:min(320px,45%)}.launcher-option dl div{border-left:1px solid var(--line);display:grid;gap:5px;padding:0 14px}.launcher-option dl div:first-child{border-left:0;padding-left:0}.launcher-option dt,.launcher-option dd{margin:0}.launcher-option dt{color:#6d788b;font-size:11px;font-weight:850}.launcher-option dd{color:#07172f;font-size:20px;font-weight:900;line-height:1}.launcher-option>svg{color:#6a788c;flex:0 0 auto}.dashboard{align-content:start;display:grid;gap:16px}.page-stack{gap:18px}.academic-subportal-page{border-top:3px solid #2563eb;padding-top:14px}.academic-subportal-page.is-videogames{border-top-color:var(--teal)}.academic-subportal-page.is-student-space{border-top-style:double}.narrow-stack{max-width:920px}.section-heading{align-items:center;background:#ffffffb8;border:1px solid rgba(221,229,239,.8);border-radius:8px;display:grid;gap:14px;grid-template-columns:44px minmax(0,1fr);padding:16px}.section-heading>svg{align-self:start;background:var(--blue-soft);border-radius:8px;color:var(--blue);height:44px;padding:10px;width:44px}.section-heading h2,.section-heading p{margin:0}.section-heading h2{font-size:22px;line-height:1.15}.section-heading p{color:var(--muted);font-size:13px;line-height:1.45;margin-top:4px}.welcome-strip{align-items:start;background:radial-gradient(circle at 12% 20%,rgba(39,184,189,.28),transparent 26%),linear-gradient(135deg,#07172ffa,#0e254cf5 58%,#2563ebe6),#07172f;border-radius:8px;box-shadow:var(--shadow);color:#fff;display:grid;gap:16px;grid-template-columns:minmax(245px,.34fr) minmax(520px,1fr);min-height:0;overflow:hidden;padding:22px;position:relative}.home-welcome{grid-template-columns:minmax(280px,.55fr) minmax(320px,.45fr)}.welcome-strip:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.12)),repeating-linear-gradient(90deg,transparent 0 30px,rgba(255,255,255,.09) 30px 31px);content:"";inset:0 0 0 auto;position:absolute;width:34%}.welcome-left,.welcome-calendar-panel{position:relative;z-index:1}.welcome-left{align-content:start;display:grid;gap:16px;min-width:0}.welcome-copy h2,.welcome-copy p{margin:0}.welcome-copy h2{font-size:31px;font-weight:800;letter-spacing:-.01em;line-height:1.05}.welcome-copy p{color:#d8e7ff;font-size:14px;line-height:1.45;margin-top:8px;max-width:620px}.welcome-calendar-panel{background:#f8fbfff7;border:1px solid rgba(255,255,255,.5);border-radius:8px;box-shadow:0 18px 44px #030a1838;color:var(--ink);display:grid;gap:12px;min-width:0;padding:14px}.academic-calendar-toolbar{align-items:start;display:flex;gap:12px;justify-content:space-between}.academic-calendar-controls{display:flex;flex-wrap:wrap;gap:8px}.academic-calendar-controls select{background:#f8fafc;border:1px solid #dce3ed;border-radius:8px;color:#253044;font-size:12px;font-weight:850;min-height:34px;padding:0 9px}.weather-card{align-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.24);border-radius:8px;color:#fff;display:grid;gap:10px;grid-template-columns:24px minmax(0,1fr) auto;min-width:245px;padding:12px}.weather-card span{display:grid;gap:2px;min-width:0}.weather-card strong{font-size:13px}.weather-card small{color:#d6eef6;font-size:12px;font-weight:750}.weather-card b{background:#ffffff29;border-radius:999px;font-size:12px;padding:6px 8px;white-space:nowrap}.today-brief-panel{background:#f8fbfff7;border:1px solid rgba(255,255,255,.5);border-radius:8px;box-shadow:0 18px 44px #030a1838;color:var(--ink);display:grid;gap:16px;min-width:0;padding:16px;position:relative;z-index:1}.today-action{align-items:center;background:#f3f7ff;border:1px solid #dfe8f8;border-radius:8px;display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr);padding:14px}.today-action svg{color:var(--blue)}.today-action span{display:grid;gap:3px;min-width:0}.today-action strong{font-size:14px}.today-action small{color:var(--muted);font-size:12px;font-weight:750}.today-brief-panel button,.teacher-entry-panel button,.workspace-panel button,.agenda-panel button,.settings-panel button,.role-gate-panel button,.learning-hero-actions button{align-items:center;background:var(--ink);border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:13px;font-weight:850;gap:8px;justify-content:center;min-height:38px;padding:0 13px;width:fit-content}.learning-desk{gap:18px}.learning-hero{background:linear-gradient(90deg,#07172ff5,#0a1d3df0 58%,#2563ebdb),#07172f;border-radius:8px;box-shadow:var(--shadow);color:#fff;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);overflow:hidden;padding:24px;position:relative}.learning-hero:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1)),repeating-linear-gradient(90deg,transparent 0 30px,rgba(255,255,255,.08) 30px 31px);content:"";inset:0 0 0 auto;position:absolute;width:32%}.learning-hero-copy,.next-action-card{position:relative;z-index:1}.learning-hero-copy{align-content:center;display:grid;gap:14px;min-height:250px}.learning-hero-copy>span{color:#7fdde1;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.learning-hero-copy h2,.learning-hero-copy p{margin:0}.learning-hero-copy h2{font-size:42px;line-height:1.02;max-width:760px}.learning-hero-copy p{color:#d8e7ff;font-size:15px;line-height:1.5;max-width:720px}.learning-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.learning-hero-actions .primary{background:var(--teal)}.learning-hero-actions button:not(.primary){background:#ffffff1f;border:1px solid rgba(255,255,255,.22)}.next-action-card{align-self:center;background:#f8fbfff7;border:1px solid rgba(255,255,255,.5);border-radius:8px;box-shadow:0 18px 44px #030a1838;color:var(--ink);display:grid;gap:16px;min-width:0;padding:16px}.next-action-main{align-items:center;background:#f3f7ff;border:1px solid #dfe8f8;border-radius:8px;display:grid;gap:12px;grid-template-columns:38px minmax(0,1fr);padding:14px}.next-action-main svg{color:var(--blue)}.next-action-main span,.next-action-progress{display:grid;gap:4px;min-width:0}.next-action-main strong{font-size:15px}.next-action-main small,.next-action-progress span{color:var(--muted);font-size:12px;font-weight:760}.next-action-progress i{background:#e3e9f2;border-radius:999px;display:block;height:8px;overflow:hidden}.next-action-progress b{background:linear-gradient(90deg,var(--teal),var(--blue));display:block;height:100%}.learning-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(430px,1.2fr) minmax(260px,.7fr) minmax(260px,.7fr)}.route-panel{grid-row:span 2}.route-track{display:grid;gap:10px}.degree-public{display:grid;gap:18px}.degree-hero{background:linear-gradient(135deg,#061329fa,#0e3160f0 56%,#2563ebdb),#07172f;border-radius:8px;color:#fff;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(340px,.42fr);min-height:410px;overflow:hidden;padding:26px;position:relative}.degree-hero:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08)),repeating-linear-gradient(90deg,transparent 0 34px,rgba(255,255,255,.08) 34px 35px);content:"";inset:0 0 0 auto;pointer-events:none;position:absolute;width:32%}.degree-hero-copy,.degree-route-panel{position:relative;z-index:1}.degree-hero-copy{align-content:center;display:grid;gap:16px;max-width:760px}.degree-hero-copy h2,.degree-hero-copy p{margin:0}.degree-hero-copy h2{font-size:42px;line-height:1.02;max-width:820px}.degree-hero-copy p{color:#d8e7ff;font-size:15px;font-weight:660;line-height:1.55;max-width:650px}.degree-hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}.degree-hero-actions button{align-items:center;background:#2563eb;border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:13px;font-weight:900;gap:8px;min-height:40px;padding:0 14px}.degree-hero-actions span{background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#d8e7ff;font-size:12px;font-weight:850;min-height:40px;padding:11px 13px}.degree-route-panel{align-self:center;background:#f8fbfff7;border:1px solid rgba(255,255,255,.52);border-radius:8px;box-shadow:0 18px 44px #030a1859;color:var(--ink);display:grid;gap:14px;min-width:0;padding:16px}.degree-route-panel header{display:grid;gap:4px}.degree-route-panel header span{color:var(--blue);font-size:11px;font-weight:950;text-transform:uppercase}.degree-route-panel header strong{font-size:20px;line-height:1.15}.degree-route-list{display:grid;gap:9px}.degree-route-list button{align-items:center;background:#fff;border:1px solid #dce5f0;border-radius:8px;color:var(--ink);display:grid;gap:11px;grid-template-columns:32px minmax(0,1fr) auto;min-height:64px;padding:10px 11px;text-align:left}.degree-route-list button:hover{background:#eef5ff;border-color:#b9cff4}.degree-route-list small{background:#eef3ff;border-radius:8px;color:#2554a8;font-size:11px;font-weight:950;padding:8px 0;text-align:center}.degree-route-list span{display:grid;gap:4px;min-width:0}.degree-route-list strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.degree-route-list em{color:var(--muted);font-size:11px;font-style:normal;font-weight:800}.degree-route-list b{color:#253044;font-size:12px;font-weight:950}.degree-public-cards{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.degree-public-cards article{align-items:center;background:#fff;border:1px solid #dce5f0;border-radius:8px;display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr);min-height:88px;padding:14px}.degree-public-cards svg{background:#eef3ff;border-radius:8px;color:var(--blue);height:42px;padding:10px;width:42px}.degree-public-cards span{display:grid;gap:4px;min-width:0}.degree-public-cards strong{color:#111827;font-size:14px}.degree-public-cards small{color:var(--muted);font-size:12px;font-weight:740;line-height:1.42}.program-list{display:grid;gap:12px}.program-card{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;display:grid;gap:12px;padding:12px}.program-card header{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.program-card header span{display:grid;gap:4px;min-width:0}.program-card header strong{font-size:15px}.program-card header small,.program-card p{color:var(--muted);font-size:12px;font-weight:740;line-height:1.4}.program-card header b{background:var(--teal-soft);border-radius:999px;color:var(--teal-dark);font-size:11px;padding:6px 9px;white-space:nowrap}.program-card.is-empty header b{background:#eef3ff;color:var(--blue)}.program-card p{margin:0}.program-subjects{display:grid;gap:8px}.program-subject{align-items:center;background:#fff;border:1px solid #dce5f0;border-radius:8px;color:var(--ink);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:54px;padding:10px 12px;text-align:left}.program-subject:hover{background:#eef8fb;border-color:#b7dce7}.program-subject span{display:grid;gap:3px;min-width:0}.program-subject strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-subject small{color:var(--muted);font-size:11px;font-weight:800}.program-subject em{color:#536176;font-size:12px;font-style:normal;font-weight:900}.program-empty-state{display:grid;gap:10px}.program-empty-state button,.program-menu-button,.videogames-subject-card footer button{align-items:center;background:var(--teal);border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:900;gap:7px;height:36px;justify-content:center;justify-self:start;padding:0 12px}.videogames-subject-card footer button:disabled{background:#e7edf5;color:#607087;cursor:not-allowed}.videogames-public{display:grid;gap:18px}.videogames-hero{background:linear-gradient(135deg,#07172ff7,#0d2c4bf0 58%,#187888e6),#07172f;border-radius:8px;color:#fff;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(340px,.42fr);min-height:420px;overflow:hidden;padding:26px;position:relative}.videogames-hero:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08)),repeating-linear-gradient(90deg,transparent 0 34px,rgba(255,255,255,.08) 34px 35px);content:"";inset:0 0 0 auto;pointer-events:none;position:absolute;width:32%}.videogames-hero-copy,.videogames-slide-panel{position:relative;z-index:1}.videogames-hero-copy{align-content:center;display:grid;gap:16px;max-width:760px}.videogames-hero-copy h2,.videogames-hero-copy p,.videogames-program-header h3,.videogames-program-header p,.videogames-area-card p,.videogames-subject-card p{margin:0}.videogames-hero-copy h2{font-size:42px;line-height:1.02;max-width:820px}.videogames-hero-copy p{color:#d8e7ff;font-size:15px;font-weight:660;line-height:1.55;max-width:650px}.videogames-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}.videogames-hero-actions button{align-items:center;background:var(--teal);border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:13px;font-weight:900;gap:8px;min-height:40px;padding:0 14px}.videogames-hero-actions button.is-secondary{background:#ffffff1f;border:1px solid rgba(255,255,255,.24)}.videogames-slide-panel{align-self:center;background:#f8fbfff7;border:1px solid rgba(255,255,255,.52);border-radius:8px;box-shadow:0 18px 44px #030a1859;color:var(--ink);display:grid;gap:14px;min-width:0;padding:16px}.videogames-slide-panel header{display:grid;gap:4px}.videogames-slide-panel header span{color:var(--teal-dark);font-size:11px;font-weight:950;letter-spacing:0;text-transform:uppercase}.videogames-slide-panel header strong{font-size:20px;line-height:1.15}.videogames-slide-tabs{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.videogames-slide-tabs button{background:#eef3ff;border:1px solid #d7e1f4;border-radius:8px;color:#3a4f6e;font-size:12px;font-weight:950;min-height:34px}.videogames-slide-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.videogames-slide-stack{display:grid;gap:9px}.videogames-slide-card{align-items:center;background:#fff;border:1px solid #dfe7f0;border-radius:8px;color:var(--ink);display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr);min-height:68px;padding:10px;text-align:left}.videogames-slide-card:hover{background:#eef8fb;border-color:#b7dce7}.videogames-slide-card>small{align-items:center;background:var(--blue-soft);border-radius:8px;color:var(--blue);display:inline-flex;font-size:11px;font-weight:950;height:34px;justify-content:center;width:34px}.videogames-slide-card span{display:grid;gap:4px;min-width:0}.videogames-slide-card strong{font-size:13px;line-height:1.2}.videogames-slide-card em{color:var(--muted);font-size:11px;font-style:normal;font-weight:900}.videogames-public-cards{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.videogames-public-cards article{align-items:start;background:#fff;border:1px solid #dfe7f0;border-radius:8px;box-shadow:0 12px 34px #0f172a0d;display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr);padding:14px}.videogames-public-cards svg{background:#e9f8f9;border-radius:8px;color:var(--teal-dark);height:34px;padding:7px;width:34px}.videogames-public-cards span{display:grid;gap:4px;min-width:0}.videogames-public-cards strong{font-size:14px;line-height:1.25}.videogames-public-cards small,.videogames-area-card p,.videogames-subject-card p,.videogames-subject-card header small,.videogames-subject-card footer span{color:var(--muted);font-size:12px;font-weight:760;line-height:1.45}.videogames-stats{display:grid;gap:9px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.videogames-stats.hero-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:4px;max-width:720px}.videogames-stats span{background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:8px;display:grid;gap:3px;min-height:62px;padding:10px}.videogames-stats b{color:#fff;font-size:22px}.videogames-stats small{color:#cbd8ea;font-size:11px;font-weight:850}.videogames-open-course{align-items:center;background:var(--ink);border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:900;gap:7px;height:38px;justify-content:center;margin-top:14px;padding:0 13px}.videogames-program-header{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px #0f172a0d;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;padding:16px;scroll-margin-top:18px}.videogames-program-header h3{font-size:22px;line-height:1.15}.videogames-program-header p{color:var(--muted);font-size:13px;font-weight:720;line-height:1.45;margin-top:5px}.videogames-area-list{display:grid;gap:20px;grid-column:1 / -1}.videogames-public-detail{background:#fff;border:1px solid #dbe5f1;border-left:4px solid var(--teal-dark);border-radius:8px;display:grid;gap:14px;padding:16px;scroll-margin-top:18px}.videogames-public-detail>header{display:grid;gap:8px}.videogames-public-detail>header>span{color:var(--teal-dark);font-size:11px;font-weight:950;text-transform:uppercase}.videogames-public-detail h3{color:#102033;font-size:22px;line-height:1.15;margin:0}.videogames-public-detail p{color:#4e5f75;font-size:13px;font-weight:720;line-height:1.45;margin:0}.videogames-public-detail-grid{display:grid;gap:14px;grid-template-columns:minmax(190px,.35fr) minmax(0,1fr)}.videogames-public-detail aside{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;display:grid;gap:8px;align-content:start;padding:12px}.videogames-public-detail aside strong{color:#102033;font-size:13px}.videogames-public-detail aside span{color:#52627a;font-size:12px;font-weight:850}.videogames-public-detail aside div{display:flex;flex-wrap:wrap;gap:6px}.videogames-public-detail aside b{background:#e8f8f9;border:1px solid #c7edf0;border-radius:999px;color:#0f6671;font-size:10px;padding:4px 7px}.videogames-public-section-list{display:grid;gap:10px}.videogames-public-section-list article{border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:8px;padding:11px}.videogames-public-section-list article header{display:grid;gap:2px}.videogames-public-section-list article strong{color:#102033;font-size:13px}.videogames-public-section-list article small{color:#6b7a90;font-size:10px;font-weight:850}.videogames-area-card{display:grid;gap:12px}.videogames-area-card>header{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding-bottom:8px}.videogames-area-card>header span{align-items:center;display:flex;gap:9px;min-width:0}.videogames-area-card>header svg{color:var(--blue)}.videogames-area-card>header strong{font-size:17px}.videogames-area-card>header small{background:#eef7fb;border-radius:999px;color:var(--teal-dark);font-size:11px;font-weight:900;padding:6px 9px;white-space:nowrap}.videogames-area-card p,.videogames-subject-card p{margin:0}.videogames-subject-list{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.videogames-subject-card{background:#fff;border:1px solid #dfe7f0;border-radius:8px;display:grid;gap:11px;min-width:0;padding:13px}.videogames-subject-card.is-linked{border-color:#abdfe3;box-shadow:inset 4px 0 0 var(--teal)}.videogames-subject-card header{align-items:start;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.videogames-subject-card header span{display:grid;gap:3px;min-width:0}.videogames-subject-card header strong{font-size:14px}.videogames-subject-card header b{background:#eff4ff;border-radius:999px;color:var(--blue);font-size:10px;font-weight:950;padding:5px 8px;white-space:nowrap}.videogames-subject-card.is-linked header b{background:var(--teal-soft);color:var(--teal-dark)}.videogames-module-list{display:flex;flex-wrap:wrap;gap:7px}.videogames-module-list span{background:#f5f7fb;border:1px solid #e0e7f0;border-radius:999px;color:#4d5d72;font-size:11px;font-weight:850;padding:6px 8px}.videogames-subject-card footer{align-items:center;border-top:1px solid #eef2f6;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding-top:11px}.videogames-subject-card footer span{align-items:center;display:flex;gap:7px;min-width:0}.videogames-subject-card footer svg{color:var(--blue);flex:0 0 auto}.videogames-student-shell{display:grid;gap:16px}.videogames-student-hero{background:linear-gradient(135deg,#07172ffa,#0a2540f5 56%,#0c5860f0),#07172f;border-radius:8px;color:#fff;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 340px;min-height:260px;overflow:hidden;padding:22px;position:relative}.videogames-student-hero:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08)),repeating-linear-gradient(90deg,transparent 0 36px,rgba(255,255,255,.08) 36px 37px);content:"";inset:0 0 0 auto;pointer-events:none;position:absolute;width:34%}.videogames-student-copy,.student-command-panel{position:relative;z-index:1}.videogames-student-copy{align-content:center;display:grid;gap:14px;max-width:760px}.videogames-student-copy h2,.videogames-student-copy p,.dvu-timeline-shell h3,.dvu-timeline-shell p,.dvu-module-detail h3,.dvu-module-detail p,.virtual-session-plan strong{margin:0}.videogames-student-copy h2{font-size:38px;line-height:1.05}.videogames-student-copy p{color:#d8e7ff;font-size:15px;font-weight:700;line-height:1.55;max-width:660px}.student-hero-metrics{display:grid;gap:9px;grid-template-columns:repeat(4,minmax(0,1fr));max-width:640px}.student-hero-metrics span{background:#ffffff1a;border:1px solid rgba(255,255,255,.16);border-radius:8px;display:grid;gap:3px;min-height:58px;padding:10px}.student-hero-metrics strong{color:#fff;font-size:22px}.student-hero-metrics small{color:#cbd8ea;font-size:11px;font-weight:850}.student-command-panel{align-self:center;background:#f8fbfff7;border:1px solid rgba(255,255,255,.52);border-radius:8px;box-shadow:0 18px 44px #030a1859;color:var(--ink);display:grid;gap:14px;min-width:0;padding:16px}.student-command-main{align-items:center;display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr)}.student-command-main svg{background:var(--teal-soft);border-radius:8px;color:var(--teal-dark);height:42px;padding:8px;width:42px}.student-command-main span,.student-progress-line{display:grid;gap:5px;min-width:0}.student-command-main strong{font-size:15px;line-height:1.25}.student-command-main small,.student-progress-line span,.student-progress-line small{color:var(--muted);font-size:11px;font-weight:850}.student-progress-line i,.virtual-player-bar i{background:#dfe8f3;border-radius:999px;display:block;height:7px;overflow:hidden}.student-progress-line b,.virtual-player-bar b{background:linear-gradient(90deg,var(--teal),var(--blue));border-radius:inherit;display:block;height:100%}.dvu-timeline-shell,.dvu-module-detail,.dvu-virtual-classroom{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px #0f172a0d}.dvu-timeline-shell{display:grid;gap:16px;padding:16px}.dvu-timeline-shell>header,.dvu-module-detail>header,.dvu-virtual-classroom>header{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.dvu-timeline-shell h3,.dvu-module-detail h3{font-size:22px;line-height:1.15}.dvu-timeline-shell p,.dvu-module-detail p{color:var(--muted);font-size:13px;font-weight:720;line-height:1.5;margin-top:5px}.dvu-timeline-shell>header>span,.dvu-module-detail>header b,.dvu-virtual-classroom>header strong{background:#eef8fb;border-radius:999px;color:var(--teal-dark);font-size:11px;font-weight:950;padding:7px 10px;white-space:nowrap}.dvu-semester-visuals{display:grid;align-items:stretch;gap:12px;grid-auto-rows:minmax(340px,1fr);grid-template-columns:repeat(2,minmax(0,1fr))}.dvu-semester-mosaic-card{background:#fff;border:1px solid #dfe7f0;border-radius:8px;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;position:relative}.dvu-semester-mosaic-card.is-active{border-color:#abdfe3;box-shadow:0 14px 34px #0f172a14}.dvu-semester-mosaic-card>header{align-items:center;background:#f8fafc;border-bottom:1px solid #dfe7f0;border-radius:8px 8px 0 0;display:flex;gap:8px;justify-content:space-between;min-height:48px;padding:10px 12px}.dvu-semester-mosaic-card>header span{color:#253044;font-size:12px;font-weight:950}.dvu-semester-mosaic-card>header strong{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.dvu-semester-mosaic{display:grid;gap:0;grid-template-columns:repeat(var(--mosaic-count),minmax(0,1fr));min-height:292px;position:relative}.dvu-semester-mosaic-card.has-1-modules .dvu-semester-mosaic{grid-template-columns:1fr}.dvu-semester-mosaic-card.has-2-modules .dvu-semester-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.dvu-semester-mosaic-card.has-3-modules .dvu-semester-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.dvu-mosaic-tile{min-height:292px;min-width:0;position:relative}.dvu-mosaic-tile:only-child{min-height:292px}.dvu-mosaic-tile+.dvu-mosaic-tile .dvu-mosaic-image{border-left:1px solid rgba(255,255,255,.24)}.dvu-mosaic-image{background:linear-gradient(135deg,color-mix(in srgb,var(--art-accent) 32%,transparent),transparent 54%),var(--art-image),linear-gradient(160deg,var(--art-bg),#0f172a);background-position:center,var(--art-image-position, center),center;background-size:cover;border:0;border-radius:0;color:#fff;display:grid;gap:7px;height:100%;min-height:292px;overflow:hidden;padding:16px;place-items:end start;position:relative;text-align:left;transition:border-color .16s ease,filter .16s ease,transform .16s ease;width:100%}.dvu-mosaic-tile:first-child .dvu-mosaic-image{border-bottom-left-radius:8px}.dvu-mosaic-tile:last-child .dvu-mosaic-image{border-bottom-right-radius:8px}.dvu-mosaic-image:after{background:linear-gradient(180deg,#0f172a2e,#0f172a8f),#e2e8f06b;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .16s ease;z-index:1}.dvu-mosaic-tile:not(.is-active) .dvu-mosaic-image{border-color:#d8e1ec;filter:grayscale(1) saturate(.25) brightness(1.05)}.dvu-mosaic-tile:not(.is-active) .dvu-mosaic-image:after{opacity:1}.dvu-mosaic-tile:hover .dvu-mosaic-image:after,.dvu-mosaic-tile:focus-within .dvu-mosaic-image:after,.dvu-mosaic-tile.is-active .dvu-mosaic-image:after{opacity:0}.dvu-mosaic-tile:hover .dvu-mosaic-image,.dvu-mosaic-tile:focus-within .dvu-mosaic-image,.dvu-mosaic-tile.is-active .dvu-mosaic-image{filter:grayscale(0) saturate(1);transform:none}.dvu-mosaic-tile.is-active .dvu-mosaic-image{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--art-accent) 72%,#ffffff)}.art-orbit,.art-grid,.art-core{pointer-events:none;position:absolute}.art-orbit{border:1px solid color-mix(in srgb,var(--art-accent-2) 70%,transparent);border-radius:999px;height:76px;right:-20px;top:-18px;width:126px}.art-grid{background:linear-gradient(color-mix(in srgb,#ffffff 10%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,#ffffff 10%,transparent) 1px,transparent 1px);background-size:18px 18px;inset:0;-webkit-mask-image:linear-gradient(135deg,transparent,#000 30%,#000 72%,transparent);mask-image:linear-gradient(135deg,transparent,#000 30%,#000 72%,transparent);opacity:.7}.art-core{align-items:center;background:color-mix(in srgb,var(--art-accent) 78%,#ffffff);border:1px solid rgba(255,255,255,.38);border-radius:8px;color:#fff;display:grid;height:40px;place-items:center;right:9px;top:9px;width:40px}.dvu-mosaic-image strong,.dvu-mosaic-image small{position:relative;z-index:1}.dvu-mosaic-image strong{color:#fff;font-size:24px;font-weight:950;line-height:.95;text-shadow:0 4px 14px rgba(0,0,0,.3)}.dvu-mosaic-tile.is-active .dvu-mosaic-image strong,.dvu-mosaic-tile:hover .dvu-mosaic-image strong,.dvu-mosaic-tile:focus-within .dvu-mosaic-image strong{color:#fff;text-shadow:0 0 16px color-mix(in srgb,var(--art-accent) 78%,transparent),0 5px 18px rgba(0,0,0,.38)}.dvu-mosaic-image small{color:#f8fbff;font-size:17px;font-weight:900;line-height:1.05;max-width:100%;text-wrap:balance;z-index:2}.dvu-mosaic-image strong{z-index:2}.dvu-mosaic-tile:not(.is-active) .dvu-mosaic-image small{color:#e6edf7}.dvu-mosaic-tile.is-active .dvu-mosaic-image small,.dvu-mosaic-tile:hover .dvu-mosaic-image small,.dvu-mosaic-tile:focus-within .dvu-mosaic-image small{color:#fff;text-shadow:0 0 14px color-mix(in srgb,var(--art-accent) 70%,transparent)}.dvu-module-popover{background:#fff;border:1px solid #dfe7f0;border-radius:8px;box-shadow:0 22px 58px #07172f38;display:grid;gap:12px;grid-template-columns:190px minmax(220px,1fr);left:50%;opacity:0;padding:10px;pointer-events:none;position:absolute;top:calc(100% + 10px);transform:translate(-50%,8px);transition:opacity .14s ease,transform .14s ease;width:min(520px,calc(100vw - 48px));z-index:20}.dvu-mosaic-tile:hover .dvu-module-popover,.dvu-mosaic-tile:focus-within .dvu-module-popover{opacity:1;pointer-events:auto;transform:translate(-50%)}.popover-image{background:linear-gradient(135deg,color-mix(in srgb,var(--art-accent) 34%,transparent),transparent 54%),var(--art-image),linear-gradient(160deg,var(--art-bg),#0f172a);background-position:center,var(--art-image-position, center),center;background-size:cover;border-radius:8px;color:#fff;display:grid;min-height:190px;overflow:hidden;padding:14px;place-items:end start;position:relative}.popover-image .art-core{height:58px;width:58px}.popover-image strong{font-size:16px;line-height:1.15;max-width:150px;position:relative;text-shadow:0 5px 18px rgba(0,0,0,.35);z-index:1}.popover-copy{align-content:start;display:grid;gap:9px;min-width:0;padding:4px 2px}.popover-copy>span{color:var(--teal-dark);font-size:11px;font-weight:950;text-transform:uppercase}.popover-copy p{color:#3b4a61;font-size:12px;font-weight:760;line-height:1.45;margin:0}.popover-copy div{display:flex;flex-wrap:wrap;gap:6px}.popover-copy small{background:#f4f7fb;border:1px solid #e0e7f0;border-radius:999px;color:#536176;font-size:10px;font-weight:900;padding:5px 7px}.popover-copy footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}.popover-copy footer button{background:var(--ink);border:0;border-radius:8px;color:#fff;font-size:11px;font-weight:950;min-height:32px;padding:0 10px}.popover-copy footer button+button{background:var(--teal)}.popover-copy footer button:nth-child(3){background:#eef8fb;border:1px solid #b7dce7;color:var(--teal-dark)}.dvu-semester-timeline{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.dvu-semester-column{display:grid;gap:10px;min-width:0}.dvu-semester-node{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#253044;display:grid;gap:4px;min-height:86px;padding:12px;text-align:left}.dvu-semester-column.is-active .dvu-semester-node,.dvu-semester-node:hover{background:#eef8fb;border-color:#abdfe3}.dvu-semester-node span{color:var(--teal-dark);font-size:11px;font-weight:950}.dvu-semester-node strong{font-size:15px}.dvu-semester-node small{color:var(--muted);font-size:11px;font-weight:850}.dvu-module-track{border-left:2px solid #dfe7f0;display:grid;gap:8px;margin-left:12px;padding-left:10px}.dvu-module-node{background:#fff;border:1px solid #dfe7f0;border-radius:8px;color:#253044;display:grid;gap:4px;min-height:86px;padding:10px;position:relative;text-align:left}.dvu-module-node:before{background:#c8d3e2;border:2px solid #ffffff;border-radius:999px;content:"";height:10px;left:-17px;position:absolute;top:18px;width:10px}.dvu-module-node:hover,.dvu-module-node.is-active{background:var(--teal-soft);border-color:#abdfe3}.dvu-module-node.is-active:before{background:var(--teal)}.module-node-index{color:var(--teal-dark);font-size:10px;font-weight:950}.dvu-module-node strong{font-size:13px;line-height:1.2}.dvu-module-node small,.dvu-module-node i{color:var(--muted);font-size:11px;font-style:normal;font-weight:800;line-height:1.3}.dvu-module-node i{color:#3b6f78}.dvu-student-detail-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 390px}.dvu-module-detail{display:grid;gap:14px;padding:16px;scroll-margin-top:16px}.dvu-module-detail>header small{color:var(--teal-dark);font-size:11px;font-weight:950;text-transform:uppercase}.dvu-module-metas,.dvu-tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.dvu-module-metas span,.dvu-tag-cloud span{align-items:center;background:#f7fafc;border:1px solid #e1e8f0;border-radius:999px;color:#344054;display:inline-flex;font-size:12px;font-weight:850;gap:7px;padding:7px 10px}.dvu-module-metas svg,.dvu-tag-cloud svg{color:var(--teal-dark)}.dvu-learning-beats{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.dvu-learning-beats button{background:#fff;border:1px solid #dfe7f0;border-radius:8px;color:#253044;display:grid;gap:5px;grid-template-columns:32px minmax(0,1fr);min-height:72px;padding:10px;text-align:left}.dvu-learning-beats button:hover,.dvu-learning-beats button.is-current{background:#eef8fb;border-color:#abdfe3}.dvu-learning-beats span{align-items:center;background:var(--ink);border-radius:8px;color:#fff;display:grid;font-size:11px;font-weight:950;height:32px;place-items:center;width:32px}.dvu-learning-beats strong{font-size:12px;line-height:1.25}.dvu-learning-beats small{color:var(--muted);font-size:11px;font-weight:800;grid-column:2}.dvu-tag-cloud{align-items:center}.dvu-tag-cloud>svg{flex:0 0 auto}.dvu-virtual-classroom{display:grid;gap:14px;padding:16px}.dvu-virtual-classroom>header span{align-items:center;color:var(--teal-dark);display:inline-flex;font-size:11px;font-weight:950;gap:6px;text-transform:uppercase}.virtual-player{background:#f7fafc;border:1px solid #e1e8f0;border-radius:8px;display:grid;gap:10px;padding:10px;scroll-margin-top:16px}.virtual-player-screen{background:#07172f;border-radius:8px;color:#fff;display:grid;gap:12px;grid-template-columns:128px minmax(0,1fr);min-height:154px;overflow:hidden;padding:12px}.virtual-player-art{background:linear-gradient(135deg,color-mix(in srgb,var(--art-accent) 34%,transparent),transparent 54%),var(--art-image),linear-gradient(160deg,var(--art-bg),#0f172a);background-position:center,var(--art-image-position, center),center;background-size:cover;border-radius:8px;min-height:130px;overflow:hidden;position:relative}.virtual-player-art .art-core{height:56px;width:56px}.virtual-player-screen>span{align-content:end;display:grid;gap:6px;min-width:0}.virtual-player-screen strong{color:#fff;font-size:18px;line-height:1.15}.virtual-player-screen small{color:#cbd8ea;font-size:12px;font-weight:850}.virtual-player-bar{display:grid;gap:6px}.virtual-resource-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.virtual-resource-grid article{align-items:start;background:#fff;border:1px solid #dfe7f0;border-radius:8px;display:grid;gap:9px;grid-template-columns:28px minmax(0,1fr);min-width:0;padding:10px}.virtual-resource-grid svg{background:var(--teal-soft);border-radius:8px;color:var(--teal-dark);height:28px;padding:6px;width:28px}.virtual-resource-grid span{display:grid;gap:3px;min-width:0}.virtual-resource-grid strong{font-size:12px;line-height:1.2}.virtual-resource-grid small,.virtual-session-plan span{color:var(--muted);font-size:11px;font-weight:820;line-height:1.35}.virtual-session-plan{background:#eef8fb;border:1px solid #cbe9df;border-radius:8px;display:grid;gap:5px;padding:12px}.virtual-session-plan strong{color:#1f3d45;font-size:13px;line-height:1.45}.route-step{align-items:center;background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:var(--ink);display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr) auto;min-height:56px;padding:10px 12px;text-align:left}.route-step:hover,.route-step.is-current{background:#eef8fb;border-color:#b7dce7}.route-step span{align-items:center;background:var(--ink);border-radius:8px;color:#fff;display:grid;font-size:12px;font-weight:900;height:32px;place-items:center;width:32px}.route-step.is-current span{background:linear-gradient(135deg,var(--blue),var(--teal))}.route-step strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-nav-item .nav-label-short{display:none}.route-step small{color:var(--muted);font-size:12px;font-weight:850}.workspace-panel,.agenda-panel,.focus-panel,.teacher-entry-panel{display:grid;gap:14px}.workspace-body{background:#f6f9fd;border:1px solid #e0e8f2;border-radius:8px;display:grid;gap:10px;padding:16px}.workspace-body svg{color:var(--teal)}.workspace-body h3,.workspace-body p{margin:0}.workspace-body h3{font-size:19px}.workspace-body p,.teacher-entry-panel p{color:#536176;font-size:13px;line-height:1.45}.agenda-body{align-items:center;background:#f3f7ff;border:1px solid #dfe8f8;border-radius:8px;display:grid;gap:12px;grid-template-columns:38px minmax(0,1fr);padding:14px}.agenda-body svg{color:var(--blue)}.agenda-body span{display:grid;gap:3px}.agenda-body strong{font-size:14px}.agenda-body small{color:var(--muted);font-size:12px;font-weight:760}.focus-list{display:grid;gap:8px}.focus-list span{align-items:center;background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#344054;display:grid;font-size:12px;font-weight:800;gap:8px;grid-template-columns:18px minmax(0,1fr);min-height:38px;padding:8px 10px}.focus-list svg{color:var(--teal-dark)}.focus-panel .weather-card{background:linear-gradient(135deg,#07172ffa,#0e254cf0),var(--ink);border-color:transparent;min-width:0}.quick-actions{display:flex;gap:9px;position:relative;z-index:1}.quick-actions button,.code-modules button,.ai-prompts button,.ai-input button{align-items:center;border:0;display:inline-flex;font-size:13px;font-weight:850;gap:8px;justify-content:center}.quick-actions button{background:#ffffff1f;border:1px solid rgba(255,255,255,.22);color:#fff;min-height:38px;padding:0 13px}.quick-actions .primary,.code-modules button,.ai-input button{background:var(--teal);color:#fff}.dashboard-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.5fr) minmax(270px,.78fr) minmax(270px,.78fr)}.dashboard-grid.minimal{align-items:start;grid-template-columns:minmax(420px,1.25fr) minmax(240px,.55fr) minmax(270px,.65fr)}.home-grid{align-items:start;grid-template-columns:minmax(420px,1.1fr) minmax(270px,.65fr) minmax(270px,.65fr)}.tools-grid{align-items:start;grid-template-columns:repeat(3,minmax(250px,1fr))}.dashboard-grid.lower{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr) minmax(300px,1fr) minmax(250px,.75fr)}.portal-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px #0f172a0f;min-width:0;padding:16px}.courses-panel{min-height:260px}.panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.panel-heading.compact{margin-bottom:12px}.panel-heading h3{color:#182235;font-size:15px;line-height:1.2;margin:0}.panel-heading span{color:var(--muted);font-size:12px;font-weight:800}.sparkline{background:#e8edf4;border-radius:999px;overflow:hidden}.list-item,.message-item{align-items:center;border-top:1px solid #edf1f6;display:grid;gap:10px;min-height:48px}.list-item{color:#516075;grid-template-columns:22px minmax(0,1fr) auto}.list-item:first-of-type,.message-item:first-of-type{border-top:0}.list-item strong,.message-item strong{color:#263246;font-size:13px;line-height:1.25}.tag{background:var(--teal-soft);border-radius:999px;color:var(--teal-dark);font-size:11px;font-weight:900;padding:5px 8px;white-space:nowrap}.tag.red{background:#fff1f2;color:var(--crimson)}.message-item{grid-template-columns:32px minmax(0,1fr) 8px}.message-item small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-item i{background:var(--teal);border-radius:999px;height:8px;width:8px}.avatar.red{background:var(--crimson)}.avatar.green{background:var(--green)}.avatar.blue{background:var(--blue)}.tool-actions{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.tool-actions button{align-items:center;background:#f8fafc;border:1px solid #e3e9f1;border-radius:8px;color:#233149;display:grid;font-size:13px;font-weight:850;gap:9px;justify-items:start;min-height:88px;padding:12px;text-align:left}.tool-actions button span{line-height:1.22;overflow-wrap:break-word}.tool-actions button:hover,.code-modules button:hover,.ai-prompts button:hover,.quick-actions button:hover{filter:brightness(.97)}.tool-actions svg{color:var(--teal)}.teacher-tools-panel{grid-column:span 2}.teacher-tool-grid{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-tool-grid button{align-items:center;background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#253044;display:grid;gap:10px;grid-template-columns:22px minmax(0,1fr) auto;min-height:62px;padding:10px;text-align:left}.teacher-tool-grid button:hover{background:#eef8fb;border-color:#b7dce7}.teacher-entry-panel,.role-gate-panel,.settings-panel{display:grid;gap:14px}.settings-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;padding:4px 0 14px}.settings-row:last-child{border-bottom:0;padding-bottom:4px}.settings-row span{display:grid;gap:3px;min-width:0}.settings-row strong{font-size:14px}.settings-row small{color:var(--muted);font-size:12px;font-weight:720;line-height:1.4}.settings-row b{background:var(--teal-soft);border-radius:999px;color:var(--teal-dark);font-size:12px;padding:7px 10px}.platform-readiness-row{border-bottom:0;padding-bottom:0}.readiness-grid{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:14px}.readiness-card{background:#f8fafc;border:1px solid #dce5ef;border-radius:8px;display:grid;gap:8px;min-width:0;padding:11px}.readiness-card.is-ready{background:#eefbf6;border-color:#a6dec8}.readiness-card.is-degraded{background:#fff7ed;border-color:#fed7aa}.readiness-card>span{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.readiness-card strong{color:#172033;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readiness-card small{color:#64748b;font-size:11px;font-weight:850}.readiness-card b{justify-self:start}.readiness-card p{color:#475569;font-size:12px;font-weight:720;line-height:1.35;margin:0}.teacher-tool-grid svg{color:var(--teal)}.teacher-tool-grid span{display:grid;gap:3px;min-width:0}.teacher-tool-grid strong{color:#253044;font-size:12px;line-height:1.2}.teacher-tool-grid small{color:var(--muted);font-size:11px;font-weight:760;line-height:1.25}.teacher-command-center{background:#f8fbff;border:1px solid #dce6f1;border-radius:8px;display:grid;gap:12px;margin-top:14px;padding:13px}.teacher-command-center header{align-items:center;display:flex;gap:12px;justify-content:space-between}.teacher-command-center header div{display:grid;gap:3px}.teacher-command-center header strong{color:#172033;font-size:14px}.teacher-command-center header small{color:#64748b;font-size:12px;font-weight:760}.teacher-command-center header button{background:#143352;border:0;color:#fff;font-size:12px;font-weight:900;min-height:36px;padding:0 12px}.teacher-command-center header button:disabled{background:#dce5ef;color:#64748b}.teacher-command-grid{display:grid;gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-command-card{background:#fff;border:1px solid #dce6f1;border-left:4px solid #94a3b8;border-radius:8px;display:grid;gap:5px;min-height:104px;padding:11px}.teacher-command-card.ready{border-left-color:var(--green)}.teacher-command-card.local{border-left-color:var(--blue)}.teacher-command-card.pending{border-left-color:#94a3b8}.teacher-command-card.risk{border-left-color:#c46b1f}.teacher-command-card span{color:#52627a;font-size:10px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.teacher-command-card strong{color:#07172f;font-size:14px;line-height:1.2}.teacher-command-card small{color:#52627a;font-size:11px;font-weight:730;line-height:1.4}.teacher-points-panel,.teacher-operations-panel,.teacher-journal-panel,.teacher-submissions-panel,.teacher-interventions-panel{border-top:1px solid var(--line);display:grid;gap:10px;margin-top:14px;padding-top:14px}.teacher-points-panel>div:first-child,.teacher-operations-panel>div:first-child,.teacher-journal-panel>div:first-child,.teacher-submissions-panel>div:first-child,.teacher-interventions-panel>div:first-child{display:grid;gap:3px}.teacher-course-picker{color:#46566d;display:grid;font-size:11px;font-weight:900;gap:5px;max-width:340px;text-transform:uppercase}.teacher-course-picker select{background:#fff;border:1px solid #d4deea;color:#172033;font-size:13px;font-weight:760;min-height:36px;padding:0 10px;text-transform:none}.teacher-points-panel strong,.teacher-operations-panel strong,.teacher-journal-panel strong,.teacher-submissions-panel strong,.teacher-interventions-panel strong{font-size:13px}.teacher-points-panel small,.teacher-operations-panel small,.teacher-journal-panel small,.teacher-submissions-panel small,.teacher-interventions-panel small,.teacher-points-message{color:var(--muted);font-size:12px;font-weight:720;line-height:1.35}.teacher-points-panel>button,.teacher-operations-panel>button,.teacher-journal-panel>button,.teacher-submissions-panel>button,.teacher-interventions-panel>button{align-items:center;background:#102032;border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:850;height:34px;justify-content:center;justify-self:start;padding:0 12px}.teacher-points-result,.teacher-operations-result,.teacher-journal-result,.teacher-submissions-result,.teacher-interventions-result{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;display:grid;gap:10px;padding:11px}.teacher-points-result.supabase,.teacher-operations-result.ready,.teacher-journal-result.supabase,.teacher-submissions-result.supabase,.teacher-interventions-result.supabase{background:#edf8f4;border-color:#9bd7c3}.teacher-points-result.failed,.teacher-points-result.configuration_required,.teacher-operations-result.failed,.teacher-operations-result.configuration_required,.teacher-operations-result.degraded,.teacher-journal-result.failed,.teacher-journal-result.configuration_required,.teacher-submissions-result.failed,.teacher-submissions-result.configuration_required,.teacher-interventions-result.failed,.teacher-interventions-result.configuration_required{background:#fff5e6;border-color:#f3c778}.teacher-points-result>span,.teacher-operations-result>span,.teacher-journal-result>span,.teacher-submissions-result>span,.teacher-interventions-result>span,.teacher-points-list span,.teacher-journal-list span,.teacher-submissions-list span,.teacher-interventions-list span{display:grid;gap:2px}.teacher-export-button{align-items:center;background:#fff;border:1px solid #cbd8ea;color:#172033;display:inline-flex;font-size:12px;font-weight:850;gap:7px;justify-content:center;justify-self:start;min-height:34px;padding:0 11px}.teacher-export-button:hover{border-color:#8fb6c6}.teacher-points-list,.teacher-journal-list,.teacher-submissions-list,.teacher-interventions-list,.teacher-intervention-actions-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-journal-list span,.teacher-submissions-list span,.teacher-interventions-list span,.teacher-intervention-actions-list span{background:#ffffffbd;border:1px solid rgba(125,145,170,.22);border-radius:8px;display:grid;gap:2px;padding:9px}.teacher-submissions-list span.is-risk{background:#fff7ed;border-color:#fed7aa}.teacher-journal-list em,.teacher-submissions-list em,.teacher-interventions-list em,.teacher-intervention-actions-list em{color:#334155;font-size:11px;font-style:normal;font-weight:740;line-height:1.35}.teacher-interventions-list span.blocked{background:#fff1f2;border-color:#fecdd3}.teacher-interventions-list span.attention{background:#fff7ed;border-color:#fed7aa}.teacher-intervention-actions-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.teacher-intervention-actions-header strong{font-size:12px}.teacher-interventions-list button{margin-top:4px}.teacher-interventions-list button,.teacher-intervention-actions-header button,.teacher-intervention-actions-list button{align-items:center;background:#102032;border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:11px;font-weight:850;justify-content:center;justify-self:start;min-height:32px;padding:0 10px}.teacher-intervention-actions-list div{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.teacher-intervention-actions-list span.done{background:#edf8f4;border-color:#9bd7c3}.teacher-intervention-actions-list span.deferred{background:#f6f7fb;border-color:#d9deea}.teacher-interventions-list button:disabled,.teacher-intervention-actions-header button:disabled,.teacher-intervention-actions-list button:disabled{background:#d8e0eb;color:#617089}.teacher-points-metrics,.teacher-module-points,.teacher-milestone-points,.teacher-outcome-coverage,.teacher-practice-checkpoints{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.teacher-points-metrics span,.teacher-module-points span,.teacher-milestone-points span,.teacher-outcome-coverage span,.teacher-practice-checkpoints span,.teacher-next-action{background:#ffffffbd;border:1px solid rgba(125,145,170,.22);border-radius:8px;display:grid;gap:4px;min-width:0;padding:9px}.teacher-practice-checkpoints header{grid-column:1 / -1}.teacher-practice-checkpoints header strong{color:#172033;font-size:13px}.teacher-practice-checkpoints header small{color:#64748b;display:block;font-size:11px;font-weight:760;margin-top:2px}.teacher-practice-checkpoints span.attention{background:#fff7ed;border-color:#fed7aa}.teacher-practice-checkpoints span.configuration_required{background:#f8fafc;border-color:#dbe4ef}.teacher-practice-checkpoints em{color:#334155;font-size:11px;font-style:normal;font-weight:740;line-height:1.35}.teacher-points-metrics span{align-items:center;grid-template-columns:auto 1fr}.teacher-points-metrics svg{color:#0f766e;grid-row:span 2}.teacher-points-metrics b,.teacher-module-points b,.teacher-milestone-points b,.teacher-outcome-coverage b,.teacher-practice-checkpoints b,.teacher-next-action strong{color:#172033;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-points-metrics small,.teacher-module-points small,.teacher-milestone-points small,.teacher-outcome-coverage small,.teacher-practice-checkpoints small,.teacher-next-action span{color:#64748b;font-size:11px;font-weight:780;line-height:1.35}.teacher-milestone-points span.attention,.teacher-outcome-coverage span.attention{background:#fff7ed;border-color:#fed7aa}.teacher-milestone-points span.on_track,.teacher-outcome-coverage span.on_track{background:#edf8f4;border-color:#9bd7c3}.teacher-milestone-points em,.teacher-outcome-coverage em{color:#334155;font-size:11px;font-style:normal;font-weight:780;line-height:1.35}.teacher-next-action span{color:#334155;font-size:12px}.teacher-points-list span.is-risk{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px}.teacher-points-message{margin:0}.teacher-points-message.failed{color:#a83333}.ai-card{align-items:flex-start;background:#f1f7fa;border:1px solid #d8ecf3;border-radius:8px;color:#264458;display:flex;gap:10px;padding:13px}.ai-card p{font-size:13px;line-height:1.45;margin:0}.ai-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ai-prompts button{background:#f8fafc;border:1px solid #dfe6ef;color:#344054;min-height:32px;padding:0 9px}.ai-input{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 38px}.ai-input input{border:1px solid #dfe6ef;border-radius:8px;height:38px;min-width:0;outline:0;padding:0 10px}.ai-input button{border:0;height:38px}.code-modules{display:grid;gap:12px;grid-template-columns:1fr 1fr}.code-modules.single{grid-template-columns:1fr}.code-modules div{background:#f8fafc;border:1px solid #e3e9f1;border-radius:8px;min-height:215px;padding:16px}.code-modules svg{color:var(--teal)}.code-modules h3{font-size:18px;margin:14px 0 6px}.code-modules p{color:var(--muted);font-size:13px;line-height:1.45;min-height:38px;margin:0 0 14px}.code-modules button{border:0;min-height:36px;padding:0 12px}.code-modules button:disabled{background:#d9e0ea;color:#667085}.similarity{align-items:baseline;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:var(--amber);display:flex;gap:8px;margin-bottom:7px;padding:12px}.similarity strong{font-size:28px}.similarity span{color:#7c4a03;font-size:12px;font-weight:850}.jplag-run-button{align-items:center;background:var(--teal);border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:900;gap:7px;justify-content:center;margin-bottom:8px;min-height:36px;padding:0 12px;width:100%}.mail-run-button{align-items:center;background:#24364f;border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:900;gap:7px;justify-content:center;margin:12px 0 8px;min-height:36px;padding:0 12px;width:100%}.mail-run-button:disabled{opacity:.72}.mail-categories{display:grid;gap:8px;margin-bottom:12px}.mail-categories button{align-items:center;background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#253044;display:grid;gap:8px;grid-template-columns:20px minmax(0,1fr) auto;min-height:48px;padding:9px 10px;text-align:left}.mail-categories svg{color:var(--teal)}.mail-categories span{display:grid;gap:2px;min-width:0}.mail-categories strong{font-size:12px}.mail-categories small{color:var(--muted);font-size:11px}.mail-categories b{align-items:center;background:var(--crimson);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:900;height:22px;justify-content:center;min-width:22px;padding:0 6px}.jplag-run-button:disabled{opacity:.72}.jplag-result,.mail-result{border:1px solid #dce3ed;border-radius:8px;display:grid;gap:8px;padding:10px}.mail-result.completed{background:#f8fafc}.mail-result.configuration_required,.mail-result.failed{background:#fff7ed;border-color:#fed7aa}.mail-result strong{color:#263246;font-size:12px;line-height:1.35}.mail-result span{border-top:1px solid #e7edf5;display:grid;gap:3px;padding-top:8px}.mail-result b{color:#253044;font-size:12px}.mail-result small{color:var(--muted);font-size:11px}.assistant-panel{display:grid;gap:12px}.assistant-intro{align-items:center;background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#253044;display:grid;gap:9px;grid-template-columns:24px minmax(0,1fr);padding:10px}.assistant-intro svg{color:var(--teal)}.assistant-avatar{align-self:center;background:#fff;border:1px solid #e1e8f0;border-radius:50%;box-shadow:0 8px 18px #1018281a;height:34px;justify-self:center;object-fit:contain;padding:2px;width:34px}.assistant-intro span,.assistant-question,.assistant-result,.assistant-sources span{display:grid;gap:4px;min-width:0}.assistant-intro strong,.assistant-result strong{color:#253044;font-size:12px}.assistant-intro small,.assistant-runtime small,.assistant-result small,.assistant-sources small{color:var(--muted);font-size:11px;line-height:1.35}.assistant-runtime{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.assistant-runtime-pill{background:#ecfeff;border:1px solid #bae6fd;border-radius:999px;color:#075985;flex:0 0 auto;font-size:11px;font-weight:900;max-width:58%;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.assistant-runtime-pill.browser_llm{background:#ecfeff;border-color:#bae6fd;color:#075985}.assistant-runtime-pill.retrieval_only{background:#f8fafc;border-color:#dce3ed;color:#475467}.assistant-runtime-pill.blocked{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.assistant-runtime small{min-width:0;text-align:right}.assistant-attempt-context{background:#f8fafc;border:1px solid #dbe4ef;border-left:4px solid var(--blue);border-radius:8px;display:grid;gap:4px;padding:10px 11px}.assistant-attempt-context strong{color:#172033;font-size:13px}.assistant-attempt-context small,.assistant-attempt-context span{color:#536176;font-size:12px;font-weight:740;line-height:1.35}.assistant-attempt-context span{color:#334155}.assistant-model-picker{background:#f8fafc;border:1px solid #dce3ed;border-radius:8px;display:grid;gap:8px;padding:10px}.assistant-model-picker label{color:#344054;display:grid;font-size:11px;font-weight:900;gap:5px}.assistant-model-picker select{background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#253044;font:inherit;min-height:34px;padding:0 9px}.assistant-model-picker small{color:var(--muted);font-size:11px;line-height:1.35}.assistant-compare-toggle{align-items:center;display:flex!important;flex-direction:row;gap:8px!important}.assistant-compare-toggle input{height:16px;margin:0;width:16px}.assistant-model-candidates{display:flex;flex-wrap:wrap;gap:6px}.assistant-model-candidates span{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#9a3412;display:inline-flex;gap:6px;min-height:26px;padding:0 8px}.assistant-model-candidates b,.assistant-model-candidates small{font-size:10px;line-height:1}.assistant-thread{display:grid;gap:8px;max-height:280px;overflow:auto;padding-right:2px}.assistant-turn{border:1px solid #dce3ed;border-radius:8px;display:grid;gap:4px;max-width:92%;padding:9px 10px}.assistant-turn.user{background:#eef6ff;border-color:#bfdbfe;justify-self:end}.assistant-turn.assistant{background:#fff;justify-self:start}.assistant-turn small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.assistant-turn p{color:#253044;font-size:12px;line-height:1.45;margin:0;white-space:pre-wrap}.assistant-question{color:#344054;font-size:12px;font-weight:900}.assistant-question textarea{background:#fff;border:1px solid #dce3ed;border-radius:8px;color:#253044;font:inherit;line-height:1.35;min-height:94px;padding:10px;resize:vertical}.assistant-run-button{align-items:center;background:var(--teal);border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:900;gap:7px;justify-content:center;min-height:36px;padding:0 12px;width:100%}.assistant-run-button:disabled{opacity:.72}.assistant-result{background:#f8fafc;border:1px solid #dce3ed;border-radius:8px;padding:10px}.assistant-result.configuration_required{background:#fff7ed;border-color:#fed7aa}.assistant-result p{color:#344054;font-size:12px;line-height:1.45;margin:0;white-space:pre-wrap}.assistant-sources{display:grid;gap:7px}.assistant-sources span{border-top:1px solid #e7edf5;padding-top:7px}.assistant-sources b{color:#253044;font-size:12px;line-height:1.25}.calendar-panel{grid-column:1 / -1}.teaching-calendar{display:grid;gap:12px;min-width:0}.calendar-settings{position:relative}.calendar-settings-trigger{align-items:center;background:#fff;border:1px solid #dce7f4;border-radius:8px;color:#27405f;display:inline-flex;height:34px;justify-content:center;width:34px}.calendar-settings-trigger:hover,.calendar-settings-trigger[aria-expanded=true]{background:var(--blue);border-color:var(--blue);color:#fff}.calendar-settings-menu{background:#fff;border:1px solid #dce7f4;border-radius:8px;box-shadow:0 18px 44px #07172f29;display:grid;gap:4px;min-width:250px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:25}.calendar-settings-menu a,.calendar-settings-menu button{align-items:center;background:transparent;border:0;border-radius:7px;color:#27405f;display:inline-flex;font-size:12px;font-weight:850;gap:8px;justify-content:flex-start;min-height:34px;padding:0 9px;text-align:left;text-decoration:none}.calendar-settings-menu a:hover,.calendar-settings-menu button:hover{background:#f1f5fb;color:#07172f}.calendar-settings-menu button:disabled{color:#98a7ba}.calendar-settings-menu span{border-top:1px solid #e8eef6;color:var(--muted);font-size:11px;font-weight:750;line-height:1.35;margin-top:4px;padding:8px 9px 2px}.full-calendar-shell{background:#fff;border:1px solid #dce7f4;border-radius:8px;overflow:hidden;padding:12px;position:relative}.calendar-loading,.editor-loading,.view-loading{align-items:center;color:var(--muted);display:grid;font-size:13px;font-weight:800;min-height:220px;place-items:center}.editor-loading{background:#101827;color:#d7e3f4;height:100%}.full-calendar-shell .fc{color:#253044;font-family:inherit}.full-calendar-shell .fc .fc-toolbar{align-items:center;gap:8px;margin-bottom:10px}.full-calendar-shell .fc .fc-toolbar-title{color:#07172f;font-size:18px;font-weight:800}.full-calendar-shell .fc .fc-button{background:#fff;border:1px solid #dce7f4;border-radius:7px;color:#27405f;font-size:12px;font-weight:800;min-height:30px;padding:4px 9px}.full-calendar-shell .fc .fc-button-primary:not(:disabled).fc-button-active,.full-calendar-shell .fc .fc-button-primary:not(:disabled):active,.full-calendar-shell .fc .fc-button:hover{background:var(--blue);border-color:var(--blue);color:#fff}.full-calendar-shell .fc-theme-standard td,.full-calendar-shell .fc-theme-standard th,.full-calendar-shell .fc-theme-standard .fc-scrollgrid{border-color:#e8eef6}.full-calendar-shell .fc .fc-daygrid-day-number,.full-calendar-shell .fc .fc-col-header-cell-cushion{color:#48617f;font-size:12px;font-weight:800;text-decoration:none}.full-calendar-shell .fc .fc-daygrid-day:hover{background:#f8fbff}.full-calendar-shell .fc .fc-event{background:var(--blue);border-color:var(--blue);border-radius:6px;cursor:pointer;font-size:12px;font-weight:800;padding:2px 4px}.full-calendar-shell .fc .fc-event.is-academic{background:#e7f8f8;border-color:#9ddadd;color:#07172f}.full-calendar-shell .fc .fc-event.is-local{background:#07172f;border-color:#07172f;color:#fff}.full-calendar-shell .fc .fc-event.is-google{background:var(--blue);border-color:var(--blue)}.full-calendar-shell .fc .fc-highlight{background:#2563eb24}.calendar-hover-card{background:#07172f;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 18px 44px #07172f38;color:#fff;display:grid;gap:4px;max-width:260px;padding:10px 11px;pointer-events:none;position:fixed;z-index:40}.calendar-hover-card strong{font-size:12px}.calendar-hover-card span,.calendar-hover-card p{color:#cbd8ea;font-size:11px;font-weight:750;line-height:1.35;margin:0}.jplag-result.completed{background:#f0fdf4;border-color:#bbf7d0}.jplag-result.configuration_required,.jplag-result.failed{background:#fff7ed;border-color:#fed7aa}.jplag-result strong{color:#263246;font-size:12px;line-height:1.35}.jplag-result span{align-items:center;color:#344054;display:flex;font-size:12px;font-weight:800;justify-content:space-between}.jplag-result b{background:#dff7ef;border-radius:999px;color:var(--green);padding:4px 7px}.jplag-result small{color:var(--muted);font-size:11px;font-weight:800}.panel-note{color:var(--muted);font-size:13px;line-height:1.45;margin:0}.analytics-panel{display:grid;grid-template-columns:minmax(0,1fr) 250px}.analytics-panel .panel-heading{grid-column:1 / -1}.metric-row{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric{border-left:3px solid var(--teal);display:grid;gap:4px;padding-left:12px}.metric span{color:var(--muted);font-size:12px;font-weight:800}.metric strong{font-size:20px}.metric small{color:var(--green);font-size:12px;font-weight:900}.metric small.negative{color:var(--crimson)}.sparkline{align-items:end;align-self:stretch;display:flex;gap:8px;justify-content:center;padding:12px}.sparkline i{background:var(--teal);border-radius:999px 999px 0 0;display:block;width:14px}.pyxom-page,.course-content-page{display:grid;gap:16px}.tool-header{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:flex;justify-content:space-between;padding:16px}.tool-header h2,.tool-header p{margin:0}.tool-header h2{font-size:24px;margin-top:5px}.tool-header p{color:var(--muted);font-size:13px;line-height:1.45;margin-top:5px}.link-button{background:transparent;border:0;color:var(--teal-dark);font-size:13px;font-weight:900;padding:0}.tool-chip-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tool-chip-row span{align-items:center;background:#f7fafc;border:1px solid #e1e8f0;border-radius:999px;color:#344054;display:inline-flex;font-size:12px;font-weight:850;gap:7px;padding:7px 10px}.pyxom-layout{display:grid;gap:16px;grid-template-columns:260px minmax(0,1fr)}.course-content-layout{display:grid;gap:16px;grid-template-columns:300px minmax(0,1fr)}.module-browser,.course-content-main,.pyxom-workspace,.practice-surface{min-width:0}.course-content-main{display:grid;gap:12px}.tool-capability-line{align-self:start;color:#52627a;font-size:13px;font-weight:800;justify-self:end;margin:0;text-align:right}.course-compass{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.course-compass-card{background:#fff;border:1px solid #dce6f1;border-left:4px solid #9aa8bb;border-radius:8px;box-shadow:0 14px 34px #07172f0d;display:grid;gap:4px;min-height:78px;padding:10px 12px}.course-compass-card.ready{border-left-color:var(--green)}.course-compass-card.local{border-left-color:var(--blue)}.course-compass-card.pending{border-left-color:#c46b1f}.course-compass-card span{color:#52627a;font-size:10px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.course-compass-card strong{color:#07172f;font-size:15px;line-height:1.2}.course-compass-card small{color:#52627a;font-size:12px;font-weight:720;line-height:1.4}.content-primary-action:disabled{background:#e7edf5;border-color:#d6e0eb;color:#667085;cursor:not-allowed}.module-learning-studio{background:#fff;border:1px solid #d7e0ea;border-radius:8px;box-shadow:0 18px 46px #07172f0f;display:grid;gap:18px;padding:18px}.module-learning-studio>header{align-items:start;border-bottom:1px solid #e4ebf3;display:flex;gap:18px;justify-content:space-between;padding-bottom:15px}.module-learning-studio>header div{display:grid;gap:5px;min-width:0}.module-learning-studio>header span{color:#52627a;font-size:11px;font-weight:950;letter-spacing:.03em;text-transform:uppercase}.module-learning-studio h3,.module-learning-studio h4,.module-learning-studio p{margin:0}.module-learning-studio h3{color:#07172f;font-size:clamp(24px,3vw,36px);line-height:1.08}.module-learning-studio>header p{color:#52627a;font-size:14px;line-height:1.45;max-width:720px}.module-learning-grid{display:grid;gap:16px;grid-template-columns:minmax(170px,.42fr) minmax(0,1fr) minmax(220px,.46fr)}.module-theory-index{align-content:start;display:grid;gap:8px}.module-theory-index>strong,.module-understanding-panel>strong{color:#172033;font-size:13px;font-weight:950}.module-theory-index button{align-items:center;background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#334155;display:grid;font-size:12px;font-weight:850;gap:8px;grid-template-columns:28px minmax(0,1fr);min-height:42px;padding:8px 10px;text-align:left}.module-theory-index button span{color:#728096;font-size:11px;font-weight:950}.module-theory-index button:hover,.module-theory-index button.is-active{background:#eef8fb;border-color:#a9d8e4;color:#0f6671}.module-theory-reader{border-left:1px solid #e4ebf3;display:grid;gap:12px;min-width:0;padding-left:16px}.theory-reader-heading{align-items:center;color:#52627a;display:flex;flex-wrap:wrap;font-size:11px;font-weight:900;gap:8px;text-transform:uppercase}.theory-reader-heading small{background:#eef8fb;border:1px solid #c7e5ed;border-radius:999px;color:#0f6671;font-size:10px;font-weight:950;padding:3px 7px}.module-theory-reader h4{color:#07172f;font-size:19px;line-height:1.2}.theory-interaction-card{background:#f6fafc;border:1px solid #dbe7ef;border-radius:8px;display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.theory-interaction-card section{display:grid;gap:6px;padding:12px}.theory-interaction-card section+section{border-left:1px solid #dbe7ef}.theory-interaction-card span{color:#0f6671;font-size:10px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.theory-interaction-card p{color:#334155;font-size:12px;font-weight:760;line-height:1.42;margin:0}.theory-visual-map{background:#fff;border:1px solid #dbe7ef;border-radius:8px;display:grid;gap:12px;overflow:hidden;padding:13px}.theory-visual-map header{align-items:center;display:flex;gap:10px;justify-content:space-between}.theory-visual-map header span{color:#0f6671;font-size:10px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.theory-visual-map header strong{color:#172033;font-size:14px}.theory-visual-flow{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.theory-visual-flow section{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;display:grid;gap:5px;min-height:112px;overflow:hidden;padding:11px;position:relative}.theory-visual-flow section:after{animation:visualPulse 2.8s ease-in-out infinite;animation-delay:calc(var(--step) * .18s);background:linear-gradient(90deg,transparent,rgba(20,107,115,.18),transparent);content:"";inset:0;opacity:0;position:absolute;transform:translate(-70%)}.theory-visual-flow b{color:#0f6671;font-size:11px;font-weight:950}.theory-visual-flow strong{color:#07172f;font-size:13px;line-height:1.2}.theory-visual-flow small{color:#52627a;font-size:11px;font-weight:760;line-height:1.35}@keyframes visualPulse{0%,62%,to{opacity:0;transform:translate(-70%)}18%,42%{opacity:1;transform:translate(70%)}}.module-understanding-panel{align-content:start;background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;display:grid;gap:10px;padding:14px}.module-understanding-panel p,.module-understanding-panel small{color:#52627a;font-size:12px;font-weight:750;line-height:1.45}.module-understanding-panel ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.module-understanding-panel li{align-items:start;color:#344054;display:grid;font-size:12px;font-weight:800;gap:7px;grid-template-columns:16px minmax(0,1fr);line-height:1.35}.module-understanding-panel li svg{color:var(--green);margin-top:1px}.module-outcome-strip{background:#fff;border:1px solid #e1e8f0;border-radius:8px;display:grid;gap:4px;padding:10px}.module-outcome-strip section{display:grid;gap:3px}.module-outcome-strip section+section{border-top:1px solid #e8eef5;padding-top:8px}.module-outcome-strip span{color:#0f6671;font-size:10px;font-weight:950}.module-outcome-strip b{color:#172033;font-size:13px}.learning-map-hero{background:#f8fbfc;border:1px solid #dce8ee;border-radius:8px;display:grid;gap:14px;grid-template-columns:minmax(0,1.15fr) auto;padding:16px}.learning-map-copy{display:grid;gap:5px;min-width:0}.learning-map-copy h3{font-size:18px;margin:0}.learning-map-copy p{color:#4e5d72;font-size:13px;font-weight:720;line-height:1.45;margin:0}.learning-map-source{border-radius:999px;font-size:10px;font-weight:900;justify-self:start;padding:5px 8px;text-transform:uppercase}.learning-map-source.official{background:#e7f7f1;color:#12664d}.learning-map-source.loading,.learning-map-source.local{background:#eef2f7;color:#52627a}.learning-map-metrics{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(86px,1fr))}.learning-map-metrics span{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:2px;padding:10px}.learning-map-metrics strong{color:#122033;font-size:17px}.learning-map-metrics small,.learning-map-modules small{color:var(--muted);font-size:11px;font-weight:760}.learning-map-progress{background:#dbe4ef;border-radius:999px;grid-column:1 / -1;height:8px;overflow:hidden}.learning-map-progress b{background:var(--green);display:block;height:100%}.learning-map-actions{align-items:center;display:flex;flex-wrap:wrap;gap:9px;grid-column:1 / 2}.learning-map-actions .content-primary-action,.learning-map-actions .content-secondary-action{min-height:38px}.content-secondary-action{align-items:center;background:#fff;border:1px solid #cbd8ea;color:#26364f;display:inline-flex;font-size:12px;font-weight:900;gap:7px;justify-content:center;padding:0 12px}.content-secondary-action:hover{background:#f3f7ff;border-color:#9bbcf0}.workspace-export-status{color:#52627a;font-size:11px;font-weight:820;grid-column:1 / -1;margin:-4px 0 0}.workspace-export-contract{background:#f8fbff;border:1px solid #dce6f1;border-left:4px solid #2b6f8f;border-radius:8px;display:grid;gap:4px;grid-column:1 / -1;padding:10px 12px}.workspace-export-contract strong{color:#07172f;font-size:13px;font-weight:950}.workspace-export-contract span,.workspace-export-contract small{color:#5c6b82;font-size:12px;font-weight:760;line-height:1.42}.learning-map-modules{display:grid;gap:8px;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.learning-map-modules button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#26364f;display:grid;gap:3px;min-height:58px;padding:9px;text-align:left}.learning-map-modules button:hover{border-color:#9bcbd8}.learning-map-modules button.is-locked{background:#f8fafc;border-color:#d7e0ea}.learning-map-modules button.is-complete{border-color:#8fd3b5}.learning-map-modules strong{font-size:12px;line-height:1.25}.learning-support-drawer{display:grid;gap:10px;grid-column:1 / -1}.learning-support-drawer details{background:#fff;border:1px solid #dce6f1;border-radius:8px;overflow:hidden}.learning-support-drawer summary{align-items:center;color:#172033;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none;min-height:48px;padding:11px 14px}.learning-support-drawer summary::-webkit-details-marker{display:none}.learning-support-drawer summary:after{color:#728096;content:"+";font-size:20px;font-weight:700}.learning-support-drawer details[open] summary{border-bottom:1px solid #e6edf5}.learning-support-drawer details[open] summary:after{content:"-"}.learning-support-drawer summary span{font-size:13px;font-weight:950}.learning-support-drawer summary small{color:#667085;font-size:11px;font-weight:750;margin-left:auto}.learning-support-drawer details>:not(summary){margin:12px}.learning-support-drawer details>:not(summary)+:not(summary){margin-top:0}.runner-readiness-panel{background:#f8fafc;border:1px solid #dfe7f0;border-left:4px solid var(--green);border-radius:8px;display:grid;gap:10px;grid-column:1 / -1;padding:12px}.runner-readiness-panel.is-degraded{border-left-color:var(--amber)}.runner-readiness-panel header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.runner-readiness-panel header strong{color:#102033;font-size:14px}.runner-readiness-panel header small{color:#52627a;font-size:11px;font-weight:800}.runner-readiness-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.runner-readiness-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;border-top:3px solid #94a3b8;display:grid;gap:4px;min-height:76px;padding:9px}.runner-readiness-item.ready,.runner-readiness-item.configured,.runner-readiness-item.available{border-top-color:var(--green)}.runner-readiness-item.mixed,.runner-readiness-item.unconfigured{border-top-color:var(--amber)}.runner-readiness-item b{color:#172033;font-size:12px}.runner-readiness-item small{color:#52627a;font-size:11px;font-weight:760;line-height:1.35}.learning-contract-grid{display:grid;gap:8px;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.learning-contract-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:8px;display:grid;gap:4px;min-height:96px;padding:10px}.learning-contract-card.active{border-left-color:var(--blue)}.learning-contract-card.done{border-left-color:var(--green)}.learning-contract-card.pending{border-left-color:var(--amber)}.learning-contract-card span{color:#66748a;font-size:10px;font-weight:900;text-transform:uppercase}.learning-contract-card strong{color:#102033;font-size:13px;line-height:1.2}.learning-contract-card small{color:#536176;font-size:11px;font-weight:720;line-height:1.35}.course-academic-plan{background:#f9fafb;border:1px solid #dde7ee;border-left:4px solid #30445f;border-radius:8px;display:grid;gap:12px;grid-column:1 / -1;padding:13px}.course-academic-plan>header{align-items:end;display:grid;gap:5px;grid-template-columns:minmax(0,1fr) auto}.course-academic-plan>header span{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}.course-academic-plan>header strong{color:#102033;font-size:14px}.course-academic-plan>header small{color:#4e5d72;font-size:12px;font-weight:800;grid-column:1 / -1}.course-milestone-track,.course-assessment-contract,.course-learning-outcomes,.course-practice-contract{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.course-milestone-card,.course-assessment-contract article,.course-learning-outcomes article,.course-practice-contract article{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #94a3b8;border-radius:8px;display:grid;gap:6px;min-width:0;padding:10px}.course-milestone-card.formative{border-top-color:#2b6f8f}.course-milestone-card.summative,.course-milestone-card.is-active{border-top-color:var(--green)}.course-milestone-card span,.course-assessment-contract span,.course-learning-outcomes span,.course-practice-contract span{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}.course-milestone-card strong,.course-assessment-contract strong,.course-learning-outcomes strong,.course-practice-contract strong{color:#172033;font-size:13px;line-height:1.2}.course-milestone-card small,.course-assessment-contract small,.course-assessment-contract em,.course-learning-outcomes small,.course-learning-outcomes em,.course-practice-contract small,.course-practice-contract em,.course-recovery-rules p{color:#536176;font-size:11px;font-style:normal;font-weight:720;line-height:1.35;margin:0}.course-milestone-card div{display:flex;flex-wrap:wrap;gap:5px}.course-milestone-card button,.course-learning-outcomes button{background:#eef4f7;border:1px solid #d8e5ec;color:#29455a;font-size:10px;font-weight:900;min-height:24px;padding:0 7px;text-transform:uppercase}.course-learning-outcomes{grid-template-columns:minmax(0,.8fr) repeat(3,minmax(0,1fr))}.course-learning-outcomes>div{background:#f3f6f4;border:1px solid #dbe7dd;border-radius:8px;display:grid;gap:5px;padding:10px}.course-learning-outcomes>div strong{color:#102033;font-size:13px}.course-learning-outcomes>div small{color:#536176;font-size:11px;font-weight:760}.course-learning-outcomes article{border-top-color:#50745a}.course-learning-outcomes article div{display:flex;flex-wrap:wrap;gap:5px}.course-assessment-contract{grid-template-columns:minmax(0,.8fr) repeat(2,minmax(0,1fr))}.course-practice-contract{grid-template-columns:minmax(0,.8fr) repeat(4,minmax(0,1fr))}.course-assessment-contract>div,.course-practice-contract>div{background:#eef4f7;border:1px solid #d8e5ec;border-radius:8px;display:grid;gap:5px;padding:10px}.course-assessment-contract>div strong,.course-practice-contract>div strong{color:#102033;font-size:13px}.course-assessment-contract>div small,.course-practice-contract>div small{color:#536176;font-size:11px;font-weight:760}.course-practice-contract article{border-top-color:#2b6f8f}.course-practice-contract article.is-ready{background:#edf8f4;border-color:#9bd7c3;border-top-color:var(--green)}.course-practice-contract button{background:#fffdf7;border:1px solid #f1deae;color:#4a3b10;font-size:11px;font-weight:820;line-height:1.25;min-height:34px;padding:7px;text-align:left}.course-recovery-rules{display:grid;gap:6px}.course-recovery-rules p{background:#fffdf7;border:1px solid #f1deae;border-radius:8px;padding:8px 10px}.active-learning-outcomes{background:#f8fbf8;border:1px solid #dbe7dd;border-left:4px solid #50745a;border-radius:8px;display:grid;gap:10px;padding:12px}.active-learning-outcomes>header{display:grid;gap:3px}.active-learning-outcomes>header span,.active-learning-outcomes section>span{color:#50745a;font-size:10px;font-weight:950;text-transform:uppercase}.active-learning-outcomes h3{color:#102033;font-size:16px;margin:0}.active-learning-outcomes>header small,.active-learning-outcomes section small,.active-learning-outcomes section em{color:#536176;font-size:11px;font-style:normal;font-weight:720;line-height:1.35}.active-learning-outcomes>div{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.active-learning-outcomes section{background:#fff;border:1px solid #e0eadf;border-radius:8px;display:grid;gap:6px;padding:10px}.active-learning-outcomes section strong{color:#172033;font-size:13px;line-height:1.2}.active-learning-outcomes section div{display:flex;flex-wrap:wrap;gap:5px}.active-learning-outcomes button{background:#eef4f7;border:1px solid #d8e5ec;color:#29455a;font-size:10px;font-weight:900;min-height:24px;padding:0 7px;text-transform:uppercase}.course-study-tips-panel{background:#fffdf7;border:1px solid #f1deae;border-left:4px solid var(--amber);border-radius:8px;display:grid;gap:10px;grid-column:1 / -1;padding:12px}.course-study-tips-panel header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.course-study-tips-panel header span{align-items:center;color:#7c4a03;display:inline-flex;font-size:12px;font-weight:950;gap:7px}.course-study-tips-panel header small,.course-study-tips-target small,.course-study-tips-panel p{color:#695b42;font-size:11px;font-weight:800}.course-study-tips-target{background:#ffffffb8;border:1px solid #f2e3bd;border-radius:8px;display:grid;gap:3px;padding:9px 10px}.course-study-tips-target strong{color:#172033;font-size:13px}.course-study-tips-panel ol{display:grid;gap:7px;list-style:none;margin:0;padding:0}.course-study-tips-panel li{align-items:start;background:#fff;border:1px solid #f0e0b8;border-radius:8px;display:grid;gap:8px;grid-template-columns:28px minmax(0,1fr);padding:8px}.course-study-tips-panel li b{align-items:center;background:#fff4d6;border-radius:8px;color:#8a5b09;display:inline-flex;font-size:11px;font-weight:950;height:28px;justify-content:center}.course-study-tips-panel li span{color:#26364f;font-size:12px;font-weight:760;line-height:1.38}.course-study-tips-panel p{line-height:1.4;margin:0}.course-study-tips-panel button{background:#172033;border:0;color:#fff;font-size:12px;font-weight:900;justify-self:start;min-height:34px;padding:0 12px}.course-study-tips-panel button:disabled{background:#e5dcc8;color:#695b42;cursor:not-allowed}.course-points-panel{background:#fff;border:1px solid #dfe7f0;border-left:4px solid var(--blue);border-radius:8px;display:grid;gap:12px;grid-column:1 / -1;padding:12px}.course-points-panel header{align-items:center;display:flex;gap:10px;justify-content:space-between}.course-points-panel header>div{display:grid;gap:3px;text-align:right}.course-points-panel header strong{color:#102033;font-size:14px}.course-points-panel header small{color:#52627a;font-size:11px;font-weight:800}.course-points-grid{display:grid;gap:10px;grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr)}.course-points-module-list{display:grid;gap:7px;max-height:295px;overflow:auto;padding-right:2px}.course-points-module-list button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#26364f;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;min-height:52px;padding:8px 9px;text-align:left}.course-points-module-list button:hover,.course-points-module-list button.is-active{background:#eef5ff;border-color:#9bbcf0}.course-points-module-list span{display:grid;gap:2px;min-width:0}.course-points-module-list strong{font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-points-module-list small{color:#6b7a90;font-size:10px;font-weight:850}.course-points-module-list b{color:#102033;font-size:12px;font-weight:950;white-space:nowrap}.course-points-exercise-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:7px;padding:10px}.course-points-active-heading,.course-points-exercise-row{align-items:center;display:grid;gap:8px}.course-points-active-heading{grid-template-columns:minmax(0,1fr) auto;padding:2px 1px 5px}.course-points-active-heading strong{color:#102033;font-size:13px}.course-points-active-heading small{color:#52627a;font-size:11px;font-weight:900}.course-points-exercise-row{background:#fff;border:1px solid #e4eaf2;border-radius:8px;grid-template-columns:20px minmax(0,1fr) auto;min-height:46px;padding:8px}.course-points-exercise-row.passed{border-color:#b6e1c5}.course-points-exercise-row.failed{border-color:#f3c7c7}.course-points-exercise-row svg{color:#64748b}.course-points-exercise-row.passed svg{color:var(--green)}.course-points-exercise-row.failed svg{color:var(--crimson)}.course-points-exercise-row span{display:grid;gap:3px;min-width:0}.course-points-exercise-row strong{color:#172033;font-size:12px;line-height:1.2}.course-points-exercise-row small{color:#64748b;font-size:10px;font-weight:820;text-transform:uppercase}.course-points-exercise-row b{color:#102033;font-size:12px;font-weight:950;white-space:nowrap}.course-approval-guide{align-items:center;background:#f8fafc;border:1px solid #dbe5f1;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;padding:10px}.course-approval-guide span,.course-approval-guide div{display:grid;gap:2px;min-width:0}.course-approval-guide strong,.course-approval-guide b{color:#102033;font-size:13px;font-weight:950}.course-approval-guide small{color:#5c6b82;font-size:11px;font-weight:800;line-height:1.35}.course-approval-guide button{background:#143352;border:0;border-radius:8px;color:#fff;font-size:12px;font-weight:900;min-height:34px;padding:0 12px}.course-approval-path{display:grid;gap:7px}.course-approval-path button{align-items:center;background:#fff;border:1px solid #e1e8f0;border-radius:8px;color:inherit;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;min-height:48px;padding:8px;text-align:left}.course-approval-path button:hover{border-color:#a9bfdb;box-shadow:0 10px 22px #07172f0f}.course-approval-path button.passed{background:#f3fbf6;border-color:#bfe7cd}.course-approval-path button.failed{background:#fff7f7;border-color:#f0c5c5}.course-approval-path svg{color:#65758c}.course-approval-path button.passed svg{color:var(--green)}.course-approval-path button.failed svg{color:var(--crimson)}.course-approval-path span{display:grid;gap:2px;min-width:0}.course-approval-path strong{color:#172033;font-size:12px;line-height:1.2}.course-approval-path small{color:#5f6f86;font-size:10px;font-weight:850;line-height:1.25}.course-approval-path b{color:#143352;font-size:10px;font-weight:950}.course-review-queue{background:#fff;border:1px solid #d4deea;border-radius:8px;box-shadow:0 14px 34px #07172f12;display:grid;gap:14px;grid-column:1 / -1;padding:16px}.course-review-queue header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.course-review-queue header>span{background:#fff4e3;border:1px solid #f1d19b;border-radius:999px;color:#8f5509;font-size:11px;font-weight:900;padding:5px 9px;text-transform:uppercase}.course-review-queue header div,.course-review-queue article span{display:grid;gap:4px}.course-review-queue header strong,.course-review-queue article strong{color:#07172f;font-size:14px;font-weight:900}.course-review-queue header small,.course-review-queue article small,.course-review-queue p{color:var(--muted);font-size:12px;font-weight:750;line-height:1.45;margin:0}.course-review-list{display:grid;gap:9px}.course-review-list article{align-items:center;background:#f8fbff;border:1px solid #dbe5f0;border-left:4px solid #8ea2bc;border-radius:8px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.course-review-list article.failed{border-left-color:#d95959}.course-review-list article.draft{border-left-color:#c99520}.course-review-list article svg{color:#8ea2bc}.course-review-list article.failed svg{color:#d95959}.course-review-list article.draft svg{color:#c99520}.course-review-list em{color:#44546b;font-size:12px;font-style:normal;font-weight:800;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-review-list button{background:#143352;border:1px solid #143352;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:900;min-height:34px;padding:0 12px}.course-review-list button:hover{background:#0c243d}.spaced-review-plan{background:#fff;border:1px solid #d4deea;border-radius:8px;display:grid;gap:14px;grid-column:1 / -1;padding:16px}.spaced-review-plan header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.spaced-review-plan header>span{background:#e9f7f7;border:1px solid #a9d7d7;border-radius:999px;color:#0f6671;font-size:11px;font-weight:900;padding:5px 9px;text-transform:uppercase}.spaced-review-plan header div{display:grid;gap:4px}.spaced-review-plan header strong,.spaced-review-lanes article>strong{color:#07172f;font-size:14px;font-weight:900}.spaced-review-plan header small,.spaced-review-plan p{color:var(--muted);font-size:12px;font-weight:750;line-height:1.45;margin:0}.spaced-review-lanes{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.spaced-review-lanes article{background:#f8fbff;border:1px solid #dce6f1;border-radius:8px;display:grid;gap:9px;min-width:0;padding:10px}.spaced-review-lanes article>div{display:grid;gap:8px}.spaced-review-lanes button{align-items:flex-start;background:#fff;border:1px solid #dbe5f0;border-left:4px solid #8ea2bc;border-radius:7px;color:inherit;cursor:pointer;display:grid;gap:7px;grid-template-columns:auto minmax(0,1fr);padding:9px;text-align:left}.spaced-review-lanes button:hover{border-color:#9fb2cc;box-shadow:0 10px 22px #07172f14}.spaced-review-lanes button.failed{border-left-color:#d95959}.spaced-review-lanes button.draft{border-left-color:#c99520}.spaced-review-lanes button.passed{border-left-color:#1f9c70}.spaced-review-lanes svg{margin-top:2px}.spaced-review-lanes button.failed svg{color:#d95959}.spaced-review-lanes button.draft svg{color:#c99520}.spaced-review-lanes button.passed svg{color:#1f9c70}.spaced-review-lanes span{display:grid;gap:3px;min-width:0}.spaced-review-lanes b{color:#102033;font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spaced-review-lanes small{color:#5c6b82;font-size:11px;font-weight:750;line-height:1.35}.concept-mastery-map{background:#fff;border:1px solid #d4deea;border-radius:8px;display:grid;gap:14px;grid-column:1 / -1;padding:16px}.concept-mastery-map header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.concept-mastery-map header>span{background:#edf3ff;border:1px solid #b9ccef;border-radius:999px;color:#244e8f;font-size:11px;font-weight:900;padding:5px 9px;text-transform:uppercase}.concept-mastery-map header div{display:grid;gap:4px}.concept-mastery-map header strong,.concept-mastery-list article strong{color:#07172f;font-size:14px;font-weight:900}.concept-mastery-map header small,.concept-mastery-map p,.concept-mastery-list article small{color:var(--muted);font-size:12px;font-weight:750;line-height:1.45;margin:0}.concept-mastery-list{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.concept-mastery-list article{align-items:center;background:#f8fbff;border:1px solid #dce6f1;border-left:4px solid #8ea2bc;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(90px,.35fr) auto;min-width:0;padding:10px}.concept-mastery-list article.risk{border-left-color:#d95959}.concept-mastery-list article.practice{border-left-color:#c99520}.concept-mastery-list article.strong{border-left-color:#1f9c70}.concept-mastery-list article>div{display:grid;gap:3px;min-width:0}.concept-mastery-list article>span{background:#e8eef6;border-radius:999px;display:block;height:8px;overflow:hidden}.concept-mastery-list article>span i{background:#244e8f;border-radius:inherit;display:block;height:100%}.concept-mastery-list article.risk>span i{background:#d95959}.concept-mastery-list article.practice>span i{background:#c99520}.concept-mastery-list article.strong>span i{background:#1f9c70}.concept-mastery-list button,.concept-mastery-list b{border-radius:6px;font-size:12px;font-weight:900;min-height:34px;padding:0 11px}.concept-mastery-list button{background:#143352;border:1px solid #143352;color:#fff;cursor:pointer}.concept-mastery-list button:hover{background:#0c243d}.concept-mastery-list b{align-items:center;background:#eef7f3;color:#1f6f52;display:inline-flex}.study-session-plan{background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--teal-dark);border-radius:8px;display:grid;gap:10px;grid-column:1 / -1;padding:12px}.study-session-plan header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.study-session-plan header span{color:#66748a;font-size:10px;font-weight:900;text-transform:uppercase}.study-session-plan header strong{color:#172033;font-size:13px}.study-session-plan ol{display:grid;gap:8px;list-style:none;margin:0;padding:0}.study-session-contract{background:#f8fbff;border:1px solid #dce6f1;border-left:4px solid #244e8f;border-radius:8px;display:grid;gap:4px;padding:10px}.study-session-contract strong{color:#07172f;font-size:13px;font-weight:950}.study-session-contract span,.study-session-contract small{color:#5c6b82;font-size:12px;font-weight:750;line-height:1.4}.study-session-plan li{display:grid;gap:3px}.study-session-plan li b{color:#0f766e;font-size:12px}.study-session-plan li span{color:#334155;font-size:12px;font-weight:730;line-height:1.35}.study-session-evidence{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:8px;padding:10px}.study-session-evidence label{color:#46566d;display:grid;font-size:11px;font-weight:900;gap:5px;text-transform:uppercase}.study-session-evidence textarea{background:#fff;border:1px solid #d4deea;color:#172033;font-size:12px;line-height:1.4;padding:9px;resize:vertical;text-transform:none}.study-session-evidence .session-complete-check{align-items:center;color:#172033;display:flex;flex-direction:row;font-size:12px;gap:8px;text-transform:none}.study-session-evidence small{color:#64748b;font-size:11px;font-weight:760}.session-export-button{align-items:center;background:#172033;border:0;color:#fff;display:inline-flex;font-size:12px;font-weight:880;gap:7px;justify-content:center;justify-self:start;min-height:34px;padding:0 12px}.session-export-button:hover{background:#26364f}.learning-return-plan{background:#fff;border:1px solid #dbe7ef;border-left:4px solid #0f6671;border-radius:8px;display:grid;gap:10px;padding:11px}.learning-return-plan header{align-items:center;display:flex;gap:8px;justify-content:space-between}.learning-return-plan header span{color:#0f6671;font-size:10px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.learning-return-plan header strong{color:#172033;font-size:13px}.learning-return-plan p,.learning-return-plan small{color:#52627a;font-size:12px;font-weight:740;line-height:1.42;margin:0}.learning-return-plan>div{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.learning-return-plan>div span{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#334155;display:grid;font-size:12px;font-weight:740;gap:4px;line-height:1.35;padding:9px}.learning-return-plan>div b{color:#172033;font-size:11px;font-weight:950;text-transform:uppercase}.module-browser{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px #0f172a0d;height:fit-content;padding:14px}.course-map-card{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;display:grid;gap:8px;padding:12px}.course-map-card span{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.course-map-card strong{color:#172033;font-size:18px}.course-map-card i{background:#dbe4ef;border-radius:999px;display:block;height:8px;overflow:hidden}.course-map-card b{background:var(--green);display:block;height:100%}.module-browser-group{display:grid;gap:7px;margin-top:12px}.module-browser-group-toggle{align-items:center;background:#f7fafc;border:1px solid #e1e8f0;border-radius:8px;color:#344054;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;min-height:38px;padding:8px 10px;text-align:left;width:100%}.module-browser-group-toggle:hover{background:#eef8fb;border-color:#b7dce7}.module-browser-group-toggle span{font-size:12px;font-weight:950;letter-spacing:0;text-transform:uppercase}.module-browser-group-toggle small{align-items:center;background:#edf7f4;border-radius:999px;color:#20705b;display:inline-flex;font-size:10px;font-weight:900;justify-content:center;min-width:22px;padding:3px 6px}.module-browser-group-toggle svg{color:#667085;transition:transform .16s ease}.module-browser-group-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.module-browser-group-items{display:grid;gap:6px}.module-browser-row{background:transparent;border:1px solid transparent;border-radius:8px;color:#344054;display:grid;gap:4px;padding:10px;text-align:left;width:100%}.module-row-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.module-browser-row strong{font-size:13px}.module-browser-row small{color:var(--muted);font-size:11px;font-weight:750}.module-browser-row em{background:#edf7f4;border:1px solid #cbe9df;border-radius:999px;color:#20705b;font-size:10px;font-style:normal;font-weight:900;padding:3px 6px}.module-browser-row:hover,.module-browser-row.is-active{background:var(--teal-soft);border-color:#b7dce7;color:var(--teal-dark)}.pyxom-workspace{display:grid;gap:12px}.module-summary{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;padding:16px}.module-summary h3,.module-summary p{margin:0}.module-summary h3{font-size:18px}.module-summary p{color:var(--muted);font-size:13px;line-height:1.45;margin-top:4px}.module-summary strong{color:var(--teal-dark);font-size:28px}.reserved-note{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#7c4a03;display:flex;gap:10px;padding:12px}.reserved-note span{font-size:13px;font-weight:800;line-height:1.4}.practice-readiness-panel{background:#f8fafc;border:1px solid #dbe5ef;border-left:4px solid #2b6f8f;border-radius:8px;display:grid;gap:12px;padding:14px}.practice-readiness-panel header{display:grid;gap:3px}.practice-readiness-panel header span{color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase}.practice-readiness-panel header strong{color:#172033;font-size:15px}.practice-readiness-panel header small,.practice-readiness-panel>small,.practice-readiness-panel p{color:#536176;font-size:12px;font-weight:760;line-height:1.4;margin:0}.practice-readiness-panel>div{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.practice-readiness-panel label{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:9px;min-width:0;padding:10px}.practice-readiness-panel label span{display:grid;gap:3px;min-width:0}.practice-readiness-panel b{color:#172033;font-size:12px}.practice-readiness-panel label small{color:#64748b;font-size:11px;font-weight:760;line-height:1.35}.deliverable-guide{background:#fff;border:1px solid #dde7f1;border-radius:8px;display:grid;gap:10px;padding:12px}.deliverable-guide header{align-items:center;display:flex;justify-content:space-between}.deliverable-guide header strong{color:#172033;font-size:13px}.deliverable-guide header small{color:#64748b;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:11px}.deliverable-guide-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.deliverable-guide-grid span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:3px;padding:9px}.deliverable-file-list{display:flex;flex-wrap:wrap;gap:6px}.deliverable-file-list code{background:#eef8fb;border:1px solid #cce7ef;border-radius:999px;color:var(--teal-dark);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:850;padding:5px 7px}.practice-evidence-export{align-items:center;background:#102032;border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:850;gap:7px;justify-content:center;justify-self:start;min-height:34px;padding:0 12px}.related-strip{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px #0f172a0d;display:grid;gap:12px;padding:14px}.related-strip header{align-items:center;display:flex;gap:12px;justify-content:space-between}.related-strip h3{color:#182235;font-size:15px;margin:0}.related-strip header span{color:var(--muted);font-size:11px;font-weight:850}.related-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.related-grid button{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#253044;display:grid;gap:4px;min-height:62px;padding:10px;text-align:left}.related-grid button:hover{background:#eef8fb;border-color:#b7dce7}.related-grid span{color:var(--teal-dark);font-size:11px;font-weight:900}.related-grid strong{font-size:13px;line-height:1.25}.content-section{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px #0f172a0d;min-width:0;padding:16px}.content-section header{align-items:flex-start;border-bottom:1px solid #e7edf5;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.content-section h3{color:#182235;font-size:16px;line-height:1.25;margin:0}.content-section header span{color:var(--muted);font-size:11px;font-weight:850;text-align:right}.exercise-map-section{display:grid;gap:12px}.course-exercise-list{display:grid;gap:8px}.course-exercise-row{align-items:center;background:#f8fafc;border:1px solid #dfe7f1;color:#253044;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:10px;text-align:left;width:100%}.course-exercise-row span{display:grid;gap:3px}.course-exercise-row strong{color:#172033;font-size:13px}.course-exercise-row small{color:#64748b;font-size:11px;font-weight:800}.course-exercise-row.passed{background:#ecfdf5;border-color:#bbf7d0}.course-exercise-row.failed{background:#fff1f2;border-color:#fecdd3}.content-primary-action{align-items:center;background:var(--ink);border:0;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:40px;padding:0 14px;width:fit-content}.markdown-body{color:#334155;display:grid;gap:10px;font-size:13px;line-height:1.58}.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body p,.markdown-body ul{margin:0}.markdown-body h2{color:#182235;font-size:18px}.markdown-body h3{color:#233149;font-size:15px}.markdown-body h4{color:#344054;font-size:13px;font-weight:900}.markdown-body ul{display:grid;gap:5px;padding-left:20px}.markdown-body pre{background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#1f2937;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;margin:0;overflow:auto;padding:12px;white-space:pre-wrap}.resource-list{display:grid;gap:8px}.resource-group-list{display:grid;gap:12px}.resource-group{display:grid;gap:8px}.resource-group header{align-items:end;border-bottom:0;display:flex;justify-content:space-between;min-height:0;padding:0 2px}.resource-group header strong{color:#1f2937;font-size:12px;font-weight:900}.resource-group header small{color:var(--muted);font-size:11px;text-align:right}.resource-list a,.resource-list button,.locked-resource{align-items:center;background:#f8fafc;border:1px solid #e1e8f0;border-radius:8px;color:#253044;display:grid;gap:10px;grid-template-columns:18px minmax(0,1fr) auto;min-height:52px;padding:9px 10px;text-decoration:none;width:100%}.resource-list button{cursor:pointer;font:inherit;text-align:left}.resource-list a:hover,.resource-list button:hover{background:#eef8fb}.locked-resource{color:#7c4a03}.resource-list span,.locked-resource span{display:grid;gap:2px;min-width:0}.resource-list strong,.locked-resource strong{font-size:12px}.resource-list small,.locked-resource small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-list b,.locked-resource b{background:var(--teal-soft);border-radius:999px;color:var(--teal-dark);font-size:10px;font-weight:900;padding:5px 7px;text-transform:uppercase}.locked-resource b{background:#fff7ed;color:#9a3412}.practice-surface{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-columns:248px minmax(0,1fr);min-height:570px;overflow:hidden}.exercise-rail{background:#fbfcfe;border-right:1px solid var(--line);padding:14px}.exercise-button{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:#344054;display:flex;gap:9px;margin-top:7px;padding:9px;text-align:left;width:100%}.exercise-button span{display:grid;gap:3px;min-width:0}.exercise-button strong{font-size:12px;line-height:1.25}.exercise-button small{color:#7b8798;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-button:hover,.exercise-button.is-active{background:#eef8fb;border-color:#c6e6ef;color:var(--teal-dark)}.exercise-button.passed{color:var(--green)}.exercise-button.failed{color:var(--crimson)}.exercise-button.draft{color:var(--amber)}.editor-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0}.editor-toolbar{align-items:flex-start;border-bottom:1px solid var(--line);display:grid;gap:12px;grid-template-columns:minmax(0,1fr);padding:13px 14px}.editor-toolbar p,.editor-toolbar h3{margin:0}.editor-toolbar p{color:var(--teal-dark);font-size:11px;font-weight:900;text-transform:uppercase}.editor-toolbar h3{font-size:16px;line-height:1.2;margin-top:3px}.exercise-meta-row,.exercise-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.exercise-meta-row span,.exercise-tag-row span{background:#f1f5f9;border:1px solid #dbe4ef;border-radius:999px;color:#475569;font-size:11px;font-weight:900;line-height:1;padding:6px 8px}.exercise-tag-row{border-bottom:1px solid var(--line);margin:0;padding:10px 14px}.runtime-list,.editor-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-start}.runtime-pill,.status-pill{align-items:center;border:1px solid #cbd5e1;border-radius:999px;color:#475569;display:inline-flex;font-size:11px;font-weight:900;gap:6px;padding:6px 8px}.runtime-pill.configured,.runtime-pill.available{border-color:#9ad8bd;color:var(--green)}.runtime-pill.unconfigured{border-color:#f2d7a4;color:var(--amber)}.status-pill.pending{background:#f8fafc;border-color:#d7deea;color:#64748b}.status-pill.draft{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.status-pill.passed{background:#ecfdf5;border-color:#a7f3d0;color:var(--green)}.status-pill.failed{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.run-button,.check-button,.submit-button,.reset-button{align-items:center;border:0;display:inline-flex;font-size:12px;font-weight:900;gap:7px;justify-content:center;min-height:36px;padding:0 11px}.run-button{background:var(--teal);color:#fff}.check-button{background:var(--green);color:#fff}.submit-button{background:#143352;color:#fff}.reset-button{background:#f8fafc;border:1px solid #dce3ed;color:#334155}.run-button:disabled,.check-button:disabled,.submit-button:disabled,.reset-button:disabled{opacity:.7}.exercise-prompt{border-bottom:1px solid var(--line);color:#4a5568;font-size:13px;line-height:1.5;margin:0;padding:12px 14px;white-space:pre-wrap}.visible-tests{border-bottom:1px solid var(--line);color:#334155;font-size:13px;padding:10px 14px}.visible-tests summary{cursor:pointer;font-weight:900}.exercise-prompt.compact-note{background:#f8fafc;color:#64748b;font-size:12px;padding:8px 14px}.visible-tests ul{margin:10px 0 0;padding-left:18px}.visible-tests li+li{margin-top:6px}.visible-tests pre{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;margin:10px 0 0;max-height:180px;overflow:auto;padding:12px;white-space:pre-wrap}.progressive-hints{background:#fbfcff;border-bottom:1px solid var(--line);display:grid;gap:10px;padding:12px 14px}.official-submission-readiness{background:#fff;border-bottom:1px solid var(--line);display:grid;gap:10px;padding:12px 14px}.local-workspace-readiness{background:#f8fbff;border-bottom:1px solid var(--line);display:grid;gap:6px;padding:12px 14px}.official-submission-readiness header,.local-workspace-readiness header{align-items:center;display:flex;gap:10px;justify-content:space-between}.official-submission-readiness header span,.local-workspace-readiness header span{align-items:center;color:#172033;display:inline-flex;font-size:13px;font-weight:900;gap:7px}.official-submission-readiness header small,.official-submission-readiness p,.official-submission-readiness span small,.local-workspace-readiness header small,.local-workspace-readiness p,.local-workspace-readiness>small{color:#64748b;font-size:12px;font-weight:800}.local-workspace-readiness p,.local-workspace-readiness>small{line-height:1.4;margin:0}.official-submission-readiness>div{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.official-submission-readiness>div>span{align-items:center;background:#f8fafc;border:1px solid #e1e8f2;border-radius:8px;display:grid;gap:2px 8px;grid-template-columns:auto 1fr;padding:9px 10px}.official-submission-readiness>div>span svg{grid-row:span 2}.official-submission-readiness span.ready svg{color:var(--green)}.official-submission-readiness span.pending svg{color:var(--amber)}.official-submission-readiness span strong{color:#172033;font-size:12px;font-weight:900}.official-submission-readiness p{line-height:1.4;margin:0}.official-submission-readiness footer{background:#f8fafc;border:1px solid #e1e8f2;border-radius:8px;display:grid;gap:3px;padding:9px 10px}.official-submission-readiness footer strong{color:#172033;font-size:12px;font-weight:900}.official-submission-readiness footer span{color:#64748b;font-size:12px;font-weight:800;line-height:1.4}.progressive-hints header,.progressive-hints footer,.hint-failure-signal{align-items:center;display:flex;gap:10px;justify-content:space-between}.progressive-hints header span{align-items:center;color:#172033;display:inline-flex;font-size:13px;font-weight:900;gap:7px}.progressive-hints header small,.progressive-hints footer span{color:#64748b;font-size:12px;font-weight:800}.progressive-hints ol{display:grid;gap:7px;list-style:none;margin:0;padding:0}.progressive-hints li{align-items:flex-start;background:#fff;border:1px solid #e1e8f2;border-radius:8px;color:#334155;display:grid;font-size:13px;gap:9px;grid-template-columns:auto 1fr;line-height:1.45;padding:9px 10px}.progressive-hints li b{color:#0f766e;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.hint-failure-signal{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#7c2d12;justify-content:flex-start;padding:9px 10px}.hint-failure-signal span{display:grid;font-size:12px;gap:2px;line-height:1.35}.hint-failure-signal strong{font-size:11px;text-transform:uppercase}.progressive-hints footer button{background:#172033;border:0;border-radius:8px;color:#fff;font-size:12px;font-weight:900;min-height:34px;padding:0 12px}.progressive-hints footer button:disabled{background:#e2e8f0;color:#64748b}.attempt-timeline{background:#fff;border-bottom:1px solid var(--line);display:grid;gap:9px;padding:12px 14px}.attempt-timeline header{align-items:center;display:flex;gap:10px;justify-content:space-between}.attempt-timeline header span{color:#172033;font-size:13px;font-weight:900}.attempt-timeline header small,.attempt-timeline p{color:#64748b;font-size:12px;font-weight:800}.attempt-timeline p{line-height:1.45;margin:0}.attempt-timeline ol{display:grid;gap:7px;list-style:none;margin:0;padding:0}.attempt-timeline li{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:8px;display:grid;gap:9px;grid-template-columns:auto 1fr;padding:9px 10px}.attempt-timeline li.passed{border-left-color:var(--green)}.attempt-timeline li.failed{border-left-color:var(--crimson)}.attempt-timeline li.draft{border-left-color:var(--blue)}.attempt-timeline li span{display:grid;gap:3px;min-width:0}.attempt-timeline li strong{color:#172033;font-size:12px}.attempt-timeline li small{color:#64748b;font-size:11px;font-weight:800}.attempt-timeline li em{color:#334155;font-size:12px;font-style:normal;line-height:1.35;overflow:hidden;text-overflow:ellipsis}.attempt-coach{background:#f8fafc;border-bottom:1px solid var(--line);border-left:4px solid #94a3b8;display:grid;gap:6px;padding:12px 14px}.attempt-coach.failed{background:#fff7ed;border-left-color:var(--amber)}.attempt-coach.passed{background:#edf8f4;border-left-color:var(--green)}.attempt-coach.draft{border-left-color:var(--blue)}.attempt-coach header{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.attempt-coach header span{color:#66748a;font-size:10px;font-weight:900;text-transform:uppercase}.attempt-coach header strong{color:#172033;font-size:13px}.attempt-coach p{color:#243246;font-size:13px;font-weight:760;line-height:1.42;margin:0}.attempt-coach small{color:#64748b;font-size:11px;font-weight:760}.editor-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);min-height:0}.monaco-frame{min-height:460px}.runtime-side-panel{display:grid;grid-template-rows:minmax(112px,auto) minmax(260px,1fr);min-height:0}.stdin-panel{background:#f8fafc;border-bottom:1px solid #dbe4ef;display:grid;gap:8px;padding:12px}.stdin-panel span{color:#475569;font-size:12px;font-weight:900}.stdin-panel textarea{background:#fff;border:1px solid #d4deea;color:#172033;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px;min-height:74px;padding:10px;resize:vertical}.output-pane{background:#101827;color:#d9e8ff;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55;margin:0;overflow:auto;padding:16px;white-space:pre-wrap}.output-pane.passed{background:#052e1b;color:#d1fae5}.output-pane.failed{background:#3b0d12;color:#ffe4e6}.output-pane.draft,.output-pane.pending{background:#101827}@media(max-width:1100px){.program-launcher-options{gap:12px}.launcher-option{align-items:start;display:grid}.launcher-option dl{min-width:0;width:100%}.course-content-layout,.pyxom-layout{grid-template-columns:1fr}.course-content-main{order:-1}.module-learning-grid{grid-template-columns:1fr}.module-theory-reader{border-left:0;border-top:1px solid #e4ebf3;padding-left:0;padding-top:14px}.theory-interaction-card{grid-template-columns:1fr}.theory-visual-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.theory-interaction-card section+section{border-left:0;border-top:1px solid #dbe7ef}.learning-return-plan>div{grid-template-columns:1fr}.module-learning-studio>header{display:grid}.learning-map-hero{grid-template-columns:1fr}.course-compass{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-map-metrics,.learning-map-modules,.teacher-command-grid,.practice-readiness-panel>div,.runner-readiness-grid,.learning-contract-grid,.course-milestone-track,.course-assessment-contract,.course-learning-outcomes,.active-learning-outcomes>div,.course-practice-contract,.course-points-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.learning-map-metrics,.learning-map-modules,.teacher-command-grid,.practice-readiness-panel>div,.runner-readiness-grid,.learning-contract-grid,.course-milestone-track,.course-assessment-contract,.course-learning-outcomes,.active-learning-outcomes>div,.course-practice-contract,.course-points-grid,.course-approval-guide{grid-template-columns:1fr}.course-points-panel header{align-items:flex-start;flex-direction:column}.teacher-command-center header{align-items:flex-start;display:grid}.course-points-panel header>div{text-align:left}.progressive-hints header,.progressive-hints footer,.official-submission-readiness header{align-items:flex-start;flex-direction:column}.official-submission-readiness>div{grid-template-columns:1fr}.progressive-hints footer button{width:100%}.teacher-points-metrics,.teacher-module-points,.teacher-milestone-points,.teacher-outcome-coverage,.teacher-points-list,.readiness-grid{grid-template-columns:1fr}}body button:not(.portal-brand-mark){border-radius:var(--radius-control)}body :is(input,textarea,select){border-radius:var(--radius-control)}body :is(.portal-brand-mark,.portal-search,.portal-panel,.learning-hero,.next-action-card,.workspace-panel,.agenda-panel,.assistant-panel,.focus-panel,.teacher-entry-panel,.course-card,.module-card,.practice-surface,.visible-tests pre,.videogames-hero,.videogames-slide-panel,.videogames-public-cards article,.videogames-public-cards svg,.videogames-stats span,.videogames-program-header,.videogames-subject-card,.calendar-panel,.settings-card,.mail-result,.assistant-result){border-radius:var(--radius-surface)}body :is(.portal-nav-item i,.icon-button span,.videogames-area-card>header small,.videogames-subject-card footer span,.exercise-meta-row span,.exercise-tag-row span,.runtime-pill,.status-pill,.assistant-runtime-pill){border-radius:var(--radius-chip)}@media(max-width:1260px){.portal-topbar{grid-template-columns:minmax(210px,.8fr) minmax(220px,1fr) auto auto}.welcome-strip{grid-template-columns:minmax(220px,.32fr) minmax(460px,1fr)}.profile-chip{display:none}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:repeat(2,minmax(0,1fr))}.courses-panel,.analytics-panel{grid-column:1 / -1}}@media(max-width:980px){.program-launcher-options{grid-template-columns:1fr}.portal-main{padding:16px}.course-compass{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-strip,.learning-hero,.learning-grid,.degree-hero,.degree-public-cards,.videogames-hero,.videogames-public-cards,.videogames-student-hero,.dvu-student-detail-grid{grid-template-columns:1fr}.welcome-calendar-panel{grid-column:1;grid-row:auto}.portal-topbar,.dashboard-grid,.dashboard-grid.minimal,.home-grid,.tools-grid,.dashboard-grid.lower,.dvu-semester-timeline,.pyxom-layout,.course-content-layout,.practice-surface,.editor-grid,.analytics-panel,.metric-row{grid-template-columns:1fr}.portal-search{order:2}.program-subpage-switch{width:100%}.program-subpage-switch button{flex:1;min-width:180px}.course-review-queue header,.course-review-list article{align-items:stretch;grid-template-columns:1fr}.course-review-queue header{flex-direction:column}.course-review-list em{white-space:normal}.spaced-review-plan header{flex-direction:column}.spaced-review-lanes{grid-template-columns:1fr}.spaced-review-lanes b{white-space:normal}.concept-mastery-map header{flex-direction:column}.concept-mastery-list,.concept-mastery-list article{grid-template-columns:1fr}.welcome-strip,.tool-header,.module-summary,.videogames-program-header{align-items:flex-start;gap:14px}.weather-card{width:100%}.exercise-rail{border-bottom:1px solid var(--line);border-right:0}.editor-toolbar{align-items:stretch;grid-template-columns:1fr}}@media(max-width:760px){.dvu-semester-visuals{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.program-launcher-shell{align-items:start;padding:18px}.program-launcher{gap:42px}.program-launcher-main{grid-template-columns:1fr}.program-launcher-header{align-items:flex-start;gap:12px}.program-launcher-header nav{flex-wrap:wrap;justify-content:flex-end}.program-launcher-copy h1{font-size:42px}.program-launcher-copy p{font-size:15px}.launcher-option{display:grid;gap:22px;grid-template-columns:1fr;min-height:220px;padding:20px}.launcher-option strong{font-size:25px}.launcher-option dl{grid-template-columns:1fr}.launcher-option dl div,.launcher-option dl div:first-child{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr auto;padding:10px 0}.launcher-option>svg{display:none}.course-compass,.theory-visual-flow{grid-template-columns:1fr}.portal-shell,.portal-shell:has(.portal-sidebar:hover),.portal-shell:has(.portal-sidebar:focus-within),.portal-shell.is-sidebar-expanded{--sidebar-detail-opacity: 1;--sidebar-width: 100%;grid-template-columns:1fr}.portal-sidebar{bottom:0;min-height:auto;overflow:visible;padding:8px 10px calc(8px + env(safe-area-inset-bottom));position:fixed;top:auto;z-index:30}.portal-brand,.portal-nav,.sidebar-course-panel,.portal-sidebar-footer,.portal-shell:has(.portal-sidebar:hover) .portal-brand,.portal-shell:has(.portal-sidebar:focus-within) .portal-brand,.portal-shell.is-sidebar-expanded .portal-brand,.portal-shell:has(.portal-sidebar:hover) .portal-nav,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav,.portal-shell.is-sidebar-expanded .portal-nav,.portal-shell:has(.portal-sidebar:hover) .sidebar-course-panel,.portal-shell:has(.portal-sidebar:focus-within) .sidebar-course-panel,.portal-shell.is-sidebar-expanded .sidebar-course-panel,.portal-shell:has(.portal-sidebar:hover) .portal-sidebar-footer,.portal-shell:has(.portal-sidebar:focus-within) .portal-sidebar-footer,.portal-shell.is-sidebar-expanded .portal-sidebar-footer{width:100%}.portal-brand,.portal-shell:has(.portal-sidebar:hover) .portal-brand,.portal-shell:has(.portal-sidebar:focus-within) .portal-brand,.portal-shell.is-sidebar-expanded .portal-brand{display:none}.portal-nav,.portal-shell:has(.portal-sidebar:hover) .portal-nav,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav,.portal-shell.is-sidebar-expanded .portal-nav{display:grid;gap:4px;grid-template-columns:repeat(8,minmax(42px,1fr));overflow-x:auto;scrollbar-width:none}.portal-nav::-webkit-scrollbar,.portal-shell:has(.portal-sidebar:hover) .portal-nav::-webkit-scrollbar,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav::-webkit-scrollbar,.portal-shell.is-sidebar-expanded .portal-nav::-webkit-scrollbar{display:none}.portal-nav-item,.portal-shell:has(.portal-sidebar:hover) .portal-nav-item,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav-item,.portal-shell.is-sidebar-expanded .portal-nav-item{gap:8px;grid-template-columns:1fr;justify-items:center;min-height:50px;padding:7px 3px;text-align:center;width:100%}.portal-nav-item .nav-label-full,.portal-shell:has(.portal-sidebar:hover) .portal-nav-item .nav-label-full,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav-item .nav-label-full,.portal-shell.is-sidebar-expanded .portal-nav-item .nav-label-full{display:none}.portal-nav-item .nav-label-short,.portal-shell:has(.portal-sidebar:hover) .portal-nav-item .nav-label-short,.portal-shell:has(.portal-sidebar:focus-within) .portal-nav-item .nav-label-short,.portal-shell.is-sidebar-expanded .portal-nav-item .nav-label-short{display:inline;font-size:9px;max-height:16px;max-width:42px;overflow:hidden;text-overflow:clip}.sidebar-course-panel,.portal-sidebar-footer,.portal-shell:has(.portal-sidebar:hover) .sidebar-course-panel,.portal-shell:has(.portal-sidebar:focus-within) .sidebar-course-panel,.portal-shell.is-sidebar-expanded .sidebar-course-panel,.portal-shell:has(.portal-sidebar:hover) .portal-sidebar-footer,.portal-shell:has(.portal-sidebar:focus-within) .portal-sidebar-footer,.portal-shell.is-sidebar-expanded .portal-sidebar-footer{display:none}.sidebar-course-button,.portal-shell:has(.portal-sidebar:hover) .sidebar-course-button,.portal-shell:has(.portal-sidebar:focus-within) .sidebar-course-button,.portal-shell.is-sidebar-expanded .sidebar-course-button{gap:9px;grid-template-columns:18px minmax(0,1fr);justify-items:start;padding:9px 10px;width:100%}.sidebar-course-button span,.portal-shell:has(.portal-sidebar:hover) .sidebar-course-button span,.portal-shell:has(.portal-sidebar:focus-within) .sidebar-course-button span,.portal-shell.is-sidebar-expanded .sidebar-course-button span{max-height:44px;max-width:260px}.portal-main{padding:12px 12px calc(92px + env(safe-area-inset-bottom))}.portal-topbar.minimal-topbar{align-items:start;grid-template-columns:1fr}.topbar-actions{justify-content:flex-start;width:100%}.profile-chip{display:flex}.section-heading,.tool-actions,.teacher-tool-grid,.code-modules{grid-template-columns:1fr}.welcome-strip{padding:14px}.dashboard-grid,.dashboard-grid.minimal,.home-grid,.tools-grid,.dashboard-grid.lower,.degree-hero,.degree-public-cards,.videogames-hero,.videogames-student-hero,.videogames-public-cards,.videogames-public-detail-grid,.videogames-program-header,.videogames-subject-list,.dvu-semester-visuals,.dvu-semester-timeline,.dvu-student-detail-grid,.dvu-learning-beats,.virtual-player-screen,.virtual-resource-grid{grid-template-columns:minmax(0,1fr)!important}.dashboard-grid>.portal-panel,.dashboard-grid.minimal>.portal-panel,.home-grid>.portal-panel,.tools-grid>.portal-panel,.dashboard-grid.lower>.portal-panel{grid-column:1 / -1;width:100%}.assistant-runtime{align-items:flex-start;flex-direction:column}.assistant-runtime-pill{max-width:100%}.assistant-runtime small{text-align:left}.welcome-strip:after{display:none}.academic-calendar-toolbar{align-items:stretch;display:grid}.academic-calendar-controls select{flex:1;min-width:0}.full-calendar-shell{overflow-x:auto;padding:8px}.full-calendar-shell .fc{min-width:620px}.welcome-copy h2{font-size:24px}.learning-hero{padding:16px}.learning-hero-copy{min-height:0}.learning-hero-copy h2{font-size:30px}.learning-hero:after{display:none}.videogames-hero,.videogames-student-hero{min-height:0;padding:16px}.videogames-hero:after,.videogames-student-hero:after{display:none}.videogames-hero-copy h2,.videogames-student-copy h2{font-size:30px}.videogames-hero-actions,.videogames-hero-actions button,.videogames-stats.hero-stats{width:100%}.videogames-stats.hero-stats,.student-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dvu-module-popover{grid-template-columns:1fr;left:0;max-height:none;position:static;transform:none;width:100%}.dvu-mosaic-tile:hover .dvu-module-popover,.dvu-mosaic-tile:focus-within .dvu-module-popover{transform:none}.popover-image{min-height:160px}.learning-hero-actions{width:100%}.learning-hero-actions button{flex:1}.route-step{grid-template-columns:32px minmax(0,1fr)}.route-step small{grid-column:2}.settings-row{align-items:start;grid-template-columns:1fr}.quick-actions,.editor-actions,.tool-chip-row{width:100%}.quick-actions button,.editor-actions button{flex:1}.portal-search kbd{display:none}}
