@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#273a30;background:#f8faf9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green: #21634d;--muted: #7d8981;--line: #e6ece7;--ink: #273a30;--shadow: 0 0 0 1px rgb(0 0 0 / .055), 0 2px 4px rgb(0 0 0 / .025);--ease: cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}button,input,select,textarea,a{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #40886d}button:not(.tabs button,.rail-button,.participant-row):active:not(:disabled){transform:scale(.96)}button{transition:transform .15s var(--ease),background-color .15s var(--ease),color .15s var(--ease)}p{line-height:1.65}h1,h2,h3,p{margin:0}svg{flex-shrink:0}code{font-family:SFMono-Regular,Consolas,monospace;font-size:.88em;background:#edf2ed;padding:2px 5px;border-radius:4px}pre{font-family:SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}::selection{background:#cde3d6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:100px;top:-60px;z-index:10;background:#fff;padding:12px}.skip-link:focus{top:10px}.app-shell{min-height:100vh}.rail{width:72px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;align-items:center;flex-direction:column;z-index:5}.brand-icon{width:40px;height:40px;margin-top:25px;border-radius:13px;background:var(--green);color:#fff;font-family:Manrope,sans-serif;font-size:31px;font-weight:800;letter-spacing:-4px;line-height:39px;padding-left:10px;box-shadow:0 3px 7px #21634d16}.brand-icon span{color:#cbe7ae}.rail-links{display:flex;flex-direction:column;gap:13px;margin-top:63px}.rail-button{width:42px;height:42px;display:grid;place-items:center;color:#8b978f;border-radius:11px}.rail-button.selected{background:#edf4ee;color:var(--green)}.rail-help{margin-top:auto;margin-bottom:20px}.rail-signature{font-family:Manrope,sans-serif;font-weight:800;font-size:22px;letter-spacing:-2px;margin-bottom:24px;color:#a1afa5}.page-shell{margin-left:72px}.topbar{height:85px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 45px;gap:20px}.wordmark{font-family:Manrope,sans-serif;font-size:23px;font-weight:800;letter-spacing:-1.1px}.wordmark span{color:#79a383}.topbar-divider{width:1px;height:18px;background:var(--line)}.topbar-subtitle{font-size:12px;color:#89948b}.topbar-end{margin-left:auto;display:flex;align-items:center;gap:20px}.connection{display:flex;align-items:center;gap:7px;color:#7e8981;font-size:11px}.connection>span{width:6px;height:6px;background:#7ba78a;border-radius:50%}.connection.offline>span{background:#d29a60}.avatar{width:33px;height:33px;display:inline-flex;justify-content:center;align-items:center;background:#f1e8da;color:#8c7353;border:3px solid white;border-radius:50%;font-weight:650;font-size:12px;flex-shrink:0;box-shadow:0 0 0 1px #e6e8df}.avatar-small{width:30px;height:30px;font-size:11px}.avatar:nth-child(3n){background:#e9eef4;color:#64748b}main{max-width:1510px;margin:0 auto;padding:42px 45px 48px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}.page-heading h1{font-family:Manrope,sans-serif;font-weight:750;font-size:32px;letter-spacing:-1.4px;line-height:1.3}.page-heading h1>span{color:#80a286}.page-heading p{font-size:13px;color:var(--muted);margin-top:9px}.heading-actions{display:flex;gap:10px;align-items:center}.button{display:inline-flex;gap:8px;justify-content:center;align-items:center;min-height:38px;padding:9px 14px;border-radius:8px;white-space:nowrap;font-size:12px;font-weight:550;line-height:1.4}.button.primary{background:var(--green);color:#fff;box-shadow:0 1px 2px #1a493622,inset 0 1px #ffffff0f}.button.secondary{background:#fff;box-shadow:var(--shadow);color:#4f6256}.button.quiet{color:#728176}.button.stop{background:#fbefeb;color:#a6583b}.room-code{display:flex;align-items:center;gap:7px;font-size:12px;font-variant-numeric:tabular-nums;font-family:monospace;color:#78877b;background:#edf2ed;padding:8px 10px;border-radius:6px;letter-spacing:.7px}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde5df;margin-bottom:26px;gap:18px}.tabs{display:flex;gap:23px;align-self:stretch}.tabs button{display:flex;align-items:center;gap:8px;position:relative;font-size:12px;color:#879288;min-height:47px;padding:0 1px 16px}.tabs button.active{color:var(--green);font-weight:600}.tabs button.active:after{content:"";position:absolute;height:2px;background:var(--green);bottom:-1px;left:0;right:0;border-radius:2px}.count{font-size:10px;min-width:18px;height:18px;padding:2px 5px;text-align:center;border-radius:5px;background:#edf2ed;color:#809184;font-variant-numeric:tabular-nums}.mode-control{display:flex;align-items:center;gap:11px;margin-bottom:14px}.mode-control>span{font-size:11px;color:#879188}.segmented{display:flex;background:#edf1ed;padding:3px;border-radius:8px}.segmented button{border-radius:5px;min-height:29px;padding:5px 12px;font-size:11px;color:#8b968c}.segmented button[aria-pressed=true]{background:#fff;color:#365442;box-shadow:0 1px 3px #243c3210}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px;align-items:start}.work-column{min-width:0}.challenge-nav{display:flex;align-items:center;gap:9px;color:#819084;font-size:11px;margin-bottom:18px;min-height:26px}.lesson-icon{color:#57896b;width:26px;height:26px;background:#eaf1e8;display:grid;place-items:center;border-radius:7px}.challenge-nav select{border:0;background:transparent;color:#546759;font-size:11px;padding:4px 20px 4px 0;max-width:180px}.lesson-level{margin-left:auto;color:#8b978d;font-size:10px}.target-panel{display:grid;grid-template-columns:1.02fr 1fr;gap:15px;background:#fff;border-radius:12px;padding:25px 24px 17px;box-shadow:var(--shadow);margin-bottom:23px;min-height:226px;align-items:center}.section-label{font-size:9px;font-weight:600;letter-spacing:1.35px;color:#7c8c7d;display:flex;align-items:center;gap:7px}.target-dot{width:6px;height:6px;border:1.5px solid #75a08b;border-radius:50%}.target-copy h2{font-family:Manrope,sans-serif;font-size:18px;line-height:1.5;letter-spacing:-.5px;font-weight:750;margin:10px 0 9px}.target-copy p{font-size:11px;color:#89948a;max-width:260px;line-height:1.8}.dataset-link{margin-top:17px;display:flex;align-items:center;gap:6px;color:#5e7c67;font-size:10px;padding:0;min-height:24px}.dataset-link span{color:#a0aaa1;font-size:9px;border-left:1px solid #e1e8df;padding-left:8px;margin-left:2px}.target-visual{padding-top:0}.target-visual svg{width:100%;height:auto;display:block;font-family:DM Sans,sans-serif}.chart-caption{color:#98a199;font-size:9px;padding-left:14%;display:block}.cell-panel{background:#fff;border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.cell-header{min-height:60px;display:flex;align-items:center;justify-content:space-between;padding:10px 17px;gap:12px;border-bottom:1px solid var(--line)}.cell-owner{display:flex;align-items:center;gap:9px;min-width:0}.cell-owner h3{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.file-label{font-size:10px;color:#9da69e;border-left:1px solid var(--line);padding-left:11px;margin-left:3px}.cell-actions{display:flex;gap:10px;align-items:center}.icon-button{width:32px;height:32px;border-radius:7px;display:grid;place-items:center;color:#879287;flex-shrink:0}.run-button{min-height:32px;padding:7px 11px;font-size:11px;border-radius:6px}.run-button>svg{transform:translate(1px)}.shortcut{font-size:10px;letter-spacing:1px;opacity:.6;margin-left:5px}.code-editor{max-height:460px;overflow:auto}.editor-footer{display:flex;justify-content:space-between;gap:12px;background:#fafbf9;border-top:1px solid #f0f3ee;padding:9px 18px;font-size:9px;color:#a2ada2}.editor-footer>span:first-child{display:flex;gap:6px;align-items:center}.editor-footer>span:first-child svg{color:#88a584}.output-header{display:flex;align-items:center;justify-content:space-between;padding:14px 19px 0;gap:12px;font-size:10px;color:#a0aba1;border-top:1px solid var(--line)}.output-header>span:first-child{color:#738273;display:flex;align-items:center;gap:7px;font-size:11px}.output{min-height:190px;padding:0 20px 16px}.output-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 10px 22px;min-height:180px;color:#809383;text-align:center;gap:11px}.output-empty strong{font-size:12px;font-weight:500;color:#8b9a8d}.output-empty p{font-size:10px;line-height:1.7;color:#a3ada4}.empty-chart{width:51px;height:34px;display:flex;align-items:flex-end;gap:5px;margin:4px 0 1px}.empty-chart span{width:8px;border-radius:3px 3px 1px 1px;background:#d2dfcf;height:22px}.empty-chart span:nth-child(2){height:32px;background:#bed1ba}.empty-chart span:nth-child(3){height:17px;background:#d9e2d2}.empty-chart span:nth-child(4){height:26px;background:#cadac2}.result-image{display:block;width:100%;max-height:400px;object-fit:contain;margin:15px auto 0;outline:1px solid oklch(0 0 0 / .1);outline-offset:-1px;border-radius:5px}.result-ready{display:flex;align-items:center;gap:5px;color:#6f9779!important;font-size:9px}.stale-label{font-size:10px;color:#b08a54;line-height:1.6}.output-error{padding-top:20px}.output-error pre{color:#a6644b;font-size:11px}.error-title{color:#a6644b;font-size:12px;font-weight:600}.console-output{padding:15px;margin:15px 0 0;background:#f7f9f6;color:#788676;border-radius:6px;max-height:250px;overflow:auto;text-align:left}.workspace-note{display:flex;align-items:center;gap:7px;margin:14px 1px;font-size:10px;color:#9ba69b}.class-column{padding-top:44px;display:flex;flex-direction:column;gap:22px}.rubric-panel{background:#f0f4ee;border:1px solid #e4eade;border-radius:12px;padding:19px 18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-title h3{font-size:12px;font-weight:600;letter-spacing:-.1px}.score{font-size:10px;font-weight:600;color:#6f8d72;background:#e5eddf;padding:4px 7px;border-radius:5px;font-variant-numeric:tabular-nums}.score.complete{color:#fff;background:#488763}.rubric-panel>p,.class-panel>p{font-size:10px;color:#95a08f;margin-top:5px}.criteria{display:flex;flex-direction:column;gap:16px;margin:22px 0}.criterion{display:flex;align-items:center;gap:9px;font-size:11px;color:#8d9b88;line-height:1.5}.criterion>svg{color:#b9c7b0}.criterion.passed{color:#487c50}.criterion.passed>svg{color:#6a9460;fill:#e2ecd8}.progress-track{height:4px;background:#dfe8da;border-radius:5px;overflow:hidden;margin-bottom:10px}.progress-track span{height:100%;display:block;background:#6c9961;border-radius:5px;transition:width .22s var(--ease)}.rubric-note{font-size:9px;color:#a1ad98}.class-panel{background:#fff;box-shadow:var(--shadow);border-radius:12px;padding:19px 18px 0}.class-panel>p{color:#a0aaa1;margin-top:7px}.empty-class{display:flex;flex-direction:column;align-items:center;text-align:center;padding:50px 25px 60px;gap:12px}.empty-class.compact{padding:32px 0 28px;gap:10px}.empty-people{display:flex;justify-content:center;margin:5px 0 6px;padding-left:7px}.empty-people>span{width:31px;height:31px;border:3px solid white;border-radius:50%;margin-left:-7px;background:#e8eee3;color:#8b9a80;display:grid;place-items:center;font-size:10px;font-weight:600;box-shadow:0 0 0 1px #eef0eb}.empty-people>span:nth-child(2){background:#f3e9da;color:#b19c7b;transform:translateY(-5px)}.empty-people>span:nth-child(3){background:#ece7f1;color:#b0a0bc}.empty-class strong{font-size:11px;font-weight:500;color:#7d8a7e}.empty-class p{font-size:10px;color:#a4ada2;line-height:1.9}.empty-class .button{font-size:10px;min-height:32px;padding:7px 12px;margin-top:4px}.class-link{display:flex;width:calc(100% + 36px);margin-left:-18px;padding:13px 18px;border-top:1px solid var(--line);align-items:center;justify-content:center;gap:8px;font-size:10px;color:#889789;border-radius:0 0 12px 12px}.participant-list{padding-top:13px;padding-bottom:5px;max-height:420px;overflow:auto}.participant-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;min-height:58px;padding:7px 0;border-top:1px solid #f0f3ef}.participant-info{flex:1;min-width:0}.participant-info strong{font-size:11px;display:flex;gap:6px;align-items:center;font-weight:500}.participant-info small{font-size:9px;color:#a1aba1;font-weight:400}.participant-info>span{display:block;font-size:9px;color:#a0aaa1;margin-top:4px}.participant-row>svg{color:#b0bbb0}.participant-thumb{width:44px;height:30px;object-fit:contain;border-radius:3px;outline:1px solid oklch(0 0 0 / .1)}.learning-note{text-align:center;padding:0 6px}.note-mark{font-family:Georgia,serif;font-size:30px;line-height:1;color:#c5d2be}.learning-note p{font-size:10px;color:#a1ac9b;line-height:1.9;margin-top:-5px}.close-room{align-self:center;font-size:10px;margin-top:-10px}.teacher-feedback{display:flex;align-items:flex-start;gap:9px;padding:16px;background:#fff6e9;color:#94764f;border-radius:10px;font-size:11px;line-height:1.7}.teacher-feedback p{font-size:11px;margin-top:4px;white-space:pre-wrap}.teacher-feedback strong{font-size:11px;font-weight:600}.teacher-feedback>svg{margin-top:2px}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0 23px;border-top:1px solid var(--line);margin-top:25px;font-size:10px;color:#a0aaa1}.page-footer>span{font-weight:500}.brand-dot{color:#71a07f}.footer-separator{padding:0 10px;color:#c5cec6}.page-footer button{display:flex;align-items:center;gap:7px;font-size:10px;color:#a0aaa1}.alert{background:#fff1e9;border:1px solid #f0d5c4;color:#a46540;font-size:12px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;border-radius:8px;margin-bottom:18px;overflow-wrap:anywhere}.notice{display:flex;align-items:center;gap:9px;padding:12px 15px;font-size:12px;background:#edf2eb;color:#71826d;margin-bottom:18px;border-radius:8px}.text-button{text-decoration:underline;margin-left:auto;font-size:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 27px}.section-heading h2{font-family:Manrope,sans-serif;font-size:22px;letter-spacing:-.7px;font-weight:750}.section-heading p{font-size:12px;color:#95a092;margin-top:7px}.section-heading>span{font-size:12px;color:#8b988d}.student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.student-card{box-shadow:var(--shadow);border-radius:12px;background:#fff;text-align:left;overflow:hidden;padding:0}.student-card-header{display:flex;align-items:center;gap:9px;padding:14px 16px;font-size:12px}.student-card-header>strong{font-weight:550}.student-card-header>svg{margin-left:auto;color:#9aa899}.mine-label{font-size:10px;color:#9ba79a}.student-preview{height:180px;margin:0 13px;background:#fafbf9;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#bdcbb7}.student-preview>span{font-size:11px;color:#a2afa0}.student-preview img{width:100%;height:100%;object-fit:contain;border-radius:6px;outline:1px solid oklch(0 0 0 / .1);outline-offset:-1px}.student-card-footer{display:flex;justify-content:space-between;gap:10px;padding:14px 16px;font-size:10px;color:#8c9a88}.student-card-footer>strong{color:#76906c;font-size:11px}.data-info{display:flex;align-items:center;gap:18px;background:#f0f4ee;padding:14px 19px;border-radius:9px 9px 0 0;font-size:11px;color:#91a089;flex-wrap:wrap}.data-info>span:first-child{display:flex;align-items:center;gap:8px;color:#627e59}.data-info>code{margin-left:auto}.table-scroll{overflow:auto;background:#fff;box-shadow:var(--shadow);border-radius:0 0 9px 9px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;font-variant-numeric:tabular-nums}th{font-weight:500;background:#fafbf9;color:#667c60;padding:16px 20px;border-bottom:1px solid var(--line);white-space:nowrap}th small{font-size:10px;color:#a6b09f;margin-left:8px;font-weight:400}td{padding:13px 20px;border-bottom:1px solid #f0f3ed;color:#7c8d76}td:first-child{color:#b2bcae;width:65px}tr:last-child td{border:0}.data-tip{display:flex;gap:13px;padding:24px 6px;color:#8ca080;font-size:12px}.data-tip strong{font-weight:500}.data-tip p{font-size:11px;color:#a2ae99;margin-top:5px}.dialog{border:0;box-shadow:0 24px 100px #20382b26,0 0 0 1px #00000009;border-radius:18px;padding:27px;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);color:var(--ink);overflow:auto}.dialog::backdrop{background:#20382b55;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.dialog-header h2{font-family:Manrope,sans-serif;font-size:20px;line-height:1.4;letter-spacing:-.6px;font-weight:750}.dialog-description{font-size:12px;color:#929d8e;line-height:1.8}.join-form{margin-top:25px;display:flex;flex-direction:column;gap:20px}.join-form>label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:500;color:#6b7c65}.join-form input:not([type=radio]){min-height:42px;width:100%;border:1px solid #e1e7dd;padding:10px 12px;border-radius:7px;color:#4b6144;background:#fcfdfb;font-size:13px}.join-form input::placeholder{color:#b3bdad}.join-form fieldset{padding:0;margin:0;border:0;display:flex;flex-direction:column;gap:8px}.join-form legend{font-size:12px;margin-bottom:10px;color:#6b7c65}.radio-option{display:flex;align-items:flex-start;gap:10px;padding:14px 12px;border:1px solid #e4eade;border-radius:9px;cursor:pointer}.radio-option.chosen{border-color:#9eb694;background:#f4f8f0}.radio-option input{accent-color:var(--green);margin-top:3px}.radio-option strong{display:block;font-size:12px;font-weight:500}.radio-option span{display:block;font-size:11px;color:#9ba892;margin-top:5px;line-height:1.6}.submit-button{min-height:43px}.form-footnote{font-size:10px;color:#a0ac97;line-height:1.8;margin-top:-7px}.form-error{font-size:12px;color:#b77759}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.dialog-wide{width:min(800px,calc(100vw - 32px))}.inspector-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:#8c9a83;margin-bottom:20px}.inspector-intro>span:last-child{display:flex;align-items:center;gap:5px;font-size:10px}.inspector-image{width:100%;max-height:360px;object-fit:contain;margin-top:15px;outline:1px solid oklch(0 0 0 / .1);outline-offset:-1px}.inspector-checks{display:flex;flex-wrap:wrap;gap:10px 17px;padding:20px 0;border-bottom:1px solid var(--line)}.inspector-checks>span{display:flex;align-items:center;gap:6px;font-size:11px;color:#a5af9e}.inspector-checks>span.passed{color:#649059}.feedback-form{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:20px}.feedback-form label{font-size:12px;color:#6e8363}.feedback-form textarea{width:100%;height:90px;resize:vertical;padding:12px;border:1px solid #dee6d8;border-radius:8px;font-size:12px;color:#5c7350;background:#fcfdfa}.feedback-form .button{align-self:flex-end}.help-content{font-size:12px;color:#84927c;line-height:1.9}.help-content p{margin:14px 0}.help-content ol{padding-left:20px}.help-content li{padding:6px 0 6px 4px}.help-content strong{color:#5b7451;font-weight:550}.help-content .muted{font-size:11px;color:#a0ad98}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:#284d38;color:#f4f8f0;box-shadow:0 6px 30px #243d3026;border-radius:10px;padding:14px 19px;display:flex;align-items:center;gap:10px;z-index:10;font-size:12px;max-width:calc(100vw - 32px);width:max-content;line-height:1.6;transition:opacity .18s var(--ease),translate .18s var(--ease)}.spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(hover:hover)and (pointer:fine){.button.primary:hover{background:#2b755b}.button.secondary:hover{background:#f6f9f3}.button.quiet:hover,.icon-button:hover{background:#edf2e9;color:#47713b}.rail-button:hover{background:#f2f6ee;color:#69905b}.tabs button:hover{color:#537d47}.participant-row:hover{background:#fafcf7}.student-card:hover{box-shadow:0 0 0 1px #acc5a2,0 3px 10px #00000005}.class-link:hover{background:#f6f9f2}}.editor-loading{min-height:260px;padding:24px;color:#6f816b;font-size:12px;background:#fafbf9}.target-copy p{font-size:12px;color:#6d7f6c}.target-copy h2{font-size:20px}.page-heading p{color:#738171;font-size:13px}.section-label{font-size:10px;color:#758570}.panel-title h3{font-size:13px}.criterion{font-size:12px;color:#71836a}.criterion>svg{color:#9aae90}.rubric-panel>p,.class-panel>p{font-size:11px;color:#7d8e75}.rubric-note{color:#7c8f73;font-size:10px}.output-empty strong{font-size:13px;color:#768b6f}.output-empty p{font-size:11px;color:#87987e}.empty-class strong{font-size:12px;color:#73856c}.empty-class p{font-size:11px;color:#8b9c82}.empty-class .button{font-size:11px}.class-link{font-size:11px;color:#78916b}.student-code{font-size:10px;line-height:1.7;color:#7b8c73;background:#f8faf5;margin:0 13px 10px;padding:10px 12px;border-radius:6px;height:80px;overflow:hidden;white-space:pre;text-align:left}@media(min-width:1550px){main{padding-top:50px}.page-heading{margin-bottom:43px}.target-panel{min-height:250px}.class-column{padding-top:44px}.target-copy p{font-size:12px}.target-copy h2{font-size:20px}.target-visual{max-width:360px;justify-self:end}.code-editor .cm-content{min-height:265px!important}.output{min-height:210px}}@media(max-width:1150px){main{padding:32px 28px 0}.topbar{padding:0 28px}.workspace-grid{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.target-panel{padding:22px 18px 15px;gap:8px}.target-copy h2{font-size:16px}.target-copy p{font-size:10px}.dataset-link span{display:none}.cell-owner h3{max-width:120px}.rubric-panel,.class-panel{padding-left:15px;padding-right:15px}.class-link{width:calc(100% + 30px);margin-left:-15px}.page-heading h1{font-size:29px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-subtitle,.topbar-divider{display:none}.criterion{font-size:10px;gap:7px}}@media(max-width:900px){.rail{width:60px}.page-shell{margin-left:60px}.topbar{height:70px}.brand-icon{margin-top:17px;width:36px;height:36px;font-size:28px;line-height:35px;padding-left:9px}.workspace-grid{grid-template-columns:minmax(0,1fr)}.class-column{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.learning-note{display:none}.class-panel{grid-column:2;grid-row:1 / span 2}.rubric-panel,.teacher-feedback,.close-room{grid-column:1}.page-heading{align-items:flex-start;flex-direction:column;gap:20px}.heading-actions{align-self:flex-end;margin-top:-53px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.target-panel{grid-template-columns:1fr 1fr}.target-copy p{font-size:12px}.target-copy h2{font-size:19px}.lesson-level,.connection{font-size:10px}.topbar-end{gap:12px}.tabs{gap:18px}.tabs button{font-size:11px}.mode-control{gap:6px}.mode-control>span{font-size:10px}.segmented button{padding:4px 9px}}@media(max-width:640px){.rail{display:none}.page-shell{margin-left:0}.topbar{padding:0 20px;height:66px}.wordmark{font-size:22px}.connection{max-width:150px;font-size:9px}.connection>span{width:5px;height:5px}.topbar-end{gap:10px}main{padding:27px 18px 0}.page-heading{gap:17px;margin-bottom:22px}.page-heading h1{font-size:27px;letter-spacing:-1.2px}.page-heading p{font-size:11px;margin-top:7px}.heading-actions{align-self:flex-start;margin-top:0;gap:8px}.heading-actions .button{min-height:35px;font-size:11px;padding:8px 12px}.heading-actions .room-code{font-size:11px}.workspace-toolbar{flex-direction:column;align-items:stretch;gap:0;margin-bottom:20px}.tabs{gap:24px}.tabs button{min-height:44px;padding-bottom:14px;font-size:11px}.mode-control{align-self:flex-end;margin:10px 0}.segmented button{font-size:10px;min-height:27px}.workspace-grid{gap:15px}.challenge-nav{gap:7px;font-size:10px;margin-bottom:14px}.challenge-nav select{font-size:10px;max-width:152px}.lesson-level{font-size:9px}.lesson-icon{height:23px;width:23px}.target-panel{grid-template-columns:1fr;gap:17px;padding:23px 21px 10px;margin-bottom:19px}.target-copy h2{font-size:20px;margin-top:10px}.target-copy p{max-width:none;font-size:12px}.dataset-link{font-size:10px;margin-top:12px}.dataset-link span{display:block;font-size:9px}.target-visual{width:100%;max-width:355px;margin:auto}.target-visual .chart-caption{font-size:9px}.target-visual svg{max-height:195px}.cell-header{padding:10px 12px;min-height:58px;gap:6px}.cell-owner{gap:7px}.cell-owner h3{font-size:11px;max-width:110px}.file-label{display:none}.cell-actions{gap:3px}.cell-actions .icon-button{width:27px}.run-button{font-size:10px;padding:7px 10px}.shortcut{display:none}.editor-footer{padding:9px 12px;font-size:8px;gap:5px}.output-header{padding:13px 13px 0;font-size:9px}.output-header>span:first-child{font-size:10px}.output{padding-left:12px;padding-right:12px}.output-empty{padding-left:5px;padding-right:5px;min-height:180px}.output-empty strong{font-size:11px}.output-empty p,.stale-label{font-size:9px}.workspace-note{font-size:9px;align-items:flex-start;line-height:1.7;margin-bottom:18px}.class-column{grid-template-columns:1fr;gap:18px}.rubric-panel{grid-column:1}.class-panel{grid-column:1;grid-row:auto}.teacher-feedback{grid-column:1}.panel-title h3{font-size:13px}.rubric-panel{padding:20px}.criterion{font-size:11px;gap:10px}.criteria{gap:17px}.class-panel{padding:20px 20px 0}.class-link{width:calc(100% + 40px);margin-left:-20px}.empty-class.compact{padding:23px 0}.close-room{justify-self:center}.page-footer{font-size:9px;padding:20px 0;margin-top:22px}.page-footer button{font-size:9px}.student-grid{grid-template-columns:1fr;gap:16px}.section-heading{align-items:flex-start;gap:15px;margin:8px 0 22px}.section-heading h2{font-size:19px}.section-heading p{font-size:11px}.section-heading .button{font-size:10px;min-height:34px;padding:8px 10px}.gallery-page .section-heading{flex-direction:column}.data-info{gap:10px;padding:13px;font-size:10px}.data-info>code{margin-left:0}.data-info>span:last-child{display:none}th,td{padding:13px 15px;font-size:11px}th small{display:none}.data-tip{font-size:11px}.data-tip p{font-size:10px}.dialog{padding:22px;border-radius:15px}.dialog-header h2{font-size:19px}.dialog-description{font-size:11px}.toast{font-size:11px;bottom:18px;padding:12px 15px}.inspector-intro{flex-direction:column;align-items:flex-start;gap:8px}.inspector-checks{flex-direction:column;gap:13px}.dialog-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active:not(:disabled){transform:none!important}.spinner{opacity:.55}}.room-rail{width:224px;align-items:stretch;padding:28px 16px 20px;background:#fff}.room-rail+.page-shell{margin-left:224px}.rail-wordmark{font-family:Manrope,sans-serif;font-size:24px;font-weight:800;letter-spacing:-1px;text-align:left;padding:0 12px;margin-bottom:34px}.rail-wordmark span{color:#79a383}.rail-home,.rail-create,.rail-bottom{display:flex;align-items:center;gap:10px;padding:12px;border-radius:8px;font-size:12px;text-align:left;min-height:42px}.rail-home.selected{background:#edf4ee;color:#21634d}.rail-section-label{font-size:9px;letter-spacing:1.3px;color:#8c998f;padding:29px 12px 12px}.rail-room-list{overflow:auto;flex:1;min-height:0}.rail-room{display:flex;flex-direction:column;text-align:left;padding:12px;width:100%;gap:5px;border-radius:8px;margin:3px 0}.rail-room.selected{background:#edf4ee}.rail-room-title{font-size:12px;color:#425f4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rail-room>span:last-child{font-size:10px;color:#899787}.rail-create{color:#577e60;border-top:1px solid #edf1e9;border-radius:0;margin-top:15px}.rail-bottom{color:#899787;font-size:11px}.wordmark{padding:0}.home-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.home-heading h1{font-family:Manrope,sans-serif;font-size:32px;letter-spacing:-1.3px;font-weight:750}.home-heading h1>span{color:#7fa17e}.home-heading p{font-size:13px;color:#7d8e79;margin-top:10px}.home-actions{display:flex;gap:10px}.home-intro{display:flex;align-items:center;gap:15px;padding:20px 23px;background:#edf3e9;border:1px solid #e0ead9;border-radius:12px;color:#64835d;margin-bottom:42px}.home-intro strong{font-size:13px;font-weight:600}.home-intro p{font-size:12px;color:#7e9275;margin-top:4px}.home-intro .text-button{display:flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;color:#537b49;font-size:11px}.rooms-list-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.rooms-list-heading h2{font-size:17px;font-weight:600;display:flex;gap:10px;align-items:center}.rooms-list-heading p{font-size:11px;color:#8c9a85;margin-top:6px}.room-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e9de;border-radius:8px;padding:9px 12px;color:#93a18c}.room-search input{border:0;outline:none;background:none;min-width:190px;font-size:11px;color:#5f7754}.room-filters{display:flex;align-items:center;gap:7px;margin-bottom:22px}.room-filters>button{padding:8px 13px;font-size:11px;border-radius:7px;color:#8a9982;min-height:34px}.room-filters>button[aria-pressed=true]{background:#fff;box-shadow:var(--shadow);color:#47753d}.room-filters>span{margin-left:auto;font-size:10px;color:#9aaa91}.room-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.room-card{background:#fff;box-shadow:var(--shadow);border-radius:13px;padding:21px;min-width:0}.room-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}.challenge-mark{display:grid;place-items:center;width:39px;height:39px;background:#edf3e8;color:#79a06c;border-radius:11px}.challenge-mark-2{background:#f6eee2;color:#b49465}.challenge-mark-4{background:#eeeaf5;color:#a38bb5}.room-state{display:flex;align-items:center;gap:6px;font-size:10px;color:#7d9c71}.room-state i{width:5px;height:5px;border-radius:50%;background:#82a572}.room-state.closed{color:#9e9e8c}.room-state.closed i{background:#b5b5a4}.room-card h3{font-family:Manrope,sans-serif;font-weight:700;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.room-card>p{font-size:11px;color:#91a087;margin-top:6px}.room-card>p>span{padding:0 5px}.room-card-details{display:flex;align-items:center;gap:16px;margin:24px 0 20px;font-size:10px;color:#97a68b}.room-card-details>span:first-child{display:flex;align-items:center;gap:6px}.room-card-bottom{border-top:1px solid #edf1e8;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.room-card-bottom>span{font-size:10px;color:#87987a}.room-card-bottom small{font-size:9px;display:block;font-family:monospace;margin-top:5px;letter-spacing:.6px;color:#acb6a3}.room-card-bottom .button{font-size:10px;min-height:32px;padding:7px 10px}.home-empty{padding:65px 24px 72px;background:#fff;box-shadow:var(--shadow);border-radius:12px;display:flex;flex-direction:column;align-items:center;text-align:center}.home-empty-icon{width:52px;height:52px;background:#edf4e7;border-radius:16px;color:#91ad80;display:grid;place-items:center;margin-bottom:22px}.home-empty h3{font-family:Manrope,sans-serif;font-size:19px;font-weight:700;color:#526f47}.home-empty p{font-size:12px;max-width:370px;color:#92a285;margin:10px 0 23px}.home-footnotes{padding:24px 0 10px;display:flex;flex-direction:column;gap:9px}.home-footnotes p{display:flex;align-items:center;gap:8px;font-size:10px;color:#91a184}.room-warning{color:#b18b61!important;font-size:10px!important}.workspace-grid{grid-template-columns:minmax(0,1fr) 350px;gap:24px}.class-column{padding-top:0;gap:18px;display:flex}.class-column .target-panel{display:flex;flex-direction:column;align-items:stretch;padding:22px 20px 13px;margin:0;min-height:0;gap:20px}.class-column .target-copy h2{font-size:18px}.class-column .target-copy p{max-width:none;font-size:12px}.class-column .target-visual{max-width:none;width:100%}.class-column .target-visual svg{max-height:210px}.class-column .rubric-panel{padding:20px}.work-column>.class-panel{margin-top:23px}.class-panel .participant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;max-height:220px}.challenge-picker .radio-option{padding:11px 12px}.challenge-picker .radio-option span{font-size:10px}.join-form{gap:18px}.room-rail~.page-shell main{max-width:1540px;padding-left:32px;padding-right:32px}@media(hover:hover)and (pointer:fine){.rail-room:hover,.rail-home:hover,.rail-create:hover,.rail-bottom:hover{background:#f1f6ec}.room-card:hover{box-shadow:0 0 0 1px #ccdcc3,0 2px 5px #00000004}}@media(max-width:1250px){.room-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.room-rail{width:200px;padding-left:12px;padding-right:12px}.room-rail+.page-shell{margin-left:200px}.workspace-grid{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.room-rail~.page-shell main{padding-left:24px;padding-right:24px}.cell-owner h3{max-width:100px}.shortcut,.file-label{display:none}.home-heading{align-items:flex-start;flex-direction:column;gap:20px}.home-heading h1{font-size:29px}.home-intro .text-button{display:none}}@media(max-width:1000px){.room-rail{width:180px;padding-left:9px;padding-right:9px}.room-rail+.page-shell{margin-left:180px}.workspace-grid{grid-template-columns:minmax(0,1fr) 280px;gap:16px}.class-column .target-panel{padding:20px 15px 10px}.room-rail~.page-shell main{padding:27px 20px 40px}.topbar{padding:0 20px}.cell-header{padding:10px}.cell-owner h3{max-width:90px;font-size:11px}.cell-owner{gap:6px}.class-panel .participant-list{grid-template-columns:1fr}.heading-actions{margin-top:0;align-self:flex-start}.target-copy h2{font-size:17px!important}.dataset-link span{display:none}.class-column .rubric-panel{padding:17px 15px}.criterion{font-size:11px}.home-intro{align-items:flex-start}}@media(max-width:800px){.room-rail{width:160px}.room-rail+.page-shell{margin-left:160px}.rail-wordmark{font-size:21px;padding:0 8px}.rail-home,.rail-room,.rail-create,.rail-bottom{padding:10px 8px}.rail-room-title{font-size:11px}.rail-room>span:last-child{font-size:9px}.workspace-grid{grid-template-columns:minmax(0,1fr)}.class-column{grid-row:1;display:grid;grid-template-columns:1fr 1fr;align-items:start}.class-column .target-panel{grid-column:1}.class-column .rubric-panel{grid-column:2}.teacher-feedback{grid-column:1 / -1}.class-column .close-room{grid-column:2}.work-column{grid-row:2}.class-column .target-copy h2{font-size:16px!important}.class-column .target-copy p{font-size:11px}.class-column .target-visual svg{max-height:155px}.room-cards{grid-template-columns:1fr}.rooms-list-heading{align-items:flex-start;flex-direction:column;gap:16px}.room-search,.room-search input{width:100%}.room-filters>span{font-size:9px}.home-heading h1{font-size:27px}}@media(max-width:640px){.room-rail{display:flex;position:static;width:100%;padding:14px 18px;flex-direction:row;align-items:center;gap:10px;border-right:0;border-bottom:1px solid var(--line)}.rail-wordmark{margin:0;padding:0;font-size:22px}.rail-home{margin-left:auto;font-size:11px;padding:8px 10px;min-height:34px}.rail-section-label,.rail-room-list,.rail-create,.rail-bottom{display:none}.room-rail+.page-shell{margin-left:0}.topbar{height:48px;background:transparent;border:0;justify-content:flex-end}.topbar>.wordmark,.topbar-subtitle{display:none}.room-rail~.page-shell main{padding:16px 18px 32px}.home-heading{margin-bottom:25px}.home-heading h1{font-size:28px}.home-heading p{font-size:12px}.home-actions{width:100%}.home-intro{padding:18px;margin-bottom:30px;gap:12px}.home-intro p{font-size:11px}.home-intro>svg{margin-top:3px}.room-filters>span{display:none}.room-card{padding:20px}.home-empty{padding:48px 20px}.home-empty h3{font-size:18px}.home-empty p{font-size:11px}.home-footnotes p{align-items:flex-start;line-height:1.7;font-size:10px}.home-footnotes svg{margin-top:2px}.class-column{display:flex;grid-row:1;gap:15px}.class-column .target-panel{width:100%;padding:20px 20px 8px;gap:12px}.class-column .target-copy h2{font-size:20px!important}.class-column .target-copy p{font-size:12px}.class-column .target-visual svg{max-height:185px}.class-column .rubric-panel{width:100%;padding:19px 20px}.class-column .target-visual{max-width:350px;margin:auto}.class-column .close-room{align-self:center}.work-column{grid-row:2}.page-heading h1{font-size:24px}.workspace-toolbar{margin-bottom:20px}.cell-header{padding:10px 12px}.tabs{gap:20px}.class-panel .participant-list{grid-template-columns:1fr}.class-column .teacher-feedback{width:100%}.dataset-link span{display:block}.page-heading{margin-bottom:20px}.room-search input{min-width:0}.home-actions .button{font-size:11px}.challenge-picker legend{margin-bottom:8px}}[hidden]{display:none!important}.practice-library{margin:10px 0 50px}.library-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.library-title h2{font-family:Manrope,sans-serif;font-size:23px;font-weight:750;letter-spacing:-.7px}.library-title p{font-size:12px;color:#87997d;margin-top:7px}.library-filters{display:flex;align-items:end;gap:15px;margin:24px 0}.library-filters label,.bank-picker>label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#7d9172}.library-filters select,.bank-picker select{border:1px solid #dce6d5;background:#fff;border-radius:7px;padding:10px 12px;color:#4d6e40;font-size:12px;min-height:38px}.library-filters>span{margin-left:auto;font-size:11px;color:#91a184;padding-bottom:10px}.practice-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.practice-card{background:#fff;border-radius:13px;box-shadow:var(--shadow);overflow:hidden;min-width:0;display:flex;flex-direction:column}.practice-preview{padding:15px;background:#fcfdfa;width:100%;border-bottom:1px solid #edf2e7}.practice-preview svg{width:100%;height:145px;display:block}.practice-card-copy{padding:18px 19px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.practice-card-meta{display:flex;justify-content:space-between;width:100%;align-items:center;gap:10px;margin-bottom:11px}.practice-card-meta>span:first-child{font-size:10px;color:#8a9d7e}.level-tag{font-size:9px!important;font-weight:600;letter-spacing:.3px;text-transform:lowercase;padding:4px 7px;border-radius:5px;display:inline-flex;width:max-content;line-height:1.2;white-space:nowrap}.level-tag.easy{background:#edf5e6;color:#71925c}.level-tag.medium{background:#faf0dc;color:#ab8852}.practice-card h3{font-family:Manrope,sans-serif;font-size:15px;line-height:1.5;letter-spacing:-.25px;font-weight:700}.practice-card-copy>p{font-size:11px;line-height:1.8;color:#92a086;margin:9px 0 20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.practice-card-copy>.button{margin-top:auto;min-height:32px;font-size:10px}.library-empty{padding:35px;color:#97a78a;font-size:12px}.bank-picker{display:flex;flex-direction:column;gap:18px}.bank-picker fieldset{min-width:0}.variant-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:370px;overflow:auto;padding:2px}.variant-option{position:relative;padding:10px;border:1px solid #e5ecdf;border-radius:10px;cursor:pointer;background:#fcfefa;min-width:0}.variant-option.chosen{border-color:#78a164;background:#f0f7e8}.variant-option input{position:absolute;left:8px;top:8px;accent-color:#21634d;z-index:1}.variant-option svg{width:100%;height:105px;display:block}.variant-option>span{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:8px 3px 0}.variant-option strong{font-size:11px;line-height:1.5;color:#607b51;font-weight:550}.selected-problem{padding:14px;background:#f3f7ee;border-radius:8px}.selected-problem>strong{font-size:12px;font-weight:600}.selected-problem p{font-size:11px;color:#7e946f;margin:7px 0}.selected-problem details{font-size:10px;color:#80976f}.selected-problem pre{font-size:10px;max-height:180px;overflow:auto}.problem-objective{margin-top:11px!important;color:#6b855b!important}.problem-setup pre{font-size:10px;white-space:pre-wrap;line-height:1.8;max-height:235px;overflow:auto;margin:0 0 12px;color:#667b6b}.provided-panel{background:#fff;box-shadow:var(--shadow);border-radius:12px;padding:25px;color:#7d9270}.provided-panel h3{font-size:15px;font-weight:600}.provided-panel pre{line-height:2;background:#f6faf2;padding:20px;border-radius:8px;margin:20px 0}.provided-panel p{font-size:12px}.target-heading-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.target-heading-meta .level-tag{flex-shrink:0}.class-column .target-panel{gap:14px}.join-form .form-footnote{line-height:1.9}@media(max-width:1200px){.practice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.library-title{flex-direction:column;align-items:stretch}.library-title .room-search{max-width:360px}}@media(max-width:640px){.practice-cards{grid-template-columns:1fr}.practice-preview svg{height:170px}.library-filters{gap:10px;flex-wrap:wrap}.library-filters>span{display:none}.library-filters label{flex:1;min-width:0}.library-filters select{width:100%;font-size:11px}.library-title h2{font-size:21px}.practice-library{margin-bottom:38px}.practice-card h3{font-size:16px}.practice-card-copy>p{font-size:12px}.variant-grid{max-height:300px}.variant-option svg{height:85px}.variant-option strong{font-size:10px}.problem-setup pre{font-size:10px;max-height:190px}}.home-view-tabs{display:flex;gap:22px;border-bottom:1px solid #e0e9d9;margin:5px 0 30px}.home-view-tabs button{position:relative;display:flex;align-items:center;gap:8px;padding:14px 0;font-size:12px;color:#92a285;min-height:45px}.home-view-tabs button[aria-pressed=true]{color:#386c34;font-weight:600}.home-view-tabs button[aria-pressed=true]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#548342}.home-view-tabs button>span{background:#eef4e7;border-radius:5px;padding:3px 6px;font-size:10px;color:#86a273}.library-filters select,.bank-picker select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23597261' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;min-width:145px}.problem-hints,.problem-setup{margin-top:16px;border-block:1px solid #e3e9df;color:#355846;font-size:12px}.problem-hints summary,.problem-setup summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:42px;line-height:1.5;font-weight:550}.problem-hints summary::-webkit-details-marker,.problem-setup summary::-webkit-details-marker{display:none}.problem-hints summary:focus-visible,.problem-setup summary:focus-visible{outline:2px solid #40886d;outline-offset:2px;border-radius:4px}.problem-hints details[open]>summary>svg,.problem-hints[open]>summary>svg,.problem-setup[open]>summary>svg{transform:rotate(90deg)}.hint-items{padding:0 0 8px 8px}.hint-item+.hint-item{border-top:1px solid #e9eee5}.hint-item summary{font-size:11px;font-weight:500}.hint-body{padding:0 0 12px 22px}.hint-body p{font-size:11px;color:#667b6b;margin:0 0 10px!important}.hint-body pre{margin:0;padding:12px;border-radius:6px;background:#f3f6f0;color:#304f3c;font-size:11px;line-height:1.8;overflow:auto;max-width:100%;tab-size:4}.hint-body code{background:none;padding:0;font-size:inherit}.scene-caption{font-size:11px;line-height:1.6;color:#596f61;margin:8px 8px 0}.practice-preview svg{width:100%;height:auto}@media(max-width:600px){.library-filters select{min-width:0;width:100%}}.topbar{position:sticky;top:0;height:64px;z-index:4;background:#fff}.rail-admin{display:flex;align-items:center;gap:9px;min-height:42px;padding:10px 14px;margin-top:12px;color:#647b6b;font-size:12px;border-top:1px solid var(--line);width:100%;text-align:left}.practice-category{margin:30px 0 36px;min-width:0}.category-row-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.category-row-heading h3{font-size:17px;font-weight:650}.category-row-heading h3 span{font-size:11px;font-weight:400;color:#7a8d7f;margin-left:8px}.category-scroll-actions{display:flex;gap:6px}.category-scroll-actions .icon-button{border:1px solid var(--line);border-radius:7px;min-width:34px;min-height:34px}.practice-category .practice-cards{display:grid;grid-auto-flow:column;grid-auto-columns:min(340px,83vw);grid-template-columns:none;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:1px;padding:2px 1px 14px;scrollbar-width:thin;scrollbar-color:#b9ccbd #f1f5ee}.practice-category .practice-card{scroll-snap-align:start;min-width:0}.practice-card-copy h4{margin:0;font-size:15px;font-weight:650;line-height:1.5}.chart-type{color:#51745d;font-size:11px}.variant-option .chart-type{display:block;margin:5px 0;font-size:10px}@media(max-width:640px){.room-rail{position:sticky;top:0;z-index:5;padding:10px 14px;gap:6px;height:58px}.rail-wordmark{font-size:20px}.rail-home{font-size:10px;margin-left:auto;padding:7px}.rail-admin{width:auto;margin:0;border:0;font-size:10px;padding:7px;min-height:34px;gap:5px;white-space:nowrap}.topbar{top:58px;height:40px;background:#fff;border-bottom:1px solid var(--line)}.topbar-end{gap:12px}.practice-category .practice-cards{grid-auto-columns:min(310px,83vw);gap:14px}}.admin-answer{width:100%;background:#fff;border:1px solid #dce6dd;border-radius:12px;min-width:0;color:#355846;font-size:12px}.admin-answer>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 16px;list-style:none;cursor:pointer;font-weight:600}.admin-answer>summary::-webkit-details-marker{display:none}.admin-answer>summary>span{flex:1}.admin-answer[open]>summary>svg:first-child{transform:rotate(90deg)}.admin-answer summary:focus-visible{outline:2px solid #40886d;outline-offset:2px;border-radius:10px}.admin-answer-body{padding:0 16px 16px}.admin-answer-body>p{font-size:12px}.answer-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.answer-toolbar>span{font-size:11px;color:#6c806f}.answer-toolbar .button{padding:7px 10px;font-size:10px;min-height:32px}.admin-answer pre{background:#f5f8f2;border-radius:6px;padding:12px;margin:0;font-size:11px;line-height:1.8;overflow:auto;max-height:480px;tab-size:4;color:#304f3c}.admin-answer pre code{background:none;padding:0;font-size:inherit}.dialog .admin-answer{margin-top:20px}.rail-materials{margin-top:6px}.materials-heading{margin-bottom:32px}.materials-page h1{font-family:Manrope,sans-serif;font-size:30px;font-weight:750;letter-spacing:-1px}.materials-level{margin-bottom:40px}.materials-level-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.materials-level-heading h2{font-size:19px;font-weight:650}.materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.material-card{min-width:0;background:#fff;border-radius:13px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.material-cover{display:block;padding:0;overflow:hidden;width:100%;aspect-ratio:16 / 9;background:#f1f5ef;border-bottom:1px solid #e9eee5}.material-cover img{display:block;width:100%;height:100%;object-fit:contain}.material-card-copy{padding:22px;display:flex;flex-direction:column;flex:1}.material-eyebrow{font-size:11px;color:#748a7b}.material-card-copy h3{margin:9px 0;font-size:18px;font-weight:650;line-height:1.45}.material-card-copy p{color:#6c8072;font-size:12px;margin-bottom:20px}.material-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.material-card-copy .material-actions{margin-top:auto}.material-actions .button{font-size:11px;min-height:38px;padding:9px 12px}.material-back{display:inline-flex;align-items:center;gap:8px;color:#587362;font-size:12px;min-height:38px;margin-bottom:18px}.material-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.material-detail-heading h1{margin-top:8px;font-size:26px}.material-detail-heading .material-actions{justify-content:flex-end}.pdf-viewer{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.pdf-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.pdf-controls>span{font-size:12px;color:#607866;white-space:nowrap}.pdf-controls .button{font-size:11px;padding:8px 11px}.pdf-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:250px;padding:16px;background:#edf2ec;overflow:hidden}.pdf-stage canvas{display:block;max-width:100%;background:#fff;box-shadow:0 1px 5px #243c3014}.pdf-loading{position:absolute;inset:0;display:grid;place-items:center;color:#587362;background:#f5f8f0ee;font-size:13px}.pdf-stage>p{padding:20px;color:#6c8072;font-size:13px}.pdf-viewer-loading{min-height:300px;display:grid;place-items:center;color:#748a7b;font-size:13px}@media(max-width:900px){.material-detail-heading{flex-direction:column}.material-detail-heading .material-actions{justify-content:flex-start}.materials-grid{gap:16px}.material-card-copy{padding:18px}}@media(max-width:640px){.room-rail .rail-home{margin-left:0;gap:5px;padding:6px;font-size:10px}.room-rail .rail-home:not(.rail-materials){margin-left:auto}.room-rail .rail-materials{margin-top:0}.room-rail .rail-home svg{width:14px;height:14px}.room-rail .rail-admin{gap:4px;padding:6px;font-size:10px}.materials-page h1{font-size:26px}.materials-grid{grid-template-columns:1fr}.materials-level-heading{gap:12px}.materials-level-heading .button{font-size:10px;padding:8px;gap:6px}.material-card-copy h3{font-size:18px}.material-detail-heading h1{font-size:23px}.pdf-controls{padding:10px;gap:8px}.pdf-controls .button{min-width:34px;padding:8px}.pdf-controls .button span{display:none}.pdf-stage{min-height:175px}}@media(max-width:360px){.room-rail{padding-left:10px;padding-right:10px;gap:3px}.room-rail .rail-wordmark{font-size:18px}.room-rail .rail-home,.room-rail .rail-admin{font-size:9px;padding:5px;gap:3px}.room-rail .rail-admin svg{width:14px;height:14px}}
