.student-login,.student-shell{--alpine-bg:#f5f7f2;--alpine-paper:#fff;--alpine-ink:#243d34;--alpine-muted:#5f7265;--alpine-line:#dce4d8;--alpine-accent:#325b46;color-scheme:light;background:var(--alpine-bg);color:var(--alpine-ink);font-family:Arial,Helvetica,sans-serif;min-height:100vh;line-height:1.6}.student-shell{display:grid;grid-template-columns:190px minmax(0,1fr)}.student-login *,.student-shell *{box-sizing:border-box}.student-login a,.student-shell a{color:inherit;text-decoration:none}.student-login button,.student-shell button{font:inherit}.student-login :is(a,button,input,summary):focus-visible,.student-shell :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #65876a;outline-offset:4px}.student-sidebar{background:#e7eee2;display:flex;flex-direction:column;padding:30px 22px;position:sticky;top:0;height:100vh;gap:48px}.student-brand{display:flex;gap:8px;align-items:center;font-size:20px;font-weight:700;letter-spacing:-.7px;min-height:44px}.student-brand svg{flex-shrink:0}.student-sidebar nav{display:grid;gap:8px}.student-sidebar nav a{display:flex;gap:12px;align-items:center;padding:12px;border-radius:8px;font-size:14px;transition:background .16s ease,transform .16s ease}.student-sidebar nav a:hover{background:#dfe9d9}.student-sidebar nav a[aria-current]{background:#d6e3ce;color:#254733;font-weight:600}.student-sidebar nav svg{flex-shrink:0}.student-account{margin-top:auto;font-size:13px;overflow-wrap:anywhere}.student-account>span{display:block;margin-bottom:12px}.student-account button,.student-account>a{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;border:0;color:var(--alpine-muted);padding:0;font-size:13px}.student-content{min-width:0;padding:44px clamp(24px,4vw,64px)}.student-content>main,.student-home{max-width:1160px;width:100%;margin:0 auto;padding:0;min-width:0}.student-skip{position:absolute;top:12px;left:12px;z-index:100;padding:12px 20px;background:white;transform:translateY(-160%)}.student-skip:focus{transform:none}.student-home{max-width:980px!important}.student-home h1,.student-login h1{font:400 clamp(32px,3.4vw,46px)/1.15 Georgia,serif;letter-spacing:-1px;margin:0}.student-home-heading{position:relative;min-height:155px;display:flex;align-items:center;margin-bottom:26px;isolation:isolate}.alpine-mountains{position:absolute;right:0;bottom:0;width:290px;max-width:46%;height:145px;overflow:hidden;z-index:-1;opacity:.85}.alpine-mountains span{position:absolute;inset:0;background:#dce6db;clip-path:polygon(0 100%,8% 84%,18% 83%,42% 20%,51% 39%,59% 24%,86% 80%,100% 100%)}.alpine-mountains span:nth-child(2){top:33%;background:#b7cbb7;clip-path:polygon(0 100%,20% 85%,40% 34%,46% 45%,52% 25%,77% 86%,100% 100%)}.alpine-mountains span:nth-child(3){top:61%;background:#789e82;clip-path:polygon(0 100%,19% 39%,30% 52%,49% 4%,70% 55%,80% 38%,100% 100%)}.student-home h2{font-size:23px;font-weight:500;line-height:1.3;margin:0 0 18px}.student-muted{color:var(--alpine-muted);font-size:14px;margin:0}.student-resume{background:white;padding:32px 34px;border-radius:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px 30px;box-shadow:0 3px 24px #29432d05}.student-resume h2{font-size:30px;letter-spacing:-.7px;margin:7px 0 13px}.student-resume progress{grid-column:1/-1;display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;appearance:none;background:#e3e9de;color:#628362}.student-resume progress::-webkit-progress-bar{background:#e3e9de;border-radius:5px}.student-resume progress::-webkit-progress-value{background:#628362;border-radius:5px}.student-resume progress::-moz-progress-bar{background:#628362;border-radius:5px}.student-button,.student-login .student-button,.student-shell .student-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:12px 21px;background:var(--alpine-accent);color:white;border:0;border-radius:7px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .16s ease,background .16s ease}.student-button:hover,.student-shell .student-button:hover{background:#284d3a;transform:translateY(-2px)}.student-button:active{transform:translateY(0)}.student-button:disabled{opacity:.55;transform:none;cursor:default}.student-tests{margin-top:48px;scroll-margin-top:30px}.student-test-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.student-test{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;transition:transform .18s ease}.student-test:hover{transform:translateY(-2px)}.student-test h3{font-size:17px;font-weight:500;line-height:1.5;margin:0 0 7px}.student-test p{font-size:13px;color:var(--alpine-muted);margin:0}.student-test-action{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;color:var(--alpine-accent)}.student-error{padding:14px 18px;border-radius:8px;color:#853e27;background:#faeae2;font-size:14px}.student-shell .course-app{padding:0;min-height:0;max-width:1280px;background:transparent;color:var(--alpine-ink);font-family:inherit}.student-shell .course-header{margin-bottom:36px;align-items:flex-start}.student-shell .course-app h1{font:400 36px/1.2 Georgia,serif;letter-spacing:-.7px;margin:0 0 12px}.student-shell .course-app h2{font-size:25px;font-weight:500;line-height:1.3;margin:0 0 20px}.student-shell .course-app h3{font-weight:600;font-size:16px}.student-shell .course-app p{line-height:1.8;margin:12px 0}.student-shell .course-app a{color:var(--alpine-accent);text-decoration:none}.student-shell .course-app button{background:#fff;border:0;color:var(--alpine-accent);padding:11px 17px;min-height:44px;border-radius:7px;transition:background .16s,transform .16s}.student-shell .course-app button:hover{background:#e4edde}.student-shell .course-app .course-actions>button:last-of-type{background:var(--alpine-accent);color:#fff}.student-shell .course-app :is(small,.course-muted){color:var(--alpine-muted)}.student-shell .course-header>div>p{color:var(--alpine-muted);font-size:14px;margin-bottom:0}.student-shell .course-banner{padding:0;background:none;margin:0 0 30px;gap:20px;font-size:13px;font-weight:400}.student-shell .course-banner strong{font-weight:400}.student-shell .course-app progress{accent-color:#628362}.student-shell .course-grid{grid-template-columns:180px minmax(0,1fr);gap:34px}.student-shell .course-grid>nav{gap:5px;top:26px}.student-shell .course-grid>nav button{background:transparent;border:0;min-height:52px;padding:10px;gap:12px;font-size:13px}.student-shell .course-grid>nav button strong{font-weight:500}.student-shell .course-grid>nav button>span{min-width:19px;color:var(--alpine-muted);font-size:12px}.student-shell .course-grid>nav button[aria-current]{background:#dfe9d8;color:#284934}.student-shell .course-grid>nav button[aria-current] :is(span,small){color:#426148}.student-shell .course-grid>nav button small{font-size:12px}.student-shell .course-panel{border:0;padding:30px;background:#fff;border-radius:12px;margin-bottom:28px;box-shadow:none}.student-shell .course-lead{color:#4c6654;font-size:17px}.student-shell .course-app pre{background:#f0f4ed;border:0;color:#293e30;border-radius:7px}.student-shell .course-app fieldset{border:0;padding:0;margin:30px 0}.student-shell .course-app legend{padding:0;margin-bottom:12px;font-family:inherit;font-size:16px;font-weight:500}.student-shell .course-app .course-option{background:#f5f7f1;border-radius:6px;padding:13px 15px;font-size:14px}.student-shell .course-option:has(input:checked){background:#e0ead9}.student-shell .course-option input{accent-color:#325b46}.student-shell .course-app :is(input:not([type=radio]):not([type=checkbox]),textarea,select){border:1px solid #c9d5c4;background:#fcfdfb;color:var(--alpine-ink);font-size:16px}.student-shell .course-feedback{border:0;background:#f2f5ee;border-radius:8px;padding:18px;margin:14px 0}.student-shell .course-feedback strong{font-weight:500;font-size:14px}.student-shell .course-app summary{min-height:44px;padding:10px 0;font-size:14px;cursor:pointer}.student-shell .course-panel>details>summary{font-size:16px}.student-shell .course-app .cm-editor{border:0;border-radius:8px;background:#fafcf8;overflow:hidden}.student-shell .cm-editor .cm-gutters{background:#f0f4eb!important;border:0!important;color:#718269!important}.student-shell .cm-editor .cm-activeLine,.student-shell .cm-editor .cm-activeLineGutter{background:#e8f0e055}.student-shell .course-runner{margin-top:24px}.student-shell .course-runner pre{margin-bottom:0;min-height:84px}.student-shell .course-actions [role=status]{font-size:12px;color:var(--alpine-muted)}.student-shell .course-actions{gap:14px}.student-shell .course-app .test-instructions{margin-bottom:30px;color:var(--alpine-muted);font-size:14px;max-width:820px}.student-shell .course-app .test-instructions p{margin:8px 0}.student-shell .test-submit{padding:0;background:transparent;margin-top:28px;margin-left:214px}.student-shell .test-submit>[role=status]{font-size:13px;color:var(--alpine-muted);margin-bottom:10px}.student-shell .test-checks{margin:18px 0;color:var(--alpine-muted)}.student-shell .test-checks ul{padding-left:20px}.student-login{display:grid;place-items:center;padding:32px 24px}.student-login main{padding:0;width:100%;max-width:400px;margin:0}.student-login .student-brand{margin-bottom:56px}.student-login h1{font-size:38px;margin-bottom:30px}.student-login form{display:grid;gap:22px}.student-login label{font-size:14px;display:grid;gap:8px}.student-login input{border:1px solid #cbd6c5;border-radius:7px;padding:13px 15px;background:#fff;color:var(--alpine-ink);font-size:16px;width:100%}.student-login details{margin-top:22px;font-size:13px;color:var(--alpine-muted)}.student-login summary{cursor:pointer;min-height:44px;padding:10px 0}.student-login details p{margin:8px 0;line-height:1.8}.student-login .teacher-login{display:inline-block;margin-top:30px;font-size:13px;color:var(--alpine-muted);min-height:44px;padding:10px 0}.student-brand img{display:block;width:min(100%,230px);height:auto;object-fit:contain}.student-sidebar .student-brand img{width:145px;max-width:100%}.student-login .student-brand{margin-bottom:50px;width:max-content;max-width:100%}.student-login .login-intro{font-size:15px;color:var(--alpine-muted);margin:12px 0 32px}.student-login .student-button{width:100%;margin-top:4px;cursor:pointer}.student-login .teacher-login:hover{text-decoration:underline}.admin-tests{--alpine-ink:#243d34;--alpine-muted:#5f7265;max-width:1000px;padding:48px 28px 80px;margin:auto;color:var(--alpine-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}.admin-tests a{color:#325b46;text-decoration:none}.admin-tests a:hover{text-decoration:underline}.admin-tests nav{font-size:13px;color:var(--alpine-muted);margin-bottom:36px}.admin-tests-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.admin-test-card>a,.admin-tests-heading>a{font-size:14px;font-weight:600;white-space:nowrap}.admin-test-type,.admin-tests-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;color:#527559;text-transform:uppercase}.admin-tests h1{font:400 clamp(32px,4vw,44px)/1.2 Georgia,serif;letter-spacing:-.03em;margin:8px 0}.admin-test-card p,.admin-test-description,.admin-tests-heading p{color:var(--alpine-muted);font-size:14px;margin:6px 0 0}.admin-question-list,.admin-test-list{display:grid;gap:16px}.admin-question,.admin-test-card{background:#fff;border:1px solid #dce4d8;border-radius:12px;padding:25px 28px}.admin-test-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-question h2,.admin-test-card h2{font-size:20px;font-weight:600;margin:7px 0}.admin-test-description{margin:0 0 28px}.admin-question header{display:flex;justify-content:space-between;gap:15px;color:var(--alpine-muted);font-size:13px}.admin-question header strong{color:#325b46;white-space:nowrap}.admin-question ol{padding-left:23px;margin:20px 0;display:grid;gap:12px;font-size:15px}.admin-question li{padding-left:5px}.admin-question pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7f2;border-radius:7px;padding:15px;font:14px/1.6 ui-monospace,Consolas,monospace;max-width:100%;overflow-x:auto}.admin-question details{border-top:1px solid #e5ebe1;padding-top:10px;margin-top:18px;font-size:14px}.admin-question summary{cursor:pointer;padding:8px 0;font-weight:600;color:#325b46}.admin-question details ul{padding-left:20px;display:grid;gap:9px}.admin-marking li strong{font-weight:600;color:#325b46}.admin-marking h3{font-size:15px;margin-top:22px}@media(max-width:640px){.admin-tests{padding:26px 18px 60px}.admin-test-card,.admin-tests-heading{align-items:start;flex-direction:column}.admin-question{padding:22px 18px}}@media(max-width:1150px){.student-shell{grid-template-columns:166px minmax(0,1fr)}.student-sidebar{padding:25px 16px}.student-brand{font-size:18px}.student-content{padding:32px 28px}.student-shell .course-grid{grid-template-columns:150px minmax(0,1fr);gap:24px}.student-shell .test-submit{margin-left:174px}.student-shell .course-panel{padding:24px}.student-test-list{grid-template-columns:1fr;gap:0}}@media(max-width:900px){.student-shell .course-grid{grid-template-columns:1fr}.student-shell .course-grid>nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:6px}.student-shell .course-grid>nav button{min-width:0}.student-shell .test-submit{margin-left:0}.student-shell .course-header{flex-direction:column;gap:10px}}@media(max-width:640px){.student-shell{display:block}.student-sidebar{position:static;height:auto;padding:17px 20px 10px;display:grid;grid-template-columns:1fr auto;gap:12px}.student-sidebar .student-brand{font-size:20px}.student-sidebar nav{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.student-sidebar nav a{justify-content:center;padding:10px 5px;gap:6px;font-size:13px}.student-sidebar nav svg{display:none}.student-account{margin:0;align-self:center}.student-account>span{display:none}.student-account button{font-size:12px;gap:6px}.student-content{padding:24px 20px}.student-home-heading{min-height:126px;margin-bottom:24px;align-items:flex-start;padding-top:18px}.student-home h1{font-size:34px}.alpine-mountains{height:110px;max-width:51%}.student-resume{padding:25px;grid-template-columns:1fr;gap:24px}.student-resume h2{font-size:27px}.student-resume .student-button{justify-self:start}.student-tests{margin-top:36px}.student-test{gap:12px}.student-test h3{font-size:16px}.student-test-action{font-size:12px}.student-shell .course-app h1{font-size:30px}.student-shell .course-app h2{font-size:23px}.student-shell .course-panel{padding:22px 18px}.student-shell .course-grid{gap:20px}.student-shell .course-grid>nav button{font-size:12px;gap:7px}.student-shell .course-header{margin-bottom:24px}.student-shell .course-app pre{padding:16px 12px;font-size:13px}.student-shell .course-app .course-option{padding:12px}.student-login .student-brand{margin-bottom:44px}}@media(prefers-reduced-motion:reduce){.student-login *,.student-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}