/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}}:root{--navy:#073554;--navy-soft:#0c4a70;--teal:#078a84;--green:#39a51e;--ink:#123047;--muted:#5f7381;--paper:#fbfdfc;--line:#dbe7e7;--shadow:0 18px 50px #0b364d1c}*{box-sizing:border-box}html{background:#f1f7f5;min-width:320px}body{color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;background:radial-gradient(circle at 12% 0,#2cab7e17,#0000 32rem),linear-gradient(#fff 0,#f5faf8 60%,#edf6f1 100%);margin:0}button,input,select{font:inherit}button,select,.student-card{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,.student-card:focus-visible{outline-offset:2px;outline:3px solid #0b72b9}main{flex-direction:column;width:min(100%,1840px);min-height:100dvh;margin:0 auto;padding:30px clamp(18px,3vw,52px) 32px;display:flex}.hero{align-items:center;gap:clamp(14px,1.5vw,24px);min-height:146px;padding-bottom:18px;display:flex}.school-logo{object-fit:contain;filter:drop-shadow(0 7px 12px #052a451f);flex:none;width:clamp(72px,7vw,102px);height:clamp(104px,10vw,136px)}.hero-copy{min-width:0}.eyebrow{color:var(--teal);letter-spacing:.16em;text-transform:uppercase;margin:0 0 2px;font-size:13px;font-weight:850}h1{color:var(--navy);letter-spacing:-.055em;text-transform:uppercase;margin:0;font-size:clamp(36px,5vw,67px);font-weight:950;line-height:.96}.class-name-heading{color:#fff;background:var(--teal);letter-spacing:.02em;border-radius:7px;width:fit-content;margin:5px 0 0;padding:4px 9px;font-size:clamp(13px,1.3vw,18px);font-weight:800}.tagline{width:fit-content;color:var(--navy-soft);margin:7px 0 0;font-size:clamp(19px,2vw,27px);font-style:italic;font-weight:680;position:relative}.tagline:after{background:var(--green);content:"";border-radius:100%;height:5px;position:absolute;bottom:-7px;left:0;right:-4px;transform:rotate(-2deg)}.hero-side{flex:auto;grid-template-rows:auto 1fr;align-self:stretch;min-width:min(470px,43vw);margin-left:auto;display:grid}.hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;padding-top:8px;display:flex}.setup-button,.history-button,.admin-button,.sign-out-button{min-height:38px;color:var(--navy);cursor:pointer;background:#ffffffe0;border:1px solid #c6dcda;border-radius:10px;align-items:center;gap:8px;padding:0 13px;font-size:11px;font-weight:780;display:inline-flex;box-shadow:0 4px 12px #0c41540f}.setup-button,.admin-button{color:#fff;border-color:var(--navy);background:var(--navy)}.history-button{color:var(--teal);background:#edf7f4}.admin-button{border-color:var(--teal);background:var(--teal)}.sign-out-button{color:#8e3131;background:#fff4f4;border-color:#efd1d1}.sign-out-button:disabled{cursor:wait;opacity:.55}.setup-button span,.history-button span,.admin-button span,.sign-out-button span{border-radius:50%;place-items:center;width:19px;height:19px;font-size:14px;font-weight:900;line-height:1;display:grid}.setup-button:hover{background:#0a527b}.history-button:hover{color:#fff;border-color:var(--teal);background:var(--teal)}.admin-button:hover{background:#05716d;border-color:#05716d}.sign-out-button:hover{color:#fff;background:#9b3737;border-color:#9b3737}.hero-side-lower{justify-content:flex-end;align-items:flex-end;gap:18px;display:flex}.hero-mascot{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 12px #05496324);flex:none;width:clamp(82px,7vw,112px);height:103px}.add-form label{color:var(--navy);letter-spacing:.02em;margin-bottom:7px;font-size:13px;font-weight:850;display:block}.add-row{gap:8px;display:flex}.add-row input{width:min(38vw,310px);min-width:180px;height:43px;color:var(--ink);background:#fff;border:1px solid #bfcfd4;border-radius:11px;padding:0 13px}.add-row input::placeholder{color:#82919a}.add-row button,.error-banner button{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:11px;font-weight:760}.add-row button{min-height:43px;padding:0 17px}.add-row button:hover:not(:disabled),.error-banner button:hover{background:#0a527b}.add-row button:disabled{cursor:not-allowed;opacity:.48}.add-form>p{color:var(--muted);margin:6px 0 0;font-size:11px}.class-summary{text-align:right;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;display:grid}.class-summary strong{color:var(--teal);grid-row:span 2;font-size:34px;line-height:1}.class-summary span{color:var(--navy);font-size:13px;font-weight:750}.class-summary small{color:var(--muted);font-size:11px}.error-banner{color:#7a2020;background:#fff1f1;border:1px solid #f1aaaa;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:12px 14px;font-size:13px;display:flex}.error-banner button{white-space:nowrap;background:#9e2b2b;padding:8px 12px}.board-shell{box-shadow:var(--shadow);background:linear-gradient(#ffffffc7,#ffffffe6),radial-gradient(circle at 1px 1px,#c7d9d3 1px,#0000 1px) 0 0/18px 18px;border:1px solid #dce9e4;border-radius:26px;flex-direction:column;flex:1 0 auto;margin-top:8px;display:flex;position:relative;overflow:hidden}.board-intro{background:#ffffffb8;border-bottom:1px solid #e4eeeb;flex:none;justify-content:flex-end;align-items:center;min-height:46px;padding:0 20px;display:flex}.board-intro p{color:#607887;margin:0;font-size:12px;font-weight:650}.board-intro span{color:var(--teal);margin-right:4px;font-size:18px}.board-zoom{border-left:1px solid #dbe8e5;align-items:center;gap:5px;margin-left:15px;padding-left:14px;display:inline-flex}.board-intro .board-zoom-label{color:#536d7b;margin:0 3px 0 0;font-size:11px;font-weight:650}.board-zoom button{width:27px;height:27px;color:var(--navy);cursor:pointer;background:#fffffff0;border:1px solid #c9deda;border-radius:8px;place-items:center;padding:0;font-family:Segoe UI,sans-serif;font-size:17px;font-weight:600;line-height:1;display:grid;box-shadow:0 2px 5px #0c41540b}.board-zoom button:hover:not(:disabled){color:#087f78;background:#f1faf7;border-color:#8fc6bf}.board-zoom button:focus-visible{outline-offset:2px;outline:2px solid #15958b}.board-zoom button:disabled{cursor:default;opacity:.35}.ladder{flex:1 0 610px;align-items:stretch;gap:12px;min-height:610px;padding:24px 22px 20px;display:flex}.mobile-student-board{display:none}.level{--step-color:#ef4141;--step-color-dark:#bd2525;min-width:170px;min-height:440px;margin-top:calc((7 - var(--level)) * 22px);background:linear-gradient(150deg, var(--step-color), var(--step-color-dark));border:2px solid #ffffff8a;border-radius:19px 19px 15px 15px;flex-direction:column;flex:1 0 170px;transition:flex-basis .18s,transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 13px 22px #1c3e4421}.level.is-crowded{flex-basis:360px}.level.is-drag-over{box-shadow:0 0 0 5px #ffffffd9, 0 0 0 9px var(--step-color), 0 16px 30px #0a2f3e33;transform:translateY(-6px)}.level-1{--level:1;--step-color:#ef4444;--step-color-dark:#d72b31}.level-2{--level:2;--step-color:#f58a0b;--step-color-dark:#ef6906}.level-3{--level:3;--step-color:#ff9a08;--step-color-dark:#f47704}.level-4{--level:4;--step-color:#ffd116;--step-color-dark:#f4b900}.level-5{--level:5;--step-color:#9bd11b;--step-color-dark:#78b50d}.level-6{--level:6;--step-color:#54bd20;--step-color-dark:#239b21}.level-7{--level:7;--step-color:#129734;--step-color-dark:#087b32}.level-heading{color:#fff;align-items:center;gap:10px;min-height:94px;padding:15px 12px 8px;display:flex}.bulk-select-button{min-height:27px;color:var(--teal);cursor:pointer;background:#edf7f4;border:1px solid #bad3cc;border-radius:8px;align-items:center;gap:3px;padding:0 7px;font-size:8px;font-weight:800;display:inline-flex}.bulk-select-button:hover:not(:disabled),.bulk-select-button[aria-pressed=true]{color:#fff;border-color:var(--teal);background:var(--teal)}.bulk-select-button:disabled{cursor:not-allowed;opacity:.42}.bulk-select-button span{font-size:10px}.level-number{color:#4c3513;background:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:21px;font-weight:900;display:grid;box-shadow:0 4px 10px #44301229}.level-heading h2{letter-spacing:-.025em;text-transform:uppercase;margin:0 0 3px;font-size:16px;font-weight:900;line-height:1.04}.level-heading p{opacity:.9;margin:0;font-size:10px;font-weight:700;line-height:1.2}.level-hint{color:#ffffffeb;min-height:50px;margin:0;padding:0 13px 12px;font-size:10px;font-weight:600;line-height:1.35}.student-zone{background:#fffffff0;border-radius:12px;flex-direction:column;flex:1;min-height:270px;margin:0 7px 7px;padding:10px 8px;display:flex;box-shadow:inset 0 0 0 1px #092c3712}.student-count{color:#6b7e85;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.student-zone-toolbar{justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-bottom:8px;display:flex}.student-count span{color:var(--navy);font-size:12px}.student-list{gap:var(--student-list-gap,4px);flex-direction:column;display:flex}.level.is-crowded .student-list{align-content:start;gap:var(--student-list-gap,4px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bulk-panel{background:#edf7f4;border:1px solid #c8ddd8;border-radius:9px;margin:0 0 8px;padding:7px}.bulk-panel-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.bulk-panel-top label{color:var(--navy);cursor:pointer;align-items:center;gap:5px;font-size:9px;font-weight:800;display:inline-flex}.bulk-panel-top input{width:14px;height:14px;accent-color:var(--teal);margin:0}.bulk-panel-top strong{color:var(--teal);font-size:9px}.bulk-drag-hint{color:#547069;margin:5px 0 0;font-size:8px;font-weight:700;line-height:1.25}.empty-zone,.loading-card{color:#8b9b9c;text-align:center;border:2px dashed #d2dfdc;border-radius:10px;flex:1;place-items:center;min-height:92px;font-size:11px;font-weight:650;display:grid}.empty-zone{visibility:hidden;color:#0000;opacity:0;border-color:#0000;transition:visibility 0s linear .12s,border-color .12s,color .12s,opacity .12s}.is-dragging .empty-zone{visibility:visible;color:#8b9b9c;opacity:1;border-color:#d2dfdc;transition-delay:0s}.loading-card{animation:1.2s ease-in-out infinite pulse}.student-card{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #dbe5e4;border-radius:8px;min-width:0;transition:border-color .14s,transform .14s,box-shadow .14s;position:relative;overflow:hidden;box-shadow:0 2px 6px #1e424b12}.student-card:hover{border-color:#a9c6c1;transform:translateY(-1px);box-shadow:0 7px 15px #1c424a1f}.student-card:active{cursor:grabbing}.student-card.is-saving{cursor:wait;opacity:.68}.student-card.is-pointer-dragging{opacity:.3}.student-card.is-selected{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);background:#e6f6f2}.student-checkbox{width:var(--student-checkbox-size,16px);height:var(--student-checkbox-size,16px);color:#fff;font-size:var(--student-avatar-font-size,9px);background:#fff;border:1px solid #86aaa1;border-radius:4px;flex:none;place-items:center;font-weight:900;line-height:1;display:grid}.student-card.is-selected .student-checkbox{border-color:var(--teal);background:var(--teal)}.is-dragging,.is-dragging .student-card{cursor:grabbing}.student-main{height:var(--student-bar-height,28px);align-items:center;gap:var(--student-item-gap,6px);padding:0 var(--student-inline-padding,6px);display:flex}.student-main strong{color:#17384b;min-width:0;font-size:var(--student-font-size,18px);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:800;line-height:1;overflow:hidden}.student-avatar{width:var(--student-avatar-size,20px);height:var(--student-avatar-size,20px);color:#fff;background:var(--step-color-dark);font-size:var(--student-avatar-font-size,9px);border-radius:6px;flex:none;place-items:center;font-weight:850;display:grid}.student-points{font-size:max(9px, var(--student-avatar-font-size,9px));font-variant-numeric:tabular-nums;letter-spacing:0;border-radius:999px;position:relative}.student-point-number{line-height:1;position:absolute;left:50%;transform:translate(-50%)}.student-point-sign{line-height:1;position:absolute;left:50%;transform:translate(-1.02em)}.drag-grip{color:#9badb1;font-size:var(--student-grip-size,14px);line-height:1}.level.is-crowded .student-main strong,.level.is-selecting .student-main strong{font-size:var(--student-font-size,18px)}.drag-preview{z-index:100;width:170px;height:34px;color:var(--ink);pointer-events:none;will-change:left, top;background:#fff;border:2px solid #fff;border-radius:9px;align-items:center;gap:8px;padding:4px 8px;display:flex;position:fixed;transform:translate(-50%,-50%);box-shadow:0 12px 30px #07355447}.drag-preview.is-group{box-shadow:-4px 4px #d9ece8,-8px 8px #acd3ca,0 12px 30px #07355447}.drag-preview span{color:#fff;background:var(--teal);border-radius:6px;flex:none;place-items:center;width:23px;height:23px;font-size:10px;font-weight:900;display:grid}.drag-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.history-backdrop{z-index:220;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#052132ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.history-dialog{background:#f5faf8;border:1px solid #ffffff8a;border-radius:25px;flex-direction:column;width:min(96vw,1740px);height:min(94vh,940px);display:flex;overflow:hidden;box-shadow:0 30px 90px #031c2b6b}.history-header{color:#fff;background:linear-gradient(135deg, var(--navy), var(--teal));justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:14px 20px;display:flex}.history-header p,.history-day-heading p{letter-spacing:.11em;text-transform:uppercase;opacity:.8;margin:0 0 3px;font-size:10px;font-weight:800}.history-header h2{letter-spacing:-.035em;margin:0;font-size:clamp(23px,3vw,34px)}.mobile-history-title,.mobile-history-list,.mobile-history-tools{display:none}.history-header-actions{align-items:center;gap:10px;display:flex}.history-header-actions>span{letter-spacing:.06em;text-transform:uppercase;border:1px solid #ffffff52;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.history-header button,.history-status button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff61;border-radius:10px;min-height:38px;padding:0 15px;font-weight:750}.history-header button:hover{background:#ffffff38}.history-date-strip{border-bottom:1px solid var(--line);background:#fff;flex:none;gap:7px;padding:11px 14px;display:flex;overflow-x:auto}.history-date-strip button{min-width:112px;min-height:58px;color:var(--navy);cursor:pointer;background:#f8fbfa;border:1px solid #d5e4e0;border-radius:11px;place-items:center;padding:6px 10px;display:grid}.history-date-strip button:hover,.history-date-strip button.is-selected{color:#fff;border-color:var(--teal);background:var(--teal)}.history-date-strip span{letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:850}.history-date-strip strong{font-size:14px;line-height:1.05}.history-date-strip small{opacity:.76;font-size:8px;font-weight:700}.history-content{flex-direction:column;flex:1;min-height:0;padding:13px;display:flex}.history-day-heading{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:0 4px 11px;display:flex}.history-day-heading p{color:var(--teal);opacity:1}.history-day-heading h3{color:var(--navy);letter-spacing:-.025em;margin:0;font-size:clamp(18px,2.2vw,27px)}.history-day-heading>span{color:#315c4c;text-transform:uppercase;background:#def0e8;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:850}.history-day-heading>span.is-live{color:#735000;background:#fff0b6}.history-board-shell{background:linear-gradient(#ffffffc7,#ffffffe6),radial-gradient(circle at 1px 1px,#c7d9d3 1px,#0000 1px) 0 0/18px 18px;border:1px solid #dce9e4;border-radius:18px;flex:1;min-height:0;overflow:auto}.history-ladder{min-height:570px;padding-top:18px}.history-level{min-height:400px}.history-student-zone{background:#fffffff0;border-radius:12px;flex-direction:column;flex:1;min-height:250px;margin:0 7px 7px;padding:10px 8px;display:flex;box-shadow:inset 0 0 0 1px #092c3712}.history-student-zone>.student-count{min-height:25px}.history-student-card{height:var(--student-bar-height,28px);align-items:center;gap:var(--student-item-gap,6px);min-width:0;padding:0 var(--student-inline-padding,6px);background:#fff;border:1px solid #dbe5e4;border-radius:8px;display:flex;overflow:hidden;box-shadow:0 2px 6px #1e424b12}.history-student-card strong{color:#17384b;min-width:0;font-size:var(--student-font-size,18px);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:800;line-height:1;overflow:hidden}.history-empty-level{color:#92a19f;flex:1;place-items:center;font-size:10px;font-weight:700;display:grid}.history-status,.history-empty-day{min-height:250px;color:var(--muted);text-align:center;background:#fff;border:2px dashed #cfdfda;border-radius:16px;flex:1;place-content:center;justify-items:center;gap:8px;display:grid}.history-status p,.history-empty-day strong,.history-empty-day span{margin:0}.history-empty-day strong{color:var(--navy);font-size:18px}.history-empty-day span{font-size:11px}.history-status.is-error{color:#7a2020;background:#fff1f1;border-color:#f1aaaa}.history-status button{background:var(--navy);border:0}.setup-backdrop{z-index:200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0521329e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.setup-dialog{background:#fff;border:1px solid #ffffff80;border-radius:24px;width:min(100%,760px);max-height:min(88vh,780px);overflow:hidden auto;box-shadow:0 28px 80px #031c2b57}.setup-header{color:#fff;background:linear-gradient(135deg, var(--navy), var(--teal));justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.setup-header p{letter-spacing:.13em;opacity:.8;margin:0 0 2px;font-size:10px;font-weight:800}.setup-header h2{letter-spacing:-.035em;margin:0;font-size:25px}.setup-header button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff61;border-radius:10px;min-height:38px;padding:0 16px;font-weight:750}.setup-header button:hover{background:#ffffff38}.admin-header{background:linear-gradient(135deg,#062e4a,#087d78)}.setup-error{color:#7a2020;background:#fff1f1;border-bottom:1px solid #f1aaaa;padding:10px 22px;font-size:11px}.class-name-form,.setup-add-form{padding:17px 22px}.class-name-form{border-bottom:1px solid var(--line);background:#f7fbfa}.class-name-form label,.setup-add-form label{color:var(--navy);margin-bottom:7px;font-size:12px;font-weight:850;display:block}.setup-input-row{gap:8px;display:flex}.setup-input-row input{min-width:0;height:42px;color:var(--ink);background:#fff;border:1px solid #bfcfd4;border-radius:10px;flex:1;padding:0 12px}.setup-input-row button{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:10px;min-height:42px;padding:0 15px;font-weight:750}.setup-input-row button:disabled{cursor:not-allowed;opacity:.45}.setup-add-form p{color:var(--muted);margin:6px 0 0;font-size:10px}.roster-heading{justify-content:space-between;align-items:end;margin-bottom:9px;display:flex}.roster-heading h3{color:var(--navy);margin:0;font-size:15px}.roster-heading p{color:var(--muted);margin:2px 0 0;font-size:10px}.roster-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:300px;padding-right:4px;display:grid;overflow-y:auto}.roster-row{background:#fbfdfc;border:1px solid #dce7e4;border-radius:9px;grid-template-columns:25px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0;min-height:38px;padding:4px 5px;display:grid}.roster-avatar{color:#fff;background:var(--teal);border-radius:7px;place-items:center;width:24px;height:24px;font-size:9px;font-weight:850;display:grid}.roster-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.roster-level{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:700}.roster-row button{color:#a93232;cursor:pointer;background:#fff0f0;border:0;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:800}.roster-row button:hover:not(:disabled){background:#fbdcdc}.roster-row button:disabled{cursor:wait;opacity:.5}.empty-roster{min-height:90px;color:var(--muted);border:2px dashed #d7e4e0;border-radius:11px;place-items:center;font-size:11px;display:grid}.login-page{background:radial-gradient(circle at 8% 8%,#17a07a2e,#0000 30rem),radial-gradient(circle at 92% 88%,#39a51e1f,#0000 28rem),linear-gradient(145deg,#f8fcfb,#eaf4f1);place-items:center;width:100%;min-height:100dvh;padding:24px;display:grid}.login-card{--login-ui-font:"Segoe UI", Arial, Helvetica, sans-serif;background:#fff;border:1px solid #0a53641f;border-radius:30px;grid-template-columns:minmax(470px,1.05fr) minmax(400px,.95fr);width:min(100%,1040px);min-height:570px;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 85px #052e432e}.login-brand{color:#fff;background:radial-gradient(circle at 82% 85%,#42bcb138,#0000 15rem),radial-gradient(circle at 8% 5%,#2db5993d,#0000 13rem),linear-gradient(150deg,#062f4c,#075c70 56%,#078a84);align-content:start;padding:38px 40px 34px;display:grid;position:relative;overflow:hidden}.login-brand:after{content:"";pointer-events:none;background-image:radial-gradient(circle at 1px 1px,#ffffff1f 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.login-brand:before{content:"";pointer-events:none;background:#ffffff09;border:1px solid #ffffff1a;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-100px;right:-92px;box-shadow:0 0 0 34px #ffffff06,0 0 0 72px #ffffff05}.login-brand-header{z-index:1;align-items:center;gap:16px;display:flex;position:relative}.login-school-name strong{letter-spacing:-.01em;font-size:19px;font-weight:650}.login-school-name span{opacity:.9;margin-top:3px;font-size:15px;font-weight:400}.login-brand-copy{z-index:1;width:min(100%,390px);margin-top:45px;position:relative}.login-brand-copy>p{color:#a8e2d9;font-family:var(--login-ui-font);letter-spacing:.13em;text-transform:uppercase;margin:0 0 11px;font-size:11px;font-weight:650}.login-brand h1{width:fit-content;color:var(--navy);font-family:var(--login-ui-font);letter-spacing:-.04em;text-transform:none;background:#eef9f7f5;border:1px solid #ffffff7a;border-radius:16px;margin:0;padding:10px 17px 13px;font-size:clamp(42px,4.6vw,56px);font-weight:600;line-height:.92;display:grid;box-shadow:0 14px 30px #00243429}.login-brand-tagline{font-family:var(--login-ui-font);align-items:center;gap:9px;margin-top:22px;display:inline-flex}.login-brand-tagline>span{color:#075b74;background:#d8f3ef;border-radius:50%;place-items:center;width:25px;height:25px;font-size:15px;font-weight:800;display:grid}.login-brand-tagline strong{letter-spacing:.005em;font-size:16px;font-weight:550}.login-heading>p{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:700}.login-form>label,.account-settings label,.teacher-create-form label{color:var(--navy);gap:6px;font-size:11px;font-weight:800;display:grid}.login-form>label{font-family:var(--login-ui-font);font-size:12px;font-weight:600}.login-form input,.account-settings input,.teacher-create-form input,.teacher-password-reset input{width:100%;min-width:0;height:43px;color:var(--ink);background:#fff;border:1px solid #bdcfd2;border-radius:10px;padding:0 12px}.login-form input{font-family:var(--login-ui-font);letter-spacing:0;-webkit-font-smoothing:antialiased;font-size:15px;font-weight:400;line-height:1.2}.login-form input:focus,.account-settings input:focus,.teacher-create-form input:focus,.teacher-password-reset input:focus{border-color:var(--teal);outline:3px solid #078a8421}.password-field{display:block;position:relative}.password-field button{height:33px;color:var(--teal);font-family:var(--login-ui-font);cursor:pointer;background:#edf7f4;border:0;border-radius:7px;padding:0 9px;font-size:11px;font-weight:600;position:absolute;top:5px;right:5px}.login-form>label.login-remember{color:#536b77;cursor:pointer;align-items:center;gap:9px;width:fit-content;font-size:13px;font-weight:500;display:inline-flex}.login-remember input{appearance:none;cursor:pointer;background:#fff;border:1.5px solid #9ab2b6;border-radius:4px;flex:none;place-items:center;width:18px;height:18px;margin:0;padding:0;display:grid}.login-remember input:before{content:"";opacity:0;border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;transform:translateY(-1px)rotate(-45deg)}.login-remember input:checked{border-color:var(--teal);background:var(--teal)}.login-remember input:checked:before{opacity:1}.login-remember input:focus-visible{outline-offset:2px;outline:3px solid #078a8429}.login-submit{color:#fff;background:linear-gradient(135deg, var(--navy), var(--teal));min-height:45px;font-family:var(--login-ui-font);cursor:pointer;border:0;border-radius:11px;margin-top:4px;font-size:15px;font-weight:700;box-shadow:0 8px 18px #0751662b}.login-submit:disabled{cursor:wait;opacity:.58}.login-error,.teacher-account-error{color:#842727;background:#fff2f2;border:1px solid #efb4b4;border-radius:9px;padding:9px 11px;font-size:11px;line-height:1.35}.login-notice{color:#667a82;text-align:center;margin:19px 0 0;font-size:11px;font-weight:400;line-height:1.45}.login-checking,.login-checking-card{color:var(--muted);font-size:13px;font-weight:700}.login-checking{margin-top:28px}.login-checking-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:24px 30px}.login-mascot{z-index:1;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 13px 15px #00233338);width:170px;height:220px;position:absolute;bottom:20px;right:30px}.teacher-accounts,.account-settings{border-top:1px solid var(--line);padding:19px 22px 22px}.teacher-accounts{background:#f7fbfa}.teacher-accounts-heading,.account-settings-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-accounts-heading h3,.account-settings-heading h3{color:var(--navy);margin:0;font-size:15px}.teacher-accounts-heading p,.account-settings-heading p{color:var(--muted);margin:3px 0 0;font-size:10px}.teacher-accounts-heading>span{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:850;display:grid}.teacher-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px;display:grid}.teacher-create-form>button{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:10px;grid-column:1/-1;min-height:42px;font-size:11px;font-weight:800}.teacher-create-form>button:disabled,.account-settings form>button:disabled,.teacher-password-reset button:disabled{cursor:not-allowed;opacity:.45}.teacher-account-error,.teacher-account-empty{margin-top:12px}.teacher-account-empty{color:var(--muted);text-align:center;background:#fff;border:1px dashed #cbded9;border-radius:10px;padding:16px;font-size:11px}.teacher-account-list{gap:7px;margin-top:13px;display:grid}.teacher-account-row{background:#fff;border:1px solid #d7e5e1;border-radius:11px;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:8px;display:grid}.teacher-avatar{color:#fff;background:var(--teal);border-radius:9px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:850;display:grid}.teacher-account-row>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.teacher-account-row strong{color:var(--ink);font-size:11px}.teacher-account-row span,.teacher-account-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.teacher-account-row small{color:var(--teal);font-weight:750}.teacher-status{background:#e8f6e7;border-radius:999px;padding:4px 7px;font-weight:800;color:#277929!important;font-size:8px!important}.teacher-status.is-disabled{background:#fff0f0;color:#8d3434!important}.teacher-actions{gap:5px;display:flex}.teacher-actions button,.teacher-password-reset button,.account-settings button{min-height:30px;color:var(--navy);cursor:pointer;background:#edf4f6;border:0;border-radius:8px;padding:0 9px;font-size:9px;font-weight:800}.teacher-actions .disable-account{color:#943737;background:#fff0f0}.teacher-actions .enable-account{color:#247126;background:#eaf7e8}.teacher-password-reset{grid-column:2/-1;gap:7px;display:flex}.teacher-password-reset button{color:#fff;background:var(--navy);flex:none}.account-settings{background:#fff}.account-settings-heading>button{color:#8b3030;background:#fff0f0}.account-settings form{grid-template-columns:1fr 1fr auto;align-items:end;gap:9px;margin-top:14px;display:grid}.account-settings form>button{color:#fff;background:var(--navy);min-height:43px}.account-success,.account-error{margin:9px 0 0;font-size:10px;font-weight:700}.account-success{color:#247126}.account-error{color:#8b3030}footer{flex:none;justify-content:center;gap:clamp(28px,6vw,90px);padding:25px 16px 0;display:flex}footer div{color:var(--navy);grid-template-columns:35px auto;font-size:12px;display:grid}footer div:before{color:#fff;background:var(--teal);content:"✓";border-radius:50%;grid-row:span 2;place-items:center;width:28px;height:28px;font-weight:900;display:grid}footer div:nth-child(2):before{content:"★";background:#eaae00}footer div:nth-child(3):before{content:"↗";background:#52216e}.school-values-footer .school-value{grid-template-columns:54px auto;align-items:center;column-gap:6px}.school-values-footer .school-value:before{content:none;display:none}.footer-mascot{object-fit:contain;filter:drop-shadow(0 3px 3px #092d3a24);align-self:center;width:48px;height:54px}.school-values-footer .school-value-copy{color:inherit;flex-direction:column;align-self:center;gap:1px;display:flex}.school-values-footer .school-value-copy strong{color:#0d3150;letter-spacing:-.01em;text-transform:none;font-size:14px;font-weight:700;line-height:1.15}.school-values-footer .school-value-copy>span{color:#5c7180;font-size:12px;font-weight:450;line-height:1.15}footer strong{text-transform:uppercase;font-size:12px}footer span{color:var(--muted);font-size:11px}@keyframes pulse{50%{opacity:.5}}@media (width<=980px){main{padding-inline:16px}.values{display:none}.board-shell{scroll-snap-type:x proximity;overflow-x:auto}.level{scroll-snap-align:start}footer{flex-wrap:wrap}}@media (width<=760px){.board-shell{overflow:hidden}.desktop-board-intro,.desktop-ladder{display:none}.mobile-student-board{flex-direction:column;flex:1 0 auto;gap:12px;padding:14px;display:flex}.mobile-list-heading{justify-content:space-between;align-items:center;gap:16px;padding:2px 3px 4px;display:flex}.mobile-list-heading>div{flex-direction:column;min-width:0;display:flex}.mobile-list-heading strong{color:var(--navy);font-size:18px;line-height:1.1}.mobile-list-heading span,.mobile-list-heading p{color:var(--muted);margin:0;font-size:11px;font-weight:650}.mobile-list-heading p{text-align:right;max-width:150px}.mobile-student-list{flex-direction:column;gap:4px;display:flex}.mobile-student-row{color:#fff;background:linear-gradient(135deg, var(--step-color), var(--step-color-dark));border:1px solid #ffffffbd;border-radius:14px;grid-template-columns:42px 36px minmax(0,1fr) 42px;align-items:stretch;min-height:44px;transition:filter .14s,opacity .14s;display:grid;overflow:hidden;box-shadow:0 4px 10px #10303a21}.mobile-student-row.level-4{color:#3d2c08}.mobile-student-row.is-saving{filter:saturate(.65);opacity:.68}.mobile-step-button{min-width:42px;min-height:44px;color:inherit;touch-action:manipulation;background:#0000001f;border:0;border-radius:0;place-items:center;font-size:22px;font-weight:900;line-height:1;display:grid}.mobile-step-button:active:not(:disabled){background:#00000040}.mobile-step-button:disabled{cursor:default;opacity:.28}.mobile-step-number{color:#18384a;background:#fffffff0;border-radius:50%;place-self:center;place-items:center;width:27px;height:27px;font-size:15px;font-weight:900;line-height:1;display:grid;box-shadow:0 2px 5px #11343d21}.mobile-student-name{flex-direction:column;align-self:center;min-width:0;padding:3px 7px;display:flex}.mobile-student-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:850;line-height:1.05;overflow:hidden}.mobile-student-name span{opacity:.9;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:1px;font-size:8px;font-weight:750;line-height:1;overflow:hidden}.mobile-list-message{min-height:130px;color:var(--muted);text-align:center;background:#f7faf5d6;border:2px dashed #d5e3df;border-radius:14px;place-items:center;font-size:14px;font-weight:700;display:grid}.login-brand{grid-template-columns:65px minmax(0,1fr) 65px;gap:9px}.login-header-mascot{transform:scale(1.16)}}.login-brand{align-items:center;justify-content:initial;grid-template-columns:104px minmax(0,1fr) 104px;gap:18px;display:grid}.login-school-name{text-align:center;justify-items:center}.login-school-name strong,.login-school-name span{white-space:nowrap}.login-header-mascot{object-fit:contain;object-position:center;filter:drop-shadow(0 7px 10px #0832451a);width:104px;height:116px}@media (width<=760px){.login-brand{grid-template-columns:65px minmax(0,1fr) 65px;gap:9px}.login-header-mascot{width:65px;height:84px}}@media (width<=640px){main{padding-top:18px}.hero{gap:13px;min-height:112px}.school-logo{width:58px;height:88px}.hero-mascot{width:72px;height:100px}h1{font-size:clamp(31px,10vw,45px)}.tagline{font-size:17px}.toolbar{flex-direction:column;align-items:stretch}.setup-launch{flex-direction:column;align-items:flex-start}.toolbar-buttons{width:100%}.toolbar-buttons button{flex:1;justify-content:center}.add-row input{width:100%;min-width:0}.add-row button{white-space:nowrap;padding-inline:12px}.class-summary{text-align:left;width:fit-content}.board-intro{justify-content:flex-start}.setup-backdrop{align-items:end;padding:0}.setup-dialog{border-radius:22px 22px 0 0;max-height:94vh}.history-backdrop{align-items:end;padding:0}.history-dialog{border-radius:22px 22px 0 0;width:100%;height:96vh}.history-header{min-height:68px;padding:11px 14px}.history-header-actions>span{display:none}.history-date-strip button{min-width:96px}.setup-input-row{flex-direction:column;align-items:stretch}.roster-list{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start;gap:14px;padding-left:24px}}@media (width<=760px){main{position:relative}.history-dialog{border-radius:0;height:100dvh}.history-header{min-height:64px;padding:10px 14px}.history-header h2{font-size:24px}.desktop-history-title{display:none}.mobile-history-title{display:inline}.history-header-actions button{min-height:36px;padding:0 13px}.history-date-strip{gap:6px;padding:8px 10px;scroll-padding-left:10px}.history-date-strip button{min-width:84px;min-height:54px;padding:5px 7px}.history-date-strip strong{font-size:13px}.history-content{padding:11px;overflow-y:auto}.history-day-heading{align-items:flex-start;gap:10px;padding-bottom:10px}.history-day-heading h3{font-size:18px;line-height:1.1}.history-day-heading>span{white-space:nowrap;padding:6px 8px}.desktop-history-board{display:none}.mobile-history-tools{justify-content:space-between;align-items:center;gap:10px;margin:-2px 1px 8px;display:flex}.mobile-history-tools>span{color:var(--muted);font-size:11px;font-weight:750}.mobile-history-tools button{min-height:36px;color:var(--teal);cursor:pointer;background:#edf7f4;border:1px solid #b9d7d1;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:800;display:inline-flex}.mobile-history-tools button:active{color:#fff;border-color:var(--teal);background:var(--teal)}.mobile-history-list{flex-direction:column;gap:4px;display:flex}.mobile-history-row{color:#fff;background:linear-gradient(135deg, var(--step-color), var(--step-color-dark));border:1px solid #ffffffbd;border-radius:14px;grid-template-columns:42px minmax(0,1fr);align-items:center;min-height:44px;display:grid;overflow:hidden;box-shadow:0 4px 10px #10303a21}.mobile-history-row.level-4{color:#3d2c08}.mobile-history-step{color:#18384a;background:#fffffff0;border-radius:50%;justify-self:center;place-items:center;width:27px;height:27px;font-size:15px;font-weight:900;line-height:1;display:grid;box-shadow:0 2px 5px #11343d21}.mobile-history-name{flex-direction:column;min-width:0;padding:3px 12px 3px 1px;display:flex}.mobile-history-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:850;line-height:1.05;overflow:hidden}.mobile-history-name span{opacity:.9;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:1px;font-size:8px;font-weight:750;line-height:1;overflow:hidden}.login-page{align-items:stretch;padding:0}.login-card{border:0;border-radius:0;grid-template-columns:1fr;align-content:start;width:100%;min-height:100dvh}.login-brand{min-height:215px;padding:19px 22px 22px}.login-brand .login-logo{width:46px;height:66px}.login-brand-header{gap:11px}.login-school-name strong{font-size:15px}.login-school-name span{font-size:12px}.login-school-name small{margin-top:5px;font-size:9px}.login-brand-copy{width:calc(100% - 90px);margin-top:19px}.login-brand-copy>p{margin-bottom:6px;font-size:9px}.login-brand h1{border-radius:11px;padding:7px 11px 9px;font-size:35px;line-height:.86}.login-brand-tagline{gap:7px;margin-top:13px}.login-brand-tagline>span{width:20px;height:20px;font-size:12px}.login-brand-tagline strong{font-size:13px}.login-content{justify-content:flex-start;padding:28px 24px 36px}.login-heading h2{font-size:27px}.login-form{margin-top:20px}.login-mascot{opacity:.96;width:91px;height:126px;inset:79px 8px auto auto}.teacher-accounts,.account-settings{padding:17px 16px 19px}.teacher-create-form,.account-settings form{grid-template-columns:1fr}.teacher-create-form>button{grid-column:auto}.teacher-account-row{grid-template-columns:32px minmax(0,1fr) auto}.teacher-status{grid-area:1/3}.teacher-actions{grid-column:2/-1}.teacher-password-reset{grid-column:1/-1}.account-settings-heading{align-items:flex-start}.hero{padding-top:48px;position:relative}.hero-side,.hero-side-lower{display:contents}.hero-actions{z-index:12;flex-wrap:nowrap;gap:6px;padding:0;position:absolute;top:0;right:0}.hero-actions .setup-button,.hero-actions .history-button,.hero-actions .admin-button,.hero-actions .sign-out-button{border-radius:50%;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;font-size:0;position:static;box-shadow:0 5px 14px #0b3c5626}.hero-actions .setup-button span,.hero-actions .history-button span,.hero-actions .admin-button span,.hero-actions .sign-out-button span{place-items:center;width:100%;height:100%;font-family:Segoe UI Symbol,sans-serif;font-size:17px;line-height:1;display:grid;transform:none}.hero-actions .admin-button span{font-family:inherit;font-size:13px}.hero .class-summary{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-page{background:radial-gradient(circle at 0 100%,#078a840e 0 17rem,#0000 17.1rem),radial-gradient(circle at 100%,#078a8409 0 11rem,#0000 11.1rem),linear-gradient(145deg,#fbfdfd,#edf6f4);padding:42px 24px;position:relative;overflow:hidden}.login-card{--login-ui-font:"Segoe UI", Arial, Helvetica, sans-serif;z-index:1;background:#fffffff7;border:1px solid #0a536417;border-radius:27px;width:min(100%,760px);min-height:690px;padding:38px 76px 34px;display:block;position:relative;overflow:visible;box-shadow:0 26px 70px #143e4a26}.login-brand{color:var(--navy);background:0 0;justify-content:center;align-items:center;gap:24px;padding:0;display:flex;overflow:visible}.login-brand:before,.login-brand:after{display:none}.login-brand .login-logo{object-fit:contain;filter:drop-shadow(0 6px 10px #08324517);flex:none;width:82px;height:116px}.login-school-name{font-family:var(--login-ui-font);line-height:1;display:grid}.login-school-name strong{color:#11194e;letter-spacing:-.025em;font-size:31px;font-weight:700}.login-school-name span{color:#11194e;opacity:1;margin-top:5px;font-size:25px;font-weight:400}.login-school-name small{color:#31a77d;letter-spacing:.2em;text-transform:uppercase;margin-top:13px;font-size:13px;font-weight:700}.login-divider{align-items:center;gap:10px;margin:22px 0 30px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#dbe8e7;flex:1;height:1px}.login-divider>span{background:#6bc9a3;border-radius:50%;width:8px;height:8px}.login-content{font-family:var(--login-ui-font);-webkit-font-smoothing:antialiased;flex-direction:column;justify-content:flex-start;padding:0;display:flex}.login-heading{text-align:center}.login-heading h2{color:var(--navy);letter-spacing:-.025em;margin:0;font-size:32px;font-weight:650;line-height:1.2}.login-heading>span{color:#657883;margin-top:7px;font-size:15px;font-weight:400;line-height:1.5;display:block}.login-form{gap:18px;margin-top:28px;display:grid}.login-form>label{color:var(--navy);font-family:var(--login-ui-font);gap:8px;font-size:13px;font-weight:650;display:grid}.login-input-field,.password-field{display:block;position:relative}.login-form input{width:100%;min-width:0;height:52px;color:var(--ink);font-family:var(--login-ui-font);letter-spacing:0;-webkit-font-smoothing:antialiased;background:#fff;border:1px solid #bed0d3;border-radius:10px;padding:0 14px;font-size:15px;font-weight:400;line-height:1.2}.login-input-field input,.password-field input{padding-left:47px}.password-field input{padding-right:68px}.login-form input::placeholder{color:#80919a;opacity:1}.login-form input:focus{border-color:var(--teal);outline:3px solid #078a841f}.login-field-icon{z-index:1;color:#74939b;width:17px;height:17px;font-family:"Segoe UI Symbol", var(--login-ui-font);pointer-events:none;place-items:center;font-size:18px;font-weight:400;line-height:1;display:grid;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.login-field-icon.is-lock:before{content:"";border:1.7px solid;border-radius:2px;height:10px;position:absolute;bottom:1px;left:2px;right:2px}.login-field-icon.is-lock:after{content:"";border:1.7px solid;border-bottom:0;border-radius:6px 6px 0 0;width:7px;height:8px;position:absolute;top:0;left:5px}.password-field button{color:#168c70;height:42px;font-family:var(--login-ui-font);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 10px;font-size:12px;font-weight:650;position:absolute;top:5px;right:7px}.login-submit{color:#fff;min-height:52px;font-family:var(--login-ui-font);cursor:pointer;background:linear-gradient(110deg,#093c61,#07927f);border:0;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-top:1px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 9px 20px #0751662e}.login-submit-lock{width:14px;height:15px;position:relative}.login-submit-lock:before{content:"";border:1.6px solid;border-radius:2px;height:9px;position:absolute;bottom:0;left:1px;right:1px}.login-submit-lock:after{content:"";border:1.6px solid;border-bottom:0;border-radius:5px 5px 0 0;width:6px;height:7px;position:absolute;top:0;left:4px}.login-notice{color:#667a82;text-align:center;border-top:1px solid #dbe8e7;justify-content:center;align-items:center;gap:11px;margin:30px 0 0;padding-top:27px;font-size:12px;font-weight:400;line-height:1.45;display:flex}.login-notice-shield{color:#31a77d;font-family:Segoe UI Symbol,sans-serif;font-size:22px;line-height:1}.login-checking{text-align:center;margin-top:28px}@media (width<=760px){.login-page{align-items:start;padding:0;overflow:auto}.login-card{border:0;border-radius:0;width:100%;min-height:100dvh;padding:27px 22px 30px}.login-brand{gap:15px}.login-brand .login-logo{width:59px;height:84px}.login-school-name strong{font-size:23px}.login-school-name span{font-size:19px}.login-school-name small{margin-top:9px;font-size:10px}.login-divider{margin:19px 0 24px}.login-heading h2{font-size:28px}.login-heading>span{font-size:14px}.login-form{margin-top:25px}.login-notice{margin-top:26px;padding-top:23px}}.login-form>label.login-remember{color:#536b77;cursor:pointer;grid-template-columns:none;align-items:center;gap:9px;width:fit-content;font-size:13px;font-weight:500;display:inline-flex}.login-form .login-remember input{appearance:none;cursor:pointer;background:#fff;border:1.5px solid #9ab2b6;border-radius:4px;flex:0 0 18px;place-items:center;width:18px;min-width:18px;height:18px;margin:0;padding:0;display:grid}.login-form .login-remember input:before{content:"";opacity:0;border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;transform:translateY(-1px)rotate(-45deg)}.login-form .login-remember input:checked{border-color:var(--teal);background:var(--teal)}.login-form .login-remember input:checked:before{opacity:1}.login-brand{grid-template-columns:104px minmax(0,1fr) 104px;justify-content:stretch;align-items:center;gap:18px;display:grid}.login-brand .login-logo{justify-self:center}.login-school-name{text-align:center;justify-items:center;width:100%}.login-header-mascot{transform-origin:50%;justify-self:center;transform:scale(1.22)}@media (width<=760px){.login-brand{grid-template-columns:65px minmax(0,1fr) 65px;gap:9px}.login-header-mascot{transform:scale(1.16)}}body{-webkit-font-smoothing:antialiased;font-family:Segoe UI,Arial,Helvetica,sans-serif}.eyebrow{letter-spacing:.14em;font-size:12px;font-weight:700;line-height:1.45}.hero h1{letter-spacing:-.045em;font-size:clamp(38px,4.5vw,62px);font-weight:700;line-height:.98}.class-name-heading{letter-spacing:.01em;font-weight:650}.tagline{font-weight:600;line-height:1.3}.setup-button,.history-button,.admin-button,.sign-out-button{font-size:12px;font-weight:600}.class-summary strong{font-weight:650}.class-summary span{font-weight:600}.class-summary small{font-size:11.5px;font-weight:400}.board-intro p{color:#536d7b;font-weight:400}.level-number{font-weight:700}.level-heading h2{letter-spacing:-.015em;font-size:15.5px;font-weight:700;line-height:1.08}.level-heading p{font-size:10.5px;font-weight:600;line-height:1.25}.level-hint{font-size:10.5px;font-weight:500;line-height:1.4}.student-count{letter-spacing:.025em;font-size:10.5px;font-weight:600}.student-count span{font-weight:650}.bulk-select-button{font-size:9px;font-weight:600}.student-main strong,.history-student-card strong{font-weight:600}.student-avatar,.student-checkbox{font-weight:700}.history-header p,.history-day-heading p,.history-header h2{font-weight:600}footer div{font-weight:400}footer div:before{font-weight:700}footer strong{letter-spacing:.02em;font-weight:650}footer span{font-weight:400}@media (width<=760px){.mobile-list-heading strong{font-weight:650}.mobile-list-heading span,.mobile-list-heading p{font-weight:500}.mobile-step-button,.mobile-step-number{font-weight:700}.mobile-student-name strong{font-weight:650}.mobile-student-name span{font-weight:600}}@media (width>=761px){main:not(.login-page){padding-top:20px;padding-bottom:24px}.hero{min-height:128px;padding-bottom:12px}.school-logo{width:clamp(68px,6vw,90px);height:clamp(98px,8vw,120px)}.hero h1{font-size:clamp(38px,4vw,56px)}.class-name-heading{margin-top:4px}.tagline{margin-top:5px;font-size:clamp(18px,1.7vw,23px)}.tagline:after{height:3px;bottom:-5px}.hero-mascot{width:clamp(72px,6vw,92px);height:90px}.board-shell{border-radius:22px;box-shadow:0 14px 38px #0b364d17}.board-intro{min-height:40px;padding-inline:18px}.ladder{gap:10px;padding:18px 18px 16px}.level{margin-top:calc((7 - var(--level)) * 18px);border-width:1px;border-radius:17px 17px 14px 14px;box-shadow:0 8px 17px #1c3e441a}.level-heading{min-height:88px;padding:14px 11px 7px}.level-hint{min-height:44px;padding:0 12px 10px}.student-zone{border-radius:11px;min-height:0;margin:0 6px 6px;padding:8px 7px;overflow:hidden}.student-zone-toolbar{flex:none;margin-bottom:6px}.student-list{overscroll-behavior:contain;scrollbar-color:#b8cbc7 transparent;scrollbar-width:thin;flex:1;min-height:0;padding-right:2px;overflow-y:auto}footer{opacity:.88;gap:clamp(24px,5vw,72px);padding-top:18px}}.teacher-class-options label{color:#25485b;cursor:pointer;background:#fff;border:1px solid #c8d9e1;border-radius:8px;align-items:center;gap:7px;min-height:34px;margin:0;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.teacher-class-options label:has(input:checked){color:#075f5b;background:#eaf7f4;border-color:#51aa9e;box-shadow:inset 0 0 0 1px #51aa9e1f}@media (width<=760px){.class-name-heading select{color:#fff;max-width:min(220px,58vw);padding:1px 22px 1px 0}.class-name-heading:after{border-color:#fff;right:4px}.teacher-create-fields{grid-template-columns:1fr}.teacher-class-options{grid-template-columns:1fr;display:grid}.teacher-class-options label{width:100%}.teacher-account-row{grid-template-columns:38px minmax(0,1fr) auto}.teacher-status{grid-column:3}.teacher-actions{grid-column:1/-1}}.mobile-menu{display:none}@media (width<=760px){.desktop-hero-actions{display:none}.mobile-menu{z-index:40;display:block;position:absolute;top:0;right:0}.mobile-menu-toggle{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #bfd8eb6b;border-radius:10px;place-content:center;gap:4px;width:42px;height:42px;padding:10px;display:grid;box-shadow:0 5px 14px #000a182e}.mobile-menu-toggle>span{background:currentColor;border-radius:2px;width:19px;height:2px;display:block}.mobile-menu-toggle:focus-visible,.mobile-menu-list button:focus-visible{outline-offset:2px;outline:3px solid #7ed8c78c}.mobile-menu-list{background:#fff;border:1px solid #d6e2e8;border-radius:12px;flex-direction:column;width:min(260px,100vw - 28px);padding:6px;display:flex;position:absolute;top:49px;right:0;overflow:hidden;box-shadow:0 14px 34px #051f333d}.mobile-menu-list button{color:#12364f;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:48px;padding:0 12px;font-family:Segoe UI,Arial,Helvetica,sans-serif;font-size:15px;font-weight:650;display:grid}.mobile-menu-list button:hover,.mobile-menu-list button:active{background:#eef7f5}.mobile-menu-list button>span{color:#087f78;background:#e7f4f1;border-radius:7px;place-items:center;width:28px;height:28px;font-family:Segoe UI Symbol,Segoe UI,sans-serif;font-size:16px;display:grid}.mobile-menu-list .mobile-menu-sign-out{color:#8e3131;border-top:1px solid #e4eaee;border-radius:0 0 8px 8px;margin-top:4px}.mobile-menu-list .mobile-menu-sign-out>span{color:#983d3d;background:#faecec}.mobile-menu-list button:disabled{cursor:wait;opacity:.55}.school-values-footer{display:none}}@media (width>=761px){.hero-actions .history-button,.hero-actions .setup-button,.hero-actions .admin-button,.hero-actions .sign-out-button{min-height:38px;color:var(--navy);letter-spacing:0;background:#ffffffeb;border:1px solid #cbdeda;border-radius:11px;justify-content:flex-start;gap:8px;padding:0 13px 0 9px;font-size:11px;font-weight:650;box-shadow:0 4px 11px #0c415411}.hero-actions .history-button>span,.hero-actions .setup-button>span,.hero-actions .admin-button>span,.hero-actions .sign-out-button>span{color:#087f78;background:#e7f4f1;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-family:Segoe UI Symbol,Segoe UI,sans-serif;font-size:14px;font-weight:700;line-height:1;display:grid}.hero-actions .history-button:hover,.hero-actions .setup-button:hover,.hero-actions .admin-button:hover{color:var(--navy);background:#f3faf8;border-color:#91c9c2;box-shadow:0 5px 13px #0c415417}.hero-actions .sign-out-button{color:#7f3232;background:snow;border-color:#e8d2d2}.hero-actions .sign-out-button>span{color:#983d3d;background:#faecec}.hero-actions .sign-out-button:hover{color:#7f3232;background:#fff3f3;border-color:#dcaeae;box-shadow:0 5px 13px #73262614}}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.class-name-heading{position:relative}.class-name-heading select{width:100%;min-width:110px;max-width:240px;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;cursor:pointer;appearance:none;background:0 0;border:0;outline:0;padding:2px 24px 2px 0}.class-name-heading:after{pointer-events:none;content:"";border-bottom:2px solid #9fe0d4;border-right:2px solid #9fe0d4;width:7px;height:7px;position:absolute;top:50%;right:3px;transform:translateY(-70%)rotate(45deg)}.class-name-heading:has(select:disabled):after{opacity:.42}.class-name-heading select:disabled{cursor:default;opacity:1}.class-name-heading option{color:#102d42;background:#fff}.teacher-create-form{grid-template-columns:1fr;gap:13px;display:grid}.teacher-create-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.teacher-class-picker,.teacher-class-editor{background:#f8fbfc;border:1px solid #d9e4e9;border-radius:10px;margin:0;padding:14px}.teacher-class-picker legend{color:#17384b;padding:0 5px;font-size:13px;font-weight:700}.teacher-class-picker>p,.teacher-class-editor>div:first-child>span{color:#657987;margin:0 0 10px;font-size:12px;line-height:1.35}.teacher-class-options{flex-wrap:wrap;gap:7px;display:flex}.teacher-class-options label{color:#25485b;cursor:pointer;background:#fff;border:1px solid #c8d9e1;border-radius:8px;align-items:center;gap:7px;width:auto;min-height:34px;margin:0;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.teacher-class-options label:has(input:checked){color:#075f5b;background:#eaf7f4;border-color:#51aa9e}.teacher-class-options input{accent-color:#178d83;width:15px;height:15px;margin:0}.teacher-new-class{gap:7px;display:grid;margin-top:13px!important}.teacher-new-class input,.teacher-create-form>button{width:100%}.teacher-account-row{grid-template-columns:40px minmax(0,1fr) auto auto}.teacher-account-identity{min-width:0}.teacher-class-tags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.teacher-account-row .teacher-class-tags small{color:#176c66;background:#e7f4f1;border-radius:5px;margin:0;padding:3px 6px;font-size:10px;font-weight:650;line-height:1.2}.teacher-class-editor{grid-column:1/-1;gap:12px;margin-top:4px;display:grid}.teacher-class-editor>div:first-child{gap:3px;display:grid}.teacher-class-editor>div:first-child>strong{color:#17384b;font-size:13px}.teacher-class-editor>div:first-child>span{margin:0}.teacher-editor-actions{justify-content:flex-end;gap:8px;display:flex}.teacher-editor-actions button{color:#284c5f;cursor:pointer;background:#fff;border:1px solid #c7d6de;border-radius:8px;min-height:36px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:650}.teacher-editor-actions button:last-child{color:#fff;background:#0d5d7e;border-color:#0d5d7e}.teacher-editor-actions button:disabled{cursor:not-allowed;opacity:.52}@media (width<=760px){.class-name-heading select{color:#fff;max-width:min(220px,58vw);padding:1px 22px 1px 0}.class-name-heading:after{border-color:#fff;right:4px}.teacher-create-fields,.teacher-class-options{grid-template-columns:1fr}.teacher-class-options{display:grid}.teacher-class-options label{width:100%}.teacher-account-row{grid-template-columns:38px minmax(0,1fr) auto}.teacher-status{grid-column:3}.teacher-actions{grid-column:1/-1}.hero-actions .history-button,.hero-actions .setup-button,.hero-actions .admin-button{color:var(--navy);background:#fffffff2;border-color:#cbdeda}.hero-actions .history-button span,.hero-actions .setup-button span,.hero-actions .admin-button span,.hero-actions .sign-out-button span{color:inherit;background:0 0;font-family:Segoe UI Symbol,Segoe UI,sans-serif;font-size:17px;font-weight:700}.hero-actions .sign-out-button{color:#8e3131;background:#fff4f4;border-color:#efd1d1}}@media (width>=761px){.hero-side{flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-end;gap:10px;min-width:min(500px,44vw);display:flex}.hero-actions{flex-wrap:nowrap;gap:7px;padding-top:0}.setup-button,.history-button,.admin-button,.sign-out-button{border-radius:10px;min-height:36px;padding-inline:12px;box-shadow:0 3px 9px #0c41540e}.hero-side-lower{justify-content:flex-end;align-items:center;gap:12px;width:auto}.class-summary{text-align:left;background:#ffffffc7;border:1px solid #d5e5e2;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:1px 9px;min-width:238px;padding:8px 12px;box-shadow:0 4px 12px #0c41540b}.class-summary strong{grid-row:span 2;font-size:30px}.class-summary span{font-size:12.5px;line-height:1.15}.class-summary small{font-size:10.5px;line-height:1.2}.hero-mascot{width:70px;height:74px}}.level{--header-ink:#fff;--header-muted:#ffffffeb;--header-rule:#ffffff47;--header-panel:#031a2480}.level-1{--step-color:#dc3039;--step-color-dark:#c8242f}.level-7{--step-color:#0d842f;--step-color-dark:#076d2c}.level-heading{min-height:82px;color:var(--header-ink);background:var(--header-panel);border-radius:12px 12px 0 0;margin:8px 8px 0;padding:11px 9px 7px}.level-heading>div{min-width:0}.level-heading h2{color:inherit;letter-spacing:-.012em;text-transform:none;text-wrap:balance;margin-bottom:4px;font-size:15.5px;font-weight:750;line-height:1.08}.level-heading p{color:var(--header-muted);opacity:1;font-size:10.5px;font-weight:650;line-height:1.25}.level-hint{border-top:1px solid var(--header-rule);min-height:44px;color:var(--header-muted);background:var(--header-panel);border-radius:0 0 10px 10px;margin:0 8px;padding:8px 9px 10px;font-size:10.5px;font-weight:550;line-height:1.35}.level-number{color:#082f44;font-weight:750}@media (width>=761px){body{background:#f7f9fb}main:not(.login-page){width:100%;max-width:none;padding:0 28px 24px}.hero{color:#fff;background:radial-gradient(circle at 72% -80%,#1a5b8457,#0000 48%),linear-gradient(112deg,#071e38,#092746 62%,#071b33);border-bottom:1px solid #ffffff14;gap:16px;min-height:108px;margin:0 -28px;padding:14px 30px}.school-logo{filter:drop-shadow(0 5px 8px #0000002e);width:56px;height:76px}.hero-copy{grid-template-columns:auto auto;grid-template-areas:"title class""tagline class";align-items:center;gap:2px 34px;display:grid}.hero-copy .eyebrow{display:none}.hero-copy h1{color:#fff;letter-spacing:-.025em;text-transform:none;grid-area:title;font-size:clamp(24px,2vw,31px);font-weight:720;line-height:1.05}.hero-copy .tagline{color:#7ed8c7;grid-area:tagline;margin:0;font-size:15px;font-style:normal;font-weight:600;line-height:1.2}.hero-copy .tagline:after{display:none}.class-name-heading{color:#dce9f1;text-align:left;cursor:default;white-space:nowrap;background:0 0;border:0;border-left:1px solid #d6e6f047;border-radius:0;grid-area:class;min-width:0;min-height:0;margin:0;padding:2px 0 2px 18px;font-size:13px;font-weight:650;display:block}.hero-side{flex-direction:row-reverse;flex:auto;justify-content:flex-start;align-self:center;align-items:center;gap:18px;min-width:0;margin-left:auto;display:flex}.hero-actions{flex-wrap:nowrap;gap:8px;padding:0}.hero-actions .history-button,.hero-actions .setup-button,.hero-actions .admin-button,.hero-actions .sign-out-button{color:#f4f8fb;min-height:42px;box-shadow:none;background:#ffffff09;border:1px solid #bfd8eb40;border-radius:8px;gap:7px;padding:0 12px;font-size:11px;font-weight:600}.hero-actions .history-button>span,.hero-actions .setup-button>span,.hero-actions .admin-button>span,.hero-actions .sign-out-button>span{color:#dceaf2;background:0 0;border-radius:0;flex-basis:18px;width:18px;height:18px;font-size:14px}.hero-actions .history-button:hover,.hero-actions .setup-button:hover,.hero-actions .admin-button:hover,.hero-actions .sign-out-button:hover{color:#fff;box-shadow:none;background:#ffffff17;border-color:#7ed8c794}.hero-side-lower{align-items:center;gap:12px;width:auto}.class-summary{color:#fff;text-align:left;min-width:155px;box-shadow:none;background:0 0;border:0;border-right:1px solid #d6e6f038;border-radius:0;grid-template-columns:auto 1fr;gap:0 8px;padding:0 16px 0 0}.class-summary strong{color:#fff;grid-row:span 2;font-size:20px}.class-summary span{color:#fff;font-size:11px;font-weight:600}.class-summary small{color:#8fcf78;font-size:9.5px;font-weight:500}.hero-mascot{display:none}.board-shell{box-shadow:none;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-color:#8fa7b5 #edf2f5;scrollbar-gutter:stable;scrollbar-width:auto;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;background:#fff;border:0;border-radius:0;margin-top:0;scroll-padding-inline:6px;overflow:auto hidden}.board-shell::-webkit-scrollbar{height:12px}.board-shell::-webkit-scrollbar-track{background:#edf2f5;border-radius:999px}.board-shell::-webkit-scrollbar-thumb{background:#8fa7b5;border:3px solid #edf2f5;border-radius:999px}.board-shell::-webkit-scrollbar-thumb:hover{background:#688596}.board-intro{z-index:15;background:#fff;border-bottom:1px solid #dfe6eb;justify-content:flex-start;width:100%;min-height:72px;padding:0 8px;position:sticky;left:0}.board-intro p{color:#526777;font-size:12px;font-weight:500}.board-intro p>span{color:#45657b}.board-zoom{margin-left:auto}.ladder.desktop-ladder{background:#fff;flex-basis:calc(100dvh - 286px);align-items:stretch;gap:10px;min-height:calc(100dvh - 286px);padding:18px 6px 0}.desktop-ladder .level{border:1px solid var(--step-border);border-top:4px solid var(--step-color-dark);background:var(--step-tint);scroll-snap-align:start;border-radius:11px;flex-basis:174px;min-width:174px;min-height:600px;margin-top:0;box-shadow:0 5px 14px #152d3e0e}.desktop-ladder .level.is-crowded{flex-basis:360px}.desktop-ladder .level-1{--step-tint:#fff7f7;--step-border:#f1d4d6}.desktop-ladder .level-2{--step-tint:#fff9f3;--step-border:#f2dcc8}.desktop-ladder .level-3{--step-tint:#fffaf3;--step-border:#f2ddc4}.desktop-ladder .level-4{--step-tint:#fffdf2;--step-border:#eee2ad}.desktop-ladder .level-5{--step-tint:#f8fdf2;--step-border:#d8e9c4}.desktop-ladder .level-6{--step-tint:#f5fbf3;--step-border:#d1e5cb}.desktop-ladder .level-7{--step-tint:#f3fbf7;--step-border:#cbe4d7}.desktop-ladder .level-heading{color:#102d42;background:0 0;border-radius:0;align-items:flex-start;gap:12px;min-height:98px;margin:0;padding:18px 15px 10px}.desktop-ladder .level-number{color:#fff;background:var(--step-color-dark);width:44px;height:44px;box-shadow:none;font-size:21px;font-weight:700}.desktop-ladder .level-heading h2{color:#102d42;letter-spacing:-.015em;text-transform:none;margin:3px 0 5px;font-size:17px;font-weight:720;line-height:1.18}.desktop-ladder .level-heading p{color:#6b7883;font-size:11.5px;font-weight:550;line-height:1.3}.desktop-ladder .level-hint{color:#536575;background:0 0;border:0;border-radius:0;min-height:48px;margin:0;padding:4px 16px 9px;font-size:13px;font-weight:480;line-height:1.42}.desktop-ladder .student-zone{min-height:0;box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0 12px 12px}.desktop-ladder .student-zone-toolbar{min-height:40px;margin-bottom:10px}.desktop-ladder .student-count,.desktop-ladder .student-count span{color:var(--step-color-dark);letter-spacing:0;text-transform:none;font-size:12px;font-weight:650}.desktop-ladder .bulk-select-button{border-color:var(--step-border);color:#36566b;background:#fffc;border-radius:8px;gap:5px;min-height:36px;padding:0 11px;font-size:11.5px;font-weight:650}.desktop-ladder .bulk-select-button span{font-size:13px}.desktop-ladder .bulk-select-button:hover:not(:disabled),.desktop-ladder .bulk-select-button[aria-pressed=true]{color:#fff;border-color:var(--step-color-dark);background:var(--step-color-dark)}.desktop-ladder .student-card{border-color:#d7e0e5;border-radius:6px;box-shadow:0 1px 3px #1934450f}.desktop-ladder .empty-zone,.desktop-ladder .loading-card{border-width:1px;border-color:var(--step-border);color:var(--step-color-dark)}@supports (color:color-mix(in lab, red, red)){.desktop-ladder .empty-zone,.desktop-ladder .loading-card{color:color-mix(in srgb, var(--step-color-dark) 72%, #536575)}}.desktop-ladder .empty-zone,.desktop-ladder .loading-card{background:#ffffff38}.desktop-ladder .level.is-drag-over{border-color:var(--step-color-dark);box-shadow:0 0 0 3px var(--step-color-dark), 0 7px 18px #152d3e17}@supports (color:color-mix(in lab, red, red)){.desktop-ladder .level.is-drag-over{box-shadow:0 0 0 3px color-mix(in srgb, var(--step-color-dark) 24%, transparent), 0 7px 18px #152d3e17}}.desktop-ladder .level.is-drag-over{transform:none}footer{background:#fff;border:1px solid #dfe6eb;border-radius:11px;justify-content:space-evenly;align-items:center;gap:30px;min-height:82px;margin:20px 6px 0;padding:14px 28px;box-shadow:0 5px 14px #152d3e0e}footer div{grid-template-columns:42px auto;align-items:center;min-width:190px}footer div:before{width:36px;height:36px}footer strong{text-transform:none;font-size:11px;font-weight:700}footer span{font-size:10px}}@media (width>=761px) and (width<=1240px){.hero{flex-wrap:wrap}.hero-side{width:100%}}@media (width<=760px){.class-name-heading>span{display:none}.class-name-heading strong{font:inherit}}.setup-dialog,.history-dialog{-webkit-font-smoothing:antialiased;font-family:Segoe UI,Arial,Helvetica,sans-serif}.setup-dialog{background:#f7f9fb;border-radius:16px;max-height:min(92dvh,880px)}.admin-dialog{width:min(100%,920px)}.setup-header,.history-header{background:radial-gradient(circle at 76% -120%,#1c65916b,#0000 52%),linear-gradient(112deg,#071e38,#092746 62%,#071b33);min-height:82px;padding:16px 22px}.setup-header p,.history-header p{color:#7ed8c7;letter-spacing:.09em;opacity:1;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:600}.setup-header h2,.history-header h2{color:#fff;letter-spacing:-.025em;font-size:27px;font-weight:650;line-height:1.15}.setup-header button,.history-header button{border-radius:8px;min-height:42px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600}.setup-error{padding:12px 22px;font-size:13px;line-height:1.4}.class-name-form,.setup-add-form{background:#fff;padding:20px 24px}.class-name-form{border:1px solid #dfe6eb;border-radius:12px 12px 0 0;margin:16px 16px 0}.setup-add-form{border:1px solid #dfe6eb;border-top:0;border-radius:0 0 12px 12px;margin:0 16px}.class-name-form label,.setup-add-form label,.account-settings label,.teacher-create-form label{color:#17384b;letter-spacing:0;margin-bottom:0;font-size:13px;font-weight:650}.setup-input-row{gap:10px;margin-top:8px}.setup-input-row input,.account-settings input,.teacher-create-form input,.teacher-password-reset input{color:#17384b;border-color:#bccdd6;border-radius:9px;height:46px;padding:0 13px;font-family:inherit;font-size:15px;font-weight:400}.class-name-form .setup-input-row input.is-locked{cursor:default;color:#385366;box-shadow:none;background:#f4f7f8;border-color:#d8e1e6}.class-name-form .setup-input-row input.is-editing{background:#fff;border-color:#2d74c8;box-shadow:0 0 0 3px #2d74c824}.setup-input-row button,.teacher-create-form>button,.account-settings form>button{border-radius:9px;min-height:46px;font-family:inherit;font-size:13px;font-weight:650}.setup-add-form p{margin-top:8px;font-size:12px;line-height:1.4}.roster-section,.teacher-accounts,.account-settings{background:#fff;border:1px solid #dfe6eb;border-radius:12px;margin:16px}.roster-section{padding:18px 8px 8px}.teacher-accounts,.account-settings{padding:20px}.admin-dialog .teacher-accounts{border-top:1px solid #dfe6eb}.roster-heading{margin-bottom:12px;padding:0 10px}.roster-heading h3,.teacher-accounts-heading h3,.account-settings-heading h3{color:#102d42;letter-spacing:-.015em;font-size:19px;font-weight:650}.roster-heading p,.teacher-accounts-heading p,.account-settings-heading p{color:#657987;margin-top:4px;font-size:12.5px;font-weight:400;line-height:1.4}.roster-list{gap:7px;max-height:350px;padding:2px}.roster-row{background:#fbfcfd;border-radius:9px;grid-template-columns:31px minmax(0,1fr) auto auto;gap:9px;min-height:48px;padding:6px 8px}.roster-avatar{border-radius:8px;width:30px;height:30px;font-size:11px}.roster-row strong{font-size:14px;font-weight:600}.roster-level{font-size:11px;font-weight:550}.roster-row button{min-height:32px;padding:0 10px;font-size:11px;font-weight:650}.teacher-accounts-heading>span{width:36px;height:36px;font-size:14px;font-weight:700}.teacher-create-form{gap:13px;margin-top:18px}.teacher-create-form label,.account-settings label{gap:8px}.teacher-create-form>button{font-size:14px}.teacher-account-error,.teacher-account-empty{font-size:13px;line-height:1.4}.teacher-account-list{gap:9px;margin-top:16px}.teacher-account-row{background:#fbfcfd;border-radius:10px;grid-template-columns:40px minmax(0,1fr) auto auto;gap:11px;min-height:62px;padding:9px 10px}.teacher-avatar{border-radius:10px;width:38px;height:38px;font-size:14px;font-weight:700}.teacher-account-row strong{color:#17384b;font-size:14px;font-weight:600}.teacher-account-row span,.teacher-account-row small{margin-top:2px;font-size:11.5px;font-weight:400}.teacher-account-row small{font-weight:600}.teacher-status{padding:5px 8px;font-weight:650;font-size:10px!important}.teacher-actions{gap:7px}.teacher-actions button,.teacher-password-reset button,.account-settings button{border-radius:8px;min-height:36px;padding:0 11px;font-family:inherit;font-size:11.5px;font-weight:650}.teacher-password-reset{gap:9px;margin-top:3px}.teacher-password-reset input{height:42px}.account-settings form{gap:11px;margin-top:17px}.account-success,.account-error{font-size:12px;line-height:1.4}.history-dialog{background:#f7f9fb;border-radius:16px;width:min(96vw,1760px);height:min(94dvh,980px)}.history-header-actions>span{padding:7px 10px;font-size:10px;font-weight:600}.history-class-picker{gap:4px;width:min(320px,28vw);margin-left:auto;display:grid}.history-class-picker>span{color:#a9e3d8;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:650;line-height:1}.history-class-picker select{color:#fff;cursor:pointer;background-color:#ffffff1a;border:1px solid #b2cfe16b;border-radius:8px;width:100%;min-height:42px;padding:0 38px 0 12px;font:600 14px/1 Segoe UI,Arial,Helvetica,sans-serif}.history-class-picker select:focus-visible{outline-offset:2px;outline:3px solid #7ed8c761}.history-class-picker select:disabled{cursor:wait;opacity:.72}.history-class-picker option{color:#17384b;background:#fff}.history-date-strip{background:#fff;border-bottom-color:#dfe6eb;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px;padding:12px 16px;display:grid}.history-date-strip button{color:#17384b;background:#fbfcfd;border-color:#d8e2e8;border-radius:9px;min-width:110px;min-height:68px;padding:8px 10px}.history-date-strip button:hover{color:#17384b;background:#f0f6f8;border-color:#8fb7c7}.history-date-strip button.is-selected{color:#fff;background:#0c456b;border-color:#0c456b}.history-date-strip span{font-size:10px;font-weight:650}.history-date-strip strong{font-size:16px;font-weight:650}.history-date-strip small{font-size:10px;font-weight:500}.history-content{padding:16px}.history-day-heading{background:#fff;border:1px solid #dfe6eb;border-radius:10px;min-height:66px;margin-bottom:12px;padding:10px 14px}.history-day-heading p{color:#168a81;font-size:10.5px;font-weight:650}.history-day-heading h3{color:#102d42;font-size:23px;font-weight:600}.history-day-heading>span{padding:7px 10px;font-size:10px;font-weight:650}.history-board-shell{overscroll-behavior-inline:contain;scrollbar-color:#8fa7b5 #edf2f5;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;background:#fff;border-color:#dfe6eb;border-radius:11px}.history-ladder{align-items:stretch;gap:10px;min-height:590px;padding:14px 10px}.history-ladder .history-level{border:1px solid var(--step-border);border-top:4px solid var(--step-color-dark);background:var(--step-tint);border-radius:11px;flex-basis:174px;min-width:174px;min-height:560px;margin-top:0;box-shadow:0 4px 12px #152d3e0e}.history-ladder .level-1,.mobile-history-row.level-1{--step-tint:#fff7f7;--step-border:#f1d4d6}.history-ladder .level-2,.history-ladder .level-3,.mobile-history-row.level-2,.mobile-history-row.level-3{--step-tint:#fff9f3;--step-border:#f2dcc8}.history-ladder .level-4,.mobile-history-row.level-4{--step-tint:#fffdf2;--step-border:#eee2ad}.history-ladder .level-5,.mobile-history-row.level-5{--step-tint:#f8fdf2;--step-border:#d8e9c4}.history-ladder .level-6,.mobile-history-row.level-6{--step-tint:#f5fbf3;--step-border:#d1e5cb}.history-ladder .level-7,.mobile-history-row.level-7{--step-tint:#f3fbf7;--step-border:#cbe4d7}.history-ladder .level-heading{color:#102d42;background:0 0;border-radius:0;align-items:flex-start;gap:10px;min-height:88px;margin:0;padding:16px 13px 10px}.history-ladder .level-number{color:#fff;background:var(--step-color-dark);width:40px;height:40px;box-shadow:none;font-size:19px;font-weight:700}.history-ladder .level-heading h2{color:#102d42;margin:3px 0 4px;font-size:15.5px;font-weight:700;line-height:1.18}.history-ladder .level-heading p{color:#6b7883;font-size:10.5px;font-weight:500}.history-student-zone{min-height:0;box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0 12px 12px}.history-student-zone>.student-count{min-height:34px;color:var(--step-color-dark);font-size:11.5px;font-weight:600}.history-student-zone>.student-count span{color:inherit;font-size:inherit}.history-student-card{border-color:#d7e0e5;border-radius:6px;height:30px;box-shadow:0 1px 3px #1934450f}.history-student-card strong{font-size:13.5px;font-weight:600}.history-empty-level{color:#7d8e98;font-size:11px;font-weight:500}@media (width<=760px){.setup-dialog,.history-dialog{border-radius:0}.setup-header,.history-header{min-height:72px;padding:12px 16px}.history-header{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;display:grid}.history-class-picker{grid-area:2/1/auto/-1;width:100%;margin:0}.history-class-picker select{min-height:40px;font-size:14px}.history-header-actions{grid-area:1/2}.setup-header h2,.history-header h2{font-size:24px}.class-name-form,.setup-add-form,.roster-section,.teacher-accounts,.account-settings{margin-left:10px;margin-right:10px}.roster-row{grid-template-columns:30px minmax(0,1fr) auto}.roster-level{display:none}.teacher-account-row{grid-template-columns:38px minmax(0,1fr) auto}.teacher-status{grid-area:1/3}.teacher-actions{grid-column:2/-1}.teacher-password-reset{grid-column:1/-1}.history-date-strip{gap:7px;padding:9px 10px;display:flex}.history-date-strip button{min-width:92px;min-height:62px}.history-content{padding:10px}.history-day-heading{min-height:60px;margin-bottom:9px;padding:9px 11px}.history-day-heading h3{font-size:18px}.mobile-history-tools{margin:0 1px 9px}.mobile-history-tools>span{font-size:12px}.mobile-history-tools button{border-radius:8px;min-height:38px;font-size:12px;font-weight:650}.mobile-history-list{gap:6px}.mobile-history-row{border:1px solid var(--step-border);border-left:4px solid var(--step-color-dark);color:#17384b;background:var(--step-tint);border-radius:9px;grid-template-columns:48px minmax(0,1fr);min-height:52px;box-shadow:0 2px 7px #10303a12}.mobile-history-row.level-4{color:#17384b}.mobile-history-step{color:#fff;background:var(--step-color-dark);width:31px;height:31px;box-shadow:none;font-size:16px}.mobile-history-name{padding:5px 12px 5px 0}.mobile-history-name strong{color:#17384b;font-size:16px;font-weight:650;line-height:1.1}.mobile-history-name span{color:#647985;opacity:1;text-transform:none;margin-top:3px;font-size:10px;font-weight:500}}@media (width>=761px){.hero-actions{gap:9px}.hero-actions .history-button,.hero-actions .setup-button,.hero-actions .admin-button,.hero-actions .sign-out-button{color:#f4f8fb;letter-spacing:-.005em;white-space:nowrap;background:#ffffff0e;border:1px solid #b2cfe14d;border-radius:10px;justify-content:flex-start;gap:9px;min-height:44px;padding:0 14px 0 9px;font-family:Segoe UI,Arial,Helvetica,sans-serif;font-size:13px;font-weight:600;line-height:1;transition:border-color .14s,background .14s,transform .14s;box-shadow:inset 0 1px #ffffff09,0 3px 8px #000a181f}.hero-actions .history-button>span,.hero-actions .setup-button>span,.hero-actions .admin-button>span,.hero-actions .sign-out-button>span{color:#9fe0d4;background:#7ed8c71c;border-radius:7px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-family:Segoe UI Symbol,Segoe UI,sans-serif;font-size:15px;font-weight:700;display:grid}.hero-actions .sign-out-button{color:#ffecec;border-color:#eeb1b147}.hero-actions .sign-out-button>span{color:#ffcaca;background:#e269691c}.hero-actions .history-button:hover,.hero-actions .setup-button:hover,.hero-actions .admin-button:hover{color:#fff;background:#7ed8c71f;border-color:#7ed8c7a6;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0d,0 5px 12px #000a1829}.hero-actions .sign-out-button:hover{color:#fff;background:#e2696921;border-color:#eeb1b194;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0a,0 5px 12px #000a1829}}@media (width<=760px){.hero{padding-top:0}.class-name-heading select{text-overflow:ellipsis;white-space:nowrap;width:min(118px,32vw);min-width:0;max-width:none;overflow:hidden}.mobile-menu-toggle{width:38px;height:38px;color:var(--navy);background:#fffffff0;border-color:#bdced8;padding:8px;box-shadow:0 4px 12px #0a2d441f}.hero-mascot{transform:translateY(14px)}main:not(.login-page){padding-top:0}.hero{color:#fff;background:radial-gradient(circle at 84% 118%,#1e898147,#0000 42%),linear-gradient(118deg,#071e38,#0a2948 66%,#08233e);border-bottom:1px solid #7ed8c73d;border-radius:0 0 18px 18px;grid-template-columns:54px minmax(0,1fr) 60px;align-items:center;gap:10px;min-height:132px;margin:0 -16px 14px;padding:14px 14px 12px;display:grid;position:relative;box-shadow:0 9px 24px #08263d29}.school-logo{filter:drop-shadow(0 5px 8px #00000038);grid-area:1/1;justify-self:center;width:50px;height:76px}.hero-copy{grid-area:1/2;align-content:center;justify-items:start;min-width:0;display:grid}.hero-copy .eyebrow{color:#7ed8c7;letter-spacing:.15em;margin:0 0 2px;font-size:9.5px;font-weight:700;line-height:1.2;display:block}.hero-copy h1{color:#fff;letter-spacing:-.035em;text-transform:none;text-wrap:balance;font-size:clamp(23px,7vw,29px);font-weight:720;line-height:.98}.class-name-heading{color:#fff;background:#7ed8c71a;border:1px solid #7ed8c75c;border-radius:7px;width:min(118px,32vw);margin:8px 0 0;padding:5px 9px;font-size:11.5px;font-weight:650;line-height:1.15}.class-name-heading select{width:100%;padding:0 18px 0 0}.class-name-heading:after{border-color:#7ed8c7;width:6px;height:6px;right:10px}.hero-copy .tagline{color:#9fe0d4;margin:6px 0 0;font-size:12px;font-style:normal;font-weight:600;line-height:1.2}.hero-copy .tagline:after{display:none}.hero-mascot{object-position:center bottom;filter:drop-shadow(0 5px 7px #0003);grid-area:1/3;place-self:end;width:58px;height:78px;transform:translateY(7px)}.mobile-menu{top:10px;right:10px}.mobile-menu-toggle{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border-color:#bfd8eb4d;width:36px;height:36px;padding:8px;box-shadow:0 5px 13px #000a1833}.mobile-menu-toggle>span{width:17px}.mobile-menu-list{top:42px}}
