/* CoddyGo: code-workshop identity, shared throughout navigation and exercises. */
:root{--bg:#0e0d13;--surface:#18151f;--surface-raised:#211b2d;--surface-hover:#282033;--line:#302938;--line-strong:#514361;--text:#f0edf7;--muted:#a39aad;--purple:#aa8af3;--purple-light:#c9b4fb;--purple-strong:#8f6fdb;--purple-dark:#5b418b;--purple-tint:#251e34;--success:#99e5c5;--success-tint:#182c27;--sidebar:238px;font-family:'Manrope','Segoe UI',sans-serif;font-weight:500;line-height:1.6}
body{background:radial-gradient(ellipse at 80% 0%,#21152f55,transparent 40rem),var(--bg)}
h1,h2,h3,h4{font-weight:750;letter-spacing:-.6px}button{font-weight:650}
.sidebar{background:#111017;border-right:1px solid var(--line);padding-top:26px}
.brand{gap:10px;padding:0 8px 35px;font-size:27px;letter-spacing:-1.2px;color:var(--text)}
.brand-mark{padding:0}.brand-mark img{width:38px;height:38px}.logo-text{letter-spacing:-1.1px;font-size:27px;font-weight:800}.logo-text>span{color:#a6e8d0}
.nav-list{gap:7px}.nav-item{position:relative;text-transform:none;letter-spacing:0;font-size:14px;font-weight:650;min-height:50px;border:0;border-radius:10px;gap:13px;padding:12px 15px}.nav-item.active{background:#292234;color:#e2d3fc;border:0}.nav-item.active::before{position:absolute;content:"";left:0;top:14px;bottom:14px;width:3px;border-radius:4px;background:#b4f1d8}.nav-icon{width:26px}.nav-icon svg{width:23px;height:23px}.nav-list .nav-icon{color:#a596b8}.nav-item.active .nav-icon{color:#d0b7ff}
.sidebar-course{border-width:1px;background:#1b1623;border-radius:12px;margin:28px 6px 0;padding:14px;font-size:11px}.sidebar-course strong{font-family:Consolas,monospace;font-weight:600;font-size:12px;letter-spacing:.3px}.sidebar-footer{padding-left:10px}.sidebar-footer .code-wordmark{text-transform:none;letter-spacing:0;color:#a297af;font-size:11px}.footer-link{font-weight:500}
.main-shell{padding-left:38px;padding-right:38px}.topbar{min-height:84px;margin-bottom:20px}.course-picker{text-transform:none;letter-spacing:0;font-weight:650;background:#1b1721;border:1px solid var(--line);padding:7px 12px;min-height:40px}.course-picker>svg:first-child{width:22px;height:22px}.top-stats{gap:12px}.stat{font-size:13px;padding:5px 10px;min-height:36px;border:1px solid var(--line);border-radius:10px;background:#17131d;gap:7px}.stat svg{height:20px;width:20px}.stat.xp{color:var(--purple-light)}.stat.xp b{font-family:Consolas,monospace;font-size:11px;font-weight:600}
.coddy-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:228px;padding:27px 25px;margin-bottom:24px;border:1px solid #4c3c65;border-radius:22px;background:linear-gradient(118deg,#30213f,#1d1829 75%)}
.coddy-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background-image:radial-gradient(#aa8af3 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-copy{max-width:72%;position:relative;z-index:2}.hero-kicker{display:flex;align-items:center;gap:8px;font:10px/1.4 Consolas,monospace;letter-spacing:1.2px;text-transform:uppercase;color:#c1f2de;margin-bottom:13px}.hero-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:#a5e8cf;box-shadow:0 0 12px #a5e8cf55}
.coddy-hero h1{font-size:31px;letter-spacing:-1px;line-height:1.16;max-width:340px}.coddy-hero p{font-size:12px;line-height:1.65;color:#c1b3d0;max-width:275px;margin:13px 0 17px}.coddy-hero .button{min-height:39px;font-size:12px;padding:8px 14px;gap:8px}.hero-art{position:absolute;right:-7px;bottom:6px;width:176px;pointer-events:none}.hero-art img{width:156px;margin-left:auto;filter:drop-shadow(0 7px 20px #0005)}.hero-terminal{font:10px Consolas,monospace;color:#b5f2da;background:#17121f;border:1px solid #5e4a7a;border-radius:8px;padding:8px 12px;transform:rotate(-7deg);position:absolute;bottom:18px;left:-8px;box-shadow:0 9px 20px #100c1850}
.level-tabs{padding:4px;background:#19151f;border:1px solid var(--line);border-radius:12px;gap:4px;margin-bottom:24px}.level-tab{border:0;border-radius:8px;background:none;font-weight:650;font-size:12px;padding:9px 5px;gap:7px}.level-tab.active{background:#382b4a;border:0;color:#e2d2ff;box-shadow:0 2px 7px #0002}.level-tab:hover{border:0;background:#241d2e}.level-tab svg{height:16px;width:16px}
.section-heading h1{font-size:23px}.section-heading h2{font-size:23px}.eyebrow{font-weight:600;font-size:10px;letter-spacing:1.4px;font-family:Consolas,monospace}.badge{border:1px solid #49365e;border-radius:8px;padding:4px 8px;font:11px/1.4 Consolas,monospace}.level-subtitle{font-size:12px}.level-overview{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(120deg,#1d1826,#18151e);box-shadow:none}.level-overview strong{font-size:13px}.level-overview p{font-size:11px}.progress-track{height:9px;background:#302735}.progress-fill{background:linear-gradient(90deg,#8b6cd5,#ba9df3)}.progress-fill::after{display:none}.progress-track.small{height:6px}
.chapter-jump{margin:22px 0 25px;font-size:11px;letter-spacing:.1px}.chapter-jump select{font-weight:550;border-width:1px;padding:12px 14px;border-radius:11px;background:#19151f}
.chapter-heading{border-top:0;border-left:2px solid #a184ce;padding:2px 0 3px 14px;margin:34px 0 22px}.chapter-heading h2{font-size:23px;line-height:1.3;margin:7px 0 5px}.chapter-heading .muted{font-size:11px}.curriculum-chapter{scroll-margin-top:22px}
.unit-banner{border:1px solid #41344e;border-radius:14px;background:#21192d!important;box-shadow:none;padding:18px 19px;gap:14px}.unit-banner .eyebrow{font-size:10px;color:#bd9bea;letter-spacing:1.3px}.unit-banner h3{font-size:18px;font-weight:700;margin:7px 0 5px}.unit-banner p{font-size:12px;font-weight:450;color:#b7a9c5;max-width:330px}.unit-guide{border:1px solid #68517e;border-radius:9px;min-height:38px;background:#30243e;text-transform:none;letter-spacing:0;font-size:11px;padding:7px 11px;font-weight:600;color:#dbcbef}.unit-guide:hover{background:#493258}.unit-guide:active{border-width:1px;transform:translateY(1px)}
.path-wrap{padding-top:53px;min-height:0!important;background-image:radial-gradient(#6c557736 .8px,transparent .8px);background-size:20px 20px;margin:10px 0 24px;border-radius:15px}.lesson-path{gap:28px;padding-bottom:28px}.lesson-path::before{content:"";position:absolute;top:20px;bottom:75px;left:50%;width:1px;background:repeating-linear-gradient(180deg,#70578b 0 5px,transparent 5px 11px);z-index:-1;opacity:.55}.path-node{min-height:108px}.lesson-button,.path-node.current .lesson-button{width:66px;height:62px;border-radius:19px;border:1px solid #bc9bf0;background:#7753a5;box-shadow:0 5px 0 #392449,0 7px 17px #100c1850}.lesson-button::before{display:none}.lesson-button svg{width:27px;height:27px;filter:none}.lesson-button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #392449,0 9px 20px #100c1860}.lesson-button:active{transform:translateY(4px);box-shadow:0 1px 0 #392449}.path-node.current .lesson-button{background:#b49ae6;color:#21162f;border-color:#d8c3fa;box-shadow:0 5px 0 #61427f,0 0 30px #ad7ee32b}.path-node.completed .lesson-button{color:#a7edd0;background:#203d33;border-color:#558b73;box-shadow:0 5px 0 #10291e}.path-node.locked .lesson-button{background:#201a29;border-color:#3c3049;box-shadow:0 4px 0 #15111c;color:#675b75}.path-node.locked .lesson-button:active{transform:translateY(3px);box-shadow:0 1px 0 #15111c}.lesson-orbit{width:80px;height:76px;top:-7px;left:50%;margin-left:-40px;border:1px dashed #ba9beb;border-radius:24px;transform:none}.path-node.current::before{display:none}.lesson-label{font-weight:600;font-size:12px;line-height:1.5;margin-top:17px;color:#afa2bf;max-width:180px}.start-bubble{font:9px/1.3 Consolas,monospace;border:1px solid #6c5485;box-shadow:none;border-radius:7px;padding:6px 9px;background:#2d213d;letter-spacing:1px}.start-bubble::after{border-top-color:#6c5485}.path-decoration{width:110px;opacity:.88;top:135px;right:3%}.chest-node{transform:translateX(var(--offset));filter:saturate(.6);width:60px;height:58px}.chest-node svg{width:48px}.path-section-title{font-family:Consolas,monospace;font-size:10px;font-weight:500;color:#7e6c91;gap:12px}.path-section-title::before,.path-section-title::after{height:1px}
.right-rail{gap:16px}.rail-card{border:1px solid var(--line);border-radius:16px;background:#17131ddd;padding:19px}.rail-card-header{margin-bottom:15px}.rail-card-header h2,.rail-card-header h3{font-size:15px;font-weight:700}.rail-card-header a,.rail-card-header>button{text-transform:none;font-size:10px;font-weight:600;letter-spacing:0}.rail-subtext{font-size:11px!important}.daily-progress>svg{height:32px;width:32px}.daily-progress strong{font-size:12px}.quest-row{font-size:11px}.quest-title{font-size:11px}.rail-card p{font-size:12px}.rail-card .rail-league h3{font-size:14px}.mascot-card{background:linear-gradient(145deg,#22182e,#17131d)}.mascot-card h3{font-size:15px}.rail-mascot{width:100px}.rail-footnote{font:10px/1.8 Consolas,monospace}
.button{border-width:1px;border-radius:10px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:650;box-shadow:0 2px 0 #09060e;min-height:45px}.button.primary{background:#b097e2;border-color:#c6b1ed;color:#20162d;box-shadow:0 3px 0 #634584}.button.primary:hover{background:#c5aff0;border-color:#d2c0f1}.button:active{border-width:1px;transform:translateY(2px)}.button.secondary{border-color:#51405f;background:#211929;color:#d3bfe8}.button.ghost{box-shadow:none}.resume-banner{border-width:1px;border-radius:12px;box-shadow:none;font-size:12px}.resume-banner strong{font-weight:650}.resume-banner small{font-size:11px}.text-link{font-weight:600}.source-note{font-size:11px}
.lesson-screen{background:radial-gradient(ellipse at 50% 15%,#25173366,transparent 50rem),var(--bg)}.lesson-top{min-height:97px;gap:20px}.lesson-progress{height:10px}.lesson-progress .progress-fill{background:linear-gradient(90deg,#906acd,#c1a7f0)}.lesson-xp{font:11px Consolas,monospace;color:var(--purple-light);gap:8px}.lesson-xp svg{width:20px;height:20px}.exercise-heading h1{font-size:28px;letter-spacing:-.7px;line-height:1.3}.exercise-difficulty{border-width:1px;font-size:10px;font-family:Consolas,monospace}.exercise-tag{font-size:11px;font-weight:600;letter-spacing:.2px}.exercise-prompt{font-weight:500}.lesson-mascot{width:104px}.answer-option,.match-tile,.order-answer,.code-tile{border-width:1px;border-radius:11px;font-weight:550;box-shadow:none}.answer-option{background:#1b1523}.answer-option.selected,.match-tile.selected{background:#352343;border-color:#b18bd7;box-shadow:0 0 0 1px #b18bd744}.match-tile.matched{background:#1e342c;border-color:#679b84;color:#b5ead2}.code-block{border:1px solid #4b365c;border-radius:14px;background:#130f1b}.code-label{font-family:Consolas,monospace;font-weight:500}.code-input{border-width:1px;border-radius:5px}.lesson-footer{border-top-width:1px;min-height:115px;background:#151019}.feedback-copy h2{font-size:20px}.feedback-copy p{font-weight:450;font-size:13px}.modal-card{border-width:1px;border-radius:20px;background:#1b1523}.modal-card h2{font-size:23px}.modal-content .lesson-brief{border-width:1px;font-weight:450;background:#130f1a;border-radius:12px}.topic-list{border-width:1px}.topic-row{border-bottom-width:1px;padding:16px}.topic-row strong{font-weight:600}.page-header h1{font-size:31px}.topic-card,.metric-card,.achievement,.shop-item{border-width:1px;border-radius:16px;background:#18131f}
@media(min-width:1600px){:root{--sidebar:246px}.coddy-hero h1{font-size:35px}.hero-art{right:10px;width:190px}.hero-art img{width:176px}}
@media(max-width:1250px){:root{--sidebar:216px}.brand{font-size:25px;gap:8px;padding-left:4px}.logo-text{font-size:25px}.brand-mark img{width:34px;height:34px}.main-shell{padding-right:27px;padding-left:27px}.coddy-hero{padding:24px 20px}.coddy-hero h1{font-size:28px}.hero-art{width:154px;right:-15px}.hero-art img{width:142px}.hero-copy{max-width:76%}}
@media(max-width:1100px){.right-rail{display:none}.content-grid{max-width:680px}.hero-art{right:12px;width:180px}.hero-art img{width:165px}.coddy-hero h1{font-size:33px}.hero-copy{max-width:72%}}
@media(max-width:800px) and (min-width:761px){:root{--sidebar:84px}.logo-text{display:none}.brand{justify-content:center;padding-left:0;padding-right:0}.brand-mark img{width:38px;height:38px}.nav-item{font-size:0;padding:12px 0;justify-content:center}.nav-icon{margin:0}.sidebar-course{display:none}}
@media(max-width:760px){:root{--sidebar:0px}.main-shell{padding:0 20px 105px}.topbar{margin:0 -20px 20px;padding:0 20px;width:calc(100% + 40px);background:#111017ef;backdrop-filter:blur(14px);border-bottom-width:1px;min-height:70px}.top-stats{gap:7px}.stat{font-size:11px;padding:5px 8px;gap:5px}.stat svg{height:17px;width:17px}.stat.xp{display:none}.course-picker{font-size:11px;padding:6px 8px;gap:6px}.course-picker>svg:first-child{width:20px;height:20px}.coddy-hero{min-height:219px;padding:23px 21px;margin-bottom:20px}.coddy-hero h1{font-size:30px}.hero-copy{max-width:70%}.hero-art{width:160px;right:-9px;bottom:9px}.hero-art img{width:146px}.hero-terminal{font-size:9px;bottom:15px;left:2px}.coddy-hero p{max-width:235px;font-size:11px}.level-tab{font-size:11px}.unit-banner{padding:17px}.unit-guide{width:38px;min-height:38px}.unit-guide span{display:none}.unit-guide svg{height:19px;width:19px}.unit-banner h3{font-size:17px}.unit-banner p{font-size:11px}.chapter-heading h2{font-size:22px}.path-wrap{padding-top:50px}.path-decoration{top:135px;right:calc(50% - 178px);width:103px}.mobile-nav{border-top-width:1px;background:#111017ef;backdrop-filter:blur(14px);min-height:73px}.mobile-nav>a{font-weight:550;font-size:9px;border:0}.mobile-nav>a.active{background:#292133;border:0;color:#d9c1f4}.mobile-nav>a>svg{height:21px;width:21px}.mobile-nav>a.active::after{content:"";width:14px;height:2px;background:#a9e4ce;border-radius:2px}.exercise-heading h1{font-size:24px}.lesson-top{min-height:78px}.lesson-footer{min-height:99px;padding-top:16px;padding-bottom:16px}.lesson-mascot{width:80px}.button{min-height:43px}.answer-option{font-size:13px}.feedback-copy p{font-size:12px}}
@media(max-width:430px){.main-shell{padding-left:16px;padding-right:16px}.topbar{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;width:calc(100% + 32px)}.coddy-hero{min-height:220px;padding:23px 18px}.coddy-hero h1{font-size:27px}.hero-copy{max-width:75%}.coddy-hero p{max-width:195px;font-size:10px}.hero-art{right:-26px;bottom:19px;width:142px;opacity:.93}.hero-art img{width:132px}.hero-terminal{font-size:8px;padding:7px 9px;left:1px;bottom:10px}.hero-kicker{font-size:8px;letter-spacing:.8px}.coddy-hero .button{font-size:11px}.level-tab{font-size:10px;gap:4px}.level-tab svg{height:13px;width:13px}.chapter-heading h2{font-size:21px}.section-heading h2{font-size:21px}.lesson-label{font-size:11px}.exercise-heading h1{font-size:22px}.lesson-xp{font-size:10px}.lesson-mascot{width:68px}.unit-banner h3{font-size:16px}}
.button:disabled,.button[aria-disabled="true"]{background:#302837;border-color:#3c3247;color:#8c7e9c;box-shadow:none;filter:none;opacity:.7;cursor:not-allowed}
@media(max-width:760px){.code-syntax .code-input{font-size:16px}}
