@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap";.blockly-shortcuts{color:#436f60;background:#e7f4ed;justify-content:space-between;align-items:center;gap:10px;padding:9px 16px;font-size:.73rem;display:flex}.blockly-shortcuts button{color:#107364;white-space:nowrap;background:#fff;border:1px solid #9cd3b9;border-radius:8px;padding:7px 10px;font-weight:800}.blockly-shortcuts button:hover{background:#f2fbf5}@media (width<=540px){.blockly-shortcuts{padding:10px 16px;display:block}.blockly-shortcuts button{width:100%;margin-bottom:5px;display:block}.blockly-shortcuts span{line-height:1.5;display:block}}.bank-audit .field{margin:16px 0}.bank-audit .feedback a{color:#0d796d;text-decoration:underline}.audit-detail{border-top:1px solid #e5eee7;margin-top:20px;padding-top:20px}.audit-heading,.audit-case-heading,.audit-case>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.audit-heading strong{font-size:1.05rem}.audit-statement{background:#f9fcfa;border:1px solid #dce9df;border-radius:10px;margin:20px 0;padding:14px 17px}.audit-statement summary{cursor:pointer;font-weight:800}.audit-statement .preline{max-height:330px;overflow:auto}.audit-case-heading{margin:22px 0 10px}.audit-case-heading span{color:#657e72;font-size:.76rem}.audit-cases{max-height:610px;padding-right:6px;overflow:auto}.audit-case{background:#fbfdfb;border:1px solid #e0eae2;border-radius:10px;margin:10px 0;padding:14px 16px}.audit-case>div:first-child label,.audit-confirm{color:#436e5c;align-items:center;gap:7px;font-size:.8rem;display:flex}.audit-case input[type=checkbox],.audit-confirm input{accent-color:#13856d;width:auto;min-height:0}.audit-case .case-edit{margin-bottom:0}.audit-fields{grid-template-columns:1fr 2fr;gap:14px;margin:20px 0;display:grid}.audit-fields .field{margin:0}.audit-confirm{margin:17px 0;font-weight:800}@media (width<=700px){.audit-fields{grid-template-columns:1fr}.audit-heading,.audit-case-heading{flex-direction:column;align-items:start}.audit-case .case-edit{grid-template-columns:1fr;display:grid}}:root{color:#17343a;font-synthesis:none;background:#f5f8f5;font-family:Noto Sans TC,DM Sans,sans-serif;line-height:1.65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}pre{white-space:pre-wrap;word-break:break-word}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em;line-height:1.3}h1{font-size:clamp(2.8rem,5.2vw,5.3rem)}h2{font-size:clamp(1.85rem,3vw,2.9rem)}h3{font-size:1.36rem}p{line-height:1.85}small{font-size:.82rem}.app-shell{min-height:100vh}.site-header{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border-bottom:1px solid #e2ece7;position:sticky;top:0}.header-inner{align-items:center;gap:34px;width:min(1440px,100% - 48px);min-height:78px;margin:auto;display:flex}.brand{flex:none;align-items:center;gap:12px;line-height:1.3;display:flex}.brand-mark{color:#fff;background:#146e68;border-radius:13px;place-items:center;width:43px;height:43px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:800;display:grid}.brand strong{letter-spacing:.01em;font-size:1.02rem;font-weight:800;display:block}.brand small{color:#69817e;letter-spacing:.06em;margin-top:2px;font-size:.69rem;display:block}.main-nav{align-items:center;gap:3px;margin-left:auto;display:flex}.main-nav a{color:#486363;white-space:nowrap;border-radius:10px;padding:11px 13px;font-size:.87rem;font-weight:700}.main-nav a:hover,.main-nav a.active{color:#0e6861;background:#e8f4ef}.header-user{flex:none;align-items:center;gap:8px;display:flex}.user-pill{background:#eff4f1;border-radius:50px;padding:7px 12px;font-size:.82rem;font-weight:700}.text-button{color:#15766f;text-align:left;background:0 0;border:0;padding:7px 3px;font-weight:800}.text-button:hover{text-decoration:underline}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:12px 19px;font-weight:800;line-height:1.3;transition:transform .15s,background .15s,color .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.48;cursor:not-allowed}.button.primary{color:#fff;background:#096e67;box-shadow:0 4px 13px #076a621a}.button.primary:hover:not(:disabled){background:#075951}.button.secondary{color:#176b60;background:#eff7f3;border-color:#d4e8de}.button.secondary:hover:not(:disabled){background:#def0e7}.button.mini{color:#fff;background:#0f6e65;min-height:38px;padding:8px 14px;font-size:.8rem}.button.wide{width:100%}.main-content{min-height:calc(100vh - 240px)}.eyebrow{color:#0f8a78;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px;font-family:DM Sans,Noto Sans TC,sans-serif;font-size:.74rem;font-weight:800;display:block}.eyebrow.light{color:#b3efe0}.hero{color:#fff;background:radial-gradient(circle at 86% 14%,#257e76 0%,#0000 30%),linear-gradient(115deg,#073f42,#0e625d 57%,#0e514f);grid-template-columns:1.02fr .98fr;align-items:center;gap:38px;min-height:618px;padding:72px max(24px,50vw - 640px);display:grid;overflow:hidden}.hero-copy{max-width:670px}.hero h1{letter-spacing:-.055em;margin:0 0 24px;font-weight:800}.hero h1 strong{color:#a6ebcf}.hero-copy>p{color:#dbf0e9;max-width:580px;margin-bottom:34px;font-size:1.1rem}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.light-button{color:#183a39;background:#f5d379}.light-button:hover:not(:disabled){background:#ffe3a0}.ghost-light{color:#fff;background:0 0;border-color:#a3c9c2}.hero-visual{place-items:center;min-width:0;display:grid}.code-card{background:#f7faf8;border-radius:22px;width:min(480px,100%);padding:20px;transform:rotate(2deg);box-shadow:0 32px 90px #00252877}.code-card-top{color:#67817b;border-bottom:1px solid #e5ece9;align-items:center;gap:6px;margin-bottom:18px;padding:0 0 15px;font-size:.7rem;font-weight:800;display:flex}.code-card-top i{background:#d8ab99;border-radius:50%;width:8px;height:8px}.code-card-top i:nth-child(2){background:#e8d797}.code-card-top i:nth-child(3){background:#b6d7b7}.code-card-top span{margin-left:8px}.demo-block{color:#fff;border-radius:9px;width:max-content;max-width:100%;margin-bottom:6px;padding:9px 16px;font-size:.94rem;font-weight:700;box-shadow:inset 0 -3px #0002}.demo-block em{background:#fff3;border-radius:4px;padding:2px 7px;font-style:normal}.demo-block.orange{background:#dc9658}.demo-block.green{background:#57a186}.demo-block.blue{background:#4194ad}.demo-block.indent{margin-left:26px}.code-output{color:#54736a;background:#e8f4ee;border-radius:10px;margin-top:18px;padding:11px 15px;font-size:.8rem}.code-output strong{color:#167363;margin-left:10px;font-family:DM Sans,sans-serif;font-size:1rem}.home-overview,.path-preview,.home-cta,.page-stack{width:min(1280px,100% - 48px);margin-left:auto;margin-right:auto}.home-overview{grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-top:80px;margin-bottom:34px;display:grid}.home-overview h2{margin-bottom:0}.home-overview p{color:#627b77;margin-bottom:0}.home-stats{background:#fff;border:1px solid #e0ebe5;border-radius:20px;grid-template-columns:repeat(4,1fr);width:min(1280px,100% - 48px);margin:0 auto 86px;display:grid;box-shadow:0 13px 35px #164a3210}.home-stats>div{border-right:1px solid #e8efe9;flex-direction:column;padding:26px 32px;display:flex}.home-stats>div:last-child{border:0}.home-stats strong{color:#0b7165;font:800 2.25rem DM Sans,sans-serif}.home-stats span{color:#69817b;font-size:.85rem;font-weight:700}.path-preview{margin-bottom:82px}.section-heading h2,.section-heading h3{margin-bottom:8px}.section-heading p{color:#697e79;margin-bottom:22px;font-size:.92rem}.phase-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px;display:grid}.phase-card{text-align:left;background:#fff;border:1px solid #deebe4;border-radius:18px;min-height:238px;padding:26px;box-shadow:0 8px 22px #173a2610}.phase-card:hover,.unit-card:hover{border-color:#9fceba;transform:translateY(-3px);box-shadow:0 15px 28px #173a2620}.phase-card>span{color:#178475;font:800 1.1rem DM Sans,sans-serif}.phase-card h3{margin:20px 0 8px}.phase-card p{color:#6f817c;min-height:58px;font-size:.86rem;line-height:1.65}.phase-card b{color:#12786b;font-size:.82rem}.home-cta{background:#e2f3e9;border-radius:23px;margin-bottom:82px;padding:50px 56px}.home-cta h2{margin-bottom:8px}.home-cta p{color:#54766b}.site-footer{color:#c6ddd9;background:#102f33;grid-template-columns:1fr 1fr 1fr;gap:50px;padding:44px max(24px,50vw - 640px);font-size:.82rem;display:grid}.site-footer strong{color:#fff;font-size:1rem}.site-footer p{color:#b6d0ca;margin-bottom:0}.page-stack{flex-direction:column;gap:22px;padding:52px 0 90px;display:flex}.page-heading{margin-bottom:9px}.page-heading h2{margin-bottom:12px}.page-heading p{color:#647b75;max-width:940px;margin-bottom:0}.panel{background:#fff;border:1px solid #e0eae3;border-radius:18px;padding:28px;box-shadow:0 8px 30px #1c4a2c0c}.panel h3{margin-bottom:8px}.progress-banner{background:#dff2e8;border-radius:17px;align-items:center;gap:25px;padding:24px 30px;display:flex}.progress-banner>div:first-child{flex:1}.progress-banner strong,.progress-banner span{display:block}.progress-banner strong{font-size:1.12rem}.progress-banner span{color:#5f796e;margin-top:4px;font-size:.86rem}.progress-track{background:#bcded0;border-radius:30px;width:240px;height:12px;overflow:hidden}.progress-track i{background:#0e8674;border-radius:30px;height:100%;display:block}.unit-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.unit-card{text-align:left;background:#fff;border:1px solid #e0eae3;border-radius:17px;flex-direction:column;min-height:220px;padding:22px;transition:all .16s;display:flex;box-shadow:0 7px 22px #164a3210}.unit-card-top{justify-content:space-between;align-items:center;display:flex}.unit-number{color:#138173;font:800 1.55rem DM Sans,sans-serif}.status{color:#7c8d83;background:#edf2ee;border-radius:20px;padding:4px 9px;font-size:.68rem;font-weight:800}.status.mastered{color:#0a7d61;background:#daf1e4}.unit-card h3{margin:20px 0 5px;font-size:1.14rem}.unit-card p{color:#637870;margin:0;font-size:.82rem;line-height:1.65}.unit-card-foot{color:#728b81;justify-content:space-between;gap:4px;margin-top:auto;padding-top:20px;font-size:.73rem;display:flex}.unit-card-foot b{color:#11786a;white-space:nowrap}.breadcrumb{color:#6d847d;gap:9px;font-size:.85rem;display:flex}.breadcrumb button{color:#147a6c;background:0 0;border:0;padding:0;font-weight:800}.lesson-header{color:#fff;background:#124f4d;border-radius:22px;padding:38px 43px;position:relative;overflow:hidden}.lesson-header:after{content:"{ }";color:#fff1;font:800 12rem DM Sans,sans-serif;position:absolute;top:-40px;right:15px}.lesson-header .eyebrow{color:#a8e0d2}.lesson-header h2{margin-bottom:8px}.lesson-header p{color:#d7ece6;margin-bottom:18px}.lesson-meta{flex-wrap:wrap;gap:14px;display:flex}.lesson-meta span{border:1px solid #ffffff4d;border-radius:50px;padding:5px 13px;font-size:.78rem;font-weight:700}.lesson-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px;display:grid}.lesson-main{flex-direction:column;gap:20px;min-width:0;display:flex}.lesson-text{color:#38534d;white-space:pre-line;font-size:1rem;line-height:2}.example-box{background:#edf8f1;border-left:4px solid #1b967b;border-radius:0 10px 10px 0;padding:19px 20px}.example-box strong{color:#137462}.example-box p{margin:7px 0 0}.sticky-panel{padding:23px;position:sticky;top:100px}.sticky-panel ol{color:#57716a;margin:0 0 19px;padding-left:25px;font-size:.86rem}.sticky-panel li{margin:0 0 8px}.aside-progress{border-top:1px solid #e0ece4;border-bottom:1px solid #e0ece4;margin-bottom:16px;padding:14px 0}.aside-progress>*{margin:2px 0;font-size:.8rem;display:block}.aside-progress strong{color:#1b5751}.bank-link{text-align:left;color:#117a6d;background:0 0;border:0;width:100%;padding:5px 0;font-size:.78rem;font-weight:700;display:block}.sticky-panel .button{margin-top:18px}.demo-panel{background:#fcfdfa}.demo-step{background:#e9f6ed;border-radius:13px;flex-direction:column;justify-content:center;min-height:125px;padding:22px;display:flex}.step-counter{color:#0d806f;letter-spacing:.08em;font-size:.73rem;font-weight:800}.demo-step p{margin:7px 0 0;font-size:1.03rem}.demo-controls{justify-content:space-between;align-items:center;gap:10px;margin-top:17px;display:flex}.step-dots{gap:6px;display:flex}.step-dots button{background:#c8d9d0;border:0;border-radius:50%;width:10px;height:10px;padding:0}.step-dots button.active{background:#0d806f}.mistake-list{margin:0;padding:0;list-style:none}.mistake-list li{color:#4f665e;align-items:flex-start;gap:13px;margin-bottom:12px;display:flex}.mistake-list span{color:#a75c14;background:#fff0db;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-weight:800;display:grid}.exercise-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.exercise-item{text-align:left;background:#fbfdfb;border:1px solid #dce9e2;border-radius:13px;flex-direction:column;align-items:start;gap:5px;min-height:155px;padding:17px;display:flex}.exercise-item:hover,.exercise-item.active{background:#f0faf4;border-color:#1d917b}.exercise-item span{color:#13816d;font-size:.72rem;font-weight:800}.exercise-item strong{font-size:.96rem}.exercise-item small{color:#6a8079;line-height:1.6}.exercise-item b{color:#128564;margin-top:auto;font-size:.72rem}.editor-panel{padding:0;scroll-margin-top:95px;overflow:hidden}.editor-intro{justify-content:space-between;gap:20px;padding:25px 28px;display:flex}.editor-intro p{color:#536e66;white-space:pre-line;margin:0}.editor-mode{white-space:nowrap;color:#197a64;background:#e6f5ea;border-radius:30px;align-self:start;padding:6px 11px;font-size:.72rem;font-weight:800}.hint{color:#795c27;background:#fff8e6;border-radius:10px;margin:0 28px 16px;padding:11px 15px;font-size:.85rem}.hint summary{cursor:pointer;font-weight:800}.hint p{margin:8px 0 0}.blockly-host,.blockly-placeholder{background:#f6faf9;width:100%;height:440px}.blockly-placeholder{color:#72877e;place-items:center;display:grid}.blocklyToolboxDiv{background:#edf5f0!important}.blocklyTreeLabel{font-family:Noto Sans TC,sans-serif}.editor-controls{align-items:end;gap:15px;padding:20px 28px;display:flex}.editor-controls label{color:#4e6c63;flex:1;font-size:.81rem;font-weight:800}.editor-controls textarea{margin-top:6px}.button-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.button-row .button{padding:10px 13px;font-size:.79rem}.editor-panel .output-box,.editor-panel .result-box,.editor-panel .sample-note,.editor-panel>.feedback,.code-peek{margin:0 28px 18px}.sample-note{color:#6c8075;font-size:.8rem}.sample-note code{white-space:pre-wrap;background:#edf4ed;border-radius:6px;margin-left:5px;padding:3px 7px}.output-box{color:#fff;background:#173d3e;border-radius:10px;padding:16px 18px}.output-box strong{color:#c7e5dc;font-size:.82rem}.output-box pre{margin:6px 0 0;font-family:Consolas,monospace}.result-box{background:#fff4ed;border:1px solid #f3d7c5;border-radius:10px;padding:16px}.result-box.passed{background:#e9f8ee;border-color:#c5e8d0}.result-box ul{margin:7px 0 0;padding-left:22px;font-size:.84rem}.result-box li{margin:6px 0}.result-box small{color:#6c726c;white-space:pre-wrap;display:block}.code-peek{font-size:.8rem}.code-peek summary{cursor:pointer;color:#59736a}.code-peek pre{background:#f3f7f4;border-radius:8px;max-height:270px;padding:14px;font-family:Consolas,monospace;overflow:auto}.quiz-card fieldset{border:0;border-top:1px solid #e8eee9;margin:0;padding:19px 0}.quiz-question legend{padding:18px 0 0;font-weight:700}.quiz-question legend strong{color:#0c826f}.quiz-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.quiz-options label{cursor:pointer;border:1px solid #dce8df;border-radius:9px;align-items:center;gap:8px;padding:9px 11px;font-size:.84rem;display:flex}.quiz-options label.selected{background:#eef9f2;border-color:#2f9b7f}.feedback{color:#326453;background:#edf5ef;border-radius:9px;padding:9px 12px;font-size:.83rem;line-height:1.6}.feedback.good{color:#176b47;background:#e3f5e7}.feedback.bad{color:#8a552a;background:#fff0e5}.bank-picker .picker-grid{grid-template-columns:1fr 2fr;gap:15px;display:grid}.bank-picker label,.team-select label{color:#547065;font-size:.8rem;font-weight:800}.bank-picker select,.team-select select{margin-top:7px}.bank-count{color:#698278;margin:16px 0 10px;font-size:.78rem}.bank-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.bank-list button{text-align:left;background:#fbfdfa;border:1px solid #e3ece4;border-radius:9px;flex-direction:column;align-items:start;gap:5px;padding:12px;display:flex}.bank-list button:hover,.bank-list button.selected{background:#effaf2;border-color:#23947d}.bank-list button span{color:#7d9c8c;font:800 .65rem DM Sans,sans-serif}.bank-list button strong{font-size:.83rem}.bank-list button small{color:#779086;font-size:.7rem}.problem-detail h3{font-size:1.8rem}.preline{white-space:pre-line}.problem-top{justify-content:space-between;gap:10px;display:flex}.tag{color:#138460;white-space:nowrap;background:#e5f6e9;border-radius:30px;height:max-content;padding:4px 10px;font-size:.69rem;font-weight:800;display:inline-block}.tag.warning{color:#8b6416;background:#fff1dc}.io-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.io-grid>div{background:#f5f8f5;border-radius:10px;padding:16px}.io-grid strong{color:#1b6f62}.io-grid p{margin:5px 0 0;font-size:.83rem}.example-pair{border-top:1px solid #e2ebe5;margin-top:20px;padding-top:16px}.example-pair>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.example-pair pre{background:#eff6f0;border-radius:9px;margin:8px 0;padding:14px;line-height:1.5}.example-pair small{color:#6a8175}.source-note{color:#678075;margin-top:24px;font-size:.78rem}.source-note a{color:#0d796d;text-decoration:underline}.locked-panel{text-align:center;background:#f8fcf8;border:1px dashed #9bbcab;border-radius:21px;width:min(620px,100%);margin:12px auto 70px;padding:44px}.locked-panel p{color:#6a7e72}.lock-icon{color:#1a806e;font-size:2rem}.account-wrap{grid-template-columns:1fr 440px;align-items:center;gap:60px;width:min(1200px,100% - 48px);min-height:660px;margin:70px auto;display:grid}.account-aside h2{font-size:clamp(2.1rem,4vw,4rem)}.account-aside p{color:#668078;max-width:580px}.aside-art{align-items:center;gap:8px;margin-top:50px;display:flex}.aside-art span:nth-child(odd){color:#167962;background:#ddf1e5;border-radius:12px;padding:15px 21px;font-weight:800}.aside-art span:nth-child(2n){color:#9fbaab}.account-form{flex-direction:column;gap:13px;padding:36px;display:flex}.account-form h2{margin:0 0 9px;font-size:1.8rem}.field,.edit-form label,.case-edit label{color:#4c675e;flex-direction:column;gap:6px;font-size:.79rem;font-weight:800;display:flex}input,textarea,select{color:#173a34;background:#fff;border:1px solid #d3e1d7;border-radius:9px;outline:0;width:100%;min-height:43px;padding:11px 12px}input:focus,textarea:focus,select:focus{border-color:#238f7d;box-shadow:0 0 0 3px #b9e9d530}textarea{resize:vertical;line-height:1.6}.account-switch{flex-wrap:wrap;gap:8px;display:flex}.account-switch button{color:#187969;background:0 0;border:0;padding:2px;font-size:.75rem;font-weight:800}.secret-box{background:#fff3d9;border-radius:9px;flex-direction:column;gap:5px;padding:13px;font-size:.8rem;display:flex}.secret-box code{word-break:break-all}.stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stats>div{background:#e8f6ec;border-radius:13px;flex-direction:column;padding:18px;display:flex}.stats strong{color:#0c7867;font:800 1.8rem DM Sans,sans-serif}.stats span{color:#5d766b;font-size:.78rem}.admin-row{border-top:1px solid #ebf0eb;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;display:flex}.admin-row>div:first-child{flex-direction:column;display:flex}.admin-row strong{font-size:.9rem}.admin-row span{color:#71857b;font-size:.79rem}.empty{color:#7c8e82}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:.83rem}td,th{border-bottom:1px solid #e7eee7;padding:12px}th{color:#4e7363;background:#f6faf6}.inline-form{gap:8px;display:flex}.inline-form select{flex:1}.draft-card{background:#f5f9f5;border:1px solid #dceadf;border-radius:12px;margin:12px 0;padding:18px}.draft-title{align-items:center;gap:12px;display:flex}.draft-card p{color:#627d70;font-size:.81rem}.case-edit{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.case-edit textarea{min-height:70px}.edit-form{gap:13px;margin-top:18px;display:grid}.three-fields{grid-template-columns:1fr 1fr 1fr auto;gap:9px;display:grid}.team-members{grid-template-columns:repeat(3,1fr);gap:11px;margin:20px 0;display:grid}.team-members>div{border:1px solid #e0ede3;border-radius:12px;flex-direction:column;align-items:center;padding:16px;display:flex}.avatar{color:#126e60;background:#caeadd;border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:9px;font-weight:800;display:grid}.team-members small{color:#70887c}.note-list{margin-top:22px}.note-list>div{border-top:1px solid #e7eee7;padding:14px 0}.note-list time{color:#9aab9f;margin-left:10px;font-size:.74rem}.note-list p{margin:4px 0 0;font-size:.86rem}.mock-start{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mock-start .panel{flex-direction:column;align-items:start;gap:8px;display:flex}.mock-start p{color:#687d72}.mock-start select{margin:0 0 5px}.mock-active{background:#e4f5ea;justify-content:space-between;align-items:center;gap:18px;display:flex}.mock-active h3{margin:0}.task-chips{flex-wrap:wrap;gap:6px;display:flex}.task-chips button{color:#315c4d;background:#fff;border:1px solid #c6ded0;border-radius:9px;padding:8px 11px}.task-chips button.selected{color:#fff;background:#0d796a}.session-link{text-align:left;color:#206e5f;background:0 0;border:0;border-bottom:1px solid #e4ece5;width:100%;padding:12px;display:block}.load-error,.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.loading-mark{color:#fff;background:#0d7469;border-radius:19px;place-items:center;width:72px;height:72px;margin-bottom:15px;font:800 2rem DM Sans,sans-serif;display:grid}@media (width<=1100px){.header-inner{gap:14px}.main-nav a{padding:10px 7px;font-size:.77rem}.unit-grid{grid-template-columns:repeat(3,1fr)}.bank-list{grid-template-columns:repeat(2,1fr)}.hero{padding-left:36px;padding-right:36px}}@media (width<=780px){.header-inner{flex-wrap:wrap;gap:6px;width:calc(100% - 28px);min-height:70px;padding:8px 0}.brand{flex:1}.brand strong{font-size:.88rem}.brand small{font-size:.63rem}.main-nav{scrollbar-width:none;order:3;gap:2px;width:100%;margin:0;padding:0 0 4px;overflow-x:auto}.main-nav a{padding:7px 9px}.header-user{margin-left:auto}.user-pill{display:none}.hero{grid-template-columns:1fr;gap:45px;min-height:0;padding:56px 26px}.hero-visual{justify-content:start}.code-card{max-width:520px;transform:none}.home-overview{grid-template-columns:1fr;gap:8px;margin-top:55px}.home-stats{grid-template-columns:repeat(2,1fr);margin-bottom:60px}.home-stats>div:nth-child(2){border-right:0}.home-stats>div:nth-child(-n+2){border-bottom:1px solid #e8efe9}.phase-grid{grid-template-columns:repeat(2,1fr)}.page-stack{padding-top:35px}.unit-grid{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:1fr}.lesson-aside{order:-1}.sticky-panel{position:static}.sticky-panel ol{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.account-wrap{grid-template-columns:1fr;gap:22px;margin:40px auto}.account-aside{display:none}.site-footer{grid-template-columns:1fr 1fr;gap:14px}.three-fields{grid-template-columns:1fr 1fr}.editor-controls{flex-direction:column;align-items:stretch}.editor-controls label{width:100%}.button-row{justify-content:flex-start}}@media (width<=540px){.home-overview,.path-preview,.home-cta,.page-stack{width:calc(100% - 28px)}.hero{padding:44px 18px}.hero h1{font-size:2.75rem}.hero-copy>p{font-size:.96rem}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.code-card{padding:14px}.demo-block{font-size:.78rem}.home-stats{width:calc(100% - 28px)}.home-stats>div{padding:18px}.phase-grid,.unit-grid,.exercise-grid,.io-grid,.example-pair>div,.mock-start,.stats,.team-members{grid-template-columns:1fr}.phase-card,.phase-card p{min-height:0}.home-cta{padding:30px 23px}.site-footer{grid-template-columns:1fr;padding:36px 18px}.panel{padding:20px}.lesson-header{padding:28px 23px}.lesson-header:after{font-size:7rem;top:10px;right:0}.lesson-meta{gap:7px}.lesson-meta span{font-size:.68rem}.sticky-panel ol{grid-template-columns:1fr}.progress-banner{display:block}.progress-track{width:100%;margin-top:17px}.bank-picker .picker-grid,.bank-list{grid-template-columns:1fr}.problem-top{display:block}.problem-top .tag{margin-bottom:10px}.editor-intro{padding:20px;display:block}.editor-mode{margin-top:12px;display:inline-block}.hint,.editor-panel .output-box,.editor-panel .result-box,.editor-panel .sample-note,.editor-panel>.feedback,.code-peek{margin-left:20px;margin-right:20px}.blockly-host,.blockly-placeholder{height:490px}.editor-controls{padding:20px}.editor-controls .button-row .button{flex:1}.quiz-options{grid-template-columns:1fr}.account-form{padding:24px}.inline-form,.case-edit{display:block}.inline-form .button{width:100%;margin-top:8px}.three-fields{grid-template-columns:1fr}.mock-active{display:block}.task-chips{margin-top:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.unit-card,.phase-card{transition:none}}
