@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root{color-scheme:dark;--bg:#101014;--surface:#18181f;--surface-raised:#202029;--surface-hover:#24242e;--line:#30303b;--line-strong:#42414f;--text:#f5f3fa;--muted:#9692a5;--purple:#a970ff;--purple-light:#cba9ff;--purple-strong:#9558ed;--purple-dark:#63369d;--purple-tint:#261d35;--success:#8bd954;--success-tint:#1c2b21;--danger:#ff727f;--danger-tint:#321f28;--gold:#ffcf66;--sidebar:244px;font-family:'Nunito','Arial Rounded MT Bold','Segoe UI',sans-serif;font-size:16px;font-weight:700;line-height:1.45;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth;scrollbar-color:#45404f var(--bg)}
body{margin:0;background:var(--bg);color:var(--text)}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
button:disabled{cursor:default}
button,a{touch-action:manipulation}
button{border:0;background:none}
a{color:var(--purple-light);text-decoration:none}
a:hover{text-decoration:underline}
svg{flex-shrink:0;vertical-align:middle}
img{max-width:100%;display:block}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--purple-light);outline-offset:5px}
button[hidden],[hidden]{display:none!important}
::selection{color:#fff;background:#7544b3}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-weight:900;line-height:1.25}
small{font-size:13px}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar);padding:30px 15px 20px;border-right:2px solid var(--line);display:flex;flex-direction:column;background:var(--bg)}
.brand{display:flex;align-items:center;gap:7px;padding:3px 15px 33px;font-size:35px;letter-spacing:-1.9px;font-weight:1000;color:var(--purple);line-height:1;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand-mark{display:flex;align-items:center;justify-content:center;color:var(--purple);font-weight:1000;font-size:27px;letter-spacing:-6px;padding-right:4px}
.brand-mark svg{width:31px;height:31px}
.logo-text{letter-spacing:-1.8px}
.nav-list{display:flex;flex-direction:column;gap:9px}
.nav-item{display:flex;align-items:center;gap:17px;width:100%;min-height:58px;padding:11px 14px;border:2px solid transparent;border-radius:14px;color:#afacbc;font-size:14px;font-weight:900;letter-spacing:.8px;text-align:left;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s}
.nav-item:hover{background:var(--surface);color:var(--text);text-decoration:none}
.nav-item.active{border-color:#7851af;background:#241c32;color:#cba5ff}
.nav-icon{display:flex;align-items:center;justify-content:center;width:31px;height:32px;color:var(--purple)}
.nav-item:nth-child(2) .nav-icon{color:#59bdd8}
.nav-item:nth-child(3) .nav-icon{color:#ffbd58}
.nav-item:nth-child(4) .nav-icon{color:#d38dce}
.nav-item:nth-child(5) .nav-icon{color:#ab83db}
.nav-icon svg{width:28px;height:28px}
.sidebar-footer{margin-top:auto;padding:22px 14px 2px;color:#686574;font-size:12px;line-height:1.8}
.sidebar-footer .code-wordmark{font-size:12px;color:#777181;text-transform:uppercase;letter-spacing:1.5px}
.sidebar-course{margin:26px 10px 0;padding:15px;border:2px solid var(--line);border-radius:14px;font-size:13px;color:var(--muted)}
.sidebar-course strong{display:block;color:var(--purple-light);margin-bottom:4px}
.main-shell{margin-left:var(--sidebar);min-height:100vh;padding:0 42px 70px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:91px;width:100%;max-width:1040px;margin:0 auto 29px}
.course-picker{display:flex;align-items:center;gap:10px;color:#d8d3e2;font-size:14px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;min-height:44px;padding:0 5px;border-radius:10px;white-space:nowrap}
.course-picker>svg:first-child{width:30px;height:30px}
.course-picker>svg:last-child{width:15px;height:15px;color:#6e687b;transform:rotate(90deg)}
.top-stats{display:flex;align-items:center;gap:30px;margin-left:auto}
.stat{display:flex;align-items:center;gap:8px;color:var(--purple-light);font-size:16px;font-weight:900;white-space:nowrap}
.stat-icon{display:flex;align-items:center;justify-content:center}
.stat svg{width:27px;height:27px}
.stat.streak,.stat[data-stat="streak"]{color:#ffad47}
.stat.hearts,.stat[data-stat="hearts"]{color:#ff7185}
.stat.xp,.stat[data-stat="xp"]{color:var(--gold)}
.stat .label{font-size:12px;color:var(--muted);font-weight:800}
.content-grid{display:grid;grid-template-columns:minmax(340px,620px) 310px;align-items:start;justify-content:space-between;gap:42px;max-width:1040px;margin:0 auto}
.learning-main{min-width:0}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:0 2px}
.section-heading h1{font-size:24px;letter-spacing:-.6px}
.section-heading h2{font-size:22px}
.eyebrow{display:block;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.unit-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 22px;border-radius:14px;background:var(--purple-strong);color:#fff;box-shadow:0 4px 0 #6c3aaf;isolation:isolate}
.unit-banner .eyebrow{font-size:12px;color:#e3cfff;letter-spacing:1.1px}
.unit-banner h1,.unit-banner h2{font-size:23px;letter-spacing:-.35px}
.unit-banner p{color:#eaddff;font-size:14px;margin-top:6px;max-width:340px;font-weight:700}
.unit-guide{display:flex;align-items:center;justify-content:center;gap:8px;align-self:center;flex-shrink:0;min-height:47px;padding:0 14px;border:2px solid #d0a6ff;border-bottom-width:4px;border-radius:12px;color:#fff;font-size:12px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;background:#a466ed;transition:transform .12s,background .12s}
.unit-guide:hover{background:#b37afb}
.unit-guide:active{transform:translateY(2px);border-bottom-width:2px}
.unit-description{color:var(--muted);font-size:15px;line-height:1.6;margin:20px 4px 0}
.path-wrap{position:relative;min-height:750px;padding-top:83px;overflow:hidden}
.lesson-path{position:relative;display:flex;flex-direction:column;align-items:center;gap:32px;padding:0 20px 50px;isolation:isolate}
.path-node{position:relative;display:flex;justify-content:flex-start;align-items:center;flex-direction:column;width:90px;min-height:83px;transform:translateX(var(--offset,0px));z-index:2}
.lesson-button{position:relative;display:flex;align-items:center;justify-content:center;width:76px;height:65px;border-radius:50%;background:var(--purple);color:#f7eeff;box-shadow:0 8px 0 #6f419f;transition:transform .12s,box-shadow .12s,filter .15s;isolation:isolate}
.lesson-button::before{content:"";position:absolute;inset:6px 10px 17px;border-radius:50%;border-top:5px solid #c99aff;opacity:.8;z-index:-1}
.lesson-button svg{width:32px;height:32px;filter:drop-shadow(0 2px 0 #844cca)}
.lesson-button:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 0 #6f419f}
.lesson-button:active{transform:translateY(7px);box-shadow:0 1px 0 #6f419f}
.path-node.completed .lesson-button{background:#a970ff}
.path-node.current .lesson-button{background:#a970ff;color:#fff;width:78px;height:67px;box-shadow:0 8px 0 #70419e}
.lesson-orbit{position:absolute;top:-10px;left:50%;width:98px;height:89px;margin-left:-49px;border:7px solid #30253e;border-top-color:#c18dff;border-right-color:#c18dff;border-radius:50%;pointer-events:none;transform:rotate(-30deg)}
.path-node.current::before{content:"";position:absolute;top:-13px;left:50%;width:104px;height:95px;margin-left:-52px;border-radius:50%;border:2px solid #a970ff;opacity:0;animation:lesson-pulse 3s 1s ease-out infinite;pointer-events:none}
.path-node.current .lesson-label{color:var(--purple-light)}
.path-node.locked .lesson-button{background:#2c2a35;box-shadow:0 8px 0 #1c1b23;color:#66616f}
.path-node.locked .lesson-button::before{border-color:#393641;opacity:.65}
.path-node.locked .lesson-button svg{filter:none;width:27px;height:27px}
.path-node.locked .lesson-button:hover{filter:brightness(1.12);transform:none}
.path-node.locked .lesson-button:active{transform:translateY(6px);box-shadow:0 2px 0 #1c1b23}
.lesson-label{display:block;max-width:160px;min-width:140px;margin-top:20px;color:#aaa3b7;text-align:center;font-size:13px;font-weight:900;line-height:1.35;white-space:normal}
.start-bubble{position:absolute;bottom:calc(100% + 15px);left:50%;transform:translateX(-50%);padding:9px 17px;border:2px solid var(--purple-light);border-radius:12px;background:var(--bg);color:var(--purple-light);font-size:14px;font-weight:1000;letter-spacing:1px;white-space:nowrap;animation:bubble-bob 2.7s ease-in-out infinite}
.start-bubble::before,.start-bubble::after{content:"";position:absolute;top:100%;left:calc(50% - 9px);border:9px solid transparent;border-top-color:var(--purple-light)}
.start-bubble::after{margin-top:-3px;border-top-color:var(--bg)}
.path-decoration{position:absolute;z-index:0;pointer-events:none;opacity:1;width:147px;right:24px;top:155px}
.path-decoration img{width:100%;height:auto}
.path-decoration:nth-of-type(2){left:10px;right:auto;top:490px;width:105px;opacity:.8}
.chest-node{position:relative;display:flex;align-items:center;justify-content:center;min-height:76px;margin:0 auto;transform:translateX(var(--offset,0px));color:var(--purple);width:90px}
.chest-node>svg{width:69px;height:69px;filter:drop-shadow(0 5px 0 #653897)}
.chest-node.locked{color:#676071;filter:grayscale(1);opacity:.55}
.path-section-title{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;padding:10px 0 0;color:#77717f;font-size:14px;font-weight:900;text-align:center}
.path-section-title::before,.path-section-title::after{content:"";height:2px;flex:1;background:var(--line)}
.right-rail{display:flex;flex-direction:column;gap:20px;padding-top:0}
.rail-card{border:2px solid var(--line);border-radius:16px;padding:20px;background:transparent;overflow:hidden}
.rail-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.rail-card-header h2,.rail-card-header h3{font-size:19px;letter-spacing:-.3px}
.rail-card-header a,.rail-card-header>button{font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.75px;color:var(--purple-light);padding:2px 0}
.rail-card p{font-size:14px;color:#b0a9bc;line-height:1.55}
.rail-card .button{width:100%;margin-top:18px}
.rail-card .muted{font-size:13px}
.rail-league{display:flex;align-items:center;gap:15px;margin:5px 0 16px}
.rail-league>svg{width:57px;height:57px;padding:9px;background:#302638;border-radius:16px;overflow:visible}
.rail-league h3{font-size:17px;margin-bottom:4px}
.rail-mascot{width:120px;height:126px;object-fit:contain;margin:0 auto 5px}
.daily-progress{display:flex;align-items:center;gap:14px;margin:17px 0 2px}
.daily-progress>svg{color:var(--gold);width:42px;height:42px}
.daily-progress>div{flex:1}
.daily-progress strong{display:block;font-size:13px;margin-bottom:8px;color:#bbb3c8}
.progress-track{height:17px;overflow:hidden;position:relative;border-radius:20px;background:#30303a}
.progress-fill{height:100%;min-width:0;max-width:100%;border-radius:20px;background:var(--purple);position:relative;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.progress-fill::after{content:"";position:absolute;inset:4px 6px auto;height:5px;border-radius:6px;background:#cfabff;opacity:.7}
.progress-track.small{height:12px}
.progress-track.small .progress-fill::after{height:3px;top:3px}
.quest-row{display:flex;align-items:center;gap:13px;padding:16px 0;border-top:2px solid #292832}
.quest-row:first-of-type{border-top:0;padding-top:0}
.quest-row:last-child{padding-bottom:0}
.quest-icon{display:flex;align-items:center;justify-content:center;width:42px;height:44px;color:var(--gold);flex-shrink:0}
.quest-icon svg{width:31px;height:31px}
.quest-row>div:last-child{flex:1;min-width:0}
.quest-row strong{display:block;font-size:13px;font-weight:800;margin-bottom:7px;line-height:1.4}
.quest-row .progress-track{height:12px}
.quest-row .progress-track .progress-fill::after{height:3px;top:3px}
.quest-row small{display:block;color:var(--muted);font-size:11px;margin-top:5px;text-align:right}
.muted{color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 20px;border:2px solid var(--line-strong);border-bottom-width:4px;border-radius:12px;font-size:13px;font-weight:1000;letter-spacing:.85px;text-transform:uppercase;line-height:1.3;color:var(--text);background:var(--surface);transition:transform .12s,background .15s,box-shadow .15s;user-select:none;text-align:center}
.button:hover{background:var(--surface-hover);text-decoration:none}
.button:active{transform:translateY(2px);border-bottom-width:2px}
.button.primary{background:var(--purple);border-color:var(--purple);border-bottom-color:#684096;color:#130d1c}
.button.primary:hover{background:#b27dff;border-top-color:#b27dff;border-left-color:#b27dff;border-right-color:#b27dff}
.button.secondary{color:var(--purple-light);background:transparent;border-color:var(--line)}
.button.secondary:hover{background:var(--purple-tint);border-color:#5b4375}
.button.ghost{background:none;border:0;color:var(--muted);min-height:42px;padding:8px 12px}
.button.ghost:hover{color:var(--text);background:var(--surface)}
.button.ghost:active{margin-top:0;transform:translateY(2px)}
.button.danger{color:var(--danger);background:#2b2026;border-color:#713b46}
.button:disabled,.button[aria-disabled="true"]{background:#2d2b36;color:#716a7d;border-color:#2d2b36;border-bottom-color:#24222c;filter:none;transform:none}
.badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:26px;padding:3px 9px;border-radius:8px;background:var(--purple-tint);color:var(--purple-light);font-size:11px;font-weight:900;letter-spacing:.5px;white-space:nowrap}
.mobile-nav{display:none}
.page-view{width:100%;max-width:1040px;margin:0 auto;animation:page-enter .2s ease-out}
.page-header{margin-bottom:29px}
.page-header h1{font-size:30px;letter-spacing:-.7px;margin-bottom:9px}
.page-header p{font-size:16px;color:#aaa2b8;max-width:610px;line-height:1.7}
.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.topic-card{display:flex;flex-direction:column;align-items:flex-start;padding:25px;border:2px solid var(--line);border-bottom-width:5px;border-radius:17px;background:var(--surface);text-align:left;min-height:220px;transition:transform .15s,border-color .15s}
.topic-card:hover{border-color:#6b4a90;transform:translateY(-3px)}
.topic-card>svg{width:43px;height:43px;color:var(--purple);margin-bottom:18px}
.topic-card .topic-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--purple-tint);color:var(--purple);margin-bottom:17px}
.topic-card h2,.topic-card h3{font-size:21px;margin-bottom:8px}
.topic-card p{color:#a49cae;font-size:14px;line-height:1.65;margin-bottom:16px}
.topic-card .button{margin-top:auto}
.topic-card .badge{margin-top:auto}
.topic-card.locked{opacity:.6}
.profile-card{display:flex;gap:24px;align-items:center;padding-bottom:28px;margin-bottom:27px;border-bottom:2px solid var(--line)}
.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:91px;height:91px;border:4px solid #9d69e5;border-radius:50%;background:#302040;color:#d4b4ff;font-size:34px;font-weight:1000;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.profile-card h1{font-size:28px;letter-spacing:-.4px;margin-bottom:7px}
.profile-card p{font-size:14px;color:#a79eb4;margin-bottom:9px}
.profile-card .button{margin-left:auto}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 32px}
.metric-card{display:flex;align-items:center;gap:14px;padding:22px 18px;border:2px solid var(--line);border-radius:15px;background:var(--surface)}
.metric-card>svg{color:var(--purple);width:34px;height:34px}
.metric-card strong{font-size:23px;font-weight:1000;display:block;line-height:1.2}
.metric-card span{font-size:12px;color:var(--muted);display:block;margin-top:5px}
.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.achievement{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:25px 16px;border:2px solid var(--line);border-radius:15px;background:var(--surface)}
.achievement>svg{width:50px;height:50px;color:var(--gold);margin-bottom:5px}
.achievement h3{font-size:16px}
.achievement p{font-size:12px;color:var(--muted);line-height:1.5}
.achievement.locked{opacity:.4;filter:grayscale(1)}
.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:50px 20px;gap:16px;border:2px dashed var(--line);border-radius:18px}
.empty-state>svg{width:58px;height:58px;color:var(--purple)}
.empty-state h2{font-size:23px}
.empty-state p{color:var(--muted);max-width:460px;line-height:1.7}
.source-note{font-size:12px;line-height:1.7;color:#7e758c;padding:19px 0;margin-top:20px;border-top:1px solid var(--line)}
.source-note a{color:#a891c0}

/* Focused lesson flow */
.lesson-screen{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;animation:page-enter .2s ease-out;max-height:100dvh}
.lesson-top{display:flex;align-items:center;gap:24px;flex-shrink:0;width:min(1040px,calc(100% - 80px));min-height:115px;margin:0 auto;padding-top:9px}
.exit-lesson{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:42px;color:#77717f;border-radius:9px}
.exit-lesson:hover{color:#c4b8d1;background:var(--surface)}
.exit-lesson svg{width:25px;height:25px}
.lesson-progress{flex:1;height:18px;border-radius:22px;background:#2e2c37;overflow:hidden}
.lesson-progress .progress-fill{background:var(--purple);transition:width .35s ease}
.lesson-progress .progress-fill::after{top:4px;height:5px}
.lesson-xp{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:900;color:var(--gold);white-space:nowrap}
.lesson-xp svg{width:25px;height:25px}
.lesson-body{flex:1;min-height:0;width:100%;max-width:840px;margin:0 auto;padding:26px 40px 48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.exercise-heading{margin-bottom:30px}
.exercise-heading h1{font-size:29px;letter-spacing:-.45px;line-height:1.3}
.exercise-tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:1px;color:var(--purple-light);margin-bottom:13px}
.exercise-tag svg{width:17px;height:17px}
.exercise-prompt{font-size:29px;font-weight:900;line-height:1.35;letter-spacing:-.45px;max-width:720px}
.exercise-layout{display:flex;align-items:flex-start;gap:23px;margin-top:24px}
.lesson-mascot{width:126px;flex-shrink:0;align-self:flex-start;object-fit:contain;margin-top:3px}
.exercise-content{flex:1;min-width:0}
.exercise-content>p{font-size:17px;line-height:1.7;color:#d1cadb;margin-bottom:20px}
.exercise-content>.exercise-prompt{font-size:17px;font-weight:700;line-height:1.65;letter-spacing:0}
.code-block{position:relative;overflow:auto;margin:0 0 22px;padding:43px 22px 21px;border:2px solid var(--line);border-radius:15px;background:#191820;color:#e6dff0;box-shadow:0 3px 0 #0b0b0f;font-family:'Cascadia Code','Cascadia Mono','Consolas',monospace;font-size:15px;font-weight:500;line-height:1.9;tab-size:4;white-space:pre}
.code-block pre{margin:0;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.code-block code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.code-block pre>code{display:block;white-space:normal;overflow-wrap:normal}
.code-block .code-syntax{display:block;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;flex:1}
.code-label{position:absolute;top:10px;left:20px;color:#867a96;font-family:'Nunito','Segoe UI',sans-serif;font-size:10px;font-weight:1000;letter-spacing:1.4px;text-transform:uppercase}
.code-block>.code-label{display:flex;align-items:center;justify-content:space-between;right:20px}
.code-dots{color:#51435e;font-size:11px;letter-spacing:3px}
.code-line{display:flex;align-items:baseline;gap:18px;white-space:pre-wrap}
.line-number{display:inline-block;min-width:15px;flex-shrink:0;color:#5e566c;user-select:none;font-size:13px;text-align:right}
.code-line .keyword,.code-block .token-keyword{color:#c292ff}
.code-line .string,.code-block .token-string{color:#9ad487}
.code-line .number,.code-block .token-number{color:#e8b97e}
.code-block .token-comment{color:#81778e}
.code-input{display:inline-block;width:100%;min-height:54px;max-width:100%;padding:12px 16px;margin:0 0 15px;border:2px solid #5c427c;border-bottom-width:4px;border-radius:11px;color:#e6d1ff;background:#241b30;font-family:'Cascadia Code','Consolas',monospace;font-size:15px;font-weight:500;caret-color:var(--purple-light);resize:vertical}
.code-input::placeholder{color:#6f5c84;opacity:1}
.code-input:focus{border-color:#b17bed;outline:none;background:#2b2039}
.code-input:focus-visible{box-shadow:0 0 0 3px #a970ff22}
.code-input:disabled{color:#9f92ad;opacity:.8}
.code-syntax .code-input{display:inline-block;width:24ch;min-width:70px;max-width:100%;min-height:36px;vertical-align:baseline;padding:3px 9px;margin:2px 0;border-radius:7px;border-bottom-width:3px;font-size:inherit;line-height:1.7}
.code-gap{display:inline-block;min-width:90px;padding:0 8px;color:var(--purple-light);background:#352544;border-bottom:2px solid var(--purple);border-radius:4px;text-align:center}
.options-list{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:22px}
.answer-option{position:relative;display:flex;align-items:center;gap:15px;width:100%;padding:15px 17px;border:2px solid var(--line);border-bottom-width:4px;border-radius:13px;background:transparent;color:#e6dfee;min-height:62px;text-align:left;font-size:16px;line-height:1.5;transition:border-color .15s,background .15s,transform .1s;overflow-wrap:anywhere}
.answer-option:hover:not(:disabled){border-color:#5b4b70;background:#201b29}
.answer-option:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}
.answer-option.selected{border-color:#b27df4;background:#2b2039;color:#e6cbff}
.answer-option.selected .option-key{border-color:#b27df4;color:#d7b0ff}
.answer-option.correct{border-color:#87c955;background:var(--success-tint);color:#b5e99b}
.answer-option.wrong{border-color:#df6a7a;background:var(--danger-tint);color:#ffa7b1}
.answer-option code{font-family:'Cascadia Code','Consolas',monospace;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.option-key{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:29px;height:29px;padding:0 7px;border:2px solid #423b4e;border-radius:7px;color:#8c819d;font-size:13px;font-weight:900;line-height:1}
.match-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;margin-top:24px}
.match-column{display:grid;grid-auto-rows:1fr;gap:13px}
.match-tile{display:flex;align-items:center;justify-content:center;min-height:71px;width:100%;border:2px solid var(--line);border-bottom-width:4px;border-radius:12px;background:var(--surface);padding:13px 15px;color:#d8d1e1;font-size:15px;font-weight:800;line-height:1.4;text-align:center;transition:background .15s,border-color .15s,transform .1s;overflow-wrap:anywhere}
.match-tile:hover:not(:disabled){background:#24202c;border-color:#5e4c74}
.match-tile.selected{border-color:#b17af0;background:#2b2039;color:#debfff}
.match-tile.matched{border-color:#5c8244;background:#1c2b21;color:#8bc86d;opacity:.66;animation:matched-pop .3s ease}
.match-tile.wrong{background:var(--danger-tint);border-color:#d86273;color:#ff9fac;animation:wrong-shake .3s ease}
.match-tile code{font-family:'Cascadia Code','Consolas',monospace;font-size:13px;font-weight:600}
.match-check{display:flex;align-items:center;justify-content:center;margin-right:7px;flex-shrink:0;color:var(--success)}
.exercise-instruction{font-size:12px!important;line-height:1.65!important;margin-top:17px}
.order-answer{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:9px;min-height:145px;margin-top:24px;padding:17px 0;border-top:2px solid var(--line);border-bottom:2px solid var(--line)}
.order-answer:empty::before{content:'Собери код из блоков ниже';color:#665f72;font-size:14px;align-self:center;padding:15px 4px}
.order-bank{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px;min-height:120px;padding:30px 0 10px}
.code-tile{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 15px;border:2px solid #403848;border-bottom-width:4px;border-radius:11px;background:#201c28;color:#dfd3eb;font-family:'Cascadia Code','Consolas',monospace;font-size:13px;font-weight:500;line-height:1.65;text-align:left;white-space:pre-wrap;transition:transform .12s,border-color .12s;max-width:100%;overflow-wrap:anywhere}
.code-tile:hover:not(:disabled){border-color:#9471b5;background:#2c2237}
.code-tile:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}
.code-tile.used,.code-tile:disabled{opacity:.22;pointer-events:none}
.code-tile .option-key{min-width:22px;height:22px;font-family:'Nunito',sans-serif;font-size:10px;border-width:1px}
.code-tile code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
.order-answer .code-tile{width:100%;justify-content:space-between;text-align:left}
.order-answer .code-tile>span:last-child{color:#887599;flex-shrink:0;padding-left:8px;font-family:'Nunito',sans-serif;font-size:20px;font-weight:800;line-height:1}
.order-placeholder{font-size:13px;line-height:1.6;padding:10px 4px;align-self:center}
.order-bank .code-tile{justify-content:flex-start}
.expected-output{display:flex;flex-direction:column;gap:6px;margin-top:17px;padding:13px 15px;border-left:3px solid #4b3c5c;border-radius:0 9px 9px 0;background:#19171e;font-size:13px}
.expected-output>span{color:#9685a9;font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:900}
.expected-output code{color:#c5b6d6;font-family:'Cascadia Code','Consolas',monospace;font-size:13px;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere}
.option-status{margin-left:auto;flex-shrink:0;color:var(--success)}
.lesson-caption{text-align:center;font-size:11px;color:#61566e;letter-spacing:.3px;margin-top:31px}
.exercise-hint{display:flex;align-items:flex-start;gap:10px;margin-top:21px;padding:15px 16px;border:1px solid #4a385e;border-radius:12px;color:#b8a1ce;background:#211b2b;font-size:14px;font-weight:700;line-height:1.7}
.exercise-hint svg{margin-top:2px;color:var(--purple-light);width:19px;height:19px}
.hint-button{display:inline-flex;align-items:center;gap:7px;margin-top:24px;padding:6px 0;color:#9c88b1;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.8px;border-bottom:2px dashed #5a436f;border-radius:0}
.hint-button:hover{color:var(--purple-light)}
.hint-button svg{width:18px;height:18px}
.lesson-footer{position:relative;flex-shrink:0;width:100%;min-height:139px;margin-top:auto;padding:24px 40px;border-top:2px solid var(--line);background:var(--bg);z-index:2}
.feedback-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:960px;min-height:77px;margin:0 auto}
.feedback-inner>.button.ghost{min-width:140px;justify-content:flex-start}
.feedback-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:70px;height:70px;border-radius:50%;color:var(--success);background:#2d3e2c}
.feedback-icon svg{width:34px;height:34px}
.feedback-copy{flex:1;min-width:0}
.feedback-copy h2,.feedback-copy h3{font-size:23px;margin-bottom:5px;letter-spacing:-.3px;color:var(--success)}
.feedback-copy p{font-size:14px;line-height:1.65;max-width:660px;font-weight:700;color:#b5c5ad}
.feedback-copy code{font-family:'Cascadia Code','Consolas',monospace;font-size:13px;font-weight:500;overflow-wrap:anywhere;color:#d5e5cb}
.correct-answer{color:#e8bdc6;font-size:13px;line-height:1.6;margin:4px 0 8px}
.correct-answer b{font-weight:900;color:#ffb4c2}
.check-button{min-width:168px;min-height:52px;margin-left:auto;flex-shrink:0}
.keyboard-hint{color:#5f566a;font-size:11px;text-align:center;margin-top:10px;letter-spacing:.2px}
.lesson-footer.feedback-correct{border-color:#243727;background:var(--success-tint)}
.feedback-correct .check-button{background:var(--success);border-color:var(--success);border-bottom-color:#4c872d;color:#18300c}
.feedback-correct .check-button:hover{background:#9be268}
.lesson-footer.feedback-wrong{border-color:#482731;background:var(--danger-tint)}
.feedback-wrong .feedback-icon{background:#512c38;color:#ff7d90}
.feedback-wrong .feedback-copy h2,.feedback-wrong .feedback-copy h3{color:#ff8b9a}
.feedback-wrong .feedback-copy p{color:#dba3af}
.feedback-wrong .feedback-copy code{color:#ffd0da}
.feedback-wrong .check-button{background:#ff7c8c;border-color:#ff7c8c;border-bottom-color:#b54b61;color:#42121e}
.feedback-wrong .check-button:hover{background:#ff9aa6}
.feedback-correct .keyboard-hint,.feedback-wrong .keyboard-hint{color:#839078}
.result-screen{position:fixed;inset:0;z-index:80;overflow-y:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;background:var(--bg);text-align:center;animation:page-enter .3s ease}
.result-screen h1{font-size:34px;font-weight:1000;letter-spacing:-.6px;color:var(--gold);margin:12px 0 10px}
.result-screen>p{color:#a89cb9;max-width:470px;font-size:17px;line-height:1.7}
.result-mascot{width:180px;height:187px;object-fit:contain;animation:matched-pop .5s ease}
.result-stats{display:flex;justify-content:center;gap:15px;width:100%;max-width:600px;margin:34px auto}
.result-stat{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:8px;row-gap:0;flex:1;min-width:0;padding:0 0 17px;border:2px solid #57432e;border-radius:14px;background:var(--surface);color:#f0c573;overflow:hidden}
.result-stat>span,.result-stat>label{display:block;order:-1;flex-basis:100%;padding:9px 8px;background:#493924;color:#f5cf82;font-size:11px;font-weight:1000;letter-spacing:.7px;text-transform:uppercase;margin-bottom:15px}
.result-stat>svg{width:25px;height:25px;flex-shrink:0}
.result-stat strong{display:flex;align-items:center;justify-content:center;gap:8px;font-size:24px;line-height:1.2;font-weight:1000}
.result-stat:nth-child(2){border-color:#3b5331;color:#b4dd8d}
.result-stat:nth-child(2)>span,.result-stat:nth-child(2)>label{background:#2c4127;color:#b4dd8d}
.result-stat:nth-child(3){border-color:#533a70;color:#cba3ff}
.result-stat:nth-child(3)>span,.result-stat:nth-child(3)>label{background:#3b2b4e;color:#d7b6ff}
.result-stat strong svg{width:24px;height:24px}
.result-screen>.button{min-width:240px;min-height:53px}
.onboarding-overlay,.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;background:#08070bd9;backdrop-filter:blur(5px);animation:page-enter .2s ease}
.onboarding-card,.modal-card{position:relative;width:100%;max-width:510px;max-height:calc(100dvh - 50px);overflow:auto;padding:35px;border:2px solid #453554;border-bottom-width:5px;border-radius:23px;background:var(--surface);box-shadow:0 20px 70px #0006}
.onboarding-card{text-align:center;max-width:560px;padding:30px 40px 35px}
.onboarding-card>img{width:150px;height:157px;object-fit:contain;margin:-5px auto 10px}
.onboarding-card h1,.onboarding-card h2,.modal-card h2{font-size:27px;letter-spacing:-.6px;margin-bottom:15px}
.onboarding-card p,.modal-card p{color:#b4a9c2;font-size:15px;line-height:1.8;margin-bottom:20px}
.onboarding-card input,.modal-card input{width:100%;min-height:52px;padding:11px 15px;border:2px solid var(--line-strong);border-radius:12px;color:#eee5f9;background:var(--bg);margin-bottom:14px}
.onboarding-card input:focus,.modal-card input:focus{border-color:var(--purple);outline:0}
.onboarding-card .button{width:100%;margin-top:9px}
.onboarding-card .muted{display:block;margin-top:16px;font-size:12px}
.modal-card .exit-lesson{position:absolute;right:15px;top:12px}
.modal-card h2{padding-right:24px}
.modal-card .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}
.modal-card ul{color:#baaec8;padding-left:22px;font-size:14px;line-height:1.9}
.toast-stack{position:fixed;z-index:150;bottom:25px;left:calc(50% + var(--sidebar)/2);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;width:min(460px,calc(100% - 40px));pointer-events:none}
.toast{display:flex;align-items:center;gap:12px;width:100%;padding:15px 19px;border:2px solid #78529d;border-bottom-width:4px;border-radius:13px;background:#292031;color:#e0c9f9;box-shadow:0 7px 24px #0005;font-size:14px;line-height:1.5;animation:toast-enter .25s ease;pointer-events:auto}
.toast svg{color:var(--purple-light)}
.celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:90}
.celebration i{position:absolute;left:var(--x,50%);top:-15px;width:9px;height:15px;border-radius:2px;background:var(--color,var(--purple));animation:confetti-fall var(--duration,2.6s) var(--delay,0s) linear forwards;transform:rotate(var(--rotation,0deg))}
.streak-week{display:flex;justify-content:space-between;gap:8px;margin:23px 0}
.streak-week>div{display:flex;flex-direction:column;align-items:center;gap:10px}
.streak-week>div>span:first-child{font-size:11px;font-weight:800;color:#8d809b;text-transform:uppercase}
.day-dot{display:grid;place-items:center;width:29px;height:29px;border:2px solid #3a3244;border-radius:50%;background:#242029;font-size:13px;color:#71687e}
.day-dot.done{background:var(--purple);border-color:var(--purple);color:#fff}
.day-dot.today{outline:2px solid var(--purple-light);outline-offset:3px;color:var(--purple-light);font-weight:1000}
.day-dot.done.today{color:#fff}
.streak-week>div:has(.today)>span:first-child{color:var(--purple-light)}

@keyframes lesson-pulse{0%{transform:scale(.94);opacity:.35}65%,100%{transform:scale(1.2);opacity:0}}
@keyframes bubble-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-5px)}}
@keyframes matched-pop{0%{transform:scale(.94)}60%{transform:scale(1.035)}100%{transform:scale(1)}}
@keyframes wrong-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@keyframes page-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes toast-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes confetti-fall{to{top:110%;transform:rotate(calc(var(--rotation,0deg) + 660deg)) translateX(var(--drift,40px));opacity:.2}}

@media(min-width:1600px){.main-shell{padding-right:60px;padding-left:60px}.content-grid,.topbar,.page-view{max-width:1100px}.content-grid{grid-template-columns:minmax(400px,650px) 320px;gap:66px}.topbar{margin-bottom:35px}}
@media(max-width:1250px){:root{--sidebar:220px}.sidebar{padding-left:11px;padding-right:11px}.brand{font-size:32px;padding-left:13px}.nav-item{font-size:12px;gap:13px;padding-left:13px}.main-shell{padding-left:28px;padding-right:28px}.content-grid{grid-template-columns:minmax(330px,1fr) 280px;gap:27px}.rail-card{padding:18px}.unit-banner{padding-left:19px;padding-right:19px}.unit-banner h1,.unit-banner h2{font-size:21px}.unit-guide{padding-left:10px;padding-right:10px;font-size:11px}.top-stats{gap:24px}}
@media(max-width:1100px){.right-rail{display:none}.content-grid{display:block;max-width:620px}.topbar,.page-view{max-width:760px}.topbar{min-height:87px}.learning-main{width:100%}.main-shell{padding-left:35px;padding-right:35px}.top-stats{gap:25px}.path-decoration{right:35px}.path-wrap{min-height:810px}.lesson-top{max-width:870px;min-height:100px}.lesson-body{padding-top:20px}.exercise-prompt{font-size:27px}.cards-grid{gap:16px}.metric-card{padding:18px 12px;gap:10px}.metric-card strong{font-size:20px}.metric-card>svg{width:28px;height:28px}.page-header h1{font-size:28px}}
@media(max-width:800px) and (min-width:761px){:root{--sidebar:90px}.sidebar{padding:28px 10px}.brand{font-size:0;padding:3px 13px 30px;justify-content:center}.brand-mark{font-size:27px}.brand-mark svg{width:35px;height:35px}.nav-item{justify-content:center;padding:13px 0;font-size:0;gap:0}.nav-icon svg{width:29px;height:29px}.sidebar-footer,.sidebar-course{display:none}.main-shell{padding-right:30px;padding-left:30px}}
@media(max-width:760px){:root{--sidebar:0px}.sidebar{display:none}.main-shell{margin-left:0;padding:0 22px 105px}.topbar{position:sticky;top:0;z-index:25;min-height:74px;margin:0 -22px 22px;padding:0 22px;width:calc(100% + 44px);max-width:none;background:var(--bg);border-bottom:2px solid var(--line);gap:14px}.course-picker{gap:5px;font-size:11px;letter-spacing:.2px;padding:0}.course-picker>svg:first-child{width:25px;height:25px}.course-picker>svg:last-child{width:11px;height:11px}.top-stats{gap:18px}.stat{gap:5px;font-size:14px}.stat svg{width:23px;height:23px}.stat .label{display:none}.section-heading{margin-bottom:16px}.section-heading h1{font-size:23px}.eyebrow{font-size:11px}.unit-banner{padding:18px 18px 20px;gap:11px}.unit-banner h1,.unit-banner h2{font-size:21px}.unit-banner .eyebrow{font-size:10px;letter-spacing:.8px}.unit-banner p{font-size:12px}.unit-guide{width:46px;height:46px;padding:0;min-height:44px;border-radius:11px;font-size:0;gap:0}.unit-guide svg{width:23px;height:23px}.path-wrap{padding-top:80px;min-height:800px}.lesson-path{gap:32px;padding-left:10px;padding-right:10px}.path-decoration{right:calc(50% - 200px);width:135px;top:160px}.path-decoration:nth-of-type(2){left:calc(50% - 185px);width:105px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-around;gap:3px;min-height:78px;padding:10px 10px max(10px,env(safe-area-inset-bottom));border-top:2px solid var(--line);background:var(--bg)}
.mobile-nav .nav-item{flex:1;min-height:52px;max-width:67px;flex-direction:column;justify-content:center;gap:4px;padding:4px 2px;border-radius:12px;font-size:8px;letter-spacing:.25px;text-align:center}.mobile-nav .nav-icon{width:25px;height:25px}.mobile-nav .nav-icon svg{width:25px;height:25px}.mobile-nav .nav-item.active{background:#231a30;border-color:#6e459d}.mobile-nav .nav-item span:not(.nav-icon){line-height:1.1}.page-header{margin-top:25px;margin-bottom:24px}.page-header h1{font-size:27px}.page-header p{font-size:14px}.cards-grid{gap:14px}.topic-card{padding:20px;min-height:220px}.topic-card h2,.topic-card h3{font-size:19px}.topic-card p{font-size:13px}.topic-card .button{min-height:43px;padding:9px 12px;font-size:11px}.profile-card{gap:17px;flex-wrap:wrap}.avatar{width:76px;height:76px}.profile-card h1{font-size:25px}.profile-card .button{margin-left:0;width:100%}.metric-grid{gap:10px}.metric-card{flex-direction:column;align-items:flex-start;padding:15px 12px;gap:10px}.metric-card strong{font-size:22px}.metric-card span{font-size:10px}.achievement-grid{gap:12px}.achievement{padding:20px 10px}.achievement h3{font-size:14px}.achievement p{font-size:11px}.lesson-top{width:calc(100% - 36px);min-height:83px;padding-top:2px;gap:14px}.exit-lesson{width:27px}.lesson-progress{height:16px}.lesson-xp{font-size:14px;gap:5px}.lesson-xp svg{width:22px;height:22px}.lesson-body{padding:19px 24px 35px;max-width:650px}.exercise-heading{margin-bottom:22px}.exercise-tag{font-size:10px;margin-bottom:12px}.exercise-prompt{font-size:25px;letter-spacing:-.4px}.exercise-layout{gap:14px;margin-top:20px}.lesson-mascot{width:94px}.exercise-content>p{font-size:15px}.code-block{font-size:13px;line-height:1.9;padding:37px 14px 17px;margin-bottom:19px}.code-label{left:14px;top:9px;font-size:9px}.code-line{gap:12px}.line-number{font-size:11px}.answer-option{font-size:15px;gap:12px;min-height:59px;padding:13px 14px}.answer-option code{font-size:12px}.options-list{gap:11px;margin-top:18px}.match-grid{gap:16px;margin-top:21px}.match-column{gap:12px}.match-tile{font-size:14px;min-height:79px;padding:12px 10px}.match-tile code{font-size:11px}.lesson-footer{padding:19px 24px max(20px,env(safe-area-inset-bottom));min-height:113px}.feedback-inner{gap:16px;min-height:60px}.feedback-inner>.button.ghost{min-width:0;padding:9px 1px;font-size:11px}.feedback-icon{width:48px;height:48px}.feedback-icon svg{width:25px;height:25px}.feedback-copy h2,.feedback-copy h3{font-size:20px}.feedback-copy p{font-size:12px;line-height:1.6}.check-button{min-width:145px;min-height:48px;font-size:12px;padding:11px 18px}.keyboard-hint{display:none}.feedback-correct .feedback-inner,.feedback-wrong .feedback-inner{flex-wrap:wrap;gap:12px}.feedback-correct .feedback-copy,.feedback-wrong .feedback-copy{flex-basis:calc(100% - 65px)}.feedback-correct .check-button,.feedback-wrong .check-button{width:100%;margin-top:5px}.order-answer{min-height:125px;gap:8px}.order-bank{padding-top:23px;gap:8px}.code-tile{font-size:12px;padding:9px 11px}.exercise-hint{font-size:12px;padding:12px;margin-top:19px}.hint-button{margin-top:18px;font-size:10px}.result-screen{padding:24px}.result-screen h1{font-size:29px}.result-screen>p{font-size:15px}.result-mascot{width:160px;height:167px}.result-stats{gap:10px;margin:27px auto}.result-stat>span,.result-stat>label{font-size:9px;padding:9px 3px}.result-stat strong{font-size:21px;gap:5px}.result-stat strong svg{width:19px;height:19px}.toast-stack{bottom:95px;left:50%}.onboarding-card,.modal-card{padding:27px 24px;border-radius:19px}.onboarding-card>img{width:130px;height:136px}.onboarding-card h1,.onboarding-card h2,.modal-card h2{font-size:24px}.onboarding-card p,.modal-card p{font-size:14px}.modal-card .modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}
@media(max-width:430px){.main-shell{padding-left:17px;padding-right:17px}.topbar{margin-left:-17px;margin-right:-17px;padding:0 17px;width:calc(100% + 34px);gap:10px}.top-stats{gap:13px}.course-picker{font-size:10px;max-width:135px}.course-picker svg:last-child{display:none}.unit-banner{padding:17px 16px 19px}.unit-banner h1,.unit-banner h2{font-size:19px}.section-heading h1{font-size:21px}.section-heading .button{padding:6px 8px;font-size:10px;min-height:35px}.path-decoration{width:116px;right:calc(50% - 177px);top:173px}.path-decoration:nth-of-type(2){left:calc(50% - 165px);width:91px}.cards-grid{grid-template-columns:1fr}.topic-card{min-height:200px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-body{padding:12px 19px 28px}.lesson-top{width:calc(100% - 28px);gap:11px;min-height:75px}.exercise-prompt{font-size:23px}.exercise-layout{gap:10px}.lesson-mascot{width:69px;margin-top:10px}.code-block{font-size:12px;padding-left:11px;padding-right:11px}.code-label{left:11px}.code-line{gap:8px}.line-number{min-width:10px}.option-key{min-width:25px;height:25px;font-size:11px}.answer-option{padding:12px 13px;gap:10px;font-size:14px}.answer-option code{font-size:12px}.match-grid{gap:11px;grid-template-columns:1fr 1.15fr}.match-tile{font-size:12px;min-height:79px;padding:10px 8px}.match-tile code{font-size:10px}.match-column{gap:11px}.lesson-footer{padding-left:19px;padding-right:19px;min-height:105px}.check-button{min-width:138px}.code-tile{font-size:11px;padding:9px 10px}.result-stats{gap:8px}.result-stat strong{font-size:19px}.result-stat>span,.result-stat>label{font-size:8px;letter-spacing:.3px}.result-screen h1{font-size:27px}.onboarding-overlay,.modal-backdrop{padding:18px}.onboarding-card,.modal-card{max-height:calc(100dvh - 36px);padding:24px 21px}.onboarding-card input{font-size:15px}.toast{font-size:12px;padding:13px 14px}.metric-card{padding:13px 10px}.metric-card strong{font-size:20px}}
@media(max-height:720px) and (min-width:761px){.lesson-top{min-height:90px}.lesson-body{padding-top:12px;padding-bottom:30px}.exercise-heading{margin-bottom:18px}.exercise-prompt{font-size:27px}.lesson-footer{min-height:110px;padding-top:15px;padding-bottom:15px}.feedback-inner{min-height:66px}.result-mascot{width:142px;height:148px}.result-screen h1{font-size:29px}.result-stats{margin:24px auto}}
@media(max-width:760px){.exercise-heading h1{font-size:25px}.exercise-content>.exercise-prompt{font-size:15px}.code-block>.code-label{right:14px}.lesson-footer:not(.feedback-correct):not(.feedback-wrong) .check-button{width:100%}.feedback-correct .lesson-caption,.feedback-wrong .lesson-caption{display:none}.correct-answer{font-size:12px}.feedback-copy code{font-size:12px}.expected-output{padding:10px 12px}.expected-output code{font-size:12px}.exercise-layout:has(.match-grid) .lesson-mascot{display:none}}
@media(max-width:430px){.exercise-heading h1{font-size:23px}.exercise-layout:has(.code-block) .lesson-mascot,.exercise-layout:has(.order-answer) .lesson-mascot{display:none}.code-block>.code-label{right:11px}.code-syntax .code-input{width:20ch;min-height:33px;padding:3px 7px}.order-answer .code-tile{font-size:12px}.exercise-instruction{font-size:11px!important}.expected-output code{font-size:11px}}
@media(max-width:760px){.mobile-nav>a{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:6px;min-height:54px;max-width:68px;padding:5px 2px;border:2px solid transparent;border-radius:12px;color:#9b8fa9;font-size:9px;font-weight:900;letter-spacing:.2px;text-align:center;line-height:1.1;text-decoration:none}.mobile-nav>a:hover{background:var(--surface);text-decoration:none}.mobile-nav>a.active{background:#231a30;border-color:#704b9a;color:var(--purple-light)}.mobile-nav>a>svg{color:var(--purple);width:25px;height:25px}.mobile-nav>a:nth-child(2)>svg{color:#59bdd8}.mobile-nav>a:nth-child(3)>svg{color:#ffbd58}.mobile-nav>a:nth-child(4)>svg{color:#d38dce}.mobile-nav>a:nth-child(5)>svg{color:#ab83db}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
