.demo-banner{background:#eaf1e4;color:#3d6246;padding:12px 5.5%;font-size:12px;line-height:1.6;display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}.demo-banner details{max-width:650px}.demo-banner summary{cursor:pointer;font-weight:600}.account-page{min-height:85vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-bottom:50px}.account-intro p{color:#68796f;line-height:1.8;max-width:420px}.account-card{padding:32px}.account-card h2{margin-top:0}.class-form{display:flex;flex-direction:column;gap:17px}.class-form label,.review-select{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}.class-form input,.class-form textarea,.review-select select{width:100%;border:1px solid #d4dfd4;border-radius:5px;background:#fff;padding:11px;font:inherit;color:#243d36}.class-form textarea[name=starter]{font-family:Consolas,monospace}.class-form textarea{resize:vertical;line-height:1.7}.class-form button{align-self:flex-start}.class-form .checkbox-label{flex-direction:row;align-items:center}.checkbox-label input{width:auto}.muted{font-size:12px;line-height:1.8;color:#6d7d70;font-weight:400}.account-card>.text-button{margin-top:18px;text-align:left;font-size:12px}.account-nav{display:flex;align-items:center;gap:22px;font-size:12px}.account-nav .text-button{font-size:12px}.join-form{padding:20px;flex-direction:row;align-items:flex-end;margin-bottom:24px}.join-form label{flex:1;max-width:440px}.join-form button{align-self:flex-end}.class-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:25px;align-items:start}.class-list{padding:20px 12px}.class-list h2{padding:0 8px;font-size:14px;margin:0 0 16px}.class-list p{padding:0 8px}.class-link{display:block;width:100%;text-align:left;background:transparent;border:0;padding:13px 10px;border-radius:5px;color:#59705f;font-size:13px;overflow-wrap:anywhere}.class-link.selected{background:#eaf2e7;color:#285541;font-weight:650}.class-content{min-width:0}.class-section,.empty-class{padding:25px;margin-bottom:22px}.class-section h2,.empty-class h2{font-size:21px;margin:0 0 20px;overflow-wrap:anywhere}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.section-heading .text-button{margin-left:14px}.class-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-bottom:1px solid #e1e7dd;padding-bottom:20px;margin-bottom:24px}.class-summary .muted{margin:5px 0}.class-summary>div>span{font-size:10px;letter-spacing:1px}.join-code{font-family:Consolas,monospace;font-size:20px;letter-spacing:1px;margin:10px 0;color:#225e4f;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.class-summary h3{margin:4px 0 8px}.assignment-list{padding:0;margin:0;list-style:none}.assignment-list li{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-top:1px solid #e6eae3;align-items:center}.assignment-list strong{font-size:14px;display:block;overflow-wrap:anywhere}.assignment-state{font-size:10px;color:#6c8362;display:block;margin-top:7px}.assignment-actions{display:flex;gap:8px}.assignment-instructions{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;color:#536d5e}.review-select select{margin:4px 0 18px}.review-code{background:#f6f8f3;padding:20px;border:1px solid #dfe5da;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:500px;overflow:auto;font:13px/1.8 Consolas,monospace}@media(max-width:800px){.class-layout{grid-template-columns:180px minmax(0,1fr);gap:15px}.assignment-list li{align-items:flex-start;flex-direction:column}.class-section{padding:20px}.account-page{gap:30px}}@media(max-width:600px){.account-page{grid-template-columns:1fr;gap:18px}.account-card{padding:23px}.class-layout{grid-template-columns:1fr}.account-nav{font-size:10px;gap:10px}.class-summary{grid-template-columns:1fr}.join-form{flex-direction:column;align-items:stretch}.join-form label{max-width:none}.join-form button{align-self:flex-start}.section-heading{flex-wrap:wrap;gap:0}.section-heading h2{margin-bottom:10px}.section-heading .text-button{margin-left:0;margin-right:15px}}.account-nav{min-width:0;max-width:50%}.account-nav>span{min-width:0;overflow-wrap:anywhere}.account-nav>button{flex-shrink:0}.class-form input,.class-form textarea{font-weight:400}.history-notice{background:#edf3e7;border:1px solid #d7e3cd;border-radius:6px;padding:13px 16px;font-size:12px;line-height:1.7;margin-bottom:17px}.history-notice p{margin:6px 0 0}.history-review,.marking-panel{border-top:1px solid #dfe5da;margin-top:24px;padding-top:22px}.history-controls{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:11px}.marks-row{display:flex;gap:16px;max-width:360px}.marks-row label{flex:1;min-width:0}.released-mark{font-size:23px;font-weight:650;color:#225e4f}.feedback-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}.student-feedback{margin-top:18px}.student-feedback article+article{border-top:1px solid #dfe5da;margin-top:20px;padding-top:15px}.student-feedback summary{cursor:pointer;font-size:12px}@media(max-width:600px){.history-controls{flex-wrap:wrap;justify-content:flex-start}}.fast-page{max-width:1550px}.fast-page>.subtitle{margin-bottom:25px}.fast-selectors{display:grid;grid-template-columns:1fr 1fr;gap:22px}.fast-selectors select{margin-bottom:0}.fast-compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:18px}.fast-compare>section{min-width:0}.fast-review{min-width:0}@media(min-width:1150px){.fast-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.fast-review{margin-top:0}}.fast-compare .editor{height:430px}.fast-compare .editor-toolbar h2{font-size:13px;margin:0}.reference-actions{padding:13px 17px;display:flex;gap:16px;align-items:center;border-top:1px solid #e1e7dd;flex-wrap:wrap}.fast-queue{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px;align-items:center}.fast-queue select{margin-bottom:0}.queue-filter{display:flex;align-items:center;gap:8px;font-size:12px}.class-management summary{cursor:pointer;font-size:15px;font-weight:600;margin-bottom:17px}.class-admin-action{margin:22px 0;padding:15px 0;border-top:1px solid #dfe5da;border-bottom:1px solid #dfe5da}.roster-list{list-style:none;padding:0;margin:0}.roster-list li{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:10px 0;font-size:13px}.assignment-actions{flex-wrap:wrap}a.button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}@media(max-width:1000px){.fast-queue{grid-template-columns:1fr;gap:15px}}@media(max-width:700px){.fast-compare,.fast-selectors{grid-template-columns:1fr}.fast-compare .editor{height:340px}.fast-page .section-heading{flex-wrap:wrap}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#243d36;background:#f5f6f2;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,pre:focus-visible{outline:3px solid #c08a35;outline-offset:4px}.site-header{height:83px;background:#fff;border-bottom:1px solid #dfe5dd;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%}.brand{text-decoration:none;color:#1d5346;font-weight:750;font-size:21px;display:flex;align-items:center;gap:5px;letter-spacing:-.65px}.brand-icon{display:grid;place-items:center;border-radius:10px;width:33px;height:33px;color:#fff;background:#245c4c;margin-right:8px;font-size:24px}.brand-light{font-weight:400}.workspace-label{font-size:10px;letter-spacing:1.4px;color:#687a70;display:flex;align-items:center;gap:19px}.local-badge{background:#f0f2eb;color:#66765d;border-radius:5px;padding:7px 10px;font-size:11px;letter-spacing:0}main{max-width:1440px;margin:auto;padding:43px 5.5% 0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.eyebrow{color:#56816a;font-size:10px;font-weight:750;letter-spacing:1.8px;margin:0 0 13px}h1{font-size:clamp(24px,2.6vw,35px);letter-spacing:-1.1px;font-weight:650;margin:0 0 11px}.subtitle{font-size:14px;color:#738077;margin:0;line-height:1.6}.milestone{font-size:10px;letter-spacing:1.4px;padding:10px 12px;border:1px solid #d6dfd2;border-radius:5px;color:#718168;white-space:nowrap;margin-left:20px}.workspace{display:grid;grid-template-columns:minmax(285px,.84fr) minmax(0,1.55fr);gap:25px;align-items:start}.card{border:1px solid #dce2d9;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 3px 8px #24433303}.assignment{padding:27px}.resource-tabs{display:flex;gap:8px;border-bottom:1px solid #dfe5da;margin-bottom:24px;padding-bottom:10px}.resource-tabs button{border:0;border-radius:6px;padding:9px 15px;background:transparent;color:#52665b;font:inherit;font-size:13px;cursor:pointer}.resource-tabs button[aria-selected=true]{background:#eaf2ed;color:#225e4f;font-weight:650}.resource-tabs button:focus-visible{outline:2px solid #225e4f;outline-offset:2px}.python-docs{max-height:min(72vh,760px);overflow:auto}.python-docs section+section{margin-top:23px}.python-docs pre{background:#f5f8f5;border:1px solid #e1e7dd;border-radius:7px;padding:12px;font-size:12px;line-height:1.7;overflow-x:auto}.panel-label{display:flex;gap:10px;align-items:center;color:#6a7d6e;font-size:10px;font-weight:700;letter-spacing:1.5px}.number{font-size:11px;display:grid;place-items:center;border-radius:5px;background:#edf2e8;width:27px;height:27px;letter-spacing:0;color:#5d7b53}.assignment h2{font-size:24px;letter-spacing:-.6px;line-height:1.25;font-weight:650;margin:22px 0 14px}.assignment p{font-size:13px;line-height:1.8;color:#68796f}.topic-tags{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 27px}.topic-tags span{font-size:10px;color:#62765b;border:1px solid #e1e7d9;border-radius:4px;background:#f7f9f3;padding:5px 8px}h3{font-size:12px;font-weight:700;margin:0 0 14px}.requirements{padding:0;list-style:none;counter-reset:tasks;margin:0 0 26px}.requirements li{counter-increment:tasks;position:relative;padding-left:29px;margin:17px 0;font-size:12px;line-height:1.9;color:#62746a}.requirements li:before{content:counter(tasks);position:absolute;left:0;top:3px;width:19px;height:19px;background:#edf3ee;border-radius:50%;color:#668169;text-align:center;font-size:10px;line-height:19px}strong{font-weight:650;color:#364e42}.example{background:#f6f7f3;border:1px solid #e7eadd;border-radius:6px;padding:17px 13px}.example h3{font-size:10px;color:#77846a;letter-spacing:.5px;margin-bottom:12px}.example pre{font-family:SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:1.9;margin:0;color:#4d6556}.before-submit{display:flex;gap:12px;margin:22px 0 17px}.before-submit>span{color:#61845e;padding-top:4px}.before-submit p{margin:0;font-size:11px}.assignment .assignment-note{border-top:1px solid #e7eae3;padding-top:18px;font-size:10px;color:#839080;margin-bottom:0}.coding-column{min-width:0}.editor-toolbar{height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;border-bottom:1px solid #e6eae3;background:#fcfdfb}.file-tab{font-family:Consolas,monospace;font-size:12px;display:flex;align-items:center;gap:9px}.file-tab>span:first-child{color:#839455;font-size:20px}.language-label{font:10px -apple-system,sans-serif;color:#8d988b;border-left:1px solid #dce3d5;padding-left:10px;margin-left:4px}.save-status{font-size:10px;color:#79906e}.save-failed{color:#a4493e}.editor{height:345px;overflow:hidden}.run-toolbar{min-height:67px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e6eae3;padding:12px 16px;gap:12px}.run-buttons{display:flex;gap:8px}.button{font-size:12px;font-weight:600;border-radius:5px;min-height:37px;padding:9px 15px;border:1px solid transparent;white-space:nowrap}.button.primary{color:#fff;background:#225e4f;box-shadow:0 2px 3px #225e4f20}.button.primary:hover:enabled,.button.submit:hover:enabled{background:#164738}.button span{margin-right:7px;font-size:10px}.stop{background:#fff;color:#796a65;border-color:#dce1d9}.stop:hover:enabled{background:#faf0ec}.editor-note{font-size:9px;color:#8b9588;text-align:right}.console-card{margin-top:20px}.console-toolbar{padding:0 18px;height:45px;border-bottom:1px solid #e6eae3;display:flex;align-items:center;justify-content:space-between}.console-toolbar h2{font-size:12px;font-weight:600;display:flex;align-items:center;gap:9px}.status-dot{width:5px;height:5px;background:#a6b0a1;border-radius:50%}.status-dot.active{background:#3a8b5f}.text-button{background:none;border:0;font-size:10px;color:#7e8879;padding:8px 0}.text-button:hover{color:#243d36}.console-body{background:#fcfdfa;padding:0 18px}.console-output{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.8;height:160px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:17px 0;color:#2b4536}.console-placeholder{color:#98a18f;font-size:11px}.console-footer{display:flex;justify-content:space-between;border-top:1px solid #e6eae3;padding:10px 18px;color:#829077;font-size:9px}.input-form{padding:5px 0 16px}.input-form label{font-size:10px;color:#60725d;display:block;margin-bottom:7px}.input-form>div{display:flex;align-items:center;gap:8px}.input-form input{width:100%;min-width:0;border:1px solid #d8e2d3;padding:9px;border-radius:4px;background:#fff;color:#243d36;font-family:Consolas,monospace;font-size:12px}.input-send{background:#e8eee2;color:#38583e}.submit-row{display:flex;align-items:center;justify-content:space-between;padding:21px 1px;gap:14px}.submit-row p{font-size:12px;line-height:1.8;margin:0}.submit-row p span{font-size:10px;color:#86917e}.submit{background:#2b5545;color:#fff;padding:11px 20px}.submit span{margin:0 0 0 12px;font-size:15px}.submission-message,.error-message{font-size:12px;line-height:1.7;padding:12px;border-radius:5px;background:#eaf1e4;color:#3b6544}.error-message{background:#fbeee8;color:#8b3c2e}.page-footer{display:flex;justify-content:space-between;border-top:1px solid #dfe5d8;margin-top:31px;padding:21px 0 28px;font-size:10px;color:#929c89}@media(min-width:1500px){main{padding-left:50px;padding-right:50px}}@media(max-width:850px){.workspace{grid-template-columns:minmax(250px,.9fr) minmax(0,1.3fr);gap:16px}.assignment{padding:20px}.editor-note,.language-label{display:none}.assignment h2{font-size:21px}.site-header{padding:0 4%}main{padding:30px 4% 0}.milestone{display:none}.save-status{font-size:9px}}@media(max-width:650px){.site-header{height:67px}.brand{font-size:18px}.workspace-label{font-size:0;gap:0}.workspace{grid-template-columns:1fr}.page-heading{margin-bottom:23px}h1{font-size:27px}.assignment{padding:23px}.editor{height:340px}.page-footer{gap:20px;font-size:9px}.submit-row p{font-size:11px}.console-output{height:180px}}
