@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background-color:#f7f8fc;background-image:linear-gradient(90deg,#4f46e524 1px,#0000 1px),linear-gradient(#4f46e524 1px,#0000 1px),linear-gradient(90deg,#4f46e50f 1px,#0000 1px),linear-gradient(#4f46e50f 1px,#0000 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px;font-family:sans-serif}.screen{text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.staff-screen{justify-content:flex-start;padding-top:4rem}h1{margin-bottom:.5rem;font-size:2.5rem}.tagline{color:#666;margin-bottom:2rem}.form{flex-direction:column;gap:12px;width:100%;max-width:360px;margin-bottom:2rem;display:flex}.language-toggle{background:#f0f0f0;border-radius:10px;gap:4px;margin-bottom:1.5rem;padding:4px;display:flex}.language-toggle-btn{color:#555;background:0 0;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.language-toggle-btn--active{color:#4f46e5;background:#fff;box-shadow:0 1px 3px #0000001a}input{border:1px solid #ddd;border-radius:8px;width:100%;padding:12px 16px;font-size:16px}button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:12px 16px;font-size:16px}button:disabled{cursor:not-allowed;background:#a5a3e8}button:hover:not(:disabled){background:#4338ca}.privacy{color:#999;max-width:360px;font-size:13px;line-height:1.6}.error{color:#e53e3e;font-size:14px}.success{color:#16a34a;font-size:14px}.plan-grid{flex-wrap:wrap;justify-content:center;gap:16px;margin:2rem 0;display:flex}.plan-card{text-align:left;background:#fff;border:1px solid #ddd;border-radius:12px;width:240px;padding:2rem}.plan-card--featured{border-width:2px;border-color:#4f46e5}.plan-card h2{margin-bottom:.5rem;font-size:1.2rem}.plan-price{color:#4f46e5;margin-bottom:1rem;font-size:2rem;font-weight:700}.plan-price span{color:#666;font-size:1rem;font-weight:400}.plan-features{margin-bottom:1.5rem;padding:0;list-style:none}.plan-features li{color:#444;border-bottom:1px solid #f0f0f0;padding:6px 0;font-size:14px}.plan-features li:before{content:"✓ ";color:#4f46e5}.class-list{width:100%;max-width:360px;margin:1rem 0}.class-item{background:#fff;border:1px solid #ddd;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;font-size:15px;display:flex}.class-item--inactive{opacity:.55}.class-item-link{cursor:pointer;text-align:left;color:#111;background:0 0;border:none;flex:1;align-items:center;gap:0;min-width:0;padding:0;font-size:15px;display:flex}.class-item-link:hover span:first-child{color:#4f46e5;text-decoration:underline}.button-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600}.button-danger:hover{background:#b91c1c}.button-danger:disabled{opacity:.6;cursor:not-allowed}.dashboard-section--danger{background:#fff9f9;border-color:#fecaca}.dashboard-section--danger h2{color:#b91c1c}.pupil-list-meta{align-items:center;gap:.75rem;margin-left:auto;margin-right:.5rem;display:flex}.active-classes-pill{background:#fff;border:1px solid #e5e7eb;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.active-classes-pill-count{color:#111;font-size:.95rem;font-weight:600}.toggle-switch{cursor:pointer;background:#d1d5db;border:none;border-radius:999px;flex-shrink:0;width:48px;height:26px;padding:0;transition:background .2s;position:relative}.toggle-switch--on{background:#4f46e5}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch--on:after{transform:translate(22px)}.class-toggle-item{cursor:pointer;text-align:left;border:1.5px solid;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;font-size:15px;transition:opacity .15s;display:flex}.class-toggle-item:disabled{opacity:.4;cursor:not-allowed}.class-toggle-item--active{color:#14532d;background:#f0fdf4;border-color:#86efac}.class-toggle-item--inactive{color:#6b7280;background:#f9fafb;border-color:#e5e7eb}.class-toggle-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.class-toggle-item--active .class-toggle-dot{background:#22c55e}.class-toggle-item--inactive .class-toggle-dot{background:#d1d5db}.class-toggle-name{font-weight:500}.inactive-badge{color:#b91c1c;text-transform:uppercase;letter-spacing:.05em;background:#fee2e2;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.note{color:#888;font-size:13px}.school-link{flex-direction:column;align-items:center;gap:8px;margin-top:1.5rem;display:flex}.school-link-row{background:#f0f0f0;border:1px solid #ddd;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;display:flex}.school-link-row code{color:#333;word-break:break-all;font-size:14px}.button-secondary{color:#4f46e5;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #4f46e5;border-radius:6px;padding:6px 14px;font-size:14px}.button-secondary:hover{background:#f0eeff}.dashboard{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;min-height:96px;padding:1.25rem 2rem;display:flex;position:relative}.dashboard-header-brand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dashboard-header-brand img{width:auto;height:56px;display:block}.page-title{align-items:center;gap:12px;display:flex}.page-title h1{margin:0;font-size:1.5rem}.tier-badge{color:#555;letter-spacing:.05em;text-transform:uppercase;background:#e5e7eb;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.tier-badge--pro{color:#4f46e5;background:#ede9fe}.dashboard-main{flex-direction:column;gap:2rem;width:100%;max-width:600px;margin:0 auto;padding:2rem;display:flex}.dashboard-tiles-wrapper{flex-direction:column;align-items:center;width:100%;max-width:960px;margin:0 auto;padding:2rem;display:flex}.dashboard-brand{color:#4f46e5;letter-spacing:.02em;text-align:center;margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.dashboard-tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;width:100%;max-width:900px;display:grid}.dashboard-tile{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;gap:.5rem;min-width:0;min-height:180px;padding:1.75rem;transition:border-color .15s,box-shadow .15s;display:flex}.dashboard-tile:hover{border-color:#818cf8;box-shadow:0 2px 16px #4f46e51a}.dashboard-tile--link{cursor:default}.dashboard-tile--link:hover{box-shadow:none;border-color:#e5e7eb}.dashboard-tile--signout{border-color:#fecaca}.dashboard-tile--signout:hover{border-color:#f87171;box-shadow:0 2px 16px #dc262614}.dashboard-tile--signout .dashboard-tile-title{color:#b91c1c}.dashboard-tile-icon{text-align:center;margin-bottom:.25rem;font-size:1.75rem;line-height:1}.dashboard-tile-title{color:#111;text-align:center;font-size:1.05rem;font-weight:600}.dashboard-tile-sub{color:#888;text-align:center;justify-content:center;align-items:center;gap:.4rem;margin-top:auto;font-size:13px;display:flex}.dashboard-tile-link-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;display:flex}.dashboard-tile-code{color:#555;word-break:break-all;flex:1;min-width:0;font-size:12px}.support-email{color:#4f46e5;margin-top:.25rem;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.support-email:hover{text-decoration:underline}.dashboard-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.dashboard-section h2{color:#111;margin-bottom:.5rem;font-size:1rem;font-weight:600}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:1rem;display:flex}.section-heading h2{margin:0}.section-count{color:#888;font-size:13px}.avatar-display{flex-shrink:0;margin:0 auto;position:relative}.avatar-eyes{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite avatar-blink}@keyframes avatar-blink{0%,92%,to{transform:scaleY(1)}94%,96%{transform:scaleY(.1)}}.avatar-layer{width:100%;height:100%;position:absolute;top:0;left:0}.profile-create-body{flex-direction:row;flex:1;justify-content:center;align-items:stretch;gap:clamp(20px,5vw,56px);width:100%;min-height:0;display:flex}.profile-left-col{flex-direction:column;flex:0 280px;justify-content:center;align-items:center;gap:clamp(8px,2vh,18px);width:100%;max-width:300px;min-height:0;display:flex;overflow:hidden}.profile-left-col .form{margin-bottom:0}.profile-right-col{flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;width:100%;max-width:320px;min-height:0;display:flex;overflow:hidden}.avatar-controls{flex-direction:column;gap:clamp(4px,1vh,8px);width:100%;max-width:280px;margin-top:clamp(4px,1.5vh,12px);display:flex}.avatar-row{background:#f5f5f5;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.avatar-label{color:#444;width:64px;font-size:15px;font-weight:500}.avatar-stepper{align-items:center;gap:12px;display:flex}.avatar-arrow{cursor:pointer;color:#4f46e5;background:#fff;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:20px;line-height:1;display:flex}.avatar-arrow:disabled{color:#ccc;cursor:not-allowed}.avatar-index{color:#888;text-align:center;width:24px;font-size:14px}.avatar-row--swatches{flex-direction:column;align-items:flex-start;gap:8px}.avatar-swatch-row{flex-wrap:wrap;gap:6px;display:flex}.avatar-swatch{cursor:pointer;border:2px solid #ddd;border-radius:50%;width:28px;height:28px;padding:0}.avatar-swatch--selected{border-color:#4f46e5;box-shadow:0 0 0 2px #c7d2fe}.avatar-hats-locked{color:#888;text-align:center;background:#f5f5f5;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.join-options{flex-direction:column;gap:12px;width:100%;max-width:360px;margin-top:2rem;display:flex}.pupil-grid{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-flow:column wrap;align-content:flex-start;gap:10px;width:100%;max-width:100%;height:clamp(140px,40vh,260px);margin-top:clamp(.5rem,2vh,1.5rem);padding:4px;display:flex;overflow:auto hidden}.pupil-tile{scroll-snap-align:start;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:6px;width:104px;padding:10px 6px;transition:border-color .15s;display:flex}.pupil-tile:hover{background:#f5f3ff;border-color:#4f46e5}.pupil-tile-name{color:#111;font-size:15px;font-weight:600}.pupil-tile-surname{color:#888;font-size:12px}.tab-bar{background:#f0f0f0;border-radius:10px;gap:4px;width:100%;max-width:360px;margin-bottom:1.5rem;padding:4px;display:flex}.tab{color:#666;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px 0;font-size:14px}.tab--active{color:#111;background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.tab:hover:not(.tab--active){color:#333;background:#e8e8e8}.pin-section-label{color:#333;text-align:left;font-size:14px;font-weight:600}.class-select-btn{text-align:left;color:#111;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:8px;padding:14px 16px;font-size:16px;display:block}.class-select-btn:hover,.class-select-btn:focus,.class-select-btn:active{color:#fff;background:#4338ca;border-color:#4338ca}.session-link-block{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:.75rem;display:flex}.session-qr{background:#fff;border:1px solid #ddd;border-radius:8px;flex-shrink:0;padding:8px}.session-link-info{flex-direction:column;gap:4px;display:flex}.session-code-display{color:#4f46e5;letter-spacing:.03em;font-size:clamp(1.25rem,4vw,2rem);font-weight:700}.lobby-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-top:.5rem;display:grid}.lobby-tile{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;display:flex;position:relative}.lobby-tile--ready{background:#f0fdf4;border-color:#4ade80}.lobby-tile-name{color:#111;text-align:center;font-size:13px;font-weight:600}.lobby-ready-dot{background:#22c55e;border-radius:50%;width:10px;height:10px;position:absolute;top:6px;right:6px}.session-countdown{color:#fff;text-align:center;background:#4f46e5;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.countdown-number{font-size:10rem;font-weight:900;line-height:1;animation:.8s countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}.session-countdown p{opacity:.8;margin-top:1rem;font-size:1.5rem}.session-active{color:#fff;text-align:center;background:#0f172a;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.session-timer{font-variant-numeric:tabular-nums;font-size:8rem;font-weight:900;line-height:1;transition:color .3s}.session-active-label{opacity:.6;margin:.75rem 0 2.5rem;font-size:1.2rem}.session-stats{gap:2rem;display:flex}.stat-box{background:#ffffff14;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:1rem 1.5rem;display:flex}.stat-number{font-size:2.5rem;font-weight:800}.stat-label{opacity:.6;text-transform:uppercase;letter-spacing:.06em;font-size:13px}.stat-box--large .stat-number{font-size:3rem}.results-summary{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1rem;display:flex}.results-summary .stat-box{color:#111;background:#f5f5f5}.results-table{flex-direction:column;gap:8px;margin-top:.75rem;display:flex}.results-row{background:#f9fafb;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.results-name{flex:1;font-size:15px;font-weight:500}.results-score{color:#555;font-size:14px;font-weight:600}.lobby-waiting-dots{gap:8px;margin-top:2rem;display:flex}.lobby-waiting-dots span{background:#c7d2fe;border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite dot-pulse}.lobby-waiting-dots span:nth-child(2){animation-delay:.2s}.lobby-waiting-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.hype-phrase{color:#4f46e5;margin-top:1.5rem;font-size:clamp(1.6rem,6vh,2.5rem);font-weight:800;animation:.4s ease-out hype-pop}@keyframes hype-pop{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.marking-screen{margin-top:1rem}.marking-icon{margin-top:.5rem;font-size:clamp(2.2rem,7vh,3.5rem);animation:1.1s ease-in-out infinite marking-spin-pulse}@keyframes marking-spin-pulse{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.2)rotate(12deg)}}.results-action-btns{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.75rem;display:flex}.results-action-btn{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:10px 20px;font-size:16px;font-weight:700}.results-action-btn--primary{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);transition:transform .15s,filter .15s;box-shadow:0 4px 14px #4f46e559}.results-action-btn--primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.results-action-btn--secondary{color:#4f46e5;background:#fff;border:1px solid #4f46e5}button.results-action-btn--secondary:hover{background:#f0eeff}.results-reveal{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:clamp(.6rem,2.5vh,1.25rem);padding:1rem;display:flex;position:relative}button.results-reveal:hover{background:0 0}.results-reveal-envelope{filter:drop-shadow(0 8px 18px #4f46e559);font-size:clamp(3.5rem,16vh,6.5rem);line-height:1;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease-in;animation:1.6s ease-in-out infinite results-envelope-shake}@keyframes results-envelope-shake{0%,to{transform:rotate(0)}8%{transform:rotate(-9deg)}16%{transform:rotate(8deg)}24%{transform:rotate(-7deg)}32%{transform:rotate(6deg)}40%{transform:rotate(-3deg)}48%{transform:rotate(3deg)}56%,to{transform:rotate(0)}}.results-reveal-label{color:#4f46e5;font-size:clamp(1.2rem,4.5vh,1.8rem);font-weight:800;animation:.4s ease-out hype-pop}.results-reveal-sparkles{pointer-events:none;position:absolute;inset:0}.results-reveal-sparkle{opacity:0;font-size:clamp(1.2rem,4.5vh,1.8rem);position:absolute;top:50%;left:50%}.results-reveal--opening .results-reveal-envelope{opacity:0;animation:none;transform:scale(1.6)rotate(10deg)}.results-reveal--opening .results-reveal-label{opacity:0;transition:opacity .2s ease-in}.results-reveal--opening .results-reveal-sparkle--0{--tx:-75px;--ty:-65px;animation:.5s ease-out forwards results-sparkle-burst}.results-reveal--opening .results-reveal-sparkle--1{--tx:75px;--ty:-65px;animation:.5s ease-out 50ms forwards results-sparkle-burst}.results-reveal--opening .results-reveal-sparkle--2{--tx:-75px;--ty:65px;animation:.5s ease-out .1s forwards results-sparkle-burst}.results-reveal--opening .results-reveal-sparkle--3{--tx:75px;--ty:65px;animation:.5s ease-out 50ms forwards results-sparkle-burst}@keyframes results-sparkle-burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.6)}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1.3)}}.results-celebration-header{flex-direction:column;align-items:center;gap:clamp(.2rem,1vh,.5rem);margin-bottom:clamp(.4rem,1.5vh,.75rem);display:flex}.results-celebration-title{color:#1e1b4b;margin:0;font-size:clamp(1.3rem,4.5vh,1.8rem);font-weight:800;animation:.4s ease-out hype-pop}.results-summary .stat-box--score{background:#ecfdf5;border:2px solid #6ee7b7}.stat-box--score .stat-number{color:#047857}.results-summary .stat-box--coins{background:#fef9c3;border:2px solid #fcd34d}.stat-box--coins .stat-number{color:#78350f}.question-screen{flex-direction:column;min-height:100vh;display:flex}.timer-bar-track{background:#e5e7eb;flex-shrink:0;width:100%;height:12px}.timer-bar-fill{height:100%;transition:width .5s linear,background .3s}.question-body{flex-direction:row;flex:1;justify-content:center;align-items:stretch;gap:clamp(16px,4vw,40px);min-height:0;padding:clamp(10px,2.5vh,24px) clamp(16px,3vw,32px);display:flex}.question-panel{flex:1 1 0;justify-content:center;align-items:center;max-width:55%;min-height:0;display:flex}.question-display{text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:16px;justify-content:center;align-items:center;width:100%;max-width:480px;height:100%;padding:clamp(.75rem,2vh,1.5rem) clamp(1rem,3vw,2.5rem);transition:border-color .2s,background .2s;display:flex}.question-display--submitted{background:#eef2ff;border-color:#a5b4fc}.question-text{color:#111;letter-spacing:-.01em;font-size:clamp(1.5rem,6vh,2.5rem);font-weight:700}.numpad-panel{flex-direction:column;flex:none;align-items:center;gap:clamp(6px,1.2vh,12px);width:clamp(220px,32vw,300px);min-height:0;display:flex}.skip-penalty{color:#92400e;background:#fef3c7;border-radius:999px;flex-shrink:0;padding:6px 16px;font-size:14px;font-weight:600}.skip-btn{color:#9ca3af;background:0 0;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;padding:8px 20px;font-size:14px}.skip-btn:hover:not(:disabled){color:#555;background:#f5f5f5}.skip-btn:disabled{opacity:.5;cursor:not-allowed;background:0 0}.question-footer{color:#555;background:#fff;border-top:1px solid #e5e7eb;justify-content:space-between;padding:12px 20px;font-size:14px;font-weight:500;display:flex}.numpad{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(6px,1.2vh,10px);width:100%;max-width:280px;min-height:0;margin:0 auto;display:flex}.numpad-display{text-align:right;color:#111;background:#fff;border:2px solid #4f46e5;border-radius:10px;flex-shrink:0;justify-content:flex-end;align-items:center;width:100%;height:clamp(40px,9vh,60px);padding:8px 16px;font-size:clamp(1.3rem,4.5vh,2rem);font-weight:700;display:flex}.numpad-placeholder{color:#d1d5db}.numpad-grid{aspect-ratio:3/4;flex:0 auto;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:clamp(4px,1vh,8px);width:100%;min-height:0;display:grid}.numpad-btn{color:#111;background:#fff;border:1px solid #ddd;border-radius:10px;width:100%;height:100%;min-height:0;padding:0;font-size:clamp(1rem,3.5vh,1.4rem);font-weight:600}.numpad-btn:hover:not(:disabled){color:#4f46e5;background:#f5f3ff;border-color:#4f46e5}.numpad-btn--secondary{color:#4f46e5;font-size:clamp(.85rem,2.6vh,1.1rem)}.numpad-btn--decimal{flex-shrink:0;width:100%;height:clamp(28px,5vh,40px)}.numpad-submit{letter-spacing:.03em;border-radius:10px;flex-shrink:0;width:100%;height:clamp(36px,7.5vh,52px);font-size:clamp(.95rem,2.6vh,1.1rem);font-weight:700}.results-comparison{color:#555;margin-top:.25rem;font-size:15px}.credits-earned{color:#78350f;background:#fef9c3;border:2px solid #fcd34d;border-radius:999px;margin-top:1.25rem;padding:8px 24px;font-size:1.5rem;font-weight:800;display:inline-block}.streak-info{color:#4f46e5;margin-top:.75rem;font-size:14px;font-weight:600}.level-up-banner{color:#fff;background:#4f46e5;border-radius:10px;margin-bottom:1.5rem;padding:10px 24px;font-size:1.1rem;font-weight:700}.level-down-offer{text-align:center;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;max-width:320px;margin-top:1.5rem;padding:1rem 1.5rem;font-size:15px}.test-level-badge{color:#4f46e5;letter-spacing:.03em;background:#ede9fe;border:2px solid #c4b5fd;border-radius:999px;margin-top:.75rem;padding:4px 16px;font-size:1rem;font-weight:700;display:inline-block}.streak-display{flex-direction:column;align-items:center;gap:6px;margin-top:1rem;display:flex}.streak-dots{gap:10px;display:flex}.streak-dot{background:#e5e7eb;border:2px solid #d1d5db;border-radius:50%;width:18px;height:18px;display:inline-block}.streak-dot--filled{background:#4f46e5;border-color:#4338ca}.streak-label{color:#6b7280;font-size:13px;font-weight:500}.floating-logos-container{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-logo{-webkit-user-select:none;user-select:none;position:absolute}.pupil-list{flex-direction:column;gap:2px;display:flex}.pupil-list-row{cursor:pointer;text-align:left;color:#1e1b4b;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:15px;transition:background .15s;display:flex}.pupil-list-row:hover{background:#f5f3ff}.pupil-list-name{flex:1;font-weight:600}.pupil-list-level{color:#4f46e5;background:#ede9fe;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600}.pupil-list-arrow{color:#9ca3af;font-size:1.2rem}.dashboard-tile--instinct{cursor:default;background:linear-gradient(135deg,#3730a3 0%,#4f46e5 40%,#7c3aed 100%);border-color:#0000;grid-column:1/-1;min-height:auto;padding:2rem 2.25rem;box-shadow:0 4px 24px #4f46e559}.dashboard-tile--instinct:hover{border-color:#0000;box-shadow:0 6px 32px #4f46e573}.dashboard-tile--instinct-done{box-shadow:none;background:linear-gradient(135deg,#4b5563 0%,#6b7280 100%)}.dashboard-tile--instinct-done:hover{box-shadow:none}.instinct-tile-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.instinct-tile-title{color:#fff;margin-bottom:.35rem;font-size:1.4rem;font-weight:700}.instinct-tile-sub{color:#ffffffbf;font-size:.9rem}.instinct-start-btn{color:#4f46e5;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:10px;flex-shrink:0;padding:.8rem 2rem;font-size:1rem;font-weight:700;transition:opacity .15s,transform .15s}.instinct-start-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.instinct-start-btn:disabled{opacity:.55;cursor:default;color:#6b7280;transform:none}.instinct-cancel-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1px solid #fff6;border-radius:10px;padding:.8rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .15s}.instinct-cancel-btn:hover:not(:disabled){background:#ffffff40}.instinct-cancel-btn:disabled{opacity:.5;cursor:default}.qr-focus-section{text-align:center;flex-direction:column;align-items:center;max-width:420px;display:flex}.qr-display-box{background:#fff;border-radius:16px;margin-bottom:1.25rem;padding:1.25rem;display:inline-block;box-shadow:0 2px 16px #00000014}.qr-url-display{color:#4f46e5;letter-spacing:.02em;word-break:break-all;font-size:clamp(1.5rem,5vw,2.25rem);font-weight:700;display:block}.pupil-detail-levels{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.pupil-detail-levels .pupil-detail-level-block--instinct{grid-area:1/1}.pupil-detail-levels .pupil-detail-level-block--overview{grid-area:2/1}.pupil-detail-levels .pupil-detail-level-block--insight{grid-area:1/2/span 2}@media (width<=800px){.pupil-detail-levels{grid-template-columns:1fr}.pupil-detail-levels .pupil-detail-level-block--instinct,.pupil-detail-levels .pupil-detail-level-block--overview,.pupil-detail-levels .pupil-detail-level-block--insight{grid-area:auto/1}}.insight-strength-wrap{flex-direction:column;align-items:center;gap:1rem;margin-top:.75rem;display:flex}.insight-strength-pie-wrap{justify-content:center;width:min(100%,380px);margin:0 auto;display:flex;position:relative}.insight-strength-svg{width:100%;max-width:380px;height:auto}.insight-strength-svg circle{transition:stroke-opacity .12s,stroke-width .12s,filter .12s}.insight-strength-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 1.5rem;display:flex;position:absolute;inset:0}.insight-strength-center-title{color:#374151;margin-bottom:.3rem;font-size:1.05rem;font-weight:700;line-height:1.2}.insight-strength-center-value{color:#111827;font-size:1.7rem;font-weight:700;line-height:1.2}.insight-strength-domain-legend{flex-wrap:wrap;justify-content:center;gap:.6rem 1.1rem;display:flex}.insight-strength-domain-chip{color:#374151;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.insight-strength-domain-swatch{border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem}.pupil-detail-level-block{border:2px solid #0000;border-radius:12px;flex-direction:column;min-width:0;padding:1.5rem;display:flex}.pupil-detail-level-block--instinct{background:#eef2ff;border-color:#c7d2fe}.pupil-detail-level-block--insight{background:#f0fdf4;border-color:#bbf7d0}.pupil-detail-level-block--overview{background:#fffbeb;border-color:#fde68a}.pupil-detail-level-block--overview .level-block-label,.pupil-detail-level-block--overview .level-block-number{color:#b45309}.pupil-detail-macro-subheading{border-top:1px solid #00000014;margin-top:1.25rem;padding-top:1rem}.pupil-detail-overview-credits{flex-direction:column;align-items:flex-end;display:flex}.pupil-detail-overview-caption{color:#92400e;font-size:.8rem}.pupil-detail-strength-summary{flex-direction:column;gap:.6rem;display:flex}.pupil-detail-strength-row{color:#374151;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.pupil-detail-strength-tag{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.pupil-detail-strength-tag--strong{color:#15803d;background:#dcfce7}.pupil-detail-strength-tag--weak{color:#b91c1c;background:#fee2e2}.level-block-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.level-block-label{letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:700}.pupil-detail-level-block--instinct .level-block-label{color:#4f46e5}.pupil-detail-level-block--insight .level-block-label{color:#16a34a}.level-block-number{font-size:2rem;font-weight:800;line-height:1}.pupil-detail-level-block--instinct .level-block-number{color:#4f46e5}.pupil-detail-level-block--insight .level-block-number{color:#16a34a}.level-override-form{flex-direction:column;gap:.75rem;max-width:320px;display:flex}.level-override-row{align-items:center;gap:1rem;display:flex}.level-override-label{color:#374151;width:70px;font-size:.9rem;font-weight:600}.level-override-select{color:#111;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:80px;padding:.4rem .75rem;font-size:1rem}.history-table{flex-direction:column;gap:2px;display:flex}.history-row{border-radius:6px;grid-template-columns:1fr 60px 80px 60px;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:14px;display:grid}.history-row--header{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;padding-bottom:.25rem;font-size:12px;font-weight:700}.history-row:not(.history-row--header){background:#fff;border:1px solid #e5e7eb}.history-row--good{background:#f0fdf4!important;border-color:#a7f3d0!important}.hub-screen{text-align:center;flex-direction:column;align-items:center;max-width:480px;min-height:100vh;margin:0 auto;padding:2.5rem 1.5rem 3rem;display:flex}.hub-avatar-block{flex-direction:column;align-items:center;display:flex}.hub-avatar-crop{justify-content:center;display:flex;overflow:hidden}.hub-name{color:#1e1b4b;margin:.75rem 0 1.25rem;font-size:2rem;font-weight:800}.hub-progress-row{gap:.75rem;width:100%;margin-bottom:1rem;display:flex}.hub-progress-box{text-align:center;color:#fff;border-radius:14px;flex-direction:column;flex:1 1 0;align-items:center;gap:.2rem;min-width:0;padding:.6rem .75rem;font-weight:700;display:flex}.hub-progress-box--instinct{background:#4f46e5}.hub-progress-box--insight{background:#059669}.hub-progress-label{opacity:.85;letter-spacing:.05em;text-transform:uppercase;font-size:.65rem;font-weight:600}.hub-progress-level{font-size:1.6rem;font-weight:900;line-height:1.2}.hub-progress-box .streak-display{margin-top:.1rem}.hub-progress-box .streak-dot{background:#ffffff4d;border-color:#ffffff73}.hub-progress-box .streak-dot--filled{background:#fff;border-color:#fff}.hub-credits{color:#92400e;background:#fef3c7;border:2px solid #fcd34d;border-radius:999px;margin-bottom:1.5rem;padding:.45rem 1.4rem;font-size:1.05rem;font-weight:700}.hub-confirm{flex-direction:column;align-items:center;gap:.5rem;display:flex}.hub-link-block{margin-top:.75rem}.hub-link-qr-row{align-items:flex-start;gap:1.25rem;display:flex}.hub-screen--split{text-align:left;flex-direction:row;justify-content:center;align-items:stretch;gap:clamp(16px,3vw,40px);max-width:980px}.hub-status-panel{text-align:center;flex-direction:column;flex:0 260px;align-items:center;min-width:0;display:flex}.hub-signout-btn{margin-top:auto}.hub-areas-panel{flex:1 1 0;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,20px);min-width:0;display:grid}.hub-area-tile{color:#fff;cursor:pointer;border:none;border-radius:clamp(14px,2vw,20px);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;min-height:0;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.hub-area-tile:hover:not(:disabled){transform:translateY(-2px)}.hub-area-tile:active:not(:disabled){transform:translateY(0)}.hub-area-tile-icon{font-size:clamp(2.4rem,7vh,3.8rem)}.hub-area-tile-label{font-size:clamp(.85rem,2.2vh,1.05rem)}.hub-area-tile-badge{opacity:.85;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(.6rem,1.5vh,.75rem);font-weight:600}.hub-area-tile-reward{align-items:center;gap:1px;line-height:1;display:flex;position:absolute;top:.55rem;left:.65rem}.hub-area-tile-reward-plus{font-size:.75rem;font-weight:800}.hub-area-tile-reward-coin{filter:drop-shadow(0 1px 1px #0003)}.hub-area-tile-reward-coin--large{font-size:clamp(1.1rem,3vh,1.5rem)}.hub-area-tile-reward-coin--small{font-size:clamp(.7rem,1.8vh,1rem)}.hub-area-tile--missions{background:#f59e0b}.hub-area-tile--games{background:#ec4899}.hub-area-tile--wardrobe{background:#0d9488}.hub-area-tile--practise{background:#4f46e5;box-shadow:0 4px 14px #4f46e566}.hub-area-tile--practise:hover:not(:disabled){box-shadow:0 6px 18px #4f46e580}.hub-area-tile--missions:disabled{opacity:.88;cursor:not-allowed;background:#f59e0b}.hub-area-tile--wardrobe:disabled{opacity:.88;cursor:not-allowed;background:#0d9488}.hub-area-tile--practise:disabled{opacity:.7;cursor:default;box-shadow:none;background:#4f46e5}.hub-area-tile--practise-expanded{cursor:default;gap:clamp(6px,1.5vh,10px);padding:clamp(8px,2vh,14px) clamp(8px,1.5vw,12px);position:relative}.hub-tile-collapse-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:2px 6px;font-size:1.2rem;line-height:1;position:absolute;top:2px;right:4px}button.hub-tile-collapse-btn:hover{opacity:1;background:0 0}.hub-practice-option{color:#fff;cursor:pointer;background:#ffffff2e;border:1px solid #fff6;border-radius:clamp(8px,1.5vw,12px);width:100%;padding:clamp(6px,1.5vh,10px) .5rem;font-size:clamp(.8rem,2vh,1rem);font-weight:700}.hub-practice-option:hover:not(:disabled){background:#ffffff4d}.hub-practice-option:disabled{opacity:.7;cursor:default;background:#ffffff2e}.hub-intoit-cta{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#ec4899,#f59e0b);border:none;border-radius:clamp(14px,2vw,20px);grid-column:1/-1;justify-content:center;align-items:center;gap:clamp(.5rem,1.5vw,1rem);min-height:0;font-weight:800;display:flex}.hub-intoit-icon{font-size:clamp(1.3rem,3.5vh,1.9rem)}.hub-intoit-label{font-size:clamp(.95rem,2.5vh,1.2rem)}.hub-intoit-badge{opacity:.9;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(.6rem,1.5vh,.75rem);font-weight:600}.hub-intoit-cta:disabled{opacity:.85;cursor:not-allowed;background:linear-gradient(135deg,#4f46e5,#ec4899,#f59e0b)}.hub-areas-panel--insight-gate{align-items:stretch;display:flex}.hub-insight-gate-tile{cursor:pointer;color:#fff;background:linear-gradient(135deg,#0891b2 0%,#4f46e5 50%,#7c3aed 100%) 0 0/200% 200%;border:none;border-radius:clamp(14px,2vw,20px);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(.5rem,1.8vh,1rem);padding:1.5rem;font-weight:700;transition:transform .15s,box-shadow .15s;animation:4s ease-in-out infinite insight-gate-shimmer;display:flex;box-shadow:0 6px 28px #7c3aed73}.hub-insight-gate-tile:hover{transform:translateY(-3px);box-shadow:0 10px 36px #7c3aed8c}.hub-insight-gate-tile:active{transform:translateY(0)}@keyframes insight-gate-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.hub-insight-gate-icon{font-size:clamp(3rem,10vh,5.5rem);animation:2.2s ease-in-out infinite insight-gate-bounce;display:block}@keyframes insight-gate-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hub-insight-gate-title{text-align:center;text-shadow:0 1px 4px #0003;font-size:clamp(1.3rem,4vh,2.2rem);font-weight:800}.hub-insight-gate-sub{opacity:.88;text-align:center;font-size:clamp(.75rem,2.2vh,1rem)}.games-hub-grid{grid-template-columns:repeat(auto-fit,minmax(120px,160px));justify-content:center;gap:clamp(10px,2vw,20px);width:100%;max-width:700px;margin-bottom:clamp(10px,2vh,20px);display:grid}.games-hub-tile{cursor:pointer;background:#ec4899;border:none;border-radius:clamp(12px,2vw,18px);width:clamp(100px,20vh,150px);height:clamp(100px,20vh,150px);padding:0;transition:transform .15s;overflow:hidden}.games-hub-tile:hover{transform:translateY(-2px)}.games-hub-tile-logo{object-fit:contain;width:100%;height:100%;display:block}.pelmanism-screen{gap:clamp(6px,1.5vh,14px)}.pelmanism-screen h1{margin-bottom:0}.pelmanism-penalty-detail{color:#6b7280;margin-top:-.25rem;font-size:clamp(.7rem,1.6vh,.85rem)}.pelmanism-penalty-detail p{margin:.1rem 0}.pelmanism-playing-screen{flex-direction:column;display:flex}.pelmanism-playing-body{flex-direction:column;flex:1;align-items:center;min-height:0;padding:clamp(6px,1.5vh,12px) clamp(1rem,4vw,2rem);display:flex;overflow:hidden}.pelmanism-hub-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:999px;flex-shrink:0;align-self:flex-start;padding:clamp(5px,1vh,8px) clamp(10px,2vw,16px);font-size:clamp(.7rem,1.7vh,.85rem);font-weight:700}.pelmanism-hub-btn:hover{background:#4338ca}.pelmanism-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,20px);width:100%;max-width:480px;margin-bottom:clamp(10px,2vh,20px);display:grid}.pelmanism-level-btn{color:#fff;cursor:pointer;background:#ec4899;border:none;border-radius:clamp(12px,2vw,18px);flex-direction:column;align-items:center;gap:.25rem;padding:clamp(10px,2vh,16px) .5rem;font-weight:700;transition:transform .15s;display:flex}.pelmanism-level-btn:hover{transform:translateY(-2px)}.pelmanism-level-number{font-size:clamp(.95rem,2.4vh,1.2rem)}.pelmanism-level-detail{opacity:.9;font-size:clamp(.75rem,1.8vh,.9rem)}.pelmanism-level-credits{font-size:clamp(.8rem,2vh,1rem)}.pelmanism-grid{grid-template-rows:repeat(2,1fr);gap:clamp(6px,1.2vw,14px);width:100%;max-width:900px;height:clamp(160px,60vh,360px);margin-top:clamp(6px,1.5vh,14px);display:grid}.pelmanism-card{cursor:pointer;perspective:600px;background:0 0;border:none;min-width:0;min-height:0;padding:0;position:relative}.pelmanism-card:disabled{cursor:default}.pelmanism-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s;display:block;position:relative}.pelmanism-card--flipped .pelmanism-card-inner{transform:rotateY(180deg)}.pelmanism-card-face{backface-visibility:hidden;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.pelmanism-card-face img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.pelmanism-card-face--front{transform:rotateY(180deg)}.pelmanism-card-text{z-index:1;color:#1f2937;white-space:pre-wrap;text-align:center;padding:0 6%;font-size:clamp(.65rem,2.2vh,1.2rem);font-weight:800;position:relative}.pelmanism-card--matched{opacity:.45}.insight-module-card{box-sizing:border-box;background:#fff;border:2px solid #e5e7eb;border-radius:clamp(14px,2vw,24px);flex-direction:column;gap:clamp(12px,2.5vw,22px);width:100%;height:min(clamp(380px,68vh,580px),100dvh - 110px);padding:clamp(20px,4vw,40px);transition:border-color .2s,box-shadow .2s;display:flex}.insight-module-card--correct{border-color:#16a34a;box-shadow:0 0 0 4px #16a34a1f}.insight-module-card--wrong{border-color:#dc2626;box-shadow:0 0 0 4px #dc26261a}.insight-module-card--placeholder{background:#fafafa;border-style:dashed;border-color:#d1d5db}.insight-module-label{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;font-size:clamp(13px,1.6vw,17px);font-weight:700}.insight-module-content{flex-direction:column;flex:1;justify-content:center;gap:clamp(16px,3vw,28px);min-width:0;min-height:0;display:flex;overflow-y:auto}.insight-module-question{color:#1f2937;text-align:center;flex:1;justify-content:center;align-items:center;font-size:clamp(28px,7vw,60px);font-weight:700;line-height:1.3;display:flex}.insight-module-question--wordproblem{text-align:left;font-size:clamp(18px,3.2vw,26px);line-height:1.5}.insight-column-problem{flex:1;justify-content:center;align-items:center;display:flex}.insight-column-inner{flex-direction:column;align-items:stretch;width:fit-content;display:flex}.insight-column-row{justify-content:flex-end;align-items:baseline;gap:clamp(8px,1.5vw,14px);display:flex}.insight-column-operator{color:#1f2937;text-align:left;width:clamp(40px,8vw,64px);font-size:clamp(28px,7vw,60px);font-weight:700}.insight-column-number{color:#1f2937;font-variant-numeric:tabular-nums;font-size:clamp(28px,7vw,60px);font-weight:700}.insight-column-rule{background:#1f2937;align-self:stretch;height:3px;margin-top:6px}.insight-diagram-block{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(10px,2vw,18px);display:flex}.insight-diagram-svg{width:100%;max-width:340px;height:auto}.insight-diagram-label{fill:#1f2937;paint-order:stroke fill;stroke:#fff;stroke-width:4px;stroke-linejoin:round;font-size:15px;font-weight:800}.insight-diagram-label--small{fill:#4f46e5;font-size:14px}.insight-diagram-caption{color:#1f2937;text-align:center;font-size:clamp(18px,3.5vw,26px);font-weight:700}.insight-module-placeholder{color:#9ca3af;flex:1;justify-content:center;align-items:center;font-size:clamp(15px,2vw,20px);display:flex}.insight-answer-field{color:#9ca3af;cursor:pointer;text-align:center;box-sizing:border-box;background:#f9fafb;border:2px dashed #d1d5db;border-radius:clamp(10px,1.5vw,16px);width:100%;padding:clamp(16px,3vw,26px) clamp(18px,3.5vw,32px);font-size:clamp(20px,4.5vw,36px);font-weight:700;transition:border-color .15s,background .15s,color .15s}.insight-answer-field:hover:not(:disabled){color:#4f46e5;background:#eef2ff;border-style:solid;border-color:#4f46e5}.insight-answer-field--filled,.insight-answer-field--filled:disabled{color:#4f46e5;cursor:default;background:#eef2ff;border-style:solid;border-color:#4f46e5}.insight-answer-field--correct,.insight-answer-field--correct:disabled{color:#16a34a;cursor:default;background:#f0fdf4;border-style:solid;border-color:#16a34a}.insight-answer-field--wrong-revealed{background:#fef2f2;border:2px solid #dc2626;border-radius:clamp(10px,1.5vw,16px);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,2vw,22px);padding:clamp(14px,2.5vw,22px) clamp(18px,3.5vw,32px);display:flex}.insight-answer-wrong-val{color:#dc2626;font-size:clamp(16px,3vw,26px);font-weight:600;text-decoration:line-through}.insight-answer-correct-val{color:#16a34a;font-size:clamp(20px,4vw,34px);font-weight:700}.insight-numpad-backdrop{z-index:999;background:#00000040;position:fixed;inset:0}.insight-numpad-overlay{box-sizing:border-box;z-index:1000;background:#fff;border-radius:20px 20px 0 0;width:min(380px,100vw - 24px);max-height:90vh;padding:20px 24px 24px;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -4px 32px #0000002e}.insight-numpad-overlay-question{color:#1f2937;text-align:center;white-space:pre-wrap;border-bottom:1px solid #f3f4f6;margin-bottom:14px;padding-bottom:14px;font-size:clamp(20px,4vw,26px);font-weight:700}.insight-partition-wrap{flex-direction:column;align-items:center;gap:clamp(64px,15vw,130px);display:flex;position:relative}.insight-partition-number{color:#1f2937;gap:clamp(6px,1.5vw,14px);font-size:clamp(40px,9vw,72px);font-weight:800;line-height:1;display:flex}.insight-partition-digit{line-height:1;display:inline-block}.insight-partition-arrows-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.insight-partition-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(22px,4.5vw,38px);display:flex}.insight-partition-row--compact{gap:clamp(10px,2vw,18px)}.insight-partition-row--compact .insight-partition-box,.insight-partition-row--compact .insight-partition-box:disabled{min-width:clamp(44px,8vw,64px);padding:clamp(8px,1.5vw,14px) clamp(10px,1.8vw,16px);font-size:clamp(16px,3.2vw,26px)}.insight-partition-row--compact .insight-partition-plus{font-size:clamp(16px,3vw,24px)}.insight-partition-plus{color:#6b7280;font-size:clamp(26px,5vw,38px);font-weight:700}.insight-partition-box,.insight-partition-box:disabled{color:#9ca3af;cursor:pointer;text-align:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:clamp(10px,1.5vw,16px);min-width:clamp(64px,13vw,100px);padding:clamp(14px,2.5vw,22px) clamp(18px,3vw,28px);font-size:clamp(24px,5vw,38px);font-weight:700;transition:border-color .15s,background .15s,color .15s}.insight-partition-box:hover:not(:disabled),.insight-partition-box--filled,.insight-partition-box--filled:disabled{color:#4f46e5;background:#eef2ff;border-style:solid;border-color:#4f46e5}.insight-partition-box--correct,.insight-partition-box--correct:disabled{color:#16a34a;background:#f0fdf4;border-style:solid;border-color:#16a34a}.insight-partition-box--wrong,.insight-partition-box--wrong:disabled{color:#dc2626;background:#fef2f2;border-style:solid;border-color:#dc2626}.insight-circle-prompt{color:#1f2937;text-align:center;font-size:clamp(28px,6vw,46px);font-weight:700}.insight-circle-options{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;align-items:center;gap:clamp(10px,2vw,20px);width:100%;max-width:420px;margin:0 auto;display:grid}.insight-circle-option,.insight-circle-option:disabled{color:#374151;cursor:pointer;box-sizing:border-box;background:#f9fafb;border:2px solid #d1d5db;border-radius:clamp(10px,1.5vw,16px);width:100%;padding:clamp(16px,3vw,26px) clamp(12px,2.5vw,24px);font-size:clamp(20px,4.2vw,34px);font-weight:700;transition:border-color .15s,background .15s,color .15s}.insight-circle-option:hover:not(:disabled){border-color:#4f46e5}.insight-circle-option--selected,.insight-circle-option--selected:disabled{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.insight-circle-option--correct,.insight-circle-option--correct:disabled{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.insight-circle-option--wrong,.insight-circle-option--wrong:disabled{color:#dc2626;background:#fef2f2;border-color:#dc2626;text-decoration:line-through}.insight-truefalse-prompt{color:#1f2937;text-align:center;font-size:clamp(28px,6vw,46px);font-weight:700}.insight-truefalse-options{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:clamp(14px,3vw,28px);display:flex}.insight-truefalse-option,.insight-truefalse-option:disabled{color:#374151;cursor:pointer;background:#f9fafb;border:3px solid #d1d5db;border-radius:clamp(14px,2vw,22px);min-width:clamp(140px,28vw,220px);padding:clamp(24px,5vw,40px) clamp(32px,7vw,64px);font-size:clamp(26px,5.5vw,44px);font-weight:700;transition:border-color .15s,background .15s,color .15s}.insight-truefalse-option:hover:not(:disabled){border-color:#4f46e5}.insight-truefalse-option--selected,.insight-truefalse-option--selected:disabled{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.insight-truefalse-option--correct,.insight-truefalse-option--correct:disabled{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.insight-truefalse-option--wrong,.insight-truefalse-option--wrong:disabled{color:#dc2626;background:#fef2f2;border-color:#dc2626;text-decoration:line-through}.insight-multiselect-prompt{color:#1f2937;text-align:center;font-size:clamp(24px,5vw,38px);font-weight:700}.insight-multiselect-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;align-items:center;gap:clamp(10px,2vw,18px);width:100%;max-width:480px;margin:0 auto;display:grid}.insight-multiselect-grid--compact{gap:clamp(5px,1vw,8px)}.insight-multiselect-option,.insight-multiselect-option:disabled{color:#374151;cursor:pointer;box-sizing:border-box;background:#f9fafb;border:2px solid #d1d5db;border-radius:clamp(10px,1.5vw,16px);width:100%;padding:clamp(14px,2.5vw,22px) clamp(10px,2vw,20px);font-size:clamp(18px,3.5vw,28px);font-weight:700;transition:border-color .15s,background .15s,color .15s}.insight-multiselect-option--compact,.insight-multiselect-option--compact:disabled{border-radius:clamp(6px,1vw,10px);padding:clamp(6px,1.2vw,10px) clamp(4px,1vw,8px);font-size:clamp(13px,2.5vw,18px)}.insight-multiselect-option:hover:not(:disabled){border-color:#4f46e5}.insight-multiselect-option--selected,.insight-multiselect-option--selected:disabled{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.insight-multiselect-option--correct,.insight-multiselect-option--correct:disabled{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.insight-multiselect-option--wrong,.insight-multiselect-option--wrong:disabled{color:#dc2626;background:#fef2f2;border-color:#dc2626;text-decoration:line-through}.insight-match-wrap{justify-content:space-between;gap:clamp(60px,18vw,110px);width:100%;max-width:380px;margin:0 auto;display:flex;position:relative}.insight-match-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.insight-match-column{z-index:1;flex-direction:column;gap:clamp(12px,2.5vw,20px);display:flex}.insight-match-item,.insight-match-item:disabled{color:#374151;text-align:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#f9fafb;border:2px solid #d1d5db;border-radius:12px;min-width:clamp(56px,11vw,80px);padding:clamp(10px,2vw,16px) clamp(14px,2.5vw,20px);font-size:clamp(20px,4vw,30px);font-weight:700}.insight-match-item--connected,.insight-match-item--connected:disabled{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.insight-match-item--dragging,.insight-match-item--dragging:disabled{color:#fff;background:#4f46e5;border-color:#4f46e5}.insight-match-item--correct,.insight-match-item--correct:disabled{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.insight-match-item--wrong,.insight-match-item--wrong:disabled{color:#dc2626;background:#fef2f2;border-color:#dc2626}.insight-pairsum-prompt{color:#1f2937;text-align:center;font-size:clamp(28px,6vw,46px);font-weight:700}.insight-pairsum-options{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:clamp(10px,2vw,20px);display:flex}.insight-pairsum-option,.insight-pairsum-option:disabled{color:#374151;cursor:pointer;background:#f9fafb;border:2px solid #d1d5db;border-radius:clamp(10px,1.5vw,16px);min-width:clamp(56px,10vw,92px);padding:clamp(16px,3vw,26px) clamp(16px,3vw,32px);font-size:clamp(22px,4.5vw,36px);font-weight:700;transition:border-color .15s,background .15s,color .15s}.insight-pairsum-option:hover:not(:disabled){border-color:#4f46e5}.insight-pairsum-option--selected,.insight-pairsum-option--selected:disabled{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.insight-pairsum-option--correct,.insight-pairsum-option--correct:disabled{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.insight-pairsum-option--wrong,.insight-pairsum-option--wrong:disabled{color:#dc2626;background:#fef2f2;border-color:#dc2626}.insight-dragsort-prompt{color:#6b7280;text-align:center;font-size:clamp(16px,2.8vw,22px);font-weight:600}.insight-dragsort-source{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,2vw,18px);min-height:clamp(64px,10vw,96px);display:flex}.insight-dragsort-arrow-row{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;justify-content:center;align-items:center;gap:12px;font-size:clamp(13px,2vw,17px);font-weight:700;display:flex}.insight-dragsort-arrow{color:#6b7280;font-size:clamp(20px,3.5vw,28px)}.insight-dragsort-target-row{flex-wrap:wrap;justify-content:center;gap:clamp(10px,2vw,18px);display:flex}.insight-dragsort-slot{background:#fafafa;border:2px dashed #d1d5db;border-radius:clamp(10px,1.5vw,16px);justify-content:center;align-items:center;width:clamp(76px,15vw,116px);height:clamp(76px,15vw,116px);display:flex}.insight-dragsort-slot--filled{background:#eef2ff;border-style:solid;border-color:#4f46e5}.insight-dragsort-slot--correct{background:#f0fdf4;border-color:#16a34a}.insight-dragsort-slot--wrong{background:#fef2f2;border-color:#dc2626}.insight-dragsort-tile{color:#374151;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#f9fafb;border:2px solid #d1d5db;border-radius:clamp(10px,1.5vw,14px);padding:clamp(12px,2vw,18px) clamp(16px,3vw,24px);font-size:clamp(20px,4vw,34px);font-weight:700}.insight-correct-hint{color:#16a34a;text-align:center;font-size:clamp(16px,2.8vw,22px);font-weight:600}.insight-dragsort-ghost{pointer-events:none;z-index:1100;color:#fff;background:#4f46e5;border-radius:14px;padding:clamp(12px,2vw,18px) clamp(16px,3vw,24px);font-size:clamp(18px,3.5vw,32px);font-weight:700;position:fixed;transform:translate(-50%,-50%);box-shadow:0 4px 16px #0000004d}.insight-fillblank-sequence{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,1.6vw,14px);display:flex}.insight-fillblank-item{align-items:center;gap:clamp(8px,1.6vw,14px);display:flex}.insight-fillblank-value{color:#374151;font-size:clamp(24px,5vw,40px);font-weight:700}.insight-fillblank-comma{color:#9ca3af;font-size:clamp(24px,5vw,40px);font-weight:700}.insight-fillblank-options{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,2vw,18px);min-height:clamp(64px,10vw,96px);display:flex}.insight-numberline-prompt{color:#1f2937;text-align:center;font-size:clamp(28px,6vw,46px);font-weight:700}.insight-numberline-rule{touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;min-height:64px;margin:clamp(26px,4.5vw,36px) clamp(18px,4vw,30px) clamp(20px,3.5vw,30px);display:flex;position:relative}.insight-numberline-line{background:#d1d5db;border-radius:2px;height:3px;position:absolute;top:50%;left:0;right:0}.insight-numberline-notch{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.insight-numberline-mark{background:#9ca3af;border-radius:2px;width:4px;height:clamp(14px,3vw,22px)}.insight-numberline-label{color:#374151;white-space:nowrap;margin-top:4px;font-size:clamp(14px,2.8vw,20px);font-weight:700;position:absolute;top:100%;left:50%;transform:translate(-50%)}.insight-numberline-handle{pointer-events:none;z-index:2;flex-direction:column;align-items:center;transition:transform .12s ease-out;display:flex;position:absolute;bottom:50%;transform:translate(-50%)scale(1)}.insight-numberline-handle--dragging{transform:translate(-50%)scale(1.15)}.insight-numberline-handle-knob{background:#4f46e5;border:3px solid #fff;border-radius:50%;width:clamp(30px,6.5vw,46px);height:clamp(30px,6.5vw,46px);margin-bottom:-6px;box-shadow:0 2px 8px #0000004d,0 0 0 3px #4f46e540}.insight-numberline-handle-arrow{color:#4f46e5;font-size:clamp(18px,3.5vw,26px);line-height:1}.insight-numberline-handle--correct .insight-numberline-handle-knob{background:#16a34a;box-shadow:0 2px 8px #0000004d,0 0 0 3px #16a34a40}.insight-numberline-handle--correct .insight-numberline-handle-arrow{color:#16a34a}.insight-numberline-handle--wrong .insight-numberline-handle-knob{background:#dc2626;box-shadow:0 2px 8px #0000004d,0 0 0 3px #dc262640}.insight-numberline-handle--wrong .insight-numberline-handle-arrow{color:#dc2626}.insight-numberline-target{pointer-events:none;z-index:1;padding-top:2px;position:absolute;top:50%;transform:translate(-50%)}.insight-numberline-target .insight-numberline-handle-arrow{color:#16a34a}.insight-domain-dot{vertical-align:middle;border-radius:50%;width:clamp(10px,1.6vw,15px);height:clamp(10px,1.6vw,15px);margin-right:7px;display:inline-block}.insight-share-prompt{color:#374151;text-align:center;font-size:clamp(17px,3.2vw,26px);font-weight:600}.insight-share-pool{flex-wrap:wrap;justify-content:center;gap:8px;min-height:48px;font-size:clamp(26px,5.5vw,40px);display:flex}.insight-share-pool-empty{color:#16a34a;font-size:clamp(17px,3vw,24px);font-weight:600}.insight-share-compact{color:#374151;font-size:clamp(20px,4vw,30px);font-weight:700}.insight-share-boxes{flex-wrap:wrap;flex:1;justify-content:center;align-items:flex-end;gap:clamp(10px,2.5vw,20px);display:flex}.insight-share-box{background:#f9fafb;border:2px dashed #d1d5db;border-radius:clamp(10px,1.5vw,16px);flex-direction:column;align-items:center;gap:clamp(8px,1.5vw,12px);min-width:clamp(86px,16vw,120px);padding:clamp(12px,2.5vw,18px) clamp(14px,2.5vw,20px);display:flex}.insight-share-box--filled{background:#eef2ff;border-style:solid;border-color:#4f46e5}.insight-share-box--correct{background:#f0fdf4;border-color:#16a34a}.insight-share-box--wrong{background:#fef2f2;border-color:#dc2626}.insight-share-box-sweets{text-align:center;min-height:32px;font-size:clamp(18px,3.2vw,26px)}.insight-share-box-controls{align-items:center;gap:10px;display:flex}.insight-share-box-count{color:#1f2937;text-align:center;min-width:32px;font-size:clamp(18px,3.2vw,26px);font-weight:800}.insight-share-btn{cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:12px;padding:clamp(8px,1.5vw,12px) clamp(14px,2.5vw,20px);font-size:clamp(24px,4.5vw,34px);font-weight:800;line-height:1}.insight-share-btn--add{color:#15803d;background:#dcfce7;border-color:#16a34a}.insight-share-btn--add:disabled{color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.insight-share-btn--remove{color:#b91c1c;background:#fee2e2;border-color:#dc2626}.insight-share-btn--remove:disabled{color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.insight-carousel-position{color:#374151;margin-bottom:.75rem;font-size:clamp(15px,2.2vw,18px);font-weight:700}.placement-test-side-col{flex-shrink:0;width:clamp(96px,16vw,140px)}.placement-test-side-actions{flex-direction:column;align-items:center;gap:clamp(1.5rem,6vh,3rem);display:flex}.placement-test-idk{font-size:clamp(12px,2vw,14px)}.button-secondary.placement-test-idk:hover{color:#fff;background:#4f46e5}.placement-test-logo{width:auto;height:clamp(28px,5vh,40px);margin:0 auto clamp(.75rem,2vh,1.25rem);display:block}.placement-confidence-options{justify-content:center;gap:clamp(1rem,4vw,2.5rem);margin-top:clamp(1.5rem,4vh,3rem);display:flex}.placement-confidence-option{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;width:clamp(90px,16vw,130px);padding:clamp(.75rem,2vh,1.25rem) .5rem;transition:transform .15s,border-color .15s,background .15s;display:flex}.placement-confidence-option:hover{background:#f0eeff;border-color:#4f46e5;transform:scale(1.05)}.placement-confidence-option-emoji{font-size:clamp(2rem,6vh,3rem);line-height:1}.placement-confidence-option-label{color:#4b5563;text-align:center;font-size:clamp(.8rem,1.8vh,.95rem);font-weight:600}.placement-progress-track{background:#e5e7eb;border-radius:999px;width:min(480px,80vw);height:10px;margin:0 auto clamp(1rem,3vh,1.75rem);overflow:hidden}.placement-progress-fill{background:#4f46e5;height:100%;transition:width .3s}.insight-carousel-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.75rem,2.5vw,1.5rem);width:100%;display:flex}.insight-carousel-module-wrap{width:clamp(280px,70vw,640px)}.insight-carousel-row .insight-carousel-module-wrap{flex-shrink:1;min-width:200px}.insight-carousel-arrow{color:#4f46e5;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;width:clamp(44px,9vw,72px);height:clamp(44px,9vw,72px);font-size:clamp(20px,4vw,32px);transition:border-color .15s,background .15s}.insight-carousel-arrow:hover:not(:disabled){background:#eef2ff;border-color:#4f46e5}.insight-carousel-arrow:disabled{color:#d1d5db;cursor:default}.insight-carousel-submit{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:50%;flex-shrink:0;width:clamp(44px,9vw,72px);height:clamp(44px,9vw,72px);font-size:clamp(20px,4vw,32px);font-weight:700}.insight-carousel-submit:hover{background:#15803d}.insight-carousel-answered-count{color:#6b7280;margin-top:.75rem;font-size:14px}.pupil-viewport{width:100vw;height:100dvh;font-family:Nunito Variable,sans-serif;position:relative;overflow:hidden}.pupil-viewport .screen,.pupil-viewport .hub-screen,.pupil-viewport .question-screen,.pupil-viewport .pelmanism-playing-screen{height:100%;min-height:0;max-height:100%;overflow:hidden}.pupil-viewport .screen{padding:clamp(.75rem,3vh,1.5rem) clamp(1rem,4vw,2rem)}.pupil-viewport h1{margin-bottom:.4rem;font-size:clamp(1.4rem,5.5vh,2.5rem)}.pupil-viewport .tagline{margin-bottom:clamp(.5rem,2.5vh,2rem)}.pupil-viewport .form{gap:clamp(6px,1.2vh,12px);margin-bottom:clamp(6px,1.5vh,2rem)}.pupil-viewport input,.pupil-viewport .profile-submit-btn{padding:clamp(7px,1.4vh,12px) clamp(10px,2vw,16px);font-size:clamp(.85rem,2vh,1rem)}.pupil-viewport .avatar-controls{gap:clamp(3px,.8vh,8px)}.pupil-viewport .avatar-row{padding:clamp(4px,.9vh,8px) clamp(8px,1.6vw,12px)}.pupil-viewport .avatar-label{width:clamp(48px,9vh,64px);font-size:clamp(.7rem,1.6vh,.94rem)}.pupil-viewport .avatar-swatch{width:clamp(18px,3vh,28px);height:clamp(18px,3vh,28px)}.pupil-viewport .avatar-arrow{width:clamp(26px,4.4vh,36px);height:clamp(26px,4.4vh,36px);font-size:clamp(.85rem,2vh,1.25rem)}.pupil-viewport .avatar-index{font-size:clamp(.65rem,1.4vh,.875rem)}.pupil-viewport .avatar-hats-locked{padding:clamp(5px,.9vh,10px) clamp(8px,1.6vw,12px);font-size:clamp(.65rem,1.3vh,.8rem)}.pupil-viewport .credits-earned{margin-top:clamp(.4rem,1.5vh,1.25rem);padding:clamp(4px,1vh,8px) clamp(14px,3vw,24px);font-size:clamp(1.1rem,4vh,1.5rem)}.pupil-viewport .results-summary{gap:clamp(.5rem,2vw,1rem);margin-bottom:clamp(.4rem,1.5vh,1rem)}.pupil-viewport .stat-box{padding:clamp(.5rem,1.5vh,1rem) clamp(.75rem,2vw,1.5rem)}.pupil-viewport .stat-box--large .stat-number,.pupil-viewport .stat-number{font-size:clamp(1.5rem,5vh,2.5rem)}.pupil-viewport .stat-label{font-size:clamp(10px,1.8vh,13px)}.pupil-viewport .level-up-banner{margin-bottom:clamp(.4rem,1.5vh,1.5rem)}.pupil-viewport .level-down-offer{margin-top:clamp(.4rem,1.5vh,1.5rem);padding:clamp(.5rem,1.5vh,1rem) 1.5rem}.pupil-viewport .streak-display{margin-top:clamp(.3rem,1vh,1rem)}.pupil-viewport .test-level-badge{margin-top:clamp(.3rem,1vh,.75rem)}.pupil-viewport .hub-screen{padding:clamp(.75rem,2.5vh,2.5rem) 1.5rem clamp(.75rem,2.5vh,3rem)}.pupil-viewport .hub-name{margin:clamp(.3rem,1vh,.75rem) 0 clamp(.4rem,1.5vh,1.25rem);font-size:clamp(1.3rem,5vh,2rem)}.pupil-viewport .hub-progress-row{margin-bottom:clamp(.4rem,1.5vh,1rem)}.pupil-viewport .hub-credits{margin-bottom:clamp(.5rem,2vh,1.5rem)}.fullscreen-toggle-btn{z-index:2000;color:#4f46e5;cursor:pointer;background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:fixed;top:16px;right:12px;box-shadow:0 2px 8px #00000026}.fullscreen-toggle-btn:hover{color:#fff;background:#fff}.rotate-device-overlay{z-index:9999;color:#fff;text-align:center;background:#1f2937;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;display:flex;position:fixed;inset:0}.rotate-device-icon{border:4px solid #fff;border-radius:10px;width:60px;height:100px;animation:1.8s ease-in-out infinite rotate-device-hint}@keyframes rotate-device-hint{0%,15%{transform:rotate(0)}50%,65%{transform:rotate(90deg)}to{transform:rotate(0)}}.security-question-circle{width:min(clamp(360px,85vh,780px),100dvh - 80px);height:min(clamp(360px,85vh,780px),100dvh - 80px);margin:0 auto;position:relative}.security-question-prompt{text-align:center;color:#1e1b4b;width:58%;font-size:clamp(1.1rem,3.4vh,1.9rem);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.security-question-option-wrap{flex-direction:column;align-items:center;gap:.25rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.security-question-option{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:clamp(48px,13vh,110px);height:clamp(48px,13vh,110px);transition:transform .15s,border-color .15s,background .15s;display:flex}@media (hover:hover) and (pointer:fine){.security-question-option:hover{background:#f0eeff;border-color:#4f46e5;transform:scale(1.08)}}.security-question-option-emoji{font-size:clamp(1.8rem,5.8vh,3.2rem);line-height:1}.security-question-option-label{color:#4b5563;text-align:center;white-space:nowrap;font-size:clamp(.75rem,2vh,1.05rem);font-weight:600;line-height:1.1}.security-question-failed{color:#dc2626;max-width:320px;margin-top:1rem;font-weight:600}.rotate-device-text{max-width:320px;font-size:clamp(18px,4vw,26px);font-weight:700}.class-list-main{flex-direction:column;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;padding:2rem;display:flex}.class-list-body{align-items:flex-start;gap:1.5rem;display:flex}.class-list-hub-col{text-align:center;flex-direction:column;flex:0 0 220px;align-items:center;gap:.7rem;display:flex}.class-list-hub-col h2{margin:0;font-size:1rem}.class-list-grid-col{flex:1;min-width:0}.class-list-grid-col .section-heading{align-items:center}.qr-display-box--compact{margin-bottom:0;padding:.75rem}.qr-url-display--compact{font-size:clamp(.9rem,2vw,1.1rem)}.class-list-heading-actions{align-items:center;gap:.75rem;display:flex}.pick-pupil-btn{color:#78350f;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#f59e0b,#fbbf24);border:none;border-radius:8px;padding:7px 14px;font-size:.85rem;font-weight:700;transition:transform .15s,opacity .15s}.pick-pupil-btn:hover:not(:disabled){transform:translateY(-1px)}.pick-pupil-btn:disabled{opacity:.55;cursor:default;transform:none}.coin-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;display:grid}.coin-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:.4rem;padding:.65rem .4rem;transition:border-color .15s,box-shadow .15s;display:flex}.coin-card-main{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.3rem;width:100%;padding:0;display:flex}.coin-card-name{color:#1e1b4b;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.coin-card-coin-btn{color:#92400e;cursor:pointer;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;transition:background .15s,transform .1s;display:flex}.coin-card-coin-btn:hover{background:#fde68a}.coin-card-coin-btn:active{transform:scale(.94)}.coin-card--highlight{border-color:#f59e0b;animation:.5s ease-in-out coin-card-pulse;box-shadow:0 0 0 3px #f59e0b59}@keyframes coin-card-pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.random-pick-overlay{z-index:50;background:#1118278c;justify-content:center;align-items:center;animation:.2s ease-out random-pick-fade-in;display:flex;position:fixed;inset:0}@keyframes random-pick-fade-in{0%{opacity:0}to{opacity:1}}.random-pick-tile{background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 3rem;animation:.35s cubic-bezier(.34,1.56,.64,1) random-pick-pop-in;display:flex;box-shadow:0 10px 50px #00000059}.random-pick-tile h2{color:#1e1b4b;margin:0;font-size:1.5rem}@keyframes random-pick-pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (width<=820px){.class-list-body{flex-direction:column}.class-list-hub-col{flex:none;width:100%}}.wam-ready-screen .wam-rules-line{opacity:.75;margin-top:-.25rem;font-size:clamp(.85rem,2.2vh,1rem)}.wam-screen{color:#fff;-webkit-user-select:none;user-select:none;background:linear-gradient(#4a8028 0%,#3a6820 100%);flex-direction:column;gap:clamp(4px,.8vh,8px);height:100%;padding:clamp(4px,1vh,10px) clamp(6px,1.5vw,16px);display:flex;overflow:hidden}.wam-header{z-index:10;flex-shrink:0;align-items:center;gap:.75rem;display:flex;position:relative}.wam-question{text-align:center;white-space:nowrap;text-shadow:-2px -2px #000,2px -2px #000,-2px 2px #000,2px 2px #000,0 -2px #000,0 2px #000,-2px 0 #000,2px 0 #000;flex:1;font-size:clamp(2rem,7vh,4.5rem);font-weight:800}.wam-timer{text-align:left;text-shadow:0 2px 4px #0006;min-width:4ch;font-size:clamp(1.1rem,3.5vh,2rem);font-weight:700;transition:color .3s}.wam-timer--urgent{color:#f44;animation:.5s ease-in-out infinite alternate wam-timer-pulse}@keyframes wam-timer-pulse{0%{transform:scale(1)}to{transform:scale(1.12)}}.wam-grid-wrapper{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.wam-grid{aspect-ratio:1.4;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:clamp(5px,1.4vh,14px);height:100%;display:grid}.wam-cell{cursor:default;clip-path:inset(-300% -80% 4%);position:relative}.wam-cell:before{content:"";clip-path:ellipse(35% 40% at 35% 56%);z-index:0;pointer-events:none;background:radial-gradient(at 35% 58%,#1a0905 0%,#2d1408 45%,#6b3518 100%);position:absolute;inset:0;box-shadow:inset 0 6px 18px #000000bf}.wam-mole-wrap{pointer-events:none;cursor:pointer;z-index:2;transition:transform .22s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.wam-mole-wrap--visible{pointer-events:auto;transform:translateY(-14%)}.wam-mole-body{transform-origin:bottom;width:100%;position:relative}@keyframes wam-wobble{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.wam-mole-body--wobble{animation:.9s ease-in-out infinite wam-wobble}.wam-sign{color:#1a1a1a;text-align:center;pointer-events:none;z-index:1;width:46%;padding:0 3%;font-size:clamp(1.4rem,5vh,3rem);font-weight:800;line-height:1;position:absolute;top:24%;left:71%;transform:translate(-50%,-50%)rotate(10deg)}.wam-mole-img{width:100%;height:auto;display:block}@keyframes wam-squish{0%{transform:scaleY(1)scaleX(1)}35%{transform:scaleY(.55)scaleX(1.35)}to{transform:scaleY(.7)scaleX(1.2)}}.wam-mole-img--crushed{animation:.36s ease-out forwards wam-squish}.wam-footer{flex-shrink:0;justify-content:space-between;align-items:center;padding:0 .25rem;display:flex}.wam-score-display{opacity:.9;font-size:clamp(.9rem,2.5vh,1.3rem);font-weight:700}.pupil-viewport .wam-screen{height:100dvh}.mission-screen{background-color:#fff;background-image:linear-gradient(#93c5fd59 1px,#0000 1px),linear-gradient(90deg,#93c5fd59 1px,#0000 1px);background-size:22px 22px;grid-template-rows:auto auto 1fr auto;row-gap:clamp(6px,1.2vh,10px);height:100%;padding:clamp(10px,2vh,16px) clamp(16px,3vw,32px);display:grid;overflow:hidden}.mission-screen>.mission-round-dots{grid-row:2;place-self:center}.mission-screen>.mission-body{grid-row:3}.mission-screen>.mission-actions{grid-row:4}.mission-body{flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,1.6vh,16px);min-height:0;display:flex;overflow:hidden}.mission-actions{justify-content:center;align-items:center;min-height:clamp(44px,7.5vh,62px);display:flex}.mission-progress{background:#e5e7eb;border-radius:3px;align-self:center;width:100%;height:6px;overflow:hidden}.mission-progress-fill{background:#f59e0b;border-radius:3px;height:100%;transition:width .35s}.mission-title{color:#1f2937;text-align:center;font-size:clamp(20px,4.5vw,34px);font-weight:800}.mission-title strong{color:#4f46e5}@keyframes tipLineIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tip-lines{text-align:center;flex-direction:column;gap:.55rem;display:flex}.tip-line{color:#1f2937;opacity:0;font-size:clamp(20px,4.5vw,34px);font-weight:800;animation:.45s ease-out forwards tipLineIn}.rounding-tip{flex-direction:column;align-items:center;gap:.5rem;display:flex}.rounding-tip-number{letter-spacing:.05em;color:#1f2937;opacity:0;margin-bottom:.2rem;font-size:clamp(52px,11vw,88px);font-weight:900;animation:.45s ease-out forwards tipLineIn}.rounding-tip-digit--key{animation:.5s ease-out forwards digitPop;display:inline-block}@keyframes digitPop{0%{color:#1f2937;transform:scale(1)}55%{transform:scale(1.45)}to{color:#5b4fe8;transform:scale(1.25)}}.higher-lower{flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;height:100%;padding:.5rem 1rem;display:flex}.hl-cards{justify-content:center;gap:5px;display:flex}.hl-card{aspect-ratio:5/7;background:#4338ca;border:2px solid #0000;border-radius:7px;width:clamp(50px,8vw,74px);transition:border-color .15s,background-color .15s;overflow:hidden}.hl-card--revealed{background:#fff;border-color:#d1d5db}.hl-card--current{border-color:#5b4fe8;box-shadow:0 0 0 2px #5b4fe8}.hl-card--correct{background:#dcfce7!important;border-color:#16a34a!important}.hl-card--wrong{background:#fee2e2!important;border-color:#dc2626!important}@keyframes cardReveal{0%{opacity:0;transform:scale(.55)}70%{transform:scale(1.07)}to{opacity:1;transform:scale(1)}}.hl-card-face{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out cardReveal;display:flex;position:relative}.hl-card-num{color:#dc2626;font-size:clamp(18px,3.5vw,30px);font-weight:900;line-height:1}.hl-card-suit{color:#dc2626;font-size:clamp(7px,1.2vw,11px);line-height:1;position:absolute;bottom:4px;right:5px}.hl-prompt{flex-direction:column;align-items:center;gap:.75rem;display:flex}.hl-prompt-label{color:#6b7280;text-align:center;font-size:clamp(14px,2.4vw,20px);font-weight:600}.hl-buttons{gap:1rem;display:flex}.hl-btn{cursor:pointer;color:#fff;background:#5b4fe8;border:none;border-radius:12px;padding:clamp(.5rem,1.2vh,.85rem) clamp(1.2rem,3vw,2.2rem);font-size:clamp(15px,2.8vw,22px);font-weight:700;transition:background-color .12s,transform .1s}.hl-btn:active:not(:disabled){transform:scale(.95)}.hl-btn--correct,.hl-btn--correct:disabled{background:#16a34a!important}.hl-btn--wrong,.hl-btn--wrong:disabled{background:#dc2626!important}.hl-result{flex-direction:column;align-items:center;gap:1.2rem;display:flex}.hl-score{color:#1f2937;font-size:clamp(40px,9vw,72px);font-weight:900}.hl-score span{color:#9ca3af;font-size:.5em;font-weight:600}.ten-frame{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(5,1fr);gap:6px;width:min(320px,58vw);margin:.5rem auto;display:grid}.tf-cell{aspect-ratio:1;background:#f9fafb;border:2px solid #d1d5db;border-radius:8px;transition:background .2s,border-color .2s}.tf-cell--pre{background:#5b4fe8;border-color:#4338ca}.tf-cell--player{background:#16a34a;border-color:#15803d}.tf-cell--empty{cursor:pointer;background:#e5e7eb;border-color:#9ca3af}.tf-cell--empty:hover{background:#d1d5db}.bond-drag-eq{align-items:center;gap:clamp(8px,2vw,14px);transition:color .3s;display:flex}.bond-drag-op{color:#374151;white-space:nowrap;font-size:clamp(22px,5vw,34px);font-weight:700;transition:color .3s}.bond-drag-eq--done .bond-drag-op{color:#15803d}.bond-drag-tile{background:#fff;border:2.5px solid #c7d2fe;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(72px,16vw,108px);height:clamp(72px,16vw,108px);transition:border-color .3s,background .3s;display:flex;position:relative}.bond-drag-eq--done .bond-drag-tile{background:#dcfce7;border-color:#16a34a}.bond-drag-tile--slot{background:#fffbeb;border:2.5px dashed #f59e0b}.bond-drag-eq--done .bond-drag-tile--slot{border-style:solid}.bond-drag-counter{color:#f59e0b;white-space:nowrap;pointer-events:none;font-size:clamp(13px,2.8vw,19px);font-weight:800;line-height:1;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.bond-drag-slot-hint{color:#d1d5db;font-size:clamp(22px,5vw,34px);font-weight:700}.bond-drag-dots{flex-wrap:wrap;place-content:center;gap:3px;max-width:52px;padding:6px;display:flex}.bond-drag-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:8px;height:8px}.bond-drag-pool{grid-template-rows:repeat(3,clamp(28px,6vw,40px));grid-template-columns:repeat(3,clamp(28px,6vw,40px));gap:clamp(8px,2vw,12px);margin-top:clamp(12px,3vh,28px);display:grid}.bond-drag-pool-dot{cursor:grab;touch-action:none;background:#4f46e5;border-radius:50%;flex-shrink:0;width:clamp(28px,6vw,40px);height:clamp(28px,6vw,40px)}.bond-drag-ghost-dot{opacity:.75;pointer-events:none;z-index:200;background:#4f46e5;border-radius:50%;width:clamp(28px,6vw,40px);height:clamp(28px,6vw,40px);position:fixed;transform:translate(-50%,-50%)}.bubble-grid{grid-template-columns:repeat(4,1fr);gap:clamp(8px,2vw,16px);width:min(380px,70vw);margin:.6rem auto;display:grid}.bond-bubble{aspect-ratio:1;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;background:#5b4fe8;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(18px,4vw,30px);font-weight:800;transition:background .15s,transform .1s;display:flex}.bond-bubble:active{transform:scale(.93)}.bond-bubble--selected{background:#d97706;transform:scale(1.1)}.bond-bubble--ghost{cursor:default;background:0 0;border:2px dashed #d1d5db}@keyframes bondShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.bond-bubble--shake{background:#dc2626;animation:.4s ease-in-out bondShake}.staircase{flex-direction:column;gap:4px;width:fit-content;margin:.4rem auto;display:flex}.staircase-row{color:#1f2937;text-align:center;background:#f0f2ff;border-radius:8px;min-width:120px;padding:.3rem 1rem;font-size:clamp(14px,2.8vw,20px);font-weight:700}.staircase-row--hidden{color:#9ca3af;background:0 0;border:2px dashed #9ca3af;font-style:italic}@keyframes bondFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bond-list-item{color:#1f2937;letter-spacing:.04em;opacity:0;font-size:clamp(22px,5vw,38px);font-weight:800;animation:.35s ease-out forwards bondFadeIn}.mission-bigger-btn--selected,.mission-bigger-btn--selected:disabled{color:#fff;background:#d97706!important}.mission-subtitle{color:#6b7280;text-align:center;font-size:clamp(14px,2.6vw,20px);font-weight:600}.mission-next-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:clamp(10px,2vw,16px);padding:clamp(10px,1.8vh,14px) clamp(24px,5vw,40px);font-size:clamp(15px,2.8vw,20px);font-weight:700}.mission-next-btn:not(:disabled):hover{background:#4338ca}.mission-next-btn:disabled{cursor:not-allowed;background:#a5a3e8}.mission-round-dots{gap:clamp(6px,1.2vw,10px);display:flex}.mission-round-dot{background:#e5e7eb;border-radius:50%;width:clamp(8px,1.4vw,11px);height:clamp(8px,1.4vw,11px)}.mission-round-dot--done{background:#f59e0b}.mission-round-dot--active{background:#4f46e5}.mission-bigger-row{gap:clamp(16px,4vw,48px);display:flex}.mission-bigger-btn{cursor:pointer;color:#1f2937;background:#f3f4f6;border:3px solid #d1d5db;border-radius:clamp(14px,2.5vw,22px);justify-content:center;align-items:center;width:clamp(80px,17vw,130px);height:clamp(80px,17vw,130px);font-size:clamp(32px,7.5vw,58px);font-weight:900;transition:background .12s,border-color .12s;display:flex}.mission-bigger-btn--correct{color:#15803d;background:#dcfce7;border-color:#16a34a}.mission-bigger-btn--wrong{color:#b91c1c;background:#fee2e2;border-color:#dc2626}.mission-bigger-btn:disabled{cursor:default;background:#f3f4f6}.mission-bigger-btn--correct:disabled{background:#dcfce7}.mission-bigger-btn--wrong:disabled{background:#fee2e2}.mission-dots{flex-wrap:wrap;justify-content:center;gap:clamp(5px,1vw,9px);max-width:280px;display:flex}.mission-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:clamp(16px,3vw,24px);height:clamp(16px,3vw,24px);transition:background .3s;display:inline-block}.mission-dot--lg{width:clamp(22px,4vw,32px);height:clamp(22px,4vw,32px)}.mission-subdots{grid-template-rows:clamp(20px,3.5vw,28px);gap:clamp(4px,.7vw,7px);display:grid}.mission-dot--green{background:#16a34a}.mission-dot--crossed{color:#fff;background:#dc2626;justify-content:center;align-items:center;font-size:.65em;font-weight:900;display:flex}.mission-tenframe{flex-direction:column;align-items:center;gap:clamp(4px,.8vw,7px);display:flex}.mission-tenframe-row{gap:clamp(4px,.8vw,7px);display:flex}.mission-numtrack{flex-wrap:wrap;justify-content:center;gap:clamp(2px,.5vw,4px);max-width:100%;display:flex}.mission-numtrack-box{color:#3730a3;background:#f0f4ff;border:2px solid #c7d2fe;border-radius:6px;justify-content:center;align-items:center;width:clamp(28px,5.5vw,44px);height:clamp(28px,5.5vw,44px);font-size:clamp(11px,2.2vw,16px);font-weight:700;transition:background .3s,border-color .3s,color .3s;display:flex}.mission-numtrack-box--start{color:#fff;background:#3b82f6;border-color:#1d4ed8}.mission-numtrack-box--end{color:#fff;background:#16a34a;border-color:#15803d}.mission-numtrack-box--passed{color:#78350f;background:#fef3c7;border-color:#f59e0b}.mission-numtrack-box--ten{border-width:3px;border-color:#7c3aed}.mission-nl-wrap{width:100%;max-width:580px}.mission-nl-rule{height:clamp(64px,11vh,90px);margin:clamp(22px,4vw,32px) clamp(18px,4vw,28px) clamp(24px,4vw,32px);flex:none!important}.mission-sort-show{flex-wrap:wrap;justify-content:center;gap:clamp(4px,.8vw,7px);max-width:600px;display:flex}.mission-sort-chip{color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#f59e0b;border:2px solid #d97706;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(34px,6vw,48px);height:clamp(34px,6vw,48px);font-size:clamp(14px,2.6vw,20px);font-weight:800;display:flex}.mission-sort-chip--intro{background:#4f46e5;border-color:#3730a3;animation:.2s ease-out both mission-chip-pop}@keyframes mission-chip-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.mission-sort-chip--fall{animation:.6s ease-in forwards mission-chip-fall}@keyframes mission-chip-fall{to{opacity:0;transform:translateY(220px)rotate(18deg)}}.mission-sort-chip--reject{cursor:default;animation:.45s ease-in forwards mission-chip-reject}@keyframes mission-chip-reject{0%{opacity:1;transform:scale(1)}30%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:translateY(60px)scale(.7)}}.mission-sort-slots{flex-wrap:nowrap;justify-content:center;gap:clamp(3px,.6vw,6px);display:flex}.mission-sort-slot{background:#fafafa;border:2px dashed #d1d5db;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(34px,6vw,48px);height:clamp(34px,6vw,48px);display:flex}.mission-sort-slot--filled{background:#eef2ff;border-style:solid;border-color:#4f46e5}.mission-sort-slot--correct{background:#f0fdf4;border-color:#16a34a}.mission-sort-source{flex-wrap:wrap;justify-content:center;gap:clamp(4px,.8vw,7px);max-width:560px;min-height:clamp(40px,7vw,56px);display:flex}.mission-sort-ghost{pointer-events:none;z-index:1000;cursor:grabbing;position:fixed;transform:translate(-50%,-50%)scale(1.12)}.mission-gap-row{flex-wrap:nowrap;justify-content:center;gap:clamp(3px,.6vw,6px);display:flex}.mission-gap-box{background:#f3f4f6;border:2px solid #d1d5db;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(32px,5.8vw,46px);height:clamp(32px,5.8vw,46px);font-size:clamp(12px,2.2vw,18px);font-weight:700;display:flex}.mission-gap-box--gap{color:#92400e;background:#fffbeb;border-style:dashed;border-color:#f59e0b;font-size:clamp(14px,2.6vw,20px)}.mission-gap-box--correct{color:#15803d;background:#dcfce7;border-style:solid;border-color:#16a34a}.mission-gap-box--wrong{color:#b91c1c;background:#fee2e2;border-style:solid;border-color:#dc2626;animation:.4s mission-shake}@keyframes mission-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.mission-gap-line-label{color:#92400e;white-space:nowrap;background:#fffbeb;border:2px dashed #f59e0b;border-radius:6px;padding:1px 5px;font-weight:800}.mission-gap-line-label--correct{color:#15803d;background:#dcfce7;border:2px solid #16a34a}.mission-gap-line-label--wrong{color:#b91c1c;background:#fee2e2;border:2px solid #dc2626;animation:.4s mission-shake}.mission-ba-number{color:#4f46e5;font-size:clamp(44px,11vw,76px);font-weight:900;line-height:1}.mission-ba-opts{gap:clamp(12px,3vw,28px);display:flex}.mission-ba-btn{cursor:pointer;color:#1f2937;background:#f3f4f6;border:3px solid #d1d5db;border-radius:clamp(12px,2vw,18px);width:clamp(60px,13vw,96px);height:clamp(60px,13vw,96px);font-size:clamp(22px,5.5vw,42px);font-weight:900;transition:background .12s,border-color .12s}.mission-ba-btn--correct{color:#15803d;background:#dcfce7;border-color:#16a34a}.mission-ba-btn--wrong{color:#b91c1c;background:#fee2e2;border-color:#dc2626;animation:.4s mission-shake}.mission-grid20{grid-template-columns:repeat(5,clamp(34px,6vw,48px));justify-content:center;gap:clamp(3px,.6vw,6px);display:grid}.mission-chip-plain{color:#9ca3af;cursor:default;background:#f3f4f6;border-color:#d1d5db}.mission-chip-landmark{color:#4f46e5;cursor:pointer;background:#eef2ff;border-color:#4f46e5}.mission-chip-tapped{color:#15803d!important;cursor:default!important;background:#dcfce7!important;border-color:#16a34a!important}@keyframes mission-landmark-pulse{0%,to{box-shadow:0 0 #4f46e580}50%{box-shadow:0 0 0 5px #4f46e500}}.mission-chip-pulse{animation:.9s ease-in-out infinite mission-landmark-pulse}.mission-gap-box--wide{width:clamp(50px,8.5vw,70px);font-size:clamp(11px,1.9vw,15px)}.mission-partition-boxes{justify-content:center;align-items:center;gap:clamp(4px,.8vw,8px);display:flex}.mission-partition-col{flex-direction:column;align-items:center;gap:clamp(2px,.4vh,4px);display:flex}.mission-partition-plus{color:#6b7280;flex-shrink:0;font-size:clamp(16px,3vw,24px);font-weight:700}.mission-partition-label{color:#6b7280;text-align:center;white-space:nowrap;font-size:clamp(9px,1.6vw,13px);font-weight:600}.mission-gap-box--active{color:#4f46e5;background:#eef2ff;border-style:dashed;border-color:#4f46e5;animation:1.1s ease-in-out infinite mission-partition-pulse}@keyframes mission-partition-pulse{0%,to{box-shadow:0 0 #4f46e573}55%{box-shadow:0 0 0 5px #4f46e500}}.mission-multiples-strip{flex-direction:column;align-items:center;gap:clamp(6px,1.2vw,10px);width:100%;display:flex}.mission-multiples-row{justify-content:center;gap:clamp(5px,.9vw,9px);display:flex}.mission-multiples-chip{color:#d1d5db;text-align:center;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:7px;min-width:clamp(28px,5vw,42px);padding:clamp(3px,.6vw,6px) clamp(6px,1.1vw,10px);font-size:clamp(13px,2.2vw,19px);font-weight:700;transition:background .15s,color .15s,border-color .15s}.mission-multiples-chip--lit{color:#4338ca;background:#eef2ff;border-color:#a5b4fc}.mission-seq-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(4px,.8vw,8px);display:flex}.mission-seq-num{color:#1e1b4b;font-size:clamp(22px,4.5vw,36px);font-weight:800}.mission-seq-blank{color:#9ca3af;border:2px dashed #d1d5db;border-radius:9px;justify-content:center;align-items:center;min-width:clamp(38px,7vw,56px);height:clamp(38px,7vw,56px);font-size:clamp(22px,4.5vw,36px);font-weight:800;display:flex}.mission-seq-blank--filled{color:#15803d;background:#dcfce7;border-style:solid;border-color:#16a34a}.mission-seq-opts{justify-content:center;gap:clamp(8px,1.5vw,16px);display:flex}.mission-seq-opt{cursor:pointer;color:#1e1b4b;background:#f9fafb;border:2px solid #d1d5db;border-radius:10px;min-width:clamp(48px,9vw,72px);padding:clamp(8px,1.5vw,14px) clamp(10px,2vw,18px);font-size:clamp(18px,3.5vw,28px);font-weight:700;transition:background .12s,border-color .12s}.mission-seq-opt--correct{color:#15803d;background:#dcfce7;border-color:#16a34a}.mission-seq-opt--wrong{color:#b91c1c;background:#fee2e2;border-color:#dc2626}.mission-seq-opt:disabled{cursor:default}.mission-spot-grid{grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,16px);width:min(300px,80vw);display:grid}.mission-spot-btn{color:#1e1b4b;cursor:pointer;background:#fff;border:2px solid #c7d2fe;border-radius:12px;padding:clamp(14px,3vw,22px) clamp(10px,2vw,16px);font-size:clamp(22px,4.5vw,36px);font-weight:800;transition:background .1s,border-color .1s}.mission-spot-btn:disabled{background:#fff}.mission-spot-btn--correct{color:#15803d;background:#dcfce7;border-color:#16a34a}.mission-spot-btn--wrong{color:#991b1b;background:#fee2e2;border-color:#dc2626}.mission-spot-btn--correct:disabled{background:#dcfce7}.mission-spot-btn--wrong:disabled{background:#fee2e2}.mission-connect-wrap{box-sizing:border-box;flex:1;justify-content:space-between;align-items:stretch;width:100%;min-height:0;padding:0 clamp(12px,3vw,28px);display:flex;position:relative}.mission-connect-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.mission-connect-col{flex-direction:column;flex:none;gap:clamp(6px,1.2vh,10px);width:clamp(72px,18vw,108px);display:flex}.mission-connect-tile{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;border:2.5px solid #c7d2fe;border-radius:12px;flex:1;justify-content:center;align-items:center;min-height:0;transition:border-color .15s,background .15s;display:flex}.mission-connect-tile--connected{background:#eef2ff;border-color:#4f46e5}.mission-connect-tile--correct{background:#dcfce7!important;border-color:#16a34a!important}.mission-connect-tile--wrong{background:#fee2e2!important;border-color:#dc2626!important}.mission-connect-tile--number{color:#1e1b4b;cursor:default;font-size:clamp(24px,5.5vw,40px);font-weight:800}.mission-connect-dotgrid{flex-wrap:wrap;place-content:center;gap:4px;max-width:56px;padding:8px;display:flex}.mission-connect-dot{background:#4f46e5;border-radius:50%;flex-shrink:0;width:9px;height:9px}.mission-dot-grid{flex-direction:column;align-items:center;gap:clamp(3px,.5vw,5px);display:flex}.mission-dot-pair{gap:clamp(3px,.5vw,5px);display:flex}.mission-dot--extra{background:#ef4444}.mission-lastdigit{color:#1e1b4b;letter-spacing:-1px;justify-content:center;align-items:baseline;font-size:clamp(40px,9vw,68px);font-weight:900;display:flex}.mission-lastdigit-prefix{color:#1e1b4b}.mission-lastdigit-last{color:#4f46e5;background:#e0e7ff;border-radius:8px;margin-left:1px;padding:0 clamp(4px,.8vw,8px);transition:background .25s,color .25s}.mission-lastdigit-last--even{color:#15803d;background:#dcfce7}.mission-lastdigit-last--odd{color:#b91c1c;background:#fee2e2}.mission-digit-strips{flex-direction:column;align-items:center;gap:clamp(5px,.8vw,8px);display:flex}.mission-digit-strip-row{align-items:center;gap:clamp(4px,.7vw,7px);display:flex}.mission-digit-strip-label{color:#6b7280;text-align:right;min-width:clamp(38px,6vw,52px);font-size:clamp(12px,2vw,15px);font-weight:700}.mission-digit-tile{border-radius:6px;justify-content:center;align-items:center;width:clamp(24px,4vw,36px);height:clamp(24px,4vw,36px);font-size:clamp(13px,2.2vw,18px);font-weight:800;display:flex}.mission-digit-tile--even{color:#15803d;background:#dcfce7}.mission-digit-tile--odd{color:#b91c1c;background:#fee2e2}.mission-eo-grid{grid-template-columns:repeat(3,1fr);gap:clamp(6px,1.2vw,12px);width:100%;max-width:380px;display:grid}.mission-eo-tile{aspect-ratio:1;color:#1e1b4b;cursor:pointer;background:#f9fafb;border:2px solid #d1d5db;border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:clamp(17px,3.2vw,26px);font-weight:700;transition:background .12s,border-color .12s;display:flex}.mission-eo-tile--selected{color:#4338ca;background:#eef2ff;border-color:#4f46e5}.mission-eo-tile--correct{color:#15803d;background:#dcfce7;border-color:#16a34a}.mission-eo-tile--wrong{color:#b91c1c;background:#fee2e2;border-color:#dc2626}.mission-eo-tile--missed{color:#b45309;background:#fef9c3;border-color:#d97706}.mission-eo-tile:disabled{cursor:default}.mission-eo-tile--correct:disabled{background:#dcfce7}.mission-eo-tile--wrong:disabled{background:#fee2e2}.mission-eo-tile--missed:disabled{background:#fef9c3}.mission-neg-answer{justify-content:center;align-items:center;gap:clamp(6px,1.2vw,12px);display:flex}.mission-neg-sign{color:#4f46e5;font-size:clamp(40px,8.5vw,64px);font-weight:800;line-height:1}.mission-complete-icon{font-size:clamp(44px,10vw,72px)}.mission-complete-credits{color:#f59e0b;font-size:clamp(20px,4.5vw,32px);font-weight:800}.hub-area-tile--missions-expanded{cursor:default;gap:clamp(5px,1.2vh,8px);padding:clamp(8px,2vh,14px) clamp(8px,1.5vw,12px);position:relative}.hub-mission-slot{color:#fff;cursor:pointer;text-align:left;background:#ffffff2e;border:1px solid #fff6;border-radius:clamp(6px,1.2vw,10px);justify-content:space-between;align-items:center;gap:4px;width:100%;padding:clamp(5px,1.2vh,8px) .6rem;font-size:clamp(.72rem,1.7vh,.92rem);font-weight:700;display:flex}.hub-mission-slot:hover:not(:disabled){background:#ffffff4d}.hub-mission-slot-check{color:#fef9c3;flex-shrink:0;font-size:1.1em;font-weight:900}.pupil-viewport .results-summary .stat-number{font-size:clamp(1.6rem,5vh,2.8rem)}.pupil-viewport .results-summary .stat-label{font-size:clamp(.75rem,2vh,.95rem)}
