:root{--space:#090b21;--panel:#121735;--panel-2:#191f45;--ink:#f7f8ff;--muted:#aeb5d8;--coral:#ff6f61;--cyan:#57d5df;--violet:#9e83ff;--green:#57d99a;--line:rgba(255,255,255,.11);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{min-height:100%;background:var(--space)}body{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 75% 8%,#24204d 0,transparent 30%),linear-gradient(145deg,#07091d,#101431);font-size:16px}.stars{position:fixed;inset:0;pointer-events:none;opacity:.6;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#7eeaff 1px,transparent 1px);background-position:0 0,35px 45px;background-size:83px 83px,117px 117px}.is-hidden{display:none!important}button{font:inherit}.access-view{position:relative;z-index:1;display:grid;min-height:100vh;padding:28px;place-items:center}.access-card{width:min(720px,100%);padding:55px;border:1px solid var(--line);border-radius:32px;background:rgba(18,23,53,.9);box-shadow:0 30px 90px #0007;text-align:center;backdrop-filter:blur(15px)}.eyebrow{margin:0 0 12px;color:var(--cyan);font-size:.77rem;font-weight:850;letter-spacing:.16em}.planet{font-size:4.6rem;filter:drop-shadow(0 12px 20px #735fff66)}.wordmark{margin:5px 0 12px;font-size:clamp(2.7rem,8vw,5.3rem);line-height:1;letter-spacing:-.07em}.wordmark-coral,.compact-wordmark span,.mobile-wordmark span,.sidebar-wordmark span:nth-child(2){color:var(--coral)}.access-copy,.lead{color:var(--muted);font-size:1.12rem;line-height:1.7}.access-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.primary-action,.secondary-action{min-height:58px;padding:14px 22px;border-radius:15px;border:1px solid transparent;color:white;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}.primary-action{background:linear-gradient(135deg,#ff7769,#f35478);box-shadow:0 12px 30px #ff657444}.secondary-action{border-color:#6571b3;background:#242b5d}.primary-action:hover,.secondary-action:hover,.section-card:hover,.map-block:hover{transform:translateY(-2px);filter:brightness(1.1)}.development-note{margin:26px 0 0;color:#858db8;font-size:.78rem}.app-view{position:relative;z-index:1;min-height:100vh}.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;display:flex;width:310px;flex-direction:column;border-right:1px solid var(--line);background:rgba(11,14,37,.97);box-shadow:10px 0 40px #0003}.sidebar-head{padding:25px 22px 18px}.brand-button{width:100%;padding:0;border:0;color:white;background:transparent;text-align:left;cursor:pointer}.sidebar-wordmark{display:block;font-size:1.55rem;font-weight:900;letter-spacing:-.05em}.brand-button small{display:block;margin-top:6px;color:var(--muted)}#course-navigation{overflow-y:auto;padding:0 13px 15px}.nav-item{display:flex;width:100%;align-items:center;gap:10px;padding:10px;border:0;border-radius:10px;color:#eef0ff;background:transparent;text-align:left;cursor:pointer}.nav-item:hover{background:#ffffff0c}.nav-item strong{font-size:.82rem;letter-spacing:.04em}.nav-item small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem}.nav-section{padding-left:39px;color:#cbd0ea;font-size:.83rem}.nav-term{margin:13px 10px 7px;color:#8e97c6;font-size:.68rem;font-weight:850;letter-spacing:.15em}.nav-divider{height:1px;margin:11px 10px;background:var(--line)}.nav-item.is-locked{color:#7e85aa}.change-role{margin:auto 20px 20px;padding:11px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#ffffff08;cursor:pointer}.student-main{min-height:100vh;margin-left:310px}.mobile-header{display:none}.content-wrap{max-width:1200px;margin:auto;padding:58px 5vw 80px;outline:none}.content-header h1{margin:0;font-size:clamp(2.1rem,5vw,4rem);letter-spacing:-.045em}.content-header>p:last-child{max-width:700px;color:var(--muted);font-size:1.08rem;line-height:1.7}.mission-banner{display:flex;align-items:center;justify-content:space-between;margin:38px 0 24px;padding:21px 25px;border:1px solid #ff9e8666;border-radius:18px;background:linear-gradient(120deg,#ff6f6120,#9e83ff18)}.mission-banner>div{display:flex;align-items:center;gap:14px}.mission-banner>div>span{font-size:2rem}.mission-banner strong,.mission-banner small{display:block}.mission-banner small{margin-top:4px;color:var(--muted)}.mission-banner button{padding:11px 18px;border:0;border-radius:10px;color:#11152f;background:var(--coral);font-weight:800;cursor:pointer}.course-map{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.term-card{position:relative;min-height:320px;padding:25px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--panel)}.term-card:before{position:absolute;inset:0 0 auto;height:5px;content:"";background:var(--term)}.term-coral{--term:var(--coral)}.term-violet{--term:var(--violet)}.term-cyan{--term:var(--cyan)}.term-number{position:absolute;right:14px;top:-23px;color:#ffffff09;font-size:9rem;font-weight:950}.term-card h2{margin:0 0 22px;color:var(--term);font-size:1.7rem}.map-blocks{display:grid;gap:12px}.map-block{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:16px;border:1px solid var(--line);border-radius:14px;color:white;background:#ffffff09;text-align:left;cursor:pointer}.map-block span{grid-row:1/3;font-size:1.5rem}.map-block small{color:var(--muted)}.map-block.is-locked{opacity:.58}.section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}.section-card{display:grid;min-height:150px;padding:24px;border:1px solid var(--line);border-radius:18px;color:white;background:var(--panel);text-align:left;cursor:pointer;transition:.2s}.section-card span{font-size:2rem}.section-card strong{margin-top:14px;font-size:1.15rem}.section-card small{color:var(--cyan)}.pending-content,.empty-state{margin-top:38px;padding:50px;border:1px dashed #6973a5;border-radius:22px;background:#151a3aaa;text-align:center}.pending-content>div{font-size:4rem}.pending-content p,.empty-state{color:var(--muted)}.admin-view{position:relative;z-index:1;min-height:100vh}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:20px 5vw;border-bottom:1px solid var(--line);background:#0c0f2be8}.compact-wordmark{font-size:1.5rem;font-weight:900;letter-spacing:-.05em}.admin-header p{margin:3px 0 0;color:var(--muted);font-size:.78rem}.secondary-action.compact{min-height:42px;padding:8px 15px;font-size:.78rem}.admin-main{width:min(900px,90%);margin:65px auto}.admin-main h1{margin:0;font-size:clamp(2.3rem,6vw,4rem)}.admin-controls{display:grid;gap:12px;margin-top:36px}.admin-control{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.admin-control>div{display:flex;align-items:center;gap:13px}.admin-control strong,.admin-control small{display:block}.admin-control small{margin-top:4px;color:var(--muted)}.status-dot{width:11px;height:11px;border-radius:50%;background:#747b9b;box-shadow:0 0 0 5px #747b9b20}.status-dot.available{background:var(--green);box-shadow:0 0 0 5px #57d99a20}.toggle{display:flex;min-width:165px;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:100px;color:#aeb4d0;background:#242944;cursor:pointer}.toggle span{position:relative;width:38px;height:21px;border-radius:30px;background:#676d8b}.toggle span:after{position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;content:"";background:white;transition:.2s}.toggle b{font-size:.76rem}.toggle.is-on{color:#bff6da;border-color:#57d99a55;background:#173d37}.toggle.is-on span{background:var(--green)}.toggle.is-on span:after{left:20px}.admin-info{margin-top:28px;padding:20px;border-left:4px solid var(--violet);border-radius:0 12px 12px 0;background:#9e83ff12}.admin-info p{margin-bottom:0;color:var(--muted);line-height:1.6}.toast{position:fixed;z-index:50;right:25px;bottom:25px;max-width:380px;padding:17px 20px;border:1px solid #ff9b8f66;border-radius:13px;background:#24284d;box-shadow:0 15px 45px #0008;opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s}.toast.is-visible{opacity:1;transform:none}.mobile-only{display:none}.icon-button{border:0;color:white;background:transparent;font-size:1.5rem;cursor:pointer}.sidebar-backdrop{position:fixed;z-index:9;inset:0;background:#02030abf}
@media(max-width:900px){.sidebar{width:min(320px,88vw);transform:translateX(-105%);transition:transform .25s}.sidebar.is-open{transform:none}.mobile-only{display:block}.sidebar-head{position:relative}.sidebar-head>.icon-button{position:absolute;right:12px;top:12px}.student-main{margin-left:0}.mobile-header{position:sticky;z-index:8;top:0;display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);background:#0b0e25ee;backdrop-filter:blur(10px)}.mobile-wordmark{font-size:1.22rem;font-weight:900}.content-wrap{padding:35px 20px 65px}.course-map{grid-template-columns:1fr}.term-card{min-height:auto}.access-actions{grid-template-columns:1fr}.access-card{padding:38px 22px}.section-grid{grid-template-columns:1fr}.admin-control{align-items:flex-start;flex-direction:column}.toggle{min-width:160px}.mission-banner{align-items:flex-start;flex-direction:column;gap:18px}.mission-banner button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.access-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-action,.secondary-action{min-width:0;overflow-wrap:anywhere}@media(max-width:900px){.access-actions{grid-template-columns:minmax(0,1fr)}}
.content-wrap.is-pdf-view{max-width:none;height:100vh;padding:18px 2.4vw 20px;overflow:hidden}.notebook-heading{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:20px}.notebook-heading h1{margin:0;font-size:clamp(1.45rem,2.6vw,2.25rem);letter-spacing:-.035em}.notebook-download{flex:none;padding:9px 14px;border:1px solid #57d5df66;border-radius:10px;color:#bff9ff;background:#16334d;font-size:.82rem;font-weight:800;text-decoration:none}.notebook-download:hover{filter:brightness(1.15)}.pdf-notebook{display:grid;height:calc(100vh - 102px);min-height:480px;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;border:1px solid #6973a566;border-radius:18px;background:linear-gradient(145deg,#101632,#191f45);box-shadow:0 18px 55px #0005}.notebook-toolbar,.notebook-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:#0d122e}.notebook-toolbar>button:first-child{margin-right:auto}.notebook-toolbar>button:last-child{margin-left:auto}.notebook-toolbar button,.notebook-pagination button,.notebook-restart{min-height:38px;padding:7px 13px;border:1px solid #6973a5;border-radius:9px;color:#eef0ff;background:#242b5d;font-size:.8rem;font-weight:800;cursor:pointer}.notebook-toolbar button:hover,.notebook-pagination button:hover,.notebook-restart:hover{border-color:var(--cyan);filter:brightness(1.12)}.notebook-toolbar button:disabled,.notebook-pagination button:disabled{opacity:.38;cursor:not-allowed}.notebook-zoom{display:flex;align-items:center;gap:8px}.notebook-zoom button{width:38px;padding:0;font-size:1.25rem}.notebook-zoom output{min-width:58px;color:var(--cyan);font-size:.76rem;font-weight:850;text-align:center}.notebook-body{display:flex;min-height:0;overflow:hidden}.notebook-page-stage{display:grid;min-width:0;flex:1;overflow:auto;padding:18px;background:radial-gradient(circle at center,#2a315d,#0b0f28);place-items:center}.notebook-page{line-height:0;box-shadow:0 12px 45px #0009}.notebook-page[aria-busy="true"]{opacity:.55}.notebook-page canvas{display:block;max-width:none;background:white}.notebook-pagination{border-top:1px solid var(--line);border-bottom:0}.notebook-pagination strong{min-width:135px;color:#fff;font-size:.86rem;text-align:center}.notebook-restart{min-height:29px;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;color:#99a4d3;background:#0b0f28;font-size:.72rem;font-weight:650}.notebook-thumbnails{width:158px;flex:none;overflow-y:auto;border-right:1px solid var(--line);background:#0b1029}.thumbnail-list{display:grid;gap:12px;padding:12px}.thumbnail-list button{padding:7px;border:1px solid transparent;border-radius:9px;color:var(--muted);background:#ffffff08;font-size:.7rem;cursor:pointer}.thumbnail-list button:hover,.thumbnail-list button.is-current{border-color:var(--coral);color:white;background:#ff6f6117}.thumbnail-list canvas{display:block;width:100%;height:auto;margin-bottom:5px;background:white}.notebook-loading,.notebook-error{display:grid;grid-row:1/-1;align-content:center;justify-items:center;gap:12px;padding:40px;color:var(--muted);text-align:center}.notebook-loading span{font-size:3.5rem}.pdf-notebook:fullscreen{height:100vh;border:0;border-radius:0;background:#090b21}.pdf-notebook:fullscreen .notebook-page-stage{padding:25px}.pdf-notebook:fullscreen .notebook-restart{display:none}@media(max-width:900px){.content-wrap.is-pdf-view{height:auto;min-height:calc(100vh - 58px);padding:13px 10px 18px;overflow:visible}.notebook-heading{min-height:70px}.notebook-heading h1{font-size:1.3rem}.notebook-heading .eyebrow{font-size:.61rem}.notebook-download{padding:8px 9px;font-size:.7rem}.pdf-notebook{height:calc(100vh - 145px);min-height:590px;border-radius:12px}.notebook-toolbar{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;padding:8px}.notebook-toolbar>button:first-child,.notebook-toolbar>button:last-child{margin:0}.notebook-toolbar button{padding:6px 8px;font-size:.68rem}.notebook-toolbar>button:last-child{justify-self:stretch}.notebook-zoom{gap:3px}.notebook-zoom button{width:32px;font-size:1rem}.notebook-zoom output{min-width:42px;font-size:.64rem}.notebook-page-stage{align-items:start;padding:10px}.notebook-thumbnails{position:absolute;z-index:2;width:min(170px,48vw);height:calc(100% - 112px);box-shadow:12px 0 30px #0009}.notebook-body{position:relative}.notebook-pagination{gap:5px;padding:8px}.notebook-pagination button{flex:1;padding:8px 6px;font-size:.72rem}.notebook-pagination strong{min-width:auto;font-size:.74rem}.notebook-restart{min-height:34px}.pdf-notebook:fullscreen{min-height:100vh}.pdf-notebook:fullscreen .notebook-thumbnails{height:calc(100% - 96px)}}
.login-form{display:grid;gap:15px;margin:28px auto 0;text-align:left}.login-form label{display:grid;gap:7px;color:#cbd0ea;font-size:.8rem;font-weight:800}.login-form input{width:100%;padding:13px 15px;border:1px solid #59639a;border-radius:11px;color:white;background:#0c102c;outline:none}.login-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #57d5df20}.login-form .primary-action{margin-top:5px}.login-message{min-height:20px;margin:0;color:#ff958b;font-size:.82rem;text-align:center}
.s02-shell{display:grid;gap:18px}.s02-hero{padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(130deg,#ff6f611c,#57d5df12)}.s02-hero h1{margin:0;font-size:clamp(2rem,5vw,3.6rem)}.s02-hero>p:last-child{color:var(--muted)}.s02-card{padding:25px;border:1px solid var(--line);border-radius:19px;background:rgba(18,23,53,.94)}.s02-card h2{margin:8px 0 12px}.s02-card>p{color:var(--muted);line-height:1.6}.s02-badge{display:inline-block;padding:5px 9px;border-radius:30px;color:#ffb5ad;background:#ff6f6119;font-size:.72rem;font-weight:850}.s02-btn{margin-top:15px;padding:11px 17px;border:0;border-radius:10px;color:#10142e;background:var(--coral);font-weight:850;cursor:pointer}.s02-btn.gold{background:#ffd36b}.s02-btn:disabled{opacity:.42;cursor:not-allowed}.s02-bank{display:flex;min-height:60px;flex-wrap:wrap;gap:8px;padding:12px;border:1px dashed #6b75aa;border-radius:12px}.s02-bank button,.dropzone button{padding:8px 11px;border:1px solid #6773a8;border-radius:30px;color:white;background:#262e63;cursor:grab}.drop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.dropzone{min-height:145px;padding:13px;border:2px dashed #59659d;border-radius:14px}.dropzone h3{margin-top:0;font-size:.9rem}.port-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.port-gallery>div{position:relative;overflow:hidden;border-radius:13px;background:#080b1e}.port-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.port-gallery strong{position:absolute;left:8px;bottom:8px;padding:4px 8px;border-radius:20px;color:#10142e;background:var(--cyan)}.port-form{display:grid;gap:8px;margin-top:14px}.port-form>div{display:grid;grid-template-columns:30px 1fr 1.5fr;gap:8px;align-items:center}.port-form select,#keyboard-final{width:100%;padding:10px;border:1px solid #59659d;border-radius:9px;color:white;background:#0d1230}.s02-checks{display:grid;gap:8px}.s02-checks label,.challenge-options label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#ffffff08}.mouse-decisions{display:grid;gap:8px}.mouse-decisions>div{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px}.mouse-decisions button,.case-buttons button,.self-item button{padding:8px;border:1px solid #59659d;border-radius:8px;color:white;background:#202758;cursor:pointer}.mouse-decisions button.selected,.case-buttons button.selected,.self-item button.selected{border-color:var(--cyan);background:#17606a}.mouse-order{margin-top:15px;padding:14px;border-radius:12px;background:#0c102c}.mouse-order li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px}.mouse-order button{color:white;background:#303a78;border:0;border-radius:5px}.case-area{display:grid;gap:10px}.case-area>div{padding:14px;border:1px solid var(--line);border-radius:12px}.case-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.s02-feedback{display:none;margin-top:12px;padding:11px;border-radius:9px}.s02-feedback.ok,.s02-feedback.no{display:block}.s02-feedback.ok{color:#bff6da;background:#57d99a18}.s02-feedback.no{color:#ffc0ba;background:#ff6f6118}.s02-attempts{margin-top:10px;color:#929bc7;font-size:.78rem}.identity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.identity-grid input{padding:11px;border:1px solid #59659d;border-radius:9px;color:white;background:#0c102c}.challenge-note{padding:15px;border-left:4px solid var(--coral);background:#ff6f6112}.challenge-note small{display:block;margin-top:5px;color:var(--cyan)}.challenge-options{display:grid;gap:8px;margin-top:12px}.challenge-review h3{margin-top:22px;color:var(--cyan)}.self-grid{display:grid;gap:9px}.self-item{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px}.self-item>b{display:grid;width:28px;height:28px;border-radius:50%;background:#26306a;place-items:center}.self-summary{margin-top:15px;padding:14px;border-left:4px solid var(--cyan);background:#57d5df10}@media(max-width:900px){.s02-card{padding:17px}.drop-grid,.port-gallery{grid-template-columns:1fr}.port-gallery>div{max-width:260px;margin:auto}.port-form>div{grid-template-columns:25px 1fr}.port-form>div select:last-child{grid-column:2}.mouse-decisions>div{grid-template-columns:1fr 1fr}.mouse-decisions>div>span{grid-column:1/-1}.case-buttons{grid-template-columns:1fr}.identity-grid{grid-template-columns:1fr}.self-item{grid-template-columns:28px 1fr}.self-item>div{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}}
.instrumental-support{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#57d5df0b}.instrumental-support p:last-child{margin-bottom:0;color:var(--muted);line-height:1.7}
.s02-scenario{margin:14px 0 18px;padding:15px 17px;border-left:4px solid var(--cyan);border-radius:0 12px 12px 0;background:#57d5df10}.s02-scenario strong{color:var(--cyan);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.s02-scenario p{margin:7px 0 0;color:#d8dcf2;line-height:1.6}
.saved-challenge{margin-top:20px;padding:28px;border:1px solid #ffd36b55;border-radius:16px;background:#ffd36b0d;text-align:center}.saved-challenge>span{font-size:2.8rem}.saved-challenge h2{margin:8px 0}.saved-challenge p{color:var(--muted)}.saved-challenge>div{display:flex;justify-content:center;gap:10px}.saved-challenge .secondary{border:1px solid #6571b3;color:white;background:#242b5d}@media(max-width:600px){.saved-challenge>div{flex-direction:column}.saved-challenge .s02-btn{width:100%}}

.s04-shell{display:grid;min-width:0;max-width:100%;gap:18px}.s04-hero{min-width:0;background:linear-gradient(130deg,#9e83ff24,#57d5df12 65%,#ffd36b12)}.s04-hero h1,.s04-case strong,.s04-option{overflow-wrap:anywhere}.s04-rule{margin-top:20px;padding:14px;border-radius:13px;color:white;background:linear-gradient(135deg,var(--coral),#e95576);font-size:clamp(1rem,2vw,1.3rem);font-weight:900;text-align:center}.s04-progress{display:grid;gap:7px;margin-top:18px;color:var(--muted);font-size:.8rem;font-weight:800}.s04-progress i{height:8px;overflow:hidden;border-radius:20px;background:#ffffff12}.s04-progress b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .25s}.s04-challenge{min-width:0;transition:opacity .2s,border-color .2s}.s04-challenge.is-locked{border-color:#57d99a44}.s04-challenge>p{white-space:normal}.s04-case{min-width:0;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0c102c}.s04-case>strong{display:block;line-height:1.5}.s04-options{display:grid;min-width:0;gap:8px;margin-top:10px}.s04-option{width:100%;min-width:0;padding:11px 13px;border:1px solid #59659d;border-radius:10px;color:#eef0ff;background:#202758;text-align:left;cursor:pointer}.s04-option:hover:not(:disabled){border-color:var(--cyan);filter:brightness(1.12)}.s04-option.selected{border-color:var(--cyan);outline:2px solid #57d5df33;background:#17606a}.s04-option:disabled{cursor:not-allowed;opacity:.64}.s04-actions{display:flex;align-items:center;gap:10px}.s04-skip{margin-top:15px;padding:10px 14px;border:1px solid #6973a5;border-radius:10px;color:#cbd0ea;background:#242b5d;font-weight:750;cursor:pointer}.s04-skip:disabled{opacity:.42;cursor:not-allowed}.s04-practice{margin:16px 0;padding:16px 18px;border:1px solid #ffd36b44;border-radius:14px;background:#ffd36b0d}.s04-practice li{margin:7px 0;line-height:1.5}.s04-practice p{margin-bottom:0;color:#ffe4a0}.s04-challenge code{padding:2px 5px;border-radius:5px;background:#ffffff10}@media(max-width:600px){.s04-actions{align-items:stretch;flex-direction:column}.s04-actions .s02-btn,.s04-skip{width:100%;margin-top:8px}.s04-case{padding:12px}.s04-option{min-height:46px}}

.s03-shell{display:grid;min-width:0;max-width:100%;gap:18px}.s03-hero{min-width:0;background:linear-gradient(130deg,#57d5df1f,#9e83ff18 70%,#ffd36b10)}.s03-hero h1{overflow-wrap:anywhere}.s03-pills{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.s03-pills span{padding:6px 10px;border:1px solid #57d5df44;border-radius:30px;color:#bff9ff;background:#57d5df0d;font-size:.72rem;font-weight:800}.s03-challenge{min-width:0}.s03-challenge.is-locked{border-color:#57d99a44}.s03-trees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.s03-trees>div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0c102c}.s03-trees h3{margin:0 0 9px;color:var(--cyan)}.s03-trees pre{margin:0;overflow-x:auto;color:#d9ddf2;font:700 .83rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.s03-file-bank{display:flex;min-height:67px;flex-wrap:wrap;gap:8px;margin:12px 0;padding:12px;border:1px dashed #6973a5;border-radius:12px;background:#ffffff04}.s03-dropzones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.s03-dropzone{min-height:155px;padding:13px;border:2px dashed #59659d;border-radius:13px;background:#0c102c}.s03-dropzone h3{margin:0 0 12px;color:#dce0f6;font-size:.88rem}.s03-file-item{margin:4px;padding:8px 11px;border:1px solid #6773a8;border-radius:30px;color:white;background:#262e63;cursor:grab}.s03-file-item.selected{border-color:var(--cyan);outline:2px solid #57d5df33;background:#17606a}.s03-file-item:disabled{cursor:not-allowed;opacity:.65}.s03-touch-hint{color:var(--muted);font-size:.8rem}.s03-reset{margin-top:10px;padding:8px 12px;border:1px solid #6973a5;border-radius:9px;color:#cbd0ea;background:#242b5d;cursor:pointer}.s03-reset:disabled{opacity:.42;cursor:not-allowed}.s03-download{display:inline-block;margin:5px 0 16px;padding:11px 15px;border-radius:10px;color:#11152f;background:#ffd36b;font-weight:850;text-decoration:none}.s03-download:hover{filter:brightness(1.08)}@media(max-width:700px){.s03-trees,.s03-dropzones{grid-template-columns:1fr}.s03-dropzone{min-height:120px}.s03-download{display:block;text-align:center}}
.nav-zone{margin:4px 0 4px 25px;border-left:1px solid var(--line)}.nav-zone summary{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:9px 10px;color:#dce0f7;font-size:.8rem;cursor:pointer;list-style:none}.nav-zone summary::-webkit-details-marker{display:none}.nav-zone summary:after{grid-column:1/-1;margin-left:26px;color:#7f88b6;font-size:.65rem;content:"▸ Mostrar"}.nav-zone[open] summary:after{content:"▾ Ocultar"}.nav-zone summary small{grid-column:2;color:#858db3;font-size:.66rem}.nav-zone-content{padding:0 0 5px 8px}.nav-session-title{margin:3px 0 2px;padding:5px 10px;color:#929ac3;font-size:.7rem;font-weight:750}.nav-zone .nav-section{padding-left:22px}.nav-zone .nav-session-title.nav-item{padding-left:11px}.zone-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:32px}.zone-card{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#ffffff08}.zone-card>span{font-size:1.7rem}.zone-card strong,.zone-card small{display:block}.zone-card small{margin-top:4px;color:var(--cyan);font-size:.75rem}.zone-card.is-upcoming{opacity:.65}.zone-card.is-upcoming small{color:var(--muted)}
@media(max-width:900px){.zone-overview{grid-template-columns:1fr}}
.course-map-image{width:100%;margin:30px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.course-map-image img{display:block;width:100%;height:auto}.map-access{margin-top:42px}.map-access h2{margin:0 0 22px;font-size:clamp(1.5rem,3vw,2.2rem)}
.course-picker{display:grid;gap:6px;margin-top:16px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.course-picker select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--panel-2);font:inherit;text-transform:none}.nav-zone summary em{grid-column:2;display:inline-block;width:max-content;padding:2px 6px;border-radius:20px;color:#071726;background:var(--cyan);font-size:.58rem;font-style:normal;text-transform:uppercase}.nav-session-title small{margin-left:auto}.course-modules{grid-template-columns:repeat(3,1fr)}.admin-course{display:grid;gap:12px;margin-top:34px}.admin-course h2{margin:0 0 6px;font-size:1.5rem}.admin-course .admin-control{margin:0}

/* Jerarquia del menu: los ambitos agrupan sesiones; los retos son contenido. */
.nav-zone{margin:10px 0 8px 16px;border-left:0}
.nav-zone>summary{position:relative;grid-template-columns:30px minmax(0,1fr);gap:3px 9px;padding:12px 12px 10px;border:1px solid #57d5df38;border-radius:12px;color:#f7f8ff;background:linear-gradient(135deg,#57d5df18,#9e83ff12);box-shadow:inset 3px 0 0 var(--cyan)}
.nav-zone>summary:hover{border-color:#57d5df70;background:linear-gradient(135deg,#57d5df24,#9e83ff1c)}
.nav-zone>summary>span{grid-row:1/3;align-self:start;font-size:1.2rem}
.nav-zone>summary>strong{font-size:.86rem;font-weight:900;letter-spacing:.025em}
.nav-zone>summary:after{grid-column:2;margin:2px 0 0;color:#8fdce3;font-size:.61rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.nav-zone-content{margin:5px 0 0 15px;padding:4px 0 7px 10px;border-left:1px solid #57d5df30}
.nav-session-title{margin:5px 0 3px;padding:5px 10px;color:#9da6d0;font-size:.68rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.nav-zone .nav-section{margin:2px 0;padding:9px 10px 9px 15px;border-radius:9px;color:#e3e6f8;background:#ffffff05;font-size:.79rem}
.nav-zone .nav-section:hover{background:#ffffff0d}
.nav-zone .nav-section span:first-child{font-size:.95rem}
.zone-card{position:relative;border-color:#57d5df38;background:linear-gradient(135deg,#57d5df13,#9e83ff0d);box-shadow:inset 4px 0 0 #57d5df99}
.zone-card>div:before{display:block;margin-bottom:3px;color:var(--cyan);font-size:.58rem;font-weight:900;letter-spacing:.14em;content:"\00C1 MBITO"}
.zone-card strong{font-size:1rem;letter-spacing:.015em}
.nav-zone .nav-section.is-current{border:1px solid #ffd36b66;background:#ffd36b12;box-shadow:inset 3px 0 0 #ffd36b}
.current-badge{display:block;margin-top:3px;color:#ffd36b!important;font-size:.58rem!important;font-weight:900;letter-spacing:.1em}
@media(max-width:900px){.course-modules{grid-template-columns:1fr}}
