@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,: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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-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:where(:not(iframe)){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{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.table-row{display:table-row}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#172620;--forest:#163f35;--mint:#b9f5ce;--cream:#f6f4ec;--orange:#ff7a45;--line:#dde3dc;--muted:#69766f;--font-body:"Segoe UI",Arial,sans-serif;--font-display:"Trebuchet MS","Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);font-family:var(--font-body),sans-serif;margin:0}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:var(--font-display),sans-serif}.brand{letter-spacing:-.5px;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.brand-mark{background:var(--mint);width:36px;height:36px;color:var(--forest);border-radius:11px;place-items:center;display:grid}.landing{background:var(--forest);color:#fff;min-height:100vh;overflow:hidden}.topbar{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;max-width:1240px;height:78px;margin:auto;padding:0 28px;display:flex}.nav-login,.secondary{color:#fff;background:0 0;border:1px solid #ffffff45;border-radius:10px;align-items:center;gap:9px;padding:11px 17px;font-weight:700;display:flex}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;max-width:1240px;min-height:650px;margin:auto;padding:72px 28px 90px;display:grid}.hero-copy{z-index:2;position:relative}.eyebrow{color:var(--mint);text-transform:uppercase;letter-spacing:1.5px;align-items:center;gap:8px;margin-bottom:22px;font-size:12px;font-weight:800;display:inline-flex}.hero h1{letter-spacing:-4px;max-width:700px;margin-bottom:26px;font-size:clamp(48px,6vw,80px);line-height:.98}.hero h1 em,.welcome h1 em{color:var(--mint);font-style:normal}.hero-copy>p{color:#d7e3de;max-width:570px;font-size:19px;line-height:1.65}.hero-actions{gap:12px;margin:34px 0 28px;display:flex}.primary{background:var(--orange);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #ff7a4525}.primary:hover{filter:brightness(1.04);transform:translateY(-1px)}.trust-row{color:#bbcbc4;flex-wrap:wrap;gap:20px;font-size:13px;display:flex}.trust-row span{align-items:center;gap:6px;display:flex}.hero-visual{place-items:center;min-height:480px;display:grid;position:relative}.orbit{border:1px solid #ffffff18;border-radius:50%;position:absolute}.orbit-one{width:460px;height:460px}.orbit-two{border-color:#b9f5ce2b;width:330px;height:330px}.progress-card{z-index:2;width:330px;min-height:300px;color:var(--ink);background:#fff;border-radius:25px;padding:31px;position:relative;transform:rotate(-2deg);box-shadow:0 35px 80px #071c1675}.card-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:800}.big-score{font:700 70px/1 var(--font-display);letter-spacing:-4px;margin:20px 0}.big-score span{color:#9aa39e;letter-spacing:-1px;font-size:20px}.bar,.mini-progress,.table-progress{background:#e9eeeb;border-radius:99px;height:7px;overflow:hidden}.bar i,.mini-progress i,.table-progress i{background:var(--orange);border-radius:99px;height:100%;display:block}.next-up{color:var(--muted);margin:22px 0;font-size:12px}.next-up strong{color:var(--ink);margin-top:4px;font-size:14px;display:block}.medal-row{gap:10px;display:flex}.medal{border-radius:50%;place-items:center;width:42px;height:42px;font-size:19px;display:grid}.bronze{color:#a85b2f;background:#f2d6c2}.silver{color:#60717a;background:#dce5e8}.gold{color:#b77a00;background:#fee5a3}.locked{opacity:.35;filter:grayscale()}.floating-card{z-index:3;color:var(--ink);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:13px 16px;display:flex;position:absolute;box-shadow:0 18px 45px #071c1650}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:13px}.floating-card small{color:var(--muted);margin-top:2px;font-size:10px}.student-card{top:40px;left:-5px}.streak-card{color:var(--forest);bottom:45px;right:-5px}.avatar{background:var(--mint);width:38px;height:38px;color:var(--forest);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.level-pill{color:#28784f;background:#eef9f1;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800}.how{background:var(--cream);color:var(--ink);grid-template-columns:.65fr 1.35fr;gap:70px;padding:82px max(28px,50vw - 592px);display:grid}.section-number{color:var(--orange);font:800 12px var(--font-display);letter-spacing:2px;margin-bottom:14px;display:block}.how h2{letter-spacing:-2px;font-size:38px;line-height:1.1}.feature-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.feature{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px}.feature>span{width:42px;height:42px;color:var(--forest);background:#e5f7eb;border-radius:12px;place-items:center;display:grid}.feature h3{margin:22px 0 8px}.feature p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.modal-backdrop,.review-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#071b16b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{width:min(460px,100%);color:var(--ink);background:#fff;border-radius:22px;padding:36px;position:relative;box-shadow:0 30px 100px #0005}.modal-close{color:var(--muted);background:0 0;border:0;font-size:28px;position:absolute;top:15px;right:18px}.auth-modal h2{margin:28px 0 8px;font-size:29px}.auth-modal>p{color:var(--muted);font-size:14px;line-height:1.5}.auth-modal form{gap:15px;margin-top:24px;display:grid}.auth-modal label{gap:7px;font-size:12px;font-weight:800;display:grid}.auth-modal label small{color:var(--muted);font-weight:500;line-height:1.4}.auth-modal input,.auth-modal select,.sidebar input,.join-panel input,.new-class input{border:1px solid var(--line);background:#fafbf9;border-radius:9px;outline:none;padding:12px 13px}.auth-modal input:focus,.auth-modal select:focus,.sidebar input:focus,.join-panel input:focus{border-color:#4c8d75;box-shadow:0 0 0 3px #b9f5ce55}.full{width:100%}.form-error,.inline-notice{color:#a94524;background:#fff0eb;border:1px solid #ffc9b6;border-radius:9px;padding:10px 13px;font-size:13px}.switch-auth{color:#286d58;background:0 0;border:0;margin:18px auto 0;font-weight:700;display:block}.toast{z-index:30;color:var(--ink);background:#fff;border-radius:12px;padding:15px 20px;position:fixed;bottom:24px;right:24px;box-shadow:0 15px 50px #0004}.forgot-password{color:var(--muted);background:0 0;border:0;margin:12px auto 0;text-decoration:underline;display:block}.recovery-card{background:var(--forest);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-modal{max-height:calc(100vh - 40px);overflow:auto}.role-picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.role-picker button{border:1px solid var(--line);color:var(--muted);background:#fafbf9;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:11px;font-weight:800;display:flex}.role-picker button.active{color:var(--forest);background:#e6f5ea;border-color:#69a98b;box-shadow:0 0 0 2px #b9f5ce55}.app{background:#f4f5f1;min-height:100vh}.app-header{z-index:10;border-bottom:1px solid var(--line);background:#fff;align-items:center;height:70px;padding:0 24px;display:flex;position:sticky;top:0}.app-header .brand{min-width:220px}.header-context{border-left:1px solid var(--line);color:var(--muted);padding-left:22px;font-size:13px;font-weight:700}.profile-chip{align-items:center;gap:10px;margin-left:auto;display:flex}.profile-chip strong,.profile-chip small{display:block}.profile-chip strong{font-size:12px}.profile-chip small{color:var(--muted);font-size:10px}.avatar.small{width:32px;height:32px}.profile-chip button{color:var(--muted);background:#f2f4f1;border:0;border-radius:9px;place-items:center;width:34px;height:34px;margin-left:8px;display:grid}.dashboard-layout{grid-template-columns:230px 1fr;min-height:calc(100vh - 70px);display:grid}.sidebar{border-right:1px solid var(--line);background:#fcfdfb;flex-direction:column;gap:5px;height:calc(100vh - 70px);padding:24px 16px;display:flex;position:sticky;top:70px}.sidebar>a,.sidebar>button{text-align:left;color:#617068;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:11px 12px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.sidebar>a.active,.sidebar>button.active{color:var(--forest);background:#e6f5ea}.sidebar-spacer{flex:1}.sidebar-card{background:var(--forest);color:#fff;border-radius:14px;gap:8px;padding:17px;display:grid}.sidebar-card>svg{color:var(--mint)}.sidebar-card strong{font-size:13px}.sidebar-card small{color:#bdcdc6;font-size:10px;line-height:1.4}.sidebar-card form{gap:7px;display:grid}.sidebar-card input{min-width:0;padding:9px;font-size:11px}.sidebar-card button{background:var(--mint);color:var(--forest);border:0;border-radius:7px;padding:8px;font-size:11px;font-weight:800}.sidebar-label{letter-spacing:1.5px;color:#9ba69f;padding:0 12px 10px;font-size:9px;font-weight:800}.new-class{gap:5px;margin-top:10px;display:flex}.new-class input{width:100%;min-width:0;padding:9px;font-size:12px}.new-class button{background:var(--forest);color:#fff;border:0;border-radius:8px;place-items:center;display:grid}.text-button{color:var(--muted)!important}.dashboard-main{width:100%;max-width:1280px;margin:0 auto;padding:44px 48px 80px}.welcome,.teacher-title{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.eyebrow.dark{color:#3b7b65;margin-bottom:10px}.welcome h1{letter-spacing:-2px;margin:0 0 10px;font-size:44px;line-height:1.05}.welcome h1 em{color:var(--orange)}.welcome p,.teacher-title p{color:var(--muted)}.level-ring{background:conic-gradient(var(--orange) 20%,#dfe5df 0);border-radius:50%;place-items:center;width:125px;height:125px;display:grid}.level-ring:before{content:"";background:#f4f5f1;border-radius:50%;grid-area:1/1;width:99px;height:99px}.level-ring>div{z-index:1;text-align:center;grid-area:1/1}.level-ring strong,.level-ring span{display:block}.level-ring strong{font:700 25px var(--font-display)}.level-ring span{color:var(--muted);font-size:10px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:19px;display:flex}.stat>span{border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.stat.orange>span{color:#db5e2b;background:#fff0e9}.stat.blue>span{color:#3477ae;background:#e9f3ff}.stat.purple>span{color:#7754b0;background:#f0eaff}.stat.green>span{color:#39805a;background:#e6f6eb}.stat strong,.stat small{display:block}.stat strong{font:700 23px var(--font-display)}.stat small{color:var(--muted);font-size:11px}.panel{border:1px solid var(--line);background:#fff;border-radius:16px}.join-panel{justify-content:space-between;align-items:center;gap:20px;margin-bottom:38px;padding:20px 22px;display:flex}.join-panel>div{align-items:center;gap:14px;display:flex}.panel-icon{width:44px;height:44px;color:var(--forest);background:#e7f6ec;border-radius:11px;place-items:center;display:grid}.join-panel h2,.panel-header h2{margin:0 0 3px;font-size:17px}.join-panel p,.panel-header p{color:var(--muted);margin:0;font-size:12px}.join-panel form{gap:8px;display:flex}.join-panel input{letter-spacing:2px;text-transform:uppercase;width:130px;font-weight:800}.inline-notice{margin:-25px 0 35px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:15px;display:flex}.section-heading h2{margin:0;font-size:26px}.section-heading>span{color:var(--muted);font-size:12px}.filter-row{gap:7px;padding-bottom:15px;display:flex;overflow:auto}.filter-row button{white-space:nowrap;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;padding:7px 12px;font-size:11px;font-weight:700}.filter-row button.active{background:var(--forest);color:#fff;border-color:var(--forest)}.challenge-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.challenge-card{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;min-height:210px;padding:20px;display:flex}.challenge-top{justify-content:space-between;align-items:center;display:flex}.challenge-number{color:var(--orange);font:800 11px var(--font-display)}.category{color:#708078;text-transform:uppercase;background:#f0f3ef;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:800}.challenge-card h3{margin:15px 0 6px;font-size:17px}.challenge-card>p{color:var(--muted);flex:1;font-size:12px;line-height:1.5}.tier-row{gap:6px;display:flex}.tier{opacity:.35;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px;display:flex}.tier.completed,.tier.seen{opacity:1}.tier.seen{outline-offset:-2px;outline:2px dashed}.tier span{place-items:center;display:grid}.tier small{font-size:9px;font-weight:800}.mini-progress{height:3px;margin-top:12px}.teacher-title h1{margin:0 0 5px;font-size:38px}.class-code{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:1fr auto;column-gap:13px;padding:11px 13px 11px 17px;display:grid}.class-code small{color:var(--muted);letter-spacing:1.5px;grid-column:1/-1;font-size:8px}.class-code strong{font:700 19px var(--font-display);letter-spacing:3px}.class-code button{color:var(--forest);background:#e9f5ec;border:0;border-radius:7px}.student-table-panel{overflow:hidden}.panel-header{border-bottom:1px solid var(--line);padding:21px 23px}.empty-small{min-height:250px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.empty-small svg{color:#8ca097}.empty-small strong{color:var(--ink)}.empty-small span{font-size:12px}.table-head,.table-row{grid-template-columns:1.5fr 1.2fr .5fr .5fr 20px;align-items:center;gap:18px;padding:12px 22px;display:grid}.table-head{color:#919c96;text-transform:uppercase;letter-spacing:1px;background:#fafbf9;font-size:9px;font-weight:800}.table-row{text-align:left;width:100%;color:var(--ink);background:#fff;border:0;border-top:1px solid #edf0ed}.student-name{align-items:center;gap:10px;display:flex}.student-name i{width:32px;height:32px;color:var(--forest);background:#e4f5e9;border-radius:9px;place-items:center;font-size:10px;font-style:normal;font-weight:800;display:grid}.student-name strong,.table-row>span{font-size:12px}.table-row>span:nth-child(2){align-items:center;gap:8px;display:flex}.table-progress{width:100px;height:5px}.table-row small{color:var(--muted);font-size:9px}.achievement-manager{margin-bottom:24px;overflow:hidden}.achievement-manager>form{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 22px;display:grid}.achievement-manager label{color:var(--ink);gap:7px;font-size:11px;font-weight:800;display:grid}.achievement-manager label .tiny-medal{width:24px;height:24px;margin-right:5px;display:inline-grid}.achievement-manager input,.achievement-manager textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fafbf9;border-radius:9px;padding:10px 11px;font-weight:500}.achievement-manager textarea{min-height:85px}.achievement-basics{grid-column:1/-1;grid-template-columns:2fr 1fr;gap:12px;display:grid}.achievement-manager form>.primary{grid-column:1/-1;justify-self:start}.managed-achievements{display:grid}.managed-achievements article{border-top:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:15px;padding:13px 22px;display:flex}.managed-achievements article>div{grid-template-columns:120px 1fr auto;align-items:center;gap:14px;width:100%;display:grid}.managed-achievements small{color:var(--muted)}.managed-achievements strong{font-size:13px}.managed-achievements article>button{color:#bd4c2a;background:#fff0eb;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.manager-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.import-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.import-actions button{border:1px solid var(--line);color:var(--forest);background:#fafbf9;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:10px;font-weight:800;display:flex}.import-actions button:disabled{opacity:.4}.import-box{border-bottom:1px solid var(--line);background:#f2f8f4;padding:20px 22px}.import-box>div:first-child{margin-bottom:12px}.import-box strong{font-size:14px}.import-box p{color:var(--muted);margin:4px 0 0;font-size:11px}.import-box textarea{background:#fff;min-height:180px;font-family:Consolas,monospace;font-size:11px}.import-box-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.import-file{cursor:pointer;grid-auto-flow:column;align-items:center;gap:7px;padding:9px 12px;font-size:10px!important;display:flex!important}.import-file input{display:none}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:65vh;display:flex}.empty-icon{width:75px;height:75px;color:var(--forest);background:#dff3e6;border-radius:22px;place-items:center;margin-bottom:20px;display:grid}.empty-state h1{margin:0 0 8px}.empty-state p{color:var(--muted);max-width:440px}.review-backdrop{place-items:stretch end;padding:0}.review-drawer{width:min(620px,100%);height:100vh;color:var(--ink);background:#f7f8f5;padding:34px;position:relative;overflow:auto;box-shadow:-20px 0 80px #0003}.review-person{align-items:center;gap:13px;display:flex}.review-person small{color:var(--muted);letter-spacing:1.4px;font-size:9px}.review-person h2{margin:2px 0 0}.review-summary{gap:10px;margin:24px 0;display:flex}.review-summary span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:11px;flex:1;padding:13px;font-size:11px}.review-summary strong{color:var(--ink);font-size:20px;display:block}.review-list{gap:7px;display:grid}.review-list article{border:1px solid var(--line);background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.review-list article>div{align-items:center;gap:10px;display:flex}.review-list strong,.review-list small{display:block}.review-list strong{font-size:11px}.review-list small{color:var(--muted);margin-top:3px;font-size:9px}.tiny-medal{border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.review-list select{border:1px solid var(--line);color:var(--ink);background:#f8faf8;border-radius:7px;padding:7px;font-size:10px}.loading,.setup{background:var(--forest);color:#fff;align-content:center;place-items:center;gap:30px;min-height:100vh;display:grid}.loading>span{border:3px solid #ffffff35;border-top-color:var(--mint);border-radius:50%;width:35px;height:35px;animation:1s linear infinite spin}.setup-card{color:var(--ink);text-align:center;background:#fff;border-radius:18px;max-width:500px;padding:35px}.setup-card>svg{color:var(--orange)}.setup-card p{color:var(--muted)}.setup-card code{text-align:left;background:#f0f2ef;border-radius:9px;padding:14px;font-size:12px;display:block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1000px){.hero{grid-template-columns:1fr}.hero-visual{min-height:430px}.how,.dashboard-layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;height:auto;position:static;overflow:auto}.sidebar-spacer,.sidebar-card,.sidebar-label,.new-class{display:none}.challenge-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.topbar{padding:0 18px}.hero{padding:50px 20px}.hero h1{letter-spacing:-2.5px;font-size:48px}.hero-actions{flex-direction:column}.trust-row{gap:10px}.hero-visual{margin:-40px;transform:scale(.82)}.how{padding:55px 20px}.feature-grid{grid-template-columns:1fr}.app-header .brand{min-width:auto}.header-context,.profile-chip div{display:none}.dashboard-main{padding:30px 17px 60px}.welcome h1{font-size:35px}.level-ring{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.join-panel{flex-direction:column;align-items:stretch}.join-panel form{grid-template-columns:1fr auto;display:grid}.join-panel input{width:100%}.challenge-grid{grid-template-columns:1fr}.manager-header{flex-direction:column;align-items:flex-start}.import-actions{justify-content:flex-start}.import-box-actions{flex-direction:column;align-items:stretch}.achievement-manager>form,.achievement-basics{grid-template-columns:1fr}.achievement-manager label,.achievement-manager form>.primary,.achievement-basics{grid-column:1}.managed-achievements article>div{grid-template-columns:1fr}.table-head{display:none}.table-row{grid-template-columns:1fr .8fr 20px}.table-row>span:nth-child(3),.table-row>span:nth-child(4){display:none}.teacher-title{align-items:flex-start;gap:15px}.class-code{flex:none}.review-drawer{padding:25px 16px}.review-list article{flex-direction:column;align-items:flex-start}.review-list select{width:100%}}:root{--game-bg:#080a12;--game-panel:#10131f;--game-panel-2:#151927;--game-line:#292e42;--game-text:#f2f5ff;--game-muted:#9299ad;--game-neon:#73f7bd;--game-purple:#9b7cff;--game-cyan:#55d9ff}.landing:before,.app:before{content:"";pointer-events:none;opacity:.16;background-image:linear-gradient(#7d86aa22 1px,#0000 1px),linear-gradient(90deg,#7d86aa22 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.topbar{border-color:#ffffff14;max-width:1380px}.brand{text-transform:uppercase;letter-spacing:1.2px;font-weight:900}.brand-mark{background:linear-gradient(135deg,var(--game-neon),var(--game-cyan));color:#07100d;border-radius:8px;box-shadow:0 0 25px #73f7bd55}.hero{max-width:1380px}.hero h1{text-transform:uppercase;font-size:clamp(48px,6vw,76px);font-weight:900}.hero h1 em{background:linear-gradient(90deg,var(--game-neon),var(--game-cyan),#bca6ff);color:#0000;-webkit-background-clip:text;background-clip:text}.primary{background:linear-gradient(135deg,#795cff,var(--game-purple));text-transform:uppercase;letter-spacing:.45px;border-radius:7px;font-size:12px;box-shadow:0 0 24px #9b7cff35}.secondary,.nav-login{border-radius:7px}.orbit{border-color:#9b7cff35}.orbit-two{border-color:#73f7bd35}.progress-card,.floating-card{color:var(--game-text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#111522e8;border:1px solid #ffffff16;box-shadow:0 30px 90px #000a,0 0 35px #9b7cff22}.progress-card .card-kicker,.progress-card .next-up,.floating-card small{color:var(--game-muted)}.progress-card .next-up strong{color:var(--game-text)}.progress-card .bar{background:#272c3d}.progress-card .bar i{background:linear-gradient(90deg,var(--game-purple),var(--game-neon))}.how{color:var(--game-text);background:#0b0e17}.feature p{color:var(--game-muted)}.app{background:var(--game-bg);color:var(--game-text);position:relative}.app-header{border-color:var(--game-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0f19e8}.header-context,.profile-chip small{color:var(--game-muted)}.profile-chip button{background:var(--game-panel-2);color:var(--game-muted);border:1px solid var(--game-line)}.dashboard-layout{position:relative}.sidebar{border-color:var(--game-line);background:#0c0f19f2}.sidebar-divider{background:var(--game-line);height:1px;margin:14px 4px}.dashboard-main{max-width:1440px}.welcome p,.teacher-title p,.panel-header p{color:var(--game-muted)}.eyebrow.dark{color:var(--game-neon)}.teacher-title h1,.welcome h1{text-transform:uppercase;font-weight:900}.stat>span{border-radius:8px}.stat.orange>span,.stat.blue>span,.stat.purple>span,.stat.green>span{background:#ffffff0a}.stat.orange>span{color:#ff8f61}.stat.blue>span{color:var(--game-cyan)}.stat.purple>span{color:#b99cff}.stat.green>span{color:var(--game-neon)}.stat small,.class-code small,.managed-achievements small{color:var(--game-muted)}.class-code button{color:var(--game-neon);background:#73f7bd16}.panel-header,.achievement-manager>form,.import-box{border-color:var(--game-line)}.achievement-manager input,.achievement-manager textarea,.class-create-form input,.class-edit-list input{color:var(--game-text);border-color:var(--game-line);background:#090c15}.import-actions button{color:var(--game-neon);border-color:var(--game-line);background:#171b29}.import-box textarea{background:#080b12}.managed-achievements article,.table-row{border-color:var(--game-line)}.managed-achievements article>button{color:#ff7b7b;background:#ff6b6b17}.table-head{color:#747c91;background:#0b0e17}.table-row{color:var(--game-text);background:0 0}.student-name i{color:var(--game-neon);background:#73f7bd15}.category{color:var(--game-neon);background:#73f7bd10}.challenge-card>p,.section-heading>span{color:var(--game-muted)}.filter-row button{background:var(--game-panel);border-color:var(--game-line);color:var(--game-muted)}.filter-row button.active{background:var(--game-purple);border-color:var(--game-purple)}.inline-notice{color:var(--game-neon);background:#73f7bd12;border-color:#73f7bd42;margin:0 0 24px}.review-drawer{color:var(--game-text);background:#0b0e17}.review-summary span,.review-list article{background:var(--game-panel);border-color:var(--game-line)}.review-summary strong,.review-list strong{color:var(--game-text)}.review-list small{color:var(--game-muted)}.review-list select{border-color:var(--game-line);color:var(--game-text);background:#090c15}.auth-modal{color:var(--game-text);border:1px solid var(--game-line);background:#111522;border-radius:12px}.auth-modal>p,.auth-modal label small{color:var(--game-muted)}.auth-modal input,.auth-modal select{border-color:var(--game-line);color:var(--game-text);background:#090c15}.role-picker button{border-color:var(--game-line);color:var(--game-muted);background:#0c0f19}.role-picker button.active{border-color:var(--game-neon);color:var(--game-neon);box-shadow:none;background:#73f7bd14}.class-overview-grid,.class-edit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.class-overview-grid article{padding:22px}.class-overview-grid small,.class-edit-list small{color:var(--game-neon);letter-spacing:1.4px;font-size:9px}.class-overview-grid h2{margin:8px 0 20px}.class-overview-grid>article>strong{margin-bottom:10px;font-size:34px;display:block}.class-overview-grid p{color:var(--game-muted);margin:12px 0 0;font-size:11px}.class-create-form{gap:10px;margin-bottom:18px;padding:18px;display:flex}.class-create-form input{border:1px solid var(--game-line);border-radius:7px;flex:1;padding:11px 13px}.class-edit-list article{justify-content:space-between;align-items:center;gap:15px;padding:18px;display:flex}.class-edit-list article>div:first-child{flex:1}.class-edit-list input{border:1px solid #0000;border-radius:6px;width:100%;margin-top:5px;padding:8px 9px;font-size:15px;font-weight:800;display:block}.class-edit-list input:focus{border-color:var(--game-purple);outline:0}.danger-button,.delete-confirm button{border:0;border-radius:6px;padding:9px 11px}.danger-button{color:#ff8585;background:#ff6b6b16;align-items:center;gap:6px;display:flex}.delete-confirm{align-items:center;gap:6px;font-size:10px;display:flex}.delete-confirm button{color:var(--game-text);background:#23283a}.delete-confirm button:first-of-type{background:#ad3e4a}@media (max-width:800px){.class-overview-grid,.class-edit-list{grid-template-columns:1fr}.class-edit-list article{flex-direction:column;align-items:stretch}.class-create-form{flex-direction:column}}:root{--steam-deep:#171a21;--steam-bg:#1b2838;--steam-panel:#22384d;--steam-panel-soft:#203246;--steam-line:#35536d;--steam-blue:#66c0f4;--steam-blue-bright:#8bd5ff;--steam-text:#c7d5e0;--steam-muted:#8f98a0}body{background:var(--steam-deep)}.landing{background:radial-gradient(circle at 75% 18%,#2a5f854a 0,#0000 36%),linear-gradient(135deg,#171a21 0,#1b2838 55%,#142333 100%)}.landing:before,.app:before{opacity:.07;background-size:56px 56px}.topbar{background:#171a21b8;max-width:none;padding-inline:max(28px,50vw - 660px)}.brand{color:#fff;letter-spacing:.8px}.brand-mark{color:#fff;width:38px;height:38px;font:900 11px var(--font-display);background:linear-gradient(145deg,#75d3ff,#1a7eaf);border-radius:50%;box-shadow:0 0 22px #66c0f444}.brand.compact .brand-mark{width:32px;height:32px}.hero h1,.teacher-title h1,.welcome h1{text-transform:none;letter-spacing:-2px}.hero h1 em,.welcome h1 em{color:var(--steam-blue);background:0 0}.eyebrow,.eyebrow.dark{color:var(--steam-blue-bright)}.primary{color:#102536;box-shadow:none;text-transform:none;letter-spacing:0;background:linear-gradient(90deg,#47a5d4,#66c0f4);border-radius:2px}.primary:hover{background:linear-gradient(90deg,#66c0f4,#8bd5ff)}.secondary,.nav-login{color:var(--steam-blue-bright);border-color:#66c0f477;border-radius:2px}.progress-card,.floating-card{background:linear-gradient(135deg,#263d52ee,#1d2f42ee);border-color:#66c0f429;box-shadow:0 25px 70px #0007}.how{background:#162231}.feature{background:linear-gradient(135deg,#22384d,#1d3043);border-color:#35536d;border-radius:2px}.feature>span{color:var(--steam-blue);background:#66c0f419}.app{color:var(--steam-text);background:linear-gradient(135deg,#1b2838,#162333)}.app-header{background:#171a21f2;border-color:#2b4357}.sidebar{background:#182536f2;border-color:#2b4357}.sidebar>a,.sidebar>button{color:#9eafbe;border-radius:2px}.sidebar>a svg,.teacher-sidebar>button svg{display:none}.sidebar>a.active,.sidebar>button.active{color:#fff;box-shadow:inset 3px 0 var(--steam-blue);background:linear-gradient(90deg,#2a475e,#24415a)}.teacher-sidebar .class-selected{color:var(--steam-blue-bright);background:#2a475e99}.sidebar-divider{background:#35536d}.sidebar-label{color:#66c0f4}.panel,.stat,.challenge-card,.class-code{background:linear-gradient(135deg,var(--steam-panel),var(--steam-panel-soft));border-color:var(--steam-line);border-radius:2px;box-shadow:0 8px 24px #0002}.stat>span{border-radius:50%;color:var(--steam-blue)!important;background:#1b2b3c!important}.stat>span svg{stroke-width:1.5px;width:18px;height:18px}.stat small,.class-code small,.managed-achievements small,.welcome p,.teacher-title p,.panel-header p{color:var(--steam-muted)}.class-code button{color:var(--steam-blue-bright);background:#66c0f41c;border-radius:2px}.achievement-manager input,.achievement-manager textarea,.class-create-form input,.class-edit-list input,.auth-modal input,.auth-modal select{color:var(--steam-text);background:#172536;border-color:#3b5870;border-radius:2px}.import-actions button{color:var(--steam-blue-bright);background:#1b2e40;border-color:#3b5870;border-radius:2px}.import-box{background:#192d40}.managed-achievements article>button,.danger-button{border-radius:2px}.table-head{background:#19293a}.table-row:hover{background:#2a475e88}.student-name i{color:var(--steam-blue-bright);background:#66c0f421;border-radius:50%}.table-progress,.bar,.mini-progress{background:#152331}.table-progress i,.bar i,.mini-progress i{background:linear-gradient(90deg,#3c96c4,#66c0f4)}.category{color:var(--steam-blue-bright);background:#66c0f417;border-radius:2px}.filter-row button{color:#a7b9c8;background:#203448;border-color:#35536d;border-radius:2px}.filter-row button.active{color:#14293a;background:#66c0f4;border-color:#66c0f4}.inline-notice{color:var(--steam-blue-bright);background:#66c0f412;border-color:#66c0f448;border-radius:2px}.achievement-manager label .tiny-medal,.tiny-medal{border-radius:50%}.auth-modal{background:linear-gradient(145deg,#23394e,#1b2b3c);border-color:#43627c;border-radius:3px}.role-picker button{background:#192a3b;border-color:#35536d;border-radius:2px}.role-picker button.active{border-color:var(--steam-blue);color:var(--steam-blue-bright);background:#2a475e}.switch-auth{color:var(--steam-blue-bright)}.review-drawer{background:#1b2838}.review-summary span,.review-list article{background:#22384d;border-color:#35536d;border-radius:2px}.review-list select{background:#172536;border-color:#35536d;border-radius:2px}.class-overview-grid small,.class-edit-list small{color:var(--steam-blue-bright)}.challenge-card{width:100%;color:inherit;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.challenge-card:hover{border-color:var(--steam-blue);transform:translateY(-2px);box-shadow:0 12px 28px #0004}.card-open-hint{color:var(--steam-blue-bright);justify-content:flex-end;align-items:center;gap:3px;margin-top:11px;font-size:10px;display:flex}.achievement-detail>h2{margin:10px 0 8px;font-size:34px}.detail-intro{color:var(--steam-muted);line-height:1.6}.detail-levels{gap:10px;margin:25px 0;display:grid}.detail-levels article{background:var(--steam-panel);border:1px solid var(--steam-line);grid-template-columns:82px 1fr auto;align-items:start;gap:15px;padding:16px;display:grid}.detail-levels article.completed{border-color:#70b755}.detail-levels article.seen{border-color:var(--steam-blue)}.rank-label{text-transform:uppercase;justify-content:center;padding:6px 8px;font-size:10px;font-weight:900;display:inline-flex}.detail-levels strong{font-size:13px}.detail-levels p{color:var(--steam-muted);margin:7px 0 0;font-size:11px;line-height:1.5}.detail-levels article>small{color:var(--steam-muted);white-space:nowrap;font-size:9px}.help-box{border-left:3px solid var(--steam-blue);background:#162d40;padding:17px}.help-box p{color:var(--steam-text);margin:6px 0 0;font-size:12px;line-height:1.55}@media (max-width:600px){.detail-levels article{grid-template-columns:1fr}.detail-levels article>small{white-space:normal}}.managed-achievements .editable-achievement{cursor:pointer;transition:background .16s,transform .16s}.managed-achievements .editable-achievement:hover{background:#66c0f40d;transform:translate(3px)}.managed-achievements .editable-achievement>div>span{color:var(--steam-blue-bright);font-size:11px}.achievement-editor{background:var(--steam-panel);width:min(620px,100%);color:var(--steam-text)}.achievement-editor textarea{resize:vertical;min-height:86px;color:var(--steam-text);font:inherit;background:#172536;border:1px solid #3b5870;padding:11px}.teacher-app .review-backdrop{z-index:9;background:var(--steam-bg);padding:0;inset:70px 0 0 230px}.teacher-app .assessment-dashboard{width:100%;max-width:none;height:calc(100vh - 70px);box-shadow:none;padding:38px 46px}.assessment-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;margin-top:22px;display:grid}.assessment-grid article{background:var(--steam-panel);border:1px solid var(--steam-line);flex-direction:column;justify-content:space-between;gap:22px;padding:18px;display:flex}.assessment-grid h3{margin:4px 0 8px}.assessment-grid p,.assessment-grid small{color:var(--steam-muted)}.assessment-grid label{color:var(--steam-muted);gap:7px;font-size:11px;font-weight:700;display:grid}.assessment-grid select{width:100%;color:var(--steam-text);background:#172536;border:1px solid #3b5870;padding:10px}.back-button{color:var(--steam-blue-bright);cursor:pointer;background:0 0;border:0;margin-bottom:22px}@media (max-width:900px){.teacher-app .review-backdrop{inset:70px 0 0}.teacher-app .assessment-dashboard{padding:25px 17px}}.achievement-basics{grid-template-columns:1fr 1fr 2fr}.achievement-basics .explanation-field textarea{min-height:70px}.achievement-explanation{border-left:3px solid var(--steam-blue);background:#162d40;margin:18px 0 4px;padding:17px}.achievement-explanation strong{color:var(--steam-blue-bright)}.achievement-explanation p{color:var(--steam-text);margin:7px 0 0;font-size:12px;line-height:1.6}@media (max-width:900px){.achievement-basics{grid-template-columns:1fr}.achievement-basics .explanation-field{grid-column:1}}@keyframes ui-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:0;transform:translate(34px)}to{opacity:1;transform:none}}@keyframes ring-in{0%{opacity:0;transform:scale(.82)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes ambient-float{0%,to{transform:translateY(0) rotate(var(--card-rotation,0deg))}50%{transform:translateY(-7px) rotate(var(--card-rotation,0deg))}}button,a,input,textarea,select{transition:border-color .18s,background-color .18s,color .18s,box-shadow .18s,transform .18s cubic-bezier(.2,.8,.2,1),opacity .18s}button:not(:disabled){cursor:pointer}button:not(:disabled):active,.primary:not(:disabled):active,.secondary:not(:disabled):active{transition-duration:70ms;transform:translateY(1px)scale(.975)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--steam-blue-bright);outline-offset:3px}.primary:hover:not(:disabled),.secondary:hover:not(:disabled),.import-actions button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 22px #0004}.sidebar>a:hover,.sidebar>button:hover{color:var(--steam-text);background:#ffffff08;transform:translate(3px)}.stat,.panel,.feature,.class-overview-grid article{animation:.4s cubic-bezier(.2,.8,.2,1) both ui-rise}.stat:nth-child(2),.feature:nth-child(2),.class-overview-grid article:nth-child(2){animation-delay:45ms}.stat:nth-child(3),.feature:nth-child(3),.class-overview-grid article:nth-child(3){animation-delay:90ms}.stat:nth-child(4),.class-overview-grid article:nth-child(4){animation-delay:.135s}.stat:hover,.feature:hover,.class-overview-grid article:hover{border-color:#66c0f477;transform:translateY(-3px);box-shadow:0 13px 30px #0004}.table-row:hover{transform:translate(4px)}.table-row:active{transform:translate(2px)scale(.995)}.challenge-card{animation:.38s cubic-bezier(.2,.8,.2,1) both ui-rise}.challenge-card:nth-child(2){animation-delay:45ms}.challenge-card:nth-child(3){animation-delay:90ms}.level-ring{transition:background .55s,transform .2s;animation:.55s cubic-bezier(.2,.9,.2,1) both ring-in}.level-ring:hover{transform:scale(1.04)}.modal-backdrop,.review-backdrop{animation:.18s both ui-fade}.auth-modal{animation:.26s cubic-bezier(.2,.85,.2,1) both ui-rise}.review-drawer{animation:.3s cubic-bezier(.2,.85,.2,1) both drawer-in}.teacher-app .assessment-dashboard{animation:.3s cubic-bezier(.2,.85,.2,1) both ui-rise}.managed-achievements article:hover strong{color:var(--steam-blue-bright)}.rank-label{transition:transform .18s,filter .18s}.challenge-card:hover .rank-label{filter:brightness(1.12);transform:translateY(-1px)scale(1.04)}.hero-visual .profile-card{--card-rotation:-2deg;animation:5s ease-in-out infinite ambient-float}.hero-visual .streak-card{--card-rotation:2deg;animation:4.4s ease-in-out .5s infinite ambient-float}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.package-groups{gap:30px;display:grid}.student-package{gap:12px;display:grid}.package-heading{border-bottom:1px solid var(--steam-line);justify-content:space-between;align-items:end;padding-bottom:10px;display:flex}.package-heading small{color:var(--steam-blue-bright);letter-spacing:1.5px;font-size:8px}.package-heading h3{margin:4px 0 0;font-size:21px}.package-heading p{color:var(--steam-muted);max-width:480px;margin:0;font-size:11px}.package-manager{border-bottom:1px solid var(--steam-line);background:#17283a;grid-template-columns:1fr 1fr;gap:16px;padding:18px 22px;display:grid}.package-select label,.package-manager form{gap:7px;font-size:10px;font-weight:800;display:grid}.package-select select,.package-manager input{color:var(--steam-text);background:#101c29;border:1px solid #3b5870;padding:10px}.package-select p,.package-assignments p{color:var(--steam-muted);margin:7px 0 0;font-size:10px}.package-manager form{grid-column:1/-1;grid-template-columns:1fr 1fr auto}.package-assignments{grid-column:1/-1}.package-assignments>div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.package-assignments label,.student-package-access label{background:#203448;border:1px solid #35536d;align-items:center;gap:8px;padding:9px 11px;font-size:11px;display:flex}.student-package-access{border:1px solid var(--steam-line);background:#17283a;margin:18px 0;padding:16px}.student-package-access>p{color:var(--steam-muted);font-size:11px}.student-package-access>div{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;display:grid}.student-package-access label span,.student-package-access label small{display:block}.student-package-access label small{color:var(--steam-muted);margin-top:2px}.student-package-access label.standard{opacity:.7}@media (max-width:700px){.package-heading{flex-direction:column;align-items:start;gap:6px}.package-manager,.package-manager form{grid-template-columns:1fr}.package-select,.package-assignments,.package-manager form{grid-column:1}}.invite-status{border:1px solid var(--steam-line);background:#172536;gap:4px;padding:12px;display:grid}.invite-status.valid{border-color:#66c0f477}.invite-status strong{color:var(--steam-blue-bright)}.invite-status small{color:var(--steam-muted)}.invite-panel{grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:24px;padding:19px 22px;display:grid}.invite-panel>div:first-child{align-items:center;gap:12px;display:flex}.invite-panel h2{margin:0 0 4px;font-size:17px}.invite-panel p{color:var(--steam-muted);margin:0;font-size:11px}.invite-preview{border-left:3px solid var(--steam-blue);background:#152331;grid-column:1/-1;grid-template-columns:1fr auto;align-items:end;gap:15px;padding:16px;display:grid}.invite-preview>div{gap:7px;display:grid}.invite-preview small{color:var(--steam-blue-bright);letter-spacing:1.4px}.invite-preview code{overflow-wrap:anywhere;color:var(--steam-text);background:#0c1722;padding:9px}.invite-preview p{line-height:1.5}@media (max-width:700px){.invite-panel,.invite-preview{grid-template-columns:1fr}.invite-panel>button,.invite-preview>button{width:100%}}.teacher-users{overflow:hidden}.teacher-users article{border-top:1px solid var(--steam-line);grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:15px 20px;display:grid}.teacher-users .student-name span strong,.teacher-users .student-name span small{display:block}.teacher-users .student-name span small{color:var(--steam-muted);margin-top:3px}.admin-toggle{color:var(--steam-muted);align-items:center;gap:7px;font-size:11px;display:flex}.you-label{color:var(--steam-blue-bright);text-transform:uppercase;font-size:10px;font-weight:800}.teacher-users .delete-confirm{align-items:center;gap:7px;display:flex}.teacher-users .delete-confirm span{color:#ff9b9b;font-size:10px}@media (max-width:700px){.teacher-users article{grid-template-columns:1fr}.teacher-users .danger-button,.teacher-users .delete-confirm{justify-self:start}}.markdown{color:inherit;line-height:1.55}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:.45em 0}.markdown ul,.markdown ol{padding-left:20px}.markdown code{color:var(--steam-blue-bright);background:#101c29;padding:1px 4px}.markdown a{color:var(--steam-blue-bright)}.card-description{color:var(--steam-muted);flex:1;font-size:12px}.level-description{font-size:13px;font-weight:700}.level-description p{margin:0}.review-request{border:1px solid var(--steam-line);background:#172d40;gap:13px;margin:22px 0;padding:18px;display:grid}.review-request label{color:var(--steam-muted);gap:7px;font-size:11px;font-weight:700;display:grid}.review-check{align-items:start;grid-template-columns:auto 1fr!important}.review-check span,.review-check small{display:block}.review-check small{color:var(--steam-muted);margin-top:3px;font-weight:400}.review-request textarea{resize:vertical;min-height:110px;color:var(--steam-text);font:inherit;background:#0e1c29;border:1px solid #3b5870;padding:11px}.review-request .code-input{tab-size:2;min-height:190px;font-family:Consolas,monospace}.review-request-actions{align-items:center;gap:12px;display:flex}.submission-status{width:max-content;color:var(--steam-blue-bright);text-transform:uppercase;background:#66c0f419;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.submission-status.reviewed{color:#9ed67f;background:#70b75520}.request-feedback{color:var(--steam-blue-bright);margin:0;font-size:11px}.review-request textarea:disabled{opacity:.68;cursor:not-allowed;background:#0b1722}.undo-request{color:#faa;background:#ff6b6b16;border:1px solid #ff9b9b66;padding:11px 16px;font-weight:800}.undo-request:hover:not(:disabled){background:#ff6b6b28}.review-request-actions>button{box-sizing:border-box;justify-content:center;align-items:center;width:170px;height:42px;padding:0;font-size:12px;font-weight:800;display:inline-flex}.request-feedback.error{color:#ff8f8f;background:#ff5f5f12;border-left:3px solid #ff6b6b;padding:9px 11px}.tier-medal{align-items:center;gap:9px;display:flex;color:var(--steam-text)!important;background:0 0!important}.tier-medal>span{background:#101c29;border:2px solid;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;box-shadow:inset 0 0 0 4px #ffffff0b,0 4px 13px #0005}.tier-medal strong{letter-spacing:.8px;text-transform:uppercase;font-size:10px}.tier-medal.bronze>span{color:#d98b59;box-shadow:inset 0 0 0 4px #d98b5914,0 0 14px #d98b5930}.tier-medal.silver>span{color:#c6d8e2;box-shadow:inset 0 0 0 4px #c6d8e214,0 0 14px #c6d8e230}.tier-medal.gold>span{color:#ffd86a;box-shadow:inset 0 0 0 4px #ffd86a17,0 0 17px #ffd86a3b}.student-status{color:var(--steam-muted);text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.student-status.seen{color:var(--steam-blue-bright)}.challenge-card.achieved .challenge-number{color:#70d890;text-shadow:0 0 12px #70d89055}.assessment-controls{gap:12px;display:grid}.assessment-controls label>span{color:var(--steam-muted);font-weight:400}.assessment-controls textarea{resize:vertical;min-height:105px;color:var(--steam-text);font:inherit;background:#172536;border:1px solid #3b5870;padding:10px}.assessment-controls .primary{width:100%}.teacher-feedback{border-left:3px solid var(--steam-blue);background:#162d40;margin:14px 0 24px;padding:18px 20px}.teacher-feedback>strong{color:var(--steam-blue-bright);margin-bottom:8px;display:block}.submission-heading strong,.submission-heading small{display:block}.submission-heading strong{color:var(--steam-text)}.submission-heading small{color:var(--steam-muted);margin-top:4px;font-size:10px}.table-row.pending-review,.assessment-grid article.pending-review,.review-student-switcher button.pending-review{box-shadow:inset 0 0 0 1px #70d890,0 0 18px #70d89020;border-color:#70d890!important}.student-name>span strong,.student-name>span em{display:block}.student-name>span em{color:#70d890;text-transform:uppercase;letter-spacing:.7px;margin-top:3px;font-size:8px;font-style:normal;font-weight:800}.overview-loading{min-height:190px;color:var(--steam-muted);align-content:center;place-items:center;gap:12px;display:grid}.overview-loading span{border:3px solid #35536d;border-top-color:var(--steam-blue);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@media (max-width:1000px){.sidebar,.review-student-switcher>div{scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.review-student-switcher>div::-webkit-scrollbar{display:none}}@media (max-width:700px){.landing{overflow-x:hidden}.hero,.hero-copy{width:100%;min-width:0}.hero{gap:24px}.eyebrow{white-space:normal;max-width:100%;line-height:1.5}.hero h1{overflow-wrap:anywhere;font-size:clamp(37px,12vw,48px)}.hero-copy>p{font-size:16px}.trust-row{grid-template-columns:1fr;gap:8px;display:grid}.hero-visual{width:100%;min-width:0;margin:0;overflow:hidden;transform:none}.progress-card{width:min(300px,88vw)}.orbit-one{width:340px;height:340px}.orbit-two{width:260px;height:260px}.floating-card{max-width:88vw}.student-card{left:4px}.streak-card{right:4px}.teacher-app:has(.review-backdrop){height:100vh;overflow:hidden}}.retry-rating{color:var(--steam-blue-bright);background:#ffffff09;border:1px solid;padding:8px 11px;font-size:10px;font-weight:800;position:absolute;bottom:18px;right:22px}.nav-count{color:#10251a;background:#70d890;border-radius:50%;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:9px;display:grid}.pending-review-overview{overflow:hidden}.pending-review-overview>button{border:0;border-top:1px solid var(--steam-line);width:100%;color:var(--steam-text);text-align:left;background:0 0;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:14px 20px;display:grid}.pending-review-overview>button:hover{background:#70d8900c}.pending-review-overview>button span:nth-child(2) strong,.pending-review-overview>button span:nth-child(2) small{display:block}.pending-review-overview>button small{color:var(--steam-muted);margin-top:3px}.pending-review-overview>button em{color:#70d890;text-transform:uppercase;font-size:9px;font-style:normal;font-weight:800}.assessment-filter{gap:7px;margin:18px 0;display:flex}.assessment-filter button{border:1px solid var(--steam-line);color:var(--steam-muted);background:#172536;padding:8px 11px;font-size:10px;font-weight:800}.assessment-filter button.active{border-color:var(--steam-blue);color:var(--steam-blue-bright);background:#66c0f414}.reviewed-result{background:linear-gradient(125deg,#25384a,#172536);border:1px solid;align-items:center;gap:18px;margin:24px 0;padding:20px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 35px #0004}.reviewed-result:before{content:"";background:linear-gradient(100deg,#0000,#ffffff17,#0000);position:absolute;inset:-80% 35% -80% -20%;transform:rotate(15deg)}.reviewed-result.bronze{border-color:#c47a4b}.reviewed-result.silver{border-color:#9fb7c5}.reviewed-result.gold{border-color:#e8bd4b;box-shadow:0 14px 38px #e8bd4b20}.result-medal{z-index:1;background:#101c29;border:3px solid;border-radius:50%;flex:none;place-items:center;width:68px;height:68px;display:grid;position:relative;box-shadow:inset 0 0 0 5px #ffffff0b,0 0 24px}.reviewed-result.bronze .result-medal{color:#d88a57}.reviewed-result.silver .result-medal{color:#bdd0db}.reviewed-result.gold .result-medal{color:#ffd766}.reviewed-result>div:nth-child(2){z-index:1;position:relative}.reviewed-result small,.reviewed-result strong,.reviewed-result p{display:block}.reviewed-result small{color:var(--steam-muted);letter-spacing:1.5px;font-size:8px}.reviewed-result strong{text-transform:uppercase;color:var(--steam-text);margin:3px 0;font-size:25px}.reviewed-result p{color:var(--steam-muted);margin:0;font-size:11px}.result-sparkle{color:#ffd766;animation:3s ease-in-out infinite ambient-float;position:absolute;top:18px;right:22px}.submitted-work{border-top:1px solid var(--steam-line);gap:7px;margin-top:14px;padding-top:14px;display:grid}.submitted-work pre{color:#d7e8f5;white-space:pre-wrap;background:#0b1520;border:1px solid #304c63;max-height:260px;margin:0;padding:12px;font:11px/1.55 Consolas,monospace;overflow:auto}.submitted-work small{text-transform:uppercase;letter-spacing:1px;color:var(--steam-blue-bright)!important}.teacher-app .assessment-dashboard{padding-right:330px}.review-student-switcher{border-left:1px solid var(--steam-line);background:#172536;width:285px;height:calc(100vh - 70px);padding:25px 14px;position:fixed;top:70px;right:0;overflow:auto}.review-student-switcher>small{color:var(--steam-blue-bright);letter-spacing:1.3px;padding:0 8px 12px;font-size:9px;display:block}.review-student-switcher>div{gap:5px;display:grid}.review-student-switcher button{width:100%;color:var(--steam-text);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px;display:grid}.review-student-switcher button:hover{background:#22384d}.review-student-switcher button.active{background:#2a475e;border-color:#66c0f466}.review-student-switcher button span:nth-child(2){min-width:0}.review-student-switcher button strong,.review-student-switcher button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.review-student-switcher button strong{font-size:11px}.review-student-switcher button small{color:var(--steam-muted);margin-top:3px;font-size:9px}@media (max-width:1000px){.teacher-app .assessment-dashboard{padding-bottom:145px;padding-right:17px}.review-student-switcher{border-left:0;border-top:1px solid var(--steam-line);width:100%;height:125px;padding:11px 14px;top:auto;bottom:0;left:0}.review-student-switcher>small{padding-bottom:7px}.review-student-switcher>div{display:flex;overflow:auto}.review-student-switcher button{min-width:230px}}.student-package .challenge-grid{grid-template-columns:1fr}.challenge-accordion{background:linear-gradient(135deg,var(--steam-panel),var(--steam-panel-soft));border:1px solid var(--steam-line)}.challenge-accordion.open{border-color:#66c0f477;box-shadow:0 14px 35px #0004}.challenge-accordion .challenge-card{background:0 0;border:0;grid-template-columns:45px minmax(180px,1fr) minmax(220px,1.6fr) 145px;align-items:center;gap:16px;min-height:0;padding:18px 20px;display:grid}.challenge-accordion .challenge-top{display:block}.challenge-accordion .challenge-title{justify-items:start;gap:7px;min-width:0;display:grid}.challenge-accordion .challenge-card h3{margin:0;line-height:1.25}.challenge-accordion .card-description{margin:0}.challenge-accordion .mini-progress{display:none}.challenge-status{justify-items:end;gap:12px;display:grid}.challenge-accordion .card-open-hint{white-space:nowrap;margin:0}.challenge-accordion.open .card-open-hint svg{transform:rotate(90deg)}.inline-achievement-detail{border-top:1px solid var(--steam-line);background:#172536;padding:24px 28px 28px;animation:.22s both ui-rise;position:relative}.inline-achievement-detail>h2,.inline-achievement-detail>.eyebrow{display:none}.detail-collapse{color:var(--steam-blue-bright);background:0 0;border:0;font-size:10px;position:absolute;top:18px;right:20px}.package-description{color:var(--steam-muted);max-width:480px;font-size:11px}.challenge-accordion{scroll-margin-top:86px}.inline-achievement-detail .detail-intro{max-width:calc(100% - 110px);color:var(--steam-text);margin-bottom:22px;font-size:13px;line-height:1.65}@media (max-width:800px){.challenge-accordion .challenge-card{grid-template-columns:35px 1fr;gap:11px}.challenge-accordion .challenge-title{grid-column:2}.challenge-accordion .card-description{grid-column:1/-1}.challenge-status{grid-column:1/-1;justify-content:space-between;align-items:center;width:100%;display:flex}.inline-achievement-detail{padding:22px 16px}.detail-collapse{margin-left:auto;display:block;position:static}}.app .empty-small strong{color:var(--game-text)}.dashboard-main,.achievement-section{min-width:0}.achievement-section .filter-row{flex-wrap:wrap;overflow:visible}.app .achievement-manager label{color:var(--steam-text)}.achievement-library-summary{background:var(--steam-line);border:1px solid var(--steam-line);grid-template-columns:minmax(0,1fr) 120px 120px;gap:1px;margin:24px 22px 8px;display:grid}.achievement-library-summary>div{background:#192d40;flex-direction:column;justify-content:center;min-height:86px;padding:16px 18px;display:flex}.achievement-library-summary>div:not(:first-child){text-align:center;align-items:center}.achievement-library-summary small{color:var(--steam-blue-bright);letter-spacing:1.4px;font-size:8px}.achievement-library-summary strong{font-size:17px}.achievement-library-summary>div:not(:first-child) strong{color:var(--steam-blue-bright);font-size:25px}.achievement-library-summary span{color:var(--steam-muted);margin-top:4px;font-size:10px;line-height:1.45}.managed-achievements{gap:8px;padding:8px 22px 24px}.managed-achievements article{border:1px solid var(--steam-line);background:#1b2e40;padding:0}.managed-achievements article:first-child{border-top:1px solid var(--steam-line)}.managed-achievements article>div{grid-template-columns:58px minmax(0,1fr) auto;gap:16px;padding:16px 18px}.managed-number{width:48px;height:48px;color:var(--steam-blue-bright);background:#16283a;border:1px solid #66c0f477;place-items:center;font-size:18px;display:grid}.managed-copy{min-width:0}.managed-copy small,.managed-copy strong{display:block}.managed-copy p{color:var(--steam-muted);white-space:nowrap;text-overflow:ellipsis;margin:5px 0 0;font-size:10px;line-height:1.45;overflow:hidden}.managed-ranks{gap:5px;display:flex}.managed-ranks i{border:1px solid var(--steam-line);color:var(--steam-muted);padding:5px 7px;font-size:8px;font-style:normal;font-weight:800}.managed-achievements article>button{flex:none;margin-right:14px}@media (max-width:800px){.achievement-library-summary{grid-template-columns:1fr 1fr;margin-inline:16px}.achievement-library-summary>div:first-child{grid-column:1/-1}.managed-achievements{padding-inline:16px}.managed-achievements article>div{grid-template-columns:48px minmax(0,1fr)}.managed-ranks{grid-column:2}.managed-achievements article>button{margin-right:8px}}.student-package .challenge-accordion .challenge-card{grid-template-columns:76px minmax(180px,1fr) minmax(220px,1.6fr) 145px}.student-package .challenge-number{width:62px;height:62px;color:var(--steam-blue-bright);background:linear-gradient(145deg,#284b63,#14283a);border:1px solid #66c0f477;place-items:center;font-size:22px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid;position:relative;box-shadow:inset 0 0 0 3px #0e1c28,0 8px 18px #0004}.student-package .challenge-number:after{content:"";pointer-events:none;border:1px solid #ffffff0d;position:absolute;inset:5px}.student-package .challenge-accordion:hover .challenge-number,.student-package .challenge-accordion.open .challenge-number{border-color:var(--steam-blue-bright);transform:translateY(-2px);box-shadow:inset 0 0 0 3px #0e1c28,0 10px 24px #66c0f426}@media (max-width:800px){.student-package .challenge-accordion .challenge-card{grid-template-columns:62px minmax(0,1fr)}.student-package .challenge-number{width:52px;height:52px;font-size:18px}}.achievement-create{border-bottom:1px solid var(--steam-line);background:#1a2b3d}.achievement-create>summary{cursor:pointer;color:var(--steam-text);justify-content:space-between;align-items:center;gap:18px;padding:17px 22px;list-style:none;transition:background .18s;display:flex}.achievement-create>summary::-webkit-details-marker{display:none}.achievement-create>summary:hover{background:#66c0f40b}.achievement-create>summary span{align-items:center;gap:9px;font-weight:800;display:flex}.achievement-create>summary span svg{color:var(--steam-blue-bright)}.achievement-create>summary small{color:var(--steam-muted)}.achievement-create[open]>summary{border-bottom:1px solid var(--steam-line);background:#20384d}.achievement-create>form{grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 22px;display:grid}.achievement-create .achievement-basics{grid-column:1/-1}.achievement-create form>.primary{grid-column:1/-1;justify-self:start}@media (max-width:700px){.achievement-create>summary{flex-direction:column;align-items:flex-start}.achievement-create>form{grid-template-columns:1fr}.achievement-create .achievement-basics,.achievement-create form>.primary{grid-column:1}}.student-package .challenge-card.awaiting-review .challenge-number{color:#ffd0a5;background:linear-gradient(145deg,#8b441d,#3b251d);border-color:#ff9a48;box-shadow:inset 0 0 0 3px #25150e,0 0 22px #ff812f4d}.student-status.pending{color:#ffb16f;background:#ff812f14;border-color:#ff8a3d66}.student-package .challenge-card.rating-reveal .challenge-number{z-index:2;animation:1.05s cubic-bezier(.2,.9,.25,1) 3 rating-number-reveal}.student-package .challenge-card.rating-reveal .tier-medal{animation:1.15s ease-in-out 3 rating-medal-glow;position:relative;overflow:hidden}.student-package .challenge-card.rating-reveal .tier-medal:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 36%,#fff 48%,#fffd 51%,#0000 63%);animation:1.15s ease-in-out 3 rating-medal-shine;position:absolute;inset:-80% -45%;transform:translate(-70%)rotate(8deg)}.student-package .challenge-card.rating-reveal{isolation:isolate;animation:1.15s ease-in-out 3 rating-card-pulse}@keyframes rating-number-reveal{0%,to{transform:translate(0)scale(1)}12%{transform:translate(-4px,1px)rotate(-3deg)scale(1.06)}24%{transform:translate(5px,-1px)rotate(3deg)scale(1.08)}36%{transform:translate(-3px)rotate(-2deg)scale(1.07)}50%{transform:translate(3px,-1px)rotate(2deg)scale(1.09)}70%{transform:translate(-1px)scale(1.05)}85%{transform:translate(0)scale(1.02)}}@keyframes rating-medal-glow{0%,to{filter:brightness();transform:scale(1)}45%{filter:brightness(1.9)drop-shadow(0 0 13px);transform:scale(1.16)}}@keyframes rating-medal-shine{0%{transform:translate(-75%)rotate(8deg)}65%,to{transform:translate(75%)rotate(8deg)}}@keyframes rating-card-pulse{0%,to{box-shadow:0 0 #66c0f400}45%{box-shadow:0 0 32px #66c0f43b}}@media (prefers-reduced-motion:reduce){.student-package .challenge-card.rating-reveal,.student-package .challenge-card.rating-reveal .challenge-number,.student-package .challenge-card.rating-reveal .tier-medal,.student-package .challenge-card.rating-reveal .tier-medal:after{animation:none}}.package-assignment-feedback{border-left:3px solid var(--steam-blue);background:#66c0f412;padding:9px 11px;color:var(--steam-blue-bright)!important;margin:10px 0 0!important;font-size:10px!important}.student-package-access input:disabled:not(:checked){cursor:wait}.reviewed-submission{border:1px solid var(--steam-line);background:#101e2b;gap:8px;margin:0 0 16px;padding:18px 20px;display:grid}.reviewed-submission>strong{color:var(--steam-text);font-size:15px}.reviewed-submission>small{color:var(--steam-blue-bright);letter-spacing:1px;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:800}.reviewed-submission pre{color:#d7e8f5;white-space:pre-wrap;background:#09131d;border:1px solid #304c63;max-height:280px;margin:0;padding:13px 15px;font:11px/1.6 Consolas,monospace;overflow:auto}.reviewed-submission .markdown{color:var(--steam-text);font-size:12px}.reviewed-submission .markdown>:first-child{margin-top:0}.reviewed-submission .markdown>:last-child{margin-bottom:0}.help-ladder{border:1px solid var(--line);background:#ffffff05;border-radius:16px;margin-top:18px;padding:18px}.help-ladder-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.help-ladder-head strong{font-size:15px;display:block}.help-ladder-head small{color:var(--muted)}.tier-tabs{gap:6px;display:flex}.tier-tabs button{border:1px solid var(--line);color:inherit;letter-spacing:.4px;background:0 0;border-radius:99px;padding:5px 13px;font-size:12px;font-weight:800;transition:transform .12s,background .2s,border-color .2s}.tier-tabs button:hover{transform:translateY(-1px)}.tier-tabs button.active.bronze{color:#7d431f;background:#f2d6c2;border-color:#e2b795}.tier-tabs button.active.silver{color:#44535c;background:#dce5e8;border-color:#c2ced3}.tier-tabs button.active.gold{color:#7d5a00;background:#fee5a3;border-color:#f0cd73}.help-steps{gap:10px;display:grid}.help-step{border:1px solid var(--line);border-radius:12px;overflow:hidden}.help-step>button{width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:13px 15px;font-size:14px;font-weight:700;transition:background .2s;display:flex}.help-step>button:hover{background:#ffffff08}.help-step .step-index{background:#ffffff12;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.help-step .step-hint{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:12px;font-weight:600;display:flex}.help-step.open>button .step-index{background:var(--mint,#b9f5ce);color:#123}.help-body{padding:0 15px 15px 53px;animation:.28s cubic-bezier(.2,.8,.3,1) help-open}.help-body p:last-child,.help-body ol:last-child,.help-body ul:last-child{margin-bottom:0}@keyframes help-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.reveal-warning{gap:10px;padding:14px 15px 15px 53px;display:grid}.reveal-warning p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.reveal-warning .reveal-actions{flex-wrap:wrap;gap:8px;display:flex}.reveal-warning button{border:1px solid var(--line);color:inherit;background:0 0;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:800}.reveal-warning button.confirm{color:#fff;background:#ff7a45;border-color:#ff7a45}.solution-block{animation:.4s cubic-bezier(.2,.8,.3,1) solution-in}@keyframes solution-in{0%{opacity:0;filter:blur(6px);transform:scale(.985)}to{opacity:1;filter:none;transform:none}}.solution-note{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.teacher-tabs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.teacher-tabs button{border:1px solid var(--line);color:inherit;background:0 0;border-radius:11px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:800;transition:transform .12s,background .2s;display:flex}.teacher-tabs button:hover{background:#ffffff08;transform:translateY(-1px)}.teacher-tabs button.active{background:var(--mint,#b9f5ce);color:#123;border-color:#0000}.teacher-tabs .badge-count{color:#fff;background:#ff7a45;border-radius:99px;padding:1px 7px;font-size:11px}.class-switch{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.class-switch a{border:1px solid var(--line);color:inherit;border-radius:99px;padding:7px 15px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .12s}.class-switch a:hover{transform:translateY(-1px)}.class-switch a.active{background:#ffffff14;border-color:#ffffff40}.matrix-wrap{border:1px solid var(--line);border-radius:14px;overflow-x:auto}table.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}table.matrix th,table.matrix td{border-bottom:1px solid var(--line);padding:0}table.matrix thead th{text-align:center;background:#0e1c28;padding:9px 4px;font-size:11px;font-weight:800;position:sticky;top:0}table.matrix th.student-col{text-align:left;z-index:2;background:#0e1c28;min-width:190px;padding:10px 14px;position:sticky;left:0}table.matrix td.student-col{z-index:1;background:#0e1c28;padding:8px 14px;position:sticky;left:0}table.matrix td.student-col strong{font-size:13px;display:block}table.matrix td.student-col small{color:var(--muted);font-size:11px}.cell-button{background:0 0;border:0;place-items:center;width:100%;height:38px;transition:transform .12s,background .2s;display:grid;position:relative}.cell-button:hover{z-index:3;background:#ffffff10;transform:scale(1.08)}.cell-dot{border:1.5px solid #ffffff30;border-radius:50%;width:15px;height:15px}.cell-dot.seen{background:#ffe08a;border-color:#ffe08a}.cell-dot.bronze{background:#d98b52;border-color:#d98b52}.cell-dot.silver{background:#c3d0d6;border-color:#c3d0d6}.cell-dot.gold{background:#ffcf4d;border-color:#ffcf4d;box-shadow:0 0 10px #ffcf4d70}.cell-dot.pending{border-style:dashed;border-color:#ff7a45;animation:1.6s ease-in-out infinite pulse-pending}@keyframes pulse-pending{0%,to{opacity:.55}50%{opacity:1}}.cell-set{animation:.45s cubic-bezier(.2,1.4,.4,1) cell-pop}@keyframes cell-pop{0%{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}.rating-popover{z-index:20;background:#12222f;border:1px solid #ffffff25;border-radius:12px;gap:4px;min-width:150px;padding:8px;animation:.16s help-open;display:grid;position:absolute;box-shadow:0 20px 50px #0008}.rating-popover button{color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:13px;font-weight:700;display:flex}.rating-popover button:hover{background:#ffffff12}.rating-popover .swatch{border:1.5px solid #ffffff35;border-radius:50%;flex:none;width:12px;height:12px}.package-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.package-card{border:1px solid var(--line);border-radius:16px;padding:18px;transition:transform .15s,border-color .2s}.package-card:hover{transform:translateY(-2px)}.package-card.assigned{background:#5ad6a00d;border-color:#5ad6a0}.package-card h3{margin:0 0 4px;font-size:16px}.package-card .package-meta{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.package-card .package-body{color:var(--muted);margin-bottom:14px;font-size:13px;line-height:1.55}.assign-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:13px;display:flex}.switch{align-items:center;gap:10px;font-size:13px;font-weight:800;display:inline-flex}.switch .track{background:#ffffff1a;border-radius:99px;width:46px;height:26px;transition:background .2s;position:relative}.switch .track i{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .22s cubic-bezier(.3,1.4,.5,1);position:absolute;top:3px;left:3px}.switch.on .track{background:#5ad6a0}.switch.on .track i{transform:translate(20px)}.student-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.student-chips button{border:1px solid var(--line);color:inherit;background:0 0;border-radius:99px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;transition:transform .12s;display:flex}.student-chips button:hover{transform:translateY(-1px)}.student-chips button.on{color:#8ff0c4;background:#5ad6a01f;border-color:#5ad6a0}.student-chips button.via-class{opacity:.5;cursor:default}.review-card{border:1px solid var(--line);border-radius:16px;margin-bottom:14px;padding:18px}.review-card header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.review-card pre{border:1px solid var(--line);background:#0b1620;border-radius:10px;margin:0 0 12px;padding:12px;font-size:12.5px;overflow-x:auto}.review-card textarea{border:1px solid var(--line);width:100%;min-height:80px;color:inherit;font:inherit;background:#0b1620;border-radius:10px;padding:11px 13px;font-size:13px}.rate-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.rate-row button{border:1px solid var(--line);color:inherit;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:9px 15px;font-size:13px;font-weight:800;transition:transform .12s;display:flex}.rate-row button:hover{transform:translateY(-1px)}.rate-row button.bronze{color:#e6a877;border-color:#d98b52}.rate-row button.silver{color:#d6e0e5;border-color:#c3d0d6}.rate-row button.gold{color:#ffd97a;border-color:#ffcf4d}.empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:16px;padding:34px}.invite-box{border:1px solid var(--line);border-radius:14px;gap:12px;max-width:640px;padding:18px;display:grid}.invite-link{border:1px solid var(--line);word-break:break-all;background:#0b1620;border-radius:10px;align-items:center;gap:8px;padding:11px 13px;font-size:13px;display:flex}.legend-row{color:var(--muted);flex-wrap:wrap;gap:16px;margin:12px 0 16px;font-size:12px;display:flex}.legend-row span{align-items:center;gap:7px;display:flex}.class-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.class-pill{border:1px solid var(--line);color:inherit;border-radius:12px;align-items:center;gap:10px;padding:8px 14px;text-decoration:none;transition:transform .12s,background .2s,border-color .2s;display:flex}.class-pill:hover{background:#ffffff08;transform:translateY(-1px)}.class-pill.active{background:#ffffff14;border-color:#ffffff45}.class-pill strong{font-size:13.5px;font-weight:800}.class-pill small{color:var(--muted);font-size:11.5px}.class-pill .open-dot{color:#fff;background:#ff7a45;border-radius:99px;padding:1px 7px;font-size:11px;font-weight:800}.class-add{border:1px dashed var(--line);color:var(--muted);background:0 0;border-radius:12px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:700;transition:transform .12s,color .2s,border-color .2s;display:flex}.class-add:hover{color:inherit;border-color:#ffffff45;transform:translateY(-1px)}.class-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.class-form input{border:1px solid var(--line);color:inherit;font:inherit;background:#0b1620;border-radius:10px;min-width:200px;padding:9px 13px;font-size:13px}.class-form input:focus{border-color:#5ad6a0;outline:none}.class-admin-card{border:1px solid var(--line);border-radius:16px;gap:12px;margin-bottom:14px;padding:18px;display:grid}.class-admin-card header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.class-admin-card .stats{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:12.5px;display:flex}.danger-zone{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.danger-zone button{color:#ff9a9a;background:0 0;border:1px solid #ff6b6b55;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700}.danger-zone button.confirm{color:#fff;background:#ff5c5c;border-color:#ff5c5c}.danger-zone p{color:var(--muted);margin:0;font-size:12.5px}.big-percentage{font:700 40px/1 var(--font-display),sans-serif;letter-spacing:-2px;margin:14px 0 12px}.class-overview-grid .panel{color:inherit;text-decoration:none;transition:transform .15s;display:block}.class-overview-grid .panel:hover{transform:translateY(-2px)}.class-overview-grid .panel small{color:var(--muted);letter-spacing:1px;font-size:11px;font-weight:800}.class-overview-grid .panel strong{margin-top:4px;font-size:18px;display:block}.class-overview-grid .panel>span{color:var(--muted);margin-top:10px;font-size:12px;display:block}.rate-row button.gekozen{border-width:2px;box-shadow:0 0 0 3px #ffffff12}.rate-row button.terugnemen{color:var(--muted);border-style:dashed}.bewaard-melding{color:#5ad6a0;align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.student-table-panel .panel-header.manager-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.student-table-panel .assessment-filter{margin:0}.table-row .student-name em{color:#ff9a6b;margin-top:2px;font-size:10.5px;font-style:normal;font-weight:700;display:block}.table-row.pending-review{box-shadow:inset 3px 0 #ff7a45}.invite-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.invite-actions button{white-space:nowrap}.invite-preview-panel{margin-bottom:14px;padding:0}.teacher-sidebar .sidebar-divider{margin:10px 12px}.teacher-sidebar .class-item{font-size:13px}.teacher-sidebar .class-item.nieuwe-klas{color:#6d7689}.teacher-sidebar .class-item.nieuwe-klas:hover{color:inherit}.pakket-teller{color:var(--muted);white-space:nowrap;font-size:12px}.nav-count.groen{color:#0b1a13;background:#5ad6a0;border-radius:99px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:inline-grid}.student-sidebar .pakket-item{text-align:left;align-items:flex-start;gap:10px;display:flex}.student-sidebar .pakket-item span{flex:1;font-size:13px;line-height:1.35;display:block}.student-sidebar .pakket-item small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.student-sidebar .geen-pakketten{color:var(--muted);padding:8px 12px;font-size:12px;line-height:1.5;display:block}.filter-row button{align-items:center;gap:8px;display:inline-flex}.filter-telling{background:#ffffff1f;border-radius:99px;padding:1px 7px;font-size:11px;font-weight:800}.filter-row button.active .filter-telling{background:#00000026}.snel-beoordelen{margin-bottom:16px;padding:16px 18px}.snel-kop{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:12px;display:flex}.snel-kop strong{font-size:14px}.snel-kop small{color:var(--muted);font-size:12px}.snel-kop kbd{font:inherit;background:#ffffff14;border:1px solid #ffffff2b;border-radius:5px;padding:1px 6px;font-size:11px}.snel-velden{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.snel-zoek{flex:260px;position:relative}.snel-zoek input,.snel-nummer{border:1px solid var(--line);width:100%;color:inherit;font:inherit;background:#0b1620;border-radius:10px;padding:11px 13px;font-size:14px}.snel-zoek input:focus,.snel-nummer:focus{border-color:#5ad6a0;outline:none;box-shadow:0 0 0 3px #5ad6a026}.snel-nummer{text-align:center;flex:none;width:78px;font-weight:800}.snel-treffers{z-index:12;background:#12222f;border:1px solid #ffffff25;border-radius:10px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 18px 40px #0007}.snel-treffers button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:8px 10px;font-size:13.5px;display:flex}.snel-treffers button:hover{background:#ffffff12}.snel-treffers i{color:#8ff0c4;background:#5ad6a01f;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;font-style:normal;font-weight:800;display:grid}.snel-knoppen{flex-wrap:wrap;gap:7px;display:flex}.snel-knoppen button{border:1px solid var(--line);color:inherit;background:0 0;border-radius:10px;align-items:center;gap:7px;padding:11px 14px;font-size:13px;font-weight:800;transition:transform .12s;display:flex}.snel-knoppen button:hover:not(:disabled){transform:translateY(-1px)}.snel-knoppen button:disabled{opacity:.35}.snel-knoppen button.bronze{color:#e6a877;border-color:#d98b52}.snel-knoppen button.silver{color:#d6e0e5;border-color:#c3d0d6}.snel-knoppen button.gold{color:#ffd97a;border-color:#ffcf4d}.snel-onder{flex-wrap:wrap;align-items:center;gap:14px;margin-top:11px;font-size:12.5px;display:flex}.snel-challenge{color:var(--game-text,inherit);font-weight:700}.snel-challenge em{color:var(--muted);font-style:normal;font-weight:400}.snel-hint,.snel-onbekend{color:var(--muted)}.snel-onbekend{color:#ff9a9a}.snel-melding{color:#5ad6a0;align-items:center;gap:6px;font-weight:700;animation:.3s help-open;display:flex}.student-zoek{padding:12px 18px 0}.student-zoek input{border:1px solid var(--line);width:100%;max-width:320px;color:inherit;font:inherit;background:#0b1620;border-radius:10px;padding:9px 12px;font-size:13px}.student-zoek input:focus{border-color:#5ad6a0;outline:none}.pakket-samenvatting{width:100%;color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.pakket-samenvatting:hover{background:#ffffff06}.pakket-samenvatting strong{font-size:14px;display:block}.pakket-samenvatting small{color:var(--muted);font-size:12px}.pakket-samenvatting .uitklap{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.klas-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.klas-tabs button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:11px;align-items:center;gap:8px;padding:9px 15px;font-size:13px;font-weight:800;transition:transform .12s,background .2s;display:flex}.klas-tabs button:hover{transform:translateY(-1px)}.klas-tabs button.active{color:inherit;background:#ffffff14;border-color:#ffffff3d}.tab-telling{background:#ffffff1a;border-radius:99px;padding:1px 8px;font-size:11px}.pakket-kiezer{margin-bottom:16px}.pakket-rij{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:18px;display:grid}.pakket-kaart{text-align:left;border:1px solid var(--line);color:inherit;background:0 0;border-radius:12px;justify-items:start;gap:5px;padding:14px 16px;transition:transform .12s,border-color .2s,background .2s;display:grid}.pakket-kaart:hover{background:#ffffff06;transform:translateY(-2px)}.pakket-kaart.active{background:#5ad6a012;border-color:#5ad6a0}.pakket-kaart strong{font-size:14px;line-height:1.3}.pakket-kaart small{color:var(--muted);font-size:11.5px}.geen-pakket{color:var(--muted);margin:0;font-size:13px}.nieuw-pakket{border:1px dashed var(--line);border-radius:12px;gap:9px;margin:0 18px 18px;padding:14px;display:grid}.nieuw-pakket input,.nieuw-pakket textarea,.pakket-formulier input,.pakket-formulier textarea,.challenge-formulier input,.challenge-formulier textarea{border:1px solid var(--line);width:100%;color:inherit;font:inherit;background:#0b1620;border-radius:9px;padding:9px 11px;font-size:13px}.nieuw-pakket textarea,.pakket-formulier textarea{min-height:70px}.knoppen{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.knoppen button{border:1px solid var(--line);color:inherit;background:0 0;border-radius:9px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:700;display:inline-flex}.pakket-formulier{gap:12px;display:grid}.pakket-formulier label,.challenge-formulier label{gap:6px;font-size:12px;font-weight:800;display:grid}.waarschuwing{color:#ff9a9a;margin:0;font-size:12.5px}.challenge-beheer-lijst article{border-top:1px solid var(--line)}.challenge-regel{width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:14px;padding:13px 18px;display:flex}.challenge-regel:hover{background:#ffffff06}.challenge-regel .nummer{font:800 13px/1 var(--font-display),sans-serif;color:var(--muted);width:24px}.challenge-regel .tekst{flex:1}.challenge-regel .tekst strong{font-size:13.5px;display:block}.challenge-regel .tekst small{color:var(--muted);font-size:11.5px}.challenge-regel .niveaus{gap:5px;display:flex}.challenge-regel .niveaus em{border-radius:99px;padding:2px 8px;font-size:10.5px;font-style:normal;font-weight:800}.challenge-regel .niveaus em.punt-bronze{color:#e6a877;background:#d98b5226}.challenge-regel .niveaus em.punt-silver{color:#d6e0e5;background:#c3d0d626}.challenge-regel .niveaus em.punt-gold{color:#ffd97a;background:#ffcf4d26}.challenge-regel .uitklap-teken{color:var(--muted);white-space:nowrap;font-size:11.5px;font-weight:700}.challenge-beheer-lijst article.open{background:#ffffff05}.challenge-beheer-lijst article.open .challenge-regel{border-bottom:1px solid var(--line)}.challenge-uitgeklapt{padding:18px;animation:.25s help-open}.challenge-formulier{gap:16px;max-width:840px;display:grid}.challenge-formulier label.klein input{max-width:120px}.challenge-formulier .veldkop{display:block}.challenge-formulier .veldkop em{color:var(--muted);font-size:11.5px;font-style:normal;font-weight:400}.challenge-formulier textarea{resize:vertical;min-height:80px;line-height:1.55}.challenge-formulier textarea.hoog{min-height:130px}.challenge-formulier textarea.code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12.5px}.niveau-blok{border:1px solid var(--line);border-radius:12px;gap:16px;margin:0;padding:16px 18px 18px;display:grid}.niveau-blok legend{align-items:center;gap:8px;padding:0 6px;font-size:12px;font-weight:800;display:flex}.niveau-blok legend .punten{text-align:center;width:56px;padding:4px 6px;font-size:12px}.niveau-blok{background:#0b1620}.niveau-blok.niveau-bronze{border-color:#d98b5255}.niveau-blok.niveau-silver{border-color:#c3d0d655}.niveau-blok.niveau-gold{border-color:#ffcf4d55}.niveau-blok legend{color:inherit}.kies-of-nieuw{align-items:stretch;gap:8px;display:flex}.kies-of-nieuw select,.kies-of-nieuw input{border:1px solid var(--line);color:inherit;font:inherit;background:#0b1620;border-radius:9px;flex:1;padding:9px 11px;font-size:13px}.kies-of-nieuw select:focus,.kies-of-nieuw input:focus{border-color:#5ad6a0;outline:none}.kies-of-nieuw select option{color:inherit;background:#0b1620}.kies-of-nieuw .terug{border:1px solid var(--line);width:38px;color:var(--muted);background:0 0;border-radius:9px;flex:none;place-items:center;display:grid}.kies-of-nieuw .terug:hover{color:inherit;border-color:#ffffff45}.snel-pakket{color:inherit;font:inherit;background:#0b1620;border:1px solid #ffcf4d;border-radius:10px;max-width:280px;padding:11px 12px;font-size:13px}.snel-pakket:focus{border-color:#5ad6a0;outline:none}.rating-popover,.rating-popover button{color:#e8eef5}.rating-popover small{color:#93a3b4!important}.beheer-panel{margin-bottom:18px;overflow:hidden}.beheer-lijst article{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto}.docenten-lijst article{grid-template-columns:minmax(0,1fr) auto}.beheer-lijst article>.link-kaart{grid-column:1/-1}.admin-label{color:#5ad6a0;text-transform:uppercase;align-items:center;gap:4px;margin-left:8px;font-size:10px;font-weight:800;display:inline-flex}.rij-acties{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.rij-acties button{white-space:nowrap;padding:7px 11px;font-size:12px}.rij-acties button.gevaar{color:#ff9b9b;border-color:#ff9b9b44}.rij-acties button.gevaar:hover{border-color:#ff9b9b}.klas-chips{flex-wrap:wrap;gap:6px;display:flex}.klas-chips span{border:1px solid var(--steam-line,#35536d);color:var(--steam-muted,#8fa3b5);background:#ffffff12;border-radius:99px;padding:2px 9px;font-size:11px}.docent-uitnodigen{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.docent-uitnodigen input{border:1px solid var(--line,#35536d);color:inherit;font:inherit;background:#0b1620;border-radius:10px;min-width:190px;padding:9px 12px;font-size:13px}.docent-uitnodigen input:focus{border-color:#5ad6a0;outline:none}.klas-filter{border:1px solid var(--line,#35536d);color:inherit;font:inherit;background:#0b1620;border-radius:10px;padding:9px 12px;font-size:13px}.klas-filter:focus{border-color:#5ad6a0;outline:none}.student-zoek.met-icoon{color:var(--steam-muted,#8fa3b5);align-items:center;gap:9px;padding:14px 20px 4px;display:flex}.student-zoek.met-icoon input{max-width:360px}.student-zoek.met-icoon small{font-size:12px}.link-kaart{background:#5ad6a00d;border:1px dashed #5ad6a066;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:18px;margin:12px 20px 16px;padding:15px 17px;display:grid}.link-kaart small{color:#5ad6a0;letter-spacing:1px;text-transform:uppercase;align-items:center;gap:5px;font-size:10.5px;font-weight:800;display:inline-flex}.link-kaart code{word-break:break-all;background:#00000038;border-radius:8px;margin:8px 0;padding:8px 10px;font-size:12.5px;display:block}.link-kaart p{color:var(--steam-muted,#8fa3b5);margin:0;font-size:12px;line-height:1.5}.link-kaart p+p{margin-top:5px}.link-kaart .waarschuwing{color:#ffb37a}.open-uitnodigingen{border-top:1px solid var(--steam-line,#35536d);padding:14px 20px 18px}.open-uitnodigingen>small{color:var(--steam-muted,#8fa3b5);letter-spacing:1.2px;margin-bottom:9px;font-size:10.5px;font-weight:800;display:block}.open-uitnodigingen>div{justify-content:space-between;align-items:center;gap:14px;padding:7px 0;font-size:13px;display:flex}.open-uitnodigingen p{color:var(--steam-muted,#8fa3b5);margin:9px 0 0;font-size:11.5px;line-height:1.5}.secondary.klein{padding:5px 9px;font-size:11.5px}.auth-hint{color:var(--muted);text-align:center;margin:16px 0 0;font-size:12px;line-height:1.5}@media (max-width:820px){.beheer-lijst article{grid-template-columns:1fr}.rij-acties{justify-content:flex-start}.link-kaart{grid-template-columns:1fr}}.verwijder-bevestiging{background:#ff9b9b12;border:1px solid #ff9b9b55;border-radius:12px;grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-top:12px;padding:13px 15px;display:grid}.verwijder-bevestiging p{color:var(--steam-muted,#8fa3b5);margin:0;font-size:12.5px;line-height:1.5}.verwijder-bevestiging strong{color:#ff9b9b}.verwijder-bevestiging>div{gap:8px;display:flex}.verwijder-bevestiging button{white-space:nowrap;padding:7px 11px;font-size:12px}@media (max-width:820px){.verwijder-bevestiging{grid-template-columns:1fr}}.beheer-balk{justify-content:flex-end;margin-bottom:14px;display:flex}.beheer-balk a{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.indeling-lijst article{grid-template-columns:minmax(0,1fr) auto}.verplaats-rij{color:var(--steam-muted,#8fa3b5);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.verplaats-rij select{min-width:130px}.verplaats-rij button{white-space:nowrap;padding:7px 11px;font-size:12px}.verplaats-rij .geen-klas{border:1px dashed var(--steam-line,#35536d);border-radius:10px;padding:9px 12px;font-size:12px;font-style:italic}@media (max-width:820px){.indeling-lijst article{grid-template-columns:1fr}.verplaats-rij{justify-content:flex-start}}.aanmeld-badge{letter-spacing:1.2px;border-radius:99px;align-items:center;gap:6px;margin-bottom:4px;padding:5px 11px;font-size:10.5px;font-weight:800;display:inline-flex}.student-aanmelden .aanmeld-badge{color:#5ad6a0;background:#5ad6a01f;border:1px solid #5ad6a055}.docent-aanmelden .aanmeld-badge{color:var(--steam-blue-bright,#66c0f4);background:#66c0f41f;border:1px solid #66c0f455}.auth-modal .aanmeld-badge+h2{margin-top:14px}.auth-modal p strong{color:inherit}.feedback-vlag{color:var(--steam-blue-bright,#66c0f4);background:#66c0f41f;border:1px solid #66c0f455;border-radius:99px;align-items:center;gap:5px;margin-left:10px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-flex}.teacher-feedback>strong{align-items:center;gap:7px;display:flex}code.selecteerbaar{cursor:pointer;-webkit-user-select:all;user-select:all}code.selecteerbaar:hover{outline:1px solid #66c0f455}.vorige-poging{background:#ffb37a0f;border:1px dashed #ffb37a55;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:14px 0;padding:14px 18px;display:grid}.vorige-poging>div strong{font-size:14px;display:block}.vorige-poging>div small{color:var(--steam-muted,#8fa3b5);margin-top:4px;font-size:12px;line-height:1.5;display:block}.vorige-poging button{white-space:nowrap;padding:7px 11px;font-size:12px}@media (max-width:700px){.vorige-poging{grid-template-columns:1fr}}.student-layout{grid-template-columns:1fr}.student-layout .dashboard-main{max-width:1100px;margin:0 auto}.sidebar-kop{justify-content:space-between;align-items:center;gap:8px;padding-right:4px;display:flex}.sidebar-kop .sidebar-label{padding-bottom:0}.menu-sluiten,.menu-openen{display:none}@media (min-width:1001px){.student-layout .dashboard-main{padding-top:60px}.student-layout .sidebar{z-index:15;width:230px;height:calc(100vh - 70px);transition:transform .18s;position:fixed;top:70px;left:0;box-shadow:14px 0 40px #0006}.student-layout.menu-dicht .sidebar{visibility:hidden;transition:transform .18s,visibility 0s linear .18s;transform:translate(-100%)}.menu-waas{z-index:14;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#05080ea8;animation:.18s waas-in;position:fixed;inset:70px 0 0}@keyframes waas-in{0%{opacity:0}to{opacity:1}}.menu-sluiten{color:var(--steam-muted,#8fa3b5);background:0 0;border:0;border-radius:6px;place-items:center;padding:4px;display:grid}.menu-sluiten:hover{color:var(--steam-text,#fff);background:#ffffff12}.menu-openen{z-index:14;border:1px solid var(--steam-line,#35536d);background:var(--steam-panel,#1b2838);color:var(--steam-muted,#8fa3b5);border-radius:8px;place-items:center;padding:8px;display:grid;position:fixed;top:84px;left:14px;box-shadow:0 4px 14px #0004}.menu-openen:hover{color:var(--steam-blue-bright,#66c0f4);border-color:#66c0f455}}.class-edit-list article{flex-wrap:wrap}.klas-docenten{border-top:1px solid var(--steam-line);flex-wrap:wrap;flex-basis:100%;order:1;align-items:center;gap:7px;padding-top:13px;display:flex}.klas-docenten>small{color:var(--steam-blue-bright);letter-spacing:1.4px;margin-right:2px;font-size:9px}.klas-docent-chip{color:var(--steam-blue-bright);background:#66c0f417;border:1px solid #3b5870;border-radius:2px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.klas-docent-chip button{color:inherit;opacity:.7;background:0 0;border:0;padding:0;display:inline-flex}.klas-docent-chip button:hover:not(:disabled){opacity:1;color:#ff8585}.klas-docent-leeg{color:var(--steam-muted);font-size:11px}.klas-docenten select{color:var(--steam-text);font:inherit;background:#172536;border:1px solid #3b5870;border-radius:2px;padding:6px 8px;font-size:11px}.klas-docent-toevoegen button{color:var(--steam-blue-bright);background:#1b2e40;border:1px solid #3b5870;border-radius:2px;align-items:center;gap:5px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.klas-docent-toevoegen button:disabled{opacity:.45}.klas-docent-toevoegen{align-items:center;gap:7px;margin-left:auto;display:flex}.klas-naam-vast{margin-top:5px;padding:8px 9px;font-size:15px;font-weight:800;display:block}@media (max-width:800px){.klas-docent-toevoegen{width:100%;margin-left:0}.klas-docenten select{flex:1}}.opdracht{border-left:3px solid var(--steam-blue);background:#162d40;margin:4px 0 14px;padding:14px 16px}.opdracht small{color:var(--steam-muted);letter-spacing:1.1px;text-transform:uppercase;margin-bottom:6px;font-size:10px;display:block}.opdracht-kop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.opdracht-kop small{margin:0}.opdracht .tier-medal>span{width:30px;height:30px}.opdracht-eis{margin-top:12px}.opdracht-eis p{color:var(--steam-text);margin:0;font-size:13px;line-height:1.55}.opdracht-uitleg{color:var(--steam-muted);margin-top:12px;font-size:12px}.opdracht-uitleg summary{cursor:pointer;color:var(--steam-blue-bright);font-weight:700}.opdracht-uitleg p{color:var(--steam-text);line-height:1.55}.review-card-label{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.oordeel textarea,.assessment-controls .oordeel textarea{border:1px solid var(--line);width:100%;min-height:80px;color:inherit;font:inherit;background:#0b1620;padding:11px 13px;font-size:13px}.rate-row button.oordeel-goed{color:#9ed67f;border-color:#70b755}.rate-row button.oordeel-goed:hover:not(:disabled){background:#70b75518}.rate-row button.oordeel-niet{color:#ffb16f;border-color:#ff8a3d88}.rate-row button.oordeel-niet:hover:not(:disabled){background:#ff812f14}.oordeel-fout{color:#ff9a9a;margin:8px 0 0;font-size:12px}.oordeel-stand{padding:7px 10px;font-size:12px;font-weight:800}.oordeel-stand.reviewed{color:#9ed67f;background:#70b75518}.oordeel-stand.rejected{color:#ffb16f;background:#ff812f14}.oordeel-feedback{margin-bottom:10px;font-size:12px}.oordeel-feedback small{color:var(--steam-muted)}.direct-beoordelen{color:var(--steam-muted);font-size:11px;display:block}.submission-status.rejected{color:#ffb16f;background:#ff812f14}.student-status.nog-niet{color:#ffb16f;align-items:center;gap:5px;display:inline-flex}.niveau-keuze{border:0;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 14px;padding:0;display:flex}.niveau-keuze legend{float:left;color:var(--steam-muted);margin-right:6px;font-size:12px;font-weight:700}.niveau-keuze label{cursor:pointer;border:1px solid #3b5870;align-items:center;gap:7px;padding:8px 13px;font-size:13px;font-weight:800;display:inline-flex}.niveau-keuze label input{opacity:0;pointer-events:none;position:absolute}.niveau-keuze label.bronze{color:#e6a877;background:0 0}.niveau-keuze label.silver{color:#d6e0e5;background:0 0}.niveau-keuze label.gold{color:#ffd97a;background:0 0}.niveau-keuze label.gekozen.bronze{background:#d98b5214;border-color:#d98b52}.niveau-keuze label.gekozen.silver{background:#c3d0d612;border-color:#c3d0d6}.niveau-keuze label.gekozen.gold{background:#ffcf4d12;border-color:#ffcf4d}.niveau-keuze label:has(input:focus-visible){outline:2px solid var(--steam-blue-bright);outline-offset:2px}.niveau-keuze:disabled label{cursor:default}.niveau-eis{border-left:3px solid var(--steam-blue);background:#162d40;margin:0 0 14px;padding:10px 14px}.niveau-eis small{color:var(--steam-muted);font-size:11px}.niveau-eis p{margin:4px 0 0;font-size:13px}.nog-niet-goed{color:#ffb16f;background:#ffb37a0f;border:1px dashed #ffb37a66;align-items:center;gap:14px;margin:14px 0;padding:14px 18px;display:flex}.nog-niet-goed strong{color:var(--steam-text);font-size:14px;display:block}.nog-niet-goed small{color:var(--steam-muted,#8fa3b5);margin-top:4px;font-size:12px;line-height:1.5;display:block}.klaslink-paneel{margin-bottom:18px}.klaslink-maken{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.klaslink-paneel select{color:var(--steam-text);font:inherit;background:#172536;border:1px solid #3b5870;border-radius:2px;padding:9px 10px;font-size:12px}.klaslink-teller{color:var(--steam-muted);font-size:12px;line-height:1.5}.klaslink-teller b{color:var(--steam-text)}.klaslink-beheer{border-left:3px solid var(--steam-blue);border-top:1px solid var(--steam-line);background:#152331;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px 14px 19px;display:flex}.klaslink-beheer .danger-button{font-size:12px}.klaslink-nieuw .secondary{padding:8px 12px;font-size:12px}.klaslink-nieuw{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.klaslink-beheer .delete-confirm{flex-wrap:wrap;font-size:12px}.nav-count.oranje{color:#261307;background:#ff9d57;border-radius:99px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:800;display:inline-grid}.stilstand-instelling{margin-bottom:16px;padding:14px 18px}.stilstand-instelling label{color:var(--steam-text);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.stilstand-instelling select{color:var(--steam-text);font:inherit;background:#172536;border:1px solid #3b5870;border-radius:2px;padding:6px 8px;font-size:13px}.stilstand-klas{margin-bottom:16px}.stilstand-rij{border-top:1px solid var(--steam-line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:12px 18px;display:grid}.stilstand-wie strong{font-size:14px;display:block}.stilstand-wie small{color:var(--steam-muted);margin-top:3px;font-size:11px;display:block}.stilstand-labels{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.stilstand-duur{color:#ffb16f;white-space:nowrap;background:#ff812f14;padding:4px 8px;font-size:11px;font-weight:800}.stilstand-duur.lang{color:#ff8f8f;background:#ff5a5a18}.stilstand-wacht{color:var(--steam-blue-bright);white-space:nowrap;background:#66c0f417;align-items:center;gap:5px;padding:4px 8px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.stilstand-acties{gap:6px;display:flex}.stilstand-acties .secondary{align-items:center;gap:5px;padding:7px 10px;font-size:12px;text-decoration:none;display:inline-flex}.stilstand-besproken{padding:0}.stilstand-besproken summary{cursor:pointer;color:var(--steam-muted);padding:14px 18px;font-size:12px}@media (max-width:800px){.stilstand-rij{grid-template-columns:auto 1fr}.stilstand-labels,.stilstand-acties{grid-column:1/-1;justify-content:flex-start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
