@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-SemiBold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-ExtraBold.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:"Baloo Bhaijaan 2";src:url(../fonts/baloo-bhaijaan-2-latin-wght-normal.woff2)format("woff2-variations");font-weight:400 800;font-display:swap;unicode-range:U+??,U+2000-206F}@font-face{font-family:"Baloo Bhaijaan 2";src:url(../fonts/baloo-bhaijaan-2-arabic-wght-normal.woff2)format("woff2-variations");font-weight:400 800;font-display:swap;unicode-range:U+6??,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC}:root{--sky:#38bdf8;--sky-soft:#dff3ff;--grape:#9b7bff;--grape-deep:#7c5cf0;--grape-soft:#ece6ff;--bubble:#ff5c8a;--bubble-soft:#ffe3ec;--sun:#ffd23f;--sun-deep:#fbb615;--sun-soft:#fff3c4;--mint:#2dd4a7;--mint-deep:#14b88a;--mint-soft:#d9f8ee;--tangerine:#ff9f43;--tangerine-soft:#ffe9d1;--coral:#ff6b6b;--cream:#fff7e6;--paper:#fffdf8;--ink:#2b2150;--ink-soft:#5b5180;--line:#e9dfc8;--round:"Baloo Bhaijaan 2", "Vazirmatn", ui-rounded, sans-serif;--sans:"Vazirmatn", ui-sans-serif, system-ui, sans-serif;--mono:"Cascadia Mono", "Cascadia Code", Consolas, "Courier New", monospace;--phase:var(--grape);--phase-soft:var(--grape-soft)}.phase-1{--phase:var(--mint);--phase-soft:var(--mint-soft)}.phase-2{--phase:var(--sky);--phase-soft:var(--sky-soft)}.phase-3{--phase:var(--tangerine);--phase-soft:var(--tangerine-soft)}.phase-4{--phase:var(--grape);--phase-soft:var(--grape-soft)}.phase-5{--phase:var(--bubble);--phase-soft:var(--bubble-soft)}*{box-sizing:border-box}html,body,#root{height:100%}body{background-color:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(#fbb61547 2px,#0000 2.4px);background-size:26px 26px;margin:0;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--round);margin:0;font-weight:800;line-height:1.2}p{margin:0}button{font:inherit;color:inherit}[dir=rtl]{line-height:1.9}::selection{background:var(--sun);color:var(--ink)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:linear-gradient(var(--sky), var(--grape));border:3px solid var(--cream);border-radius:99px}code{font-family:var(--mono);background:var(--grape-soft);color:var(--grape-deep);white-space:pre-wrap;unicode-bidi:isolate;border-radius:8px;padding:.1em .45em;font-size:.92em}.btn{font-family:var(--round);cursor:pointer;white-space:nowrap;border:3px solid var(--ink);color:var(--ink);box-shadow:0 4px 0 0 var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-size:1.05rem;font-weight:700;line-height:1.2;transition:transform .12s,box-shadow .12s,filter .2s;display:inline-flex}.btn:hover{box-shadow:0 6px 0 0 var(--ink);filter:brightness(1.04);transform:translateY(-2px)}.btn:active{box-shadow:0 1px 0 0 var(--ink);transform:translateY(3px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 4px 0 0 var(--ink);transform:none}.btn-sm{box-shadow:0 3px 0 0 var(--ink);border-width:2.5px;padding:.35rem .95rem;font-size:.92rem}.btn-sm:hover{box-shadow:0 5px 0 0 var(--ink)}.btn-sun{background:var(--sun)}.btn-sky{background:var(--sky);color:#fff}.btn-mint{background:var(--mint);color:#fff}.btn-grape{background:var(--grape);color:#fff}.btn-coral{background:var(--coral);color:#fff}.btn-white{background:#fff}.btn-sky,.btn-mint,.btn-grape,.btn-coral{text-shadow:0 1px #2b215059}.btn-run{min-width:9.5rem;padding:.7rem 2.4rem;font-size:1.35rem}.btn-run i{font-size:1.1rem}.btn-mint.btn-run{animation:2.6s ease-in-out infinite runPulse}.chip{font-family:var(--round);border:2.5px solid var(--ink);box-shadow:0 3px 0 0 var(--ink);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .9rem;font-size:.95rem;font-weight:700;display:inline-flex}.badge{font-family:var(--round);border:2px solid var(--ink);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}.badge-sun{background:var(--sun-soft)}.badge-mint,.level-easy{background:var(--mint-soft)}.level-medium{background:var(--sun-soft)}.level-hard{background:var(--bubble-soft)}.tile{border:3px solid var(--ink);width:3.6rem;height:3.6rem;box-shadow:0 4px 0 0 var(--ink);background:#fff;border-radius:1.1rem;flex:none;justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex}.tile-sm{width:2.6rem;height:2.6rem;box-shadow:0 3px 0 0 var(--ink);border-radius:.85rem;font-size:1.1rem}.tile-sun{background:var(--sun)}.tile-bubble{background:var(--bubble);color:#fff}.tile-white{background:#fff}.tile-phase{background:var(--phase);color:#fff}.card{border:3px solid var(--ink);box-shadow:0 6px 0 0 var(--ink);background:#fff;border-radius:1.6rem}button.card{cursor:pointer;text-align:left;transition:transform .16s,box-shadow .16s}button.card:hover{box-shadow:0 10px 0 0 var(--ink);transform:translate(-1px,-4px)}button.card:active{box-shadow:0 3px 0 0 var(--ink);transform:translateY(3px)}.c-sun{color:var(--sun-deep)}.c-grape{color:var(--grape-deep)}.bar{border:2.5px solid var(--ink);background:#fff;border-radius:99px;height:16px;display:block;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--mint), var(--sky));border-radius:99px;height:100%;transition:width .4s;display:block}.bar-sm{border-width:2px;flex:1;height:11px}.logo{align-items:center;gap:.7rem;display:inline-flex}.logo-tile{background:var(--sun);border:3px solid var(--ink);width:3rem;height:3rem;box-shadow:0 4px 0 0 var(--ink);border-radius:1rem;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex;transform:rotate(-6deg)}.logo-text{font-family:var(--round);letter-spacing:-.01em;font-size:1.9rem;font-weight:800}.logo-text b{color:var(--grape-deep);font-weight:800}.logo-sm .logo-tile{width:2.2rem;height:2.2rem;box-shadow:0 3px 0 0 var(--ink);border-width:2.5px;border-radius:.75rem;font-size:.95rem}.logo-sm .logo-text{font-size:1.35rem}.page{flex-direction:column;min-height:100%;display:flex}.page-fill{height:100%}.page-body{flex:1;min-height:0;padding:1rem 1.25rem 1.5rem}.topbar{background:var(--paper);border-bottom:3px solid var(--ink);z-index:20;align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex;position:sticky;top:0}.topbar-title{font-family:var(--round);align-items:center;gap:.6rem;min-width:0;font-size:1.3rem;font-weight:800;display:flex}.topbar-sep{color:var(--ink-soft);border-left:3px solid var(--line);padding-left:.7rem;font-weight:700}.topbar-right{align-items:center;gap:.6rem;margin-left:auto;display:flex}.pager{gap:.4rem;display:flex}.session-num{min-width:2.3rem;height:2.3rem;font-family:var(--round);background:var(--phase);color:#fff;border:2.5px solid var(--ink);box-shadow:0 3px 0 0 var(--ink);border-radius:.8rem;flex:none;justify-content:center;align-items:center;padding:0 .4rem;font-size:1.1rem;font-weight:800;display:inline-flex}.home{background:linear-gradient(#38bdf838,#0000 55%);flex-direction:column;min-height:100%;display:flex;position:relative;overflow:hidden}.home-bg .float{opacity:.9;font-size:2.6rem;animation:6s ease-in-out infinite floaty;position:absolute}.home-bg .f1{color:var(--sun-deep);top:24%;left:6%}.home-bg .f2{color:var(--bubble);animation-duration:8s;top:16%;right:5%}.home-bg .f3{color:var(--sky);animation-duration:7s;bottom:7%;left:44%}.home-bg .f4{color:var(--bubble);font-size:1.6rem;animation-duration:5s;top:11%;right:46%}.home-bg .f5{color:var(--grape);font-size:2rem;animation-duration:9s;bottom:12%;left:3%}.home-head{justify-content:space-between;align-items:center;padding:1.2rem 2rem;display:flex;position:relative}.home-main{flex:1;grid-template-columns:1.1fr .9fr;align-items:center;gap:3rem;width:100%;max-width:1180px;margin:0 auto;padding:1rem 2rem 3rem;display:grid;position:relative}.hero h1{margin:1rem 0 .8rem;font-size:clamp(2.2rem,4.6vw,3.8rem)}.hl-sky{color:#0ea5e9}.hl-bubble{color:#ec3a72}.hero-fa{color:var(--ink-soft);max-width:34rem;font-size:1.2rem;font-weight:500}.hero-window{border:3px solid var(--ink);max-width:26rem;box-shadow:0 7px 0 0 var(--ink);background:#fff;border-radius:1.4rem;margin-top:1.8rem;position:relative;transform:rotate(-1.5deg)}.hero-window-bar{border-bottom:3px solid var(--ink);background:var(--grape-soft);border-radius:1.2rem 1.2rem 0 0;align-items:center;gap:.4rem;padding:.55rem .9rem;display:flex}.hero-window-bar i{border:2px solid var(--ink);background:var(--coral);border-radius:50%;width:.8rem;height:.8rem}.hero-window-bar i:nth-child(2){background:var(--sun)}.hero-window-bar i:nth-child(3){background:var(--mint)}.hero-window-bar span{font-family:var(--mono);color:var(--ink-soft);margin-left:.5rem;font-size:.85rem}.hero-window pre{font-family:var(--mono);margin:0;padding:1.1rem 1.2rem 1.6rem;font-size:1.15rem}.k-fn{color:#0284c7}.k-str{color:#0f9d76}.hero-bubble{background:var(--sun);border:3px solid var(--ink);box-shadow:0 4px 0 0 var(--ink);font-family:var(--round);border-radius:1.2rem 1.2rem 1.2rem .3rem;padding:.5rem 1.1rem;font-size:1.1rem;font-weight:700;animation:2.6s ease-in-out infinite bob;position:absolute;bottom:-1.5rem;right:-1.6rem;transform:rotate(3deg)}.home-cards{gap:1.3rem;display:grid}.big-card{align-items:center;gap:1.1rem;width:100%;padding:1.4rem 1.5rem;display:flex}.card-sky{background:var(--sky-soft)}.card-grape{background:var(--grape-soft)}.big-card-text{flex-direction:column;flex:1;min-width:0;display:flex}.big-card-text b{font-family:var(--round);font-size:1.9rem;font-weight:800;line-height:1.2}.big-card-text span{color:var(--ink-soft);text-align:start;font-size:1.02rem;font-weight:500}.card-sky .tile{color:#0ea5e9}.card-grape .tile{color:var(--grape-deep)}.big-card-arrow{font-size:1.4rem;transition:transform .16s}.big-card:hover .big-card-arrow{transform:translate(5px)}.progress-card{background:#fff;gap:.8rem;padding:1.2rem 1.5rem;display:grid}.progress-top{font-family:var(--round);justify-content:space-between;font-size:1.1rem;font-weight:700;display:flex}.home-head-right{align-items:center;gap:.8rem;display:flex}.welcome{gap:1.2rem;width:100%;max-width:860px;margin:0 auto;padding:.5rem 1.5rem 3rem;display:grid;position:relative}.welcome-hero{text-align:center}.welcome-hero h1{margin:.4rem 0;font-size:clamp(1.9rem,4vw,3rem)}.welcome-hero p{color:var(--ink-soft);font-size:1.15rem;font-weight:500}.step{background:#fff;gap:.9rem;padding:1.1rem 1.3rem 1.3rem;display:grid}.step-title{align-items:center;gap:.6rem;margin:0;font-size:1.35rem;display:flex}.step-num{background:var(--sun);border:2.5px solid var(--ink);width:2.1rem;height:2.1rem;box-shadow:0 2px 0 0 var(--ink);border-radius:50%;flex:none;place-items:center;font-size:1.1rem;display:inline-grid}.course-pick{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.course-card{text-align:center;cursor:pointer;font:inherit;color:var(--ink);background:var(--paper);border:3px solid var(--line);opacity:.75;border-radius:1.3rem;flex-direction:column;align-items:center;gap:.3rem;padding:1.1rem 1rem 1rem;transition:transform .16s,box-shadow .16s,opacity .16s;display:flex;position:relative}.course-card:hover{opacity:1;transform:translateY(-2px)}.course-card.on{opacity:1;border-color:var(--ink);box-shadow:0 5px 0 0 var(--ink)}.course-icon{font-size:2.8rem}.course-python .course-icon{color:#0ea5e9}.course-html .course-icon{color:#f97316}.course-card b{font-family:var(--round);font-size:1.6rem;font-weight:800;line-height:1.1}.course-card span{font-size:1rem;font-weight:500}.course-card small{color:var(--ink-soft);font-size:.85rem}.course-check{top:.6rem;color:var(--mint-deep);font-size:1.5rem;position:absolute;inset-inline-end:.7rem}.level-pick{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.start-row{grid-template-columns:1fr auto;gap:1rem;display:grid}.start-main,.start-side{cursor:pointer;font:inherit;color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 0 var(--ink);border-radius:1.3rem;transition:transform .16s,box-shadow .16s}.start-main:hover,.start-side:hover{box-shadow:0 7px 0 0 var(--ink);transform:translateY(-2px)}.start-main{background:var(--mint);text-align:start;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.start-main .tile{color:var(--mint-deep)}.start-text{flex:1;gap:.25rem;min-width:0;display:grid}.start-text b{font-family:var(--round);font-size:1.6rem;font-weight:800;line-height:1.2}.start-text>span{font-weight:600}.start-side{background:var(--grape-soft);text-align:center;align-content:center;justify-items:center;gap:.15rem;padding:.8rem 1.4rem;display:grid}.start-side i{color:var(--grape-deep);font-size:1.6rem}.start-side b{font-family:var(--round);font-size:1.2rem}.start-side span{color:var(--ink-soft);font-size:.85rem;font-weight:500}[dir=rtl] .big-card-arrow{transform:none}[dir=rtl] .start-main:hover .big-card-arrow{transform:translate(-5px)}@media (width<=640px){.welcome{padding:.3rem .9rem 2rem}.course-pick,.start-row{grid-template-columns:1fr}.home-head-right .seg button{min-width:0;padding:.2rem .6rem}}.brief-example{gap:.4rem;margin-top:.8rem;font-size:.95rem;font-weight:600;display:grid}.brief-example>span,.brief-example summary{color:var(--ink-soft);align-items:center;gap:.4rem;display:inline-flex}.brief-example summary{cursor:pointer;font-family:var(--round);color:var(--grape-deep);font-weight:700}.brief-example pre,.answer pre{font-family:var(--mono);white-space:pre-wrap;background:var(--paper);border:2px solid var(--line);text-align:left;border-radius:.8rem;margin:0;padding:.6rem .8rem;font-size:.95rem}.check-list{margin:0;padding-inline-start:1.3rem;font-weight:500}.examples .example{gap:.3rem;margin-top:.6rem;display:grid}.examples .example p{font-weight:500}.help-steps{justify-items:start;gap:.6rem;margin-top:.9rem;display:grid}.answer{background:var(--mint-soft);border:2px solid var(--mint-deep);border-radius:.9rem;gap:.35rem;width:100%;padding:.7rem .8rem;font-weight:600;display:grid}.answer small{color:var(--ink-soft);font-weight:500}.toolbox{border-bottom:3px solid var(--ink);background:var(--tangerine-soft);flex-wrap:wrap;align-items:center;gap:.45rem;padding:.6rem .9rem;display:flex}.toolbox-label{font-family:var(--round);align-items:center;gap:.4rem;font-weight:700;display:inline-flex}html[data-level=starter] .editor-panel .toolbox{order:2}.lessons{gap:2.2rem;width:100%;max-width:1180px;margin:0 auto;padding-top:1.6rem;padding-bottom:3rem;display:grid}.phase-head{align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.phase-kicker{font-family:var(--round);color:var(--ink-soft);font-weight:700;line-height:1}.phase-head h2{font-size:1.8rem}.phase-fa{font-family:var(--round);color:var(--ink-soft);margin-left:auto;font-size:1.25rem;font-weight:700}.session-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.1rem;display:grid}.session-card{background:var(--phase-soft);flex-direction:column;gap:.3rem;padding:1rem 1.1rem;display:flex}.session-top{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.session-check{color:var(--mint-deep);margin-left:auto;font-size:1.5rem}.session-title{font-family:var(--round);font-size:1.2rem;font-weight:800;line-height:1.25}.session-fa{color:var(--ink-soft);text-align:right;font-size:.95rem;font-weight:500}.session-fa:empty,.phase-fa:empty{display:none}.session-progress{font-family:var(--round);align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;font-size:.9rem;font-weight:700;display:flex}.session{align-content:start;gap:1.4rem;width:100%;max-width:1180px;margin:0 auto;padding-top:1.4rem;padding-bottom:3rem;display:grid}.session-hero{background:var(--phase-soft);padding:1.4rem 1.7rem}.session-hero h1{margin-bottom:.3rem;font-size:2rem}.session-hero p{font-size:1.1rem;font-weight:500}.goals{gap:.25rem;margin:.8rem 0 0;padding:0;font-weight:500;list-style:none;display:grid}.goals i{color:var(--phase);margin-inline-end:.4rem}.session-cols{grid-template-columns:1.35fr 1fr;align-items:start;gap:1.6rem;display:grid}.col-title{align-items:center;gap:.6rem;margin-bottom:.9rem;font-size:1.4rem;display:flex}.col-title i{color:var(--phase)}.learn,.practice{gap:1rem;display:grid}.col-title{margin-bottom:0}.teach-card{padding:1.1rem 1.3rem 1.2rem;position:relative}.teach-num{background:var(--sun);border:2.5px solid var(--ink);width:2rem;height:2rem;font-family:var(--round);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute;top:-.9rem;left:1rem}.teach-text{white-space:pre-line;font-size:1.08rem;font-weight:500}.teach-code{margin-top:.8rem;position:relative}.teach-code pre{background:var(--paper);border:2.5px solid var(--ink);font-family:var(--mono);border-radius:1rem;margin:0;padding:.9rem 6.5rem .9rem 1.1rem;font-size:1rem;line-height:1.55;overflow-x:auto}.teach-code .btn{position:absolute;top:.6rem;right:.6rem}.q-row{width:100%;box-shadow:0 4px 0 0 var(--ink);border-radius:1.2rem;align-items:center;gap:.8rem;padding:.7rem 1rem;display:flex}.q-num{background:var(--phase-soft);border:2.5px solid var(--ink);width:2.2rem;height:2.2rem;font-family:var(--round);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex}.q-done{background:var(--mint-soft)}.q-done .q-num{background:var(--mint);color:#fff}.q-title{font-family:var(--round);flex:1;font-size:1.1rem;font-weight:700}.q-kind{color:var(--tangerine)}.final-card{justify-items:start;gap:1rem;padding:1.3rem;font-weight:500;display:grid}.question{grid-template-columns:minmax(280px,340px) 1fr;gap:1.1rem;display:grid}.brief{flex-direction:column;gap:1rem;min-height:0;padding:0 .2rem .6rem;display:flex;overflow-y:auto}.brief-card{background:var(--phase-soft);justify-items:start;gap:.8rem;padding:1.1rem 1.2rem 1.3rem;display:grid}.brief-top{gap:.5rem;display:flex}.brief-text{white-space:pre-line;font-size:1.1rem;font-weight:500}.brief-inputs{color:var(--ink-soft);gap:.3rem;width:100%;font-size:.92rem;display:grid}.brief-inputs div{flex-wrap:wrap;gap:.35rem;display:flex}.brief-inputs code{border:2px solid var(--ink);color:var(--ink);background:#fff}.hint{background:var(--sun-soft);border:2.5px dashed var(--ink);white-space:pre-line;border-radius:1rem;width:100%;padding:.6rem .9rem;font-weight:500}.hint i{color:var(--sun-deep)}.dots{gap:.35rem;display:flex}.dot{cursor:pointer;border:2.5px solid var(--ink);width:2rem;height:2rem;font-family:var(--round);background:#fff;border-radius:50%;padding:0;font-size:.9rem;font-weight:800}.dot-done{background:var(--mint);color:#fff}.dot-on{box-shadow:0 0 0 3px var(--sun), 0 0 0 5.5px var(--ink)}.result{justify-items:start;gap:.6rem;padding:1rem 1.2rem;font-weight:500;animation:.3s pop;display:grid}.result-title{font-family:var(--round);font-size:1.3rem;font-weight:800}.result-pass{background:var(--mint-soft)}.result-pass .result-title i{color:var(--sun-deep)}.result-fail{background:var(--sun-soft)}.result-wait{font-family:var(--round);background:#fff;font-weight:700}.result-error .error-card{margin:0}.tokens{flex-wrap:wrap;gap:.4rem;display:flex}.tokens code{border:2px solid var(--ink);color:var(--ink);background:#fff;font-size:1rem}.compare{gap:.5rem;width:100%;display:grid}.compare span{font-family:var(--round);color:var(--ink-soft);font-size:.85rem;font-weight:700}.compare pre{border:2.5px solid var(--ink);font-family:var(--mono);background:#fff;border-radius:.8rem;max-height:9rem;margin:0;padding:.5rem .7rem;font-size:.92rem;line-height:1.5;overflow:auto}.lines-note{color:var(--ink-soft);font-size:.9rem}.workbench{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.1rem;height:100%;min-height:0;display:grid}.panel{border:3px solid var(--ink);min-width:0;min-height:0;box-shadow:0 6px 0 0 var(--ink);background:#fff;border-radius:1.6rem;flex-direction:column;display:flex;overflow:hidden}.panel-head{border-bottom:3px solid var(--ink);background:var(--grape-soft);justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem .8rem;display:flex}.output-panel .panel-head{background:var(--mint-soft)}.panel-body{flex:1;min-height:0;position:relative}.panel-foot{border-top:3px solid var(--ink);background:var(--paper);flex-wrap:wrap;align-items:center;gap:.8rem;padding:.75rem 1rem .95rem;display:flex}.tabs{gap:.4rem;display:flex}.tab{cursor:pointer;font-family:var(--round);color:var(--ink-soft);background:0 0;border:2.5px solid #0000;border-radius:999px;align-items:center;gap:.45rem;padding:.25rem 1rem;font-size:1.02rem;font-weight:700;display:inline-flex}.tab:hover{background:#fff9}.tab.on{border-color:var(--ink);color:var(--ink);box-shadow:0 3px 0 0 var(--ink);background:#fff}.zoom{font-family:var(--round);align-items:center;gap:.3rem;font-weight:800;display:flex}.zoom button{cursor:pointer;border:2.5px solid var(--ink);background:#fff;border-radius:50%;width:1.8rem;height:1.8rem;padding:0;font-size:.75rem}.zoom button:disabled{opacity:.4;cursor:default}.status-pill{font-family:var(--round);color:var(--mint-deep);align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;display:inline-flex}.editor-body{background:var(--paper);flex-direction:column;display:flex}.code-editor{flex:1;height:100%;min-height:0}.code-editor .cm-editor{height:100%;font-size:var(--code-size,18px);background:var(--paper)}.code-editor .cm-editor.cm-focused{outline:none}.code-editor .cm-scroller{font-family:var(--mono);line-height:1.65}.code-editor .cm-content{caret-color:var(--bubble);padding:.8rem 0}.code-editor .cm-gutters{background:var(--grape-soft);color:#a79ccb;font-family:var(--mono);border-right:2px solid #ddd3f7}.code-editor .cm-lineNumbers .cm-gutterElement{padding:0 .7rem 0 .9rem}.code-editor .cm-activeLine{background:#ffd23f29}.code-editor .cm-activeLineGutter{background:var(--sun);color:var(--ink);font-weight:700}.code-editor .cm-cursor{border-left:3px solid var(--bubble)}.code-editor .cm-selectionBackground,.code-editor .cm-focused .cm-selectionBackground{background:#d9ecff!important}.code-editor .cm-matchingBracket{background:var(--mint-soft);outline:2px solid var(--mint);border-radius:4px}.code-editor .cm-error-line{background:var(--bubble-soft);box-shadow:inset 5px 0 0 var(--bubble)}.code-editor .cm-tooltip{border:2.5px solid var(--ink);background:#fff;border-radius:.8rem;overflow:hidden}.block-editor{flex:1;min-height:0}.generated{border-top:3px solid var(--ink);flex-direction:column;height:32%;min-height:7.5rem;display:flex}.generated-label{font-family:var(--round);background:var(--sun-soft);border-bottom:2px solid var(--line);padding:.25rem .9rem;font-size:.9rem;font-weight:700}.generated-label i{color:var(--grape-deep)}.blocklyToolbox{border-right:3px solid var(--ink);min-width:8.2rem;padding:.5rem .4rem}.blocklyToolboxCategory{cursor:pointer;background:var(--paper);border-radius:.8rem;margin:.25rem 0;border-left-width:10px!important;height:auto!important;padding:.3rem .7rem!important}.blocklyToolboxCategory:hover{background:var(--grape-soft)}.blocklyToolboxCategory.blocklyToolboxSelected{background:var(--sun)!important}.blocklyToolboxCategoryLabel{font-family:var(--round)!important;color:var(--ink)!important;font-size:1.05rem!important;font-weight:700!important}.blocklyToolboxCategoryIcon{display:none!important}.blocklyMainBackground{stroke:none!important}.output-body{background:var(--paper)}.screen{padding:.9rem 1.1rem 1.2rem;position:absolute;inset:0;overflow:auto}.screen-text{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;unicode-bidi:plaintext;margin:0;font-size:1.12rem;line-height:1.6}.screen-text:empty{display:none}.echo{background:var(--sky-soft);color:#0369a1;border-radius:6px;padding:0 .35em;font-weight:700}.caret{vertical-align:text-bottom;background:var(--bubble);border-radius:2px;width:.6em;height:1.1em;animation:1s steps(2,end) infinite blink;display:inline-block}.screen-empty{height:100%;color:var(--ink-soft);font-family:var(--round);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:1.1rem;font-weight:600;display:flex}.screen-empty .tile{color:var(--ink);animation:2.4s ease-in-out infinite bob}.end-note{font-family:var(--round);color:var(--ink-soft);background:#f1ecff;border-radius:999px;align-items:center;gap:.45rem;margin-top:.8rem;padding:.15rem .9rem;font-size:.9rem;font-weight:700;display:inline-flex}.end-ok{background:var(--mint-soft);color:var(--mint-deep)}.end-warn{background:var(--sun-soft);color:var(--ink);font-family:var(--sans);border:2.5px dashed var(--ink);border-radius:1rem;padding:.6rem .9rem;font-size:1rem;font-weight:500;display:block}.error-card{border:3px solid var(--ink);box-shadow:0 6px 0 0 var(--ink);background:#fff;border-radius:1.4rem;margin-top:.9rem;animation:.3s pop;overflow:hidden}.error-ribbon{background:linear-gradient(90deg, var(--bubble-soft), var(--sun-soft));border-bottom:3px solid var(--ink);align-items:center;gap:.7rem;padding:.55rem .9rem;display:flex}.error-face{background:var(--bubble);color:#fff;border:2.5px solid var(--ink);width:2.5rem;height:2.5rem;box-shadow:0 3px 0 0 var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.1rem;animation:2.4s ease-in-out infinite wiggle;display:inline-flex}.error-kicker{font-family:var(--round);flex:1;font-size:1.05rem;font-weight:800}.line-chip{border:2.5px solid var(--ink);font-family:var(--round);box-shadow:0 2px 0 0 var(--ink);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.92rem;font-weight:700;display:inline-flex}.line-chip i{color:var(--bubble)}.error-main{gap:.75rem;padding:.9rem 1rem 1rem;display:grid}.error-title{font-family:var(--round);font-size:1.3rem;font-weight:800;line-height:1.7}.error-title code{background:var(--bubble-soft);color:#c2255c;font-size:.85em}.error-code{background:var(--paper);border:2.5px solid var(--ink);border-radius:.9rem;align-items:stretch;display:flex;overflow:hidden}.error-code-num{background:var(--bubble);color:#fff;font-family:var(--mono);border-right:2.5px solid var(--ink);align-items:center;padding:0 .7rem;font-weight:700;display:flex}.error-code pre{font-family:var(--mono);-webkit-text-decoration:underline wavy var(--bubble);text-decoration:underline wavy var(--bubble);text-underline-offset:5px;flex:1;margin:0;padding:.5rem .8rem;font-size:1.05rem;text-decoration-thickness:1.5px;overflow-x:auto}.error-explain{align-items:flex-start;gap:.6rem;font-size:1.04rem;font-weight:500;display:flex}.error-explain-icon{background:var(--sun);border:2px solid var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;margin-top:.15rem;font-size:.85rem;display:inline-flex}.fix-box{background:var(--mint-soft);border:2.5px dashed var(--mint-deep);border-radius:1rem;gap:.45rem;padding:.6rem .8rem .75rem;display:grid}.fix-label{font-family:var(--round);color:#0b7a5c;font-size:.95rem;font-weight:800}.fix-row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.fix-row pre{border:2.5px solid var(--ink);min-width:8rem;font-family:var(--mono);background:#fff;border-radius:.8rem;flex:1;margin:0;padding:.45rem .8rem;font-size:1.05rem;overflow-x:auto}.fix-done{font-family:var(--round);color:#0b7a5c;font-weight:700}.error-raw{font-family:var(--mono);color:#8a7fa8;word-break:break-word;font-size:.8rem}.error-raw summary{cursor:pointer;font-family:var(--round);width:fit-content;font-size:.85rem;font-weight:700}.error-raw[open] summary{margin-bottom:.2rem}.canvas-wrap{background:repeating-conic-gradient(#f4eefb 0% 25%,#fffdf8 0% 50%) 0 0/28px 28px;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.canvas-wrap canvas{aspect-ratio:4/3;border:3px solid var(--ink);max-width:100%;max-height:100%;box-shadow:0 5px 0 0 var(--ink);background:#fff;border-radius:1rem}.answer-row{border-top:3px solid var(--ink);background:var(--sky-soft);align-items:center;gap:.7rem;padding:.65rem .9rem .8rem;animation:.25s pop;display:flex}.answer-row>i{color:#0284c7;font-size:1.2rem}.answer-row input{border:2.5px solid var(--ink);min-width:0;font-family:var(--mono);color:var(--ink);background:#fff;border-radius:999px;outline:none;flex:1;padding:.45rem .9rem;font-size:1.08rem}.answer-row input:focus{box-shadow:0 0 0 3px var(--sun)}@keyframes floaty{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-16px)rotate(4deg)}}@keyframes bob{0%,to{translate:0}50%{translate:0 -7px}}@keyframes wiggle{0%,to{rotate:-8deg}50%{rotate:8deg}}@keyframes runPulse{0%,to{filter:brightness()}50%{filter:brightness(1.1)saturate(1.15)}}@keyframes blink{50%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}.lang-switch{border:2.5px solid var(--ink);box-shadow:0 3px 0 0 var(--ink);background:#fff;border-radius:999px;gap:3px;padding:3px;display:flex}.lang-switch button{cursor:pointer;font-family:var(--round);color:var(--ink-soft);background:0 0;border:0;border-radius:999px;align-items:center;gap:.45rem;padding:.2rem 1.1rem;font-size:1.02rem;font-weight:700;display:inline-flex}.lang-switch button.on{background:var(--sun);color:var(--ink)}.lang-switch button:first-child.on{background:var(--sky);color:#fff}.lang-switch button:last-child.on{background:var(--tangerine);color:#fff}.web-body{background:#fff}.web-body iframe{background:#fff;border:0;width:100%;height:100%;position:absolute;inset:0}.web-error{border-top:3px solid var(--ink);background:var(--bubble-soft);font-family:var(--round);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .9rem;font-weight:700;display:flex}.web-error>i{color:var(--bubble)}.web-error code{color:#c2255c;background:#fff;font-weight:400}span.tab{cursor:default}.setup{border-radius:1.4rem;gap:.55rem;max-width:33rem;margin-top:1.3rem;padding:.9rem 1.1rem .8rem;display:grid}.picker{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.picker-title{font-family:var(--round);align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:inline-flex}.picker-title i{color:var(--grape-deep);text-align:center;width:1.2rem}.seg{background:var(--paper);border:2.5px solid var(--ink);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.seg button{cursor:pointer;font-family:var(--round);color:var(--ink-soft);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-width:5.6rem;padding:.2rem .95rem;font-size:.98rem;font-weight:700;display:inline-flex}.seg button.on{background:var(--sun);color:var(--ink);box-shadow:0 2px 0 0 var(--ink)}.seg button.on-python{background:var(--sky);color:#fff}.seg button.on-html{background:var(--tangerine);color:#fff}.seg button.on-starter{background:var(--mint);color:#fff}.seg button.on-pro{background:var(--grape);color:#fff}.setup-note{color:var(--ink-soft);font-size:.88rem;font-weight:500}.simple-blocks{flex-direction:column;flex:1;min-height:0;display:flex}.sb-palette{border-bottom:3px solid var(--ink);background:#fff;flex-wrap:wrap;gap:.5rem;padding:.7rem .8rem;display:flex}.sb-output{--b:var(--sky)}.sb-data{--b:var(--bubble)}.sb-control{--b:var(--sun-deep)}.sb-draw{--b:var(--mint)}.sb-note{--b:#b8b2d1}.sb-chip{cursor:pointer;border:2.5px solid var(--ink);box-shadow:0 3px 0 0 var(--ink);background:var(--b);font-family:var(--round);color:#fff;text-shadow:0 1px #2b215066;border-radius:.9rem;align-items:center;gap:.4rem;padding:.35rem .9rem;font-size:1.02rem;font-weight:700;transition:transform .1s,box-shadow .1s;display:inline-flex}.sb-chip:hover{box-shadow:0 5px 0 0 var(--ink);transform:translateY(-2px)}.sb-chip:active{box-shadow:0 1px 0 0 var(--ink);transform:translateY(2px)}.sb-program{background:var(--paper);flex-direction:column;flex:1;align-items:flex-start;gap:.5rem;min-height:0;padding:.9rem;display:flex;overflow:auto}.sb-block{border:2.5px solid var(--ink);background:var(--b);box-shadow:0 3px 0 0 var(--ink);border-radius:1rem;max-width:100%}.sb-row{font-family:var(--mono);color:#fff;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.4rem .6rem .4rem .8rem;font-size:1.05rem;display:flex}.sb-row b{font-family:var(--round);text-shadow:0 1px #2b215066;font-size:1.1rem;font-weight:800}.sb-block:has(>.sb-body)>.sb-row{cursor:pointer}.sb-input{box-sizing:content-box;font-family:var(--mono);border:2px solid var(--ink);color:var(--ink);background:#fff;border-radius:.6rem;outline:none;max-width:100%;padding:.15rem .45rem;font-size:1rem}.sb-input:focus{box-shadow:0 0 0 3px var(--sun)}.sb-quoted{background:var(--sun-soft)}.sb-toggle{cursor:pointer;font-family:var(--round);border:2px solid var(--ink);color:var(--ink);background:#ffffff8c;border-radius:999px;padding:.05rem .55rem;font-size:.8rem;font-weight:700}.sb-toggle.on{background:#fff}.sb-tools{gap:.2rem;margin-left:auto;padding-left:.5rem;display:inline-flex}.sb-tools button{cursor:pointer;border:2px solid var(--ink);width:1.6rem;height:1.6rem;color:var(--ink);background:#ffffffbf;border-radius:50%;padding:0;font-size:.7rem}.sb-tools .sb-delete{color:#e03131;background:#fff}.sb-body{border:2px dashed var(--ink);background:#ffffff8c;border-radius:.8rem;flex-direction:column;align-items:flex-start;gap:.45rem;min-width:12rem;margin:0 .5rem .5rem 1.4rem;padding:.5rem;display:flex}.sb-target{outline:4px solid var(--grape);outline-offset:2px}.sb-empty{font-family:var(--round);color:var(--ink-soft);padding:.2rem .3rem;font-size:.88rem;font-weight:600}.sb-start{color:var(--ink-soft);font-family:var(--round);text-align:center;flex-direction:column;align-items:center;gap:.7rem;margin:auto;font-size:1.1rem;font-weight:600;display:flex}.sb-start i{color:var(--grape);font-size:2rem;animation:2.4s ease-in-out infinite bob}.sb-clear{cursor:pointer;color:var(--ink-soft);font-family:var(--round);background:0 0;border:0;margin-top:.6rem;font-size:.88rem;font-weight:700}.sb-clear:hover{color:#e03131}html[data-level=starter] .btn-run{min-width:14rem;box-shadow:0 6px 0 0 var(--ink);border-width:3.5px;padding:.95rem 3.4rem;font-size:2rem}html[data-level=starter] .btn-run:hover{box-shadow:0 8px 0 0 var(--ink)}html[data-level=starter] .btn-run i{font-size:1.6rem}html[data-level=starter] .panel-foot .btn:not(.btn-run){padding:.7rem 1.5rem;font-size:1.2rem}html[data-level=starter] .screen-text{font-family:var(--round);font-size:2.1rem;font-weight:700;line-height:1.45}html[data-level=starter] .screen{padding:1.1rem 1.4rem 1.4rem}html[data-level=starter] .answer-row input{padding:.6rem 1.1rem;font-size:1.5rem}html[data-level=starter] .answer-row .btn{padding:.55rem 1.2rem;font-size:1.15rem}html[data-level=starter] .tab{font-size:1.12rem}html[data-level=starter] .end-note{font-size:1.05rem}html[data-level=starter] .editor-panel .panel-foot{border-top:0;border-bottom:3px solid var(--ink);order:1;padding:.8rem 1rem 1rem}html[data-level=starter] .editor-panel .panel-body{order:2}.tour-on{z-index:2;animation:1s ease-in-out infinite tourBlink;position:relative}.panel-body.tour-on{animation-name:tourBlinkInside}.panel-body.tour-on:after{content:"";pointer-events:none;z-index:5;animation:1s ease-in-out infinite tourBlinkInside;position:absolute;inset:0}@keyframes tourBlinkInside{0%,to{box-shadow:inset 0 0 0 5px var(--sun)}50%{box-shadow:inset 0 0 0 9px var(--bubble)}}.tour{z-index:50;border:3px solid var(--ink);width:min(40rem,100vw - 1.4rem);box-shadow:0 7px 0 0 var(--ink), 0 0 0 6px #ffd23f8c;background:#fff;border-radius:1.4rem;align-items:center;gap:.9rem;padding:.9rem 1.1rem;animation:.3s pop;display:flex;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.tour-text{flex:1;min-width:0}.tour-text b{font-family:var(--round);font-size:1.25rem;font-weight:800}.tour-text p{font-size:1.08rem;font-weight:500}.tour-buttons{flex-direction:column;gap:.5rem;display:flex}@keyframes tourBlink{0%,to{box-shadow:0 0 0 4px var(--sun), 0 0 0 7px var(--ink)}50%{box-shadow:0 0 0 9px var(--bubble), 0 0 0 12px var(--ink)}}@media (width<=1050px){.home-main{grid-template-columns:1fr;gap:1.6rem}.setup{max-width:none}.session-cols{grid-template-columns:1fr}.page-fill{height:auto;min-height:100%}.question{grid-template-columns:1fr}.brief{overflow:visible}.workbench{grid-template-columns:1fr;height:auto}.editor-panel{height:min(34rem,70vh)}.output-panel{height:min(26rem,60vh)}}@media (width<=640px){body{font-size:15px}.page-body{padding:.7rem .6rem 1.2rem}.topbar{flex-wrap:wrap;gap:.5rem .6rem;padding:.5rem .6rem}.topbar-title{font-size:1.05rem}.topbar-title .logo{display:none}.topbar-sep{border-left:0;padding-left:0}.topbar-right{max-width:100%}.dots{max-width:100%;padding:4px 6px 6px;overflow-x:auto}.dot{flex:none}.home-head{padding:.8rem .9rem}.home-main{padding:.4rem .9rem 2rem}.home-bg{display:none}.logo-text{font-size:1.5rem}.logo-tile{width:2.5rem;height:2.5rem}.hero h1{margin-top:.3rem;font-size:2rem}.hero-fa{font-size:1.05rem}.picker{flex-direction:column;align-items:stretch;gap:.3rem}.seg{display:flex}.seg button{flex:1;min-width:0}.big-card{gap:.8rem;padding:1rem}.big-card-text b{font-size:1.45rem}.big-card .tile{width:3rem;height:3rem;font-size:1.2rem}.phase-head{flex-wrap:wrap;gap:.6rem}.phase-head h2{font-size:1.4rem}.phase-fa{width:100%;margin-left:0;font-size:1.05rem}.session-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}.session-card{padding:.8rem}.session-title{font-size:1.05rem}.session-hero{padding:1rem 1.1rem}.session-hero h1{font-size:1.5rem}.teach-code pre{padding-bottom:3.2rem;padding-right:1.1rem;font-size:.92rem}.teach-code .btn{top:auto;bottom:.6rem}.card,.panel{border-radius:1.2rem}.panel-head{padding:.45rem .5rem}.tab{padding:.2rem .6rem;font-size:.95rem}.panel-foot{gap:.5rem;padding:.6rem .6rem .75rem}.panel-foot .btn-run{flex:100%}.panel-foot .btn:not(.btn-run){flex:1}.editor-panel{height:68vh}.output-panel{height:55vh}.generated{height:28%}.sb-palette{gap:.35rem;max-height:8.5rem;padding:.5rem;overflow:auto}.sb-chip{padding:.3rem .65rem;font-size:.92rem}.sb-body{min-width:0;margin-left:.7rem}.error-title{font-size:1.1rem}.fix-row .btn{width:100%}.answer-row{flex-wrap:wrap}.answer-row>i{display:none}.tour{flex-wrap:wrap;padding:.7rem .8rem;bottom:.6rem}.tour .tile{display:none}.tour-buttons{flex-direction:row;justify-content:flex-end;width:100%}html[data-level=starter] .btn-run{min-width:0;padding:.8rem 1.5rem;font-size:1.6rem}html[data-level=starter] .screen-text{font-size:1.6rem}}.tour-on{outline:5px solid var(--bubble);outline-offset:3px}.panel-body.tour-on{outline:none}.panel-body.tour-on:after{box-shadow:inset 0 0 0 6px var(--bubble)}.tour-on,.panel-body.tour-on:after{animation-duration:1s!important;animation-iteration-count:infinite!important}.modal-back{z-index:60;background:#2b215073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{gap:.8rem;width:min(26rem,100%);padding:1.2rem 1.3rem 1.3rem;animation:.25s pop;display:grid}.modal-head{font-family:var(--round);align-items:center;gap:.7rem;font-size:1.4rem;font-weight:800;display:flex}.modal-note{color:var(--ink-soft);font-weight:500}.pin-field{font-family:var(--round);gap:.25rem;font-weight:700;display:grid}.pin-field input{font-family:var(--mono);letter-spacing:.4em;border:2.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:.9rem;outline:none;padding:.45rem .9rem;font-size:1.5rem}.pin-field input:focus{box-shadow:0 0 0 3px var(--sun)}.modal-error{color:#c2255c;font-weight:700}.modal-buttons{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.teacher-intro{background:var(--sun-soft);gap:.5rem;padding:1.2rem 1.5rem;font-weight:500;display:grid}.teacher-intro h1{font-size:1.7rem}.teacher-intro ul{margin:0;padding-inline-start:1.3rem}.session-card:disabled{opacity:.55;cursor:default;box-shadow:0 6px 0 0 var(--ink);transform:none}.plan{align-content:start;gap:1.3rem;width:100%;max-width:1080px;margin:0 auto;padding-top:1.4rem;padding-bottom:3rem;display:grid}.plan-kicker{font-family:var(--round);color:var(--ink-soft);font-weight:700}.plan-level{margin-top:.9rem}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:1.1rem;display:grid}.plan-block{gap:.6rem;padding:1rem 1.2rem 1.1rem;display:grid}.plan-block h3{align-items:center;gap:.5rem;font-size:1.15rem;display:flex}.plan-block h3 i{color:var(--phase)}.plan-block ul{gap:.35rem;margin:0;padding-inline-start:1.2rem;font-weight:500;display:grid}.plan-text{white-space:pre-line;font-weight:500}.vocab{gap:.45rem;margin:0;display:grid}.vocab div{grid-template-columns:auto 1fr;align-items:baseline;gap:.6rem;display:grid}.vocab dt{font-family:var(--mono);background:var(--grape-soft);color:var(--grape-deep);border-radius:.5rem;padding:0 .45rem;font-weight:700}.vocab dd{margin:0;font-weight:500}.timeline{gap:.9rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.plan-step{border-inline-start:10px solid var(--phase);gap:.55rem;padding:.9rem 1.1rem 1rem;display:grid}.plan-step-head{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.plan-step-head b{font-family:var(--round);flex:1;font-size:1.2rem}.plan-time{font-family:var(--round);background:var(--phase-soft);border:2.5px solid var(--ink);border-radius:.8rem;align-items:baseline;gap:.3rem;padding:.05rem .7rem;font-size:1.15rem;font-weight:800;display:inline-flex}.plan-time small{color:var(--ink-soft);font-size:.75rem;font-weight:700}.plan-min{font-family:var(--round);color:var(--ink-soft);font-size:.9rem;font-weight:700}.plan-row{grid-template-columns:7.5rem 1fr;align-items:start;gap:.7rem;display:grid}.plan-row-label{font-family:var(--round);color:var(--ink-soft);align-items:center;gap:.4rem;padding-top:.15rem;font-size:.95rem;font-weight:800;display:inline-flex}.plan-row p{white-space:pre-line;font-weight:500}.plan-say p{background:var(--sun-soft);border:2px dashed var(--sun-deep);border-radius:.9rem;padding:.45rem .8rem;font-weight:600}.misc{gap:.8rem;display:grid}.misc>div{border-bottom:2px dashed var(--line);gap:.2rem;padding-bottom:.7rem;display:grid}.misc>div:last-child{border-bottom:0;padding-bottom:0}.misc p{font-weight:500}.misc-mistake{color:#c2255c;font-weight:700!important}.misc .fa-check{color:var(--mint-deep)}.answers{padding:1rem 1.2rem}.answers summary{cursor:pointer;font-family:var(--round);font-size:1.15rem;font-weight:800}.answer{gap:.4rem;margin-top:.9rem;display:grid}.answer-head{align-items:center;gap:.6rem;display:flex}.answer pre{background:var(--paper);border:2.5px solid var(--ink);font-family:var(--mono);border-radius:.9rem;margin:0;padding:.7rem .9rem;font-size:.95rem;overflow-x:auto}.print-only{display:none}@media (width<=640px){.plan-row{grid-template-columns:1fr;gap:.2rem}.home-head-right{flex-wrap:wrap;justify-content:flex-end}}@media print{body{background:#fff}.topbar,.no-print,.home-bg{display:none!important}.print-only{margin-top:.4rem;font-weight:700;display:block}.card{break-inside:avoid;box-shadow:none!important}.plan{max-width:none;padding:0}.answers:not([open]){display:none}}.tried-with{width:100%;color:var(--ink-soft);gap:.3rem;font-size:.92rem;font-weight:600;display:grid}.tried-with div{flex-wrap:wrap;gap:.35rem;display:flex}.tried-with code{border:2px solid var(--ink);color:var(--ink);background:#fff}.result-error .tried-with{margin-bottom:.5rem}.web-detail{border:2.5px dashed var(--ink);background:#fff;border-radius:.9rem;width:100%;padding:.45rem .75rem}.web-detail i{color:var(--grape-deep)}.course-pick{grid-template-columns:repeat(3,1fr)}.course-zero.on{background:var(--mint-soft)}.course-zero .course-icon{color:var(--mint-deep)}.phase-6{--phase:var(--sun-deep);--phase-soft:var(--sun-soft)}.later-card{background:var(--sun-soft);gap:.6rem;padding:1rem 1.2rem;display:grid}.later-card h3{align-items:center;gap:.5rem;font-size:1.1rem;display:flex}.later-card h3 i{color:var(--grape-deep)}.later-card ul{gap:.5rem;margin:0;padding:0;font-weight:500;list-style:none;display:grid}.later-card .badge{background:#fff}.flowchart{justify-content:center;padding:.4rem 0;display:flex;overflow-x:auto}.flowchart svg{flex:none;max-width:100%;height:auto}.flow-edge{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linejoin:round}.flow-arrowhead{fill:var(--ink)}.flow-label{font-family:var(--round);paint-order:stroke;stroke:var(--paper);stroke-width:5px;font-size:15px;font-weight:800}.flow-yes{fill:#0b7a5c}.flow-no{fill:#c2255c}.flow-node rect,.flow-node polygon{stroke:var(--ink);stroke-width:3px;stroke-linejoin:round}.flow-start rect,.flow-end rect{fill:var(--mint-soft)}.flow-io polygon{fill:var(--sky-soft)}.flow-process rect{fill:var(--sun-soft)}.flow-decision polygon{fill:var(--bubble-soft)}.flow-text{text-align:center;height:100%;font-family:var(--sans);color:var(--ink);justify-content:center;align-items:center;font-size:14px;font-weight:700;line-height:1.25;display:flex;overflow:hidden}.flow-decision .flow-text{padding:0 14px;font-size:13px}.flow-blank{cursor:pointer}.flow-empty rect{fill:#fff;stroke-dasharray:8 6}.flow-empty .flow-text{font-family:var(--round);color:var(--ink-soft);font-size:24px}.flow-active rect,.flow-active polygon{stroke:var(--grape-deep);stroke-width:5px}.flow-active.flow-empty rect{fill:var(--grape-soft)}.flow-piece{cursor:pointer;background:0 0;border:0;padding:0;transition:transform .12s}.flow-piece:hover{transform:translateY(-3px)}.flow-build{gap:.8rem;display:grid}.flow-tray{gap:.5rem;display:grid}.activity{align-content:start;gap:1.1rem;width:100%;max-width:980px;margin:0 auto;padding-top:1.3rem;padding-bottom:3rem;display:grid}.activity-brief{justify-items:start}.activity-brief .brief-text{font-size:1.25rem}.activity-card{gap:1rem;padding:1.2rem 1.3rem 1.4rem;display:grid}.activity-foot{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.activity-note{color:var(--ink-soft);font-weight:600}.act-tip{font-family:var(--round);color:var(--ink-soft);font-size:.98rem;font-weight:600}.act-tip i{color:var(--grape-deep)}.act-code{background:var(--paper);border:2.5px solid var(--ink);font-family:var(--mono);border-radius:1rem;margin:0;padding:.8rem 1rem;font-size:1.1rem;overflow-x:auto}.algo{padding:.8rem 1rem;background:var(--paper);border:2.5px solid var(--ink);border-radius:1rem;gap:.3rem;margin:0;padding-inline-start:2.4rem;font-size:1.1rem;font-weight:600;display:grid}.choices{gap:.7rem;display:grid}.choice{text-align:start;cursor:pointer;border:3px solid var(--ink);box-shadow:0 4px 0 0 var(--ink);font-family:var(--sans);background:#fff;border-radius:1.1rem;align-items:center;gap:.8rem;padding:.8rem 1rem;font-size:1.15rem;font-weight:600;transition:transform .12s,box-shadow .12s;display:flex}.choice:hover{box-shadow:0 6px 0 0 var(--ink);transform:translateY(-2px)}.choice.on{background:var(--grape-soft)}.choice-mark{border:2.5px solid var(--ink);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.8rem;height:1.8rem;font-size:.8rem;display:inline-flex}.choice.on .choice-mark{background:var(--grape);color:#fff}.act-input{font-family:var(--round);gap:.4rem;font-size:1.1rem;font-weight:700;display:grid}.act-input input{font-family:var(--mono);border:3px solid var(--ink);background:var(--paper);max-width:18rem;color:var(--ink);border-radius:1rem;outline:none;padding:.5rem 1rem;font-size:1.6rem}.act-input input:focus{box-shadow:0 0 0 4px var(--sun)}.tray{flex-wrap:wrap;align-items:center;gap:.6rem;min-height:3.2rem;display:flex}.tray-empty{font-family:var(--round);color:var(--ink-soft);font-weight:600}.card-chip{cursor:pointer;border:2.5px solid var(--ink);background:var(--sun-soft);box-shadow:0 3px 0 0 var(--ink);font-family:var(--sans);border-radius:1rem;padding:.5rem 1rem;font-size:1.08rem;font-weight:700;transition:transform .1s,box-shadow .1s}.card-chip:hover{box-shadow:0 5px 0 0 var(--ink);transform:translateY(-2px)}.card-chip.on{background:var(--grape);color:#fff}.card-chip.placed{box-shadow:0 2px 0 0 var(--ink);background:#fff;font-size:1rem}.sorter,.orderer{gap:.9rem;display:grid}.bins{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;display:grid}.bin{border:3px dashed var(--ink);background:var(--phase-soft);border-radius:1.2rem;align-content:start;gap:.6rem;min-height:9rem;padding:.7rem;display:grid}.bin.ready{cursor:pointer;box-shadow:0 0 0 4px var(--sun);border-style:solid}.bin>b{font-family:var(--round);text-align:center;font-size:1.25rem}.bin-items{flex-wrap:wrap;gap:.45rem;display:flex}.sequence{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.sequence li{border:2.5px solid var(--ink);box-shadow:0 3px 0 0 var(--ink);background:#fff;border-radius:1rem;align-items:center;gap:.7rem;padding:.5rem .7rem;display:flex}.sequence .sequence-empty{box-shadow:none;color:var(--ink-soft);font-family:var(--round);border-style:dashed;justify-content:center;font-weight:600}.sequence-text{flex:1;font-size:1.08rem;font-weight:700}.sequence .sb-tools{margin:0;padding:0}.sequence .sb-tools button:disabled{opacity:.3;cursor:default}.robot{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.robot-board{background:var(--ink);border-radius:1.1rem;justify-self:center;gap:5px;width:100%;max-width:26rem;padding:8px;display:grid}.cell{aspect-ratio:1;background:var(--paper);border-radius:.55rem;justify-content:center;align-items:center;font-size:clamp(1rem,3.4vw,1.9rem);display:flex;position:relative}.cell.wall{background:repeating-linear-gradient(45deg,#5b5180,#5b5180 6px,#453c66 6px 12px)}.cell-star{color:var(--sun-deep);animation:2s ease-in-out infinite bob}.bot{background:var(--sky);color:#fff;border:2.5px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:.75em;transition:rotate .25s;display:flex;position:absolute;inset:12%}.bot i{rotate:-45deg}.bot.crashed{background:var(--coral);animation:.4s shakeBot}.robot-side{gap:.7rem;display:grid}.robot-palette{border:2.5px solid var(--ink);border-radius:1rem}.sb-chip:disabled{opacity:.5;cursor:default;transform:none}.robot-program{border:2.5px dashed var(--ink);background:var(--paper);border-radius:1rem;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:.45rem;min-height:7rem;padding:.7rem;display:flex}.robot-step{color:#fff;font-family:var(--round);text-shadow:0 1px #2b215066;align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .7rem;font-weight:700;display:inline-flex}.step-x{cursor:pointer;border:2px solid var(--ink);color:#e03131;width:1.4rem;height:1.4rem;text-shadow:none;background:#fff;border-radius:50%;padding:0;font-size:.65rem}.robot-repeat{cursor:pointer;color:#fff;font-family:var(--round);gap:.4rem;padding:.4rem .5rem .5rem;font-weight:700;display:inline-grid}.repeat-head{text-shadow:0 1px #2b215066;cursor:default;align-items:center;gap:.4rem;display:inline-flex}.repeat-head button:not(.step-x){cursor:pointer;border:2px solid var(--ink);width:1.5rem;height:1.5rem;color:var(--ink);background:#fff;border-radius:50%;padding:0;font-size:.65rem}.repeat-head b{text-align:center;min-width:1.2rem;font-size:1.15rem}.repeat-body{border:2px dashed var(--ink);background:#ffffff8c;border-radius:.7rem;flex-wrap:wrap;gap:.35rem;min-height:2.6rem;padding:.4rem;display:flex}.robot-foot{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.block-count{font-family:var(--round);color:var(--ink-soft);font-weight:700}.block-count.over{color:#c2255c}.robot-note{border:2.5px dashed var(--ink);background:var(--sun-soft);border-radius:.9rem;padding:.4rem .8rem;font-weight:700}.robot-note.win{background:var(--mint-soft)}@keyframes shakeBot{25%{translate:-4px}75%{translate:4px}}.keys{text-align:center;justify-items:center;gap:.8rem;font-size:1.1rem;font-weight:600;display:grid}.keys-progress{gap:.35rem;display:flex}.keys-progress i{border:2px solid var(--ink);background:#fff;border-radius:99px;width:1.6rem;height:.6rem}.keys-progress i.done{background:var(--mint)}.keys-progress i.now{background:var(--sun)}.keys-target{flex-wrap:wrap;justify-content:center;gap:.3rem;display:flex}.keys-target span{border:3px solid var(--ink);min-width:3.2rem;box-shadow:0 4px 0 0 var(--ink);font-family:var(--mono);background:#fff;border-radius:.9rem;padding:.3rem .5rem;font-size:2.4rem;font-weight:700;line-height:1.3}.keys-target span.hit{background:var(--mint-soft)}.keys-target span.miss{background:var(--bubble-soft)}.keys-box{font-family:var(--mono);text-align:center;border:3px solid var(--ink);background:var(--paper);width:min(22rem,100%);color:var(--ink);border-radius:1rem;outline:none;padding:.4rem .8rem;font-size:2rem}.keys-box:focus{box-shadow:0 0 0 4px var(--sun)}.keys-box.off{background:var(--bubble-soft)}.keys-warn{color:#c2255c;font-weight:700}.keys-help{color:var(--ink-soft);font-family:var(--round);flex-wrap:wrap;justify-content:center;gap:.9rem;font-weight:700;display:flex}kbd{border:2px solid var(--ink);font-family:var(--mono);color:var(--ink);background:#fff;border-bottom-width:4px;border-radius:.5rem;padding:.05rem .55rem;font-size:.95em;display:inline-block}.keys-done{padding:1.5rem 0;font-size:1.3rem}.keys-done i{color:var(--mint-deep);font-size:2.4rem}@media (width<=760px){.course-pick,.robot{grid-template-columns:1fr}.activity-card{padding:.9rem .8rem 1rem}.activity-brief .brief-text{font-size:1.1rem}.keys-target span{min-width:2.4rem;font-size:1.8rem}.activity-foot .btn{flex:auto}}.start-row{grid-template-columns:1fr auto auto}.start-studio{background:var(--sun-soft)}.start-studio i{color:var(--sun-deep)}.studio{align-content:start;gap:1.5rem;width:100%;max-width:1080px;margin:0 auto;padding-top:1.4rem;padding-bottom:3rem;display:grid}.studio-intro{background:var(--sun-soft);gap:.4rem;padding:1.2rem 1.5rem;font-weight:500;display:grid}.studio-intro h1{font-size:1.8rem}.studio-intro h1 i{color:var(--grape-deep)}.studio .col-title{margin-bottom:.8rem}.new-project{justify-items:start;gap:.9rem;padding:1.1rem 1.2rem 1.3rem;display:grid}.project-name{font-family:var(--round);gap:.25rem;width:min(24rem,100%);font-weight:700;display:grid}.project-name input,.project-title{font:inherit;font-family:var(--round);border:2.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:.8rem;outline:none;min-width:0;padding:.35rem .8rem;font-weight:700}.project-name input:focus,.project-title:focus{box-shadow:0 0 0 3px var(--sun)}.project-title{width:min(18rem,40vw);font-size:1.15rem}.template-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;width:100%;display:grid}.template-card{text-align:start;background:var(--paper);justify-items:start;gap:.35rem;padding:.9rem 1rem 1rem;display:grid}.template-card b,.project-open b{font-family:var(--round);font-size:1.2rem}.template-card span:last-child{color:var(--ink-soft);font-size:.92rem;font-weight:500}.project-card{background:var(--sky-soft);align-items:stretch;display:flex;overflow:hidden}.project-open{text-align:start;cursor:pointer;background:0 0;border:0;flex:1;justify-items:start;gap:.3rem;min-width:0;padding:.9rem 1rem;display:grid}.project-open b{overflow-wrap:anywhere}.project-open>span:last-child{color:var(--ink-soft);font-size:.9rem;font-weight:600}.project-delete{cursor:pointer;color:var(--ink-soft);background:0 0;border:0;padding:0 .9rem}.project-delete:hover{color:#e03131}.project-confirm{font-family:var(--round);align-content:center;gap:.3rem;padding:.5rem .7rem;font-size:.9rem;font-weight:700;display:grid}.studio-stage{background:repeating-conic-gradient(#f4eefb 0% 25%,#fffdf8 0% 50%) 0 0/28px 28px;justify-content:center;display:flex}.studio-stage iframe{background:#fff;border:0;width:100%;height:100%}.studio-stage.phone{padding:.8rem}.studio-stage.phone iframe{border:4px solid var(--ink);width:min(390px,100%);box-shadow:0 5px 0 0 var(--ink);border-radius:1.6rem}.zoom button.on{background:var(--sun)}.play-tab{grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:1.1rem;height:100%;min-height:0;display:grid}.play-side{align-content:start;justify-items:stretch;gap:.8rem;display:grid}.plan-tab{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:1.1rem;max-width:1180px;margin:0 auto;display:grid}.plan-editor,.plan-flow{justify-items:start;gap:.8rem;padding:1.1rem 1.2rem 1.3rem;display:grid}.plan-editor h2,.plan-flow h2{align-items:center;gap:.5rem;font-size:1.3rem;display:flex}.plan-editor h2 i,.plan-flow h2 i{color:var(--grape-deep)}.plan-flow .flowchart{width:100%}.plan-steps{counter-reset:step;gap:.5rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.plan-steps li{align-items:center;gap:.5rem;display:flex}.plan-steps select,.plan-steps input{font:inherit;border:2.5px solid var(--ink);color:var(--ink);background:#fff;border-radius:.8rem;outline:none;min-width:0;padding:.35rem .6rem}.plan-steps input{flex:1;font-weight:600}.plan-steps input:focus{box-shadow:0 0 0 3px var(--sun)}.plan-steps .sb-tools{margin:0;padding:0}.plan-steps .sb-tools button:disabled{opacity:.3;cursor:default}@media (width<=1050px){.play-tab,.plan-tab{grid-template-columns:1fr;height:auto}.play-tab .output-panel{height:75vh}}@media (width<=760px){.start-row{grid-template-columns:1fr 1fr}.start-main{grid-column:1/-1}.plan-steps li{flex-wrap:wrap}.topbar .seg button{min-width:0;padding:.2rem .55rem;font-size:.9rem}}.field{font-family:var(--round);gap:.25rem;min-width:0;font-weight:700;display:grid}.field input,.field select,.field textarea,.search,.table select{font-family:var(--sans);border:2.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:.8rem;outline:none;min-width:0;max-width:100%;padding:.4rem .8rem;font-size:1rem;font-weight:500}.field textarea{resize:vertical;line-height:1.7}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{box-shadow:0 0 0 3px var(--sun)}.search{width:11rem;padding:.25rem .7rem;font-size:.92rem}.manage{align-content:start;gap:1.1rem;width:min(70rem,100%);margin:0 auto;display:grid}.manage-card{gap:.8rem;padding:1.1rem 1.3rem;display:grid}.manage-card h2{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:1.35rem;display:flex}.manage-card h3{align-items:center;gap:.5rem;margin-top:.4rem;font-size:1.1rem;display:flex}.who{background:var(--sun-soft);grid-template-columns:auto 1fr;align-items:center}.who h1{font-size:1.6rem}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.7rem;display:flex}.form-row .field{flex:10rem}.form-ok{color:var(--mint-deep);font-weight:700}.muted{color:var(--ink-soft);font-weight:500}.plain-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:start;font-family:var(--round);color:var(--ink-soft);border-bottom:2.5px solid var(--ink);white-space:nowrap;padding:.35rem .6rem;font-size:.92rem}.table td{border-bottom:1.5px solid var(--line);vertical-align:middle;padding:.45rem .6rem}.table select{padding:.2rem .5rem;font-size:.92rem}.row-off td{opacity:.5}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.row-click{cursor:pointer}.row-click:hover td{background:var(--sun-soft)}.row-arrow{color:var(--ink-soft);font-size:.75rem}.stage{color:var(--grape-deep);font-size:.85rem;font-weight:700}.strips{background:var(--paper);gap:.4rem;display:grid}.strip{flex-wrap:wrap;align-items:center;gap:5px;padding-top:.4rem;display:flex}.course-detail summary{cursor:pointer;font-family:var(--round);align-items:center;gap:.5rem;display:flex}.strip-session{border:1.5px solid var(--line);background:#fff;border-radius:.5rem;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.strip-session b{color:var(--ink-soft);text-align:center;min-width:1rem;font-size:.75rem}.strip-session.part{border-color:var(--sun-deep);background:var(--sun-soft)}.strip-session.full{border-color:var(--mint-deep);background:var(--mint-soft)}.dot-q{border:1.5px solid var(--ink-soft);background:#fff;border-radius:50%;width:.6rem;height:.6rem}.dot-q.on{background:var(--mint-deep);border-color:var(--mint-deep)}.new-accounts{border:2.5px dashed var(--ink);background:#fff;border-radius:.9rem;gap:.6rem;padding:.8rem;display:grid}.new-accounts td,.new-accounts th{font-size:1.05rem}@media print{:is(body:has(.new-accounts) .topbar,body:has(.new-accounts) .manage-card:not(:has(.new-accounts)),body:has(.new-accounts) .no-print){display:none!important}}.strip-icon{text-align:center;width:1.6rem;color:var(--ink-soft)}.strip-cell{border:1.5px solid var(--line);width:1.55rem;height:1.55rem;color:var(--ink-soft);background:#fff;border-radius:.4rem;place-items:center;font-size:.72rem;font-weight:700;display:grid}.strip-cell.part{background:var(--sun-soft);border-color:var(--sun-deep);color:var(--ink)}.strip-cell.full{background:var(--mint);border-color:var(--mint-deep);color:#fff}.members{flex-wrap:wrap;gap:.4rem;display:flex}.member{cursor:pointer;border:2px solid var(--line);font-family:var(--sans);color:var(--ink-soft);background:#fff;border-radius:999px;padding:.15rem .8rem;font-weight:600}.member.on{border-color:var(--ink);background:var(--mint-soft);color:var(--ink)}.sub{border:2px solid var(--line);background:var(--paper);border-radius:.9rem;padding:.5rem .8rem}.sub[open]{border-color:var(--ink);gap:.6rem;display:grid}.sub summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.sub pre{border:1.5px solid var(--line);font-family:var(--mono);text-align:left;background:#fff;border-radius:.7rem;max-height:22rem;margin:0;padding:.7rem .9rem;font-size:.92rem;overflow:auto}.sub-note{font-weight:500}.feedback{background:var(--mint-soft);white-space:pre-wrap;border-radius:.7rem;padding:.5rem .8rem;font-weight:500}.download{color:var(--ink);justify-content:center;align-items:center;gap:.8rem;padding:.7rem 1rem;font-size:1.3rem;text-decoration:none;display:flex}.download span{font-size:1rem;display:grid}.download small{color:var(--ink-soft)}.download:hover b{text-decoration:underline}@media (width<=700px){.manage-card{padding:.9rem}.row-actions{justify-content:flex-start}}.menu-wrap{position:relative}.menu-arrow{font-size:.7rem}.menu-back{z-index:40;position:fixed;inset:0}.menu{z-index:41;gap:.15rem;min-width:16rem;padding:.4rem;animation:.2s pop;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.menu button{text-align:start;cursor:pointer;width:100%;font-family:var(--round);background:0 0;border:0;border-radius:.7rem;align-items:center;gap:.6rem;padding:.5rem .7rem;font-weight:700;display:flex}.menu button:hover{background:var(--sun-soft)}.menu button i{text-align:center;width:1.2rem;color:var(--grape-deep)}@media (width<=700px){.menu{min-width:0;margin-top:.5rem;position:fixed;top:auto;left:1rem;right:1rem}}.step{background:var(--paper)}.course-card,.level-card{cursor:pointer;font:inherit;color:var(--ink);opacity:1;border:3px solid var(--line);background:#fff;border-radius:1.4rem;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;position:relative}.course-card{gap:.35rem;padding:1.4rem 1rem 1.1rem}.course-card:hover,.level-card:hover{border-color:var(--ink-soft);transform:translateY(-2px)}.course-card.on,.level-card.on{border-color:var(--ink);box-shadow:0 6px 0 0 var(--ink);transform:translateY(-3px)}.course-card:not(.on) b,.level-card:not(.on) b{color:var(--ink-soft)}.pick-icon{background:var(--cream);width:4.2rem;height:4.2rem;color:var(--ink-soft);border-radius:1.3rem;flex:none;place-items:center;font-size:2.2rem;transition:background .16s,color .16s;display:grid}.course-zero .pick-icon{background:var(--mint-soft);color:var(--mint-deep)}.course-python .pick-icon{background:var(--sky-soft);color:#0ea5e9}.course-html .pick-icon{background:var(--tangerine-soft);color:#f97316}.level-starter .pick-icon{background:var(--mint-soft);color:var(--mint-deep)}.level-pro .pick-icon{background:var(--grape-soft);color:var(--grape-deep)}.on .pick-icon{border:2.5px solid var(--ink);background:#fff}.course-card .pick-icon,.level-card .pick-icon{font-size:2.3rem}.course-card .pick-badge,.level-card .pick-badge{font-size:.85rem;font-weight:800}.course-zero.on,.level-starter.on{background:var(--mint-soft)}.course-python.on{background:var(--sky-soft)}.course-html.on{background:var(--tangerine-soft)}.level-pro.on{background:var(--grape-soft)}.pick-badge{top:-.85rem;white-space:nowrap;background:var(--mint);color:#fff;border:2.5px solid var(--ink);font-family:var(--round);text-shadow:0 1px #2b215059;border-radius:999px;align-items:center;gap:.3rem;padding:.05rem .8rem;font-size:.85rem;font-weight:800;display:inline-flex;position:absolute;inset-inline-start:50%;transform:translate(-50%)}[dir=rtl] .pick-badge{transform:translate(50%)}.level-pick{grid-template-columns:1fr 1fr;align-items:stretch;gap:1rem;display:grid}.level-card{text-align:start;align-items:center;gap:.9rem;padding:1.3rem 1.1rem 1rem;display:flex}.level-text{gap:.05rem;min-width:0;display:grid}.level-text b{font-family:var(--round);font-size:1.35rem;font-weight:800;line-height:1.3}.level-text small{font-family:var(--round);color:var(--ink-soft);font-weight:700}.level-text span{color:var(--ink-soft);font-size:.92rem;font-weight:500}.picked{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:600;display:flex}.picked .badge{color:var(--ink);background:#fff}.save-note{background:var(--grape-soft);border:2.5px dashed var(--grape);border-radius:1.2rem;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.8rem 1.1rem;font-weight:600;display:flex}.save-note>i{color:var(--grape-deep);font-size:1.5rem}.save-note>span{flex:14rem}.save-note.saved{background:var(--mint-soft);border-color:var(--mint-deep)}.save-note.saved>i{color:var(--mint-deep)}@media (width<=700px){.level-pick{grid-template-columns:1fr}}
