/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.grow{flex-grow:1}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/manrope-cyrillic.f8afd6a9.woff2)format("woff2");unicode-range:u+301,u+400-45f,u+490-491,u+4b0-4b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/manrope-latin.675812cc.woff2)format("woff2");unicode-range:u+??,u+131,u+152-153,u+2bb-2bc,u+2c6,u+2da,u+2dc,u+304,u+308,u+329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#f7f8fa;--paper:#fff;--ink:#202b2b;--muted:#647173;--line:#e8ebeb;--green:#245a4c;--lime:#d6f48b;--radius:12px;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #83b5a4}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #7faa9a}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.2px;margin-bottom:12px;font-size:32px;line-height:1.2}h1,h2{font-weight:650}h2{letter-spacing:-.5px;font-size:20px}h3{font-size:16px;font-weight:600}p{line-height:1.65}small{font-size:12px}.muted{color:var(--muted);font-size:14px}.eyebrow,.tiny-label{letter-spacing:1.6px;color:var(--muted);font-size:10px;font-weight:650;display:block}.eyebrow{margin-bottom:14px}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 17px;font-size:12px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.button-primary{background:var(--green);color:#fff;box-shadow:0 2px 3px #1b4c3914}.button-primary:hover{background:#1c483e}.button-outline{color:#384440;background:#fff;border-color:#dde4e1}.button-outline:hover{background:#f2f5f2}.button-ghost{color:var(--muted);background:0 0}.button-ghost:hover{color:var(--green);background:#edf2ee}.button-danger{color:#fff;background:#b04d46}.button-sm{min-height:32px;padding:8px 11px;font-size:11px}.button-icon{width:36px;padding:8px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.full-width{width:100%}.platform{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:30;overscroll-behavior-y:contain;background:#fff;flex-direction:column;width:245px;padding:32px 22px 0;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden auto}.sidebar>*{flex-shrink:0}.brand{letter-spacing:-.7px;align-items:center;font-size:23px;font-weight:750;display:flex}.brand-icon{background:var(--green);width:37px;height:37px;color:var(--lime);border-radius:11px;justify-content:center;align-items:center;margin-right:9px;display:inline-flex}.brand-light{font-weight:400}.brand-dot{background:#8aad5e;border-radius:50%;align-self:flex-end;width:5px;height:5px;margin:0 0 9px 3px}.workspace-switch{margin:36px 0 27px}.workspace-switch .tiny-label{letter-spacing:1.3px;margin-bottom:9px;font-size:8px}.workspace-switch select{border:1px solid var(--line);color:#35473e;background:#f9faf9;border-radius:7px;width:100%;padding:11px 8px;font-size:11px}.text-button{color:#89928d;background:0 0;border:0;align-items:center;gap:5px;margin-top:10px;padding:0;font-size:10px;display:flex}.text-button:hover{color:var(--green)}.nav-title{letter-spacing:1.4px;margin-bottom:12px;font-size:9px}.nav-link{color:#737d7a;border-radius:7px;align-items:center;gap:11px;margin-bottom:6px;padding:12px 11px;font-size:12px;display:flex}.nav-active{color:var(--green);background:#edf3ec;font-weight:600}.active-dot{background:var(--green);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-note{background:#f4f7ef;border:1px solid #eaf0e2;border-radius:10px;margin-top:auto;margin-bottom:22px;padding:18px}.sidebar-note strong{font-size:13px;line-height:1.6}.sidebar-note p{color:#8a9486;margin:8px 0 0;font-size:10px;line-height:1.6}.note-icon{color:#65874c;margin-bottom:11px;font-size:25px;display:block}.sidebar-user{border-top:1px solid var(--line);align-items:center;gap:9px;min-height:83px;display:flex}.avatar{color:#786649;background:#eee9df;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:inline-flex}.sidebar-user strong{text-overflow:ellipsis;max-width:125px;font-size:11px;display:block;overflow:hidden}.sidebar-user small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.sidebar-user button{color:#8b9390;background:0 0;border:0;margin-left:auto;padding:4px;display:flex}.main-wrap{flex-direction:column;width:calc(100% - 245px);min-height:100vh;margin-left:245px;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;height:77px;padding:0 42px;font-size:11px}.topbar,.topbar>div{align-items:center;display:flex}.topbar strong{font-size:11px;font-weight:500}.breadcrumb{color:#9aa19e}.slash{color:#c1c9c3;padding:0 13px}.local-badge{border:1px solid var(--line);color:#748278;border-radius:20px;align-items:center;gap:6px;padding:7px 10px;font-size:9px;display:flex}.local-badge>span{background:#89aa65;border-radius:50%;width:5px;height:5px}.main-content{flex:1;width:100%;max-width:1460px;margin:0 auto;padding:37px 42px 50px}.page-heading{justify-content:space-between;align-items:center;gap:22px;margin-bottom:29px;display:flex}.page-heading p{margin:0;font-size:12px}.page-heading .eyebrow{letter-spacing:1.6px;font-size:8px}.welcome-banner{color:#fff;background:#244c40;border-radius:13px;justify-content:space-between;min-height:220px;padding:30px 34px;display:flex;position:relative;overflow:hidden}.welcome-banner h2{letter-spacing:-.8px;margin:15px 0 10px;font-size:26px;font-weight:500;line-height:1.35}.welcome-banner p{opacity:.65;max-width:390px;margin-bottom:15px;font-size:11px}.banner-tag{letter-spacing:1.5px;color:#d4e7b4;align-items:center;gap:7px;font-size:8px;display:flex}.banner-link{color:var(--lime);align-items:center;gap:16px;margin-top:5px;font-size:10px;display:inline-flex}.banner-art{justify-content:center;align-items:center;min-width:235px;display:flex;position:relative;transform:rotate(-7deg)}.art-brace{color:#d4ee90;opacity:.85;font-family:monospace;font-size:135px;font-weight:300;line-height:1}.art-code{flex-direction:column;gap:9px;width:80px;margin:0 10px;display:flex}.art-code span{background:#6e9981;border-radius:2px;width:85%;height:7px}.art-code span:nth-child(2){background:#d1eb99;width:55%;margin-left:14px}.art-code span:nth-child(3){width:75%;margin-left:14px}.art-code span:nth-child(4){background:#dfcba0;width:40%;margin-left:26px}.art-code span:nth-child(5){width:60%}.art-spark{color:var(--lime);font-size:40px;font-weight:300;position:absolute;top:10px;right:-5px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 35px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;gap:13px;padding:20px}.stat-card,.stat-icon{border-radius:10px;display:flex}.stat-icon{color:#697b92;background:#edf0f5;flex-shrink:0;justify-content:center;align-items:center;width:39px;height:39px}.stat-green{color:#839b62;background:#f0f5e9}.stat-purple{color:#a48cbc;background:#f2eef7}.stat-card>div>span{color:#89928d;font-size:10px}.stat-card strong{align-items:baseline;gap:9px;margin-top:7px;font-size:25px;font-weight:500;line-height:1;display:flex}.stat-card small{color:#a5ada7;font-size:9px;font-weight:400}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-top:25px;margin-bottom:21px;display:flex}.section-heading h2{margin:0 0 5px;font-size:19px}.section-heading p{margin:0;font-size:11px}.count{vertical-align:middle;color:#65705f;background:#e9eee8;border-radius:5px;margin-left:6px;padding:3px 6px;font-size:10px}.search{border:1px solid var(--line);background:#fff;border-radius:8px;width:190px;padding:10px 13px;font-size:10px}.tabs{border-bottom:1px solid var(--line);align-items:center;gap:20px;margin-bottom:24px;display:flex}.tabs>button{color:#959d99;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 2px 12px;font-size:11px}.tabs>button.tab-active{color:var(--green);border-bottom-color:var(--green);font-weight:600}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.course-card{border:1px solid var(--line);background:#fff;border-radius:11px;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden}.course-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #213b2b0a}.course-cover{color:#2a584c;background:#dce7d5;height:155px;padding:15px;position:relative;overflow:hidden}.cover-1{color:#8e6e45;background:#f0e4d1}.cover-2{color:#76678b;background:#e4dff1}.cover-3{color:#457680;background:#dce9ed}.course-language{letter-spacing:1.2px;z-index:1;background:#ffffff8c;border-radius:4px;padding:5px 7px;font-size:8px;position:relative}.cover-symbol{letter-spacing:-14px;opacity:.7;font-size:85px;top:16px;right:35px;transform:rotate(-12deg)}.cover-caption,.cover-symbol{font-family:monospace;position:absolute}.cover-caption{opacity:.5;font-size:10px;bottom:15px;left:16px}.course-card-body{padding:20px 19px}.course-card h3{margin:10px 0;font-size:16px;line-height:1.4}.course-card p{color:#929994;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:36px;font-size:11px;display:-webkit-box;overflow:hidden}.course-card-bottom{color:#7a877d;border-top:1px solid #eef1ec;justify-content:space-between;align-items:center;margin-top:18px;padding-top:15px;font-size:10px;display:flex}.course-card-bottom>span{align-items:center;gap:6px;display:flex}.status{white-space:nowrap;color:#898777;background:#f1f0e9;border-radius:5px;align-items:center;padding:5px 8px;font-size:9px;line-height:1.2;display:inline-flex}.status-accepted,.status-published{color:#679457;background:#edf5e8}.status-submitted{color:#a68c4a;background:#faf2dd}.status-needs_revision{color:#b87b54;background:#fcf0e8}.status-error,.status-failed{color:#ba6456;background:#faeae7}.status-owner,.status-teacher{color:#4d7763;background:#edf3ed}.status-student{color:#7b7da5;background:#eeeff7}.status-assistant{color:#8b6c9e;background:#f3eef6}.empty{text-align:center;background:#fff;border:1px dashed #dfe5df;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:210px;padding:50px 24px;display:flex}.empty-icon{color:#769362;background:#f0f5ed;border-radius:13px;margin-bottom:17px;padding:13px}.empty h3{margin-bottom:10px;font-size:15px}.empty .muted{max-width:390px;font-size:12px}.empty p{margin-bottom:18px}.footer{border-top:1px solid var(--line);color:#8b968c;justify-content:space-between;padding:20px 42px;display:flex}.footer,.footer .muted{font-size:9px}.field{color:#4d5851;flex-direction:column;gap:8px;margin-bottom:17px;font-size:12px;font-weight:500;display:flex}.field input,.field select,.field textarea,.history-select select{width:100%;color:var(--ink);background:#fff;border:1px solid #dde3dd;border-radius:7px;padding:12px;font-size:12px;font-weight:400}.field textarea{resize:vertical;min-height:90px;line-height:1.7}.field input::placeholder,.field textarea::placeholder{color:#a8afa7}.form{margin-top:22px}.form>.button{margin-top:5px}.form-note{color:#98a094;margin-bottom:15px;font-size:11px;line-height:1.6;display:block}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;background:#12271f66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--line);background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;padding:27px;overflow:auto;box-shadow:0 25px 100px #15231b22}.modal-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-heading h2{margin:0;font-size:20px}.modal>p{margin:14px 0 0}.toast{color:#fff;z-index:100;background:#264c3e;border:1px solid #507261;border-radius:10px;max-width:90vw;padding:15px 22px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #162f2430}.error{color:#a5493d;background:#fdf0ed;border:1px solid #f4d9d2;border-radius:8px;margin-bottom:18px;padding:13px 16px;font-size:12px;line-height:1.5}.loading{color:#78857a;justify-content:center;align-items:center;gap:10px;min-height:220px;font-size:13px;display:flex}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.back-link{color:#859186;gap:7px;margin-bottom:24px}.back-link,.info-strip{align-items:center;font-size:11px;display:flex}.info-strip{color:#8a968b;gap:15px;margin:17px 0 30px}.lesson-list{flex-direction:column;gap:12px;display:flex}.lesson-row{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:20px;padding:21px;display:flex}.lesson-row:hover{border-color:#bbcdb5}.lesson-number{color:#a5b39c;background:#f4f6f0;border-radius:9px;padding:10px;font-size:22px;font-weight:400}.lesson-row>div{flex:1}.lesson-row h3{margin:0 0 5px}.lesson-row p{color:#919b92;margin:0;font-size:12px}.panel{border:1px solid var(--line);background:#fff;border-radius:11px;padding:26px}.panel+.panel{margin-top:20px}.panel-heading{justify-content:space-between;align-items:center;gap:13px;margin-bottom:18px;display:flex}.panel-heading h2{margin:0;font-size:17px}.lesson-layout{grid-template-columns:1.8fr 1fr;gap:23px;display:grid}.lesson-content{min-height:350px}.markdown{color:#535f57;overflow-wrap:anywhere;font-size:14px;line-height:1.9}.markdown h1{margin:25px 0 17px;font-size:25px}.markdown h2{margin:24px 0 15px;font-size:20px}.markdown h3{margin-top:20px;font-size:16px}.markdown p{margin:14px 0}.markdown ol,.markdown ul{list-style:revert;padding-left:22px}.markdown pre{background:#f3f6f1;border-radius:7px;padding:18px;overflow-x:auto}.markdown code{color:#41745a;background:#f1f4ef;border-radius:3px;padding:2px 4px;font-family:monospace;font-size:12px}.markdown pre code{padding:0}.markdown a{color:#358367;text-decoration:underline}.markdown blockquote{color:#819276;border-left:3px solid #bed49d;padding-left:18px}.markdown img{max-width:100%}.assignment-link{border-top:1px solid var(--line);color:#47725b;align-items:center;gap:11px;padding:17px 0;font-size:12px;display:flex}.assignment-link>div{flex:1}.assignment-link .status{margin-top:7px;display:table}.lesson-aside h2{margin:10px 0}.lesson-aside .empty{min-height:140px;margin-bottom:15px;padding:25px 15px}.tip{color:#81946e;align-items:center;gap:17px;padding:25px;display:flex}.tip>span{font-size:40px}.tip p{margin:0;font-size:13px}.notice{color:#868768;background:#f7f8ee;border:1px solid #e6e7d3;border-radius:9px;align-items:flex-start;gap:12px;margin-bottom:24px;padding:15px 18px;display:flex}.notice svg{flex-shrink:0;margin-top:2px}.notice p{margin:0;font-size:11px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#919a8d;background:#fafbf9;font-size:10px;font-weight:500}td,th{padding:17px 23px}td{border-top:1px solid var(--line);color:#6d7a6e}.member-name{color:#344737;gap:11px}.assignment-layout{grid-template-columns:1fr 1.35fr;align-items:start;gap:23px;display:grid}.editor{background:#202c2b;border:1px solid #253b32;border-radius:11px;overflow:hidden}.editor-header{color:#8da296;border-bottom:1px solid #ffffff12;justify-content:space-between;height:45px;padding:0 18px;font-size:10px}.editor-file,.editor-header{align-items:center;display:flex}.editor-file{color:#c2d7be;gap:8px}.editor-file>span{background:#c8e88c;border-radius:50%;width:5px;height:5px}.code-input{resize:vertical;color:#d7e8c7;tab-size:4;white-space:pre;background:#202c2b;border:0;outline:none;width:100%;min-height:330px;padding:23px;font-family:monospace;font-size:13px;line-height:1.8;display:block;overflow:auto}.code-input:focus{outline:0}.editor-footer{color:#7a8f80;background:#1b2625;border-top:1px solid #ffffff0c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:14px 16px;font-size:9px;display:flex}.editor-footer .button{min-height:35px;padding:9px 12px;font-size:10px}.editor-footer .button-outline{color:#c3cdbf;background:0 0;border-color:#4a5c4e}.editor-footer .button-primary{background:var(--lime);color:#314327}.limits{border-top:1px solid var(--line);color:#9aa08d;align-items:center;gap:6px;margin-top:28px;padding-top:18px;font-size:9px;display:flex}.example{border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:14px}.example h4{margin:0 0 12px;font-size:11px}.example small{color:#8a947f;font-size:10px}.example pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f8f3;border-radius:5px;margin:7px 0;padding:9px;font-family:monospace;font-size:12px}.feedback{color:#648152;background:#eef5e9;border:1px solid #dfebd3;border-radius:8px;margin:15px 0;padding:15px;font-size:12px;line-height:1.7}.attempts{padding:20px}.attempt-buttons{flex-wrap:wrap;gap:8px;display:flex}.attempt-buttons>button{border:1px solid var(--line);text-align:left;color:#829079;background:#fafbf9;border-radius:7px;padding:9px 12px;font-size:11px}.attempt-buttons>button.attempt-active{color:#3e6d38;background:#f0f6ea;border-color:#92b083}.attempt-buttons small{opacity:.8;margin-top:4px;font-size:8px;display:block}.attempt-detail{border-top:1px solid var(--line);margin-top:20px}.attempt-detail summary{color:#7b8c71;cursor:pointer;font-size:11px}.attempt-detail pre{white-space:pre-wrap;background:#f3f6f0;border-radius:6px;padding:12px;font-family:monospace;font-size:11px}.review-comment{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.review-comment p{white-space:pre-wrap;margin:10px 0;font-size:13px}.review-comment small{color:#98a28d;font-size:9px}.review-layout{align-items:start;gap:23px;display:grid}.review-list .empty{padding:30px 18px}.submission-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;width:100%;margin-bottom:11px;padding:17px}.submission-card:hover,.submission-selected{border-color:#85a47b}.submission-selected{box-shadow:inset 3px 0 #527d49}.submission-card>div{align-items:center;gap:10px;display:flex}.attempt-number{color:#99a090;margin-left:auto;font-size:10px}.submission-card h3{margin:15px 0;font-size:12px}.submission-card small{color:#9aa291;margin-left:auto;font-size:9px}.review-detail .panel{padding:23px}.review-source{color:#cee0b9;white-space:pre-wrap;overflow-wrap:anywhere;background:#202e28;border:1px solid #304537;border-radius:8px;min-height:160px;padding:22px;font-family:monospace;font-size:12px;line-height:1.8}.history-select{color:#86937e;align-items:center;gap:8px;margin:20px 0;font-size:10px;display:flex}.history-select select{width:auto;margin-left:auto;padding:8px;font-size:10px}.review-actions{flex-wrap:wrap;gap:8px;display:flex}.review-actions .button{padding:10px 12px;font-size:10px}.review-placeholder{color:#9ba990;text-align:center;border:1px dashed #dbe4d4;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:380px;padding:75px 20px;display:flex}.review-placeholder h3{color:#5e7457;margin-top:22px;font-size:15px}.profile-card{text-align:center;max-width:600px;padding:40px}.avatar-large{width:70px;height:70px;margin-bottom:20px;font-size:28px}.profile-card .muted{margin-top:16px}.next-link{color:var(--green);align-items:center;gap:10px;font-size:12px;display:inline-flex}.mobile-toggle{display:none}.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}.login-page{grid-template-columns:repeat(2,minmax(0,1fr));min-height:100vh;display:grid}.login-story{color:#f6f8ee;background:#23493e;flex-direction:column;padding:45px 55px;display:flex;position:relative;overflow:hidden}.login-story .brand-icon{color:#28503d;background:#d5ecaa}.login-story .brand-dot{background:#d5ecaa}.login-story-body{z-index:1;margin:auto 0;padding:70px 0;position:relative}.login-tag{letter-spacing:2px;color:#b8d398;font-size:9px}.login-story h1{letter-spacing:-2px;margin:24px 0;font-size:clamp(30px,3.5vw,54px);font-weight:500;line-height:1.25}.login-story h1>span{color:var(--lime)}.login-story p{color:#adbbab;font-size:13px}.code-card{background:#1e3b32aa;border:1px solid #75977944;border-radius:11px;max-width:420px;margin-top:38px;transform:rotate(-2deg)}.code-card>div{color:#8bab91;border-bottom:1px solid #75977933;align-items:center;gap:8px;padding:12px 16px;font-size:9px;display:flex}.code-card-dot{background:var(--lime);border-radius:50%;width:5px;height:5px;margin-left:auto}.code-card pre{color:#cad6b6;padding:10px 22px 20px;font-family:monospace;font-size:14px;line-height:2}.code-purple{color:#bcadd5}.code-lime{color:var(--lime)}.code-comment{color:#688b73;font-size:11px}.login-footnote{letter-spacing:1px;color:#9bb194;font-size:10px}.login-form-section{background:#fafbf8;flex-direction:column;justify-content:center;align-items:center;padding:60px 45px;display:flex}.login-form{width:100%;max-width:370px;margin:auto}.login-form h2{letter-spacing:-1px;margin:16px 0;font-size:31px;font-weight:500}.login-form .muted{margin-bottom:32px;font-size:12px;line-height:1.8}.login-form .form>.button{width:100%;padding:14px}.login-form .field{margin-bottom:22px}.login-form input{padding:14px}.lime-dot{color:#7ea35a}.login-register{border-top:1px solid var(--line);color:#9aa18f;justify-content:center;gap:10px;margin-top:27px;padding-top:25px}.login-register,.login-register button{align-items:center;font-size:11px;display:flex}.login-register button{color:var(--green);background:0 0;border:0;gap:5px}.login-local{color:#a5ac9d;margin-top:45px;font-size:9px}.auth-error{max-width:500px;margin:80px auto;padding:25px}@media (min-width:1450px){.main-content{padding-top:45px}.welcome-banner{min-height:240px;padding:35px 40px}.welcome-banner h2{font-size:30px}.course-cover{height:180px}.cover-symbol{font-size:110px}.course-card h3{font-size:18px}}@media (max-width:1150px){.sidebar{width:215px;padding-left:17px;padding-right:17px}.main-wrap{width:calc(100% - 215px);margin-left:215px}.main-content{padding:30px 26px}.footer,.topbar{padding-left:26px;padding-right:26px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{gap:9px;padding:15px}.stat-card strong{flex-wrap:wrap;font-size:23px}.stat-card small{font-size:8px}.banner-art{min-width:185px}.art-brace{font-size:110px}.art-code{width:60px}.review-layout{grid-template-columns:250px minmax(0,1fr)}.assignment-layout{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.login-story{padding:40px 35px}}@media (max-width:800px){.sidebar{width:245px;transition:transform .2s;transform:translate(-100%);box-shadow:10px 0 40px #152c1820}.sidebar-open{transform:translate(0)}.main-wrap{width:100%;margin-left:0}.mobile-toggle{color:#647f5b;background:0 0;border:0;padding:0 12px 0 0;display:inline-flex}.topbar{height:63px}.welcome-banner h2{font-size:24px}.stats-grid{gap:9px}.stat-card{padding:14px 10px}.stat-icon{display:none}.lesson-layout{grid-template-columns:1fr}.review-layout{grid-template-columns:220px minmax(0,1fr)}.review-actions{flex-direction:column}.login-page{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.login-story{padding:20px 24px}.login-footnote,.login-story-body{display:none}.login-form-section{min-height:0;padding:35px 25px}.local-badge{font-size:8px}}@media (max-width:560px){.main-content{padding:25px 18px}.topbar{padding:0 18px}.breadcrumb,.slash{display:none}.topbar strong{text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.welcome-banner{padding:25px}.welcome-banner h2{font-size:22px}.banner-art{display:none}.stats-grid{margin-top:16px;margin-bottom:28px}.stat-card>div>span{font-size:9px}.stat-card strong{font-size:21px;display:block}.stat-card small{margin-top:8px;font-size:8px;line-height:1.4;display:block}.stat-card{padding:13px 10px}.course-grid{grid-template-columns:1fr}.course-cover{height:165px}.section-heading{flex-wrap:wrap}.search{width:100%}.page-heading{gap:17px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.footer{gap:12px;padding:18px}.footer,.footer .muted{font-size:8px}.review-layout{grid-template-columns:1fr}.review-list{max-height:350px;overflow:auto}.review-placeholder{min-height:200px}.panel{padding:20px}.lesson-row{gap:11px;padding:15px}.lesson-number{padding:9px;font-size:17px}.lesson-row h3{font-size:13px}.lesson-row p{font-size:10px}.lesson-row .status{font-size:8px}.lesson-row>svg{display:none}.editor-footer .actions{width:100%}.editor-footer .button{flex:1;font-size:9px}.tabs{gap:16px}.tabs>button{font-size:10px}.history-select{flex-wrap:wrap}.history-select select{width:100%;margin:0}.modal{padding:21px}.modal-backdrop,.notice{padding:13px}.notice p{font-size:10px}.code-input{font-size:12px}.login-form h2{font-size:28px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.mobile-close{display:none}@media (max-width:800px){.mobile-close{color:#6b7f61;background:0 0;border:0;padding:7px;display:flex;position:absolute;top:16px;right:15px}}body{font-size:14px}.sidebar{width:260px}.main-wrap{width:calc(100% - 260px);margin-left:260px}.main-content{min-width:0;max-width:1440px;padding:34px 36px 46px}.topbar{padding:0 36px}.topbar,.topbar strong{font-size:13px}.brand{font-size:24px}.eyebrow,.nav-title,.page-heading .eyebrow,.tiny-label{font-size:10px;line-height:1.6}.workspace-switch .tiny-label{font-size:9px}.workspace-switch select{min-height:42px;font-size:13px}.text-button{min-height:30px;font-size:12px}.nav-link{min-height:46px;padding:13px 12px;font-size:14px}.sidebar-note p{font-size:12px}.sidebar-user strong{font-size:13px}.sidebar-user small{font-size:11px}.button{min-height:42px;font-size:13px}.button-sm{font-size:12px}.button-icon,.button-sm{min-height:36px}.page-heading{flex-wrap:wrap;align-items:flex-start}.page-heading>div:first-child{min-width:0;max-width:100%}.page-heading h1{overflow-wrap:anywhere}.page-heading p{max-width:720px;font-size:14px}.page-heading .actions{justify-content:flex-end}.welcome-banner{min-height:190px;padding:24px 28px}.welcome-banner h2{font-size:25px}.welcome-banner p{max-width:470px;font-size:13px}.banner-tag{font-size:10px}.banner-link{font-size:13px}.stats-grid{margin:20px 0 28px}.stat-card>div>span{font-size:12px}.stat-card strong{flex-wrap:wrap;font-size:27px}.stat-card small{font-size:11px;line-height:1.4}.search,.section-heading p{font-size:13px}.search{width:220px;min-height:42px}.tabs{white-space:nowrap;gap:22px;overflow-x:auto}.tabs>button{min-height:42px;font-size:13px}.course-card h3{font-size:18px}.course-card p{min-height:42px;font-size:13px}.course-language{font-size:10px}.course-card-bottom,.cover-caption{font-size:12px}.status{padding:5px 9px;font-size:11px;line-height:1.4}.back-link{min-height:26px;font-size:13px}.info-strip{flex-wrap:wrap;font-size:13px}.panel{min-width:0}.panel-heading{flex-wrap:wrap}.panel-heading h2{font-size:18px}.field{font-size:13px}.field input,.field select,.field textarea{max-width:100%;min-height:44px;font-size:14px}.field input[type=file]{padding:10px;font-size:12px}.field input[type=file]::file-selector-button{color:#3f6243;background:#f0f5ed;border:1px solid #dce4d9;border-radius:5px;margin-right:9px;padding:7px}.form-note{font-size:12px}.error,.notice p{font-size:13px}.empty h3{font-size:17px}.empty .muted{font-size:13px}.footer,.footer .muted{font-size:11px}.footer{gap:20px}.lesson-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}.lesson-aside .muted{font-size:13px}.assignment-link{font-size:14px}.assignment-link>div{min-width:0}.assignment-link strong{overflow-wrap:anywhere}.assignment-layout{grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);gap:22px}.editor-column{min-width:0}.editor-header{gap:10px;height:48px;font-size:12px}.editor-file{white-space:nowrap}.editor-file small{color:#9aac9e;margin-left:8px}.editor-header .button{color:#b5c9b6;font-size:11px}.editor-loading{color:#b5c9b6;justify-content:center;align-items:center;height:360px;font-size:13px;display:flex}.editor-footer{gap:13px;padding:15px;font-size:11px}.editor-footer .button{min-height:40px;font-size:12px}.code-input{min-height:360px;font-size:14px}.monaco-editor{border-radius:0}.editor-column>section+section{margin-top:18px}.console-panel{padding:20px}.console-panel .field{margin-bottom:0}.console-output{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f0;border:1px solid #e5e9df;border-radius:7px;max-height:260px;padding:14px;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.grading-result{color:#516348;background:#f5f8f1;border:1px solid #e3e8dd;border-radius:9px;margin:16px 0;padding:16px}.grading-result p{margin:9px 0;font-size:13px;line-height:1.7}.grading-result small{font-size:11px}.grading-failed{color:#87714b;background:#fcf7ee;border-color:#eee1c9}.grading-result .panel-heading{margin-bottom:8px}.check-row,.grading-result .panel-heading strong{font-size:13px}.check-row{align-items:flex-start;gap:8px;margin:10px 0;display:flex}.check-row svg{flex-shrink:0;margin-top:2px}.attempt-buttons>button{padding:11px 13px;font-size:13px}.attempt-buttons small{font-size:10px}.attempt-detail summary{font-size:13px}.attempt-detail pre{overflow-wrap:anywhere;max-height:300px;font-size:13px;overflow:auto}.state-caption{margin:20px 0 12px;font-size:12px}.feedback-heading{margin:24px 0 10px}.review-comment p{font-size:14px}.limits,.review-comment small{font-size:11px}.limits{flex-wrap:wrap;align-items:flex-start;gap:7px;margin-bottom:18px;line-height:1.6}.limits svg{flex-shrink:0}.example h4{font-size:13px}.example small{font-size:12px}.example pre{font-size:13px}.rule-row{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:15px 0;display:flex}.rule-row p,.rule-row strong{font-size:13px}.rule-row p{color:#87927d;margin:5px 0}.review-layout{grid-template-columns:300px minmax(0,1fr)}.submission-card strong{font-size:13px}.submission-card h3{overflow-wrap:anywhere;font-size:14px}.submission-card small{font-size:11px}.attempt-number{font-size:12px}.review-source{max-height:430px;font-size:13px;overflow:auto}.history-select,.history-select select,.review-actions .button{font-size:12px}.review-placeholder p{font-size:14px}.review-placeholder h3{font-size:17px}.history-select select{max-width:100%}.table-wrap th{font-size:12px}.table-wrap td{font-size:13px}.materials-section{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.materials-section h2{font-size:18px}.material-list{flex-direction:column;gap:10px;display:flex}.material-row{border:1px solid var(--line);color:#4e7055;border-radius:8px;align-items:center;gap:12px;padding:13px;display:flex}.material-row:hover{background:#f6f9f2}.material-row>div{flex:1;min-width:0}.material-row strong{overflow-wrap:anywhere;font-size:13px;display:block}.material-row small{color:#87947e;overflow-wrap:anywhere;margin-top:6px;font-size:11px;display:block}.material-icon{background:#f0f5eb;border-radius:7px;flex-shrink:0;padding:10px;display:flex}.download-label{font-size:12px}.lesson-completion{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding-top:22px;display:flex}.lesson-completion strong{font-size:14px}.lesson-completion p{color:#87947b;margin:8px 0 0;font-size:12px}.profile-summary{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:28px;padding:30px;display:flex}.profile-identity{align-items:center;gap:20px;display:flex}.profile-identity .avatar{margin:0}.profile-identity h2,.profile-identity p{margin:5px 0}.profile-xp{color:#527142;flex-wrap:wrap;align-items:center;gap:10px;min-width:250px;display:flex}.profile-xp strong{font-size:25px}.profile-xp span{margin-left:auto;font-size:12px}.profile-xp progress,progress{width:100%}progress{appearance:none;background:#edf1e7;border:0;border-radius:9px;height:9px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#edf1e7;border-radius:9px}progress::-webkit-progress-value{background:#8eae65;border-radius:9px}progress::-moz-progress-bar{background:#8eae65;border-radius:9px}.progress-courses{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.progress-course h3{margin:0}.progress-course p{color:#88917f;margin-top:15px;font-size:12px}.progress-course .next-link{font-size:13px}.progress-courses .panel{margin:0}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.achievement-card{color:#7c9256;background:#f2f6e9;border:1px solid #e5edda;border-radius:10px;align-items:center;gap:18px;padding:23px;display:flex}.achievement-card h3{color:#4e6741;margin:0 0 6px}.achievement-card p{margin:0;font-size:12px}.activity-panel{margin-top:24px}.activity-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 0;font-size:13px;display:flex}.activity-row small{color:#929b86;margin-top:6px;font-size:11px;display:block}.activity-row strong{color:#728f51}.course-progress{margin:15px 0}.course-progress p{min-height:0;margin:8px 0;font-size:11px}.toast{justify-content:space-between;align-items:center;gap:16px;width:max-content;max-width:min(520px,100vw - 32px);padding:14px 18px;font-size:13px;line-height:1.6;display:flex}.toast button{color:#d6e4c6;background:0 0;border:0;padding:3px;display:flex}.mobile-backdrop{display:none}.load-more{justify-content:center;margin:24px 0;display:flex}.login-form .field input,.login-form .muted{font-size:14px}.login-form .eyebrow{font-size:10px}.login-register,.login-register button{font-size:13px}.login-local{font-size:11px}.login-story p{font-size:15px}.login-tag{font-size:10px}.login-footnote{font-size:12px}@media (max-width:1150px){.sidebar{width:225px}.main-wrap{width:calc(100% - 225px);margin-left:225px}.main-content{padding:28px 24px}.topbar{padding:0 24px}.assignment-layout{grid-template-columns:minmax(0,1fr)}.lesson-layout{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}.review-layout{grid-template-columns:260px minmax(0,1fr)}.stat-card strong{display:block}.stat-card small{margin-top:7px;font-size:11px;display:block}.stat-card>div>span{font-size:11px}.welcome-banner p{max-width:360px}}@media (max-width:800px){.sidebar{width:260px}.main-wrap{width:100%;margin:0}.mobile-backdrop{z-index:25;background:#142a1c55;border:0;display:block;position:fixed;inset:0}.mobile-close{min-height:40px}.main-content{padding:26px 22px}.lesson-aside,.lesson-layout{grid-template-columns:minmax(0,1fr)}.lesson-aside{display:grid}.profile-summary{flex-wrap:wrap;align-items:flex-start}.profile-xp{flex:1}.review-layout{grid-template-columns:250px minmax(0,1fr)}.achievement-grid,.progress-courses{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.main-content{padding:22px 16px}.topbar{height:64px;padding:0 16px}.topbar strong{max-width:175px;font-size:12px}.local-badge{padding:6px 8px;font-size:9px}.page-heading{gap:16px;margin-bottom:22px}.page-heading h1{font-size:27px;line-height:1.25}.page-heading p{font-size:13px}.page-heading .actions{justify-content:flex-start;gap:8px}.page-heading .button{padding:10px 12px;font-size:12px}.welcome-banner{min-height:0;padding:22px}.welcome-banner h2{font-size:23px}.welcome-banner p{font-size:13px}.banner-tag{font-size:9px}.stats-grid{gap:8px}.stat-card{min-width:0;padding:13px 10px}.stat-card>div>span{font-size:10px}.stat-card strong{font-size:23px}.stat-card small{font-size:10px;line-height:1.5}.search{width:100%}.course-cover{height:150px}.tabs{gap:18px}.tabs>button{font-size:12px}.lesson-row{flex-wrap:wrap;gap:10px;padding:14px}.lesson-row>div{min-width:150px}.lesson-row h3{font-size:15px}.lesson-row p{font-size:12px}.lesson-row .status{font-size:10px}.info-strip{gap:12px;font-size:12px}.panel{padding:18px}.panel-heading h2{font-size:17px}.editor-footer .actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.editor-footer .button{min-height:42px;padding:10px 8px;font-size:11px}.editor-header{padding:0 12px}.editor-header .button{padding:7px;font-size:10px}.editor-file{font-size:12px}.editor-file small{margin:0;font-size:10px}.editor-column .monaco-editor{font-size:14px}.notice{padding:14px}.notice p{font-size:12px}.limits{font-size:11px}.review-layout{grid-template-columns:minmax(0,1fr)}.review-list{max-height:330px}.review-actions{flex-direction:column;display:flex}.review-actions .button{min-height:44px;font-size:13px}.history-select select{width:100%;margin:0}.lesson-completion{flex-direction:column;align-items:flex-start}.lesson-completion .button{width:100%}.material-row{gap:9px;padding:12px}.download-label{font-size:11px}.material-icon{padding:8px}.profile-summary{padding:22px}.profile-identity{gap:15px}.profile-xp{width:100%;min-width:0}.footer{flex-wrap:wrap;padding:18px 16px}.footer,.footer .muted{font-size:9px}.modal{padding:20px}.modal-backdrop{padding:12px}.modal .button{min-height:44px}.field input,.field select,.field textarea{font-size:16px}.attempt-buttons>button{font-size:12px}.attempt-buttons small{font-size:9px}}@media (max-width:800px){.profile-summary{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.profile-identity,.profile-identity>div{min-width:0}.profile-identity p{overflow-wrap:anywhere;font-size:13px}.profile-xp{flex:none;grid-template-columns:26px minmax(0,1fr);gap:10px;width:100%;min-width:0;display:grid}.profile-xp>span{grid-column:1/-1;margin:0;line-height:1.5}.profile-xp>progress{grid-column:1/-1;width:100%}}.public-page{color:#243b32;background:#f8faf7;flex-direction:column;min-height:100vh;display:flex}.public-footer,.public-nav{justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1200px;margin:0 auto;padding:28px 32px;display:flex}.public-nav nav{flex-wrap:wrap;align-items:center;gap:25px;font-size:13px;display:flex}.public-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:36px 32px 70px}.public-footer{border-top:1px solid var(--line);flex-wrap:wrap;font-size:12px}.public-hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:70px;padding:36px 0 70px;display:grid}.public-hero h1{letter-spacing:-3px;margin:25px 0;font-size:clamp(48px,6.5vw,78px);line-height:1.06}.public-hero h1 em{color:#6e8c45;font-style:normal}.public-hero p{color:#62736a;max-width:470px;font-size:17px}.public-hero .next-link{margin-top:22px}.hero-demo{color:#f3f7ec;background:#233f35;border-radius:18px;min-width:0;overflow:hidden;transform:rotate(2deg);box-shadow:18px 20px #e6eddc}.demo-bar{border-bottom:1px solid #ffffff19;align-items:center;gap:9px;padding:20px 23px;font-size:12px;display:flex}.demo-bar>span:first-child{background:#d3ee9b;border-radius:50%;width:8px;height:8px}.demo-bar>span:last-child{opacity:.5;margin-left:auto;font-size:9px}.hero-demo pre{margin:0;padding:30px 24px;font-size:14px;line-height:2;overflow:auto}.hero-demo pre>span{color:#a7c18e}.demo-feedback{color:#d6f48b;background:#355648;border-radius:9px;align-items:center;gap:10px;margin:0 22px;padding:18px;font-size:12px;display:flex}.hero-demo>small{opacity:.6;padding:18px 24px;display:block}.public-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0 60px;display:grid}.public-features .panel{margin:0;padding:27px}.public-features h2{margin:18px 0 12px;line-height:1.35}.public-features p{color:#64756b;font-size:14px}.public-cta{background:#e9f0dd;border-radius:14px;justify-content:space-between;align-items:center;gap:30px;padding:32px;display:flex}.public-cta p{max-width:580px;margin:0;font-size:14px}.public-narrow{max-width:740px;margin:20px auto}.public-narrow>.panel{margin:30px 0}.help-list{margin:35px 0}.help-list details{border-bottom:1px solid #dfe6db;padding:20px 0}.help-list summary,details summary{cursor:pointer;font-weight:600;line-height:1.6}.help-list details p{margin:0;padding:18px 0 0}.public-columns{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);align-items:start;gap:36px;margin-top:40px;display:grid}.public-bio,.public-course-heading{max-width:750px}.public-bio{white-space:pre-wrap}.public-course-card p{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.public-request p{font-size:14px}.public-main .panel{overflow-wrap:anywhere}.builder-list{gap:18px;margin:24px 0;display:grid}.builder-question{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:20px}.builder-question legend{padding:0 6px;font-weight:600}.choice-row{align-items:center;gap:12px;padding:12px 0;line-height:1.5;display:flex}.choice-row input:is([type=radio],[type=checkbox]){width:18px;height:18px;accent-color:var(--green);flex-shrink:0}.builder-question .field{margin-bottom:14px}.quiz-answer{border:1px solid #d8e1d5;border-radius:7px;width:100%;padding:13px}.calendar-list{gap:16px;margin-top:26px;display:grid}.session-card{grid-template-columns:130px minmax(0,1fr);align-items:start;gap:24px;display:grid}.session-time{color:var(--green);font-size:22px;font-weight:600}.session-time small{margin-top:8px;font-size:12px;font-weight:400;display:block}.session-card.cancelled{opacity:.65}.calendar-filters{flex-wrap:wrap;align-items:end;display:flex}.calendar-filters .field{max-width:230px}@media (max-width:800px){.public-nav{align-items:flex-start}.public-nav nav{justify-content:flex-end;gap:16px}.public-hero{grid-template-columns:minmax(0,1fr);gap:34px}.hero-demo{max-width:600px;transform:none}.public-features{grid-template-columns:1fr;gap:16px}.public-cta{flex-direction:column;align-items:flex-start}.public-columns{grid-template-columns:minmax(0,1fr)}.public-hero h1{font-size:60px}.sidebar{overflow-y:auto}.sidebar-note{display:none}.sidebar-user{margin-top:auto}}@media (max-width:500px){.public-footer,.public-main,.public-nav{padding:22px 18px}.public-nav{flex-direction:column;gap:18px}.public-nav nav{justify-content:flex-start;gap:15px}.public-nav nav>a{font-size:12px}.public-hero{padding:16px 0 35px}.public-hero h1{letter-spacing:-2px;font-size:clamp(36px,11.3vw,52px)}.public-hero p{font-size:16px}.hero-demo pre{padding:24px 15px;font-size:12px}.hero-demo{box-shadow:7px 10px #e6eddc}.public-cta{padding:23px}.public-cta .button,.public-page .actions .button{white-space:normal;text-align:center;max-width:100%}.session-card{grid-template-columns:minmax(0,1fr);gap:18px}.builder-question{padding:16px}.public-features{margin-bottom:35px}}.editor-status{background:#f0f6e9;border:1px solid #dbe5d5;border-radius:9px;margin:0 0 20px;padding:14px 18px;font-size:13px;line-height:1.5}.editor-number-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.editor-actions{z-index:5;border:1px solid var(--line);background:#ffffffed;border-radius:10px;padding:14px;position:sticky;bottom:12px;box-shadow:0 4px 20px #213b2b12}.outline-section{margin:28px 0}.outline-row{border:1px solid var(--line);background:#fff;border-radius:10px;margin:10px 0;padding:16px}.outline-link{align-items:center;gap:18px;min-width:0;padding:4px 0 14px;display:flex}.outline-link>div{overflow-wrap:anywhere;flex:1}.outline-link h3{margin:0 0 6px}.outline-link p{color:var(--muted);margin:0;font-size:13px}.outline-row select{border:1px solid var(--line);background:#fff;border-radius:7px;max-width:100%;min-height:38px;padding:8px;font-size:13px}.notification-card h2{margin:14px 0 8px}.notification-card small{color:var(--muted)}.notification-unread{border-left:4px solid #70964f}.deadline-panel{margin:20px 0}.deadline-panel small{line-height:1.7;display:block}.deadline-overdue{background:#fff9ee;border-color:#e8d9b6}.homework-summary{margin:24px 0}.homework-summary small{color:var(--muted);margin-top:8px;font-size:12px;display:block}.homework-summary .assignment-link{justify-content:space-between;gap:20px}.late-label{color:#986243;font-size:12px}.invitation-row{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding:18px 0;display:flex}.builder-question,.invitation-row{overflow-wrap:anywhere}.builder-question legend{max-width:100%}@media (max-width:600px){.editor-number-fields{grid-template-columns:minmax(0,1fr)}.editor-actions{padding:10px;bottom:6px}.editor-actions .button{white-space:normal}.outline-link{flex-wrap:wrap;gap:12px}.outline-link>div{min-width:170px}.homework-summary .assignment-link{flex-wrap:wrap}.deadline-panel .panel-heading{flex-wrap:wrap;align-items:flex-start}.tabs{flex-wrap:wrap;gap:14px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.ops-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.ops-metrics>div{background:#f5f8f0;border-radius:8px;padding:16px}.ops-metrics span{color:var(--muted);font-size:13px;line-height:1.5;display:block}.ops-metrics strong{margin-top:12px;font-size:24px;display:block}.page-heading>div,.panel{min-width:0}.page-heading h1,.page-heading p,.panel p{overflow-wrap:anywhere}@media (max-width:650px){.ops-metrics{grid-template-columns:minmax(0,1fr)}}.source-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:24rem;overflow:auto}.review-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.review-comparison .review-source{max-height:30rem;overflow:auto}.study-practice{min-width:0}.study-practice .grading-result pre{max-height:14rem;overflow:auto}@media (max-width:720px){.review-comparison{grid-template-columns:minmax(0,1fr)}}.python-editor-surface{width:100%;height:clamp(240px,45svh,440px)}@media (max-width:600px){.python-editor-surface{height:clamp(215px,38svh,310px)}}.account-verification,.course-template-panel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;display:flex}.course-template-panel{margin-bottom:20px}.account-verification>div,.course-template-panel>div{flex:260px;min-width:0}.account-verification p,.course-controls h2,.course-template-panel p,.teach-spaces h2{margin:0}.account-verification p,.course-template-panel p{color:var(--muted);margin-top:6px}.teach-spaces{margin-top:24px}.course-controls .actions,.teach-spaces .actions{margin-top:14px}.teach-spaces .button{white-space:normal;text-align:left;overflow-wrap:anywhere}.course-controls{margin:18px 0 24px;padding:16px 20px}.course-controls h2{font-size:16px}.study-page{min-width:0;max-width:980px;margin-inline:auto}.study-progress progress{width:100%;margin:8px 0 16px;display:block}.study-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.study-steps button{white-space:normal;text-align:center;min-width:0}.study-lesson .markdown>h2{margin-top:0}.study-lesson .actions,.study-practice .actions{margin-block:12px}.study-practice .editor{margin-block:16px;overflow:hidden}.study-practice .grading-result,.study-practice details{margin-block:16px}.python-output-heading,.python-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.python-status{color:#52615a;margin-bottom:12px;font-size:13px}.python-status button{color:#22584b;background:0 0;border:0;padding:4px 0;text-decoration:underline}.python-ready{color:#22584b}.python-error{color:#93382b}.python-output{border:1px solid var(--line);background:#f5f7f4;border-radius:9px;min-width:0;margin-top:14px;padding:14px}.python-output p{margin:6px 0 0;font-size:13px}.python-output .console-output{color:#243b31;background:#fff;margin:10px 0 0}@media (max-width:850px){.study-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.account-verification,.course-controls,.course-template-panel,.study-page .panel{padding:16px}.study-practice .editor-header{flex-wrap:wrap;gap:6px}.account-verification>.button{white-space:normal;max-width:100%}}.editor-limit{color:#93382b;background:#fff1e9;margin:0;padding:10px 14px}@media (max-width:600px){.page-heading .actions{justify-content:flex-start}.course-controls .actions>.button{white-space:normal;text-align:left}}.calendar-filters{align-items:flex-end;gap:12px;margin-block:0 20px;padding:14px 16px}.calendar-filters .field{min-width:0;margin:0}.calendar-filters .button,.calendar-filters .field input,.calendar-filters .field select{height:44px;min-height:44px}.calendar-navigation{gap:6px}.main-wrap:has(.main-content>.course-design){background:#f6f7f3}.course-design{--ink:#232c29;--muted:#56645d;--line:#dce4dc;--green:#245a4c;--course-tint:#f0f5ee;--course-padding:24px;color:var(--ink);min-width:0;max-width:1080px;margin-inline:auto;font-family:Manrope,system-ui,sans-serif}.course-design>.back-link{color:var(--muted);margin-bottom:12px;font-weight:650}.course-design>.back-link:hover{color:var(--green)}.course-design .course-controls,.course-design .journal-table-wrap,.course-design .outline-section,.course-hero{border:1px solid var(--line);background:var(--paper);border-radius:16px;box-shadow:0 2px 4px #243b2c08}.course-hero{padding:var(--course-padding);background:linear-gradient(115deg,var(--paper) 52%,#eff5ea 100%);border-top:3px solid #729d78;margin-bottom:24px}.course-hero .page-heading{margin:0}.course-hero .page-heading h1{letter-spacing:-.045em;margin-bottom:8px;font-size:clamp(1.875rem,3.2vw,2.75rem);font-weight:800;line-height:1.13}.course-hero .page-heading p{max-width:64ch;margin:0;font-size:15px}.course-hero .eyebrow{color:var(--green);overflow-wrap:anywhere;margin-bottom:10px;font-size:11px;font-weight:800}.course-hero-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-top:20px;padding-top:16px;display:flex}.course-hero-footer .info-strip{color:var(--muted);gap:12px;margin:0;font-weight:650}.course-lesson-count{align-items:center;gap:6px;display:inline-flex}.course-design .actions{gap:8px}.course-design .actions :is(.button,select){border-radius:9px;max-width:100%;min-height:40px;font-size:13px}.course-design .actions .button{white-space:normal;overflow-wrap:anywhere;padding:8px 12px}.course-design .actions .button-outline{background:var(--paper);color:#2c4c3c;border-color:#d5e0d7}.course-design .actions .button-outline:hover{background:var(--course-tint);border-color:#aabdad}.course-design .course-controls{padding:var(--course-padding);margin:0 0 28px}.course-design .course-controls h2{font-size:17px;font-weight:750}.course-design .course-controls .actions{margin-top:12px}.course-outline-heading{gap:12px 20px;margin:0 0 16px}.course-outline-heading h2{margin:0;font-size:23px;font-weight:800}.course-outline-heading p{margin-bottom:0}.course-design .outline-section{margin:0 0 16px}.outline-section-heading{padding:14px var(--course-padding);background:var(--course-tint);border-radius:15px 15px 0 0;gap:10px 16px;margin:0}.outline-module-title{align-items:center;gap:12px;min-width:0;display:flex}.outline-section-heading h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:19px;font-weight:800}.outline-module-number{color:#2b5a46;font-variant-numeric:tabular-nums;background:#e3eee0;border:1px solid #cdddcd;border-radius:11px;flex:0 0 42px;place-items:center;height:42px;font-size:17px;font-weight:800;display:grid}.outline-row{padding:12px var(--course-padding);border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;margin:0;display:grid}.outline-row:last-child{border-radius:0 0 15px 15px}.outline-row:focus-within,.outline-row:hover{background:#f9fbf7}.outline-empty{padding:12px var(--course-padding);margin:0}.outline-link{flex-wrap:nowrap;gap:10px;padding:0}.outline-link>div{min-width:0}.outline-link h3{margin:0;font-size:15px;font-weight:750}.outline-link:hover h3{color:var(--green);text-underline-offset:3px;text-decoration:underline}.outline-link p{margin-top:4px}.outline-number{background:var(--course-tint);height:28px;color:var(--green);border-radius:8px;flex:0 0 28px;place-items:center;font-size:12px;font-weight:750;display:grid}.outline-lesson-actions select{min-width:0;max-width:min(11rem,100%)}.topbar>div{min-width:0}.topbar-workspace{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar .breadcrumb,.topbar .local-badge,.topbar .mobile-toggle{flex-shrink:0}@media (max-width:1100px){.outline-row{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.calendar-filters .field{flex:150px;max-width:none}.calendar-navigation{flex:1 0 100%}.calendar-navigation .button{flex:auto;padding-inline:10px}.course-outline-heading,.outline-section-heading{flex-wrap:wrap;align-items:flex-start}.course-design{--course-padding:16px}.course-hero{margin-bottom:16px}.course-hero-footer{margin-top:16px;padding-top:12px}.course-design .actions :is(.button,select){min-height:44px}.course-design .course-controls .actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.course-design .course-controls .actions>.button{text-align:center}.outline-module-number{flex-basis:36px;height:36px}}.study-export{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.personal-programs{gap:12px;padding:0;list-style:none;display:grid}.personal-programs li{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.screen-icon,.wizard-step-heading>span{width:48px;height:48px;color:var(--green);background:#e9f1e7;border-radius:12px;flex:none;place-items:center;display:grid}.verification-notice{color:#34463b;background:#f4f7ed;border-color:#dce6d4;align-items:start}.verification-notice>div{min-width:0}.verification-reminder{color:#405340}.verification-reminder p{font-size:13px;line-height:1.55}.verification-notice h2{margin:0 0 5px;font-size:16px}.showcase-review-note p,.verification-notice p{overflow-wrap:anywhere;font-size:14px;line-height:1.55}.showcase-review-note .actions,.showcase-review-note .button,.verification-notice .actions{margin-top:12px}.verification-notice [role=alert],.verification-notice [role=status]{margin-top:10px}#email{margin-block:20px;scroll-margin-top:16px}#email .verification-notice{margin-bottom:0}.login-form-section{padding:clamp(24px,5vw,64px) clamp(16px,4vw,56px)}.login-form{border:1px solid var(--line);background:#fff;border-radius:16px;max-width:440px;padding:clamp(20px,3vw,36px);box-shadow:0 12px 36px #223b2b08}.login-form .muted{margin:0 0 24px}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:12px;display:flex}.auth-links a{padding-block:6px}.login-register{text-align:center;flex-wrap:wrap;margin-top:20px;padding-top:18px}.login-local{margin-top:20px}.recovery-page{max-width:500px;margin:clamp(16px,5vh,64px) auto}.recovery-card{border-radius:16px;padding:clamp(22px,4vw,38px);box-shadow:0 12px 36px #223b2b08}.recovery-card .screen-icon{margin-bottom:20px}.catalog-heading h1,.knowledge-heading h1,.recovery-card h1,.teach-page h1{letter-spacing:-.035em;margin:10px 0 12px;font-size:clamp(28px,3.5vw,42px);line-height:1.15}.recovery-card h1{font-size:clamp(26px,3.5vw,34px)}.recovery-content{justify-items:start;gap:14px;display:grid}.recovery-content p{margin:0}.recovery-content .form{width:100%}.recovery-footer{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.teach-page{max-width:760px;margin-block:28px 0}.catalog-heading p,.knowledge-heading p,.teach-page>p{max-width:68ch;color:var(--muted);margin:0}.teach-page>.actions,.teach-page>.verification-notice{margin-top:20px}.teach-page>.panel{margin-block:22px}.catalog-section{gap:14px;margin-top:clamp(24px,4vw,42px);display:grid}.catalog-copy h3,.catalog-section h2{margin:0}.catalog-featured{background:linear-gradient(110deg,#f3f8ee,#fff 65%);border-color:#dbe6d7;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,2vw,24px);display:grid}.catalog-copy{gap:7px;display:grid}.catalog-copy .eyebrow{margin:0}.catalog-copy h3{font-size:22px}.catalog-copy p,.catalog-toolbar p{color:var(--muted);margin:0}.catalog-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.catalog-meta span{color:#3d5745;background:#eaf1e6;border-radius:100px;padding:4px 10px;font-size:12px}.catalog-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;display:flex}.catalog-toolbar p{margin-top:5px}.catalog-search{width:min(100%,320px);position:relative}.catalog-search svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.catalog-search input{width:100%;padding-left:38px}.knowledge-page,.wizard-page,.workspace-screen{max-width:1080px;margin-inline:auto}.workspace-screen .panel-heading{flex-wrap:wrap;gap:12px}.members-panel .search{width:min(100%,320px)}.members-list{margin:0;padding:0;list-style:none}.member-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 16px;padding-block:14px}.member-name,.member-row{align-items:center;display:flex}.member-name{flex:220px;gap:10px;min-width:0}.member-name .avatar{flex:none}.member-name div{overflow-wrap:anywhere;gap:3px;display:grid}.member-actions{margin:0}.showcase-review-note{color:#34463b;gap:8px;margin:18px 0 0;display:grid}.request-list{gap:12px;margin-block:14px;display:grid}.request-list .panel{margin:0}.request-list .panel>p{margin-block:0 12px}.admissions-page .section-heading{flex-wrap:wrap}.wizard-page{max-width:920px}.wizard-lesson,.wizard-panel{min-inline-size:0}.wizard-step-heading{align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.wizard-step-heading>span{width:36px;height:36px;font-size:15px;font-weight:700}.wizard-step-heading h2{margin:0}.wizard-step-heading p{margin:4px 0 0}.wizard-panel input[type=file]{width:100%;color:var(--muted)}.wizard-panel input[type=file]::file-selector-button{font:inherit;color:var(--green);cursor:pointer;background:#e9f1e7;border:0;border-radius:6px;margin-right:10px;padding:7px 10px}.wizard-feedback{color:var(--green);font-weight:600}.wizard-lesson+.wizard-lesson{margin-top:12px}.knowledge-heading{margin-bottom:24px}.knowledge-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.knowledge-groups>.panel{margin:0}.knowledge-title{align-items:center;gap:10px;display:flex}.knowledge-title svg{color:var(--green);flex:none}.knowledge-title h2{margin:0}.knowledge-page .help-list{margin:12px 0 0}.knowledge-page .help-list details{border-bottom:0;border-top:1px solid var(--line);padding:0}.knowledge-page .help-list summary{padding:11px 0}.knowledge-page .help-list details p{color:var(--muted);padding:0 0 12px;line-height:1.6}.knowledge-reference{margin-top:16px}.knowledge-reference>p{margin:6px 0 14px}.knowledge-topic-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px;display:grid}.knowledge-topic-grid .button{justify-content:space-between}@media (max-width:650px){.teach-page{margin-top:8px}.catalog-featured{justify-items:start}.catalog-featured,.knowledge-groups{grid-template-columns:minmax(0,1fr)}.member-actions{width:100%}.verification-notice .button,.wizard-page .actions>.button{white-space:normal}}.home-intro{grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5.5vw,84px);padding:clamp(26px,5vw,72px) 0 clamp(38px,6vw,86px);display:grid}.home-intro-copy{min-width:0}.home-kicker{color:#2c5944;letter-spacing:.08em;background:#edf5e9;border:1px solid #d8e5d5;border-radius:999px;align-items:center;gap:9px;padding:7px 11px;font-size:11px;font-weight:750;display:inline-flex}.home-kicker>span{background:#51824a;border-radius:50%;width:7px;height:7px}.home-intro h1{letter-spacing:-.058em;color:#192b23;margin:19px 0 16px;font-size:clamp(43px,5.5vw,78px);line-height:1.01}.home-intro h1 em{color:#2e684f;font-style:normal}.home-intro-copy>p{color:#53635b;max-width:42ch;margin:0 0 24px;font-size:clamp(16px,1.55vw,20px);line-height:1.6}.home-intro-notes{color:#4b6254;flex-wrap:wrap;gap:9px 17px;margin-top:22px;font-size:13px;display:flex}.home-demo-next,.home-demo-top span,.home-intro-notes span,.home-path .next-link{align-items:center;gap:7px;display:inline-flex}.home-demo{color:#eaf4e7;background:#18372e;border:1px solid #29483d;border-radius:18px;min-width:0;scroll-margin-top:22px;overflow:hidden;box-shadow:10px 12px #dce9d7,0 18px 48px #17372c22}.home-demo-top{background:#142e26;border-bottom:1px solid #ffffff20;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:13px 20px;font-size:13px;display:flex}.home-demo-top .home-demo-badge{color:#ddf1cc;letter-spacing:.08em;background:#395345;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:700}.home-demo-body{padding:clamp(15px,2vw,26px)}.home-demo h2{color:inherit;margin:0 0 12px;font-size:clamp(17px,2vw,22px)}.home-demo pre{color:#e7f2e5;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;background:#102a22;border-radius:10px;margin:0;padding:13px 14px;font-size:clamp(11px,1.13vw,14px);line-height:1.65}.home-demo pre span{color:#bde3ef}.home-demo pre em{color:#d6f39e;font-style:normal}.home-demo-input{border:0;flex-wrap:wrap;gap:6px;min-width:0;margin:14px 0;padding:0;display:flex}.home-demo-input legend{color:#d1e2d7;margin-bottom:7px;font-size:12px}.home-demo-input label{color:#f1f7ed;cursor:pointer;background:#2a493d;border:1px solid #ffffff24;border-radius:7px;align-items:center;gap:5px;min-height:33px;padding:6px 8px;font:12px ui-monospace,monospace;display:inline-flex}.home-demo-input label:has(input:checked){background:#3d5946;border-color:#b6d790}.home-demo input{accent-color:#b9dc8c;margin:0}.home-demo-run{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.home-demo-run .button{color:#17372c;background:#d1efac}.home-demo-run .button:hover{background:#e1f7c4}.home-demo-output{border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:6px 11px;display:flex}.home-demo-output span{color:#bed5c6;font-size:10px;font-weight:700}.home-demo-output output{overflow-wrap:anywhere;font:13px ui-monospace,monospace}.home-demo-next{color:#d9eebd;margin-top:13px;font-size:13px;font-weight:650}.home-demo-next:hover{text-decoration:underline}.home-paths{border-top:1px solid #dce6da;padding-top:24px}.home-section-head h2,.home-teacher h2{letter-spacing:-.035em;margin:8px 0;font-size:clamp(26px,3.5vw,40px);line-height:1.12}.home-section-head p{margin:0 0 18px}.home-path-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.home-path{flex-direction:column;align-items:flex-start;display:flex}.home-path+.home-path{margin-top:0}.home-path-featured{background:#f0f7eb;border-color:#c1d6b7}.home-path-number{color:#32614b;background:#e9f2e5;border-radius:10px;place-items:center;width:44px;height:44px;margin-bottom:15px;font-size:16px;font-weight:750;display:grid}.home-path h3{margin:5px 0 0;font-size:20px}.home-path p{color:#526458;margin:7px 0 14px}.home-path .next-link{margin-top:auto}.home-teacher{background:#e6efdf;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 25px;margin-top:34px;padding:clamp(19px,3vw,32px);display:grid}.home-teacher h2{font-size:clamp(23px,3vw,32px)}.home-teacher p{color:#4b6151;margin:0}.home-teacher-icon{color:#355e48;background:#d7e7ce;border-radius:12px;place-items:center;width:60px;height:60px;display:grid}.python-hub{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.python-hub>.page-heading{margin-bottom:0}.practice-columns,.python-hub-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.python-hub-card{flex-direction:column;align-self:stretch;align-items:flex-start;gap:11px;display:flex}.python-hub-card+.python-hub-card{margin-top:0}.python-hub-card>svg{color:var(--green)}.python-hub-card h2,.python-hub-card p{margin:5px 0}.python-hub-card .button{margin-top:auto}.python-basics-section{border-top:1px solid var(--line);min-width:0;padding-top:20px}.study-page.wide-practice{max-width:1240px}.practice-workspace .study-progress{margin-bottom:16px}.practice-columns{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.practice-columns .study-lesson,.practice-columns .study-practice{margin:0}.practice-view-switch{display:none}.practice-question{border:1px solid var(--line);border-radius:10px;min-width:0;margin:18px 0 0;padding:12px}.practice-question legend{font-weight:700}.practice-question p{margin:0 0 8px}.practice-question label{overflow-wrap:anywhere;align-items:center;gap:8px;min-height:33px;display:flex}.practice-question .button{margin-block:8px}.practice-save{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.topic-builder{grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);align-items:start;gap:16px;display:grid}.topic-plan{position:sticky;top:16px}.topic-plan ol{padding-left:20px}.topic-plan li{padding-bottom:5px}.topic-group-title{align-items:center;gap:10px;margin-bottom:13px;display:flex}.topic-group-title h2{margin:4px 0 0}.topic-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding-block:10px;display:grid}.topic-row input{accent-color:var(--green);margin:0}.topic-row small{color:var(--muted);display:block}.topic-row strong{overflow-wrap:anywhere}@media (max-width:1050px){.practice-view-switch{gap:8px;margin-bottom:12px;display:flex}.practice-view-switch .button{flex:1}.practice-columns{grid-template-columns:minmax(0,1fr)}.practice-columns.view-code .study-lesson,.practice-columns.view-lesson .study-practice{display:none}}@media (max-width:780px){.home-intro,.home-path-grid,.topic-builder{grid-template-columns:minmax(0,1fr)}.home-intro{gap:22px}.home-demo{box-shadow:6px 7px #dce9d7}.home-teacher{grid-template-columns:auto minmax(0,1fr)}.home-teacher>.button{grid-column:1/-1;justify-self:start}.topic-plan{position:static}}@media (max-width:525px){.python-hub-cards{grid-template-columns:minmax(0,1fr)}.home-intro-notes{margin-top:16px}.home-teacher-icon{width:44px;height:44px}.home-teacher-icon svg{width:23px}}.topic-plan-jump{display:none}@media (max-width:780px){.topic-plan-jump{margin-bottom:10px;display:inline-flex}}.learning-home{max-width:1080px;margin-inline:auto}.learning-next{background:linear-gradient(120deg,#e9f3e4,#f5f8ef);border:1px solid #cdddc6;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 22px;margin-bottom:18px;padding:clamp(18px,3vw,30px);display:grid}.learning-next-icon{width:49px;height:49px;color:var(--green);background:#dcebd5;border-radius:11px;place-items:center;display:grid}.learning-next h2{overflow-wrap:anywhere;margin:4px 0;font-size:clamp(22px,3vw,32px);line-height:1.15}.learning-next p{color:#4b6254;margin:5px 0 0}.learning-next .actions{justify-content:flex-end}.learning-collections{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.learning-list+.learning-list{margin-top:0}.learning-list h2{align-items:center;gap:8px;display:flex}.learning-list h2 svg{color:var(--green)}.learning-list>.next-link{margin-top:12px;display:inline-flex}.learning-schedule ul,.quiz-index ol{padding:0;list-style:none}.learning-schedule li{border-top:1px solid var(--line);overflow-wrap:anywhere;gap:4px;padding:12px 0;display:grid}.learning-schedule time{color:var(--green);font-weight:650}.learning-schedule time span{color:var(--muted);font-size:11px;font-weight:400}.quiz-editor{max-width:1070px;margin-inline:auto}.quiz-workspace{grid-template-columns:minmax(200px,.65fr) minmax(0,1.65fr);align-items:start;gap:15px;margin-top:14px;display:grid}.quiz-index h2{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.quiz-index h2 span{font-size:12px;font-weight:500}.quiz-index ol{gap:5px;max-height:350px;display:grid;overflow:auto}.quiz-index ol button{width:100%;min-height:39px;font:inherit;color:inherit;text-align:left;overflow-wrap:anywhere;background:#f4f6f2;border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:7px;padding:9px;display:flex}.quiz-index ol button span{color:var(--green);font-weight:700}.quiz-index ol button[aria-current]{background:#e8f2e6;border-color:#bdd3c1}.quiz-index>.button{width:100%;margin-bottom:5px}.quiz-workspace .builder-list,.quiz-workspace .builder-question{min-inline-size:0;margin:0}.quiz-settings{border-top:1px solid var(--line);padding-top:9px}.quiz-settings summary{color:var(--green)}.quiz-settings .field{margin-top:10px}.quiz-actions{z-index:2;border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:flex-end;margin-top:12px;padding:12px;position:sticky;bottom:0}.quiz-bank .choice-row{border-bottom:1px solid var(--line);align-items:flex-start;padding:10px 0}.quiz-bank small{color:var(--muted);display:block}.quiz-bank>.button{margin-top:12px}.lesson-ai-preview{border:1px solid var(--line);background:#f3f7f0;border-radius:9px;margin-bottom:14px;padding:12px 14px}.lesson-ai-preview pre{white-space:pre-wrap;overflow:auto}@media (max-width:760px){.learning-collections,.quiz-workspace{grid-template-columns:minmax(0,1fr)}.learning-next{grid-template-columns:auto minmax(0,1fr)}.learning-next .actions{grid-column:1/-1;justify-content:flex-start}.quiz-index ol{max-height:170px}}.guest-practice{border-top:1px solid #ffffff35;margin-block:14px;padding-block:10px}.guest-practice summary{color:#d1efac;cursor:pointer}.guest-practice textarea{color:#e8f5e8;background:#102a22;border-color:#ffffff35;font-family:ui-monospace,monospace}.personal-programs .next-link small{margin-top:4px;display:block}.topic-row-wrap{min-width:0}.topic-lesson-preview pre{white-space:pre-wrap;overflow-wrap:anywhere}.lesson-tool-actions,.practice-hint{margin-block:12px}.course-module-select{max-width:36rem;margin:12px 0}.course-module-select select{width:100%;min-width:0}.teacher-start-steps{margin:12px 0;padding-inline-start:22px}.quiz-question-text{white-space:pre-wrap;overflow-wrap:anywhere}.quiz-answer-heading{margin-top:16px}.quiz-answer-heading p{margin:4px 0 10px}.quiz-option-list{gap:10px;margin-bottom:14px;display:grid}.quiz-option-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:12px;padding:10px 12px;display:grid}.quiz-option-key{cursor:pointer;align-items:center;gap:6px;min-height:44px;padding-inline:3px;display:inline-flex}.quiz-option-key input{width:18px;height:18px;accent-color:var(--green)}.quiz-workspace .quiz-option-row .field{min-width:0;margin:0}@media (max-width:480px){.quiz-option-row{gap:8px;padding:8px}}.lesson-writing{gap:8px;min-width:0;display:grid}.lesson-writing textarea{min-height:240px}.material-list-item{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.material-list-item .material-row{flex:16rem;min-width:0}.review-criteria,.review-line-editor{min-width:0;margin-block:1rem}.review-criteria{gap:.75rem;display:grid}.review-criteria h3,.review-criteria ol,.review-criteria p,.review-line-editor p{margin:0}.review-criteria ol,.review-mark-list{padding-inline-start:1.25rem}.review-criterion-edit,.review-line-inputs,.review-mark{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.review-mark{grid-template-columns:minmax(0,1fr) minmax(10rem,40%);align-items:center}.review-line-inputs{grid-template-columns:7rem minmax(0,1fr);align-items:start}.review-criterion-edit .field,.review-line-inputs .field{margin:0}.review-line-editor{border:1px solid var(--line);border-radius:.75rem;padding:1rem}.review-line-editor summary{cursor:pointer;font-weight:700}.review-line-editor[open]>:not(summary){margin-block-start:.75rem}.review-numbered-code{background:var(--bg);max-height:26rem;color:var(--ink);border:1px solid var(--line);border-radius:.75rem;gap:.75rem;padding:.75rem;display:flex;overflow:auto}.review-numbered-code pre{font:.875rem/1.55 var(--font-mono,monospace);white-space:pre;background:0 0;border:0;flex:none;margin:0;padding:0;overflow:visible}.review-numbered-code .review-gutter{background:var(--bg);min-width:2ch;color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;font:.875rem/1.55 var(--font-mono,monospace);flex:none;padding-inline-end:.35rem;position:sticky;left:-.75rem}.review-gutter button{width:100%;color:inherit;font:inherit;text-align:right;background:0 0;border-radius:.2rem;padding:0 .15rem;display:block}.review-gutter button:focus-visible,.review-gutter button:hover{color:var(--ink);background:var(--line)}.review-ai-draft,.review-line-note{border:1px solid var(--line);border-radius:.6rem;min-width:0;margin-block:.6rem;padding:.75rem}.review-line-note pre,.review-line-preview{white-space:pre;margin-block:.4rem;overflow-x:auto}.review-feedback-text{white-space:pre-wrap;overflow-wrap:anywhere}.review-mark-list li{overflow-wrap:anywhere;margin-block:.3rem}.review-mark-list li span{color:var(--muted);display:block}.course-design .journal-table-wrap{scrollbar-color:#b1c2b3 var(--course-tint);max-height:70vh;padding:0;overflow:auto}.journal-table{border-spacing:0;text-align:left;width:100%}.journal-table :is(th,td){border-bottom:1px solid var(--line);overflow-wrap:anywhere;vertical-align:middle;min-width:9rem;padding:12px 16px}.journal-table td{border-top:0}.journal-table thead th{z-index:2;background:var(--course-tint);color:#2b4a3a;font-size:14px;font-weight:800;position:sticky;top:0}.journal-table th:first-child{z-index:1;border-right:1px solid var(--line);width:12rem;position:sticky;left:0}.journal-table thead th:first-child{z-index:3}.journal-table tbody{--journal-row:var(--paper)}.journal-table tbody tr:nth-child(2n){--journal-row:#fafbf8}.journal-table tbody tr:hover{--journal-row:#f3f7f0}.journal-table tbody :is(th,td){background:var(--journal-row)}.journal-table tbody th{color:var(--ink);font-size:14px;font-weight:750}.journal-table tbody tr:last-child :is(th,td){border-bottom:0}.journal-table a:focus-visible,.journal-table a:hover{color:var(--green);text-underline-offset:3px;text-decoration:underline}.journal-table a:focus-visible{outline-offset:2px}.journal-column-kind{color:#57695e;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.journal-quiz-result{justify-items:start;gap:4px;display:grid}.journal-quiz-result small{font-size:12px}.journal-score{color:var(--ink);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1.1}.journal-score span{color:var(--muted);font-size:14px;font-weight:700}.course-design .status{font-weight:750}.course-design .status-accepted,.course-design .status-published{color:#2e6243;background:#e5f1e6}.course-design .status-submitted{color:#74520c;background:#faf0d8}.course-design .status-failed,.course-design .status-needs_revision{color:#864833;background:#faede7}.journal-pages{margin-top:16px}@media (max-width:600px){.review-line-inputs,.review-mark{grid-template-columns:minmax(0,1fr)}.journal-table :is(th,td){min-width:7.25rem;padding:10px 12px}.journal-table th:first-child{width:7.25rem;max-width:7.25rem}.journal-score{font-size:21px}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}