@font-face{font-family:"IBM Plex Sans";src:url("assets/IBMPlexSans-Variable.woff2") format("woff2");font-style:normal;font-weight:100 700;font-display:swap}
html body .side-subnav a{min-height:44px;padding-block:7px}
:root{--gold-500:#c8a45a;--gold-300:#e2c77c;--gold-700:#8d6b2e;--navy:#071827;--navy2:#0d263a;--navy3:#123249;--teal:#159d9a;--teal2:#36c4be;--copper:#c8875a;--terra:#c95e3d;--ink:#172a38;--muted:#647884;--bg:#edf3f5;--panel:#fff;--line:#d5e0e5;--radius:18px;--shadow:0 10px 30px rgba(7,24,39,.07)}
*{box-sizing:border-box}html{min-width:320px;background:var(--bg);font-size:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100vh;margin:0;padding-left:248px;color:var(--ink);font:400 16px/1.55 "IBM Plex Sans",Arial,sans-serif;background:radial-gradient(circle at 16% 4%,rgba(54,196,190,.11),transparent 29rem),radial-gradient(circle at 94% 92%,rgba(200,135,90,.08),transparent 32rem),var(--bg)}a,summary{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}a:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:3px}
.learner-sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:248px;height:100dvh;padding:18px 14px 14px;display:flex;flex-direction:column;color:#eaf6f6;background:radial-gradient(circle at 12% 0,rgba(54,196,190,.15),transparent 18rem),linear-gradient(180deg,var(--navy2),var(--navy));border-right:1px solid rgba(255,255,255,.09);box-shadow:10px 0 32px rgba(7,24,39,.12);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#315264 transparent}.side-brand{display:flex;align-items:center;gap:11px;min-height:52px;padding:8px 9px 16px;margin-bottom:12px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1)}.side-brand-mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--teal),var(--teal2));box-shadow:0 9px 22px rgba(21,157,154,.25);font-size:13px;font-weight:700}.side-brand-copy{display:grid;min-width:0}.side-brand-copy strong{font-size:14px;line-height:1.25;letter-spacing:-.01em}.side-brand-copy small{font-size:11px;line-height:1.35;color:#91b5bf}.side-nav{display:grid;gap:6px}.side-overview,.side-module summary,.side-subnav a{display:flex;align-items:center;gap:10px;min-height:44px;border-radius:11px;color:#b9cbd2;text-decoration:none;font-size:13px;font-weight:500}.side-overview{padding:9px 11px;border:1px solid transparent}.side-overview:hover,.side-overview[aria-current="page"]{color:#fff;background:rgba(54,196,190,.12);border-color:rgba(54,196,190,.25)}.side-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.07);color:#8cded9;font-size:12px;font-weight:650}.side-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.side-module{border:1px solid transparent;border-radius:12px}.side-module[open]{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.07)}.side-module summary{padding:7px 9px;cursor:pointer;list-style:none}.side-module summary::-webkit-details-marker{display:none}.side-module summary::after{content:"⌄";margin-left:auto;color:#718e99}.side-module:not([open]) summary::after{transform:rotate(-90deg)}.side-module summary:hover,.side-module.current summary{color:#fff}.side-module.current summary .side-icon{background:rgba(21,157,154,.25);color:#6de0da}.side-module[aria-disabled="true"] summary{cursor:default;color:#71858e}.side-module[aria-disabled="true"] summary::after{content:""}.side-state{margin-left:auto;font-size:10px;font-weight:600;color:#72d8d2}.side-module[aria-disabled="true"] .side-state{color:#d39a70}.side-subnav{display:grid;gap:2px;margin:0 8px 8px 22px;padding-left:14px;border-left:1px solid rgba(255,255,255,.1)}.side-subnav a{min-height:36px;padding:6px 9px;font-size:12px}.side-subnav a:hover,.side-subnav a[aria-current="page"]{color:#fff;background:rgba(21,157,154,.13)}.side-footer{margin-top:auto;padding:14px 10px 4px;border-top:1px solid rgba(255,255,255,.1);font-size:11px;line-height:1.5;color:#7897a2}.side-footer strong{display:block;color:#bcd1d7;font-size:12px;font-weight:600}
.shell{width:min(1280px,calc(100% - 42px));margin:0 auto;padding:18px 0 32px}.brand{min-height:58px;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.88);box-shadow:var(--shadow);backdrop-filter:blur(12px)}.brand strong{font-size:14px;font-weight:600;letter-spacing:-.01em}.brand span{font-size:12px;color:var(--muted)}.crumb{min-height:44px;margin:10px 0;padding:0 4px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.crumb a{display:inline-flex;align-items:center;min-height:44px;color:#237a78;text-decoration:none}.hero{position:relative;margin-bottom:16px;padding:22px 24px;border:1px solid rgba(21,157,154,.2);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(245,251,251,.87));box-shadow:var(--shadow);overflow:hidden}.hero::after{content:"";position:absolute;right:-80px;top:-120px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(54,196,190,.14),transparent 67%);pointer-events:none}.tag{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;color:#28706e;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal)}h1,h2{margin:0;font-weight:600;line-height:1.18;letter-spacing:-.01em;hyphens:auto;overflow-wrap:anywhere}.hero h1{position:relative;z-index:1;max-width:30ch;margin:7px 0 8px;font-size:clamp(28px,2.3vw,34px)}.hero p{position:relative;z-index:1;margin:0;max-width:68ch;color:var(--muted);font-size:15px;line-height:1.6}.hero-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.primary-action,.secondary-action,.back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border-radius:11px;text-decoration:none;font-size:14px;font-weight:600}.primary-action{color:#fff;background:var(--teal);border:1px solid #117b79}.secondary-action,.back{color:var(--navy2);background:#fff;border:1px solid #cbdade}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.trust-item{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.7);font-size:12px;color:var(--muted)}.trust-item strong{display:block;margin-bottom:2px;color:var(--ink);font-size:13px;font-weight:600}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.course-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.course-grid .card:nth-child(-n+3){grid-column:span 2}.course-grid .card:nth-child(n+4){grid-column:span 3}.card{min-width:0;overflow:hidden;display:flex;flex-direction:column;color:inherit;text-decoration:none;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 5px 20px rgba(7,24,39,.05)}.card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#dfe8eb}.card>div{display:grid;align-content:start;gap:5px;flex:1;padding:14px}.card h2{font-size:20px}.card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.card.active:hover{transform:translateY(-2px);border-color:rgba(21,157,154,.55);box-shadow:0 12px 28px rgba(7,24,39,.1)}.card.active:focus-visible{outline:3px solid var(--copper);outline-offset:3px}.card.locked{opacity:.78}.state{width:fit-content;margin-top:5px;padding:4px 7px;border-radius:7px;background:#e7f6f5;color:#23706d;font-size:11px;font-weight:600}.locked .state{background:#fff5e8;color:#8a6220}.back{margin-top:16px}.module-page>.grid .card h2{font-size:18px}
@media(max-width:1100px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid .card:nth-child(n){grid-column:span 1}}
@media(max-width:800px){body{padding-left:0}.learner-sidebar{position:relative;inset:auto;width:100%;height:auto;padding:10px 12px;overflow:visible}.side-brand{min-height:44px;margin:0;padding:4px 4px 10px}.side-brand-mark{width:34px;height:34px;flex-basis:34px}.side-nav{display:flex;gap:7px;overflow-x:auto;padding-top:8px}.side-overview,.side-module{flex:0 0 auto}.side-overview{min-width:148px}.side-module{min-width:154px}.side-subnav{display:none}.side-footer{display:none}.shell{width:calc(100% - 20px);padding:12px 0 24px}.brand{align-items:flex-start;flex-direction:column;gap:2px}.trust-strip{grid-template-columns:1fr}.grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid .card:nth-child(n){grid-column:span 1}}
@media(max-width:520px){.shell{width:calc(100% - 12px)}.hero{padding:18px}.hero h1{font-size:27px}.grid,.course-grid{grid-template-columns:1fr}.card img{aspect-ratio:16/9}.hero-actions>a{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Apex alignment: compact navy glass workspace with KommunalAISuite semantic colors. */
html{background:#06111c;color-scheme:dark}body{color:#edf5f6;background:radial-gradient(circle at 18% 4%,rgba(21,157,154,.15),transparent 31rem),radial-gradient(circle at 93% 90%,rgba(200,135,90,.09),transparent 34rem),linear-gradient(145deg,#06111c,#0a1c2a 58%,#071827)}
.brand{border-color:rgba(209,230,234,.11);background:rgba(13,38,58,.72);box-shadow:0 14px 34px rgba(0,0,0,.2)}.brand span{color:#91a8b2}.crumb{color:#91a8b2}.crumb a{color:#74d4cf}.hero{border-color:rgba(54,196,190,.2);background:linear-gradient(135deg,rgba(18,50,73,.86),rgba(7,24,39,.78));box-shadow:0 14px 34px rgba(0,0,0,.2)}.hero h1{color:#edf5f6}.hero p{color:#afc1c7}.tag{color:#82ddd8}.secondary-action,.back{color:#e5eff1;background:#102e43;border-color:rgba(209,230,234,.16)}.trust-item{border-color:rgba(209,230,234,.11);background:rgba(13,38,58,.62);color:#91a8b2}.trust-item strong{color:#edf5f6}.card{border-color:rgba(209,230,234,.11);background:rgba(13,38,58,.72);box-shadow:0 8px 24px rgba(0,0,0,.17)}.card h2{color:#edf5f6}.card p{color:#a9bdc4}.card.active:hover{border-color:rgba(54,196,190,.48);box-shadow:0 14px 32px rgba(0,0,0,.28)}.state{background:rgba(21,157,154,.14);color:#89ddd8}.locked .state{background:rgba(200,135,90,.12);color:#d39a70}

/* Nested Apex learner dashboard with copper as the restrained premium secondary. */
:root{--copper:#c8875a;--copper-light:#d39a70;--copper-dark:#9e6542}
.dashboard-workspace{padding:12px;display:grid;gap:12px;border:1px solid rgba(54,196,190,.2);border-radius:22px;background:linear-gradient(145deg,rgba(13,38,58,.72),rgba(7,24,39,.64));box-shadow:0 18px 42px rgba(0,0,0,.25);backdrop-filter:blur(14px)}
.dashboard-workspace>.hero{margin:0;padding:10px;border-color:rgba(209,230,234,.1);border-radius:17px;background:rgba(5,17,28,.3);box-shadow:none}
.hero-copy{position:relative;z-index:1;padding:16px 17px;border:1px solid rgba(209,230,234,.1);border-radius:13px;background:rgba(18,50,73,.34)}
.hero-actions{margin-top:9px;padding:9px;align-items:center;border:1px solid rgba(209,230,234,.09);border-radius:13px;background:rgba(7,24,39,.27)}
.learning-chain{min-height:44px;padding:9px 12px;display:inline-flex;align-items:center;border:1px solid rgba(200,135,90,.4);border-radius:10px;background:rgba(200,135,90,.12);color:var(--copper-light);font-size:12px;font-weight:600}
.trust-strip{margin:0;padding:8px;gap:8px;border:1px solid rgba(209,230,234,.09);border-radius:15px;background:rgba(7,24,39,.24)}
.trust-item{padding:10px 12px;border-radius:11px;background:rgba(18,50,73,.34)}
.dashboard-workspace>.grid{gap:11px}
.card{padding:8px;gap:8px;background:rgba(13,38,58,.68)}
.card img{border:1px solid rgba(209,230,234,.11);border-radius:12px}
.card>div{padding:11px 12px;border:1px solid rgba(209,230,234,.09);border-radius:11px;background:rgba(7,24,39,.27)}
.card-chain{display:block;margin-top:4px;color:#8ea6af;font-size:11px;line-height:1.4}
.card.active:focus-visible{outline-color:var(--copper)}
.locked .state{background:var(--copper);color:#030b16}
.dashboard-workspace>.back{width:fit-content;margin:0}
@media(max-width:800px){.dashboard-workspace{padding:8px;gap:8px;border-radius:18px}.hero-copy{padding:13px}.hero-actions{display:grid}.learning-chain{width:100%}.trust-strip{grid-template-columns:1fr}}
@media(max-width:520px){.dashboard-workspace{padding:6px}.dashboard-workspace>.hero{padding:6px}.hero-copy{padding:11px}.card{padding:6px}.card>div{padding:10px}}
