@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc6c75d91fb27f62-s.3j-lqo2q-puhp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ed5f1f9bced69653-s.p.2li_3lqay9qjq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/574e5b2a8fe8e45b-s.061jvc6_x84nn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/89ea96820aa96980-s.p.0hs6q6udzld4a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Fallback;src:local(Arial);ascent-override:95.6%;descent-override:29.18%;line-gap-override:0.0%;size-adjust:99.37%}.atkinson_hyperlegible_dfcdd788-module__fJGmlq__className{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback;font-style:normal}.atkinson_hyperlegible_dfcdd788-module__fJGmlq__variable{--font-body:"Atkinson Hyperlegible", "Atkinson Hyperlegible Fallback"}
@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_68297480-module__ZgFQTW__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_68297480-module__ZgFQTW__variable{--font-display:"Nunito", "Nunito Fallback"}
:root{--ink:#162b45;--muted:#627184;--cream:#f7f4ec;--paper:#fffdf8;--line:#dcd9cf;--coral:#b9442c;--yellow:#f2c94c;--green:#0b6f60;--purple:#5146b8;--shadow:0 12px 0 #162b4514,0 20px 45px #162b451c}[data-theme=dark]{--ink:#edf3fa;--muted:#aebdcd;--cream:#0c1622;--paper:#142131;--line:#354458;--coral:#f07a5e;--yellow:#f2c94c;--green:#55c7a9;--purple:#9b91f2;--shadow:0 12px 0 #00000038,0 20px 45px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;margin:0}button,a{font:inherit}button{color:inherit}.app-shell{min-height:100vh;overflow:hidden}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#f7f4ecf0;border-bottom:1px solid #162b451a;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50vw - 560px);display:flex;position:sticky;top:0}.brand{color:var(--ink);font-family:var(--font-display),sans-serif;letter-spacing:.08em;align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.brand b{color:var(--coral)}.brand-mark{background:var(--ink);border-radius:13px;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.stats{font-family:var(--font-display),sans-serif;align-items:center;gap:22px;font-weight:900;display:flex}.stats>span{align-items:center;gap:5px;display:flex}.stats>span:first-child svg{color:var(--coral)}.stats>span:nth-child(2) svg{color:#e3ac20}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.icon-button:hover{background:#162b4514}.icon-button svg{width:24px;height:24px}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;max-width:1120px;min-height:620px;margin:auto;padding:70px 24px 80px;display:grid}.hero-copy{max-width:620px}.eyebrow{font-family:var(--font-display),sans-serif;letter-spacing:.16em;color:var(--coral);margin-bottom:14px;font-size:13px;font-weight:900;display:block}.hero h1,.lesson-card h1,.completion h1{font-family:var(--font-display),sans-serif;letter-spacing:-.045em;margin:0 0 24px;font-size:clamp(48px,6vw,76px);line-height:.98}.hero-copy>p{color:var(--muted);max-width:590px;font-size:21px;line-height:1.55}.primary-button,.check-button,.secondary-button{min-height:56px;font-family:var(--font-display),sans-serif;cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:24px;padding:0 24px;font-size:17px;font-weight:900;transition:transform .15s,box-shadow .15s;display:inline-flex}.primary-button{background:var(--coral);color:#fff;box-shadow:0 5px #8e2d1c}.primary-button:hover{transform:translateY(-2px);box-shadow:0 7px #8e2d1c}.primary-button:active{transform:translateY(3px);box-shadow:0 2px #8e2d1c}.hero-copy>.primary-button{margin-top:15px}.hero-copy>small{color:var(--muted);margin-top:17px;display:block}.hero-art{place-items:center;height:470px;display:grid;position:relative}.hero-art:before{content:"";background:#f0dcae;border-radius:50%;width:390px;height:390px;position:absolute}.hero-art:after{content:"";filter:blur(8px);background:#162b451c;border-radius:50%;width:310px;height:30px;position:absolute;bottom:24px}.hero-art>.byte-mascot{z-index:2;transform:scale(1.55)}.speech-bubble{background:var(--paper);border:3px solid var(--ink);font-family:var(--font-display);z-index:3;border-radius:22px 22px 22px 4px;padding:13px 18px;font-weight:900;position:absolute;top:35px;right:5px;transform:rotate(3deg);box-shadow:5px 5px #162b451f}.floating-part{z-index:4;background:var(--paper);border:3px solid var(--ink);width:68px;height:68px;font-family:var(--font-display);border-radius:18px;place-items:center;font-weight:900;display:grid;position:absolute;box-shadow:6px 7px #162b4521}.fp-cpu{top:80px;left:4px;transform:rotate(-9deg)}.fp-ram{bottom:65px;right:25px;transform:rotate(7deg)}.fp-drive{bottom:45px;left:25px;transform:rotate(5deg)}.journey{background:var(--paper);border-top:1px solid var(--line);padding:80px 24px}.journey-heading{justify-content:space-between;align-items:flex-end;gap:30px;max-width:940px;margin:0 auto 65px;display:flex}.journey h2{font:900 clamp(35px,4vw,50px)/1.05 var(--font-display);margin:0}.overall-progress{width:240px;color:var(--muted);font-size:15px}.overall-progress span{margin-bottom:8px;display:block}.progress-track,.lesson-progress{background:#e8e4db;border-radius:99px;height:10px;overflow:hidden}.progress-track i,.lesson-progress i{background:var(--coral);border-radius:99px;height:100%;transition:width .4s;display:block}.path{max-width:780px;margin:auto}.unit{--unit-colour:var(--coral);margin-bottom:80px}.unit-card{background:var(--unit-colour);color:#fff;box-shadow:0 8px 0 color-mix(in srgb,var(--unit-colour) 75%,#000);z-index:2;border-radius:24px;padding:28px 32px;position:relative}.unit-number{font:900 12px var(--font-display);letter-spacing:.14em;opacity:.8}.unit-card h3{font:900 30px/1.1 var(--font-display);margin:6px 0}.unit-card p{opacity:.9;margin:0;font-size:17px}.mission-path{padding:34px 15px 0;position:relative}.mission-path:before{content:"";background:#e4e1d9;border-radius:5px;width:5px;position:absolute;top:0;bottom:25px;left:50%;transform:translate(-50%)}.mission-node{align-items:center;width:50%;min-height:120px;display:flex;position:relative}.node-left{text-align:right;justify-content:flex-end;padding-right:55px}.node-right{margin-left:50%;padding-left:55px}.mission-button{border:5px solid var(--paper);color:#7e8790;width:62px;height:62px;font:900 19px var(--font-display);cursor:pointer;z-index:2;background:#d9d8d3;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 5px #bbbcb9}.mission-button:not(:disabled):hover{transform:translateY(-2px)}.node-left .mission-button{right:-31px}.node-right .mission-button{left:-31px}.mission-button.current{background:var(--unit-colour);color:#fff;box-shadow:0 6px 0 color-mix(in srgb,var(--unit-colour) 67%,#000);animation:2s infinite currentPulse}.mission-button.complete{background:var(--green);color:#fff;box-shadow:0 5px #0c6959}.mission-button svg{width:25px;height:25px}.mission-label{flex-direction:column;max-width:250px;display:flex}.mission-label b{font:900 18px var(--font-display)}.mission-label span{color:var(--muted);margin-top:4px;line-height:1.3}.mission-button:disabled+.mission-label{opacity:1}.mission-button:disabled+.mission-label b,.mission-button:disabled+.mission-label span{color:#526173}@keyframes currentPulse{50%{box-shadow:0 6px 0 color-mix(in srgb,var(--unit-colour) 67%,#000),0 0 0 10px color-mix(in srgb,var(--unit-colour) 15%,transparent)}}footer{background:var(--ink);color:#fff;justify-content:center;align-items:center;gap:18px;height:140px;display:flex}footer p{opacity:.75}.loading{min-height:100vh;font:800 18px var(--font-display);place-content:center;justify-items:center;gap:20px;display:grid}.continue-shelf{max-width:1120px;margin:0 auto;padding:25px 24px 45px}.continue-shelf h2{font:900 30px var(--font-display);margin:0}.topic-tabs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:18px;display:grid}.topic-tabs button{border:2px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:15px;display:flex}.topic-tabs button.active{border-color:var(--coral);box-shadow:0 4px 0 color-mix(in srgb,var(--coral) 30%,transparent)}.topic-tabs svg{width:30px;height:30px;color:var(--coral)}.topic-tabs span{flex-direction:column;display:flex}.topic-tabs b{font:900 17px var(--font-display)}.topic-tabs small{color:var(--muted);margin-top:3px}.safety-float svg{width:38px;height:38px;color:var(--green)}.hero-online-safety:before{background:#ead4db}.hero-online-safety .floating-part{font-size:11px}.hero-online-safety .speech-bubble{right:-10px}.sync-state{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex!important}.sync-state svg{width:18px;height:18px}.sync-synced{color:var(--green)}.sync-offline{color:#a25d19}.byte-mascot{width:180px;height:260px;display:block;position:relative}.byte-head{border:5px solid var(--ink);z-index:3;background:#f7f2df;border-radius:44px;width:150px;height:132px;position:absolute;top:28px;left:15px}.byte-face{background:var(--ink);border-radius:28px;justify-content:center;align-items:center;gap:26px;display:flex;position:absolute;inset:27px 24px}.byte-eye{background:#fff;border-radius:50%;width:16px;height:23px}.byte-mouth{border-bottom:5px solid var(--coral);border-radius:50%;width:36px;height:15px;position:absolute;bottom:17px}.byte-ear{background:var(--yellow);border:4px solid var(--ink);width:20px;height:45px;position:absolute;top:44px}.byte-ear-left{border-radius:12px 0 0 12px;left:-20px}.byte-ear-right{border-radius:0 12px 12px 0;right:-20px}.byte-antenna{background:var(--ink);width:5px;height:32px;position:absolute;top:0;left:87px}.byte-antenna span{background:var(--coral);border:3px solid var(--ink);border-radius:50%;width:15px;height:15px;position:absolute;top:-3px;left:-5px}.byte-body{background:var(--coral);border:5px solid var(--ink);border-radius:28px 28px 36px 36px;width:115px;height:96px;position:absolute;top:152px;left:33px}.byte-body:before,.byte-body:after{content:"";background:var(--ink);border-radius:10px;width:39px;height:11px;position:absolute;bottom:-13px}.byte-body:before{left:3px}.byte-body:after{right:3px}.byte-light{border:4px solid var(--ink);background:#8edbb8;border-radius:50%;width:20px;height:20px;position:absolute;top:25px;left:43px}.byte-happy .byte-eye{background:0 0;border-top:5px solid #fff;border-radius:50% 50% 0 0;height:12px}.byte-oops .byte-mouth{border-bottom:0;border-top:5px solid var(--coral);bottom:10px}.byte-thinking .byte-eye:first-child{height:8px}.byte-small{width:32px;height:35px}.byte-small .byte-head{transform-origin:0 0;top:4px;left:1px;transform:scale(.2)}.byte-small .byte-antenna{transform-origin:0 0;top:0;left:16px;transform:scale(.2)}.lesson-shell{background:var(--cream);min-height:100vh;padding-bottom:130px}.lesson-header{align-items:center;gap:25px;max-width:900px;height:75px;margin:auto;padding:0 22px;display:flex}.lesson-progress{flex:1;height:13px}.lesson-hearts{font:900 17px var(--font-display);color:var(--coral);align-items:center;gap:4px;display:flex}.lesson-card{max-width:720px;margin:25px auto;padding:0 24px}.lesson-kicker{font:900 12px var(--font-display);color:var(--muted);letter-spacing:.14em}.lesson-card h1{letter-spacing:-.025em;margin:12px 0 8px;font-size:clamp(30px,5vw,45px);line-height:1.08}.instruction{color:var(--muted);margin-top:0;font-size:18px}.concept-stage{background:var(--paper);border:2px solid var(--line);border-radius:25px;place-items:center;min-height:250px;margin:25px 0;padding:25px;display:grid;overflow:hidden;box-shadow:0 6px #162b450a}.options{gap:12px;display:grid}.options button{border:2px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;border-bottom-width:5px;border-radius:15px;align-items:center;gap:14px;min-height:62px;padding:10px 18px;font-size:18px;display:flex}.options button:hover:not(:disabled),.options button.selected{background:#fff;border-color:#8e97a2}.options button.selected{box-shadow:0 0 0 3px #162b4517}.options button.answer-correct{border-color:var(--green);background:#e5f5ef}.options button.answer-wrong{background:#fae7e7;border-color:#d74949}.options button>svg{color:var(--green);width:24px;height:24px;margin-left:auto}.option-key{border:2px solid var(--line);width:30px;height:30px;color:var(--muted);font:800 14px var(--font-display);border-radius:8px;place-items:center;display:grid}.answer-dock{border-top:2px solid var(--line);background:var(--paper);z-index:10;justify-content:flex-end;align-items:center;min-height:105px;padding:20px max(24px,50vw - 360px);display:flex;position:fixed;bottom:0;left:0;right:0}.answer-dock .check-button,.answer-dock>.primary-button{width:190px}.check-button{background:var(--ink);color:#fff;box-shadow:0 5px #091626}.check-button:disabled{color:#8b9299;cursor:not-allowed;background:#d5d3cc;box-shadow:0 5px #b9b8b3}.feedback{align-items:center;gap:14px;max-width:470px;margin-right:auto;display:flex}.feedback-icon{border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.feedback-icon svg{width:27px;height:27px}.feedback b{font:900 20px var(--font-display)}.feedback p{color:var(--muted);margin:2px 0}.dock-correct{background:#e5f5ef;border-color:#a6d7c5}.dock-correct .feedback-icon{background:var(--green);color:#fff}.dock-wrong{background:#fae7e7;border-color:#e9b6b6}.dock-wrong .feedback-icon{color:#fff;background:#d74949}.lesson-byte{position:fixed;bottom:120px;right:22px}.completion{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 24px;display:flex;overflow:hidden}.completion>.byte-mascot{height:245px;transform:scale(.9)}.completion h1{margin-bottom:12px;font-size:50px}.completion>p{color:var(--muted);font-size:19px}.skill-pill{border:2px solid var(--line);font:800 17px var(--font-display);background:#fff;border-radius:14px;align-items:center;gap:8px;margin:8px 0 28px;padding:12px 17px;display:flex}.skill-pill svg{color:#d99f0c;width:25px;height:25px}.confetti{color:var(--coral);font-size:30px;animation:2.5s infinite float;position:absolute}.c1{top:20%;left:20%}.c2{color:var(--purple);animation-delay:.3s;top:25%;right:20%}.c3{color:var(--green);animation-delay:.7s;bottom:23%;right:27%}@keyframes float{50%{transform:translateY(-15px)rotate(20deg)}}.concept-stage svg{width:74px;height:74px}.cycle-visual,.visual-scene,.network-diagram,.devices{align-items:center;gap:18px;display:flex}.cycle-visual svg:nth-child(2n),.visual-scene svg{width:32px}.cycle-visual svg:nth-child(odd){background:#edf0f1;border-radius:18px;width:95px;height:95px;padding:15px}.pulse-dot{background:var(--coral);border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 8px #ef6a4c2e}.single-concept svg{width:125px;height:125px;color:var(--coral)}.chip-scene{position:relative}.chip-scene>svg{width:145px;height:145px;color:var(--purple)}.chip-lines{gap:7px;display:grid;position:absolute;inset:47px}.chip-lines i{background:var(--yellow);border-radius:5px;height:5px}.computer-diagram{width:320px;height:210px;position:relative}.screen{background:var(--ink);color:#fff;width:180px;height:130px;font:800 20px var(--font-display);border:8px solid #9ea7ad;border-radius:14px;place-items:center;display:grid;position:absolute;left:45px}.stand{background:#9ea7ad;width:28px;height:38px;position:absolute;top:130px;left:122px}.keyboard-shape{border:3px solid var(--ink);background:#ccd1d1;border-radius:5px;width:175px;height:26px;position:absolute;bottom:2px;left:55px;transform:skew(-12deg)}.mouse-shape{border:3px solid var(--ink);background:#fff;border-radius:16px;width:28px;height:40px;position:absolute;bottom:4px;right:20px}.tower{border:5px solid var(--ink);background:#d2d5d2;border-radius:10px;width:68px;height:142px;padding:14px;position:absolute;top:5px;right:4px}.tower i{background:var(--ink);border-radius:4px;height:7px;margin-bottom:8px;display:block}.inside-diagram{padding:12px}.board{border:7px solid var(--ink);background:#2d8c7b;border-radius:16px;width:290px;height:190px;position:relative;box-shadow:inset 0 0 0 5px #50a893}.board svg{color:#e9ddbc;position:absolute}.cpu-part{top:48px;left:40px;width:75px!important}.ram-part{top:25px;right:35px;width:55px!important}.drive-part{bottom:12px;right:34px;width:62px!important}.trace{background:#e5c75b;height:4px;position:absolute}.t1{width:80px;top:78px;left:110px}.t2{width:65px;top:135px;left:85px;transform:rotate(35deg)}.memory-diagram{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;width:100%;max-width:470px;display:grid}.bench,.cupboard{border:4px solid var(--ink);background:#e8cf9c;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;height:160px;transition:all .2s;display:flex}.cupboard{background:#b9d7d0}.bench.focused,.cupboard.focused{transform:scale(1.06);box-shadow:0 0 0 7px #ef6a4c33}.bench svg,.cupboard svg{width:64px}.bench strong,.cupboard strong{font:900 18px var(--font-display)}.bench span,.cupboard span{color:var(--muted)}.memory-arrow{font-size:25px}.file-diagram{align-items:center;gap:25px;display:flex;position:relative}.big-folder{color:#e1a927;width:145px!important;height:145px!important}.file-stack{gap:8px;display:grid}.file-stack svg{width:50px;height:50px;color:var(--green)}.breadcrumbs{text-align:center;background:#eef1ef;border-radius:10px;padding:8px;position:absolute;bottom:-28px;left:0;right:0}.breadcrumbs b{padding:0 8px}.desktop-diagram{border:7px solid var(--ink);background:#8ac3b6;border-radius:14px;width:350px;height:210px;position:relative;overflow:hidden}.desktop-bar{background:var(--ink);gap:6px;height:32px;padding:7px;display:flex;position:absolute;bottom:0;left:0;right:0}.desktop-bar i{background:var(--coral);border-radius:4px;width:18px}.fake-window{border:3px solid var(--ink);background:#fff;border-radius:9px;position:absolute;overflow:hidden}.fake-window.back{width:160px;height:110px;padding:10px;top:45px;left:20px}.fake-window.front{width:230px;height:150px;padding:10px;top:18px;right:18px}.window-buttons{font-weight:700;position:absolute;top:7px;right:10px}.window-content{background:#f1f0ea;justify-content:center;align-items:center;gap:5px;height:105px;margin-top:14px;display:flex}.window-content svg{width:37px;height:37px}.network-diagram>svg{width:62px;height:62px}.network-diagram>.broken{color:#c64242}.signal svg,.devices svg{width:55px;height:55px}.network-x{color:#d34949;width:38px!important}.shield-scene{align-items:center;gap:25px;display:flex}.shield-scene>svg{width:120px;height:120px;color:var(--green)}.message-card{font:800 18px var(--font-display);background:#fff1d5;border:3px solid #c17c17;border-radius:14px;align-items:center;gap:8px;padding:18px;display:flex}.message-card svg{width:30px}.modal-backdrop{z-index:50;background:#091626a6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:min(520px,100%);box-shadow:var(--shadow);border-radius:25px;padding:36px;position:relative}.modal-close{position:absolute;top:15px;right:15px}.modal h2{font:900 37px/1 var(--font-display);margin:8px 0 18px}.modal>p{color:var(--muted);font-size:18px;line-height:1.5}.about-points{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:12px 0}.about-points p{align-items:center;gap:10px;display:flex}.about-points svg{color:var(--coral);width:22px;height:22px}.secondary-button{background:#ebe9e2}.danger{color:#a73535}@media (max-width:760px){.topbar{height:64px;padding:0 15px}.stats{gap:12px}.stats>span:nth-child(2){display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:50px 20px 45px}.hero-copy{text-align:center}.hero h1{font-size:48px}.hero-copy>p{font-size:18px}.hero-art{height:380px}.hero-art:before{width:310px;height:310px}.hero-art>.byte-mascot{transform:scale(1.25)}.speech-bubble{top:8px;right:0}.journey{padding:60px 15px}.journey-heading{margin-bottom:45px;display:block}.overall-progress{width:100%;margin-top:25px}.unit-card{padding:23px}.mission-path:before{left:31px}.mission-node,.node-right{text-align:left;justify-content:flex-start;width:100%;min-height:105px;margin-left:0;padding:0 0 0 85px}.node-left .mission-button,.node-right .mission-button{left:0;right:auto}.mission-label{max-width:calc(100vw - 140px)}.lesson-card{margin-top:8px}.concept-stage{min-height:210px;margin:18px 0}.answer-dock{min-height:95px;padding:14px 18px}.feedback{font-size:14px}.feedback b{font-size:17px}.feedback p{line-height:1.2}.feedback-icon{display:none}.answer-dock .check-button,.answer-dock>.primary-button{width:145px;min-width:145px}.lesson-byte{display:none}.memory-diagram{gap:8px}.bench,.cupboard{height:130px}.network-diagram{gap:7px}.network-diagram svg,.devices svg{width:42px;height:42px}.desktop-diagram{width:100%}.cycle-visual{gap:6px}.cycle-visual svg:nth-child(odd){width:75px;height:75px}.modal{padding:30px 24px}}.main-nav{align-items:center;gap:6px;display:flex}.nav-button{font:800 14px var(--font-display);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:9px 13px;display:flex}.nav-button svg{width:18px;height:18px}.nav-button:hover,.nav-button.active{background:color-mix(in srgb,var(--ink) 9%,transparent)}.button-brand{cursor:pointer;background:0 0;border:0;padding:0}.text-button{color:var(--coral);cursor:pointer;background:0 0;border:0;padding:12px 0 0;font-weight:800;display:block}.text-button:hover{text-decoration:underline}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.intro-shell{background:linear-gradient(145deg,color-mix(in srgb,var(--unit-colour) 9%,var(--cream)),var(--cream) 55%);min-height:100vh;padding:30px 24px 70px}.back-link{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;max-width:1020px;margin:0 auto 32px;padding:10px;font-weight:800;display:flex}.intro-card{background:var(--paper);border:2px solid var(--line);max-width:980px;min-height:580px;box-shadow:var(--shadow);border-radius:30px;grid-template-columns:.8fr 1.2fr;align-items:center;margin:auto;display:grid;overflow:hidden}.intro-mascot{background:color-mix(in srgb,var(--unit-colour) 16%,var(--paper));align-self:stretch;place-items:center;display:grid;position:relative}.intro-mascot>.byte-mascot{transform:scale(1.15)}.intro-mascot .speech-bubble{top:75px;right:25px}.intro-copy{padding:55px}.intro-copy h1{font:900 clamp(42px,6vw,65px)/1 var(--font-display);letter-spacing:-.04em;margin:0 0 24px}.intro-lead{color:var(--muted);font-size:20px;line-height:1.55}.outcome-box{border-left:5px solid var(--unit-colour);background:#f1eee6;border-radius:0 14px 14px 0;margin:26px 0;padding:16px 20px}.outcome-box p{margin:5px 0 0;line-height:1.45}.vocabulary>b{margin-bottom:10px;display:block}.vocabulary div{flex-wrap:wrap;gap:8px;display:flex}.vocabulary span{background:color-mix(in srgb,var(--unit-colour) 12%,white);border:1px solid color-mix(in srgb,var(--unit-colour) 28%,white);border-radius:99px;padding:7px 11px;font-size:14px}.intro-copy>.primary-button{background:var(--unit-colour);box-shadow:0 5px 0 color-mix(in srgb,var(--unit-colour) 70%,#000);margin-top:30px}.intro-copy>small{color:var(--muted);margin-top:14px;display:block}.catalogue-shell{min-height:100vh;padding-bottom:80px}.catalogue-tools{align-items:center;gap:10px;display:flex}.catalogue-count{font:800 13px var(--font-display);color:var(--muted)}.catalogue-hero{text-align:center;max-width:790px;margin:auto;padding:70px 24px 35px}.catalogue-hero h1{font:900 clamp(45px,6vw,70px)/1 var(--font-display);letter-spacing:-.04em;margin:0}.catalogue-hero>p{color:var(--muted);font-size:19px;line-height:1.5}.catalogue-search{background:var(--paper);border:2px solid var(--line);border-radius:16px;align-items:center;gap:12px;height:58px;margin-top:28px;padding:0 18px;display:flex;box-shadow:0 5px #162b450f}.catalogue-search:focus-within{border-color:var(--ink)}.catalogue-search svg{width:24px;height:24px;color:var(--muted)}.catalogue-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:17px}.subject-filters{scrollbar-width:thin;gap:8px;max-width:1120px;margin:0 auto 30px;padding:0 24px;display:flex;overflow-x:auto}.subject-filters button{white-space:nowrap;border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:99px;padding:9px 14px;font-weight:700}.subject-filters button.selected{background:var(--ink);color:var(--cream);border-color:var(--ink)}.course-grid{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1120px;margin:auto;padding:0 24px;display:grid}.course-card{--course-colour:var(--coral);background:var(--paper);border:2px solid var(--line);border-radius:21px;flex-direction:column;min-height:330px;padding:23px;display:flex;position:relative;overflow:hidden;box-shadow:0 5px #162b450d}.course-card:before{content:"";background:var(--course-colour);height:7px;position:absolute;top:0;left:0;right:0}.course-card.available{border-color:var(--course-colour);box-shadow:0 7px 0 color-mix(in srgb,var(--course-colour) 25%,transparent)}.course-icon{background:color-mix(in srgb,var(--course-colour) 14%,var(--paper));width:48px;height:48px;color:var(--course-colour);border-radius:14px;place-items:center;margin-bottom:17px;display:grid}.course-icon svg{width:27px;height:27px}.course-subject{font:900 11px var(--font-display);letter-spacing:.11em;text-transform:uppercase;color:var(--course-colour)}.course-card h2{font:900 22px/1.1 var(--font-display);margin:7px 0}.course-card>p{color:var(--muted);margin:0 0 14px;line-height:1.4}.course-card .course-journey{border-left:3px solid var(--course-colour);padding-left:11px;font-size:13px}.course-meta{flex-wrap:wrap;gap:7px;margin-top:auto;display:flex}.course-meta span,.course-coming{background:color-mix(in srgb,var(--ink) 8%,var(--paper));border-radius:99px;padding:6px 9px;font-size:12px;font-weight:800}.course-coming{color:var(--muted);align-self:flex-start;margin-top:13px}.course-action{color:var(--course-colour);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:12px;padding:4px 0;font-weight:900}.empty-catalogue{text-align:center;padding:40px}.empty-catalogue>.byte-mascot{margin:-45px auto;transform:scale(.6)}.empty-catalogue h2{font:900 28px var(--font-display)}[data-theme=dark] .topbar{background:#0c1622f0}[data-theme=dark] .hero-art:before{background:#263849}[data-theme=dark] .journey{background:#101c2a}[data-theme=dark] .unit-card{color:#fff}[data-theme=dark] .progress-track,[data-theme=dark] .lesson-progress{background:#344255}[data-theme=dark] .concept-stage,[data-theme=dark] .options button,[data-theme=dark] .skill-pill{background:var(--paper)}[data-theme=dark] .options button.selected{background:#1c2c40}[data-theme=dark] .options button.answer-correct{background:#173a34}[data-theme=dark] .options button.answer-wrong{background:#452426}[data-theme=dark] .dock-correct{background:#173a34}[data-theme=dark] .dock-wrong{background:#452426}[data-theme=dark] .outcome-box{background:#1b2a3b}[data-theme=dark] .byte-head{background:#f7f2df}[data-theme=dark] .brand-mark .byte-head{border-color:#162b45}[data-theme=dark] .brand-mark .byte-face,[data-theme=dark] .brand-mark .byte-antenna{background:#162b45}@media (max-width:900px){.course-grid{grid-template-columns:repeat(2,1fr)}.intro-card{grid-template-columns:1fr}.intro-mascot{min-height:310px}.intro-copy{padding:38px}.intro-mascot .speech-bubble{top:35px;right:15%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-contrast:more){:root{--line:#67717b}.options button{border-width:3px}.muted{color:#303b47}}@media (max-width:760px){.main-nav{margin-left:auto}.nav-button{padding:8px;font-size:12px}.nav-button svg{width:18px;height:18px}.catalogue-count{display:none}.course-grid{grid-template-columns:1fr;padding:0 15px}.catalogue-hero{padding-top:45px}.catalogue-hero h1{font-size:45px}.subject-filters{padding:0 15px}.intro-shell{padding:18px 14px 45px}.intro-card{border-radius:22px}.intro-mascot{min-height:270px}.intro-mascot>.byte-mascot{transform:scale(.9)}.intro-copy{padding:30px 24px}.intro-copy h1{font-size:42px}.intro-lead{font-size:18px}}.account-shell{background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--coral) 10%,var(--cream)),var(--cream) 55%);min-height:100vh;padding:28px 20px 70px}.account-shell>.back-link{max-width:720px}.account-card{background:var(--paper);border:2px solid var(--line);width:min(580px,100%);box-shadow:var(--shadow);text-align:center;border-radius:28px;margin:20px auto;padding:38px 48px}.account-card>.byte-mascot{height:140px;margin:-45px auto 0;transform:scale(.52)}.account-card h1{font:900 clamp(38px,6vw,54px)/1 var(--font-display);letter-spacing:-.04em;margin:4px 0 16px}.account-card>p{color:var(--muted);font-size:17px;line-height:1.45}.account-card form{text-align:left;gap:15px;display:grid}.account-card label{gap:6px;font-weight:800;display:grid}.account-card input{border:2px solid var(--line);background:var(--cream);height:50px;color:var(--ink);border-radius:12px;padding:0 13px;font-size:17px}.account-card input:focus{outline:3px solid color-mix(in srgb,var(--coral) 30%,transparent);border-color:var(--coral)}.account-card form>.primary-button{margin-top:5px}.oauth-buttons{gap:10px;margin:24px 0;display:grid}.oauth-buttons button{border:2px solid var(--line);background:var(--cream);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:10px;height:52px;font-weight:800;display:flex}.oauth-buttons svg{width:24px;height:24px}.account-divider{color:var(--muted);align-items:center;gap:10px;margin:22px 0;font-size:13px;display:flex}.account-divider:before,.account-divider:after{content:"";background:var(--line);flex:1;height:1px}.account-error{border-radius:10px;padding:10px;color:#9d2929!important;background:#fae7e7!important;font-size:14px!important}.account-switch{margin:13px auto}.account-note{justify-content:center;align-items:center;gap:6px;display:flex;font-size:14px!important}.account-note svg{color:var(--green)}.recovery-code{background:var(--cream);border:2px dashed var(--coral);border-radius:14px;align-items:center;gap:8px;margin:24px 0;padding:14px;display:flex}.recovery-code code{overflow-wrap:anywhere;font-size:18px}.recovery-code button{cursor:pointer;background:0 0;border:0;margin-left:auto}.signed-in>.secondary-button{margin-top:20px}.account-links{flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:10px 0;display:flex}.account-links .text-button{padding-top:5px}.account-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.account-actions a{text-decoration:none}.account-delete-link{margin:18px auto 0}.delete-form{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.delete-form>p{color:var(--muted);text-align:left}.delete-form>div{justify-content:flex-end;gap:10px;display:flex}.delete-form .secondary-button{min-height:48px;font-size:14px}.link-providers{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:25px 0 10px;padding:18px 0;display:flex}.link-providers>b{width:100%;margin-bottom:5px}.link-providers button{border:1px solid var(--line);background:var(--cream);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;display:flex}.link-providers svg{width:20px;height:20px}@media (max-width:760px){.account-card{padding:30px 22px}.sync-state{display:none!important}.stats{gap:4px}.stats .icon-button{width:36px;height:36px}}.consent-check{color:var(--muted);align-items:start;font-size:14px;line-height:1.45;grid-template-columns:22px 1fr!important;font-weight:600!important}.account-card .consent-check input{width:20px;height:20px;accent-color:var(--coral);margin:1px 0 0;padding:0}.consent-check a{color:var(--coral)}.policy-shell{background:var(--cream);min-height:100vh;padding:45px 20px 80px}.policy-shell article{background:var(--paper);border:2px solid var(--line);width:min(760px,100%);box-shadow:var(--shadow);border-radius:26px;margin:auto;padding:50px 60px}.policy-shell article>a{color:var(--coral);margin-bottom:32px;font-weight:800;display:inline-block}.policy-shell h1{font:900 clamp(40px,6vw,60px)/1 var(--font-display);letter-spacing:-.04em;margin:0 0 30px}.policy-shell h2{font:900 24px/1.2 var(--font-display);margin:30px 0 8px}.policy-shell p{color:var(--muted);margin:0;font-size:17px;line-height:1.65}@media (max-width:760px){.policy-shell{padding:20px 12px 55px}.policy-shell article{border-radius:20px;padding:32px 23px}.policy-shell h1{font-size:41px}}.early-access-sticker{border:2px solid var(--ink);background:var(--yellow);color:#162b45;font:900 12px/1 var(--font-display);letter-spacing:.09em;text-transform:uppercase;box-shadow:3px 4px 0 var(--ink);border-radius:8px;margin:0 0 24px;padding:8px 13px;display:inline-block;transform:rotate(-2deg)}.byte-head{border-color:#162b45}.byte-face,.byte-antenna{background:#162b45}.byte-ear,.byte-body{border-color:#162b45}
