:root{color:#eef8f1;background:#101512;font-family:Bahnschrift,Aptos,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--page: #101512;--page-2: #18201b;--surface: rgba(24, 32, 27, .88);--surface-strong: #202a23;--ink: #eef8f1;--muted: #a9b8ad;--line: rgba(218, 238, 224, .16);--accent: #55d36d;--accent-2: #ffcf4a;--danger: #ff5c5c;--shadow: rgba(0, 0, 0, .34)}:root[data-theme=light]{color:#18231c;background:#f5f7f4;--page: #f5f7f4;--page-2: #e7eee9;--surface: rgba(255, 255, 255, .9);--surface-strong: #ffffff;--ink: #18231c;--muted: #58675d;--line: rgba(24, 35, 28, .16);--accent: #167c3c;--accent-2: #c78d00;--danger: #bf2e2e;--shadow: rgba(21, 36, 27, .14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}a{color:inherit;text-decoration:none}main{min-height:100vh;color:var(--ink);position:relative;isolation:isolate;overflow-x:hidden;background:linear-gradient(110deg,rgba(85,211,109,.16),transparent 34%),linear-gradient(20deg,rgba(255,207,74,.12),transparent 32%),linear-gradient(180deg,var(--page),var(--page-2))}main:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.36;background:repeating-linear-gradient(115deg,transparent 0 22px,color-mix(in srgb,var(--accent) 16%,transparent) 23px 24px,transparent 25px 68px),linear-gradient(180deg,transparent,color-mix(in srgb,var(--page) 72%,transparent));transform:translateZ(0);animation:signalDrift 18s linear infinite}main>*{position:relative;z-index:1}.topbar{min-height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:12px 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--page) 84%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10;animation:topbarDrop .5s ease both}.brand,.pill,.console div,.editorTop,.admin h2,.briefHeader,.briefMeta,.briefActions,.editorActions,.topActions,.topnav,.primaryLink,.themeButton{display:flex;align-items:center;gap:8px}.brand{font-weight:900;color:var(--accent);transition:color .2s ease,transform .2s ease}.brand:hover{color:var(--accent-2);transform:translateY(-1px)}.topnav{justify-content:center}.topnav a,.themeButton,.pill{border:1px solid var(--line);padding:9px 12px;border-radius:8px;background:var(--surface);color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease}.topnav a:hover,.themeButton:hover,.pill:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:0 10px 26px color-mix(in srgb,var(--shadow) 62%,transparent)}.topnav a{min-width:86px;justify-content:center;text-align:center}.topnav .navActive{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:inset 0 -2px 0 var(--accent)}.topActions{justify-content:flex-end;flex-wrap:wrap}.themeButton{border:1px solid var(--line)}.publicHome{display:grid;gap:34px;padding-bottom:42px}.heroBand{min-height:min(640px,calc(100vh - 68px));display:grid;align-items:end;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.heroBand img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.08) brightness(.62);transform:scale(1.03);animation:heroFloat 18s ease-in-out infinite alternate}:root[data-theme=light] .heroBand img{filter:saturate(.9) contrast(1.02) brightness(.82)}.heroBand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--page) 82%,transparent),transparent 70%),linear-gradient(0deg,var(--page),transparent 42%)}.heroBand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.42;background:linear-gradient(100deg,transparent 0 42%,color-mix(in srgb,var(--accent-2) 18%,transparent) 48%,transparent 54%),repeating-linear-gradient(0deg,transparent 0 34px,color-mix(in srgb,var(--ink) 7%,transparent) 35px 36px);mix-blend-mode:screen;transform:translate(-22%);animation:heroScan 9s ease-in-out infinite}.heroCopy{width:min(760px,calc(100% - 32px));position:relative;z-index:1;padding:0 0 56px 22px;animation:rise .55s ease both}.heroCopy h1{margin:0;max-width:720px;font-size:clamp(42px,8vw,92px);line-height:.92;text-wrap:balance}.heroCopy p{max-width:580px;color:var(--muted);font-size:18px;line-height:1.6}.primaryLink,.loginPanel button,.courseTile button,.editorTop button,.admin button,.softButton{border:0;color:#07120b;background:var(--accent);border-radius:8px;padding:10px 14px;font-weight:800;justify-content:center;transition:transform .18s ease,filter .18s ease,background .18s ease;position:relative;overflow:hidden}.primaryLink:hover,.loginPanel button:hover,.courseTile button:hover,.editorTop button:hover,.admin button:hover,.softButton:hover{transform:translateY(-1px);filter:brightness(1.04)}.primaryLink:after,.loginPanel button:after,.courseTile button:after,.editorTop button:after,.admin button:after,.softButton:after{content:"";position:absolute;top:-40%;right:-70%;bottom:-40%;left:-70%;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.38),transparent 65%);transform:translate(-55%) rotate(8deg);transition:transform .55s ease}.primaryLink:hover:after,.loginPanel button:hover:after,.courseTile button:hover:after,.editorTop button:hover:after,.admin button:hover:after,.softButton:hover:after{transform:translate(55%) rotate(8deg)}.courseMarket,.loginBand,.studio,.adminPage,.courseAccessGate{width:min(1460px,calc(100% - 32px));margin:0 auto}.courseMarket{display:grid;gap:18px}.courseAccessGate{min-height:calc(100vh - 68px);display:grid;align-content:center;gap:20px;padding:34px 0;animation:rise .55s ease both}.courseAccessGate h1{margin:0;font-size:clamp(34px,6vw,68px);line-height:.96}.courseAccessGate p{color:var(--muted);line-height:1.55}.courseMarket h2,.loginPanel h2,.accessDenied h1{margin:0;font-size:clamp(30px,5vw,54px);line-height:1}.courseGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.courseTile{min-height:270px;display:grid;align-content:start;gap:12px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 22px 56px var(--shadow);animation:cardRise .62s ease both;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease}.courseTile:nth-child(2){animation-delay:.06s}.courseTile:nth-child(3){animation-delay:.12s}.courseTile:nth-child(4){animation-delay:.18s}.courseTile:nth-child(5){animation-delay:.24s}.courseTile:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:0 30px 70px color-mix(in srgb,var(--shadow) 74%,transparent);background:color-mix(in srgb,var(--surface) 84%,var(--accent) 6%)}.courseTile h3{margin:0;font-size:24px}.courseTile p,.loginPanel small,.accessDenied p{color:var(--muted);line-height:1.55}.courseTile span,.courseTile small,.eyebrow{text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:0;color:var(--accent)}.loginBand{min-height:460px;display:grid;place-items:center;padding:32px 0}.passwordGate{min-height:calc(100vh - 68px)}.loginPanel{width:min(520px,100%);display:grid;gap:12px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 22px 56px var(--shadow);animation:cardRise .58s ease both}.loginPanel input,.admin input,.admin textarea,.admin select{width:100%;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);border-radius:8px;padding:11px}.formError{margin:0;color:var(--danger);font-weight:800}.studio{display:grid;grid-template-columns:minmax(240px,310px) minmax(420px,1fr);gap:16px;padding:16px 0 24px}.rail,.workspace,.admin{min-width:0;animation:rise .5s ease both}.workspace{animation-delay:.05s}.admin{animation-delay:.08s}.rail img{width:100%;height:138px;object-fit:cover;border-radius:8px;filter:saturate(.9) contrast(1.03);transition:transform .35s ease,filter .35s ease}.rail img:hover{transform:scale(1.015);filter:saturate(1.05) contrast(1.06)}.meter{height:8px;background:color-mix(in srgb,var(--surface-strong) 70%,var(--line));margin:14px 0;border-radius:8px;overflow:hidden}.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s ease;background-size:220% 100%;animation:meterPulse 2.6s ease-in-out infinite}.course,.brief,.editorShell,.console,.admin,.history,.replay{border:1px solid var(--line);background:var(--surface);border-radius:8px;box-shadow:0 18px 42px var(--shadow);transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}.course:hover,.brief:hover,.editorShell:hover,.history:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:0 24px 56px color-mix(in srgb,var(--shadow) 72%,transparent)}.course{padding:16px}.course h2,.brief h1,.admin h2{margin:0}.course p,.brief p{color:var(--muted);line-height:1.55}.eyebrow{margin:0 0 8px}.lesson{display:grid;gap:8px;margin-top:16px}.task{min-height:44px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 78%,transparent);border-radius:8px;color:var(--ink);text-align:left;display:flex;align-items:center;gap:8px;padding:9px 10px;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.task:hover,.task.active{transform:translate(3px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface-strong));box-shadow:inset 3px 0 0 var(--accent)}.workspace{display:grid;gap:12px}.brief{padding:18px}.briefHeader{justify-content:space-between;align-items:flex-start}.briefActions{justify-content:flex-end;flex-wrap:wrap}.brief h1{font-size:clamp(26px,4vw,42px);color:var(--ink)}.briefMeta{align-items:center;flex-wrap:wrap}.target{display:inline-flex;gap:8px;margin-top:6px;padding:8px 10px;background:color-mix(in srgb,var(--accent) 14%,var(--surface-strong));border-radius:8px}.savedDraft{display:inline-flex;margin-top:6px;padding:8px 10px;color:#0b140e;background:var(--accent-2);border-radius:8px;font-weight:800;animation:softPop .38s ease both}.aiMentor{display:grid;gap:8px;margin-top:14px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:8px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 52%),color-mix(in srgb,var(--surface-strong) 82%,transparent);animation:cardRise .42s ease both}.aiMentor.status-queued,.aiMentor.status-running{animation:consoleBreathe 1.6s ease-in-out infinite}.aiMentor.status-failed{border-color:color-mix(in srgb,var(--danger) 62%,var(--line))}.aiMentor strong{font-size:17px;line-height:1.45}.aiMentor span,.aiMentor small{color:var(--muted);line-height:1.5}.editorShell{overflow:hidden;background:#0d120f}:root[data-theme=light] .editorShell{background:#fff}.editorTop{min-height:46px;justify-content:space-between;color:var(--muted);padding:8px 10px 8px 14px;border-bottom:1px solid var(--line)}.editorTop span{width:11px;height:11px;background:var(--accent);border-radius:50%;box-shadow:18px 0 var(--accent-2),36px 0 var(--danger);animation:editorLights 2.4s ease-in-out infinite}.editorTop button:disabled,.softButton:disabled{cursor:not-allowed;opacity:.55}.editorActions{justify-content:flex-end}.editorTop .ghostIcon,.softButton,.admin .ghost{color:var(--ink);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent));border:1px solid var(--line)}.shortcutHint{padding:9px 14px;color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 80%,#000000);border-top:1px solid var(--line)}.console{min-height:144px;overflow:hidden}.console div{justify-content:space-between;padding:10px 14px;background:color-mix(in srgb,var(--surface-strong) 84%,#000000);color:var(--ink)}.console div span{color:var(--accent)}.console.status-queued,.console.status-running{animation:consoleBreathe 1.4s ease-in-out infinite}.console.status-passed{animation:successFlash .7s ease both}.console.status-failed,.console.status-error{animation:errorShake .35s ease both}.console.status-passed div span{color:var(--accent)}.console.status-failed div span,.console.status-error div span{color:var(--danger)}.console pre{min-height:96px;max-height:190px;overflow:auto;margin:0;padding:14px;color:#cde8d8;background:#0b100d;white-space:pre-wrap}.adminPage{padding:18px 0 28px}.adminPage .admin{width:min(1180px,100%);margin:0 auto}.admin{align-self:start;padding:16px;display:grid;gap:10px}.admin label{display:grid;gap:6px;color:var(--ink);font-weight:800}.admin textarea{min-height:78px;resize:vertical}.attempts,.history,.adminCatalog,.importExportPanel{display:grid;gap:8px}.adminButtonRow{display:flex;flex-wrap:wrap;gap:8px}.checkboxRow{grid-template-columns:auto 1fr;align-items:center}.admin .checkboxRow input{width:auto}.bundleTextarea{min-height:180px;font-family:Cascadia Code,Consolas,monospace;font-size:13px}.attempts{max-height:320px;overflow:auto}.attempts article,.history article{border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface-strong);display:grid;gap:4px}.attempts span,.attempts small,.history span{color:var(--muted)}.adminCatalog{max-height:340px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.adminCatalog article,.adminLesson{display:grid;gap:8px}.adminLesson{padding:8px;border-radius:8px;background:color-mix(in srgb,var(--surface) 78%,var(--accent) 8%)}.adminTaskRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px}.adminTaskRow small{color:var(--muted);overflow-wrap:anywhere}.history{padding:14px}.replay{padding:12px;display:grid;gap:8px;box-shadow:none}.replay label{display:grid;gap:6px;color:var(--ink);font-weight:800}.replay select{width:100%;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);border-radius:8px;padding:9px}.replay pre{min-height:90px;max-height:190px;overflow:auto;margin:0;padding:10px;color:#cde8d8;background:#0b100d;border-radius:8px;white-space:pre-wrap}.accessDenied{min-height:calc(100vh - 110px);display:grid;place-items:center;align-content:center;gap:16px;text-align:center}.accessDenied p{width:min(560px,100%)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes cardRise{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes topbarDrop{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes signalDrift{0%{background-position:0 0,0 0}to{background-position:180px 120px,0 0}}@keyframes heroFloat{0%{transform:scale(1.03) translateZ(0)}to{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}@keyframes heroScan{0%,to{opacity:.18;transform:translate(-28%)}45%,55%{opacity:.42;transform:translate(20%)}}@keyframes meterPulse{0%,to{background-position:0% 50%;filter:saturate(1)}50%{background-position:100% 50%;filter:saturate(1.2)}}@keyframes editorLights{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}@keyframes consoleBreathe{0%,to{box-shadow:0 18px 42px var(--shadow)}50%{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 26%,transparent),0 22px 50px var(--shadow)}}@keyframes softPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes successFlash{0%{box-shadow:0 18px 42px var(--shadow)}45%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 54%,transparent),0 18px 42px var(--shadow)}to{box-shadow:0 18px 42px var(--shadow)}}@keyframes errorShake{0%,to{transform:translate(0)}30%{transform:translate(-4px)}60%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:1120px){.studio{grid-template-columns:1fr}.admin{align-self:stretch}}@media(max-width:780px){.topbar{position:static;grid-template-columns:1fr;align-items:stretch}.topnav,.topActions{justify-content:flex-start}.heroCopy{padding:0 16px 42px}.adminTaskRow{grid-template-columns:1fr}}.adminTabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px}.adminTabs button{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.82rem;cursor:pointer;position:relative}.adminTabs button:hover{color:var(--ink)}.adminTabActive{background:color-mix(in srgb,var(--surface-strong) 80%,var(--accent))!important;color:var(--ink)!important;border-color:var(--accent)!important}.adminSection{display:grid;gap:10px}.adminUserForm{display:grid;gap:8px}.adminUserList{display:grid;gap:8px;max-height:440px;overflow:auto}.adminUserRow{display:grid;gap:6px;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--page-2)}.adminUserInfo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.adminUserInfo strong{font-size:.9rem}.adminUserInfo span{color:var(--muted);font-size:.82rem}.adminRoleBadge{padding:2px 7px;border-radius:4px;font-size:.75rem;background:color-mix(in srgb,var(--surface-strong) 60%,var(--accent));color:var(--ink)}.adminUserEnrollments{display:flex;flex-wrap:wrap;gap:6px}.adminEnrollmentTag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:.78rem;background:var(--surface-strong);border:1px solid var(--line)}.enrollRemove{display:flex;align-items:center;padding:0!important;background:transparent!important;border:0!important;color:var(--muted)!important;cursor:pointer;min-width:0!important}.enrollRemove:after{display:none!important}.enrollRemove:hover{color:var(--danger)!important}.adminError{color:var(--danger);font-size:.82rem;margin:0}@media(max-width:640px){.publicHome{gap:22px}.studio{width:calc(100% - 20px);padding:10px 0 20px;gap:10px}.courseMarket,.loginBand,.adminPage,.courseAccessGate{width:calc(100% - 20px)}.briefHeader{flex-direction:column}.briefActions{width:100%}.briefActions button{flex:1}.editorTop{align-items:flex-start;flex-direction:column}.editorActions{width:100%}.editorActions button{flex:1}.pill,.themeButton{width:100%}.topnav a{flex:1}}
