/* Codeando Futuro 5.1 · Brand palette supplied by the project owner. */
:root{--navy:#0B1121;--workspace:#F8FAFC;--surface:#FFFFFF;--ink:#1E293B;--muted:#64748B;--purple:#8A2BE2;--purple-deep:#6B21A8;--cyan:#00D2FF;--yellow:#FBBF24;--pink:#FF007A;--teal:#6B21A8;--paper:#F8FAFC;--line:#E2E8F0;--mint:#E9FAFE;--lavender:#F3ECFF;--lime:#FBBF24;--peach:#FFF7DF;--radius:18px}
body,.cf-site,input,select,textarea,button{font-family:Inter,Arial,sans-serif;color:var(--ink)}body{background:var(--workspace)}h1,h2,h3,h4,.button,.bits-counter,.rank-pill,.profile-name b{font-family:Nunito,Arial,sans-serif;font-weight:800}h1,h2,h3{letter-spacing:-.035em}p{color:var(--muted)}button,input,select,textarea{font-size:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.button{background:linear-gradient(110deg,var(--purple),var(--purple-deep));color:#fff;border-color:var(--purple-deep);border-radius:12px;font-weight:800}.button:hover{box-shadow:0 5px 14px #6B21A81A}.button.outline{color:var(--purple-deep);background:#fff;border-color:#DDD0EF}.button.lime,.button.cf-yellow{color:var(--navy);background:var(--yellow);border-color:var(--yellow)}.button[data-studio="download"]{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}.text-button{color:var(--purple-deep)}.form-error,.error{color:#A0004D}.form-error:not(:empty){border-left:3px solid var(--pink);padding:10px 12px;background:#FFF2F8;border-radius:8px}button[data-studio="stop"]{color:#A0004D;background:#FFF2F8;border:1px solid #FFC2DF;border-radius:8px;padding:9px 12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.eyebrow{font-family:Inter,Arial,sans-serif;font-weight:700;letter-spacing:.08em}.rank-pill,.bits-counter{color:#694500;background:#FFFAE8;border:1px solid #F7E6B4}.icon{flex-shrink:0}
.brand-logo{object-fit:contain}.cf-header{background:var(--navy);border-bottom-color:#232D42}.cf-header nav a{color:#fff}.cf-header .brand,.sidebar .brand{background:#fff;border-radius:12px;padding:9px 11px}.cf-header .brand-logo{width:176px}.cf-header .button.outline{background:transparent;color:#fff;border-color:#78849B}.cf-header-inner{min-height:104px}.cf-hero h1{font-family:Nunito,Arial,sans-serif;font-weight:800;line-height:1.01;letter-spacing:-.05em}.cf-kicker{font-family:Inter,Arial,sans-serif}.cf-project-board{background:#F7EBFF}.cf-pong{background:var(--navy)}.cf-course{background:#fff}.cf-course .cf-code-paper{background:var(--navy);color:#fff}.cf-course .cf-code-paper code{color:#fff}.cf-membership,.cf-last-band{background:var(--navy)}.cf-membership p{color:#CBD5E1}.cf-footer .brand{background:#fff;border-radius:10px;padding:8px}.cf-code-paper,.cf-code-paper code,.cf-project-label b{font-family:'Fira Code',monospace}.cf-hero em{color:var(--purple-deep)}
.campus-body{background:var(--workspace)}.sidebar{background:var(--navy);color:#fff;border:0;padding:24px 16px 18px;width:240px}.sidebar .brand{width:100%;margin:0 0 24px}.sidebar .brand-logo{width:190px}.sidebar-label{color:#94A3B8;font-size:10px;letter-spacing:.13em;margin:19px 13px 10px}.side-link{color:#CBD5E1;border-radius:11px;margin-bottom:7px;min-height:47px;font-family:Inter,Arial,sans-serif;font-size:13px;gap:12px;border-left:3px solid transparent}.side-link:hover{background:#182238;color:#fff}.side-link.active{background:#1B263B;color:#fff;border-left-color:var(--cyan);box-shadow:none}.side-link.active>.icon{color:var(--cyan)}.side-link.active>i{background:var(--cyan);box-shadow:0 0 9px #00D2FF55}.sidebar-guide{display:flex;align-items:center;gap:8px;background:#172237;border:1px solid #25324A;border-radius:12px;padding:10px;margin:20px 0 12px;text-align:left}.sidebar-guide>.robot{width:45px;height:50px;margin:0}.sidebar-guide b{font-size:11px;color:#fff}.sidebar-guide p{font-size:10px;color:var(--cyan);margin:4px 0}.sidebar-bottom{border-color:#26344C}.sidebar-bottom button{color:#CBD5E1;font-size:12px}.sidebar button:focus-visible{outline-color:var(--cyan)}.app-main{margin-left:240px}.app-topbar{background:#fff;border-color:var(--line);min-height:76px}.breadcrumb{color:var(--muted);font-size:10px;letter-spacing:.07em}.topbar-profile{gap:12px}.profile-name{display:grid;gap:3px;text-align:right}.profile-name b{font-size:13px}.profile-name small{font-size:10px;color:#075E73}.bits-counter{font-size:12px;border-radius:22px;padding:7px 12px}.bits-counter small{font-size:10px}.bits-counter>.icon{color:#B47C00}.app-content{max-width:1280px;padding:32px 30px 50px;margin-inline:auto}.demo-banner{background:#EFF8FF;color:#224D6D;border-bottom:1px solid #D6EBF8}.demo-banner button{color:#224D6D}
.character-image{display:block;object-fit:contain;max-width:100%;height:auto}.robot.character-image{width:180px;height:190px;object-fit:contain}.avatar{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none;overflow:visible;width:44px;height:48px;border-radius:0;flex-shrink:0}.avatar>.character-image{width:100%;height:100%;object-fit:contain}.avatar.large{width:92px;height:100px}.avatar-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.avatar-options label{position:relative;display:grid;justify-items:center;gap:8px;border:2px solid var(--line);border-radius:16px;padding:16px 8px;background:#fff;font-size:13px}.avatar-options label:has(input:checked){border-color:var(--purple);background:#F7F0FF}.avatar-options label input{accent-color:var(--purple);position:static;opacity:1;appearance:auto;width:16px;height:16px}.avatar-options .avatar.large{width:86px;height:96px}.preferences-card{background:#fff;border:1px solid var(--line)}
.learning-hero{background:linear-gradient(115deg,#E9FAFE 0%,#F5F7FF 48%,#FAF4FF 100%);border:1px solid #E5EDF6;border-radius:21px;padding:32px 36px;min-height:224px;gap:24px}.learning-hero h1{font-size:clamp(28px,3.2vw,42px);line-height:1.1;margin:17px 0 13px}.learning-hero p{font-size:15px}.learning-hero .eyebrow{color:#075E73;background:#DCF7FE;border:1px solid #AAEAF9;border-radius:20px;padding:6px 10px;font-size:10px}.learning-hero .rank-pill{display:inline-flex;max-width:100%;background:#fff;color:var(--purple-deep);border:1px solid #E8E4F1;font-size:11px;margin-top:7px}.companion-art{position:relative;display:grid;place-items:center;isolation:isolate;width:180px;height:192px;flex:0 0 auto;overflow:visible}.companion-art>.character-image{z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 7px #28386114)}.companion-pedestal{position:absolute;z-index:0;bottom:1px;left:12%;width:76%;height:18px;background:var(--companion-color);border-radius:50%;opacity:.55}.companion-accessory{position:absolute;z-index:2;display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#FFFAE8;border:2px solid #FBBF24;color:#6D4700;font-size:19px;box-shadow:0 2px 4px #0B11211A}.accessory-hat{top:3%;right:4%}.accessory-outfit{bottom:18%;left:1%}.accessory-badge{bottom:9%;right:1%}.companion-art.large{width:230px;height:240px}.next-lesson{background:#fff;border:1px solid var(--line);border-radius:21px;padding:30px 34px;gap:35px;margin-top:24px;box-shadow:0 2px 2px #0B112103}.next-lesson .eyebrow{color:#075E73;font-size:10px}.next-lesson h2{font-size:30px;line-height:1.15;margin:15px 0}.next-lesson p{font-size:14px;line-height:1.75;max-width:600px}.next-lesson .button{margin-top:10px}.progress-orbit{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:142px;height:142px;border:0;border-radius:50%;background:conic-gradient(var(--cyan) var(--progress,0%),#E2E8F0 0);margin:12px}.progress-orbit:before{content:'';position:absolute;inset:9px;border-radius:50%;background:#fff}.progress-orbit>*{position:relative}.progress-orbit strong{font-family:Nunito,Arial,sans-serif;font-size:29px;color:var(--ink)}.progress-orbit span{font-size:11px;color:var(--muted)}.studio-bottom{padding:18px 5px;gap:15px}.studio-bottom p{font-size:12px}.studio-bottom .text-button{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 14px;white-space:nowrap}.campus-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}.campus-notes article{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 16px}.campus-notes article>span{display:grid;place-items:center;width:33px;height:35px;background:#FFF7DF;color:#926300;border-radius:10px;flex-shrink:0;font-size:22px}.campus-notes article:nth-child(2)>span{background:#E7F8FE;color:#075E73}.campus-notes article:nth-child(3)>span{background:#F2EAFF;color:var(--purple-deep)}.campus-notes b{font-size:12px}.campus-notes p{font-size:11px;line-height:1.5;margin:5px 0 0}.lesson-list article{background:#fff;border-color:var(--line)}.rank-tab[aria-pressed="true"]{background:var(--purple-deep);color:#fff;border-color:var(--purple-deep)}
.robot-shop-head{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;gap:30px}.robot-shop-head h1{font-size:34px}.companion-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0 32px}.companion-option{background:#fff;border:2px solid var(--line);border-radius:17px;padding:14px 10px;display:grid;justify-items:center;gap:9px;color:var(--ink)}.companion-option>.character-image{width:100%;height:140px;object-fit:contain}.companion-option b{font:800 16px Nunito,Arial,sans-serif}.companion-option small{font-size:11px;color:var(--muted)}.companion-option[aria-pressed="true"]{background:#F6EDFF;border-color:var(--purple)}.companion-option[aria-pressed="true"] small{color:var(--purple-deep);font-weight:600}.shop-section-title{font-size:24px;margin:0 0 7px}.shop-grid article{border:1px solid var(--line);border-radius:16px;background:#fff}.shop-swatch{border-radius:13px}.shop-grid h3{font-size:17px}
.python-room{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.python-source,.python-console{background:#fff;color:var(--ink)}.python-source>header,.python-console>header{background:#F1F5F9;color:var(--ink);border-bottom:1px solid var(--line);padding:14px 18px}.python-source>header span,.python-console>header span{color:var(--muted)}#python-code,#python-output,#python-input{font-family:'Fira Code',Consolas,monospace;font-weight:400;font-size:13px;line-height:1.75;background:#fff;color:var(--ink);tab-size:4}#python-code{padding:20px;caret-color:var(--purple);border-radius:0}#python-output{padding:18px;overflow-wrap:anywhere}#python-input{border:1px solid var(--line);border-radius:10px}.python-controls{background:#F8FAFC;border-top:1px solid var(--line);padding:12px;gap:10px;flex-wrap:wrap}.studio-brief{background:#fff;border:1px solid var(--line);border-radius:14px}.studio-brief>summary{font-family:Nunito,Arial,sans-serif;font-weight:800}.studio-toolbar input{background:#fff;border:1px solid var(--line)}.studio-toolbar{gap:10px}.game-editor-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.modal-backdrop{background:#0B1121A3;backdrop-filter:blur(4px);padding:24px}.modal{border-radius:23px;background:#fff;max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #E2E8F0}.modal.login-dialog{width:min(660px,100%);padding:35px 42px}.login-dialog .modal-close{top:16px;right:16px}.auth-logo{text-align:left;margin-bottom:22px}.auth-logo .brand-logo{width:160px}.login-welcome{display:grid;grid-template-columns:1fr 95px;gap:20px;align-items:center}.login-welcome h2{font-size:33px;line-height:1.13;margin:15px 0 13px}.login-welcome h2 em{font-style:normal;color:var(--purple-deep)}.login-welcome p{font-size:13px;line-height:1.65;margin:0}.login-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--purple-deep);background:#F1E8FE;border-radius:18px;padding:6px 10px;font-size:10px;font-weight:700;letter-spacing:.025em}.login-kicker .icon{width:13px;height:13px}.login-mascot.robot{width:100px;height:120px;border-radius:19px;background:linear-gradient(#EFF8FF,#EEE8FF);border:1px solid #A6EBFA;padding:7px;box-shadow:0 0 18px #00D2FF12}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#F1F1FD;border:1px solid #E4E5F3;padding:6px;border-radius:14px;margin:25px 0}.login-tabs button{padding:12px 8px;border:0;border-radius:10px;background:transparent;font-weight:700;color:var(--muted);font-size:13px}.login-tabs button[aria-pressed="true"]{background:#fff;box-shadow:0 2px 6px #0B112113;color:var(--purple-deep)}.login-tabs small{background:#F0E4FB;color:var(--purple-deep);border-radius:10px;padding:3px 6px;font-size:10px;margin-left:5px}.login-dialog form>label{font-weight:600;font-size:13px;display:block;margin:18px 0}.login-dialog input:not([type="checkbox"]){background:#fff;border:1px solid #D6DDE6;min-height:50px;border-radius:11px;font-size:14px;margin-top:8px;padding:12px 14px}.password-field{position:relative;display:block}.password-field input{padding-right:80px!important}.password-toggle{position:absolute;right:8px;top:17px;padding:9px 7px;border:0;background:transparent;font-size:11px;font-weight:600;color:var(--purple-deep)}.login-recover{display:block;margin-left:auto;font-size:12px;padding:0}.login-dialog form>.checkbox-label{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:400}.login-dialog input[type="checkbox"]{accent-color:var(--purple);width:17px;height:17px;flex-shrink:0}.login-dialog .button.full{min-height:54px;font-size:16px}.login-divider{display:flex;gap:15px;align-items:center;justify-content:center;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.05em;margin:25px 0 15px}.login-divider:before,.login-divider:after{content:'';height:1px;background:var(--line);flex:1}.login-dialog .google-login{border:0;margin:0;padding:0}.login-dialog .google-login .button{color:var(--ink);background:#fff;border-color:#D6DDE6;font-size:14px;gap:12px}.google-mark{font:bold 21px Arial,sans-serif;color:#4285F4}.google-login small{display:block;text-align:center;font-size:10px;color:var(--muted);margin-top:8px}.login-register{border-top:1px solid var(--line);padding-top:22px;margin-top:25px;text-align:center;color:var(--muted);font-size:12px}.login-register .text-button{font-size:12px}.login-safe{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#075E73;background:#EAF8FD;border:1px solid #D1EDF6;border-radius:17px;padding:6px 10px;margin:16px auto 0;width:fit-content;max-width:100%}.login-safe .icon{width:13px;height:13px}.login-legal{display:flex;justify-content:center;gap:24px;font-size:10px;margin-top:18px}.login-legal a{color:var(--muted);text-decoration:underline}
.modal.route-dialog{width:min(920px,100%);padding:0;background:var(--navy);border-color:#26344C}.route-dialog .modal-close{z-index:3;background:#FFFFFF12;color:#fff;border:1px solid #FFFFFF22}.track-choice{background:radial-gradient(ellipse at top left,#06314788,transparent 45%),radial-gradient(ellipse at top right,#6B21A844,transparent 45%),var(--navy);color:#fff;border-radius:22px;padding:36px}.track-choice-heading{text-align:center;margin-bottom:30px;padding:0 25px}.track-choice-heading>.eyebrow{display:inline-block;border-radius:20px;border:1px solid #00D2FF33;background:#00D2FF11;color:#9EEEFF;padding:8px 14px;font-size:10px}.track-choice-heading h2{color:#fff;font-size:32px;margin:14px 0}.track-choice-heading p{color:#CBD5E1;font-size:13px;line-height:1.7;max-width:640px;margin:auto}.path-options{display:grid;grid-template-columns:1fr 1fr;gap:22px}.path-card{position:relative;display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:19px;border:1px solid #3A465F;background:#10192C}.path-scratch{border-color:#6B5628}.path-python{border-color:#20576C}.path-card.is-selected{border:2px solid var(--cyan);box-shadow:0 0 18px #00D2FF13}.path-current{position:absolute;top:-13px;right:16px;background:linear-gradient(110deg,#00D2FF,#8A2BE2);color:var(--navy);border:1px solid #7DE9FF;border-radius:18px;font:800 9px Nunito,Arial,sans-serif;letter-spacing:.07em;padding:6px 12px}.path-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.path-card-meta>span{font-size:9px;font-weight:700;color:#F8DE9A;background:#FBBF2414;border:1px solid #FBBF2433;padding:6px 8px;border-radius:12px}.path-python .path-card-meta>span{color:#97EDFF;background:#00D2FF14;border-color:#00D2FF33}.path-card-meta small{font-size:9px;color:#CBD5E1}.path-card-title{display:flex;align-items:center;gap:13px}.path-symbol{background:var(--yellow);color:#382300;flex-shrink:0;width:50px;height:54px;display:grid;place-items:center;border-radius:13px;font:800 25px Nunito,Arial,sans-serif}.path-python .path-symbol{background:#18394F;color:#7CE8FF;font:600 18px 'Fira Code',monospace}.path-card h3{color:#fff;margin:0;font-size:22px;line-height:1.2}.path-card p{color:#CAD5E5;font-size:13px;line-height:1.8;margin:0}.path-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.path-tags span{font-size:9px;color:#E9D9A6;border:1px solid #FBBF2429;border-radius:5px;padding:5px 7px}.path-python .path-tags span{color:#9CEAFF;border-color:#00D2FF33}.path-card .button{margin-top:auto;font-size:14px;border-radius:12px}.path-scratch .button{background:var(--yellow);border-color:var(--yellow);color:#332200}.path-python .button{background:linear-gradient(105deg,#8A2BE2,#6B21A8)}.path-choice-footer{display:flex;align-items:center;gap:10px;margin-top:25px;border-top:1px solid #FFFFFF1A;padding-top:18px}.path-choice-footer p{font-size:11px;line-height:1.6;color:#CBD5E1;margin:0}.path-choice-footer b{color:#74E5FF}.path-choice-footer .text-button{color:#CBD5E1;font-size:10px;white-space:nowrap}.path-choice-footer .avatar{width:40px}
.high-contrast{--muted:#334155;--line:#94A3B8}.high-contrast .side-link{color:#fff}.high-contrast .tiny{color:#334155}.high-contrast .track-choice .tiny{color:#E2E8F0}.large-text .app-content p,.large-text .app-content input,.large-text .app-content label,.large-text .side-link{font-size:1.05rem}.large-text #python-code,.large-text #python-output{font-size:16px}.zen *, .zen *:before,.zen *:after{animation:none!important;transition:none!important}
@media(min-width:1500px){.app-content{padding-top:40px}.learning-hero{min-height:240px}.next-lesson{min-height:230px}}
@media(max-width:1100px){.sidebar{width:216px;padding-inline:13px}.app-main{margin-left:216px}.app-content{padding-inline:24px}.companion-option>.character-image{height:110px}.learning-hero{padding:28px}.next-lesson{padding:28px;gap:18px}.campus-notes{gap:10px}.campus-notes article{padding:15px 11px}.track-choice{padding:30px 24px}.path-card{padding:20px}.path-card-title{gap:9px}.path-card h3{font-size:20px}.path-card-meta{flex-wrap:wrap}}
@media(max-width:900px){.sidebar{width:240px}.app-main{margin-left:0}.cf-header-inner{gap:20px}.learning-hero h1{font-size:35px}.app-content{padding:24px 22px 40px}.sidebar-guide{margin-top:22px}.companion-option>.character-image{height:125px}}
@media(max-width:600px){.cf-header-inner{min-height:86px;gap:14px}.cf-header .brand-logo{width:130px}.cf-header .brand{padding:7px}.cf-header .button{font-size:11px;padding:10px;min-height:40px}.cf-header nav{gap:12px}.cf-header nav a{font-size:11px}.app-content{padding:20px 14px 35px}.app-topbar{padding:12px 16px;min-height:66px}.breadcrumb{font-size:8px}.topbar-profile{gap:7px}.bits-counter{padding:5px 8px;font-size:10px}.bits-counter small{font-size:8px}.profile-name{display:none}.avatar{width:36px;height:40px}.learning-hero{padding:22px 19px;gap:9px;min-height:200px}.learning-hero>div:first-child{min-width:0}.learning-hero h1{font-size:29px}.learning-hero p{font-size:12px;line-height:1.7}.learning-hero .eyebrow{font-size:8px}.learning-hero .rank-pill{font-size:9px}.learning-hero .companion-art{width:97px;height:128px}.companion-accessory{width:21px;height:21px;font-size:14px}.next-lesson{padding:23px 19px;gap:16px;align-items:flex-start}.next-lesson h2{font-size:25px}.next-lesson p{font-size:12px}.next-lesson .button{font-size:12px;padding:12px 15px}.progress-orbit{width:80px;height:80px;margin:7px 0;flex-shrink:0}.progress-orbit:before{inset:6px}.progress-orbit strong{font-size:22px}.progress-orbit span{font-size:9px}.studio-bottom{flex-wrap:wrap;padding:13px 2px}.studio-bottom p{font-size:11px}.campus-notes{grid-template-columns:1fr}.campus-notes article{padding:14px 17px}.companion-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.companion-option{padding:12px 7px}.companion-option>.character-image{height:100px}.companion-option b{font-size:14px}.robot-shop-head{padding:22px;gap:10px}.robot-shop-head h1{font-size:27px}.robot-shop-head p{font-size:12px}.companion-art.large{width:120px;height:150px}.avatar-options{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-options .avatar.large{width:70px;height:85px}.modal-backdrop{padding:12px}.modal{max-height:calc(100dvh - 24px);border-radius:19px}.modal.login-dialog{padding:25px 21px}.login-welcome{grid-template-columns:1fr 67px;gap:10px}.login-welcome h2{font-size:27px}.login-kicker{font-size:8px;padding:5px 8px}.login-welcome p{font-size:12px}.login-mascot.robot{width:67px;height:86px;padding:3px}.auth-logo .brand-logo{width:133px}.login-tabs{margin:20px 0}.login-tabs button{font-size:11px;padding:11px 4px}.login-tabs small{font-size:8px}.login-dialog form>label{font-size:12px}.login-dialog .button.full{font-size:14px}.track-choice{padding:34px 20px 24px}.track-choice-heading{padding:0;margin-bottom:24px}.track-choice-heading h2{font-size:27px}.track-choice-heading>.eyebrow{font-size:8px}.track-choice-heading p{font-size:12px}.path-options{grid-template-columns:1fr;gap:23px}.path-card-meta{flex-wrap:nowrap}.path-card h3{font-size:22px}.path-choice-footer{flex-wrap:wrap}.path-choice-footer p{flex:1;min-width:150px}.path-choice-footer .text-button{margin-left:auto}.python-controls .button{font-size:11px}.studio-toolbar input{min-width:0}.studio-toolbar>div{gap:7px;flex-wrap:wrap}#python-code,#python-input,#python-output{font-size:12px}.cf-hero h1{font-size:53px}}
@media(max-width:380px){.learning-hero .companion-art{width:75px;height:108px}.learning-hero h1{font-size:26px}.next-lesson{display:block}.progress-orbit{margin:20px auto 0}.login-tabs button{font-size:10px}.bits-counter small{display:none}.companion-option>.character-image{height:85px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Wide blocks studio keeps a reachable return control outside the embedded editor. */
.editor-page .app-content{max-width:none;padding:18px 20px 28px}.editor-page .studio-toolbar{margin-bottom:12px}.editor-page .studio-brief{margin-bottom:14px}.editor-page .game-editor-wrap{height:max(650px,calc(100dvh - 230px));min-height:650px;overflow:auto}.editor-wide-toolbar{display:none}.editor-expanded{overflow:hidden}.editor-page .game-editor-wrap.expanded{position:fixed;inset:10px;height:auto;min-height:0;z-index:10000;border:2px solid #37435C;box-shadow:0 0 0 30px #0B1121CC;background:#0B1121;display:flex;flex-direction:column}.game-editor-wrap.expanded:after{display:none}.game-editor-wrap.expanded .editor-wide-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 16px;background:#0B1121;color:white;flex:0 0 66px;position:sticky;left:0;width:100%;z-index:2}.editor-wide-toolbar b{font:800 15px Nunito,Arial,sans-serif}.editor-wide-toolbar .editor-return{background:#00D2FF;color:#0B1121;border-color:#00D2FF;min-height:46px;font-size:16px;padding:11px 22px}.game-editor-wrap.expanded iframe{height:calc(100% - 66px);flex:1;min-height:0;overflow:auto}.admin-bar .game-editor-wrap.expanded{top:42px}@media(max-width:600px){.editor-page .app-content{padding:16px 10px}.editor-page .game-editor-wrap.expanded{inset:5px}.editor-wide-toolbar b{display:none}.game-editor-wrap.expanded .editor-wide-toolbar{justify-content:center;padding:8px;flex-basis:64px}.editor-wide-toolbar .editor-return{width:100%;font-size:16px}.admin-bar .game-editor-wrap.expanded{top:50px}}

/* Persisted display preferences never replace or restart the code buffer. */
.python-view-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 12px;font-size:12px;font-weight:600}.python-theme-toggle{display:flex;gap:4px;padding:4px;background:#E8EDF4;border-radius:12px}.theme-option{border:0;background:transparent;color:#475569;border-radius:8px;padding:8px 13px;font-size:12px;font-weight:600}.theme-option[aria-pressed="true"]{background:#fff;color:#6B21A8;box-shadow:0 1px 4px #0B112112}.python-room[data-theme="dark"]{background:#0B1121;border-color:#37435C;color:#F8FAFC}.python-room[data-theme="dark"] .python-source,.python-room[data-theme="dark"] .python-console{background:#0B1121;color:#F8FAFC}.python-room[data-theme="dark"] .python-source>header,.python-room[data-theme="dark"] .python-console>header{background:#162238;color:#F8FAFC;border-color:#37435C}.python-room[data-theme="dark"] header span{color:#B8C6DB}.python-room[data-theme="dark"] #python-code,.python-room[data-theme="dark"] #python-output,.python-room[data-theme="dark"] #python-input{background:#0B1121;color:#F1F5F9;border-color:#37435C;caret-color:#00D2FF}.python-room[data-theme="dark"] #python-input::placeholder{color:#A3B4CC}.python-room[data-theme="dark"] .python-controls{background:#162238;border-color:#37435C}.python-room[data-theme="dark"] label{color:#CBD5E1}.python-room[data-theme="dark"] .python-console{border-left-color:#37435C}.sidebar>.brand{transform:none;margin:0 0 12px}.sidebar-close{display:flex;align-items:center;justify-content:flex-end;padding:8px 7px;margin:0 0 15px;border:0;background:transparent;color:#CBD5E1;font-size:11px;min-height:34px}.app-topbar .mobile-menu{display:inline-grid;width:39px;height:39px;border:1px solid #D6DDE6;color:#1E293B;background:#fff;border-radius:10px;flex-shrink:0}.app-topbar>div:first-child{display:flex;align-items:center;gap:12px}.sidebar-collapsed .sidebar{display:none}.sidebar-collapsed .app-main{margin-left:0}.zen .studio-robot{display:grid}@media(max-width:900px){.sidebar{display:none;top:76px!important;height:calc(100dvh - 76px);bottom:0;box-shadow:16px 0 40px #0B112144}.sidebar.mobile-open,.sidebar-collapsed .sidebar.mobile-open{display:flex}.admin-bar .sidebar{top:108px!important;height:calc(100dvh - 108px)}.app-main{margin-left:0}}@media(max-width:600px){.sidebar{top:66px!important;height:calc(100dvh - 66px)}.admin-bar .sidebar{top:112px!important;height:calc(100dvh - 112px)}.python-view-tools{font-size:11px}.theme-option{font-size:11px;padding:7px 10px}}
/* A collection with actual previews, pagination and readable prices. */
.companion-art{aspect-ratio:1;isolation:isolate;width:192px;height:192px}.companion-art.large{width:240px;height:240px}.companion-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.companion-layer.behind{z-index:0}.companion-layer.in-front{z-index:3}.companion-art>.character-image{z-index:1;position:relative;width:100%;height:100%;object-fit:contain}.companion-pedestal{z-index:-1}.companion-pet{position:absolute;bottom:0;right:-8%;width:31%;z-index:4}.mini-pet{display:block;width:100%;height:auto;filter:drop-shadow(0 3px 2px #0B112122)}.shop-collection-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:32px 0 18px}.shop-collection-header h2{font-size:27px;margin:9px 0}.shop-collection-header p{font-size:12px;margin:0}.shop-collection-header .eyebrow{font-size:9px;color:#6B21A8}.shop-filters{display:flex;gap:6px;flex-wrap:wrap;padding:5px;background:#E9EDF4;border-radius:13px;margin-bottom:21px;scroll-margin-top:90px}.shop-filter{border:0;background:transparent;border-radius:9px;font-size:11px;font-weight:600;color:#475569;padding:10px 13px;white-space:nowrap}.shop-filter[aria-pressed="true"]{background:#fff;color:#6B21A8;box-shadow:0 1px 5px #0B112115}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.shop-grid article.shop-item{padding:0;overflow:hidden;display:flex;flex-direction:column;position:relative;border:1px solid #E2E8F0;border-radius:18px;background:#fff}.shop-grid article.shop-item.is-equipped{border:2px solid #8A2BE2}.shop-item-preview{position:relative;display:grid;place-items:center;min-height:225px;padding:36px 18px 9px;background:radial-gradient(ellipse at center,#EEE8FD,#F8FAFC 72%);border-bottom:1px solid #EDF0F7}.shop-item-state{position:absolute;left:12px;top:12px;font-size:9px;font-weight:600;background:#fff;color:#64748B;padding:5px 8px;border:1px solid #E2E8F0;border-radius:15px;z-index:5}.is-equipped .shop-item-state{background:#6B21A8;color:#fff;border-color:#6B21A8}.companion-art.shop-preview{width:175px;height:175px}.shop-item-info{padding:17px 19px 19px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.shop-item-info h3{grid-column:1/-1;margin:0;font-size:18px}.shop-item-info p{font-size:11px;color:#875A00;font-weight:600;margin:0}.shop-item-info .button{font-size:12px;padding:9px 14px;min-height:38px}.shop-item-info small{grid-column:1/-1;color:#64748B;font-size:10px}.shop-note{margin-top:22px;line-height:1.7}.shop-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px}.shop-pagination>span{font-size:11px;color:#64748B}.companion-option.is-locked{background:#FAFBFE}.companion-option.is-locked small{color:#835600}.avatar-options label:has(input:disabled){opacity:.58}.avatar-options input:disabled{cursor:not-allowed}
/* Optional on-device speech, gentle movement and static hints. No account content goes to a voice service. */
.cf-companion{position:fixed;z-index:11000;bottom:15px;left:calc(100vw - 117px);width:96px;transition:left 8s ease-in-out;pointer-events:none}.cf-companion[data-side="left"]{left:calc(240px + 22px)}.sidebar-collapsed .cf-companion[data-side="left"]{left:22px}.cf-companion.is-open,.cf-companion.is-quiet,.cf-companion.is-pinned{transition:none}.companion-launcher{pointer-events:auto;display:flex;align-items:center;flex-direction:column;padding:0;border:0;background:transparent;color:#1E293B;width:96px}.companion-art.floating{width:90px;height:90px;animation:cf-bob 4s ease-in-out infinite}.companion-launcher>span{font-size:9px;background:#fff;border:1px solid #D9E3EE;border-radius:13px;padding:5px 9px;white-space:nowrap;box-shadow:0 2px 7px #0B112111}.companion-launcher:focus-visible{border-radius:15px}.companion-dialog{pointer-events:auto;position:absolute;right:94px;bottom:12px;width:290px;background:#fff;border:1px solid #D6DDE6;border-radius:18px;padding:20px;box-shadow:0 15px 45px #0B112123;text-align:left}.cf-companion[data-side="left"] .companion-dialog{right:auto;left:94px}.companion-dialog[hidden]{display:none!important}.companion-dialog .eyebrow{font-size:8px;color:#6B21A8;padding-right:18px}.companion-dialog h3{font-size:17px;margin:10px 0}.companion-dialog p{font-size:12px;line-height:1.65;margin:10px 0 15px;max-height:200px;overflow:auto;white-space:pre-wrap;color:#475569}.companion-dialog .button{font-size:12px;min-height:36px;padding:8px 13px}.companion-minimize{position:absolute;top:9px;right:10px;border:0;background:#F1F5F9;border-radius:8px;width:27px;height:27px;font-size:19px;line-height:1}.companion-tools{display:flex;gap:12px;margin-top:13px}.companion-tools button{background:none;border:0;padding:5px 0;font-size:9px;color:#64748B;text-decoration:underline;text-underline-offset:3px}.companion-tools button[aria-pressed="true"]{color:#6B21A8;font-weight:600}.is-quiet .companion-art.floating,.is-pinned .companion-art.floating,.is-open .companion-art.floating{animation:none}.editor-expanded .cf-companion{bottom:20px;left:20px;width:67px}.editor-expanded .companion-launcher{width:65px}.editor-expanded .companion-art.floating{width:62px;height:62px;animation:none}.editor-expanded .companion-dialog{right:auto;left:72px;max-height:calc(100dvh - 120px);overflow:auto}.editor-page .app-footer{padding-bottom:90px}.app-content{padding-bottom:110px}.privacy-document .cf-companion{display:none}@keyframes cf-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@media(max-width:1100px){.cf-companion[data-side="left"]{left:235px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.cf-companion[data-side="left"]{left:18px}.cf-companion{left:calc(100vw - 105px)}.companion-dialog,.cf-companion[data-side="left"] .companion-dialog{position:fixed;left:auto;right:15px;bottom:130px;width:min(290px,calc(100vw - 30px))}.editor-expanded .companion-dialog{left:15px;bottom:110px;right:auto}}@media(max-width:500px){.shop-grid{gap:11px}.shop-item-preview{min-height:165px;padding-top:34px}.companion-art.shop-preview{width:125px;height:125px}.shop-item-info{padding:13px 12px;grid-template-columns:1fr}.shop-item-info h3{font-size:16px;line-height:1.25}.shop-item-info .button{width:100%}.shop-item-state{left:7px;top:8px;font-size:8px;padding:4px 6px}.shop-collection-header h2{font-size:25px}.shop-filter{font-size:10px;padding:8px 10px}.shop-pagination{flex-wrap:wrap;gap:9px}.shop-pagination>span{font-size:10px}.companion-art.large{width:135px;height:135px}.companion-art.floating{width:75px;height:75px}.cf-companion{bottom:12px}.companion-dialog{bottom:110px}.shop-item-preview .companion-pet{right:-1%}.editor-expanded .companion-launcher>span{font-size:8px;padding:4px}}
@media(prefers-reduced-motion:reduce){.cf-companion,.companion-art.floating{animation:none!important;transition:none!important}}

/* Objetivo del reto: apertura desde la barra de TurboWarp. */
.objective-goal{margin:16px 0;padding:16px 18px;border:1px solid #E8E4F1;border-left:4px solid var(--purple);border-radius:12px;background:#F7F0FF}
.objective-goal b{display:flex;align-items:center;gap:8px;font:800 11px Nunito,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--purple-deep)}
.objective-goal b .icon{width:16px;height:16px}
.objective-goal p{margin:9px 0 0;font-size:15px;line-height:1.65;color:var(--ink)}
.objective-steps{margin:16px 0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#F8FAFC}
.objective-steps b{font:800 13px Nunito,Arial,sans-serif;color:var(--ink)}
.objective-steps ol{margin:10px 0 0 20px;padding:0;display:grid;gap:8px;font-size:14px;line-height:1.6;color:var(--ink)}
.objective-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.objective-steps p{margin:9px 0 0;font-size:14px;line-height:1.65;color:var(--ink)}
.objective-steps pre{margin:10px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;font:13px/1.65 'Fira Code',Consolas,monospace;color:var(--ink);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
/* Barra superior de la portada: marca compacta, navegación centrada y acceso. */
.cf-header{background:#0B1121;border-bottom:1px solid #1E293B}
.cf-header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:68px;gap:24px}
.cf-brand{display:inline-flex;align-items:center;gap:10px;min-width:0;justify-self:start;text-decoration:none}
.cf-brand:hover{text-decoration:none}
.cf-brand-icon{display:block;width:38px;height:45px;object-fit:contain;flex:none}
.cf-brand-word{display:flex;flex-direction:column;line-height:1;white-space:nowrap}
.cf-brand-word b{font:800 18px/1 Nunito,Arial,sans-serif;color:#fff;letter-spacing:-.02em}
.cf-brand-word span{font:800 9px/1 Nunito,Arial,sans-serif;letter-spacing:.22em;margin-top:5px;color:#C026D3}
.cf-header nav{display:flex;justify-content:center;gap:30px;font-weight:600;font-size:13px;justify-self:center}
.cf-header nav a{color:#E2E8F0;white-space:nowrap}
.cf-header nav a:hover{color:#fff;text-decoration:none}
.cf-header .button.outline{justify-self:end;background:transparent;color:#fff;border:1px solid #94A3B8;border-radius:999px;min-height:36px;padding:9px 17px;font-size:13px;font-weight:700;gap:8px;flex-shrink:0}
.cf-header .button.outline:hover{background:#FFFFFF0D;border-color:#CBD5E1;box-shadow:none;transform:none}
.cf-header .button.outline .icon{width:15px;height:15px}
@media(max-width:1000px){.cf-header-inner{min-height:64px;gap:16px}.cf-brand-icon{width:35px;height:42px}.cf-brand-word b{font-size:17px}.cf-brand-word span{font-size:8px}.cf-header nav{gap:20px;font-size:13px}.cf-header .button.outline{min-height:34px;padding:8px 14px;font-size:12px}}
@media(max-width:760px){.cf-header-inner{min-height:60px;gap:12px}.cf-header nav{display:none}.cf-brand-icon{width:32px;height:38px}.cf-brand-word b{font-size:16px}.cf-brand-word span{font-size:8px;letter-spacing:.18em;margin-top:4px}.cf-header .button.outline{min-height:32px;padding:7px 12px;font-size:11px}.cf-header .button.outline .icon{width:13px;height:13px}}
/* Marca compacta en la barra lateral del campus. */
.sidebar .cf-brand{width:100%;margin:0 0 18px;padding:0 6px;gap:10px}
.sidebar .cf-brand-icon{width:42px;height:50px}
.sidebar .cf-brand-word b{font-size:20px}
.sidebar .cf-brand-word span{font-size:9px;letter-spacing:.2em}
/* Pantalla de carga inicial. */
#cf-app .loading-screen{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px 20px;text-align:center}
#cf-app .loading-logo{display:block;width:96px;height:115px;object-fit:contain;background:none;border:0;border-radius:0;padding:0;box-shadow:none;color:inherit}
#cf-app .loading-screen h1{margin:6px 0 0}
#cf-app .loading-screen p{margin:4px 0 0}
@media(max-width:760px){.sidebar .cf-brand{margin-bottom:14px}.sidebar .cf-brand-icon{width:38px;height:45px}.sidebar .cf-brand-word b{font-size:18px}#cf-app .loading-logo{width:80px;height:96px}}
