:root{--bg:#111213;--shell:#171819;--paper:#1e1f21;--paper2:#27282a;--line:#343638;--ink:#eeeef0;--mute:#8e9094;--lime:#c8f04d;--lime-dim:#8fb82e;--yellow:#f3e15a;--ok:#c8f04d;--bad:#ef6b5a;--peek:#f3e15a;--r:22px}*{box-sizing:border-box}body,html{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font:16px/1.5 Manrope,IBM Plex Sans,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.shell{display:grid;grid-template-columns:72px minmax(0,1fr);height:calc(100dvh - 24px);margin:12px;background:var(--shell);border-radius:28px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}.shell.guest{grid-template-columns:minmax(0,1fr)}.rail{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1.1rem .5rem;min-height:0;height:100%;background:#121314}.rail a,.rail button{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:var(--mute);background:var(--paper);overflow:hidden;border:0;padding:0;cursor:pointer;transition:background .15s,color .15s}.rail a:hover,.rail button:hover{background:var(--paper2);color:var(--ink)}.rail a.on,.rail a.on:hover{background:var(--lime);color:#171819}.rail button:hover{color:var(--bad)}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;white-space:nowrap;display:inline-block}.rail .spacer{flex:1 1}.stage{min-width:0;min-height:0;flex-direction:column;overflow:hidden;position:relative}.stage,.top{display:flex}.top{align-items:center;gap:1rem;padding:1rem 1.6rem .4rem;z-index:12}.top.glass{position:absolute;inset:0 0 auto;padding:.85rem 1.6rem;background:color-mix(in srgb,var(--shell) 22%,transparent);backdrop-filter:blur(18px) saturate(1.45);-webkit-backdrop-filter:blur(18px) saturate(1.45);border-bottom:1px solid transparent;transition:background .28s,border-color .28s,box-shadow .28s}.top.glass.on{background:color-mix(in srgb,var(--shell) 72%,transparent);border-bottom-color:rgba(255,255,255,.08);box-shadow:0 10px 28px #00000038}.top-start{display:flex;align-items:center;gap:.55rem;min-width:0}.brand{font-weight:800;letter-spacing:-.03em;font-size:1.15rem;background:var(--paper);padding:.45rem .9rem;border-radius:999px}.brand b{color:var(--lime)}.streak{display:inline-flex;align-items:center;gap:.12rem;min-height:40px;padding:0 .7rem 0 .42rem;border-radius:999px;background:var(--paper);color:#6a6b6d;text-decoration:none}.streak b{font-size:.95rem;letter-spacing:-.03em}.streak .material-symbols-outlined{font-size:22px;color:#5c5d5f}.streak.on{color:#ffd27a}.streak.on .material-symbols-outlined{color:#ff6a1a;filter:drop-shadow(0 0 7px #ff7a2888)}.top-end{margin-left:auto;display:flex;align-items:center;gap:.55rem}.ghost,.who{background:transparent;color:#fff;border:1px solid #fff;border-radius:999px;min-height:44px;cursor:pointer;font:inherit;display:inline-flex;align-items:center}.ghost{padding:.45rem .95rem}.ghost.icon{width:44px;padding:0;justify-content:center}.ghost:hover,.who:hover{background:#ffffff14}.alerts,.alerts>.ghost.icon{position:relative}.alerts-badge{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--bad);color:#fff;box-shadow:0 0 0 2px #111213;font:800 .68rem/20px Manrope,sans-serif;text-align:center;pointer-events:none}.alerts-menu{position:absolute;z-index:20;right:0;top:calc(100% + 8px);width:min(280px,70vw);padding:.5rem;border:1px solid var(--line);border-radius:12px;background:#101112;color:var(--mute);font-size:.82rem;line-height:1.45;box-shadow:0 12px 30px #0008}.alerts-list{list-style:none;margin:0;padding:0}.alerts-item{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .6rem;border-radius:8px;color:var(--ink);text-decoration:none}.alerts-item:hover{background:#ffffff10}.alerts-item b{display:block;font-size:.78rem}.alerts-item small{display:block;color:var(--mute);font-size:.75rem;margin-top:.1rem}.alerts-item .material-symbols-outlined{font-size:20px;color:var(--lime);flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only,.who{overflow:hidden}.who{padding:0 .9rem 0 0;gap:.55rem;max-width:240px}.who img,.who>.material-symbols-outlined{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 auto}.who>.material-symbols-outlined{font-size:28px;display:grid;place-items:center}.who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.who.on{background:#ffffff14}.lang{display:flex;gap:.4rem}.btn,.lang button{background:var(--paper);color:var(--ink);border:0;min-height:44px;padding:.55rem .95rem;cursor:pointer;border-radius:999px;transition:background .15s,color .15s,transform .15s}.btn.primary,.lang button.on{background:var(--lime);color:#171819;font-weight:700}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.wide{width:100%;align-self:stretch}.btn.wide:disabled{opacity:1;background:var(--paper2);color:var(--mute)}.gate{position:fixed;inset:0;z-index:35;overflow:auto;background:rgba(17,18,19,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;padding:1.5rem}.gate .card{max-width:400px;width:100%;padding:1.8rem 1.6rem 1.5rem;box-shadow:0 0 0 1px var(--line)}.gate .brand{background:none;padding:0;font-size:2.2rem}.gate-title{font-size:1.45rem;font-weight:800;letter-spacing:-.04em;text-align:center;margin:0 0 1.1rem}.gate-note{margin:0;color:var(--mute);text-align:center;line-height:1.45}.gate form{display:flex;flex-direction:column;gap:.7rem}.gate .field{padding:.7rem 1rem}.gate .checks{display:grid;grid-gap:.65rem;gap:.65rem}.gate .checks label{display:grid;grid-template-columns:auto 1fr;grid-gap:.55rem;gap:.55rem;align-items:start;color:var(--mute);font-size:.82rem;cursor:pointer}.gate .checks input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin:.12rem 0 0;border:1.5px solid #8e9094;border-radius:8px;background:transparent;cursor:pointer;flex:0 0 auto}.gate .checks input:checked{border-color:var(--lime);background:var(--lime);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23171819' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5 6.5 11.5 12.5 4.5'/%3E%3C/svg%3E");background-size:14px;background-repeat:no-repeat;background-position:50%}.gate .checks a{color:var(--lime)}.gate .bad{margin:0;font-size:.9rem}.gate .switch{background:none;border:0;color:var(--mute);cursor:pointer;margin-top:1rem;align-self:center;padding:.25rem}.gate .switch:hover{color:var(--lime)}.cookie{position:fixed;z-index:40;left:12px;right:12px;bottom:12px;max-width:720px;margin:0 auto;display:grid;grid-gap:.85rem;gap:.85rem;padding:1.1rem 1.2rem 1rem;background:var(--paper);color:var(--ink);border-radius:20px;box-shadow:0 0 0 1px var(--line),0 16px 40px #0008}.cookie-copy strong{display:block;font-size:1.05rem;letter-spacing:-.03em}.cookie-copy p{margin:.45rem 0 0;color:var(--mute);font-size:.88rem}.cookie-copy ul{list-style:none;padding:0;margin:.7rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}.cookie-copy li{display:flex;gap:.35rem;align-items:baseline;background:var(--paper2);border-radius:999px;padding:.25rem .7rem;font-size:.75rem}.cookie-copy li b{font-weight:700}.cookie-copy li span{color:var(--mute)}.cookie-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.cookie-actions a{color:var(--lime);font-size:.88rem}.cookie-actions .btn{margin-left:auto;min-height:44px}.legal{max-width:40em;margin:0 auto;padding:2rem 1.4rem 4rem;height:100%;overflow:auto}.legal .brand{display:inline-block;margin-bottom:1.2rem}.legal h1{font-size:1.8rem}.legal h2{margin:1.4rem 0 .4rem}.legal p{color:var(--mute)}.legal .mute{font-size:.85rem}.wrap{flex:1 1;min-height:0;width:100%;max-width:1180px;margin:0 auto;padding:4.8rem 1.6rem 1.8rem;overflow:auto;scrollbar-width:none}.wrap::-webkit-scrollbar{display:none}.stage:has(.land) .wrap{padding-top:0;padding-bottom:0}h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-.04em;color:var(--lime);margin:.2rem 0 1.1rem}h2{font-size:1.05rem;margin:0 0 .6rem}.land{display:flex;flex-direction:column;gap:3.2rem;padding:0 0 .5rem}.land-hero{display:grid;align-items:center;grid-gap:2.5rem;gap:2.5rem;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);padding:5.2rem 0 0}.land-copy{animation:land-in .85s cubic-bezier(.16,1,.3,1) both}.land-copy h1{color:var(--ink);max-width:11em;margin:.7rem 0 1rem;font-size:clamp(2.7rem,5vw,4rem);line-height:1}.eyebrow{display:inline-block;color:var(--lime);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow.dark{color:#171819}.hero-points{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-gap:.7rem;gap:.7rem;max-width:38em}.hero-points li{padding-left:1.15rem;color:#b3b5b8;font-size:1.02rem;background:linear-gradient(var(--lime),var(--lime)) 0 .55em /7px 7px no-repeat}.land-actions{display:flex;gap:.65rem;flex-wrap:wrap}.land-btn{display:inline-flex;align-items:center;padding:.7rem 1.1rem}.lesson-demo{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#131415;box-shadow:18px 18px 0 #0e0f10;transform:rotate(1deg);animation:demo-in .9s cubic-bezier(.16,1,.3,1) .12s both}.demo-check,.demo-top{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;font-size:.78rem}.demo-top{color:var(--mute);border-bottom:1px solid var(--line)}.demo-state{color:#171819;background:var(--yellow);border-radius:99px;padding:.18rem .55rem;font-weight:800}.demo-task{display:grid;grid-gap:.3rem;gap:.3rem;padding:1.1rem 1.2rem}.demo-task small{color:var(--lime);font-weight:700}.demo-code{margin:0 1rem;padding:1.4rem;min-height:150px;border-radius:16px;background:#090a0a;color:#e6e6e6;font:.9rem/1.75 IBM Plex Mono,monospace}.demo-code i{color:#a88bfa;font-style:normal}.demo-code em{color:var(--yellow);font-style:normal}.demo-check{margin:.8rem 1rem 1rem;border-radius:14px;background:#20251c;color:var(--lime)}.demo-check b{color:#171819;background:var(--lime);border-radius:99px;padding:.18rem .55rem}.land-section{scroll-margin-top:5.5rem}.land-h{max-width:18em;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;font-weight:800;letter-spacing:-.045em;margin:.55rem 0 .75rem}.land-lead{color:var(--mute);margin:0 0 1.5rem;max-width:42em;font-size:1.02rem}.principles{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.principle{min-height:190px;padding:1.4rem;border:1px solid transparent}.principle:first-child{grid-row:span 2;min-height:396px;background:linear-gradient(145deg,#242623,var(--paper) 62%);border-color:#343b2d}.principle:first-child .principle-no{margin-bottom:.85rem}.principle:first-child strong{max-width:12em;font-size:1.65rem}.principle-art{flex:1 1;min-height:150px;margin:0 0 1.15rem;display:flex;flex-direction:column;justify-content:space-between;padding:.9rem 1rem .85rem;border-radius:18px;background:#121314;box-shadow:0 0 0 1px #343b2d}.principle-art pre{margin:0;color:#e6e6e6;font:.82rem/1.7 IBM Plex Mono,monospace}.principle-art i{color:#a88bfa;font-style:normal}.principle-art .caret{display:inline-block;width:7px;height:1em;margin-left:1px;vertical-align:-.15em;background:var(--lime);animation:caret 1.1s steps(1) infinite}.principle-art>div{display:flex;align-items:center;gap:.55rem;margin-top:.85rem}.principle-art b{background:var(--lime);color:#171819;border-radius:99px;padding:.22rem .65rem;font-size:.72rem}.principle-art span{display:inline-flex;align-items:center;gap:.25rem;color:var(--mute);font-size:.75rem;font-weight:600}.principle-art .material-symbols-outlined{font-size:16px}@keyframes caret{50%{opacity:0}}.principle-no{width:2.2rem;height:2.2rem;display:grid;place-items:center;margin-bottom:auto;border-radius:10px;background:var(--paper2);color:var(--lime);font:700 .75rem IBM Plex Mono,monospace}.principle .mute{margin-bottom:0}.land-error{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;grid-gap:2.5rem;gap:2.5rem;padding:clamp(1.8rem,5vw,3.2rem);border-radius:30px;background:var(--paper);box-shadow:0 0 0 1px var(--line)}.land-error .land-h{margin-top:.45rem}.land-error .land-lead{margin-bottom:.9rem}.land-error .land-lead:last-child{margin-bottom:0}.land-trace{margin:0;padding:1.2rem 1.3rem;min-height:160px;border-radius:18px;background:#090a0a;color:var(--mute);font:.78rem/1.7 IBM Plex Mono,monospace;overflow:auto}.land-trace b{color:var(--bad);font-weight:800}.cycle{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden}.cycle-step{display:flex;gap:1rem;padding:1.4rem;min-height:145px;background:var(--paper)}.cycle-step:nth-child(odd){border-right:1px solid var(--line)}.cycle-step:nth-child(-n+2){border-bottom:1px solid var(--line)}.cycle-step>span{color:var(--lime);font:700 .78rem IBM Plex Mono,monospace}.cycle-step strong{display:block;font-size:1.15rem}.cycle-step p{margin:.4rem 0 0;color:var(--mute)}.outcomes{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:4rem;gap:4rem;align-items:end}.outcomes ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:.65rem;gap:.65rem}.outcomes li{display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;border-radius:16px;background:var(--paper)}.outcomes li span{color:var(--lime);font-weight:800}.land-end{padding:clamp(2rem,6vw,4rem);border-radius:30px;background:var(--yellow);color:#171819}.land-end h2{max-width:12em;font-size:clamp(2.2rem,5vw,4rem);line-height:.98;letter-spacing:-.055em;margin:.65rem 0 0}.land-end p{max-width:35em;margin:1rem 0 1.4rem}.land-end .btn{background:#171819;color:var(--ink);font-weight:700}.rise .eyebrow,.rise .land-h,.rise .land-lead{opacity:0;transform:translate3d(-18px,0,0);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}.rise .cycle-step,.rise .outcomes li,.rise .principle{opacity:0;transform:translate3d(0,22px,0);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.rise .land-trace{opacity:0;transform:translate3d(28px,0,0);transition:opacity .7s cubic-bezier(.16,1,.3,1) .08s,transform .7s cubic-bezier(.16,1,.3,1) .08s}.rise.foot,.rise.land-end{opacity:0;transform:translate3d(0,20px,0);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}.rise.foot.in,.rise.in .cycle-step,.rise.in .eyebrow,.rise.in .land-h,.rise.in .land-lead,.rise.in .land-trace,.rise.in .outcomes li,.rise.in .principle,.rise.land-end.in{opacity:1;transform:none}.rise.in .land-h{transition-delay:.05s}.rise.in .land-lead{transition-delay:.1s}.rise.in .land-lead+.land-lead{transition-delay:.16s}.rise.in .cycle-step:first-child,.rise.in .outcomes li:first-child,.rise.in .principle:first-child{transition-delay:.08s}.rise.in .cycle-step:nth-child(2),.rise.in .outcomes li:nth-child(2),.rise.in .principle:nth-child(2){transition-delay:.16s}.rise.in .cycle-step:nth-child(3),.rise.in .outcomes li:nth-child(3),.rise.in .principle:nth-child(3){transition-delay:.24s}.rise.in .cycle-step:nth-child(4),.rise.in .outcomes li:nth-child(4){transition-delay:.3s}@keyframes land-in{0%{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}@keyframes demo-in{0%{opacity:0;transform:translate3d(0,28px,0) rotate(1deg)}to{opacity:1;transform:rotate(1deg)}}.foot{margin:0 0 1.6rem;padding:clamp(2rem,5vw,3.4rem);border-radius:30px;background:var(--paper);box-shadow:0 0 0 1px var(--line)}.foot-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);grid-gap:2.5rem 4rem;gap:2.5rem 4rem;align-items:end}.foot-logo{display:block;margin:.4rem 0 .75rem;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;letter-spacing:-.055em;line-height:.95}.foot-logo b{color:var(--lime)}.foot-brand p{margin:0;max-width:22em;color:var(--mute)}.foot-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem 2.2rem;gap:1.5rem 2.2rem}.foot-nav b{display:block;margin-bottom:.85rem;color:var(--lime);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.foot-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.foot-nav a,.foot-nav button{color:var(--ink);background:none;border:0;padding:.15rem 0;font:inherit;cursor:pointer;text-align:left}.foot-nav a:hover,.foot-nav button:hover{color:var(--lime)}.foot-copy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem 1.2rem;margin:2.2rem 0 0;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--mute);font-size:.85rem;font-weight:600}.foot-soc{display:flex;gap:.45rem}.foot-soc a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:var(--paper2)}.foot-soc a:hover{color:#171819;background:var(--lime)}.foot-soc svg{width:22px;height:22px;display:block}.courses-page{padding:1.7rem 0 2.5rem}.courses-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:3rem;gap:3rem;align-items:end;margin-bottom:3rem}.courses-head h1{color:var(--ink);font-size:clamp(2.8rem,6vw,5rem);line-height:.98;margin:.65rem 0 1rem}.courses-head p{max-width:43rem;margin:0;color:var(--mute);font-size:1.05rem}.courses-stats{display:flex;gap:.65rem;margin:0}.courses-stats div{min-width:120px;padding:.9rem 1rem;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.courses-stats dt{color:var(--mute);font-size:.72rem}.courses-stats dd{margin:.15rem 0 0;font-size:1.7rem;font-weight:800}.course-categories{display:flex;gap:.55rem;overflow-x:auto;margin:-1rem 0 2.5rem;padding:.2rem 0 .55rem;scrollbar-width:none}.course-categories::-webkit-scrollbar{display:none}.course-categories button{display:flex;align-items:center;gap:.45rem;flex:0 0 auto;min-height:44px;padding:.5rem .75rem;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--mute);cursor:pointer}.course-categories button:hover{color:var(--ink);border-color:#505255}.course-categories button.on{color:#171819;border-color:var(--lime);background:var(--lime)}.course-categories .material-symbols-outlined{font-size:18px}.course-categories b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 .3rem;border-radius:99px;background:#ffffff12;font-size:.65rem}.course-categories button.on b{background:#1718191c}.courses-section-head{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}.courses-section-head h2{margin:0;font-size:1.35rem;letter-spacing:-.03em}.courses-section-head>span{min-width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:99px;background:var(--paper2);color:var(--mute);font-size:.72rem}.courses-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.course-card{display:flex;flex-direction:column;min-height:520px;padding:1.4rem;border:1px solid var(--line);border-radius:24px;background:var(--paper);transition:transform .18s,border-color .18s,background .18s}.course-card:hover{transform:translateY(-3px);border-color:#56653e;background:#222421}.course-card-top{display:flex;align-items:center;justify-content:space-between}.course-card-top>.material-symbols-outlined{color:var(--mute);transition:color .18s,transform .18s}.course-card:hover .course-card-top>.material-symbols-outlined{color:var(--lime);transform:translate(2px,-2px)}.course-status{padding:.2rem .55rem;border-radius:99px;background:#29331f;color:var(--lime);font-size:.7rem;font-weight:700}.course-art{height:190px;display:grid;place-items:center;overflow:hidden;margin-top:1rem;border-radius:18px}.console-art{background:var(--yellow)}.javascript-art{background:var(--lime)}.own-proxy-art{background:#7ad4c8}.course-window{width:82%;overflow:hidden;border-radius:14px;background:#111213;box-shadow:0 20px 45px #0004;transform:translateY(8px) rotate(-1deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.window-dots{display:flex;gap:5px;padding:.65rem .75rem;border-bottom:1px solid #2c2d2f}.window-dots i{width:6px;height:6px;border-radius:50%;background:#4c4e50}.course-window code{display:grid;grid-gap:.25rem;gap:.25rem;min-height:105px;padding:.8rem .9rem;color:#d9dadc;font:.7rem/1.55 IBM Plex Mono,monospace}.course-window code span{display:block}.course-window code b{color:#73767b;font-weight:500}.course-window code i{color:var(--lime);font-style:normal}.course-window code em{color:var(--yellow);font-style:normal}.course-window .art-reveal{opacity:0;transform:translateY(7px);transition:opacity .3s .12s,transform .35s .12s}.course-card:hover .course-window{transform:translateY(0) rotate(0)}.course-card:hover .art-reveal{opacity:1;transform:none}.course-card-copy{margin:1.45rem 0 1.2rem}.course-card-copy h3{margin:0;font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.05em;line-height:1}.course-card-copy p{margin:.55rem 0 0;color:var(--mute)}.course-progress{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:auto}.course-progress>div:first-child{display:flex;justify-content:space-between;color:var(--mute);font-size:.75rem}.course-progress b{color:var(--ink)}.course-enter{margin-top:1rem;color:var(--lime);font-size:.85rem;font-weight:700}.courses-future{margin-top:3.5rem}.lesson-outline{display:flex;flex-direction:column;overflow:hidden;padding:1rem;height:100%}.lesson-outline header{display:grid;grid-gap:.1rem;gap:.1rem;margin-bottom:.7rem}.lesson-outline header span{font-weight:700}.lesson-outline header small{color:var(--mute);font-size:.65rem}.panel-search{width:100%;height:36px;margin-top:.45rem;padding:0 .7rem;border:1px solid var(--line);border-radius:10px;background:var(--paper2);color:var(--ink);font:.82rem/1 Manrope,sans-serif}.panel-search::placeholder{color:var(--mute)}.search-empty{margin:.8rem 0;color:var(--mute);font-size:.82rem;text-align:center}.lesson-outline .course-outline{display:flex;flex-direction:column;gap:.4rem;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:none}.lesson-outline .course-outline::-webkit-scrollbar{display:none}.lesson-tools{display:grid;grid-template-columns:minmax(0,1fr) 60px;grid-template-areas:"panel rail";grid-gap:.35rem;gap:.35rem;min-width:0;min-height:0;height:100%;overflow:visible}.lesson-panel{grid-area:panel;overflow:hidden}.lesson-rail{grid-area:rail;overflow:visible}.lesson-panel>.off{display:none}.lesson-panel>:not(.off){height:100%;min-height:0}.lesson-rail{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.7rem .3rem .55rem}.lesson-rail button{position:relative;width:44px;height:44px;border:0;border-radius:14px;display:grid;place-items:center;background:var(--paper2);color:var(--mute);cursor:pointer;overflow:visible}.lesson-rail button:hover{color:var(--ink)}.lesson-rail button.on{background:var(--lime);color:#171819}.lesson-rail b{position:absolute;top:-8px;right:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--yellow);color:#111213;box-shadow:0 0 0 2px #111213;font:800 .62rem/18px Manrope,sans-serif}.lesson-empty{display:grid;place-content:center;justify-items:center;grid-gap:.55rem;gap:.55rem;height:100%;padding:1.4rem;color:var(--mute);text-align:center}.lesson-empty .material-symbols-outlined{font-size:28px}.lesson-empty p{margin:0;max-width:16em}.course-outline,.notes-list{display:flex;flex-direction:column;gap:.4rem}.course-outline section,.notes-list article{position:relative;flex:0 0 auto;background:#171819;border:1px solid var(--line);border-radius:12px;overflow:hidden}.course-outline button,.notes-list .note-head{width:100%;display:flex;align-items:center;gap:.55rem;background:none;border:0;color:inherit;cursor:pointer;height:48px;padding:0 .85rem;text-align:left}.notes-list .note-head{padding-right:.85rem}.notes-list article:has(.note-del) .note-head{padding-right:2.5rem}.course-outline button b,.notes-list .note-head b{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1;letter-spacing:-.03em}.course-outline button>span:not(.material-symbols-outlined){display:flex;align-items:center;height:20px;color:var(--mute);font:500 .78rem/1 IBM Plex Mono,monospace}.course-outline button>.material-symbols-outlined,.notes-list .note-head .material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:1;color:var(--mute);transition:transform .32s cubic-bezier(.2,.8,.2,1)}.course-outline section.open button>.material-symbols-outlined:last-child,.notes-list article.open .note-head .material-symbols-outlined{transform:rotate(180deg)}.course-outline .fold,.notes-list .fold{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .32s cubic-bezier(.2,.8,.2,1)}.course-outline .fold>*,.notes-list .fold>*{min-height:0;overflow:hidden}.course-outline section.open .fold,.notes-list article.open .fold{grid-template-rows:1fr}.course-outline ul{list-style:none;margin:0;padding:0 .55rem;display:grid;align-content:start;grid-gap:.22rem;gap:.22rem}.course-outline section.open ul{padding-bottom:.55rem}.course-outline .later,.course-outline a{display:flex;justify-content:space-between;align-items:center;gap:.55rem;min-height:40px;padding:0 .7rem;border-radius:10px;background:var(--paper2);font-size:.82rem;line-height:1.2}.course-outline a:hover{background:#2e302c}.course-outline a.now{box-shadow:inset 0 0 0 1px var(--lime)}.course-outline .later{color:var(--mute)}.course-outline i{font-style:normal;color:var(--mute);font-size:.75rem;margin-left:.4rem;font-family:IBM Plex Mono,monospace}.course-outline .material-symbols-outlined{font-size:18px;line-height:1}.future-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.future-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:120px;padding:1rem 1.1rem;border:1px solid #292b2d;border-radius:20px;background:#1a1b1c;color:var(--mute)}.future-card h3{margin:0;color:#a4a6aa;font-size:1.05rem}.future-card p{margin:.2rem 0 0;font-size:.8rem}.future-card>span{color:#4c4e50}.bento{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.me-bento{grid-template-columns:34% minmax(0,1fr);transition:grid-template-columns .48s cubic-bezier(.22,1,.36,1)}.me-bento.wide{grid-template-columns:64% minmax(0,1fr)}.me-bento.wide .ticks{grid-template-columns:repeat(2,minmax(0,1fr))}.card.me-edit{grid-template-columns:minmax(0,1fr) 32px;padding:1.15rem .15rem 1.15rem 1.2rem;overflow:hidden}.card.me-edit,.me-edit-grid{display:grid;align-items:stretch;height:100%}.me-edit-grid{grid-template-columns:minmax(0,1fr) 0fr;grid-template-rows:auto 44px minmax(0,1fr);grid-column-gap:0;column-gap:0;grid-row-gap:.35rem;row-gap:.35rem;min-width:0;min-height:0;transition:grid-template-columns .48s cubic-bezier(.22,1,.36,1),column-gap .48s cubic-bezier(.22,1,.36,1)}.me-bento.wide .me-edit-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1.1rem}.me-edit-label{margin:0;color:var(--mute);font-size:.9rem;line-height:1.2}.me-edit-bio,.me-edit-pass{gap:.55rem;min-width:0;height:100%;margin-top:.25rem}.me-edit-bio,.me-edit-pass,.me-edit-unit{display:flex;flex-direction:column;min-height:0}.me-edit-unit{gap:.35rem}.me-edit-bio,.me-edit-bio .me-edit-unit{height:100%;flex:1 1}.me-bento:not(.wide) .me-x{visibility:hidden;pointer-events:none;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden}.me-bento.wide .me-x{opacity:1;transform:none}.me-x{opacity:0;transform:translateX(12px);transition:opacity .28s ease,transform .4s cubic-bezier(.22,1,.36,1)}.field.me-about{border-radius:16px;flex:1 1;min-height:0;height:0;resize:none;line-height:1.4;overflow:auto}.me-edit .drop,.me-edit .field:not(.me-about),.me-edit .pw-field{height:44px;min-height:44px}.me-edit .drop{margin:0;padding:0 .8rem 0 .25rem}.me-edit .drop img,.me-edit .drop>.material-symbols-outlined{width:36px;height:36px;border-radius:10px}.me-edit .drop>.mute{margin:0}.me-edit .field:focus-visible,.me-edit .pw-field .field:focus-visible{outline:none}.me-edit .pw-field:focus-within{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--lime) 55%,transparent)}.me-edit .go{margin-top:auto}.pw-slot{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s ease,opacity .28s ease}.pw-slot>div{overflow:hidden;min-height:0}.pw-slot.off{grid-template-rows:0fr;opacity:0;pointer-events:none;margin-bottom:-.55rem}.interest-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.interest-tabs button{min-height:36px;padding:.3rem .8rem;border:0;border-radius:999px;background:var(--paper2);color:var(--mute);cursor:pointer}.interest-tabs button.on{background:var(--lime);color:#171819;font-weight:700}.pw-field{display:flex;align-items:center;background:var(--paper2);border-radius:999px;padding-right:.2rem}.pw-field .field{background:transparent;height:100%;min-height:0}.pw-field button{width:40px;height:40px;border:0;background:none;color:var(--mute);border-radius:50%;cursor:pointer;display:grid;place-items:center;flex:0 0 auto}.pw-field button:hover{color:var(--ink)}.me-edit-toggle{align-self:center;justify-self:center;width:32px;height:32px;border:0;padding:0;cursor:pointer;background:none;color:var(--mute);box-shadow:none;display:grid;place-items:center}.me-edit-toggle:hover{color:var(--lime)}.me-edit-toggle:focus-visible{outline:none}.bento>.stack,.bento>a{display:flex;min-height:190px}.card{background:var(--paper);border-radius:var(--r);padding:1.15rem 1.2rem;display:flex;flex-direction:column;width:100%;min-width:0}.bento>a .card:hover{background:var(--paper2)}.card.locked,.stack{opacity:1}.card strong{font-size:1.2rem;letter-spacing:-.03em}.card.heat-card{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:0 .75rem;gap:0 .75rem}.card.heat-card>strong{grid-column:1}.card.heat-card .heat-bar{grid-column:2;margin:0}.card.heat-card .heat,.card.heat-card .heat-leg{grid-column:1/-1}.card.heat-card .heat-grid{gap:4px}.card.heat-card .heat-grid i{border-radius:3px}.card .mute{margin:.45rem 0 .9rem;color:var(--mute)}.land-story .mute{margin:0;max-width:44em}.bento>a .card .mute{flex:1 1}.bar{height:6px;background:#2a2b2d;overflow:hidden}.bar,.bar>i{border-radius:99px}.bar>i{display:block;height:100%;background:var(--lime)}.go{margin-top:.85rem;align-self:flex-start}.go.wide{align-self:stretch}.stack{flex-direction:column;gap:.55rem}.stack .card{min-height:0;flex:1 1;opacity:.45;padding:.7rem 1rem}.stack .card strong{font-size:1rem}.stack .card .mute{margin:.15rem 0 0}.panel{background:var(--paper);border-radius:var(--r);padding:1.2rem}.stage:has(.lesson-layout) .wrap{display:flex;max-width:none;overflow:hidden;padding:4.6rem 1.6rem 1.6rem}.lesson-layout{display:grid;grid-template-columns:minmax(0,var(--work-size,42fr)) var(--work-gap,8px) minmax(0,var(--guide-size,32fr)) 8px minmax(0,var(--tools-size,26fr));flex:1 1;min-height:0;width:100%;grid-gap:.35rem;gap:.35rem;align-items:stretch;padding:.5rem 0 0}.lesson-resizer.off,.lesson-work.off{overflow:hidden;visibility:hidden;pointer-events:none}.lesson-guide,.lesson-panel,.lesson-rail,.lesson-work{min-height:0;height:100%;border-radius:var(--r);background:var(--paper)}.lesson-work{min-width:0;padding:1rem;display:flex;flex-direction:column}.work-head{display:flex;align-items:center;justify-content:space-between;padding:.1rem .15rem .85rem;color:var(--mute);font-size:.78rem}.work-head b{color:var(--lime);font:600 .75rem IBM Plex Mono,monospace}.lesson-work .editor{flex:1 1 auto;height:auto;min-height:0}.lesson-output{display:flex;flex-direction:column;min-height:0;margin-top:.45rem}.output-resizer{position:relative;height:14px;min-height:14px;cursor:row-resize;touch-action:none;display:grid;place-items:center}.output-resizer:before{content:"";position:absolute;inset:0 0;height:1px;top:6.5px;background:var(--line);transition:background .15s}.output-resizer:after{content:"···";position:relative;z-index:1;font:700 10px/1 IBM Plex Mono,monospace;color:var(--mute);letter-spacing:2px;background:var(--paper);padding:0 6px;transition:color .15s}.output-resizer:focus-visible:after,.output-resizer:hover:after{color:var(--lime)}.output-resizer:focus-visible:before,.output-resizer:hover:before{background:var(--lime)}.lesson-output h2{color:var(--mute);font-size:.75rem;font-weight:600}.lesson-output .term{flex:1 1;min-height:0;max-height:none;margin:0}.console-shell{display:grid;grid-template-columns:minmax(0,1fr) 10px var(--files-size,190px);flex:1 1;min-height:0}.console-work{min-height:0;margin:0}.console-work form{margin-top:.2rem}.lesson-results{list-style:none;display:grid;grid-gap:.4rem;gap:.4rem;padding:0;margin:.8rem 0 0}.lesson-results li{display:flex;gap:.55rem;align-items:flex-start;padding:.65rem .75rem;border-radius:12px;background:var(--paper2);font:.78rem/1.4 IBM Plex Mono,monospace}.lesson-results li.bad{background:#39211e;color:var(--bad)}.lesson-results li.ok{background:#29331f}.lesson-output .term .bad{color:var(--bad)}.lesson-actions{padding-top:.15rem}.lesson-reset{margin-left:auto}.lesson-guide-shell{position:relative;min-width:0;min-height:0;height:100%;container-type:inline-size}.lesson-guide-shell:after,.lesson-guide-shell:before{content:"";position:absolute;z-index:2;left:0;right:0;height:34px;pointer-events:none}.lesson-guide-shell:before{top:0;border-radius:var(--r) var(--r) 0 0;background:linear-gradient(var(--paper),transparent)}.lesson-guide-shell:after{bottom:68px;background:linear-gradient(transparent,var(--paper))}.lesson-guide{padding:1.4rem 1.4rem 6rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.lesson-guide::-webkit-scrollbar{display:none}.console-resizer,.lesson-resizer{position:relative;min-height:0;border-radius:99px;cursor:col-resize;touch-action:none}.console-resizer:after,.lesson-resizer:after{content:"";position:absolute;inset:12px 3px;border-radius:99px;background:var(--line);transition:background .15s,inset .15s}.console-resizer:focus-visible:after,.console-resizer:hover:after,.lesson-resizer:focus-visible:after,.lesson-resizer:hover:after{inset-inline:2px;background:var(--lime)}.lesson-guide>h1{color:var(--ink);margin:.55rem 0 1.8rem;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.04}.lesson-guide>section{padding:1.25rem 0;border-top:1px solid var(--line)}.lesson-guide h2{margin-bottom:.7rem;font-size:1rem}.lesson-copy{display:grid;grid-gap:.8rem;gap:.8rem;color:#c5c6c8}.lesson-copy p{margin:0;white-space:pre-line}.lesson-copy code{font:.86em/1.45 IBM Plex Mono,monospace;color:var(--yellow);background:#141415;padding:.08em .38em;border-radius:6px}.lesson-copy pre.lesson-code{margin:.15rem 0 0;padding:.85rem 1rem;overflow:auto;border-radius:12px;background:#141415;color:var(--ink);font:.82rem/1.55 IBM Plex Mono,monospace}.lesson-copy pre.lesson-code code{padding:0;background:none;color:inherit;font:inherit;border-radius:0}.lesson-code .string{color:var(--yellow)}.lesson-code .comment{color:#7a7c80}.lesson-copy strong{color:var(--ink);font-weight:700}.lesson-table{width:100%;border-collapse:collapse;border:1px solid #4a4b4f;border-radius:12px;overflow:hidden;background:#101112;font-size:.84rem}.lesson-table td,.lesson-table th{padding:.6rem .7rem;border-bottom:1px solid #3a3b3f;text-align:left;vertical-align:top}.lesson-table th{background:#252628;color:#f4f4f6;font-size:.72rem;letter-spacing:.03em;border-bottom-color:#55565a}.lesson-table tbody tr:nth-child(2n){background:#171819}.lesson-table tbody tr:last-child td{border-bottom:0}.lesson-table td:first-child{width:2.1rem;color:#c8c9cc;font:.75rem/1.45 IBM Plex Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-table td:nth-child(2),.lesson-table td:nth-child(3){font:.8rem/1.45 IBM Plex Mono,monospace;white-space:nowrap}.quiz-match{display:grid;grid-gap:.45rem;gap:.45rem}.quiz-match-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr);align-items:center;grid-gap:.45rem;gap:.45rem}.quiz-match-row>span{padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--paper2);font:.82rem/1.4 IBM Plex Mono,monospace}.quiz-match-row>i{color:var(--lime);font-style:normal;font-weight:800}.quiz-match-pick{position:relative;min-width:0}.quiz-match-menu button,.quiz-match-pick>button{width:100%;min-height:44px;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--paper2);color:var(--ink);font:.82rem/1.4 IBM Plex Mono,monospace;text-align:left;cursor:pointer}.quiz-match-pick>button{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.quiz-match-pick>button:after{content:"▾";color:var(--mute);font-size:.7rem}.quiz-match-menu button:hover:not(:disabled),.quiz-match-pick>button:hover:not(:disabled){border-color:var(--mute)}.quiz-match-menu button:disabled,.quiz-match-pick>button:disabled{cursor:default}.quiz-match-menu button:disabled,.quiz-match-pick>button.empty{color:var(--mute)}.quiz-match-menu button.selected,.quiz-match-pick>button.selected{border-color:var(--yellow);background:#353322}.quiz-match-pick>button.correct{border-color:var(--lime);background:#29331f}.quiz-match-pick>button.wrong{border-color:var(--bad);background:#39211e}.quiz-match-menu{position:fixed;z-index:40;max-height:min(22rem,calc(100vh - 24px));margin:0;padding:.35rem;overflow:auto;overscroll-behavior:contain;list-style:none;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 12px 30px #0008;display:grid;grid-gap:.3rem;gap:.3rem}@container (max-width: 420px){.quiz-match-row{grid-template-columns:1fr}.quiz-match-row>i{display:none}}.language-map{margin:.2rem 0 0;padding:.95rem 1rem 1rem;border:1px solid var(--line);border-radius:16px;background:#18191a}.language-map figcaption{margin:0 0 .75rem;color:var(--ink);font-size:.82rem;font-weight:800;letter-spacing:-.02em}.language-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.language-map article{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0;padding:.7rem .75rem;border-radius:12px;background:var(--paper2)}.language-map article strong{color:var(--ink);font-size:.88rem;line-height:1.25}.language-map article span{color:#c5c6c8;font-size:.75rem;line-height:1.4}.language-map ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.75rem 0 0;padding:0}.language-map li{display:flex;align-items:center;gap:.4rem;color:var(--ink);font-size:.75rem;font-weight:700}.language-map li:not(:last-child):after{content:"→";color:var(--lime);font-weight:800}@container (max-width: 420px){.language-map-grid{grid-template-columns:1fr}}.glossary-term{position:relative;color:var(--yellow);-webkit-text-decoration:underline dotted #f3e15a88;text-decoration:underline dotted #f3e15a88;text-underline-offset:3px;cursor:help}.glossary-term.known{color:inherit;text-decoration:underline;-webkit-text-decoration-color:#8a8c90;text-decoration-color:#8a8c90}.glossary-tip{position:fixed;z-index:40;width:min(260px,calc(100vw - 24px));padding:.7rem .8rem;border:1px solid #5a5b5f;border-radius:12px;background:#0b0c0d;color:#f4f4f6;box-shadow:0 12px 30px #000a;font-size:.75rem;line-height:1.45;pointer-events:none}.theory-quiz>p{color:#c5c6c8}.theory-quiz>div{display:grid;grid-gap:.45rem;gap:.45rem}.theory-quiz button{padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--paper2);color:var(--ink);text-align:left;cursor:pointer}.theory-quiz button:hover:not(:disabled){border-color:var(--mute)}.theory-quiz button:disabled{cursor:default}.theory-quiz button.selected{border-color:var(--yellow);background:#353322}.theory-quiz button.correct{border-color:var(--lime);background:#29331f}.theory-quiz button.wrong{border-color:var(--bad);background:#39211e}.theory-quiz>p:last-child{font-size:.82rem}.quiz-lesson{display:grid;grid-gap:1.25rem;gap:1.25rem}.quiz-lesson .theory-quiz{padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.quiz-lesson .theory-quiz:last-of-type{border-bottom:0}.quiz-lesson>.btn{justify-self:start}.quiz-lesson>p.bad,.quiz-lesson>p.ok{margin:0;font-weight:800}.lesson-task{margin:.2rem 0 1.4rem;padding:1rem!important;border:0!important;border-radius:16px;background:#292b22}.lesson-task h2{color:var(--lime)}.lesson-hints p{margin:.55rem 0 0;color:var(--mute)}.lesson-hints b{color:var(--yellow)}.lesson-solution pre{overflow:auto;padding:.8rem;border-radius:12px;background:#141415;color:var(--yellow);font:.78rem/1.5 IBM Plex Mono,monospace}.lesson-complete{position:absolute;z-index:4;inset:auto 0 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:.65rem;gap:.65rem;min-height:68px;padding:.7rem .9rem;border-top:1px solid var(--line);border-radius:0 0 var(--r) var(--r);background:var(--paper);color:var(--mute)}.lesson-complete.passed>span{color:var(--lime)}.lesson-complete.reading>span{color:var(--yellow)}.lesson-complete>span{font-size:1.15rem;font-weight:800}.lesson-complete>div{display:grid;min-width:0;line-height:1.25}.lesson-complete b{color:var(--ink);font-size:.77rem}.lesson-complete b,.lesson-complete small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-complete small{font-size:.65rem}.lesson-complete .btn{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .65rem;background:var(--lime);color:#171819;font-size:.68rem;font-weight:800;white-space:nowrap}@container (max-width: 330px){.lesson-complete small{display:none}.lesson-complete .btn{max-width:105px;overflow:hidden;text-overflow:ellipsis}}.lesson-notes{display:flex;flex-direction:column;overflow:hidden;padding:1rem;height:100%}.lesson-notes header{display:grid;grid-gap:.1rem;gap:.1rem;margin-bottom:.7rem}.lesson-notes header span{font-weight:700}.lesson-notes header small{color:var(--mute);font-size:.65rem}.notes-list{flex:1 1;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.notes-list article{min-width:0}.notes-list::-webkit-scrollbar{display:none}.notes-list .note-head>span:first-child{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border-radius:99px;background:#29331f;color:var(--lime);font-size:.62rem;font-weight:800}.notes-list .note-del{position:absolute;top:8px;right:8px;z-index:1;width:32px;height:32px;border:0;border-radius:99px;background:transparent;color:var(--mute);cursor:pointer}.notes-list .note-del:hover{color:var(--bad)}.lesson-notes textarea{width:100%;resize:vertical;border:0;outline:0;border-radius:10px;padding:.7rem;background:var(--paper2);color:var(--ink);font:.82rem/1.5 Manrope,sans-serif}.notes-list textarea{display:block;width:calc(100% - 1.1rem);max-width:calc(100% - 1.1rem);min-width:0;min-height:40px;margin:0 .55rem .55rem;resize:none;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;scrollbar-width:none}.notes-list textarea::-webkit-scrollbar{display:none}.handbook-def{width:calc(100% - 1.1rem);margin:0 .55rem .55rem;padding:.7rem;border-radius:10px;background:var(--paper2);color:var(--ink);font:.82rem/1.5 Manrope,sans-serif}.note-create{display:grid;grid-gap:.45rem;gap:.45rem;padding-top:.65rem;border-top:1px solid var(--line)}.note-create textarea{min-height:64px;max-height:120px}.note-create .btn{min-height:36px;padding-block:.4rem}.note-create>small{font-size:.67rem}.confirm-modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:rgba(17,18,19,.72)}.confirm-modal>[role=dialog]{width:min(360px,calc(100vw - 2rem));padding:1.2rem;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}.confirm-modal h2{margin:0;font-size:1.05rem}.confirm-modal p{margin:.4rem 0 1.05rem;color:var(--mute);font-size:.85rem}.confirm-modal footer{display:flex;justify-content:flex-end;gap:.45rem}.btn.danger{background:var(--bad);color:#1a0d0c;font-weight:800}.terminal-files{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:16px;background:#18191a;color:var(--mute)}.terminal-files header{display:grid;grid-gap:.1rem;gap:.1rem;padding:.75rem;border-bottom:1px solid var(--line);font-size:.68rem}.terminal-files header b{overflow:hidden;color:var(--ink);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.terminal-files button{display:flex;align-items:center;gap:.35rem;min-height:32px;width:100%;overflow:hidden;border:0;background:none;color:var(--mute);text-align:left;white-space:nowrap;cursor:pointer}.terminal-files button.selected,.terminal-files button:hover{background:var(--paper2);color:var(--ink)}.terminal-files button .material-symbols-outlined{flex:0 0 auto;font-size:16px}.file-tree{flex:1 1;overflow:auto;padding-top:.2rem}.file-create{display:grid;grid-gap:.4rem;gap:.4rem;padding:.65rem;border-top:1px solid var(--line)}.file-create small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem}.file-create input{min-width:0;width:100%;padding:.45rem .55rem;border:0;border-radius:9px;background:var(--paper2);color:var(--ink)}.file-create>div{display:flex;gap:.3rem}.file-create>div button{justify-content:center;min-height:30px;border-radius:8px;background:var(--paper2);font-size:.67rem}@media (max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 16px);margin:8px;border-radius:20px}.rail{flex-direction:row;justify-content:center;height:auto;padding:.6rem}.rail .spacer{display:none}.stage:has(.lesson-layout) .wrap{display:block;overflow:auto}.bento,.lesson-layout{grid-template-columns:1fr!important}.land{gap:2.6rem}.land-hero{grid-template-columns:1fr;gap:2.5rem;padding:5.2rem 0 0}.lesson-demo{max-width:620px;transform:none}.principles{grid-template-columns:1fr}.principle{min-height:190px}.principle:first-child{grid-row:auto;min-height:340px}.courses-head,.foot-row,.land-error,.outcomes{grid-template-columns:1fr;gap:1.5rem}.future-grid{grid-template-columns:1fr}.lesson-layout{min-height:auto}.lesson-guide,.lesson-panel,.lesson-rail,.lesson-work{height:auto}.lesson-work .editor{flex:none;height:360px;min-height:360px}.console-work{min-height:440px}.lesson-guide-shell{height:70vh}.lesson-guide{max-height:none}.lesson-notes{min-height:260px}.lesson-tools{grid-template-columns:1fr;grid-template-areas:"rail" "panel";height:auto}.lesson-rail{flex-direction:row;justify-content:center;height:auto;padding:.45rem}.lesson-panel{min-height:320px}.lesson-resizer{display:none}}@media (max-width:600px){.top,.wrap{padding-inline:1rem}.stage:has(.lesson-layout) .wrap{padding:4.6rem 1rem 1rem}.foot{margin-bottom:1rem}.land-copy h1{font-size:clamp(2.5rem,13vw,3.6rem)}.cycle{grid-template-columns:1fr}.cycle-step:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}.cycle-step:last-child{border-bottom:0}.courses-page{padding-top:1rem}.courses-head h1{font-size:clamp(2.7rem,14vw,4rem)}.courses-stats{width:100%}.courses-stats div{min-width:0;flex:1 1}.courses-grid{grid-template-columns:1fr}.course-card{min-height:300px}.console-shell{grid-template-columns:1fr}.console-resizer{display:none}.terminal-files{min-height:280px}}@media (any-pointer:coarse){.btn,.lang button{min-height:48px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.lesson-demo{transform:none}.rise,.rise .cycle-step,.rise .eyebrow,.rise .land-h,.rise .land-lead,.rise .land-trace,.rise .outcomes li,.rise .principle{opacity:1;transform:none;filter:none}}.mute{color:var(--mute)}.editor,.term{min-height:240px;border-radius:16px;background:#141415;overflow:hidden}.term{font-family:IBM Plex Mono,monospace;font-size:13px;padding:.85rem;overflow:auto}.cm-scroller,.lesson-code,.quiz-match-menu,.term{scrollbar-width:thin;scrollbar-color:#3a3b3d transparent}.cm-scroller::-webkit-scrollbar,.lesson-code::-webkit-scrollbar,.quiz-match-menu::-webkit-scrollbar,.term::-webkit-scrollbar{width:8px;height:8px}.cm-scroller::-webkit-scrollbar-track,.lesson-code::-webkit-scrollbar-track,.quiz-match-menu::-webkit-scrollbar-track,.term::-webkit-scrollbar-track{background:transparent}.cm-scroller::-webkit-scrollbar-thumb,.lesson-code::-webkit-scrollbar-thumb,.quiz-match-menu::-webkit-scrollbar-thumb,.term::-webkit-scrollbar-thumb{background:#3a3b3d;border-radius:99px;border:2px solid #141415}.cm-scroller::-webkit-scrollbar-thumb:hover,.lesson-code::-webkit-scrollbar-thumb:hover,.quiz-match-menu::-webkit-scrollbar-thumb:hover,.term::-webkit-scrollbar-thumb:hover{background:#555759}.cm-gutters{min-width:3.5ch!important}.cm-lineNumbers .cm-gutterElement{text-align:right;padding-right:.6ch!important}.term input{width:100%;background:transparent;border:0;color:var(--ink);outline:none;font:inherit}.row{display:flex;gap:.5rem;flex-wrap:wrap;margin:.85rem 0 0}.ok{color:var(--lime)}.bad{color:var(--bad)}.peek{color:var(--yellow)}.heat-bar{display:flex;justify-content:flex-end;gap:.3rem;margin-bottom:.55rem}.heat-bar button{min-height:28px;padding:.15rem .65rem;border:0;border-radius:999px;background:var(--paper2);color:var(--mute);cursor:pointer;font:700 .75rem Manrope,sans-serif}.heat-bar button.on{background:var(--lime);color:#171819}.heat{display:grid;grid-template-columns:28px 1fr;grid-template-rows:16px auto;grid-column-gap:8px;column-gap:8px;grid-row-gap:4px;row-gap:4px;width:100%;overflow:hidden}.heat-mo{grid-column:2;grid-row:1;position:relative}.heat-mo span{position:absolute;top:0;color:var(--mute);font-size:11px;white-space:nowrap}.heat-wd{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(7,1fr);color:var(--mute);font-size:10px;line-height:1}.heat-wd span{display:flex;align-items:center}.heat-grid{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(var(--weeks),minmax(0,1fr));grid-template-rows:repeat(7,auto);grid-auto-flow:column;grid-gap:3px;gap:3px}.heat-grid i{width:100%;aspect-ratio:1;border-radius:2px;background:#2a2b2d}.heat-grid i.s1{background:#2b4a18}.heat-grid i.s2{background:#5a8a22}.heat-grid i.s3{background:#c8f04d}.heat-grid i.s4{background:#f3e15a}.heat-leg{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:auto;padding-top:.85rem;color:var(--mute);font-size:11px}.heat-leg b{display:flex;gap:3px;font-weight:400}.heat-leg i{width:12px;height:12px;border-radius:3px;background:#2a2b2d}.heat-leg i.s1{background:#2b4a18}.heat-leg i.s2{background:#5a8a22}.heat-leg i.s3{background:#c8f04d}.heat-leg i.s4{background:#f3e15a}.ticks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin:.55rem 0 0}.ticks>div{background:var(--paper2);border-radius:16px;padding:.55rem .75rem}.ticks b{display:block;font-size:1.25rem;letter-spacing:-.03em;line-height:1.2}.ticks span{font-size:.78rem;color:var(--mute)}.stat-chart{margin-top:auto;padding-top:.9rem;display:flex;flex-direction:column;gap:.2rem}.stat-chart>.mute{margin:0;font-size:.72rem}.stat-chart-plot{position:relative;height:92px}.stat-chart svg{width:100%;height:92px;display:block}.stat-chart-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#c8f04d;transform:translate(-50%,-50%);pointer-events:none}.stat-chart-axis{display:flex;justify-content:space-between;padding:0 calc(10 / 280 * 100%);color:var(--mute);font-size:10px}.list{list-style:none;padding:0;margin:0;display:grid;grid-gap:.55rem;gap:.55rem}.list li{display:flex;justify-content:space-between;align-items:center;background:var(--paper2);border-radius:16px;padding:.85rem 1rem}.me-courses .mute{margin:.35rem 0 .85rem}.me-courses-empty{display:grid;place-content:center;justify-items:center;grid-gap:.4rem;gap:.4rem;min-height:8.5rem;margin-top:.35rem;padding:1.4rem 1rem;color:var(--mute);text-align:center;text-decoration:none;border-radius:16px;background:var(--paper2)}.me-courses-empty .material-symbols-outlined{font-size:36px}.me-courses-empty:hover{color:var(--ink)}.me-course-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.85rem 1rem;gap:.85rem 1rem;align-items:center}.me-course-list .bar{margin:.45rem 0 .3rem}.me-course-list .mute{margin:0;font-size:.78rem}.me-course-actions{display:flex;gap:.45rem;flex-wrap:wrap}@media (max-width:720px){.me-course-list li{grid-template-columns:1fr}}.field{border:0;color:var(--ink);border-radius:999px;padding:.5rem .9rem}.drop,.field{background:var(--paper2);width:100%}.drop{display:flex;align-items:center;gap:.75rem;align-self:stretch;cursor:pointer;border:2px dashed var(--line);border-radius:20px;padding:.55rem 1rem .55rem .55rem;margin-top:.35rem}.drop.on{border-color:var(--lime)}.drop img,.drop>.material-symbols-outlined{width:72px;height:72px;border-radius:16px;object-fit:cover;background:var(--paper);display:grid;place-items:center;flex-shrink:0}.drop>.material-symbols-outlined{font-size:28px;color:var(--mute)}.badges{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.badge{display:flex;align-items:center;gap:.5rem;background:var(--paper2);border-radius:16px;padding:.85rem 1rem;font-weight:600}.badge .material-symbols-outlined{font-size:20px;color:var(--lime)}.badge.off{opacity:.38;font-weight:500}.badge.off .material-symbols-outlined{color:var(--mute)}.admin-form{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:.7rem;gap:.7rem;align-items:center;margin:0 0 1.2rem}.admin-table-wrap{overflow:auto}.admin-users{width:100%;border-collapse:collapse}.admin-users td,.admin-users th{text-align:left;padding:.75rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}.admin-users th{color:var(--mute);font-size:.78rem;font-weight:600}.admin-users td:last-child{text-align:right;width:1%;white-space:nowrap}.admin-users .btn.danger{min-height:36px;padding:.35rem .8rem}.admin-page{display:flex;justify-content:center;flex-wrap:wrap;gap:.35rem;list-style:none;margin:1.2rem 0 0;padding:0}.admin-page .rc-pagination-item,.admin-page .rc-pagination-jump-next,.admin-page .rc-pagination-jump-prev,.admin-page .rc-pagination-next,.admin-page .rc-pagination-prev{min-width:36px;height:36px;margin:0;border:0;border-radius:10px;background:var(--paper2)}.admin-page .rc-pagination-item a,.admin-page .rc-pagination-item-link{display:grid;place-items:center;height:100%;color:var(--ink);text-decoration:none}.admin-page .rc-pagination-item-active{background:var(--lime)}.admin-page .rc-pagination-item-active a{color:#171819;font-weight:700}.admin-page .rc-pagination-disabled{opacity:.35;pointer-events:none}@media (max-width:720px){.admin-form{grid-template-columns:1fr}}