:root{--ink:#172b2c;--ink-soft:#405253;--cream:#f4efe5;--paper:#fffdf8;--coral:#f06f51;--coral-dark:#ca5038;--green:#2f6b5f;--green-dark:#173f3a;--mint:#d9e8df;--yellow:#f4c95d;--line:#d8d6cd;--mono:ui-monospace, "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:18px;line-height:1.6}button,textarea,select,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #f06f5166}h1,h2,h3,h4{text-wrap:balance}p,li{text-wrap:pretty}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f2;justify-content:space-between;align-items:center;gap:34px;min-height:96px;padding:14px 42px;display:flex;position:sticky;top:0}.brand{flex:none;align-items:center;gap:15px;display:flex}.brand-mark{border-radius:15px;flex:0 0 58px;width:58px;height:58px;overflow:hidden;box-shadow:0 5px 15px #102e2b2e}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand strong{letter-spacing:-.35px;font-family:Georgia,Times New Roman,serif;font-size:22px;line-height:1.15;display:block}.brand small{color:#6d7775;letter-spacing:.03em;margin-top:2px;font-size:13px;display:block}.module-picker{flex:1;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:10px;max-width:460px;display:grid}.module-picker label{white-space:nowrap;font-size:13px;font-weight:800}.module-picker select{width:100%;min-height:48px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #c7c7bd;border-radius:9px;padding:9px 42px 9px 14px;font-size:16px;font-weight:700}.module-picker select:focus{border-color:var(--coral);outline:3px solid #f06f5140}.module-position{color:#66726f;white-space:nowrap;font-size:12px}.top-actions{align-items:center;gap:22px;display:flex}.text-button{cursor:pointer;background:0 0;border:0;font-size:15px;font-weight:650}.text-button:hover{color:var(--coral-dark)}.feedback-button{color:var(--green)}.command-library-button{color:var(--green-dark);white-space:nowrap;background:#edf5f0;border:1px solid #9eb9af;border-radius:8px;align-items:center;gap:6px;padding:8px 11px;font-weight:800;display:inline-flex}.command-library-button:hover,.command-library-button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:#fff}.mode-switch{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:9px;padding:8px 12px 8px 8px;font-size:14px;font-weight:700;display:flex}.switch-track{background:#c7cdc8;border-radius:20px;width:35px;height:20px;padding:3px;transition:all .2s}.switch-track span{background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;display:block;box-shadow:0 1px 3px #0003}.mode-switch.is-teacher .switch-track{background:var(--green)}.mode-switch.is-teacher .switch-track span{transform:translate(15px)}.course-progress{z-index:41;background:#ddd9cf;height:4px;position:sticky;top:95px}.course-progress span{background:var(--coral);height:100%;transition:width .3s;display:block}.app-shell{min-height:calc(100vh - 100px)}.app-credit{background:var(--cream);color:#7f8986;letter-spacing:.025em;text-align:center;opacity:.52;margin:0;padding:10px 24px 13px;font-size:9px;line-height:1.25}.app-credit:hover{opacity:.82}.feedback-modal{z-index:140;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#071f1cdb;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow-y:auto}.feedback-card{background:var(--paper);border:1px solid #6e877f;border-radius:17px;width:min(720px,100%);max-height:calc(100vh - 44px);overflow-y:auto;box-shadow:0 30px 90px #0008}.feedback-card>header{background:var(--green-dark);color:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:18px 22px;display:flex}.feedback-card>header>div{display:grid}.feedback-card>header span{color:var(--yellow);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.feedback-card>header h2{margin:3px 0 0;font-size:29px;line-height:1.15}.feedback-card>header button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff52;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:850}.feedback-card>header button:hover{border-color:var(--yellow);color:var(--yellow)}.feedback-intro{color:#52625e;margin:0;padding:20px 24px 8px;font-size:15px;line-height:1.6}.feedback-fields{gap:15px;padding:14px 24px;display:grid}.feedback-fields label{gap:6px;min-width:0;display:grid}.feedback-fields label>span{color:#40534e;font-size:12px;font-weight:850}.feedback-fields label>span b{color:var(--coral-dark);letter-spacing:.07em;text-transform:uppercase;margin-left:5px;font-size:9px}.feedback-fields label>span small{color:#7a8581;font-size:10px;font-weight:650}.feedback-fields input,.feedback-fields select,.feedback-fields textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #bcc7c1;border-radius:9px;padding:10px 12px;font-size:14px}.feedback-fields textarea{resize:vertical;min-height:160px;line-height:1.55}.feedback-optional{grid-template-columns:1fr 1fr;gap:12px;display:grid}.feedback-privacy{background:#edf4ef;border-radius:9px;margin:2px 24px 0;padding:13px 15px}.feedback-privacy strong{color:var(--green-dark);font-size:12px}.feedback-privacy p{color:#52645e;margin:3px 0 0;font-size:12px;line-height:1.5}.feedback-privacy code{font-family:var(--mono);overflow-wrap:anywhere;font-size:11px}.feedback-card>footer{justify-content:flex-end;gap:8px;padding:19px 24px 23px;display:flex}.feedback-card>footer button{cursor:pointer;border-radius:9px;min-height:45px;padding:10px 15px;font-size:13px;font-weight:850}.feedback-cancel{color:#52615d;background:#fff;border:1px solid #bdc7c2}.feedback-send{border:1px solid var(--coral);background:var(--coral);color:#fff}.feedback-send:hover:not(:disabled){border-color:var(--coral-dark);background:var(--coral-dark)}.feedback-send:disabled{cursor:not-allowed;opacity:.45}.command-library-overlay{z-index:150;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#071f1cb8;justify-content:flex-end;padding:12px;display:flex;position:fixed;inset:0}.command-library{background:var(--paper);width:min(920px,100%);height:calc(100vh - 24px);min-height:0;color:var(--ink);border:1px solid #718a82;border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:-25px 24px 85px #0008}.command-library-header{background:var(--green-dark);color:#fff;flex:none;align-items:center;gap:18px;min-height:88px;padding:15px 19px 15px 24px;display:flex}.command-library-header>div:first-child{min-width:0;margin-right:auto;display:grid}.command-library-header>div:first-child span{color:var(--yellow);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.command-library-header h2{margin:2px 0 0;font-size:29px;line-height:1.1}.command-library-header>button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4a;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:850}.command-library-header>button:hover{border-color:var(--yellow);color:var(--yellow)}.command-library-total{border-left:1px solid #ffffff30;flex:none;justify-items:center;padding:5px 12px;display:grid}.command-library-total strong{color:var(--yellow);font-family:var(--mono);font-size:20px;line-height:1}.command-library-total small{color:#c5d5cf;letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:8px;font-weight:800}.command-library-intro{background:#fff7dc;border-bottom:1px solid #dddcd5;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:11px 17px;display:flex}.command-library-intro p{color:#5a543f;margin:0;font-size:12px;line-height:1.45}.command-library-intro>div{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.command-library-intro button,.command-related-searches button{color:#69551c;cursor:pointer;background:#fff;border:1px solid #d7c481;border-radius:99px;padding:4px 7px;font-size:9px;font-weight:750}.command-library-intro button:hover,.command-related-searches button:hover{border-color:var(--coral);color:var(--coral-dark)}.command-library-controls{background:#f4f1e9;border-bottom:1px solid #dfe1da;flex:none;grid-template-columns:minmax(0,1fr) 190px;gap:11px;padding:12px 16px;display:grid}.command-library-controls>label{gap:4px;min-width:0;display:grid}.command-library-controls label>span{color:#596864;letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:850}.command-library-controls label>div{background:#fff;border:2px solid #78968b;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-width:0;display:grid;overflow:hidden}.command-library-controls label>div:focus-within{border-color:var(--coral);box-shadow:0 0 0 3px #f06f5124}.command-library-controls label>div>span{color:var(--green);padding-left:11px;font-size:20px}.command-library-controls input,.command-library-controls select{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #b9c4be;border-radius:9px;font-size:14px}.command-library-controls input{border:0;border-radius:0;outline:0;min-width:0;padding:8px 10px}.command-library-controls select{padding:8px 10px}.command-library-controls label>div>button{color:#5b6965;cursor:pointer;background:#edf1ee;border:0;border-radius:6px;margin-right:6px;padding:5px 7px;font-size:10px;font-weight:800}.command-library-body{flex:1;grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.command-result-list{background:#f6f4ee;border-right:1px solid #d8ddd8;flex-direction:column;gap:7px;min-height:0;padding:13px 11px 20px;display:flex;overflow-y:auto}.command-result-list>small{z-index:2;color:#687570;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f6f4eef2;border-bottom:1px solid #e0e1dc;margin:-13px -11px 2px;padding:9px 16px;font-size:10px;font-weight:850;position:sticky;top:-13px}.command-result-list button{color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #d7dcd7;border-radius:9px;gap:3px;padding:11px 12px;display:grid}.command-result-list button:hover{border-color:#85a398}.command-result-list button.is-active{border-color:var(--green);box-shadow:inset 4px 0 0 var(--green);background:#e5f0e9}.command-result-list code{color:var(--coral-dark);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850;line-height:1.35;overflow:hidden}.command-result-list strong{font-size:12px;line-height:1.35}.command-result-list span{color:#73807b;letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:800}.command-detail{min-height:0;padding:24px 27px 34px;overflow-y:auto}.command-detail-category{color:var(--coral-dark);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:9px;font-weight:900}.command-detail h3{color:var(--green-dark);margin:4px 0 12px;font-size:28px;line-height:1.16}.command-syntax{border-left:5px solid var(--yellow);color:#fff8df;width:fit-content;max-width:100%;font-family:var(--mono);white-space:pre;background:#102e2b;border-radius:5px 9px 9px 5px;padding:11px 14px;font-size:18px;font-weight:800;line-height:1.35;display:block;overflow-x:auto}.command-summary{color:#31584f;margin:15px 0 17px;font-size:17px;font-weight:800;line-height:1.5}.command-explanation{background:#eaf3ed;border-radius:10px;padding:15px 17px}.command-explanation>strong{color:var(--green-dark);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.command-explanation p{color:#415650;margin:4px 0 0;font-size:14px;line-height:1.6}.command-example{background:#102e2b;border:1px solid #31554e;border-radius:11px;margin-top:16px;overflow:hidden}.command-example>div:first-child{color:#e7efea;border-bottom:1px solid #385750;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.command-example>div:first-child strong{font-size:12px}.command-example>div:first-child span{color:#9fb6ae;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.command-example>pre{color:#eef5f0;max-height:280px;font-family:var(--mono);white-space:pre;tab-size:4;margin:0;padding:16px;font-size:14px;line-height:1.65;overflow:auto}.command-result{background:#0a2421;border-top:1px solid #385750;grid-template-columns:95px minmax(0,1fr);align-items:start;display:grid}.command-result strong{color:#9fe5bd;letter-spacing:.07em;text-transform:uppercase;padding:11px 12px;font-size:9px}.command-result pre{color:#e1ede7;min-width:0;font-family:var(--mono);white-space:pre;border-left:1px solid #385750;margin:0;padding:9px 12px;font-size:12px;line-height:1.55;overflow-x:auto}.command-example-actions{background:#173a36;border-top:1px solid #385750;gap:7px;padding:10px;display:flex}.command-example-actions button{color:#e2ebe7;cursor:pointer;background:0 0;border:1px solid #708a82;border-radius:7px;flex:1;min-height:40px;padding:7px 10px;font-size:11px;font-weight:850}.command-example-actions button:hover{border-color:var(--yellow);color:var(--yellow)}.command-example-actions .command-insert{border-color:var(--coral);background:var(--coral);color:#fff}.command-example-actions .command-insert:hover{color:#fff;background:#ff8265;border-color:#ff8265}.command-mistake{background:#fff5d5;border-left:4px solid #d69b27;border-radius:0 9px 9px 0;margin-top:14px;padding:12px 14px}.command-mistake strong{color:#795b16;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.command-mistake p{color:#5f563f;margin:3px 0 0;font-size:13px;line-height:1.52}.command-related-searches{gap:7px;margin-top:17px;display:grid}.command-related-searches>strong{color:#67736f;letter-spacing:.07em;text-transform:uppercase;font-size:10px}.command-related-searches>div{flex-wrap:wrap;gap:5px;display:flex}.command-status{color:#1f5b47;background:#dcefe4;border-radius:8px;margin:15px 0 0;padding:10px 12px;font-size:12px;font-weight:750;line-height:1.5}.command-library-empty{text-align:center;max-width:560px;margin:auto;padding:50px 28px}.command-library-empty strong{font-size:20px}.command-library-empty p{color:#66736f;margin:7px 0 17px;font-size:14px;line-height:1.55}.command-library-empty code{font-family:var(--mono)}.command-library-empty button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:850}.kicker,.section-label{color:var(--coral-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:800}.lesson{background:var(--paper);min-width:0}.lesson-hero,.content-section,.lesson-nav{max-width:1200px;margin-left:auto;margin-right:auto}.lesson-hero{justify-content:space-between;align-items:center;gap:40px;min-height:416px;padding:82px 70px 64px;display:flex;position:relative;overflow:hidden}.lesson-hero:after{content:"";pointer-events:none;border:1px solid #e4dbca;border-radius:50%;width:460px;height:460px;position:absolute;top:-220px;right:-248px;box-shadow:0 0 0 52px #f7f1e8,0 0 0 53px #e4dbca}.hero-copy{max-width:820px}.lesson-hero h1{letter-spacing:-.055em;max-width:820px;margin:0;font-size:clamp(48px,6vw,76px);line-height:1}.hero-intro{max-width:780px;color:var(--ink-soft);margin:28px 0 34px;font-size:21px;line-height:1.65}.step-row{flex-wrap:wrap;gap:7px;display:flex}.step-row span{border:1px solid var(--line);color:#596765;border-radius:99px;align-items:center;gap:7px;padding:7px 11px 7px 7px;font-size:13px;font-weight:700;display:flex}.step-row b{background:var(--mint);width:24px;height:24px;color:var(--green);font-family:var(--mono);border-radius:50%;place-items:center;font-size:11px;display:grid}.hero-stamp{z-index:1;background:var(--cream);border:1px solid #dacfbf;border-radius:70px 70px 18px 18px;flex-direction:column;flex:0 0 128px;justify-content:center;align-items:center;height:154px;display:flex;transform:rotate(3deg)}.hero-stamp span,.hero-stamp small{color:#76807c;letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:800}.hero-stamp strong{color:var(--coral);font-family:var(--mono);letter-spacing:-.08em;margin:3px 0;font-size:47px}.content-section{padding:68px 70px}.problem-card{background:var(--coral);color:#fff;border-radius:20px;margin-top:0;margin-bottom:40px;position:relative;overflow:hidden;box-shadow:0 16px 42px #8b493322}.problem-card:after{content:"?";color:#ffffff19;font-family:Georgia,serif;font-size:190px;font-weight:800;position:absolute;bottom:-48px;right:34px}.problem-card .section-label{color:#ffe6dd}.section-label{align-items:center;gap:8px;display:flex}.section-label span{min-width:24px;height:24px;font-family:var(--mono);border:1px solid;border-radius:50%;place-items:center;padding:0 5px;font-size:9px;display:grid}.problem-card h2{z-index:1;letter-spacing:-.035em;max-width:780px;margin:12px 0;font-size:clamp(25px,3vw,39px);line-height:1.18;position:relative}.problem-card>p:last-child{z-index:1;color:#fff0e9;max-width:760px;margin:18px 0 0;font-size:18px;line-height:1.65;position:relative}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px;display:flex}.section-heading h2,.teacher-heading h2{letter-spacing:-.035em;margin:0;font-size:35px}.section-heading>p{color:#6c7774;text-align:right;max-width:340px;margin:0;font-size:16px;line-height:1.55}.refresh-section{background:#edf5f0;border:1px solid #d2d8d1;border-radius:20px;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:56px;margin-bottom:44px;display:grid}.refresh-copy h2{letter-spacing:-.035em;margin:0 0 18px;font-size:37px;line-height:1.15}.refresh-copy>p:not(.section-label){color:#486059;margin:0;font-size:18px;line-height:1.7}.refresh-copy .refresh-note{border-left:4px solid var(--yellow);padding-left:18px;margin-top:24px!important;font-size:15px!important}.refresh-examples{gap:12px;display:grid}.refresh-example{background:#fff;border:1px solid #cbdad2;border-radius:12px;padding:20px 22px}.refresh-example code{white-space:pre-wrap;color:var(--green-dark);font-family:var(--mono);font-size:18px;font-weight:750;line-height:1.5;display:block}.refresh-example p{color:#52635e;margin:8px 0 0;font-size:16px;line-height:1.55}.theory-section{padding-top:25px;padding-bottom:78px}.theory-grid{gap:18px;display:grid}.theory-card{border:1px solid var(--line);background:#faf8f2;border-radius:16px;grid-template-columns:68px minmax(0,1fr);gap:24px;padding:32px;display:grid}.theory-index{width:58px;height:58px;color:var(--coral-dark);font-family:var(--mono);background:#f6e2dc;border-radius:50%;align-self:start;place-items:center;font-size:17px;font-weight:800;display:grid}.theory-card h3{margin:0 0 10px;font-size:25px;line-height:1.25}.theory-card>div:last-child{max-width:880px}.theory-card p{color:#596764;margin:0;font-size:18px;line-height:1.65}.theory-card code{color:var(--green-dark);white-space:pre-wrap;font-family:var(--mono);background:#eae7dd;border-radius:8px;margin-top:18px;padding:14px 16px;font-size:17px;display:block;overflow-x:auto}.how-to-list{color:#3f514d;gap:8px;margin:20px 0 0;padding-left:24px;font-size:16px;line-height:1.55;display:grid}.how-to-list li::marker{color:var(--coral-dark);font-family:var(--mono);font-weight:800}.theory-reflection,.theory-why{border-radius:10px;margin-top:18px;padding:16px 18px}.theory-reflection{border-left:5px solid var(--yellow);background:#fff7d7}.theory-why{background:#e9f6ee;border-left:5px solid #62b88b}.theory-reflection strong,.theory-why strong{color:#32453f;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:900;display:block}.theory-card .theory-reflection p,.theory-card .theory-why p{color:#3f514d;font-size:16px;line-height:1.6}.progression-section{padding-top:0;padding-bottom:76px}.progression-section .section-heading>p{max-width:430px}.progression-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.progression-card{background:#f7fbf8;border:1px solid #cbd8d1;border-radius:16px;flex-direction:column;min-width:0;padding:25px;display:flex;box-shadow:0 12px 30px #173f3a0b}.progression-card-heading{align-items:center;gap:13px;display:flex}.progression-card-heading>span{background:var(--green);color:#fff;height:38px;font-family:var(--mono);border-radius:50%;flex:0 0 38px;place-items:center;font-size:13px;font-weight:850;display:grid}.progression-card-heading small{color:#71827d;letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:850;display:block}.progression-card h3{margin:2px 0 0;font-size:22px;line-height:1.25}.progression-card>p{color:#53645f;margin:16px 0;font-size:16px;line-height:1.6}.progression-card pre{color:#eef5ef;white-space:pre;background:#173f3a;border-radius:9px;margin:0;padding:17px;overflow-x:auto}.progression-card code{font-family:var(--mono);font-size:16px;line-height:1.7}.progression-task{border-left:4px solid var(--yellow);color:#56615d;background:#fff9df;margin:16px 0;padding:13px 14px;font-size:14px;line-height:1.55}.progression-task strong{color:#6e5618}.progression-upgrade{background:#fffdf5;border:1px solid #e0ca7e;border-radius:9px;margin:0 0 17px;padding:12px 14px}.progression-upgrade summary{color:#755b14;cursor:pointer;font-size:14px;font-weight:800}.progression-upgrade p{color:#616a66;margin:10px 0;font-size:14px;line-height:1.55}.progression-upgrade pre{background:#244b45}.progression-card>button{color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #8aa49c;border-radius:8px;align-self:flex-start;margin-top:auto;padding:10px 13px;font-size:14px;font-weight:800}.progression-card>button:hover{border-color:var(--coral);color:var(--coral-dark)}.polish-section{padding-top:0;padding-bottom:76px}.polish-section details{background:#fff9df;border:1px solid #e0c76e;border-radius:16px;overflow:hidden}.polish-section summary{cursor:pointer;align-items:center;gap:16px;padding:22px 24px;list-style:none;display:flex}.polish-section summary::-webkit-details-marker{display:none}.polish-section summary:focus-visible{outline-offset:-3px;outline:3px solid #f06f5166}.polish-section summary>span:nth-child(2){flex:1;display:grid}.polish-section summary small{color:#8b6d21;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:850}.polish-section summary strong{margin-top:2px;font-size:20px;line-height:1.35}.polish-spark{background:var(--yellow);color:#684c0a;border-radius:50%;flex:0 0 46px;place-items:center;height:46px;font-size:20px;display:grid}.polish-open{color:#846a2e;font-size:13px;font-weight:800}.polish-section details[open] .polish-open{font-size:0}.polish-section details[open] .polish-open:after{content:"Skjul trikset";font-size:13px}.polish-content{background:#fffdf5;border-top:1px solid #e7d99d;grid-template-columns:.9fr 1.1fr;gap:30px;padding:26px;display:grid}.polish-content p{color:#52605d;margin:0;font-size:17px;line-height:1.65}.polish-content .polish-explanation{border-left:3px solid var(--yellow);margin-top:16px;padding-left:15px;font-size:15px}.polish-code-change{grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;display:grid}.polish-code-change span{color:#887127;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:850}.polish-code-change code{color:#eef5ef;font-family:var(--mono);background:#173f3a;border-radius:8px;padding:13px 15px;font-size:14px;line-height:1.55;overflow-x:auto}.lab-section{background:var(--green-dark);color:#f8f4e9;max-width:none;padding:76px max(70px,50% - 530px)}.lab-heading{max-width:1060px;margin-left:auto;margin-right:auto}.lab-heading h2{font-size:39px}.section-label.inverse{color:#f6c3b5}.live-badge{color:#dfeae5;border:1px solid #5e7e76;border-radius:99px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:700;display:flex}.live-badge span{background:#6fd79f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #6fd79f1e}.lab-tabs{grid-template-columns:1fr 1fr;gap:10px;max-width:1060px;margin:0 auto 16px;display:grid}.lab-tabs button{color:#bed0ca;text-align:left;cursor:pointer;background:#214a45;border:1px solid #58746e;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:38px 1fr;column-gap:12px;padding:15px 18px;display:grid}.lab-tabs button>span{width:34px;height:34px;font-family:var(--mono);background:#163b36;border-radius:50%;grid-row:1/3;align-self:center;place-items:center;font-size:12px;font-weight:850;display:grid}.lab-tabs button strong{color:#f3f8f5;font-size:16px}.lab-tabs button small{font-size:12px}.lab-tabs button.is-active{border-color:var(--yellow);background:#2a5a53;box-shadow:0 0 0 2px #f4c95d22}.lab-tabs button.is-active>span{background:var(--yellow);color:#21312e}.typing-guide,.solution-note{background:#102f2b;border:1px solid #4f6d66;border-radius:12px;max-width:1060px;margin:0 auto 18px}.typing-guide{grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:28px;padding:24px;display:grid}.typing-guide>div{align-content:start;display:grid}.typing-guide h3{margin:9px 0 3px;font-size:22px}.typing-guide p{color:#9eb5ae;margin:0;font-size:15px;line-height:1.6}.keyboard-icon{width:42px;height:42px;color:var(--yellow);background:#2c5c54;border-radius:10px;place-items:center;display:grid}.typing-legend{color:#baccc6;border-top:1px solid #ffffff18;gap:8px;margin-top:20px;padding-top:15px;font-size:11px;font-weight:750;display:grid}.typing-legend span{align-items:center;gap:8px;display:flex}.typing-legend i{border-radius:3px;width:18px;height:9px}.legend-code{background:#071f1c;border:1px solid #f4c95d}.legend-explanation{background:#214a45;border-left:3px solid #6fd79f}.typing-guide .typing-steps{color:#dbe9e4;gap:11px;margin:0;padding:0;list-style:none;display:grid}.typing-steps>li{background:#143733;border:1px solid #42635b;border-radius:10px;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:13px;display:grid}.typing-step-number{background:var(--yellow);color:#263a35;width:34px;height:34px;font-family:var(--mono);border-radius:8px;align-self:start;place-items:center;font-size:11px;font-weight:900;display:grid}.typing-step-kind{color:var(--yellow);letter-spacing:.11em;text-transform:uppercase;margin:1px 0 7px;font-size:9px;font-weight:900;display:block}.typing-steps code{border:1px solid #6d7650;border-left:4px solid var(--yellow);color:#f5f7ed;font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;background:#071f1c;border-radius:7px;margin:0 0 9px;padding:12px 14px;font-size:17px;font-weight:650;line-height:1.6;display:block}.typing-explanation{background:#214a45;border-left:3px solid #6fd79f;border-radius:0 6px 6px 0;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:9px;padding:8px 10px;display:grid}.typing-explanation strong{color:#91dcb1;letter-spacing:.08em;text-transform:uppercase;padding-top:2px;font-size:9px;font-weight:900}.typing-guide .typing-explanation p{color:#cfddd8;font-size:14px;line-height:1.55}.typing-deep-dive{gap:8px;margin-top:10px;display:grid}.typing-deep-dive>div{border-radius:8px;grid-template-columns:115px minmax(0,1fr);gap:12px;padding:11px 13px;display:grid}.typing-deep-dive strong{letter-spacing:.08em;text-transform:uppercase;padding-top:2px;font-size:10px;font-weight:900}.typing-guide .typing-deep-dive p,.typing-breakdown ol{color:#dbe8e3;font-size:14px;line-height:1.55}.typing-think{background:#3c3a29;border:1px solid #7e713f}.typing-think strong{color:var(--yellow)}.typing-breakdown{background:#173b36;border:1px solid #46665f}.typing-breakdown strong{color:#a9c7bd}.typing-breakdown ol{gap:5px;margin:0;padding-left:20px;display:grid}.typing-breakdown li::marker{color:var(--yellow);font-family:var(--mono);font-weight:800}.typing-why{background:#164737;border:1px solid #3d7b61}.typing-why strong{color:#8be0ae}.typing-steps .is-action-step{background:#193f3a;border-color:#4f756b}.typing-steps .is-action-step .typing-step-number{background:#6fd79f}.typing-steps .is-action-step .typing-step-kind{color:#91dcb1}.solution-note{color:#bfd2cb;padding:15px 18px;font-size:14px}.solution-note strong{color:var(--yellow)}.code-workbench{border:1px solid #49665f;border-radius:15px;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);max-width:1060px;margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 50px #071f1c55}.code-workbench.has-turtle,.code-workbench.has-game{grid-template-columns:minmax(420px,.8fr) minmax(600px,1.2fr);max-width:1480px}.code-workbench.has-turtle .output-panel>pre,.code-workbench.has-game .output-panel>pre{border-bottom:1px solid #34514b;flex:none;min-height:0;padding:17px 22px}.editor-panel,.output-panel{background:#102e2b;min-width:0}.editor-panel{border-right:1px solid #49665f}.panel-bar{color:#b7cbc4;background:#183a36;border-bottom:1px solid #34514b;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:8px 18px;font-size:13px;display:flex}.panel-bar>span:first-child{gap:5px;display:flex}.panel-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.panel-tools button{border-radius:5px;padding:6px 8px}.panel-tools button:hover{background:#ffffff12}.panel-tools button:disabled{cursor:not-allowed;opacity:.4}.panel-tools .coding-help-button{color:#ffe08a;background:#f4c95d12;border:1px solid #f4c95d66;font-weight:800}.panel-tools .coding-help-button:hover,.panel-tools .coding-help-button[aria-pressed=true]{background:var(--yellow);color:#223c36}.panel-tools .command-help-button{color:#aee6cf;background:#8fd1b712;border:1px solid #8fd1b766;font-weight:800}.panel-tools .command-help-button:hover,.panel-tools .command-help-button[aria-pressed=true]{color:#173f3a;background:#9fe5bd}.editor-size-controls{border:1px solid #ffffff1f;border-radius:7px;align-items:center;gap:1px;padding:2px;display:inline-flex}.editor-size-controls output{color:#d9e5e0;min-width:43px;font-family:var(--mono);text-align:center;font-size:11px}.panel-bar button{color:#b9cbc5;cursor:pointer;background:0 0;border:0;font-size:13px}.panel-bar button:hover{color:#fff}.data-file-shelf{color:#dbe8e2;background:#0d2926;border-bottom:1px solid #34514b;padding:11px 16px 10px}.data-file-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.data-file-actions>strong{color:#f4c95d;letter-spacing:.06em;text-transform:uppercase;margin-right:3px;font-size:12px}.data-file-actions>button,.data-file-button{color:#e8f1ed;cursor:pointer;background:#183a36;border:1px solid #58736c;border-radius:7px;align-items:center;min-height:34px;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex}.data-file-actions>button:hover,.data-file-button:hover{border-color:var(--yellow);color:#ffe08a}.data-file-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.data-file-list{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.data-file-list>span{background:#173f3a;border:1px solid #527068;border-radius:99px;align-items:center;gap:7px;max-width:100%;padding:5px 6px 5px 9px;display:inline-flex}.data-file-list code{color:#b9efcb;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.data-file-list small{color:#91aaa2;white-space:nowrap;font-size:10px}.data-file-list button{color:#caddd6;cursor:pointer;background:#ffffff10;border:0;border-radius:50%;place-items:center;width:24px;height:24px;font-size:17px;line-height:1;display:grid}.data-file-list button:hover{background:var(--coral);color:#fff}.data-file-shelf>p{color:#91aaa2;margin:7px 0 0;font-size:11px;line-height:1.4}.project-file-tabs{background:#122f2c;border-bottom:1px solid #34514b;align-items:center;gap:10px;padding:8px 12px;display:flex}.project-file-tabs>span{color:#8ca69e;letter-spacing:.09em;text-transform:uppercase;flex:none;font-size:9px;font-weight:900}.project-file-tabs>div{gap:5px;min-width:0;display:flex;overflow-x:auto}.project-file-tabs button{color:#aebfba;min-height:31px;font-family:var(--mono);cursor:pointer;background:#0d2926;border:1px solid #4e6d65;border-radius:6px;flex:none;padding:5px 9px;font-size:10px}.project-file-tabs button:hover{border-color:var(--yellow);color:#fff}.project-file-tabs button.is-active{color:#c3f2da;background:#214a42;border-color:#79d7ad;box-shadow:inset 0 -2px #79d7ad}.project-file-tabs .add-project-file{color:var(--yellow);border-style:dashed}.dot{border-radius:50%;width:8px;height:8px}.dot.coral{background:var(--coral)}.dot.cream{background:var(--yellow)}.dot.green{background:#6fd79f}.python-editor{background:#102e2b;flex-direction:column;min-height:390px;display:flex;position:relative}.python-editor-surface{flex:1;min-height:390px;position:relative}.syntax-layer,.syntax-input{width:100%;min-height:390px;font-family:var(--mono);font-size:var(--editor-font-size,19px);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;letter-spacing:0;tab-size:4;white-space:pre;overflow-wrap:normal;word-break:normal;border:0;margin:0;padding:28px 28px 28px 76px;font-style:normal;font-weight:500;line-height:1.7}.syntax-layer{pointer-events:none;color:#e7eee9;background:#102e2b;position:absolute;inset:0;overflow:hidden}.syntax-input{resize:vertical;color:#0000;caret-color:#ff8a6e;background:0 0;outline:0;display:block;position:relative;overflow:auto}.syntax-input::selection{background:#6fd79f45}.python-editor:focus-within{box-shadow:inset 0 0 0 2px #f06f5180}.syntax-line{min-height:1.7em;display:block;position:relative}.syntax-line.is-error-line{background:#f06f5125;border-left:3px solid #ff7759;margin-left:-8px;padding-left:8px}.syntax-gutter{z-index:2;color:#67877e;width:57px;min-height:390px;font-family:var(--mono);font-size:var(--editor-font-size,19px);text-align:right;pointer-events:none;background:#0d2926;border-right:1px solid #34514b;margin:0;padding:28px 8px 28px 0;line-height:1.7;position:absolute;inset:0 auto 0 0;overflow:hidden}.syntax-gutter span{min-height:1.7em;padding-right:9px;display:block}.syntax-gutter span.is-error-line{color:#ffb29f;background:#f06f5130;font-weight:900}.indent-guide-layer{pointer-events:none;position:absolute;inset:0}.indent-guide-layer i{background:#8eb7aa35;width:1px;position:absolute;top:0;bottom:0;transform:translate(-.5ch)}.editor-library-status{z-index:2;font-family:var(--mono);background:#0b2623;border-top:1px solid #34514b;flex-wrap:wrap;gap:6px;padding:7px 14px;font-size:11px;line-height:1.35;display:flex;position:relative}.editor-library-status>span{border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.editor-library-status>span strong{font-size:13px}.editor-library-status .is-available{color:#b9efcb;background:#69d49b18;border-color:#69d49b70}.editor-library-status .is-available strong{color:#69d49b}.editor-library-status .is-unknown{color:#ffe6a0;background:#f4c95d14;border-color:#f4c95d70}.editor-library-status .is-unknown strong{color:var(--yellow)}.editor-suggestions{z-index:4;color:#c7d8d2;white-space:nowrap;background:#173a36;border-top:1px solid #34514b;align-items:stretch;gap:5px;padding:7px 10px;display:flex;position:relative;overflow-x:auto}.editor-suggestions>span,.editor-suggestions>small{color:#8fa9a1;align-self:center;padding:0 6px;font-size:10px}.editor-suggestions>span code{color:var(--yellow);font-family:var(--mono)}.editor-suggestions button{color:#fff;text-align:left;cursor:pointer;background:#0d2926;border:1px solid #56776e;border-radius:7px;gap:1px;min-width:120px;padding:6px 8px;display:grid}.editor-suggestions button:hover{border-color:var(--yellow);background:#214a43}.editor-suggestions button code{color:#9fe5bd;font-family:var(--mono);font-size:12px;font-weight:850}.editor-suggestions button small{color:#9eb2ac;font-size:9px}.editor-assist-bar{z-index:2;color:#b9cbc5;background:#0d2926;border-top:1px solid #34514b;align-items:stretch;min-height:43px;font-size:12px;line-height:1.45;display:flex;position:relative}.editor-position{color:#87a59c;min-width:135px;font-family:var(--mono);white-space:nowrap;border-right:1px solid #34514b;flex:none;align-items:center;padding:8px 14px;font-size:11px;display:flex}.editor-inline-help{flex:1;align-items:center;gap:7px;min-width:0;padding:7px 13px;display:flex}.editor-inline-help strong{color:#dce8e3;white-space:nowrap}.editor-inline-help.is-quiet{color:#829d95}.editor-inline-help.is-range{color:#bcebd4;background:#153a35}.editor-inline-help.is-range strong{color:var(--yellow)}.editor-inline-help.is-warning{color:#ffe8b1;background:#4b351a}.editor-inline-help.is-tip{color:#cae9ef;background:#173b42}.editor-inline-help>span{gap:6px;margin-left:auto;display:inline-flex}.editor-inline-help button{color:#fff;min-height:29px;font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff45;border-radius:6px;flex:none;padding:5px 9px;font-weight:800}.editor-inline-help button:hover{border-color:var(--yellow);color:var(--yellow)}.py-keyword{color:#f28b72}.py-builtin{color:#78d5e3}.py-library{color:#79e0a6;font-weight:inherit;text-shadow:0 0 12px #69d49b30}.py-string{color:#f4c95d}.py-number{color:#b8a1f5}.py-comment{color:#829d95}.py-plain{color:#e7eee9}.editor-footer{color:#9bb0aa;border-top:1px solid #34514b;justify-content:space-between;align-items:center;gap:15px;min-height:68px;padding:10px 14px 10px 22px;font-size:13px;display:flex}.editor-run-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.secondary-run-button{color:#d6e4df;cursor:pointer;background:0 0;border:1px solid #6f8e85;border-radius:8px;min-height:40px;padding:8px 12px;font-size:12px;font-weight:800}.secondary-run-button:hover:not(:disabled){border-color:var(--yellow);color:var(--yellow)}.secondary-run-button:disabled{opacity:.4;cursor:not-allowed}.run-button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:8px;padding:13px 19px;font-size:14px;font-weight:800;display:flex;box-shadow:0 4px 12px #0003}.run-button:hover:not(:disabled){background:#ff7d5d;transform:translateY(-1px)}.run-button:disabled{cursor:wait;opacity:.72}.run-button span{font-size:8px}.output-panel{background:#0c2724;flex-direction:column;display:flex}.output-panel.is-stale>pre,.output-panel.is-stale>.plot-gallery,.output-panel.is-stale>.variable-inspector{opacity:.48;filter:saturate(.7)}.stale-result-notice{color:#493b12;background:#fff2bd;border-bottom:1px solid #6f5f2d;margin:0;padding:12px 18px;font-size:13px;line-height:1.45}.stale-result-notice strong{margin-right:4px}.output-bar{background:#13332f}.status-dot{background:#678078;border-radius:50%;width:7px;height:7px}.status-dot.loading,.status-dot.running,.status-dot.input{background:var(--yellow);animation:1s infinite pulse}.status-dot.ready{background:#6fd79f}.status-dot.error{background:var(--coral)}@keyframes pulse{50%{opacity:.35}}.output-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#b9efcb;min-height:320px;font-family:var(--mono);flex:1;margin:0;padding:28px;font-size:16px;line-height:1.7}.error-coach{color:#253b3a;background:#fffaf0;border:1px solid #e2bd62;border-radius:12px;margin:16px;padding:21px;box-shadow:0 10px 24px #061d1a24}.error-coach.is-indent{border-color:#77a995}.error-coach.is-name,.error-coach.is-type{border-color:#92a7c8}.error-coach-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.error-coach-label{color:#9b6416;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:900;display:block}.error-coach h3{color:var(--green-dark);margin:0;font-size:22px;line-height:1.2}.error-coach-heading button{color:#805210;cursor:pointer;background:#fff;border:1px solid #b97c24;border-radius:8px;flex:none;min-height:38px;padding:8px 11px;font-size:12px;font-weight:850}.error-coach-heading button:hover{background:#fff1c8}.error-coach-summary{color:#465b56;margin:14px 0;font-size:15px;line-height:1.55}.error-code-line{background:#102e2b;border:1px solid #d8c99d;border-radius:8px;grid-template-columns:40px minmax(0,1fr);min-width:0;margin-bottom:17px;display:grid;overflow:hidden}.error-code-line>span{color:var(--yellow);font-family:var(--mono);background:#193c37;border-right:1px solid #3b5953;place-items:center;padding:11px 6px;font-size:13px;font-weight:850;display:grid}.error-code-line code{color:#f1f5f2;font-family:var(--mono);white-space:pre;padding:11px 13px;font-size:14px;line-height:1.55;overflow-x:auto}.error-coach-questions{background:#f3edda;border-radius:9px;padding:15px 16px}.error-coach-questions>strong{color:#69501f;letter-spacing:.07em;text-transform:uppercase;font-size:12px}.error-coach-questions ol{gap:7px;margin:10px 0 0;padding-left:22px;display:grid}.error-coach-questions li{color:#3f514d;padding-left:3px;font-size:14px;line-height:1.5}.error-coach-questions li::marker{color:#b6791c;font-family:var(--mono);font-weight:900}.error-coach details{background:#fff;border:1px solid #d9d0b8;border-radius:8px;margin-top:10px}.error-coach summary{color:#405954;cursor:pointer;padding:11px 13px;font-size:13px;font-weight:850}.error-coach details[open] summary{border-bottom:1px solid #e2dccb}.error-hint p{color:#4b5e59;margin:0;padding:13px;font-size:14px;line-height:1.55}.output-panel .error-technical pre{color:#b9cbc5;background:#0c2724;min-height:0;max-height:230px;margin:0;padding:13px;font-size:12px;line-height:1.55;overflow:auto}.error-coach-next{color:#4c5e59;margin:15px 1px 0;font-size:13px;line-height:1.5}.error-coach-next strong{color:var(--green-dark)}.output-tip{color:#a6bab4;border-top:1px solid #34514b;padding:18px 22px;font-size:13px;line-height:1.55}.output-tip strong{color:#d5dfdb}.variable-inspector{color:#dce9e4;background:#153a35;border:1px solid #55766d;border-radius:10px;margin:0 16px 16px;overflow:hidden}.variable-inspector-heading{background:#193f3a;border-bottom:1px solid #55766d;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.variable-inspector-heading>div{gap:1px;display:grid}.variable-inspector-heading span{color:var(--yellow);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900}.variable-inspector-heading strong{font-size:14px}.variable-inspector-heading small{color:#b9cbc5;white-space:nowrap;background:#ffffff12;border-radius:99px;padding:4px 7px;font-size:10px}.variable-search{border-bottom:1px solid #ffffff12;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:10px;padding:8px 12px;display:grid}.variable-search span{color:#a9bdb6;font-size:10px;font-weight:800}.variable-search input{color:#fff;min-width:0;font-family:var(--mono);background:#0e2e2a;border:1px solid #5e7d74;border-radius:6px;padding:6px 8px;font-size:11px}.variable-table-wrap{max-height:220px;overflow:auto}.variable-inspector table{border-collapse:collapse;width:100%;font-size:12px}.variable-inspector th,.variable-inspector td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff12;padding:8px 12px}.variable-inspector thead th{z-index:1;color:#9db5ad;letter-spacing:.08em;text-transform:uppercase;background:#21483f;font-size:9px;position:sticky;top:0}.variable-inspector tbody th{color:#f3ca60;font-weight:800}.variable-inspector td:nth-child(2),.variable-inspector td:nth-child(3){color:#a9c6bc;white-space:nowrap}.variable-inspector code{color:inherit;font-family:var(--mono);overflow-wrap:anywhere;font-size:11px}.variable-inspector>p{color:#91aaa2;margin:0;padding:9px 13px;font-size:10px;line-height:1.45}.trace-player{color:#213c37;background:#fff8dd;border:1px solid #d1b654;border-radius:10px;margin:0 16px 16px;overflow:hidden}.trace-heading{background:#f5e7ad;border-bottom:1px solid #dccb8c;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.trace-heading>div:first-child{display:grid}.trace-heading span{color:#836619;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:900}.trace-heading strong{font-size:14px}.trace-controls{gap:5px;display:flex}.trace-controls button{color:#4e4938;cursor:pointer;background:#fff;border:1px solid #baa45c;border-radius:6px;min-height:31px;padding:5px 8px;font-size:10px;font-weight:800}.trace-controls button:disabled{opacity:.4;cursor:not-allowed}.trace-code-line{color:#fff;background:#102e2b;grid-template-columns:42px minmax(0,1fr);display:grid}.trace-code-line span{color:var(--yellow);font-family:var(--mono);border-right:1px solid #3a5751;place-items:center;font-size:12px;font-weight:900;display:grid}.trace-code-line code{font-family:var(--mono);white-space:pre;padding:11px 13px;font-size:12px;overflow-x:auto}.trace-player>p{color:#665e44;margin:0;padding:9px 12px;font-size:11px;line-height:1.45}.trace-variables{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:5px;padding:0 11px 11px;display:grid}.trace-variables div{background:#fff;border:1px solid #dfd1a0;border-radius:6px;gap:2px;min-width:0;padding:7px 8px;display:grid}.trace-variables code{color:#9a5b20;font-family:var(--mono);font-size:10px;font-weight:900}.trace-variables span{color:#43534f;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.trace-empty{color:#70684e;text-align:center;border:1px dashed #cdbd83;border-radius:6px;margin:0 11px 11px;padding:9px;font-size:10px}.coding-help-drawer{z-index:20;width:clamp(500px,50%,640px);min-width:500px;color:var(--ink);background:#fffdf8;border-left:1px solid #769087;flex-direction:column;display:flex;position:absolute;inset:0 0 0 auto;overflow:hidden;box-shadow:-20px 0 55px #061d1a70}.coding-help-header{background:var(--green-dark);color:#fff;border-bottom:1px solid #d5d8d1;flex:none;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:13px 18px 13px 22px;display:flex}.coding-help-header>div{display:grid}.coding-help-header span{color:var(--yellow);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.coding-help-header h2{margin:2px 0 0;font-size:23px;line-height:1.2}.coding-help-header button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4a;border-radius:8px;flex:none;padding:8px 11px;font-size:12px;font-weight:850}.coding-help-header button:hover{border-color:var(--yellow);color:var(--yellow)}.coding-help-controls{background:#f4f1e9;border-bottom:1px solid #dfe1da;flex:none;grid-template-columns:minmax(0,1fr) 135px;gap:10px;padding:13px 16px;display:grid}.coding-help-controls label{gap:4px;min-width:0;display:grid}.coding-help-controls label>span{color:#596864;letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:850}.coding-help-controls input,.coding-help-controls select{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #bac5bf;border-radius:8px;padding:7px 10px;font-size:13px}.coding-help-body{flex:1;grid-template-columns:190px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.coding-help-list{background:#f7f4ed;border-right:1px solid #dde0da;flex-direction:column;gap:6px;min-height:0;padding:13px 10px 18px;display:flex;overflow-y:auto}.coding-help-list>small{color:#6c7874;padding:0 6px 3px;font-size:10px;font-weight:800}.coding-help-list button{color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #d9ddd6;border-radius:9px;gap:2px;padding:10px;display:grid}.coding-help-list button:hover{border-color:#8cad9f}.coding-help-list button.is-active{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green);background:#e7f1eb}.coding-help-list button>span{color:var(--coral-dark);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:900}.coding-help-list button strong{font-size:12px;line-height:1.3}.coding-help-list button small{color:#687570;font-size:10px;line-height:1.35}.coding-tutorial{min-height:0;padding:22px 23px 28px;overflow-y:auto}.coding-tutorial-category{color:var(--coral-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 3px;font-size:9px;font-weight:900}.coding-tutorial h3{color:var(--green-dark);margin:0;font-size:25px;line-height:1.14}.coding-tutorial-question{color:#325d54;margin:8px 0 12px;font-size:15px;font-weight:800;line-height:1.45}.coding-tutorial-intro{color:#566660;margin:0 0 17px;font-size:14px;line-height:1.58}.coding-tutorial-steps{background:#edf4ef;border-radius:10px;padding:14px 16px}.coding-tutorial-steps>strong{color:var(--green-dark);letter-spacing:.07em;text-transform:uppercase;font-size:11px}.coding-tutorial-steps ol{gap:7px;margin:9px 0 0;padding-left:23px;display:grid}.coding-tutorial-steps li{color:#425650;padding-left:2px;font-size:13px;line-height:1.48}.coding-tutorial-steps li::marker{color:var(--coral-dark);font-family:var(--mono);font-weight:900}.coding-tutorial-example{background:#102e2b;border:1px solid #31554e;border-radius:11px;margin-top:15px;overflow:hidden}.coding-tutorial-example>div:first-child{color:#e7efea;border-bottom:1px solid #385750;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.coding-tutorial-example>div:first-child strong{font-size:12px}.coding-tutorial-example>div:first-child span{color:#9fb6ae;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.coding-tutorial-example pre{color:#eef5f0;max-height:270px;font-family:var(--mono);white-space:pre;tab-size:4;margin:0;padding:15px;font-size:13px;line-height:1.58;overflow:auto}.coding-tutorial-actions{background:#173a36;border-top:1px solid #385750;gap:6px;padding:10px;display:flex}.coding-tutorial-actions button{color:#e2ebe7;cursor:pointer;background:0 0;border:1px solid #6f8881;border-radius:7px;flex:1;min-height:38px;padding:7px 9px;font-size:11px;font-weight:850}.coding-tutorial-actions button:hover{border-color:var(--yellow);color:var(--yellow)}.coding-tutorial-actions .tutorial-insert{border-color:var(--coral);background:var(--coral);color:#fff}.coding-tutorial-actions .tutorial-insert:hover{color:#fff;background:#ff8265;border-color:#ff8265}.coding-tutorial-notice{background:#fff9e4;border:1px solid #e0c987;border-radius:9px;margin-top:13px}.coding-tutorial-notice summary{color:#73591b;cursor:pointer;padding:10px 12px;font-size:12px;font-weight:850}.coding-tutorial-notice p{color:#5e5540;margin:0;padding:0 12px 12px;font-size:12px;line-height:1.5}.coding-tutorial-challenge{border-left:4px solid var(--coral);background:#f8eee8;border-radius:0 8px 8px 0;margin-top:13px;padding:12px 14px}.coding-tutorial-challenge strong{color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.coding-tutorial-challenge p{color:#5a5d56;margin:3px 0 0;font-size:12px;line-height:1.5}.tutorial-status{color:#1f5b47;background:#dcefe4;border-radius:7px;margin:13px 0 0;padding:10px 11px;font-size:11px;font-weight:750;line-height:1.45}.coding-help-empty{text-align:center;margin:auto;padding:35px}.coding-help-empty p{color:#697671;margin:4px 0 14px;font-size:14px}.coding-help-empty button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:800}.code-workbench:fullscreen{background:#102e2b;border:0;border-radius:0;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);width:100vw;max-width:none;height:100vh}.code-workbench:fullscreen .editor-panel{flex-direction:column;min-height:0;display:flex}.code-workbench:fullscreen .python-editor{flex:1;min-height:0}.code-workbench:fullscreen .python-editor-surface{min-height:0}:is(.code-workbench:fullscreen .syntax-layer,.code-workbench:fullscreen .syntax-input){resize:none;height:100%;min-height:0}.code-workbench:fullscreen .output-panel{min-height:0;overflow:auto}:is(.code-workbench.has-turtle:fullscreen,.code-workbench.has-game:fullscreen){grid-template-columns:minmax(420px,.75fr) minmax(620px,1.25fr)}.plot-gallery{gap:14px;padding:0 18px 20px;display:grid}.plot-gallery.has-turtle,.plot-gallery.has-game{padding:18px}.snake-player{color:#173f3a;background:#f4f7f5;border:1px solid #54736b;border-radius:12px;margin:0;overflow:hidden;box-shadow:0 12px 30px #061d1a3d}.snake-heading{background:#edf4f0;border-bottom:1px solid #ced8d3;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:10px 15px;display:flex}.snake-heading>div{display:grid}.snake-heading>div:last-child{border-left:1px solid #c7d4ce;justify-items:end;min-width:74px;padding-left:15px}.snake-heading span{color:#6d7c77;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:850}.snake-heading strong{color:#173f3a;font-size:18px}.snake-heading>div:last-child strong{color:var(--coral-dark);font-family:var(--mono);font-size:20px}.snake-game{cursor:crosshair;background:#dce6e1;outline:0;place-items:center;padding:12px;display:grid}.snake-game:focus-visible{box-shadow:inset 0 0 0 4px var(--yellow)}.snake-canvas{object-fit:contain;width:100%;height:auto;max-height:min(66vh,760px);image-rendering:crisp-edges;background:#102e2b;border:1px solid #45635c;border-radius:7px;display:block;box-shadow:0 5px 16px #173f3a26}.snake-controls{background:#fff;border-top:1px solid #ced8d3;grid-template-columns:minmax(150px,1fr) auto minmax(240px,auto);align-items:center;gap:13px;padding:12px 14px;display:grid}.snake-status{min-width:0;display:grid}.snake-status strong{color:var(--green-dark);font-size:14px}.snake-status span{color:#687671;font-size:12px;line-height:1.4}.snake-arrows{grid-template-rows:repeat(2,36px);grid-template-columns:repeat(3,40px);gap:4px;display:grid}.snake-arrows .snake-up{grid-column:2}.snake-arrows button:nth-child(2){grid-area:2/1}.snake-arrows button:nth-child(3){grid-area:2/2}.snake-arrows button:nth-child(4){grid-area:2/3}.snake-controls button{color:#254d44;cursor:pointer;background:#fff;border:1px solid #b7c3bd;border-radius:7px;min-height:38px;font-size:12px;font-weight:850}.snake-controls button:hover{border-color:var(--coral);color:var(--coral-dark)}.snake-arrows button{padding:0;font-size:17px}.snake-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.snake-actions button{padding:7px 9px}.snake-actions .snake-play{border-color:var(--green);background:var(--green);color:#fff;min-width:70px}.snake-actions .snake-play:hover{border-color:var(--green-dark);background:var(--green-dark);color:#fff}.turtle-player{color:#173f3a;background:#f4f7f5;border:1px solid #54736b;border-radius:12px;margin:0;overflow:hidden;box-shadow:0 12px 30px #061d1a3d}.turtle-heading{background:#edf4f0;border-bottom:1px solid #ced8d3;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:10px 15px;display:flex}.turtle-heading>div{display:grid}.turtle-heading>div span{color:#6d7c77;letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:850}.turtle-heading strong{color:#173f3a;margin-top:1px;font-size:15px}.turtle-heading>span{color:#315a51;font-family:var(--mono);background:#d9e8df;border-radius:99px;flex:none;padding:5px 8px;font-size:10px;font-weight:800}.turtle-canvas-wrap{background:#dce6e1;width:100%;padding:10px;position:relative}.turtle-canvas-wrap canvas{object-fit:contain;background:#fff;border:1px solid #bac9c2;border-radius:7px;width:100%;height:auto;max-height:min(68vh,900px);display:block;box-shadow:0 5px 16px #173f3a1f}.turtle-maker-menu{z-index:4;color:#173f3a;width:min(410px,100% - 40px);position:absolute;top:20px;right:20px}.turtle-maker-menu>summary{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#173f3aeb;border:1px solid #638078;border-radius:8px;width:max-content;margin-left:auto;padding:9px 13px;font-size:12px;font-weight:850;list-style:none;box-shadow:0 6px 18px #0b282453}.turtle-maker-menu>summary::-webkit-details-marker{display:none}.turtle-maker-menu>summary span{color:var(--yellow);margin-right:5px}.turtle-maker-menu[open]{height:calc(100% - 40px);min-height:0;bottom:20px}.turtle-maker-menu[open]>summary{background:#102e2b;border-radius:8px 8px 0 0}.turtle-maker-panel{overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f9fbfaef;border:1px solid #55736b;border-radius:10px 0 10px 10px;min-height:0;max-height:min(660px,68vh - 48px);padding:15px;overflow:hidden auto;box-shadow:0 18px 42px #061d1a73}.turtle-maker-menu[open] .turtle-maker-panel{max-height:none;position:absolute;inset:38px 0 0}.turtle-maker-panel::-webkit-scrollbar{width:11px}.turtle-maker-panel::-webkit-scrollbar-track{background:#dce6e1}.turtle-maker-panel::-webkit-scrollbar-thumb{background:#55736b;border:3px solid #dce6e1;border-radius:99px}.turtle-maker-panel header{border-bottom:1px solid #d4ded9;justify-content:space-between;align-items:start;gap:16px;padding-bottom:12px;display:flex}.turtle-maker-panel header>div{gap:3px;display:grid}.turtle-maker-panel header small{color:var(--coral-dark);letter-spacing:.12em;font-size:8px;font-weight:900}.turtle-maker-panel header strong{font-size:14px;line-height:1.25}.turtle-maker-panel header>span{color:#34584f;font-family:var(--mono);background:#dcebe3;border-radius:6px;flex:none;padding:5px 7px;font-size:9px;font-weight:800}.turtle-maker-panel>label,.maker-number-grid label,.maker-color-row>label:first-child,.maker-options>label:last-child{color:#546963;gap:5px;margin-top:12px;font-size:10px;font-weight:850;display:grid}.turtle-maker-panel select,.turtle-maker-panel input[type=number]{color:#173f3a;min-height:35px;font:750 12px var(--sans);background:#fff;border:1px solid #b9c8c1;border-radius:7px}.turtle-maker-panel select{width:100%;padding:6px 9px}.maker-mode-help{color:#60726d;margin:7px 0 0;font-size:11px;line-height:1.45}.maker-number-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.maker-number-grid label span{color:#697a75;align-items:center;gap:5px;font-size:10px;display:flex}.maker-number-grid input[type=number]{width:100%;min-width:0;padding:5px 8px}.maker-range>span{justify-content:space-between;display:flex}.maker-range input{width:100%;accent-color:var(--coral)}.maker-color-row{grid-template-columns:110px 1fr;align-items:end;gap:12px;display:grid}.maker-color-inputs{grid-template-columns:44px 1fr;gap:6px;display:grid}.maker-color-row input[type=color]{cursor:pointer;background:#fff;border:1px solid #b9c8c1;border-radius:7px;width:44px;height:35px;padding:3px}.maker-color-row input[type=text]{color:#173f3a;width:100%;min-width:0;height:35px;font:750 11px var(--mono);text-transform:lowercase;background:#fff;border:1px solid #b9c8c1;border-radius:7px;padding:6px 8px}.maker-color-row input[type=color]:disabled{opacity:.4;cursor:default}.maker-color-row input[type=text]:disabled{opacity:.45}.maker-check{cursor:pointer;align-items:center;gap:7px;color:#3e5952!important;margin-top:10px!important;font-size:11px!important;font-weight:750!important;display:flex!important}.maker-check input{width:16px;height:16px;accent-color:var(--green)}.maker-options{grid-template-columns:1fr 1fr;align-items:end;column-gap:9px;display:grid}.maker-options>label:last-child{grid-column:1/-1}.maker-warning{color:#735d22;background:#fff3cf;border-left:3px solid #d39b28;border-radius:4px;margin:11px 0 0;padding:8px 9px;font-size:10px;line-height:1.45}.turtle-maker-panel footer{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#edf4f0f7;border-top:1px solid #c6d3cd;justify-content:space-between;align-items:center;gap:12px;margin:14px -15px -15px;padding:11px 15px;display:flex;position:sticky;bottom:-15px;box-shadow:0 -8px 18px #173f3a14}.turtle-maker-panel footer span{color:#697a75;font-size:9px;font-weight:750}.turtle-maker-panel footer button,.turtle-svg-button{background:var(--coral)!important;color:#fff!important;border:1px solid #d75e44!important}.turtle-maker-panel footer button{cursor:pointer;border-radius:7px;min-height:35px;padding:7px 11px;font-size:11px;font-weight:850}.turtle-timeline{background:#fff;padding:10px 15px 3px;display:flex}.turtle-timeline input{width:100%;accent-color:var(--coral);cursor:pointer}.turtle-controls{background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px 13px;min-height:62px;padding:8px 12px 12px;display:flex}.turtle-playback,.turtle-actions{align-items:center;gap:5px;display:flex}.turtle-controls button,.turtle-speed select{color:#254d44;cursor:pointer;background:#fff;border:1px solid #b7c3bd;border-radius:7px;min-height:35px;font-size:12px;font-weight:800}.turtle-controls button{padding:7px 10px}.turtle-controls button:hover:not(:disabled){border-color:var(--coral);color:var(--coral-dark)}.turtle-controls button:disabled{opacity:.35;cursor:default}.turtle-controls .turtle-play{border-color:var(--green);background:var(--green);color:#fff;min-width:62px}.turtle-speed{color:#63716c;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.turtle-speed select{padding:5px 28px 5px 8px}.turtle-actions{margin-left:auto}.turtle-warning{color:#725b1d;background:#fff8d8;border-top:1px solid #e5cf88;margin:0;padding:9px 13px;font-size:12px}.plot-card{background:#fff;border:1px solid #45635c;border-radius:10px;margin:0;overflow:hidden}.plot-output{background:#fff;width:100%;height:auto;margin:0;display:block}.plot-card figcaption{color:#36534c;background:#eef4f0;border-top:1px solid #d8ddd9;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 10px 8px 14px;font-size:12px;font-weight:800;display:flex}.plot-actions{align-items:center;gap:6px;display:flex}.plot-actions button,.plot-modal-bar button{color:#21453e;cursor:pointer;background:#fff;border:1px solid #aebcb6;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:800}.plot-actions button:hover,.plot-modal-bar button:hover{border-color:var(--coral);color:var(--coral-dark)}.plot-modal{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071f1ce8;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.plot-modal-card{background:#fff;border:1px solid #6d847e;border-radius:16px;flex-direction:column;width:min(1100px,96vw);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 30px 90px #0009}.plot-modal-bar{color:#fff;background:#173f3a;justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:10px 14px 10px 20px;display:flex}.plot-modal-bar>span{gap:8px;display:flex}.plot-modal-bar .plot-close{color:#fff;background:0 0;border-color:#fff5}.plot-modal-card>img{object-fit:contain;background:#fff;width:100%;height:100%;min-height:0;padding:12px}.turtle-modal-card{width:min(1500px,98vw);height:min(96vh,1100px)}.turtle-modal-card>.turtle-player{min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1;display:flex}.turtle-modal-card .turtle-canvas-wrap{flex:1;height:0;min-height:0;display:block;overflow:hidden}.turtle-modal-card .turtle-canvas-wrap canvas{object-fit:contain;width:100%;height:100%;max-height:none}.share-status{color:#dff0e8;background:#23443f;border:1px solid #59766f;border-radius:8px;max-width:1060px;margin:16px auto 0;padding:11px 15px;font-size:14px}.observe-section{padding-top:76px}.question-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.question-list li{border-bottom:1px solid var(--line);align-items:center;gap:20px;min-height:78px;padding:16px 18px;display:flex}.question-list span{background:var(--mint);height:42px;color:var(--green);font-family:var(--mono);border-radius:50%;flex:0 0 42px;place-items:center;font-size:14px;font-weight:800;display:grid}.question-list p{margin:0;font-size:18px;line-height:1.55}.sentence-starter{border-left:4px solid var(--yellow);background:#f7f1df;border-radius:0 10px 10px 0;margin-top:25px;padding:18px 22px}.sentence-starter span{color:#8e6d1f;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800}.sentence-starter p{margin:7px 0 0;font-family:Georgia,serif;font-size:21px;font-style:italic;line-height:1.5}.task-section{background:var(--green);color:#fff;border-radius:18px;grid-template-columns:1fr auto;gap:28px;margin-top:28px;margin-bottom:52px;display:grid;box-shadow:0 16px 38px #143d3428}.task-section h2{letter-spacing:-.025em;max-width:760px;margin:12px 0;font-size:31px;line-height:1.3}.task-section .task-copy>p:last-child{color:#d8e8e2;margin:0;font-size:16px}.task-actions{flex-direction:column;justify-content:center;gap:9px;min-width:175px;display:flex}.check-button,.complete-button{cursor:pointer;border-radius:8px;padding:14px 17px;font-size:14px;font-weight:800}.check-button{background:var(--yellow);color:var(--ink);border:0}.complete-button{color:#fff;background:0 0;border:1px solid #86a69d}.feedback{color:#fff4d8;border-top:1px solid #ffffff30;grid-column:1/-1;margin:0;padding-top:18px;font-size:16px;line-height:1.55}.teacher-section{background:#edf5f0;border:2px solid #bcd5ca;border-radius:18px;margin-bottom:55px}.teacher-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.teacher-heading .section-label{color:var(--green)}.teacher-only{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.08em;border-radius:99px;padding:7px 10px;font-size:9px;font-weight:800}.teacher-purpose{color:#526a63;max-width:860px;margin:20px 0 30px;font-size:18px;line-height:1.65}.teacher-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.teacher-grid>div{background:#f8fbf9;border:1px solid #cadad2;border-radius:12px;padding:22px}.teacher-grid h3{color:var(--green-dark);margin:0 0 11px;font-size:18px}.teacher-grid p,.teacher-grid li{color:#536560;font-size:16px;line-height:1.65}.teacher-grid p{margin:0}.teacher-grid ul{margin:0;padding-left:18px}.lesson-nav{justify-content:space-between;align-items:center;padding:25px 66px 50px;display:flex}.lesson-nav button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-width:130px;padding:11px 14px;display:flex}.lesson-nav button:last-child{background:var(--ink);color:#fff;border-color:var(--ink)}.lesson-nav button:disabled{opacity:.35;cursor:default}.lesson-nav small{font-weight:750}.lesson-nav p{color:#687572;font-size:14px}.playground-lab{min-height:calc(100vh - 100px);padding-top:52px}.playground-lab .lab-heading h1{margin:6px 0 0;font-size:46px;line-height:1.05}.playground-lab-intro{color:#b9cdc6;max-width:720px;margin:10px 0 0;font-size:17px;line-height:1.6}.snippet-builder{max-width:1060px;color:var(--ink);background:#f7faf8;border:1px solid #78938b;border-radius:16px;margin:36px auto 0;padding:28px;scroll-margin-top:125px;box-shadow:0 18px 36px #071f1c33}.snippet-heading{justify-content:space-between;align-items:end;gap:28px;display:flex}.snippet-heading h3{letter-spacing:-.035em;margin:0;font-size:30px}.snippet-heading p:last-child{color:#53645f;max-width:680px;margin:8px 0 0;font-size:15px;line-height:1.6}.snippet-heading>a{color:var(--green);text-underline-offset:4px;flex:none;font-size:13px;font-weight:850;text-decoration:underline}.snippet-categories{flex-wrap:wrap;gap:7px;margin:22px 0 16px;display:flex}.snippet-categories button{color:#54645f;cursor:pointer;background:#fff;border:1px solid #c6d0ca;border-radius:99px;padding:8px 11px;font-size:12px;font-weight:800}.snippet-categories button:hover{border-color:var(--coral);color:var(--coral-dark)}.snippet-categories button.is-active{border-color:var(--green);background:var(--green);color:#fff}.snippet-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:13px;display:grid}.snippet-card{background:#fff;border:1px solid #cbd5cf;border-radius:12px;flex-direction:column;min-width:0;padding:19px;display:flex;box-shadow:0 8px 20px #173f3a0a}.snippet-card-heading>span{color:var(--coral-dark);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900}.snippet-card h4{margin:3px 0 4px;font-size:19px;line-height:1.3}.snippet-card-heading p{color:#5d6c67;margin:0;font-size:13px;line-height:1.5}.snippet-card pre{color:#f0f5f1;white-space:pre;tab-size:4;background:#102e2b;border-radius:9px;margin:14px 0 10px;padding:15px;overflow-x:auto}.snippet-card code{font-family:var(--mono);font-size:14px;line-height:1.65}.snippet-change{color:#61706b;margin:0 0 15px;font-size:12px;line-height:1.5}.snippet-change strong{color:#765b15}.snippet-actions{gap:7px;margin-top:auto;display:flex}.snippet-actions button{min-height:40px;color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #b8c6c0;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:850}.snippet-actions button:hover{border-color:var(--coral);color:var(--coral-dark)}.snippet-actions .snippet-add{border-color:var(--green);background:var(--green);color:#fff;flex:1}.snippet-actions .snippet-add:hover{border-color:var(--green-dark);background:var(--green-dark);color:#fff}.snippet-status{color:#285449;background:#eaf5ed;border:1px solid #a9c5b7;border-radius:8px;margin:16px 0 0;padding:11px 14px;font-size:14px}.playground-guide{padding-top:24px;padding-bottom:58px}.playground-guide h2,.playground-reflection h2{letter-spacing:-.035em;margin:0 0 24px;font-size:36px}.idea-chips{flex-wrap:wrap;gap:12px;display:flex}.idea-chips button{cursor:pointer;background:#fff;border:1px solid #c8cbc4;border-radius:9px;padding:12px 16px;font-size:15px;font-weight:750}.idea-chips button:hover{border-color:var(--coral);color:var(--coral-dark)}.reference-jump{color:var(--green);text-underline-offset:5px;margin-top:22px;font-size:15px;font-weight:800;-webkit-text-decoration:underline #2f6b5f55;text-decoration:underline #2f6b5f55;display:inline-flex}.reference-jump:hover{color:var(--coral-dark);text-decoration-color:currentColor}.playground-reference{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#faf8f2;scroll-margin-top:120px}.reference-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;display:grid}.reference-heading h2{letter-spacing:-.045em;max-width:760px;margin:0;font-size:clamp(34px,4vw,51px);line-height:1.08}.reference-heading>div:first-child>p:last-child{color:#53635f;max-width:800px;margin:20px 0 0;font-size:18px;line-height:1.7}.reference-method{background:#fff;border:1px solid #cad4ce;border-radius:12px;gap:7px;min-width:170px;padding:16px;display:grid}.reference-method span{color:#50605c;align-items:center;gap:9px;font-size:13px;font-weight:800;display:flex}.reference-method b{background:var(--mint);width:25px;height:25px;color:var(--green-dark);font-family:var(--mono);border-radius:50%;place-items:center;font-size:10px;display:grid}.reference-controls{background:#fff;border:1px solid #d3d7d0;border-radius:15px;margin-top:36px;padding:22px}.reference-search{gap:7px;display:grid}.reference-search>span{color:#53615e;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.reference-search>div{align-items:center;display:flex;position:relative}.reference-search>div>span{color:#61716c;font-family:var(--mono);pointer-events:none;font-size:21px;position:absolute;left:15px}.reference-search input{width:100%;min-height:54px;color:var(--ink);background:#fffdf8;border:1px solid #bfc8c2;border-radius:10px;padding:11px 74px 11px 48px;font-size:17px}.reference-search input:focus{border-color:var(--coral);outline:3px solid #f06f5138}.reference-search button{color:#52615d;cursor:pointer;background:#edf2ee;border:0;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:800;position:absolute;right:9px}.reference-categories{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.reference-categories button{color:#56645f;cursor:pointer;background:#fff;border:1px solid #c9cec8;border-radius:99px;padding:8px 12px;font-size:13px;font-weight:800}.reference-categories button:hover{border-color:var(--coral);color:var(--coral-dark)}.reference-categories button.is-active{border-color:var(--green);background:var(--green);color:#fff}.reference-count{color:#71807b;margin:14px 0 0;font-size:13px}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:20px;display:grid}.reference-card{background:#fff;border:1px solid #cbd3cd;border-radius:15px;min-width:0;overflow:hidden;box-shadow:0 10px 24px #173f3a08}.reference-card summary{cursor:pointer;min-height:215px;padding:24px 24px 54px;list-style:none;display:block;position:relative}.reference-card summary::-webkit-details-marker{display:none}.reference-card summary:focus-visible{outline-offset:-4px;outline:3px solid #f06f5166}.reference-card summary:hover{background:#fdfbf6}.reference-card[open]{border-color:#95ada5;box-shadow:0 16px 34px #173f3a12}.reference-card[open] summary{background:#edf5f0;border-bottom:1px solid #dbe0dc;min-height:0}.reference-level,.reference-category{letter-spacing:.07em;text-transform:uppercase;border-radius:99px;align-items:center;min-height:25px;padding:4px 8px;font-size:10px;font-weight:850;display:inline-flex}.reference-level{color:#a34431;background:#f5e1da;margin-right:5px}.reference-level.level-grunnmur{color:#71550f;background:#fff0bf}.reference-level.level-utforsk{background:var(--mint);color:var(--green-dark)}.reference-level.level-videre{color:#504176;background:#e6e2f4}.reference-category{color:#6c7773;border:1px solid #d8d9d3}.reference-card h3{letter-spacing:-.025em;margin:15px 0 7px;font-size:25px;line-height:1.22}.reference-card summary p{color:#596763;margin:0;font-size:16px;line-height:1.55}.reference-open{color:var(--green);align-items:center;gap:8px;font-size:13px;font-weight:850;display:flex;position:absolute;bottom:21px;left:24px}.reference-open:after{content:"+";width:22px;height:22px;font-family:var(--mono);border:1px solid #a9bab4;border-radius:50%;place-items:center;display:grid}.reference-card[open] .reference-open{margin-top:15px;font-size:0;position:static}.reference-card[open] .reference-open:before{content:"Skjul forklaring";font-size:13px}.reference-card[open] .reference-open:after{content:"−";font-size:13px}.reference-card-content{padding:24px}.reference-card-content h4{margin:0 0 12px;font-size:16px}.command-list{gap:8px;margin:0 0 25px;display:grid}.command-list>div{background:#faf9f4;border:1px solid #e1e2dc;border-radius:8px;grid-template-columns:minmax(125px,.75fr) minmax(0,1.25fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.command-list dt,.command-list dd{min-width:0;margin:0}.command-list code{color:#214f46;font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;font-weight:750}.command-list dd{color:#5b6864;font-size:13px;line-height:1.45}.reference-example-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:10px;display:flex}.reference-example-heading>div{display:grid}.reference-example-heading small{color:#71807b;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:850}.reference-example-heading strong{margin-top:2px;font-size:15px}.reference-example-heading button{color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #b9c5bf;border-radius:7px;flex:none;padding:7px 10px;font-size:12px;font-weight:800}.reference-example-heading button:hover{border-color:var(--coral);color:var(--coral-dark)}.reference-code{color:#eaf2ed;white-space:pre;tab-size:4;background:#102e2b;border-radius:10px;max-height:390px;margin:0;padding:18px;overflow:auto}.reference-code code{font-family:var(--mono);font-size:14px;line-height:1.65}.reference-experiments{border-left:4px solid var(--yellow);background:#fff9df;border-radius:0 9px 9px 0;margin-top:20px;padding:17px 18px}.reference-experiments h4{color:#6e571c}.reference-experiments ul{color:#59645f;gap:7px;margin:0;padding-left:20px;font-size:14px;line-height:1.5;display:grid}.reference-tip{color:#52645f;margin:16px 0 0;font-size:14px;line-height:1.55}.reference-tip strong{color:var(--green-dark)}.reference-open-project{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:space-between;align-items:center;width:100%;margin-top:20px;padding:13px 15px;font-size:14px;font-weight:850;display:flex}.reference-open-project:hover{background:var(--green-dark)}.reference-open-project span{font-size:19px}.reference-empty{text-align:center;background:#fff;border:1px dashed #bbc6bf;border-radius:14px;margin-top:20px;padding:38px}.reference-empty p{color:#697671;margin:4px 0 15px}.reference-empty button{border:1px solid var(--green);color:var(--green);cursor:pointer;background:#fff;border-radius:8px;padding:9px 13px;font-weight:800}.reference-status{color:#285449;background:#eaf5ed;border:1px solid #a9c5b7;border-radius:8px;margin:16px 0 0;padding:11px 14px;font-size:14px}.debug-guide{background:var(--green-dark);color:#fff;border-radius:15px;grid-template-columns:minmax(0,.8fr) minmax(440px,1.2fr);gap:34px;margin-top:34px;padding:27px;display:grid}.debug-guide h3{margin:5px 0 8px;font-size:25px}.debug-guide>div>p:last-child{color:#b8cbc5;margin:0;font-size:15px;line-height:1.6}.debug-guide ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.debug-guide li{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:140px 1fr;gap:13px;padding:9px 11px;display:grid}.debug-guide code{color:var(--yellow);font-family:var(--mono);font-size:12px;font-weight:800}.debug-guide li span{color:#c8d8d3;font-size:13px;line-height:1.45}.python-editor.is-tall,.python-editor.is-tall .python-editor-surface,.python-editor.is-tall .syntax-layer,.python-editor.is-tall .syntax-input{min-height:500px}.playground-reflection{padding-top:76px;padding-bottom:90px}.project-section{border-top:1px solid var(--line);background:#faf8f2;padding-top:38px;padding-bottom:54px}.project-heading{justify-content:space-between;align-items:end;gap:28px;display:flex}.project-heading h2{letter-spacing:-.035em;margin:0;font-size:36px}.project-heading>div>p:last-child{color:#5a6966;max-width:760px;margin:12px 0 0;font-size:16px}.project-heading code{font-family:var(--mono)}.new-project-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;flex:none;padding:13px 18px;font-size:15px;font-weight:800}.project-toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin-top:28px;display:flex}.project-toolbar label:first-child{flex:300px;gap:5px;display:grid}.project-toolbar label:first-child>span{color:#596764;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.project-toolbar select{background:#fff;border:1px solid #c7c7bd;border-radius:8px;width:100%;min-height:47px;padding:8px 38px 8px 13px;font-size:15px;font-weight:700}.project-toolbar button,.import-button{cursor:pointer;background:#fff;border:1px solid #c7c7bd;border-radius:8px;align-items:center;min-height:47px;padding:10px 14px;font-size:14px;font-weight:750;display:inline-flex}.project-toolbar button:hover,.import-button:hover{border-color:var(--coral);color:var(--coral-dark)}.import-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.project-toolbar .delete-project-button{color:#9a3f32}.project-toolbar .delete-project-file-button{color:#886219}.pygame-page{background:#fffdf8}.pygame-hero{color:#fff;background:linear-gradient(125deg,#0b2825,#173f3a 62%,#265a4f);grid-template-columns:minmax(0,1.25fr) minmax(250px,.55fr);align-items:center;gap:70px;min-height:390px;padding:70px max(5vw,70px);display:grid}.pygame-hero h1{color:#fff;letter-spacing:-.045em;max-width:850px;margin:14px 0 18px;font-size:clamp(48px,6vw,82px);line-height:.98}.pygame-hero p:last-child{color:#c7d9d2;max-width:780px;margin:0;font-size:20px;line-height:1.55}.pygame-hero code{color:var(--yellow);font-family:var(--mono)}.pygame-hero-note{background:#ffffff0b;border:1px solid #fff3;border-radius:14px;gap:8px;padding:25px;display:grid}.pygame-hero-note strong{color:var(--yellow);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.pygame-hero-note span{color:#e4efeb;font-size:18px;font-weight:750;line-height:1.45}.pygame-hero-note a{width:fit-content;color:var(--yellow);text-underline-offset:5px;margin-top:8px;font-size:13px;font-weight:850;text-decoration:underline}.pygame-lab-section{max-width:1600px;padding-top:55px;padding-bottom:64px}.pygame-workbench{background:#102e2b;border:1px solid #49665f;border-radius:15px;grid-template-columns:minmax(430px,.9fr) minmax(550px,1.1fr);display:grid;overflow:hidden;box-shadow:0 24px 55px #071f1c42}.pygame-stage-panel{background:#0b2623;flex-direction:column;min-width:0;display:flex}.pygame-frame-wrap{background:#091f1d;flex:1;min-height:560px;padding:14px;display:grid}.pygame-frame-wrap iframe{background:#0b2623;border:1px solid #47665e;border-radius:9px;width:100%;height:100%;min-height:530px}.pygame-console{color:#b9efcb;min-height:75px;max-height:150px;font-family:var(--mono);white-space:pre-wrap;background:#102e2b;border-top:1px solid #34514b;margin:0;padding:13px 16px;font-size:11px;line-height:1.5;overflow:auto}.pygame-focus-tip{color:#9eb2ab;border-top:1px solid #34514b;margin:0;padding:11px 15px;font-size:11px;line-height:1.45}.pygame-focus-tip strong{color:var(--yellow)}.pygame-course{max-width:1460px;padding-top:70px;padding-bottom:80px;scroll-margin-top:20px}.pygame-course-heading{grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:50px;display:grid}.pygame-course-heading h2{letter-spacing:-.045em;max-width:900px;margin:13px 0 15px;font-size:clamp(38px,4vw,58px);line-height:1.05}.pygame-course-heading>div:first-child>p:last-child{color:#5c6c67;max-width:820px;margin:0;font-size:18px;line-height:1.6}.pygame-course-progress{background:#edf5f0;border:1px solid #bfd0c9;border-radius:14px;align-content:center;align-self:stretch;padding:20px 22px;display:grid}.pygame-course-progress>strong{color:var(--green-dark);font-family:Georgia,Times New Roman,serif;font-size:50px;line-height:1}.pygame-course-progress>strong span{color:#789087;font-family:var(--mono);font-size:16px}.pygame-course-progress>small{color:#61736d;letter-spacing:.1em;text-transform:uppercase;margin:7px 0 12px;font-size:10px;font-weight:900}.pygame-course-progress>div{background:#cfddd7;border-radius:99px;height:7px;overflow:hidden}.pygame-course-progress i{border-radius:inherit;background:var(--coral);height:100%;transition:width .2s;display:block}.pygame-step-nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:34px 0 18px;display:grid}.pygame-step-nav button{color:#586762;text-align:left;cursor:pointer;background:#fff;border:1px solid #c8d1cc;border-radius:9px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:10px;display:grid}.pygame-step-nav button>span{color:#51645e;width:30px;height:30px;font-family:var(--mono);background:#e8eeeb;border-radius:7px;place-items:center;font-size:10px;font-weight:900;display:grid}.pygame-step-nav button strong{min-width:0;font-size:11px;line-height:1.25}.pygame-step-nav button:hover{border-color:#7f9d93}.pygame-step-nav button.is-active{border-color:var(--green);color:var(--green-dark);box-shadow:inset 0 -4px 0 var(--green);background:#e7f2ec}.pygame-step-nav button.is-active>span{background:var(--green);color:#fff}.pygame-step-nav button.is-complete>span{color:#256548;background:#d9f0e2}.pygame-lesson-card{background:#fff;border:1px solid #bfd0c9;border-radius:16px;overflow:hidden;box-shadow:0 22px 50px #173f3a16}.pygame-lesson-card>header{color:#fff;background:#12332f;justify-content:space-between;align-items:center;gap:30px;padding:30px 34px;display:flex}.pygame-lesson-card>header span{color:var(--yellow);letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:900}.pygame-lesson-card>header h3{color:#fff;margin:6px 0 7px;font-size:32px;line-height:1.15}.pygame-lesson-card>header p{color:#bcd0c8;margin:0;font-size:15px;line-height:1.5}.pygame-load-step{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:9px;flex:none;min-height:48px;padding:11px 15px;font-size:13px;font-weight:850}.pygame-wonder{background:#fff8dc;border:1px solid #ddc66e;border-radius:11px;grid-template-columns:43px minmax(0,1fr);gap:15px;margin:26px 34px 0;padding:18px 20px;display:grid}.pygame-wonder>span{border:2px solid var(--coral);width:43px;height:43px;color:var(--coral-dark);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:21px;font-weight:900;display:grid}.pygame-wonder strong{color:#775b17;letter-spacing:.1em;text-transform:uppercase;font-size:10px}.pygame-wonder p{color:#443e2e;margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:700;line-height:1.45}.pygame-lesson-explanation{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;padding:30px 34px;display:grid}.pygame-lesson-explanation section>small,.pygame-step-code small,.pygame-investigation-grid small{color:var(--coral-dark);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:900}.pygame-lesson-explanation h4,.pygame-investigation-grid h4{margin:7px 0 10px;font-size:22px}.pygame-lesson-explanation section:first-child p{color:#52635e;margin:0;font-size:15px;line-height:1.65}.pygame-new-ideas{gap:8px;display:grid}.pygame-new-ideas>div{background:#f6f8f5;border:1px solid #d7dfda;border-radius:8px;grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr);align-items:center;gap:13px;padding:10px 12px;display:grid}.pygame-new-ideas code{color:#1d5146;font-family:var(--mono);white-space:nowrap;font-size:12px;font-weight:750;overflow-x:auto}.pygame-new-ideas p{color:#64736f;margin:0;font-size:12px;line-height:1.45}.pygame-step-code{background:#0d2926;border:1px solid #385c53;border-radius:11px;margin:0 34px;overflow:hidden}.pygame-step-code>div{background:#173f3a;border-bottom:1px solid #36564f;justify-content:space-between;align-items:center;gap:20px;min-height:60px;padding:10px 13px 10px 17px;display:flex}.pygame-step-code>div>div{gap:3px;display:grid}.pygame-step-code>div strong{color:#eaf2ee;font-size:13px}.pygame-step-code>div>span{gap:7px;display:flex}.pygame-step-code button{color:#dce9e4;cursor:pointer;background:0 0;border:1px solid #66837b;border-radius:7px;min-height:36px;padding:7px 10px;font-size:10px;font-weight:850}.pygame-step-code button:last-child{border-color:var(--coral);background:var(--coral);color:#fff}.pygame-step-code pre{color:#e8f0ec;max-height:570px;font-family:var(--mono);tab-size:4;white-space:pre;margin:0;padding:22px;font-size:13px;line-height:1.7;overflow:auto}.pygame-investigation-grid{grid-template-columns:1fr 1fr;gap:14px;padding:28px 34px;display:grid}.pygame-investigation-grid section{background:#f8f9f6;border:1px solid #d5ddd8;border-radius:11px;padding:20px 22px}.pygame-investigation-grid section:last-child{background:#fff9e6;border-color:#ddc66e}.pygame-investigation-grid ol,.pygame-investigation-grid ul{gap:8px;margin:0;padding-left:20px;display:grid}.pygame-investigation-grid li{color:#53635e;padding-left:3px;font-size:13px;line-height:1.5}.pygame-lesson-nav{grid-template-columns:1fr minmax(220px,1.3fr) 1fr;gap:9px;padding:18px 34px 28px;display:grid}.pygame-lesson-nav button{color:#3f5c54;cursor:pointer;background:#fff;border:1px solid #b8c7c1;border-radius:8px;min-height:45px;padding:9px 13px;font-size:12px;font-weight:850}.pygame-lesson-nav button:last-child{text-align:right}.pygame-lesson-nav button:disabled{opacity:.4;cursor:default}.pygame-lesson-nav .pygame-complete-step{border-color:var(--green);background:var(--green);color:#fff;text-align:center}.library-hero{color:#fff;background:#12332f;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:70px;max-width:none;padding-top:74px;padding-bottom:72px;display:grid}.library-hero h1{color:#fff;letter-spacing:-.055em;max-width:960px;margin:16px 0 20px;font-size:clamp(45px,5.6vw,78px);line-height:.98}.library-hero>div:first-child>p:last-child{color:#c8d9d2;max-width:900px;margin:0;font-size:19px;line-height:1.65}.library-hero-count{text-align:center;background:#ffffff0a;border:1px solid #ffffff35;border-radius:18px;place-content:center;min-height:215px;padding:28px;display:grid}.library-hero-count strong{color:var(--yellow);font-family:Georgia,Times New Roman,serif;font-size:80px;line-height:.9}.library-hero-count span{margin-top:13px;font-size:16px;font-weight:850}.library-hero-count small{color:#9fb7ae;letter-spacing:.1em;text-transform:uppercase;margin-top:8px;font-size:9px;font-weight:850}.library-method{grid-template-columns:repeat(3,1fr);gap:13px;max-width:1450px;padding-top:35px;padding-bottom:35px;display:grid}.library-method>div{background:#fff;border:1px solid #c9d4cf;border-radius:12px;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:14px;padding:19px;display:grid}.library-method span{background:var(--coral);color:#fff;width:42px;height:42px;font-family:var(--mono);border-radius:50%;grid-row:1/3;place-items:center;font-size:12px;font-weight:900;display:grid}.library-method strong{color:var(--green-dark);font-size:14px}.library-method p{color:#62716c;margin:5px 0 0;font-size:12px;line-height:1.5}.library-directory{max-width:1450px;padding-top:58px;padding-bottom:65px}.library-directory-heading{justify-content:space-between;align-items:end;gap:25px;display:flex}.library-directory-heading h2{letter-spacing:-.04em;max-width:850px;margin:11px 0 0;font-size:clamp(35px,4vw,54px);line-height:1.05}.library-directory-heading output{color:#4a625a;background:#e6eee9;border-radius:8px;flex:none;padding:10px 13px;font-size:11px;font-weight:850}.library-search{gap:7px;margin:30px 0 13px;display:grid}.library-search span{color:#4b625a;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.library-search input{width:100%;min-height:58px;color:var(--ink);font:700 16px/1.3 var(--sans);background:#fff;border:2px solid #adc2ba;border-radius:11px;outline:0;padding:13px 18px}.library-search input:focus{border-color:var(--green);box-shadow:0 0 0 4px #2f6b5f1d}.library-group-filter{flex-wrap:wrap;gap:7px;margin-bottom:22px;display:flex}.library-group-filter button{color:#566b63;cursor:pointer;background:#fff;border:1px solid #bdcbc5;border-radius:99px;min-height:37px;padding:7px 11px;font-size:10px;font-weight:850}.library-group-filter button.is-active{border-color:var(--green);background:var(--green);color:#fff}.library-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.library-card{min-width:0;min-height:175px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #c9d3ce;border-radius:11px;flex-direction:column;align-items:flex-start;padding:17px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.library-card:hover{border-color:#789a8f;transform:translateY(-2px);box-shadow:0 10px 22px #173f3a12}.library-card.is-active{border:2px solid var(--green);box-shadow:inset 0 -5px 0 var(--green);background:#eff6f2;padding:16px}.library-availability{letter-spacing:.07em;text-transform:uppercase;border-radius:5px;align-items:center;width:fit-content;min-height:23px;padding:4px 7px;font-size:8px;font-weight:900;display:inline-flex}.library-availability.standard{color:#3f6077;background:#e7edf4}.library-availability.offline{color:#276149;background:#dff2e7}.library-availability.local{color:#7b5c18;background:#fff1c7}.library-card>strong{margin-top:14px;font-family:Georgia,Times New Roman,serif;font-size:23px}.library-card>p{color:#61706b;margin:7px 0 13px;font-size:12px;line-height:1.45}.library-card>small{color:#81908b;margin-top:auto;font-size:9px;font-weight:800}.library-empty{text-align:center;border:1px dashed #b9c7c1;border-radius:12px;padding:50px}.library-empty strong{font-size:25px}.library-empty p{color:#66756f}.library-empty button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 14px;font-weight:850}.library-detail{max-width:1450px;padding-top:10px;padding-bottom:90px;scroll-margin-top:14px}.library-detail-header{color:#fff;background:#0e2d29;border-radius:17px 17px 0 0;grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);align-items:center;gap:40px;padding:35px 38px;display:grid}.library-detail-header p{color:#a9c0b7;letter-spacing:.08em;text-transform:uppercase;margin:12px 0 2px;font-size:10px;font-weight:850}.library-detail-header h2{color:#fff;margin:0 0 7px;font-size:clamp(43px,5vw,68px);line-height:1}.library-detail-header>div>strong{color:#d9e6e1;font-size:17px}.library-detail-header>code{color:var(--yellow);font-family:var(--mono);white-space:pre;background:#09231f;border:1px solid #4c6c63;border-radius:10px;padding:21px;font-size:15px;overflow-x:auto}.library-plain-language{background:#fffdf8;border:0 solid #c4d1cb;border-width:0 1px;padding:42px 42px 38px}.library-plain-language h3{margin:12px 0 13px;font-size:32px;line-height:1.12}.library-plain-language>p:not(.section-label){color:#44544f;max-width:1080px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:650;line-height:1.58}.library-plain-language>div{flex-wrap:wrap;gap:7px;margin-top:23px;display:flex}.library-plain-language>div span{color:#385c53;background:#edf4f0;border:1px solid #c9d6d0;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:850}.library-start-grid{border:0 solid #c4d1cb;border-width:0 1px;grid-template-columns:1fr 1fr;display:grid}.library-start-grid>section{border-top:1px solid #d6dfda;padding:32px 42px}.library-start-grid>section:first-child{background:#fff;border-right:1px solid #d6dfda}.library-start-grid ol{gap:11px;margin:18px 0 0;padding-left:23px;display:grid}.library-start-grid li{color:#50615b;padding-left:5px;font-size:14px;line-height:1.5}.library-import-card{color:#fff;background:#163b35}.library-import-card pre{font:750 14px/1.6 var(--mono);background:#0b2723;border:1px solid #53746b;border-radius:8px;margin:17px 0 13px;padding:17px;overflow-x:auto}.library-import-card>p:last-child{color:#b6c9c2;margin:0;font-size:12px;line-height:1.5}.library-command-section{background:#f1f5f1;border:0 solid #c4d1cb;border-width:0 1px;padding:37px 42px}.library-command-section h3{margin:9px 0 20px;font-size:28px}.library-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.library-command-grid article{background:#fff;border:1px solid #ced8d3;border-radius:8px;grid-template-columns:minmax(210px,.85fr) minmax(0,1.15fr);align-items:center;gap:15px;padding:13px 15px;display:grid}.library-command-grid code{color:#20584b;font:750 12px/1.45 var(--mono);white-space:nowrap;overflow-x:auto}.library-command-grid p{color:#5e6e68;margin:0;font-size:12px;line-height:1.4}.library-example-section{background:#0c2824;border:0 solid #c4d1cb;border-width:0 1px;overflow:hidden}.library-example-section>header{background:#163c36;border-bottom:1px solid #416259;justify-content:space-between;align-items:center;gap:25px;padding:22px 27px;display:flex}.library-example-section h3{color:#fff;margin:8px 0 0;font-size:24px}.library-example-section>header>span{gap:8px;display:flex}.library-example-section button{color:#fff;cursor:pointer;background:0 0;border:1px solid #69867e;border-radius:7px;min-height:39px;padding:8px 11px;font-size:10px;font-weight:850}.library-example-section .library-open-example{border-color:var(--coral);background:var(--coral)}.library-example-section>pre{color:#edf4f0;max-height:700px;font:500 14px/1.75 var(--mono);tab-size:4;margin:0;padding:28px 34px;overflow:auto}.library-after-example{background:#fff;border:1px solid #c4d1cb;border-top-width:0;border-radius:0 0 17px 17px;grid-template-columns:1fr 1fr;display:grid}.library-after-example>section,.library-after-example>.library-caution{padding:31px 40px}.library-after-example>section{border-right:1px solid #d7dfdb}.library-after-example h3{margin:10px 0 8px;font-size:26px}.library-after-example p{color:#566660;margin:0;font-size:14px;line-height:1.6}.library-after-example .library-caution{background:#fff7d8}.library-after-example .library-caution strong{color:#7c5d19;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.library-after-example .library-caution p{color:#5f512f;margin-top:10px}.library-status{color:#2b604b;background:#dff1e6;border-radius:8px;margin:13px 0 0;padding:11px 14px;font-size:12px;font-weight:750}.pygame-tutorial{padding-top:55px;padding-bottom:80px}.pygame-tutorial-heading{max-width:800px}.pygame-tutorial-heading h2{margin:10px 0;font-size:43px;line-height:1.1}.pygame-tutorial-heading>p:last-child{color:#5d6c67;font-size:17px;line-height:1.55}.pygame-concepts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px;display:grid}.pygame-concepts article{background:#fff;border:1px solid #d4ddd8;border-radius:12px;min-width:0;padding:20px}.pygame-concepts article>span{background:var(--yellow);color:#60490d;width:34px;height:34px;font-family:var(--mono);border-radius:8px;place-items:center;font-size:12px;font-weight:900;display:grid}.pygame-concepts h3{margin:13px 0 8px;font-size:20px}.pygame-concepts code{color:#b9efcb;font-family:var(--mono);white-space:nowrap;background:#102e2b;border-radius:7px;padding:9px 10px;font-size:11px;display:block;overflow-x:auto}.pygame-concepts p{color:#596964;margin:10px 0 0;font-size:13px;line-height:1.5}.pygame-browser-rule{background:#fff8dc;border:1px solid #ddc66e;border-radius:14px;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:40px;margin-top:34px;padding:28px;display:grid}.pygame-browser-rule strong{color:#574719;font-size:20px}.pygame-browser-rule p{color:#625e4e;font-size:14px;line-height:1.62}.pygame-browser-rule code{font-family:var(--mono)}.pygame-browser-rule ol{gap:8px;margin:0;padding-left:24px;display:grid}.pygame-browser-rule li{color:#4e5f59;padding-left:4px;font-size:14px;line-height:1.5}.package-guide{grid-template-columns:1fr 1fr;gap:14px;max-width:1060px;margin:24px auto 0;display:grid}.package-guide>div{background:#153632;border:1px solid #49665f;border-radius:10px;padding:18px 20px}.package-guide strong{color:#eef5f0;font-size:15px}.package-guide p{color:#aac0b9;margin:7px 0 0;font-size:13px;line-height:1.55}.package-guide code{color:#dceadf;font-family:var(--mono)}.package-guide .package-library-link{border:1px solid var(--yellow);color:#fff;text-align:left;cursor:pointer;background:#f4c95d12;border-radius:10px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;min-height:63px;padding:15px 20px;display:flex}.package-library-link span{color:var(--yellow);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:900}.package-library-link strong{font-size:14px}.curriculum-page{background:#f8f5ed;padding-bottom:72px}.curriculum-hero{background:var(--green-dark);color:#fff;grid-template-columns:minmax(0,1fr) minmax(330px,.55fr);align-items:end;gap:60px;max-width:none;padding-top:78px;padding-bottom:70px;display:grid}.curriculum-hero>div:first-child{width:min(100%,760px);margin-left:auto}.curriculum-hero h1{letter-spacing:-.055em;max-width:760px;margin:14px 0 22px;font-size:clamp(45px,5.5vw,72px);line-height:1.02}.curriculum-hero p:last-child{color:#c7d9d3;max-width:750px;margin:0;font-size:19px;line-height:1.7}.curriculum-summary{background:#ffffff25;border:1px solid #ffffff2c;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:1px;width:min(100%,430px);margin-right:auto;display:grid;overflow:hidden}.curriculum-summary div{text-align:center;background:#ffffff09;align-content:center;min-width:0;min-height:144px;padding:18px 15px;display:grid}.curriculum-summary strong{color:var(--yellow);font-family:Georgia,serif;font-size:34px;line-height:1}.curriculum-summary span{color:#c4d6d0;margin-top:9px;font-size:11px;font-weight:750;line-height:1.35}.curriculum-explainer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;padding-top:55px;padding-bottom:34px;display:grid}.curriculum-explainer h2{letter-spacing:-.035em;max-width:720px;margin:0 0 14px;font-size:37px;line-height:1.15}.curriculum-explainer p:last-child{color:#52625e;max-width:820px;margin:0;font-size:17px;line-height:1.7}.fit-legend{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.fit-legend span,.curriculum-card-top>span{letter-spacing:.07em;text-transform:uppercase;border-radius:99px;align-items:center;min-height:29px;padding:5px 10px;font-size:10px;font-weight:900;display:inline-flex}.fit-direct{color:#1d6048;background:#dcefe4}.fit-support{color:#76570e;background:#fff0bf}.fit-supplement{color:#554677;background:#e9e6f3}.curriculum-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:end;gap:28px;padding-top:20px;padding-bottom:26px;display:grid}.curriculum-controls>div>strong{color:#53625e;letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px;font-size:11px;display:block}.curriculum-filter{flex-wrap:wrap;gap:7px;display:flex}.curriculum-filter button{color:#52605c;cursor:pointer;background:#fff;border:1px solid #c3cbc5;border-radius:99px;min-height:39px;padding:7px 12px;font-size:12px;font-weight:800}.curriculum-filter button:hover{border-color:var(--coral);color:var(--coral-dark)}.curriculum-filter button.is-active{border-color:var(--green);background:var(--green);color:#fff}.curriculum-controls output{color:#66736f;white-space:nowrap;place-self:center end;font-size:13px;font-weight:800}.curriculum-grade{padding-top:60px;padding-bottom:4px}.curriculum-grade-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.curriculum-grade-heading h2{letter-spacing:-.04em;margin:0;font-size:36px}.curriculum-grade-heading>a{color:var(--green);text-underline-offset:4px;flex:none;padding-bottom:5px;font-size:13px;font-weight:850;text-decoration:underline}.curriculum-grade-heading>a:hover{color:var(--coral-dark)}.curriculum-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.curriculum-card{background:var(--paper);border:1px solid #ccd3cd;border-radius:15px;flex-direction:column;min-width:0;padding:25px;display:flex;box-shadow:0 9px 24px #173f3a09}.curriculum-card-top{justify-content:space-between;align-items:center;gap:14px;display:flex}.curriculum-card-top small{color:#7b8581;font-size:10px;font-weight:750}.curriculum-card blockquote{border-left:4px solid var(--coral);color:#253b3a;margin:19px 0 21px;padding:0 0 0 17px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:700;line-height:1.48}.curriculum-activity{background:#edf5f0;border-radius:10px;padding:16px 17px}.curriculum-activity strong{color:var(--green-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.curriculum-activity p{color:#4d615b;margin:0;font-size:14px;line-height:1.58}.curriculum-tools{flex-wrap:wrap;gap:6px;margin:17px 0;display:flex}.curriculum-tools span{color:#5d6865;font-family:var(--mono);background:#faf8f2;border:1px solid #d6d8d2;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:750}.curriculum-links{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:2px;display:flex}.curriculum-links button{min-height:38px;color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #bdc7c1;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:850}.curriculum-links button:hover{border-color:var(--coral);color:var(--coral-dark)}.curriculum-links .curriculum-python-button{border-color:var(--green);background:var(--green);color:#fff}.curriculum-links .curriculum-python-button:hover{border-color:var(--green-dark);background:var(--green-dark);color:#fff}.curriculum-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:62px;padding-top:27px;padding-bottom:27px}.curriculum-note>strong{font-size:17px}.curriculum-note p{color:#5e6a66;max-width:850px;margin:5px 0 13px;font-size:14px;line-height:1.6}.curriculum-note div{flex-wrap:wrap;gap:14px;display:flex}.curriculum-note a{color:var(--green);text-underline-offset:3px;font-size:12px;font-weight:850;text-decoration:underline}.challenges-page,.challenge-detail-page{min-height:calc(100vh - 100px)}.challenge-hero{background:var(--green-dark);color:#fff;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:70px;max-width:none;min-height:440px;padding:76px max(70px,50% - 600px);display:grid}.challenge-hero>div:first-child{max-width:890px}.challenge-hero h1{letter-spacing:-.055em;margin:8px 0 15px;font-size:clamp(50px,6vw,82px);line-height:.98}.challenge-hero>div:first-child>p:last-of-type{color:#c4d6cf;max-width:790px;margin:0;font-size:20px;line-height:1.62}.challenge-principles{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.challenge-principles span{color:#dbe7e2;background:#ffffff09;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:750;display:inline-flex}.challenge-principles b{background:var(--yellow);color:#5d450d;width:20px;height:20px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:9px;display:grid}.challenge-hero-progress{background:#0f342f;border:1px solid #719087;border-radius:20px;justify-items:center;padding:27px 22px;display:grid;box-shadow:0 24px 50px #071f1c70}.challenge-hero-progress>strong{color:var(--yellow);font-family:Georgia,Times New Roman,serif;font-size:72px;line-height:.85}.challenge-hero-progress>strong small{color:#a7beb6;font-family:var(--mono);margin-left:5px;font-size:17px}.challenge-hero-progress>span{color:#c9dad4;letter-spacing:.14em;text-transform:uppercase;margin-top:10px;font-size:11px;font-weight:850}.challenge-hero-progress>div{background:#071f1c;border-radius:99px;width:100%;height:7px;margin-top:20px;overflow:hidden}.challenge-hero-progress i{border-radius:inherit;background:var(--coral);height:100%;display:block}.challenge-welcome{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);align-items:center;gap:55px;padding-top:70px;padding-bottom:56px;display:grid}.challenge-welcome h2,.challenge-browser h2{letter-spacing:-.035em;margin:0;font-size:38px;line-height:1.17}.challenge-welcome>div:first-child>p:last-child{color:#596864;max-width:760px;margin:15px 0 0;font-size:17px;line-height:1.65}.challenge-zone-card{border-left:6px solid var(--yellow);background:#fff6d7;border-radius:0 12px 12px 0;padding:21px 23px}.challenge-zone-card strong{color:#674d0c;font-size:16px}.challenge-zone-card p{color:#655e4b;margin:5px 0 0;font-size:14px;line-height:1.55}.challenge-browser{padding-top:38px;padding-bottom:95px}.challenge-browser-heading{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.challenge-filters{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.challenge-filters button{color:#53635e;cursor:pointer;background:#fff;border:1px solid #bdc8c2;border-radius:99px;padding:8px 13px;font-size:12px;font-weight:850}.challenge-filters button:hover{border-color:var(--coral);color:var(--coral-dark)}.challenge-filters button.is-active{border-color:var(--green);background:var(--green);color:#fff}.challenge-level-guide{grid-template-columns:repeat(3,1fr);gap:10px;margin:27px 0 18px;display:grid}.challenge-level-guide>div{background:#faf9f5;border:1px solid #d8dbd5;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;display:flex}.challenge-level-guide p{color:#66736f;margin:0;font-size:11px;line-height:1.38}.challenge-difficulty{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:99px;align-items:center;min-height:24px;padding:4px 8px;font-size:9px;font-weight:900;display:inline-flex}.difficulty-enkel{color:#1e654d;background:#dcefe4}.difficulty-middels{color:#72550d;background:#fff0bc}.difficulty-utfordrende{color:#993d2c;background:#f8dcd4}.challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.challenge-card{background:#fff;border:1px solid #cfd6d1;border-radius:14px;flex-direction:column;min-width:0;padding:21px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:0 12px 28px #173f3a0b}.challenge-card:hover{border-color:#83a399;transform:translateY(-3px);box-shadow:0 17px 34px #173f3a17}.challenge-card.is-complete{background:#f4fbf6;border-color:#80b59e}.challenge-card-top{justify-content:space-between;align-items:center;display:flex}.challenge-number{color:#a0a9a5;font-family:var(--mono);font-size:12px;font-weight:850}.challenge-subject{color:var(--coral-dark);letter-spacing:.11em;text-transform:uppercase;margin:15px 0 3px;font-size:9px;font-weight:900}.challenge-card h3{letter-spacing:-.02em;margin:0;font-size:23px;line-height:1.24}.challenge-card>p:not(.challenge-subject){color:#5b6a66;margin:9px 0 14px;font-size:14px;line-height:1.55}.challenge-concepts{flex-wrap:wrap;gap:5px;margin-bottom:18px;display:flex}.challenge-concepts code{color:#436158;font-family:var(--mono);background:#edf2ef;border-radius:5px;padding:4px 7px;font-size:9px}.challenge-card footer{border-top:1px solid #e4e5e0;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:13px;display:flex}.challenge-card footer>span{color:#77827f;font-size:10px;font-weight:800}.challenge-card.is-complete footer>span{color:#287057}.challenge-card footer button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:8px 10px;font-size:11px;font-weight:850;display:inline-flex}.challenge-card footer button:hover{border-color:var(--coral);background:var(--coral)}.challenge-card footer b{font-size:15px;line-height:1}.challenge-detail-top{padding-top:38px;padding-bottom:52px}.challenge-back{color:var(--green);cursor:pointer;background:0 0;border:0;padding:7px 0;font-size:13px;font-weight:850}.challenge-back:hover{color:var(--coral-dark)}.challenge-detail-heading{grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:45px;margin-top:25px;display:grid}.challenge-detail-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.challenge-detail-meta>span:not(.challenge-difficulty){color:#7a8581;font-size:10px;font-weight:800}.challenge-detail-heading .challenge-subject{margin-top:20px}.challenge-detail-heading h1{letter-spacing:-.055em;max-width:900px;margin:4px 0 10px;font-size:clamp(48px,6vw,76px);line-height:1}.challenge-detail-teaser{color:#5b6a66;max-width:780px;margin:0;font-size:19px;line-height:1.55}.challenge-detail-badge{background:#f0f6f2;border:2px solid #b8c8c1;border-radius:50%;align-content:center;place-items:center;width:140px;height:140px;display:grid;transform:rotate(3deg)}.challenge-detail-badge span{color:#647670;letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:900}.challenge-detail-badge strong{color:var(--green);font-family:Georgia,Times New Roman,serif;font-size:50px;line-height:1}.challenge-mission{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:55px;padding-top:52px;padding-bottom:52px;display:grid}.challenge-mission h2{margin:0;font-size:34px;line-height:1.35}.challenge-brief{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:24px;display:grid}.challenge-brief section{background:#fafaf6;border:1px solid #d4dcd7;border-radius:11px;padding:18px 19px}.challenge-brief section:last-child{background:#edf6f0;border-color:#a9c3b7}.challenge-brief strong{color:var(--coral-dark);letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:900;display:block}.challenge-brief section:last-child strong{color:var(--green)}.challenge-brief ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.challenge-brief li{color:#4e605b;padding-left:18px;font-size:13px;line-height:1.48;position:relative}.challenge-brief li:before{content:"•";color:var(--coral);font-weight:900;position:absolute;left:2px}.challenge-brief section:last-child li:before{content:"✓";color:var(--green);font-size:10px}.challenge-why{border-left:5px solid var(--yellow);background:#fff7d8;border-radius:0 9px 9px 0;margin-top:22px;padding:16px 18px}.challenge-why strong{color:#705616;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.challenge-why p{color:#5e5d51;margin:4px 0 0;font-size:14px;line-height:1.58}.challenge-success-box{background:var(--green-dark);color:#fff;border-radius:12px;align-self:start;padding:20px 21px}.challenge-success-box>strong{color:var(--yellow);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.challenge-success-box ul{gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.challenge-success-box li{color:#d2e0db;padding-left:21px;font-size:13px;line-height:1.48;position:relative}.challenge-success-box li:before{content:"○";color:#9fe5bd;font-family:var(--mono);position:absolute;left:0}.challenge-think-first{grid-template-columns:.65fr 1.35fr;gap:65px;padding-top:62px;padding-bottom:62px;display:grid}.challenge-think-first h2,.challenge-test-cases h2,.challenge-support-section h2,.challenge-extension h2{margin:0;font-size:34px;line-height:1.2}.challenge-think-first>div>p:last-child{color:#65726e;margin:12px 0 0;font-size:14px;line-height:1.6}.challenge-think-first>ol{gap:9px;margin:0;padding:0;list-style:none;display:grid}.challenge-think-first li{background:#fafaf6;border:1px solid #d8ddd8;border-radius:10px;grid-template-columns:39px minmax(0,1fr);align-items:center;gap:13px;padding:14px 16px;display:grid}.challenge-think-first li>span{background:var(--yellow);color:#654c0e;width:37px;height:37px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:12px;font-weight:900;display:grid}.challenge-think-first li p{color:#3e5550;margin:0;font-size:15px;font-weight:700;line-height:1.5}.challenge-test-cases{background:#eff5f1;border-radius:15px;grid-template-columns:.55fr 1.45fr;gap:50px;padding-top:47px;padding-bottom:47px;display:grid}.challenge-test-cases>div:last-child{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;display:grid}.challenge-test-cases article{background:#fff;border:1px solid #cbd8d1;border-radius:9px;min-width:0;padding:14px}.challenge-test-cases article strong,.challenge-test-cases article>span{color:#75837e;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:900;display:block}.challenge-test-cases article code{color:var(--green-dark);font-family:var(--mono);white-space:nowrap;margin:5px 0 10px;font-size:11px;font-weight:800;display:block;overflow-x:auto}.challenge-test-cases article p{color:#4c615b;margin:3px 0 0;font-size:12px;line-height:1.45}.challenge-lab{margin-top:70px}.challenge-lab-intro{color:#b9cdc6;max-width:720px;margin:10px 0 0;font-size:16px;line-height:1.55}.challenge-editor-footer{justify-content:flex-start}.challenge-editor-footer>span{margin-right:auto}.challenge-scaffold-button{color:#c8dad4;cursor:pointer;background:0 0;border:1px solid #8cad9f;border-radius:7px;min-height:38px;padding:7px 11px;font-size:11px;font-weight:850}.challenge-scaffold-button:hover{border-color:var(--yellow);color:var(--yellow)}.challenge-support-section{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);align-items:start;gap:45px;padding-top:76px;padding-bottom:68px;display:grid}.challenge-support-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.challenge-support-heading>span{color:#6b7873;flex:none;font-size:10px;font-weight:850}.challenge-hint-progress{grid-template-columns:repeat(4,1fr);gap:5px;margin:18px 0;display:grid}.challenge-hint-progress i{background:#d8dcd7;border-radius:99px;height:5px}.challenge-hint-progress i.is-revealed{background:var(--coral)}.challenge-no-hint{text-align:center;background:#fafaf6;border:1px dashed #aab8b1;border-radius:10px;padding:20px}.challenge-no-hint strong{font-size:16px}.challenge-no-hint p{color:#697671;margin:3px 0 0;font-size:13px}.challenge-hints{gap:10px;display:grid}.challenge-hints article{background:#fff;border:1px solid #d4dad5;border-radius:11px;padding:19px 20px;box-shadow:0 8px 18px #173f3a08}.challenge-hints article>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.challenge-hints article>div span{color:var(--coral-dark);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:900}.challenge-hints article>div small{color:#7a8682;font-size:9px;font-weight:800}.challenge-hints h3{margin:5px 0 6px;font-size:20px}.challenge-hints p{color:#5a6965;margin:0;font-size:14px;line-height:1.57}.challenge-hints pre{color:#eef5f1;white-space:pre;background:#173f3a;border-radius:8px;margin:12px 0 0;padding:13px 14px;overflow-x:auto}.challenge-hints code{font-family:var(--mono);font-size:12px;line-height:1.58}.reveal-hint-button{color:#6d5416;cursor:pointer;background:#fff8dc;border:1px solid #d2b858;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:51px;margin-top:12px;padding:11px 15px;font-size:13px;font-weight:850;display:flex}.reveal-hint-button:hover{border-color:var(--coral);color:var(--coral-dark)}.reveal-hint-button span{font-size:18px}.all-hints-shown{color:#315c4f;background:#e8f3ec;border-radius:8px;margin:12px 0 0;padding:11px 13px;font-size:12px;line-height:1.5}.challenge-check-column{background:#f0f6f2;border:1px solid #cad7d1;border-radius:14px;padding:23px}.challenge-check-column h2{font-size:27px}.challenge-check-column>p:not(.section-label){color:#60706b;margin:10px 0 16px;font-size:13px;line-height:1.55}.challenge-check-column>button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:8px;width:100%;min-height:45px;padding:9px 12px;font-size:12px;font-weight:850}.challenge-check-column>button:hover{border-color:var(--coral);background:var(--coral)}.challenge-check-column>button:disabled{cursor:wait;background:#9daaa5;border-color:#9daaa5}.challenge-check-results{gap:7px;margin:13px 0 0;padding:0;list-style:none;display:grid}.challenge-check-results li{color:#6c571f;background:#fff6d9;border-radius:7px;padding:9px 10px;font-size:11px;line-height:1.45}.challenge-check-results li.is-pass{color:#245c48;background:#dcefe4}.challenge-check-results li.is-advice{color:#31586f;background:#e8f0f7}.challenge-concepts-box{border-top:1px solid #ccd9d3;margin-top:18px;padding-top:16px}.challenge-concepts-box>strong{color:#5f6f69;letter-spacing:.07em;text-transform:uppercase;font-size:9px}.challenge-concepts-box>div{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.challenge-concepts-box button{color:var(--green);font-family:var(--mono);cursor:pointer;background:#fff;border:1px solid #afc5bb;border-radius:6px;padding:5px 7px;font-size:9px}.challenge-concepts-box button:hover{border-color:var(--coral);color:var(--coral-dark)}.challenge-solution-section{padding-top:0;padding-bottom:68px}.challenge-solution-section>details{background:#faf9f5;border:1px solid #cbd5d0;border-radius:15px;overflow:hidden}.challenge-solution-section>details>summary{cursor:pointer;align-items:center;gap:15px;padding:20px 22px;list-style:none;display:flex}.challenge-solution-section>details>summary::-webkit-details-marker{display:none}.challenge-solution-section>details>summary>span:nth-child(2){flex:1;display:grid}.challenge-solution-section summary small{color:#7c8783;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:850}.challenge-solution-section summary strong{margin-top:2px;font-size:21px}.challenge-solution-section>details>summary>b{color:var(--green);font-size:12px}.solution-lock{background:var(--yellow);color:#654b0c;border-radius:50%;flex:0 0 44px;place-items:center;height:44px;font-size:20px;display:grid}.challenge-solution-content{border-top:1px solid #cbd5d0;grid-template-columns:1.1fr .9fr;gap:0;display:grid}.solution-code-panel{color:#fff;background:#102e2b;min-width:0;overflow:hidden}.solution-code-panel>div{border-bottom:1px solid #385750;justify-content:space-between;gap:12px;padding:12px 16px;display:flex}.solution-code-panel>div strong{font-size:12px}.solution-code-panel>div span{color:#9fb6ae;letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.solution-code-panel pre{color:#eaf3ee;white-space:pre;tab-size:4;max-height:520px;margin:0;padding:18px;overflow:auto}.solution-code-panel code{font-family:var(--mono);font-size:13px;line-height:1.65}.solution-code-panel>button{border:1px solid var(--coral);background:var(--coral);color:#fff;cursor:pointer;border-radius:8px;width:calc(100% - 24px);min-height:43px;margin:0 12px 13px;padding:8px 11px;font-size:11px;font-weight:850}.solution-code-panel>button:hover{background:#ff8265}.solution-walkthrough{background:#fff;padding:24px 25px}.solution-walkthrough h3{margin:0;font-size:24px}.solution-walkthrough>ol{gap:10px;margin:15px 0 0;padding-left:24px;display:grid}.solution-walkthrough>ol li{color:#50625d;padding-left:4px;font-size:13px;line-height:1.55}.solution-walkthrough>ol li::marker{color:var(--coral-dark);font-family:var(--mono);font-weight:900}.solution-reflection{border-left:4px solid var(--yellow);background:#fff8dd;margin-top:22px;padding:15px}.solution-reflection strong{color:#6e5618;letter-spacing:.07em;text-transform:uppercase;font-size:10px}.solution-reflection p{color:#625d4e;margin:7px 0 0;font-size:12px;line-height:1.5}.challenge-shortcut{background:#fff9df;border:1px solid #dfc875;border-radius:9px;margin:14px}.challenge-shortcut summary{color:#745a14;cursor:pointer;padding:11px 13px;font-size:12px;font-weight:850}.challenge-shortcut p{color:#625f53;margin:0;padding:0 13px 10px;font-size:12px}.challenge-shortcut pre{color:#fff;white-space:pre;background:#173f3a;border-radius:7px;margin:0 13px 13px;padding:12px;overflow-x:auto}.challenge-shortcut code{font-family:var(--mono);font-size:11px}.challenge-extension{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);align-items:center;gap:55px;padding-top:48px;padding-bottom:70px;display:grid}.challenge-extension>div:first-child>p:last-child{color:#596964;max-width:730px;margin:11px 0 0;font-size:16px;line-height:1.6}.challenge-complete-actions{gap:8px;display:grid}.challenge-complete-actions button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:8px;min-height:47px;padding:9px 13px;font-size:11px;font-weight:850}.challenge-complete-actions button:hover{border-color:var(--coral);background:var(--coral)}.challenge-complete-actions button.is-complete{color:#215b47;background:#dcefe4;border-color:#78aa94}.challenge-complete-actions .next-challenge-button{color:var(--green-dark);background:#fff;border-color:#bcc8c2}.challenge-complete-actions .next-challenge-button:hover{border-color:var(--coral);color:var(--coral-dark);background:#fff}.exam-training-page,.exam-detail-page{min-height:calc(100vh - 100px)}.exam-hero{color:#fff;background:linear-gradient(125deg,#102e2b 0%,#173f3a 62%,#285a50 100%);grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:72px;max-width:none;min-height:470px;padding:78px max(70px,50% - 600px);display:grid}.exam-hero>div:first-child{max-width:880px}.exam-hero h1{letter-spacing:-.055em;margin:9px 0 17px;font-size:clamp(48px,6vw,80px);line-height:.98}.exam-hero>div:first-child>p:last-of-type{color:#c9d9d3;max-width:790px;margin:0;font-size:20px;line-height:1.62}.exam-hero-steps{flex-wrap:wrap;gap:8px;margin-top:29px;display:flex}.exam-hero-steps span{color:#e0eae6;background:#ffffff0a;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:8px;padding:8px 11px;font-size:11px;font-weight:800;display:inline-flex}.exam-hero-steps b{background:var(--coral);color:#fff;width:21px;height:21px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:9px;display:grid}.exam-progress-card{color:var(--green-dark);background:#f9f8f2;border:1px solid #7c9c92;border-radius:19px;padding:27px 25px;box-shadow:0 28px 60px #071f1c80}.exam-progress-card>small{color:#6e7b77;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:900}.exam-progress-card>strong{color:var(--coral-dark);margin:12px 0 3px;font-family:Georgia,Times New Roman,serif;font-size:65px;line-height:.9;display:block}.exam-progress-card>strong span{color:#83908c;font-size:22px}.exam-progress-card>p{color:#53645f;margin:8px 0 20px;font-size:13px;line-height:1.45}.exam-progress-card>div{background:#dce3de;border-radius:99px;height:8px;overflow:hidden}.exam-progress-card i{border-radius:inherit;background:var(--coral);height:100%;display:block}.exam-foundation{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);align-items:center;gap:55px;padding-top:68px;padding-bottom:57px;display:grid}.exam-foundation h2,.exam-browser h2{letter-spacing:-.035em;margin:0;font-size:38px;line-height:1.17}.exam-foundation>div:first-child>p:last-child{color:#566762;max-width:790px;margin:14px 0 0;font-size:17px;line-height:1.66}.exam-notice{border-left:6px solid var(--yellow);background:#fff6d7;border-radius:0 11px 11px 0;padding:21px 22px}.exam-notice strong{color:#6e5212;font-size:15px}.exam-notice p{color:#655f4f;margin:6px 0 0;font-size:13px;line-height:1.55}.exam-browser{padding-top:35px;padding-bottom:96px}.exam-browser-heading{justify-content:space-between;align-items:end;gap:30px;display:flex}.exam-filters{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.exam-filters button{color:#53635e;cursor:pointer;background:#fff;border:1px solid #bdc8c2;border-radius:99px;min-height:38px;padding:7px 13px;font-size:11px;font-weight:850}.exam-filters button:hover{border-color:var(--coral);color:var(--coral-dark)}.exam-filters button.is-active{border-color:var(--green);background:var(--green);color:#fff}.exam-level-guide{grid-template-columns:repeat(3,1fr);gap:10px;margin:27px 0 18px;display:grid}.exam-level-guide>div{background:#faf9f5;border:1px solid #d8dbd5;border-radius:9px;align-items:center;gap:10px;padding:11px 12px;display:flex}.exam-level-guide p{color:#66736f;margin:0;font-size:11px;line-height:1.38}.exam-level{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:99px;align-items:center;min-height:25px;padding:4px 8px;font-size:8px;font-weight:900;display:inline-flex}.level-grunnleggende{color:#1e654d;background:#dcefe4}.level-sammensatt{color:#72550d;background:#fff0bc}.level-utforskende{color:#993d2c;background:#f8dcd4}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.exam-card{background:#fff;border:1px solid #cfd6d1;border-radius:14px;flex-direction:column;min-width:0;padding:23px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:0 12px 28px #173f3a0b}.exam-card:hover{border-color:#83a399;transform:translateY(-3px);box-shadow:0 17px 34px #173f3a17}.exam-card.is-complete{background:#f4fbf6;border-color:#80b59e}.exam-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.exam-card-top>span:last-child{color:#88928e;font-family:var(--mono);text-transform:uppercase;font-size:9px;font-weight:850}.exam-area{color:var(--coral-dark);letter-spacing:.1em;text-transform:uppercase;margin:17px 0 4px;font-size:9px;font-weight:900}.exam-card h3{letter-spacing:-.025em;margin:0;font-size:27px;line-height:1.22}.exam-card>p:not(.exam-area){color:#596964;margin:10px 0 16px;font-size:14px;line-height:1.55}.exam-card-facts{flex-wrap:wrap;gap:5px;margin-bottom:20px;display:flex}.exam-card-facts span{color:#52675f;background:#edf2ef;border-radius:5px;padding:5px 7px;font-size:9px;font-weight:800}.exam-card footer{border-top:1px solid #e4e5e0;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}.exam-card footer>span{color:#74817d;font-size:10px;font-weight:800}.exam-card footer button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;font-weight:850;display:inline-flex}.exam-card footer button:hover{border-color:var(--coral);background:var(--coral)}.exam-card footer b{font-size:15px}.exam-detail-top{padding-top:38px;padding-bottom:54px}.exam-detail-heading{grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:48px;margin-top:25px;display:grid}.exam-detail-meta{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.exam-detail-meta>span:not(.exam-level){color:#7a8581;font-size:9px;font-weight:850}.exam-detail-heading .exam-area{margin-top:21px}.exam-detail-heading h1{letter-spacing:-.055em;max-width:900px;margin:5px 0 11px;font-size:clamp(48px,6vw,75px);line-height:1}.exam-detail-heading>div:first-child>p:last-child{color:#596a65;max-width:790px;margin:0;font-size:18px;line-height:1.55}.exam-stamp{color:#6a5215;text-align:center;background:#fff8dc;border:2px solid #c7ab45;border-radius:50%;align-content:center;place-items:center;width:155px;height:155px;padding:15px;display:grid;transform:rotate(3deg)}.exam-stamp small,.exam-stamp span{letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:900}.exam-stamp strong{margin:2px 0;font-family:Georgia,serif;font-size:27px;line-height:1}.exam-task-text{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:58px;padding-top:54px;padding-bottom:54px;display:grid}.exam-situation{color:#50635d;max-width:820px;margin:0 0 17px;font-size:18px;line-height:1.6}.exam-task-text h2{max-width:850px;margin:0;font-size:31px;line-height:1.35}.exam-goals{background:var(--green-dark);color:#fff;border-radius:12px;align-self:start;padding:20px 21px}.exam-goals>strong{color:var(--yellow);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.exam-goals ul{gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.exam-goals li{color:#d3e1dc;padding-left:20px;font-size:12px;line-height:1.48;position:relative}.exam-goals li:before{content:"✓";color:#9fe5bd;position:absolute;left:0}.exam-read-code{color:#fff;background:#173f3a;border-radius:15px;grid-template-columns:.7fr 1.3fr;align-items:center;gap:55px;margin-top:62px;padding-top:48px;padding-bottom:48px;display:grid}.exam-read-code h2{margin:0;font-size:32px}.exam-read-code>div>p:last-child{color:#bad0c8;margin:11px 0 0;font-size:14px;line-height:1.58}.exam-read-code>pre{color:#eaf3ee;white-space:pre;background:#0c2925;border:1px solid #54766c;border-radius:10px;min-width:0;margin:0;padding:25px;overflow-x:auto}.exam-read-code code{font-family:var(--mono);font-size:16px;line-height:1.75}.exam-interpretation{padding-top:73px;padding-bottom:72px}.exam-section-heading{justify-content:space-between;align-items:end;gap:40px;display:flex}.exam-section-heading h2{margin:0;font-size:37px}.exam-section-heading>p{color:#687570;text-align:right;max-width:420px;margin:0;font-size:13px;line-height:1.55}.exam-question-list{gap:16px;margin-top:27px;display:grid}.exam-question{background:#faf9f5;border:1px solid #ccd5d0;border-radius:14px;min-width:0;margin:0;padding:24px}.exam-question.is-correct{background:#f3faf5;border-color:#7fb199}.exam-question.is-wrong{background:#fffaf0;border-color:#d7ad69}.exam-question legend{max-width:calc(100% - 20px);color:var(--green-dark);padding:0 10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:750;line-height:1.35}.exam-question legend>span{background:var(--yellow);color:#664d0e;width:31px;height:31px;font-family:var(--mono);vertical-align:middle;border-radius:50%;place-items:center;margin-right:10px;font-size:11px;display:inline-grid}.exam-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.exam-options label{color:#415650;cursor:pointer;background:#fff;border:1px solid #d2d8d4;border-radius:9px;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:13px;font-size:13px;font-weight:700;line-height:1.42;display:grid}.exam-options label:hover{border-color:#7c9d92}.exam-options label.is-selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.exam-options input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.exam-option-letter{color:#557068;width:27px;height:27px;font-family:var(--mono);background:#edf2ef;border-radius:6px;place-items:center;font-size:10px;display:grid}.exam-options label.is-selected .exam-option-letter{background:var(--green);color:#fff}.exam-choice-feedback{background:#fff3c9;border-left:5px solid #c4973e;border-radius:0 8px 8px 0;margin-top:13px;padding:13px 15px}.exam-choice-feedback.is-correct{background:#dff0e6;border-left-color:#5d9b7f}.exam-choice-feedback strong{color:#465d56;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.exam-choice-feedback p{color:#56635f;margin:4px 0 0;font-size:13px;line-height:1.55}.exam-interpretation-actions{align-items:center;gap:18px;margin-top:18px;display:flex}.exam-interpretation-actions button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:8px;min-height:46px;padding:9px 17px;font-size:12px;font-weight:850}.exam-interpretation-actions button:hover{border-color:var(--coral);background:var(--coral)}.exam-interpretation-actions p{color:#5c6c67;margin:0;font-size:13px;line-height:1.5}.exam-plan{border-top:1px solid var(--line);grid-template-columns:.7fr 1.3fr;gap:60px;padding-top:57px;padding-bottom:57px;display:grid}.exam-plan h2,.exam-coding-mission h2,.exam-test-cases h2,.exam-support h2,.exam-complete h2{margin:0;font-size:34px;line-height:1.22}.exam-plan>div>p:last-child{color:#65736e;margin:11px 0 0;font-size:14px;line-height:1.58}.exam-plan ol{gap:9px;margin:0;padding:0;list-style:none;display:grid}.exam-plan li{background:#fafaf6;border:1px solid #d5dbd6;border-radius:9px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;display:grid}.exam-plan li>span{background:var(--yellow);color:#664e11;width:36px;height:36px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid}.exam-plan li p{color:#405650;margin:0;font-size:14px;font-weight:700;line-height:1.48}.exam-coding-mission{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:55px;padding-top:53px;padding-bottom:53px;display:grid}.exam-success{background:#eef5f1;border-radius:11px;padding:19px 20px}.exam-success strong{color:#4f645d;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.exam-success ul{gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.exam-success li{color:#4c625b;padding-left:18px;font-size:12px;line-height:1.45;position:relative}.exam-success li:before{content:"○";color:var(--coral-dark);position:absolute;left:0}.exam-test-cases{background:#fff7dc;border-radius:15px;grid-template-columns:.55fr 1.45fr;gap:48px;padding-top:46px;padding-bottom:46px;display:grid}.exam-test-cases>div:last-child{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;display:grid}.exam-test-cases article{background:#fff;border:1px solid #decf9e;border-radius:9px;min-width:0;padding:14px}.exam-test-cases article strong,.exam-test-cases article>span{color:#7e755c;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:900;display:block}.exam-test-cases article code{color:var(--green-dark);font-family:var(--mono);white-space:nowrap;margin:5px 0 10px;font-size:10px;font-weight:800;display:block;overflow-x:auto}.exam-test-cases article p{color:#485e57;margin:4px 0;font-size:12px;line-height:1.45}.exam-test-cases article small{color:#77766c;border-top:1px solid #ece6d4;margin-top:8px;padding-top:8px;font-size:9px;line-height:1.45;display:block}.exam-lab{margin-top:70px}.exam-support{grid-template-columns:minmax(0,1.45fr) minmax(310px,.65fr);align-items:start;gap:46px;padding-top:73px;padding-bottom:67px;display:grid}.exam-sensor-check{background:#eef5f1;border:1px solid #c8d5cf;border-radius:14px;padding:23px}.exam-sensor-check h2{font-size:27px}.exam-sensor-check>p:not(.section-label){color:#5d6e68;margin:10px 0 16px;font-size:13px;line-height:1.55}.exam-sensor-check>button{border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:8px;width:100%;min-height:45px;padding:9px 12px;font-size:12px;font-weight:850}.exam-sensor-check>button:hover{border-color:var(--coral);background:var(--coral)}.exam-sensor-check>button:disabled{cursor:wait;background:#9daaa5;border-color:#9daaa5}.exam-sensor-check blockquote{border-left:4px solid var(--yellow);color:#625d4e;background:#fff8dc;margin:18px 0 0;padding:14px 15px;font-size:12px;line-height:1.55}.exam-solution{padding-top:0;padding-bottom:67px}.exam-solution>details{background:#faf9f5;border:1px solid #cbd5d0;border-radius:15px;overflow:hidden}.exam-solution>details>summary{cursor:pointer;align-items:center;gap:15px;padding:20px 22px;list-style:none;display:flex}.exam-solution>details>summary::-webkit-details-marker{display:none}.exam-solution>details>summary>span:nth-child(2){flex:1;display:grid}.exam-solution summary small{color:#7c8783;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:850}.exam-solution summary strong{margin-top:2px;font-size:21px}.exam-solution>details>summary>b{color:var(--green);font-size:12px}.exam-complete{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(330px,.7fr);align-items:center;gap:55px;padding-top:48px;padding-bottom:72px;display:grid}.exam-complete>div:first-child>p:last-child{color:#596964;max-width:770px;margin:11px 0 0;font-size:15px;line-height:1.6}@media (width<=1000px){.topbar{flex-wrap:wrap;gap:12px 22px;padding:12px 24px}.brand{flex:1}.module-picker{flex-basis:100%;order:3;max-width:none}.course-progress{top:138px}.lesson-hero,.content-section{padding-left:34px;padding-right:34px}.hero-stamp{display:none}.refresh-section{grid-template-columns:1fr;gap:30px;margin-left:24px;margin-right:24px}.progression-grid,.polish-content,.typing-guide{grid-template-columns:1fr}.lab-section{padding-left:34px;padding-right:34px}.code-workbench{grid-template-columns:1fr}.code-workbench.has-turtle,.code-workbench.has-game{grid-template-columns:1fr;max-width:1060px}.pygame-workbench{grid-template-columns:1fr}.pygame-stage-panel{min-height:620px}.pygame-concepts{grid-template-columns:repeat(2,minmax(0,1fr))}.pygame-course-heading{grid-template-columns:1fr 190px;gap:28px}.pygame-step-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.pygame-lesson-explanation{grid-template-columns:1fr}.library-hero{grid-template-columns:1fr 190px;gap:35px}.library-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-detail-header,.library-command-grid{grid-template-columns:1fr}.coding-help-drawer{width:min(720px,100%);min-width:0;height:min(760px,100%);inset:0 0 auto auto}.editor-panel{border-bottom:1px solid #49665f;border-right:0}.task-section{grid-template-columns:1fr}.task-actions{flex-direction:row}.feedback{grid-column:auto}.project-heading{align-items:start}.reference-heading{grid-template-columns:1fr;align-items:start}.reference-method{grid-template-columns:repeat(4,1fr);min-width:0}.reference-method span{justify-content:center}.reference-grid{grid-template-columns:1fr}.reference-card summary{min-height:0}.debug-guide{grid-template-columns:1fr}.snippet-heading{display:block}.snippet-heading>a{margin-top:14px;display:inline-block}.curriculum-hero{grid-template-columns:1fr;gap:34px}.curriculum-hero>div:first-child,.curriculum-summary{width:100%;margin-left:0;margin-right:0}.curriculum-explainer{grid-template-columns:1fr;gap:20px}.fit-legend{justify-content:flex-start}.curriculum-controls{grid-template-columns:1fr 1fr}.curriculum-controls output{grid-column:1/-1;justify-self:start}.challenge-hero{grid-template-columns:minmax(0,1fr) 190px;gap:35px;padding-left:34px;padding-right:34px}.challenge-hero-progress>strong{font-size:58px}.challenge-welcome,.challenge-mission,.challenge-support-section{grid-template-columns:1fr;gap:30px}.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-level-guide{grid-template-columns:1fr}.challenge-think-first,.challenge-test-cases{grid-template-columns:1fr;gap:28px}.challenge-detail-heading{grid-template-columns:1fr}.challenge-detail-badge{display:none}.challenge-solution-content{grid-template-columns:1fr}.challenge-extension{grid-template-columns:1fr;gap:30px}.exam-hero{grid-template-columns:minmax(0,1fr) 240px;gap:38px;padding-left:34px;padding-right:34px}.exam-foundation,.exam-task-text,.exam-coding-mission,.exam-support{grid-template-columns:1fr;gap:30px}.exam-level-guide,.exam-detail-heading{grid-template-columns:1fr}.exam-stamp{display:none}.exam-read-code,.exam-plan,.exam-test-cases{grid-template-columns:1fr;gap:28px}.exam-complete{grid-template-columns:1fr;gap:30px}.command-library{width:min(860px,100%)}.command-library-intro{align-items:flex-start}.command-library-intro>div{max-width:48%}.command-library-body{grid-template-columns:260px minmax(0,1fr)}}@media (width<=600px){body{font-size:17px}.topbar{min-height:0;padding:10px 14px 12px}.brand{gap:9px}.brand-mark{border-radius:11px;flex-basis:42px;width:42px;height:42px;box-shadow:0 3px 10px #102e2b24}.brand strong{font-size:16px}.brand small,.print-button,.module-position{display:none}.top-actions{flex-wrap:wrap;gap:7px;width:100%}.feedback-button{padding:7px 5px;font-size:12px}.command-library-button{padding:6px 7px;font-size:11px}.mode-switch{padding-right:9px;font-size:12px}.module-picker{grid-template-columns:auto minmax(0,1fr)}.module-picker select{min-height:44px;font-size:15px}.course-progress{position:relative;top:auto}.lesson-hero{min-height:370px;padding:58px 22px 40px}.lesson-hero:after{display:none}.lesson-hero h1{font-size:45px}.hero-intro{font-size:19px}.step-row span{font-size:12px}.content-section,.lab-section{padding-left:22px;padding-right:22px}.problem-card{margin-left:13px;margin-right:13px;padding:34px 24px}.refresh-section{margin-left:13px;margin-right:13px;padding:36px 24px}.refresh-copy h2{font-size:32px}.refresh-example code{font-size:16px}.section-heading{display:block}.section-heading>p{text-align:left;margin-top:10px}.section-heading h2,.teacher-heading h2{font-size:31px}.theory-card{grid-template-columns:1fr;gap:15px;padding:24px}.theory-index{width:48px;height:48px}.theory-card h3{font-size:23px}.theory-card p{font-size:17px}.theory-card code{font-size:15px}.progression-card{padding:21px}.lab-heading{align-items:start;display:flex}.live-badge{display:none}.python-editor,.python-editor-surface,.syntax-layer,.syntax-input,.python-editor.is-tall,.python-editor.is-tall .python-editor-surface,.python-editor.is-tall .syntax-layer,.python-editor.is-tall .syntax-input{min-height:340px}.syntax-layer,.syntax-input{font-size:var(--editor-font-size,19px);padding:20px 17px 20px 58px}.syntax-gutter{width:43px;min-height:340px;font-size:var(--editor-font-size,19px);padding-top:20px}.editor-assist-bar{display:grid}.editor-position{border-bottom:1px solid #34514b;border-right:0;min-width:0}.editor-inline-help{flex-wrap:wrap;align-items:flex-start}.editor-inline-help>span{width:100%;margin-left:0}.lab-tabs{grid-template-columns:1fr}.typing-guide{padding:17px}.typing-steps>li{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:10px}.typing-step-number{width:30px;height:30px}.typing-explanation{grid-template-columns:1fr;gap:3px}.typing-deep-dive>div{grid-template-columns:1fr;gap:5px}.polish-section summary{align-items:flex-start;padding:18px}.polish-open{display:none}.polish-content{padding:20px}.polish-code-change{grid-template-columns:1fr}.editor-footer>span{display:none}.editor-footer{justify-content:flex-end}.editor-run-actions{width:100%}.editor-run-actions>button{flex:120px;justify-content:center}.output-panel pre{min-height:180px;font-size:15px}.error-coach{margin:10px;padding:16px}.error-coach-heading{display:grid}.error-coach-heading button{width:100%}.error-code-line{grid-template-columns:34px minmax(0,1fr)}.error-code-line code{font-size:13px}.coding-help-drawer{border:1px solid #718a82;border-radius:13px;width:auto;height:auto;max-height:none;position:fixed;inset:8px;box-shadow:0 24px 75px #000b}.coding-help-header{min-height:70px;padding:11px 14px 11px 17px}.coding-help-header h2{font-size:20px}.coding-help-controls{grid-template-columns:1fr 115px;padding:10px}.coding-help-body{grid-template-columns:132px minmax(0,1fr)}.coding-help-list{padding:9px 6px 13px}.coding-help-list button{padding:8px}.coding-help-list button small{display:none}.coding-tutorial{padding:16px 14px 22px}.coding-tutorial h3{font-size:21px}.coding-tutorial-question{font-size:14px}.coding-tutorial-actions{flex-direction:column}.feedback-modal{align-items:start;padding:8px}.feedback-card{border-radius:13px;max-height:calc(100vh - 16px)}.feedback-card>header{min-height:76px;padding:14px 16px}.feedback-card>header h2{font-size:24px}.feedback-intro{padding:16px 17px 6px;font-size:14px}.feedback-fields{padding:12px 17px}.feedback-optional{grid-template-columns:1fr}.feedback-privacy{margin-left:17px;margin-right:17px}.feedback-card>footer{padding:16px 17px 19px}.challenge-hero{grid-template-columns:1fr;gap:30px;min-height:0;padding:52px 22px}.challenge-hero h1{font-size:52px}.challenge-hero>div:first-child>p:last-of-type{font-size:17px}.challenge-principles{grid-template-columns:1fr 1fr;display:grid}.challenge-hero-progress{grid-template-columns:auto 1fr;place-items:center start;gap:11px;width:100%;padding:17px 20px}.challenge-hero-progress>strong{font-size:43px}.challenge-hero-progress>span{margin:0}.challenge-hero-progress>div{grid-column:1/-1;margin-top:2px}.challenge-welcome{padding-top:45px;padding-bottom:38px}.challenge-welcome h2,.challenge-browser h2{font-size:31px}.challenge-browser{padding-top:25px;padding-bottom:60px}.challenge-browser-heading{display:block}.challenge-filters{justify-content:flex-start;margin-top:18px}.challenge-level-guide{margin-top:18px}.challenge-grid{grid-template-columns:1fr}.challenge-card{padding:18px}.challenge-detail-top{padding-top:24px;padding-bottom:39px}.challenge-detail-heading{margin-top:18px}.challenge-detail-heading h1{overflow-wrap:anywhere;font-size:48px}.challenge-detail-teaser{font-size:17px}.challenge-mission{padding-top:39px;padding-bottom:39px}.challenge-mission h2{overflow-wrap:anywhere;font-size:26px}.challenge-brief{grid-template-columns:1fr}.challenge-think-first{padding-top:45px;padding-bottom:45px}.challenge-think-first h2,.challenge-test-cases h2,.challenge-support-section h2,.challenge-extension h2{font-size:29px}.challenge-think-first li{grid-template-columns:34px minmax(0,1fr);padding:11px 12px}.challenge-think-first li>span{width:32px;height:32px}.challenge-think-first li p{font-size:14px}.challenge-test-cases{margin-left:10px;margin-right:10px;padding:30px 18px}.challenge-test-cases>div:last-child{grid-template-columns:1fr}.challenge-lab{margin-top:45px}.challenge-lab-intro{font-size:14px}.challenge-editor-footer{flex-wrap:wrap}.challenge-editor-footer>span{display:none}.challenge-scaffold-button{margin-right:auto}.challenge-support-section{padding-top:53px;padding-bottom:48px}.challenge-support-heading{display:block}.challenge-support-heading>span{margin-top:6px;display:block}.challenge-hints article{padding:16px}.challenge-check-column{padding:19px}.challenge-solution-section{padding-bottom:48px}.challenge-solution-section>details>summary{padding:16px}.challenge-solution-section>details>summary>b{display:none}.solution-lock{flex-basis:38px;height:38px}.solution-code-panel pre{max-height:380px;padding:14px}.solution-code-panel code{font-size:11px}.solution-walkthrough{padding:20px}.challenge-extension{padding-top:39px;padding-bottom:52px}.exam-hero{grid-template-columns:1fr;gap:29px;min-height:0;padding:52px 22px}.exam-hero h1{overflow-wrap:anywhere;font-size:48px}.exam-hero>div:first-child>p:last-of-type{font-size:16px}.exam-hero-steps{grid-template-columns:1fr 1fr;display:grid}.exam-progress-card{padding:20px}.exam-progress-card>strong{font-size:52px}.exam-foundation{padding-top:45px;padding-bottom:39px}.exam-foundation h2,.exam-browser h2{font-size:30px}.exam-browser{padding-top:24px;padding-bottom:61px}.exam-browser-heading,.exam-section-heading{display:block}.exam-filters{justify-content:flex-start;margin-top:17px}.exam-section-heading>p{text-align:left;margin-top:10px}.exam-grid{grid-template-columns:1fr}.exam-card{padding:18px}.exam-card h3{font-size:24px}.exam-detail-top{padding-top:24px;padding-bottom:39px}.exam-detail-heading{margin-top:18px}.exam-detail-heading h1{overflow-wrap:anywhere;font-size:47px}.exam-task-text{padding-top:39px;padding-bottom:39px}.exam-task-text h2{overflow-wrap:anywhere;font-size:25px}.exam-situation{font-size:16px}.exam-read-code{margin:32px 10px 0;padding:30px 18px}.exam-read-code h2{font-size:28px}.exam-read-code>pre{padding:17px}.exam-read-code code{font-size:13px}.exam-interpretation{padding-top:48px;padding-bottom:48px}.exam-section-heading h2{font-size:30px}.exam-question{padding:18px 14px}.exam-question legend{font-size:19px}.exam-options{grid-template-columns:1fr}.exam-interpretation-actions{flex-direction:column;align-items:stretch}.exam-plan{padding-top:44px;padding-bottom:44px}.exam-plan h2,.exam-coding-mission h2,.exam-test-cases h2,.exam-support h2,.exam-complete h2{font-size:28px}.exam-plan li{grid-template-columns:34px minmax(0,1fr);padding:11px 12px}.exam-plan li>span{width:32px;height:32px}.exam-coding-mission{padding-top:42px;padding-bottom:42px}.exam-test-cases{margin-left:10px;margin-right:10px;padding:30px 18px}.exam-test-cases>div:last-child{grid-template-columns:1fr}.exam-lab{margin-top:45px}.exam-support{padding-top:52px;padding-bottom:48px}.exam-sensor-check{padding:19px}.exam-solution{padding-bottom:48px}.exam-solution>details>summary{padding:16px}.exam-solution>details>summary>b{display:none}.exam-complete{padding-top:39px;padding-bottom:52px}.command-library-overlay{padding:5px}.command-library{border-radius:12px;height:calc(100vh - 10px)}.command-library-header{gap:9px;min-height:70px;padding:11px 12px 11px 15px}.command-library-header h2{font-size:22px}.command-library-total{padding:4px 7px}.command-library-total strong{font-size:16px}.command-library-intro{padding:8px 11px;display:block}.command-library-intro p{font-size:11px}.command-library-intro>div{display:none}.command-library-controls{grid-template-columns:minmax(0,1fr) 118px;gap:6px;padding:8px}.command-library-controls input,.command-library-controls select{min-height:42px;font-size:12px}.command-library-controls label>span{font-size:7px}.command-library-body{grid-template-rows:132px minmax(0,1fr);grid-template-columns:1fr}.command-result-list{border-bottom:1px solid #d8ddd8;border-right:0;flex-direction:row;padding:9px 8px;overflow:auto hidden}.command-result-list>small{display:none}.command-result-list button{flex:0 0 176px;align-content:center;padding:8px 10px}.command-result-list button.is-active{box-shadow:inset 0 4px 0 var(--green)}.command-result-list code{font-size:12px}.command-result-list strong{font-size:11px}.command-detail{padding:17px 15px 24px}.command-detail h3{font-size:23px}.command-syntax{padding:9px 11px;font-size:15px}.command-summary{margin:12px 0;font-size:15px}.command-explanation{padding:12px 13px}.command-explanation p{font-size:13px}.command-example>pre{max-height:220px;padding:13px;font-size:12px}.command-example-actions{flex-direction:column}.command-result{grid-template-columns:82px minmax(0,1fr)}.turtle-heading{align-items:start}.turtle-heading>span{margin-top:2px}.turtle-canvas-wrap{padding:6px}.turtle-maker-menu{width:calc(100% - 26px);top:13px;right:13px}.turtle-maker-menu[open]{height:calc(100% - 26px);bottom:13px}.turtle-maker-panel{max-height:min(600px,62vh)}.maker-number-grid,.maker-color-row{grid-template-columns:1fr}.turtle-controls{align-items:stretch}.turtle-playback{flex:100%}.turtle-playback button{flex:1;padding-left:6px;padding-right:6px}.turtle-speed{flex:auto}.turtle-actions{margin-left:0}.snake-game{padding:6px}.snake-controls{grid-template-columns:1fr}.snake-status{text-align:center}.snake-arrows{justify-self:center}.snake-actions{justify-content:center}.snake-actions button{flex:120px}.panel-bar{flex-wrap:wrap;gap:7px;height:auto;min-height:54px;padding-top:8px;padding-bottom:8px}.panel-tools{flex-basis:100%;justify-content:flex-end}.project-heading{display:block}.new-project-button{margin-top:18px}.project-toolbar{align-items:stretch}.project-toolbar label:first-child{flex-basis:100%}.project-toolbar button,.import-button{flex:130px;justify-content:center}.pygame-hero{grid-template-columns:1fr;gap:28px;min-height:0;padding:54px 22px}.pygame-hero h1{font-size:48px}.pygame-hero p:last-child{font-size:17px}.pygame-lab-section{padding-left:10px;padding-right:10px}.pygame-frame-wrap{min-height:420px;padding:8px}.pygame-frame-wrap iframe{min-height:400px}.pygame-course{padding:50px 10px 58px}.pygame-course-heading{grid-template-columns:1fr;padding-left:12px;padding-right:12px}.pygame-course-heading h2{font-size:36px}.pygame-course-heading>div:first-child>p:last-child{font-size:16px}.pygame-course-progress{min-height:125px}.pygame-step-nav{padding:0 12px 7px;display:flex;overflow-x:auto}.pygame-step-nav button{flex:0 0 150px}.pygame-lesson-card>header{flex-direction:column;align-items:stretch;padding:23px 20px}.pygame-lesson-card>header h3{font-size:27px}.pygame-load-step{width:100%}.pygame-wonder{grid-template-columns:35px minmax(0,1fr);margin:18px 15px 0;padding:15px}.pygame-wonder>span{width:35px;height:35px}.pygame-wonder p{font-size:17px}.pygame-lesson-explanation{padding:23px 18px}.pygame-new-ideas>div{grid-template-columns:1fr;gap:5px}.pygame-step-code{margin-left:15px;margin-right:15px}.pygame-step-code>div{flex-direction:column;align-items:stretch}.pygame-step-code>div>span{grid-template-columns:1fr 1fr;display:grid}.pygame-step-code pre{max-height:430px;padding:16px;font-size:11px}.pygame-investigation-grid{grid-template-columns:1fr;padding:21px 15px}.pygame-lesson-nav{grid-template-columns:1fr 1fr;padding:5px 15px 22px}.pygame-lesson-nav .pygame-complete-step{grid-area:1/1/auto/-1}.library-hero{grid-template-columns:1fr;gap:28px;padding:48px 22px}.library-hero h1{font-size:46px}.library-hero>div:first-child>p:last-child{font-size:16px}.library-hero-count{min-height:150px}.library-hero-count strong{font-size:60px}.library-method{grid-template-columns:1fr;padding:22px 14px}.library-directory{padding:44px 15px}.library-directory-heading{flex-direction:column;align-items:flex-start}.library-directory-heading h2{font-size:38px}.library-search input{min-height:54px;font-size:14px}.library-group-filter{flex-wrap:nowrap;padding-bottom:5px;overflow-x:auto}.library-group-filter button{flex:none}.library-card-grid{grid-template-columns:1fr 1fr}.library-card{min-height:165px}.library-detail{padding:0 10px 65px}.library-detail-header{padding:28px 20px}.library-detail-header h2{font-size:46px}.library-detail-header>code{min-width:0;padding:16px;font-size:12px}.library-plain-language{padding:29px 21px}.library-plain-language h3{font-size:27px}.library-plain-language>p:not(.section-label){font-size:18px}.library-start-grid{grid-template-columns:1fr}.library-start-grid>section{padding:27px 21px}.library-start-grid>section:first-child{border-right:0}.library-command-section{padding:29px 21px}.library-command-grid article{grid-template-columns:1fr;gap:7px}.library-example-section>header{flex-direction:column;align-items:stretch}.library-example-section>header>span{grid-template-columns:1fr 1fr;display:grid}.library-example-section>pre{max-height:550px;padding:21px;font-size:11px}.library-after-example{grid-template-columns:1fr}.library-after-example>section,.library-after-example>.library-caution{padding:26px 21px}.library-after-example>section{border-bottom:1px solid #d7dfdb;border-right:0}.pygame-concepts{grid-template-columns:1fr}.pygame-browser-rule{grid-template-columns:1fr;gap:20px;padding:20px}.package-guide{grid-template-columns:1fr}.package-guide .package-library-link{flex-direction:column;grid-column:auto;align-items:flex-start;gap:7px}.playground-lab{padding-top:34px}.playground-lab .lab-heading h1{font-size:38px}.snippet-builder{margin-left:-9px;margin-right:-9px;padding:20px;scroll-margin-top:20px}.snippet-heading h3{font-size:27px}.snippet-grid{grid-template-columns:1fr}.snippet-card{padding:17px}.snippet-actions{flex-direction:column}.curriculum-page{padding-bottom:42px}.curriculum-hero{padding:54px 22px 46px}.curriculum-hero h1{font-size:43px}.curriculum-hero p:last-child{font-size:17px}.curriculum-summary{grid-template-columns:1fr}.curriculum-summary div{min-height:88px}.curriculum-explainer{padding-top:42px;padding-bottom:28px}.curriculum-explainer h2{font-size:32px}.curriculum-controls{grid-template-columns:1fr;gap:20px}.curriculum-controls output{grid-column:auto}.curriculum-grade{padding-top:48px}.curriculum-grade-heading{display:block}.curriculum-grade-heading>a{margin-top:9px;display:inline-block}.curriculum-grade-heading h2{font-size:31px}.curriculum-grid{grid-template-columns:1fr}.curriculum-card{padding:20px}.curriculum-card blockquote{font-size:18px}.curriculum-card-top{align-items:flex-start}.playground-reference{scroll-margin-top:20px}.reference-heading h2{font-size:36px}.reference-heading>div:first-child>p:last-child{font-size:17px}.reference-method{grid-template-columns:repeat(2,1fr);padding:13px}.reference-method span{justify-content:flex-start}.reference-controls{margin-left:-9px;margin-right:-9px;padding:15px}.reference-search input{min-height:50px;padding-left:43px;font-size:15px}.reference-categories{gap:6px}.reference-categories button{padding:7px 10px;font-size:12px}.reference-card summary,.reference-card-content{padding:20px}.reference-card summary{padding-bottom:54px}.reference-card[open] summary{padding-bottom:20px}.reference-card h3{font-size:22px}.reference-open{left:20px}.command-list>div{grid-template-columns:1fr;gap:4px}.reference-example-heading{align-items:start}.reference-example-heading strong{max-width:180px}.reference-code code{font-size:13px}.debug-guide{margin-left:-9px;margin-right:-9px;padding:21px}.debug-guide li{grid-template-columns:1fr;gap:3px}.task-actions{flex-direction:column}.teacher-heading{display:block}.teacher-only{margin-top:13px;display:inline-block}.teacher-grid{grid-template-columns:1fr}.lesson-nav{padding:20px 22px 40px}.lesson-nav p{display:none}.lesson-nav button{min-width:112px}}@media print{.topbar,.course-progress,.lab-section,.task-actions,.lesson-nav,.mode-switch,.app-credit,.curriculum-controls{display:none!important}.app-shell{display:block}.lesson{background:#fff}.lesson-hero,.content-section{max-width:none;padding:28px 36px}.lesson-hero{min-height:auto}.problem-card{color:var(--ink);box-shadow:none;background:#f3ded7}.theory-card{break-inside:avoid}.teacher-section{display:block}.curriculum-hero{color:var(--ink);background:#fff}.curriculum-hero p:last-child{color:var(--ink-soft)}.curriculum-summary{border-color:var(--line);background:#fff}.curriculum-summary span{color:var(--ink-soft)}.curriculum-grid{grid-template-columns:1fr}.curriculum-card{break-inside:avoid;box-shadow:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--paper:#fff;--cream:#f4f6f4;--ink:#213c38;--ink-soft:#5e706c;--green:#286d57;--green-dark:#184a3d;--mint:#e5f1e9;--coral:#eaa470;--line:#dbe4de;--mono:ui-monospace,"SFMono-Regular",Consolas,monospace}body{background:var(--cream);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.55}.studio{height:100dvh;min-height:400px;color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.studio button,.studio select,.studio summary{font-size:13px}.studio button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:7px 11px;font-weight:600;line-height:1.4}.studio button:hover{background:#eef4f0;border-color:#a7c4b4}.studio button:disabled{opacity:.45;cursor:not-allowed}.studio button.primary,.studio .run-button{background:var(--green);border-color:var(--green);color:#fff}.studio button.primary:hover,.studio .run-button:hover{background:var(--green-dark)}.studio button[aria-pressed=true]{background:var(--mint);color:var(--green-dark);border-color:#78a58e}.studio :focus-visible{outline-offset:3px;outline:3px solid #db8040}.studio input,.studio select,.studio textarea:not(.syntax-input){color:var(--ink);min-width:0;max-width:100%;font:inherit;background:#fff;border:1px solid #c6d2ca;border-radius:6px;padding:8px}.studio input[type=checkbox],.studio input[type=radio]{accent-color:var(--green)}.studio h1,.studio h2,.studio h3,.studio h4{letter-spacing:-.025em;text-wrap:pretty;font-family:inherit;line-height:1.25}.studio h1{margin:8px 0 12px;font-size:24px}.studio h2{font-size:20px}.studio h3{margin-top:24px;font-size:16px}.studio h4{font-size:14px}.studio p{margin:10px 0}.studio small{font-size:11px}.studio pre{white-space:pre;font-family:var(--mono);tab-size:4;font-size:13px;line-height:1.65;overflow:auto}.studio code{font-family:var(--mono)}.studio label{font-size:13px}.studio .muted{color:var(--ink-soft);font-size:12px}.button-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.skip-link{z-index:300;background:#fff;padding:12px;position:absolute;top:-100px}.skip-link:focus{top:4px}.studio-header{border-bottom:1px solid var(--line);z-index:50;background:#fff;flex-shrink:0;align-items:center;gap:36px;min-height:66px;padding:10px 24px;display:flex}.studio-brand{letter-spacing:-.5px;flex-shrink:0;align-items:center;gap:10px;font-size:18px;font-weight:750;display:flex}.studio-brand img{border-radius:9px}.studio-brand small{letter-spacing:.02em;color:var(--ink-soft);font-size:10px;font-weight:400;display:block}.studio-nav{align-items:center;gap:8px;display:flex}.studio-nav a{color:var(--ink-soft);border-radius:7px;padding:8px 16px;font-size:14px;font-weight:600}.studio-nav a[aria-current=page]{background:var(--mint);color:var(--green-dark)}.studio-nav a:hover{background:#f2f5f2}.header-actions{gap:8px;margin-left:auto;display:flex}.studio .menu{border:0;margin:0;padding:0;position:relative;overflow:visible}.menu summary{cursor:pointer;border:1px solid var(--line);white-space:nowrap;color:var(--ink);background:#fff;border-radius:7px;padding:7px 10px;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu>div{border:1px solid var(--line);z-index:90;width:250px;max-height:60vh;color:var(--ink);background:#fff;border-radius:10px;gap:7px;padding:10px;display:grid;position:absolute;top:calc(100% + 7px);right:0;overflow:auto;box-shadow:0 12px 35px #183e3420}.menu>div>button{text-align:left}.menu label{gap:6px;padding:7px;display:grid}.menu small{color:var(--ink-soft);padding:8px}.workspace-context{flex-shrink:0;align-items:center;gap:10px;min-height:57px;padding:10px 24px;display:flex}.workspace-context label{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.workspace-context select{background:0 0;max-width:260px;font-size:13px}.context-end{align-items:center;gap:20px;margin-left:auto;display:flex}.save-state{color:#46775d;max-width:260px;font-size:11px}.workspace-tabs{display:none}.studio-workspace{flex:1;grid-template-columns:minmax(0,1fr);gap:14px;min-height:0;padding:0 16px 16px;display:grid}.studio-workspace.with-lesson{grid-template-columns:330px minmax(0,1fr)}.studio-workspace.with-help{grid-template-columns:minmax(0,1fr) 360px}.studio-workspace.with-help>.lesson-panel{display:none}.coding-area{grid-template-columns:minmax(0,var(--editor-share,62%)) minmax(0,1fr);background:#142d29;border:1px solid #cedad2;border-radius:12px;min-width:0;min-height:0;display:grid;overflow:visible}.studio-editor{color:#e6f0eb;background:#142d29;border-radius:12px 0 0 12px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:visible}.workspace-toolbar{z-index:35;border-bottom:1px solid #355048;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex;position:relative}.run-actions,.editor-actions{align-items:center;gap:7px;display:flex}.studio .run-button{white-space:nowrap;align-items:center;gap:8px;min-height:36px;padding:8px 14px;font-size:13px;display:flex}.studio .stop-button{color:#a63428;background:#fff1ed;border-color:#ecc3ba}.shortcut{color:#b3c8be;font-size:10px}.studio .editor-actions>button{color:#dce8e1;background:0 0;border-color:#466258}.studio .editor-actions>button:hover{background:#23473c}.studio .tools-menu summary{color:#e6f0eb;background:#234037;border-color:#466258}.file-strip{color:#bfd2c7;border-bottom:1px solid #355048;flex-shrink:0;align-items:center;gap:8px;min-height:42px;padding:8px 12px;display:flex}.file-strip>strong{font:12px var(--mono);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.file-strip>button{color:#c9ddd2;background:0 0;border-color:#466258;margin-left:auto}.studio .lab-tabs{background:0 0;border:0;gap:3px;margin:0 0 0 auto;padding:0;display:flex}.studio .lab-tabs button{color:#c9ddd2;background:0 0;border:0;border-radius:4px;padding:4px 7px;font-size:11px}.studio .lab-tabs button[aria-pressed=true]{color:#fff;background:#335749}.studio .python-editor{background:#142d29;flex-direction:column;flex:1;height:auto;min-height:100px;display:flex;overflow:hidden}.studio .python-editor-surface{flex:1;min-height:100px;position:relative;overflow:hidden}.studio .syntax-input,.studio .syntax-layer{resize:none;height:100%;min-height:0;font-family:var(--mono);font-size:var(--editor-font-size,19px);outline-offset:-3px;padding:18px 18px 18px 58px;font-weight:400;line-height:1.6}.studio .syntax-input{color:#0000;caret-color:#ffc894;outline:none}.studio .syntax-input:focus-visible{outline-offset:-2px;outline:2px solid #94b9a1}.studio .syntax-layer{pointer-events:none;color:#e5ece8;position:absolute;inset:0}.studio .syntax-gutter{width:44px;font-size:var(--editor-font-size,19px);line-height:1.6;font-family:var(--mono);color:#698d7d;background:#142d29;padding-top:18px;font-weight:400}.studio .syntax-gutter span{height:1.6em;min-height:0}.studio .py-library{font-weight:400}.studio .syntax-layer .syntax-line{height:1.6em;min-height:0}.studio .editor-assist-bar{background:#19382f;border-color:#355048;flex-shrink:0;max-height:100px;padding:8px 12px;font-size:11px;overflow:auto}.studio .editor-inline-help.is-quiet{display:none}.studio .editor-library-status{background:#19382f;flex-shrink:0;max-height:58px;padding:5px 12px;font-size:10px;overflow:auto}.studio .editor-suggestions{flex-shrink:0;max-height:100px;font-size:11px;overflow:auto}.studio .editor-suggestions button{color:#e9f2ed;background:#214438;border-color:#577461;font-size:11px}.studio-editor-footer{color:#9dbbaa;background:#142d29;border-radius:0 0 0 12px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:6px 12px;font-size:10px;display:flex}.undo-notice{color:#664820;background:#f9ecd8;align-items:center;gap:7px;padding:7px 12px;font-size:12px;display:flex}.workspace-files{color:var(--ink);background:#eff5f0;flex-shrink:0;max-height:210px;padding:10px;overflow:auto}.studio .project-file-tabs{background:0 0;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:0;display:flex}.studio .data-file-shelf{color:var(--ink);background:0 0;border:0;padding:10px 0}.studio .data-file-shelf p{color:var(--ink-soft);font-size:11px}.studio .data-file-button,.file-upload{cursor:pointer;background:#fff;border:1px solid #c8d7cc;border-radius:6px;padding:7px;font-size:12px;position:relative}.file-upload input{opacity:0;width:1px;height:1px;position:absolute}.file-upload:focus-within{outline:3px solid #db8040}.studio .data-file-actions{flex-wrap:wrap;gap:6px}.studio .data-file-actions button{color:var(--ink);background:#fff}.studio-output{min-width:0;min-height:0;color:var(--ink);background:#f9fbf8;border-left:1px solid #355048;border-radius:0 12px 12px 0;flex-direction:column;display:flex}.studio-output>header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:60px;padding:14px 18px;display:flex}.studio-output h2{margin:0;font-size:14px}.studio-output>header>span{color:#557664;font-size:11px}.result-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:8px 10px;display:flex}.studio .result-tabs button{background:0 0;border-color:#0000;padding:5px 7px;font-size:11px}.studio .result-tabs button[aria-pressed=true]{background:var(--mint);border-color:var(--line)}.result-scroll{flex:1;min-height:0;overflow:auto}.studio .console-output{font:14px/1.75 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:#344e42;background:0 0;min-height:0;margin:0;padding:22px}.empty-result{color:var(--ink-soft);padding:20px;font-size:13px}.studio .plot-gallery{padding:10px;display:block}.studio .plot-card{background:#fff;margin:0 0 12px}.studio .variable-inspector{color:var(--ink);border-color:var(--line);background:#fff;margin:12px;font-size:12px}.studio .variable-inspector-heading{background:var(--mint);color:var(--ink)}.studio .variable-table-wrap{max-height:none}.studio .variable-inspector table{color:var(--ink)}.studio .variable-inspector td,.studio .variable-inspector th{border-color:var(--line);background:0 0}.studio .trace-player{color:var(--ink);border-color:var(--line);background:#fff;margin:12px}.studio .trace-heading{display:block}.studio .trace-controls{margin-top:10px}.studio .trace-code-line{color:#eaf2ec;background:#193c30}.studio .trace-variables>div{background:var(--mint);color:var(--ink)}.studio .error-coach{margin:12px}.studio .stale-result-notice{margin:10px;padding:10px;font-size:12px}.studio .pygame-frame-wrap{aspect-ratio:8/5;height:auto;min-height:180px}.studio .pygame-frame-wrap iframe{border:0;width:100%;height:100%}.studio .pygame-console{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;background:#edf4ee;padding:10px}.lesson-panel,.help-panel{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.lesson-title{flex-shrink:0;padding:18px 20px 12px}.lesson-title small{color:#62816e;letter-spacing:.06em;text-transform:uppercase;font-size:10px}.lesson-title h1{font-size:21px}.lesson-title p{color:var(--ink-soft);font-size:13px}.lesson-title label{gap:7px;display:grid}.lesson-title details{margin:5px 0;font-size:12px}.lesson-step-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-shrink:0;gap:3px;padding:8px 10px;display:flex}.studio .lesson-step-nav button{color:#668071;background:0 0;border:0;flex:1;justify-items:center;gap:4px;padding:5px 3px;font-size:10px;font-weight:500;display:grid}.lesson-step-nav span{background:#eff3ee;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;display:grid}.studio .lesson-step-nav [aria-current=step]{color:var(--green);font-weight:750}.lesson-step-nav [aria-current=step] span{background:var(--green);color:#fff}.lesson-body{flex:1;min-height:0;padding:8px 20px 22px;font-size:13px;line-height:1.7;overflow:auto}.lesson-body h2{font-size:18px}.lesson-body li{margin-bottom:8px}.lesson-body ul,.lesson-body ol{padding-left:20px}.lesson-body pre,.help-detail pre{border:1px solid var(--line);background:#f0f4ef;border-radius:7px;max-height:380px;padding:12px;font-size:12px}.lesson-body label{gap:6px;display:grid}.lesson-body textarea{width:100%;min-height:90px}.studio .small-example{border-bottom:1px solid var(--line);padding:8px 0}.small-example code{color:#286848;font-size:12px}.studio details:not(.menu){border-bottom:1px solid var(--line);margin:12px 0;padding-bottom:10px}.studio details:not(.menu)>summary{cursor:pointer;color:var(--green-dark);font-weight:650;line-height:1.5}.lesson-panel>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px;font-size:12px;display:flex}.notice{background:#eef5ee;border-left:3px solid #6b9f7b;border-radius:0 6px 6px 0;margin:12px 0;padding:10px 12px;font-size:12px}.lesson-panel table{border-collapse:collapse;width:100%;font-size:12px}.lesson-panel th,.lesson-panel td{text-align:left;border:1px solid var(--line);padding:8px}.practice-panel fieldset{border:1px solid var(--line);border-radius:7px;margin:14px 0;padding:10px}.practice-panel .choice{align-items:flex-start;gap:8px;padding:6px 0;display:flex}.studio .back-link{color:var(--green);background:0 0;border:0;margin:0 0 14px;padding:0;font-size:12px}.help-panel>header{justify-content:space-between;align-items:flex-start;gap:10px;padding:18px;display:flex}.help-panel h2{margin:5px 0;font-size:20px}.help-panel small{color:var(--ink-soft);font-size:10px}.help-search{gap:7px;padding:0 18px 12px;font-weight:600;display:grid}.help-filters{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:0 18px 10px;font-size:11px;display:flex}.help-filters label{font-size:11px}.help-filters select{max-width:120px;margin:0 5px}.help-results{flex:1;padding:0 12px 12px;overflow:auto}.studio .help-result{text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;border-radius:0;gap:6px;width:100%;padding:14px 24px 14px 8px;font-weight:400;display:grid;position:relative}.help-result strong{font-size:13px}.help-result span{color:var(--ink-soft);font-size:12px;line-height:1.5}.help-result b{color:var(--green);position:absolute;top:24px;right:4px}.help-detail{flex:1;padding:0 18px 24px;font-size:13px;overflow:auto}.help-detail>small{display:block}.help-detail h3{margin-top:5px;font-size:20px}.help-detail .preserve-lines{white-space:pre-line}.help-detail ol{padding-left:20px}.help-detail li{margin:8px 0}.expected-result{background:#f7f5e9;padding:10px}.help-detail .button-row button{font-size:12px}.directory-help{z-index:55;width:min(400px,100% - 32px);display:flex;position:fixed;top:80px;bottom:20px;right:16px;box-shadow:0 12px 50px #15372b25}.directory-help .help-panel{width:100%}.directory{flex:1;min-height:0;padding:32px max(24px,50% - 590px) 60px;overflow:auto}.directory>header{max-width:800px;margin-bottom:28px}.directory h1{font-size:34px}.directory header>small{color:var(--green);letter-spacing:.12em;font-size:11px}.directory header>p{color:var(--ink-soft);max-width:640px}.directory header .button-row{margin-top:20px}.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.studio .task-card,.directory-grid>article{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:22px;line-height:1.6}.task-card h2,.directory-grid>article h2{font-size:19px}.task-card p{color:var(--ink-soft);font-size:13px;font-weight:400}.task-card small{color:#63826d}.task-card>span{color:var(--green);margin-top:24px;font-size:12px;display:block}.teacher-directory details{font-size:13px}.teacher-directory blockquote{border-left:3px solid var(--line);margin:12px 0;padding:12px}.studio-status{border:1px solid var(--line);z-index:100;background:#fff;border-radius:8px;align-items:center;gap:12px;max-width:90vw;padding:10px 14px;font-size:12px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #18392d22}.studio-status button{padding:2px 7px}.course-print,.studio.is-focused .studio-header,.studio.is-focused .workspace-context,.studio.is-focused .lesson-panel,.studio.is-focused .help-panel{display:none}.studio.is-focused .studio-workspace{grid-template-columns:1fr;padding:10px}@media (width>=1101px) and (width<=1450px){.with-lesson .shortcut,.with-help .shortcut{display:none}.with-lesson .workspace-toolbar,.with-help .workspace-toolbar{padding:9px}.with-lesson .workspace-toolbar button,.with-help .workspace-toolbar button{font-size:12px}}@media (width<=1100px){.studio-header{gap:18px;padding:10px 16px}.studio-nav a{padding:7px 11px}.workspace-context{padding:8px 16px}.save-state{display:none}.workspace-tabs{flex-shrink:0;gap:6px;padding:0 16px 10px;display:flex}.studio-workspace,.studio-workspace.with-lesson,.studio-workspace.with-help{min-height:0;display:block;position:relative}.studio-workspace>.lesson-panel,.studio-workspace>.help-panel,.coding-area{height:100%}.with-lesson>.lesson-panel,.with-help>.help-panel,.tab-lesson>.coding-area,.tab-help>.coding-area{display:none}.studio-workspace.tab-lesson>.lesson-panel,.studio-workspace.tab-help>.help-panel{display:flex}.tab-lesson>.help-panel,.tab-help>.lesson-panel{display:none!important}.tab-result .coding-area{grid-template-columns:1fr}.tab-result .studio-editor{display:none}.tab-result .studio-output{border-left:0;border-radius:12px}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio.is-focused .workspace-tabs{padding-top:10px}}@media (width<=760px){.studio-header{flex-wrap:wrap;gap:8px;min-height:58px;padding:8px 12px}.studio-brand{font-size:15px}.studio-brand small{display:none}.studio-brand img{width:28px;height:28px}.studio-nav{order:3;justify-content:space-between;gap:1px;width:100%}.studio-nav a{padding:6px 16px;font-size:12px}.header-actions{margin-left:auto}.workspace-context{flex-wrap:wrap;gap:6px;min-height:50px;padding:8px 12px}.workspace-context>label{flex:1;min-width:0}.workspace-context select{width:100%;max-width:210px}.workspace-context>button{font-size:11px}.context-end{display:none}.workspace-tabs{gap:4px;padding:0 12px 8px}.workspace-tabs button{flex:1}.studio-workspace{padding:0 8px 8px}.coding-area{display:block}.studio-editor{border-radius:12px;height:100%}.studio-output{border-radius:12px;height:100%;display:none}.tab-result .studio-output{display:flex}.workspace-toolbar{gap:6px;padding:8px}.editor-actions{gap:4px}.shortcut{display:none}.studio .editor-actions button,.studio .tools-menu summary{padding:6px;font-size:11px}.studio .run-button{min-height:32px;padding:6px 10px}.studio-editor-footer span:last-child{display:none}.studio .syntax-input,.studio .syntax-layer{font-size:var(--editor-font-size,19px);padding-left:48px;padding-right:12px}.studio .syntax-gutter{width:36px}.directory{padding:20px 14px 40px}.directory-grid{grid-template-columns:1fr}.directory h1{font-size:28px}.studio-status{width:calc(100% - 24px);bottom:12px}.lesson-title{padding:14px 18px 8px}.lesson-title h1{font-size:19px}.lesson-title p{margin:6px 0}.lesson-body{padding:6px 18px 20px}.menu>div{width:230px}}@media print{body{background:#fff}.studio{height:auto;display:block;overflow:visible}.studio>:not(.course-print){display:none!important}.studio .course-print{color:#000;display:block}.course-print article{break-before:page}.course-print pre{white-space:pre-wrap;border:1px solid #bbb;padding:12px}.course-print h1{font-size:25px}.course-print h2{font-size:21px}.course-print h3{font-size:16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.studio .syntax-line.is-error-line{border:0;margin:0;padding:0;box-shadow:inset 3px 0 #ff7759}.studio .syntax-gutter{min-height:0}.studio .completion-ghost{z-index:3;pointer-events:none;white-space:pre;color:#86a298;font:400 var(--editor-font-size,19px) var(--mono);font-variant-ligatures:none;letter-spacing:0;position:absolute}.studio .editor-suggestions.completion-popup{z-index:5;white-space:normal;background:#193c34;border:1px solid #608779;border-radius:7px;flex-direction:column;gap:0;min-height:0;padding:4px;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 22px #0005}.studio .completion-popup [role=listbox]{min-height:0;overflow:auto}.studio .completion-popup button{color:#e5ece8;text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:12px;width:100%;min-width:0;padding:6px 8px;display:flex}.studio .completion-popup button[aria-selected=true]{background:#30604f;box-shadow:inset 3px 0 #94d5b2}.studio .completion-popup button code{font:400 13px var(--mono);color:#c4efda;flex-shrink:0}.studio .completion-popup button small{white-space:nowrap;text-overflow:ellipsis;color:#acc5ba;font:11px/1.3 ui-sans-serif,system-ui,sans-serif;overflow:hidden}.studio .completion-popup .completion-shortcuts{color:#afc5bb;flex-shrink:0;padding:6px 4px 2px;font-size:10px}.console-input{color:var(--ink);font:14px/1.6 var(--mono);background:#edf4ee;border:1px solid #79998a;border-radius:8px;margin:0 22px 22px;padding:14px}.console-input-prompt{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:8px;display:block}.console-input-row{flex-wrap:wrap;gap:8px;display:flex}.console-input-row input{width:100%;min-width:100px;color:var(--ink);font:inherit;background:#fff;border:1px solid #79998a;border-radius:5px;flex:1;padding:9px 10px}.console-input-row input:focus{outline:2px solid var(--green);outline-offset:2px}.console-input-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.console-input-actions small{color:var(--ink-soft);font-size:12px;line-height:1.5}.help-modes{border-bottom:1px solid var(--line);gap:6px;padding:12px 16px;display:flex}.help-modes button{flex:1}.help-modes button[aria-pressed=true]{background:var(--green);color:#fff}.tutorial-library,.tutorial-detail{min-height:0;padding:0 18px 20px;overflow:auto}.tutorial-card{text-align:left;gap:7px;width:100%;margin:12px 0;border:1px solid var(--line)!important;background:#fff!important;border-radius:10px!important;padding:16px!important;display:grid!important}.tutorial-card strong{font-size:17px}.tutorial-card span{font-size:13px;font-weight:400;line-height:1.5}.tutorial-card small,.tutorial-concepts{color:var(--ink-soft)}.tutorial-detail h4{margin:20px 0 8px;font-size:16px}.tutorial-detail p{font-size:14px;line-height:1.65}.tutorial-step-picker{gap:8px;margin:16px 0;font-size:12px;font-weight:700;display:grid}.tutorial-step-picker select{width:100%;min-width:0}.tutorial-detail progress{width:100%;height:7px;accent-color:var(--green)}.tutorial-detail pre{white-space:pre;color:#edf6ef;font:13px/1.65 var(--mono);-webkit-user-select:text;user-select:text;background:#153b30;border-radius:7px;padding:14px;overflow:auto}.tutorial-detail summary{cursor:pointer;font-size:13px;font-weight:700}.tutorial-check{background:#edf4ee;border-left:3px solid #2b7860;margin-top:16px;padding:1px 14px 6px}.tutorial-complete{align-items:flex-start;gap:8px;margin-top:20px;font-size:13px;line-height:1.5;display:flex}.tutorial-complete input{margin-top:4px}.tutorial-navigation{justify-content:space-between;align-items:center;gap:6px;margin-top:20px;display:flex}.tutorial-navigation span{white-space:nowrap;font-size:12px}.studio .console-output{-webkit-user-select:text;user-select:text;cursor:text}.studio .file-strip{flex-wrap:wrap}.studio .file-strip>strong{margin-right:auto}.studio .file-strip>button,.studio-output>header>button{white-space:nowrap;padding:6px 8px;font-size:11px}.studio .file-strip>button{margin-left:0}.help-modes{flex-shrink:0;padding:8px 16px}.tutorial-detail{flex:1}.tutorial-detail h3{margin:4px 0 12px;font-size:19px}.tutorial-detail progress{margin:0;display:block}.tutorial-detail .back-link{margin-bottom:8px}.tutorial-step-picker{margin:10px 0}.tutorial-navigation{border-top:1px solid var(--line);background:#fff;padding:12px 0;position:sticky;bottom:-20px}.syntax-layer .syntax-line.is-trace-line{background:#325849;box-shadow:inset 3px 0 #f4cd64}.syntax-gutter span.is-trace-line{color:#172e26;background:#f4cd64;font-weight:800}
