@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--ink:#20221f;--graphite:#272a25;--dark:#171a17;--cream:#f3f0e9;--paper:#fbfaf6;--lime:#c9ff37;--blue:#4246f5;--line:#d9d6ce;--muted:#74776f;--red:#ff5d53}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;color:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a{transition:all .18s}button{cursor:pointer}.logo{letter-spacing:-1.5px;color:var(--ink);font:700 26px/1 Space Grotesk;text-decoration:none}.logo span{color:var(--blue)}.logo.light{color:#fff}.logo.light span{color:var(--lime)}.kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--blue);font-size:12px;font-weight:800}.landing{background:var(--cream);min-height:100vh;padding:30px 5vw;position:relative;overflow:hidden}.landing:after{content:"";background:var(--lime);filter:blur(130px);opacity:.18;width:520px;height:520px;position:absolute;top:120px;right:-180px}.brandbar{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.ghost,.softButton{color:var(--ink);border:1px solid var(--line);background:#ffffff80;border-radius:999px;padding:12px 18px;font-weight:700;text-decoration:none}.ghost:hover,.softButton:hover{border-color:var(--ink)}.landingHero{z-index:1;grid-template-columns:1.15fr .85fr;align-items:center;gap:8vw;max-width:1300px;min-height:78vh;margin:auto;display:grid;position:relative}.landingHero h1{letter-spacing:-.07em;margin:18px 0 30px;font:600 clamp(52px,7vw,104px)/.92 Space Grotesk}.landingHero h1 i{color:var(--blue);font-style:normal}.lead{color:#575a54;max-width:650px;font-size:18px;line-height:1.7}.primaryLink,.neonButton{background:var(--lime);color:#171a17;border:0;border-radius:14px;justify-content:center;align-items:center;padding:15px 22px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 5px #809f28}.primaryLink{margin-top:22px}.neonButton:hover,.primaryLink:hover{transform:translateY(-2px);box-shadow:0 7px #809f28}.neonButton:disabled{opacity:.45;box-shadow:none;cursor:not-allowed;transform:none}.mascotCard{background:var(--graphite);height:500px;box-shadow:25px 25px 0 var(--blue);border-radius:40px;place-items:center;display:grid;position:relative;overflow:hidden}.mascotCard:before,.studentIntro:before{content:"";background:repeating-linear-gradient(125deg,#0000 0 80px,#ffffff08 80px 150px);position:absolute;inset:0}.lokkiPlaceholder,.miniLokki{z-index:1;background:var(--lime);width:230px;height:300px;color:var(--graphite);border:5px solid var(--ink);border-radius:50% 50% 38% 42%;place-items:center;font:900 110px Space Grotesk;display:grid;position:relative;transform:rotate(-4deg);box-shadow:inset -18px -14px #a1d51f}.lokkiPlaceholder:before{content:"••";letter-spacing:34px;font-size:72px;position:absolute;top:28px;left:49px}.lokkiPlaceholder.small{border-width:3px;width:100px;height:125px;font-size:50px}.speech{background:var(--paper);border-radius:18px;justify-content:space-between;gap:12px;padding:18px 22px;display:flex;position:absolute;bottom:28px;left:28px;right:28px}.speech span{color:var(--muted)}footer{color:#8c8e88;font-size:12px}.authPage{background:var(--graphite);place-items:center;min-height:100vh;padding:30px;display:grid;position:relative}.authPage>.logo{position:absolute;top:35px;left:5vw}.authCard{background:var(--paper);width:min(460px,100%);box-shadow:14px 14px 0 var(--lime);border-radius:28px;padding:44px}.authCard h1{margin:8px 0;font:600 42px Space Grotesk}.authCard p{color:var(--muted)}form label,.formPanel label,.identityForm label{gap:7px;margin:14px 0;font-size:13px;font-weight:700;display:grid}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:12px}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4246f51c}.authCard .neonButton{width:100%;margin-top:10px}.formError{color:#8a211b;background:#ffe4e1;border-radius:10px;margin:12px 0;padding:12px 14px;font-weight:700}.loading,.examLoading{background:var(--graphite);color:#fff;align-content:center;place-items:center;min-height:100vh;font:700 54px Space Grotesk;display:grid}.loading span,.examLoading span{color:var(--lime)}.loading small{color:#aaa;margin-top:12px;font:500 13px Manrope}.dashboard{background:var(--cream);grid-template-columns:250px 1fr;min-height:100vh;display:grid}.dashboard>aside{background:var(--graphite);color:#fff;flex-direction:column;height:100vh;padding:30px 22px;display:flex;position:sticky;top:0}.dashboard aside .logo{color:#fff;margin:5px 10px 34px}.profile{border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;align-items:center;gap:12px;padding:16px 10px;display:flex}.profile>div,.avatar{background:var(--lime);width:42px;height:42px;color:var(--ink);border-radius:50%;place-items:center;font-weight:900;display:grid}.profile p,.teacherRow p{margin:0;display:grid}.profile span,.teacherRow span{color:#a9aca4;font-size:11px}.dashboard nav{gap:5px;margin-top:28px;display:grid}.dashboard nav button,.logout{color:#bfc1ba;text-align:left;background:0 0;border:0;border-radius:10px;padding:13px 14px;font-weight:700}.dashboard nav button:hover,.dashboard nav button.active{color:var(--lime);background:#ffffff0c}.logout{margin-top:auto}.workspace{min-width:0;padding:42px clamp(24px,5vw,72px)}.pageHead{justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;display:flex}.pageHead h1{letter-spacing:-.045em;margin:5px 0;font:600 clamp(36px,4vw,58px) Space Grotesk}.headActions{gap:10px;display:flex}.metricGrid{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px;display:grid}.metric{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;display:grid}.metric strong{color:var(--blue);font:600 48px Space Grotesk}.metric span{color:var(--muted);font-size:13px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px}.panelHead{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panelHead h2{margin:0;font:600 23px Space Grotesk}.panelHead button{color:var(--blue);background:0 0;border:0;font-weight:800}.launchRow{border-top:1px solid var(--line);grid-template-columns:1fr 90px auto auto;align-items:center;gap:15px;padding:15px 0;display:grid}.launchRow>div{display:grid}.launchRow span{color:var(--muted);font-size:12px}.launchRow button,.cardButtons button,.back{border:1px solid var(--line);background:0 0;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:50px}.miniLokki{border-width:2px;width:54px;height:62px;margin:auto;font-size:24px}.miniLokki:before{display:none}.testGrid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px;display:grid}.testCard{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px}.cardTop{justify-content:space-between;align-items:center;display:flex}.cardTop>span{color:var(--blue);text-transform:uppercase;font-size:12px;font-weight:800}.cardTop i{background:#eceae3;border-radius:999px;padding:5px 9px;font-size:10px;font-style:normal}.testCard h2{margin:25px 0 6px;font:600 25px Space Grotesk}.testCard>p,.cardStats{color:var(--muted);font-size:13px}.cardStats{border-top:1px solid var(--line);gap:7px;margin-top:22px;padding:15px 0;display:flex}.cardStats b{color:var(--ink)}.cardButtons{flex-wrap:wrap;gap:7px;display:flex}.launchForm{border-top:1px solid var(--line);margin-top:17px;padding-top:12px}.launchForm label{margin:7px 0}.launchForm .neonButton{width:100%;margin-top:8px}.editorLayout{grid-template-columns:320px 1fr;align-items:start;gap:22px;display:grid}.formPanel{display:block}.formPanel h2{font:600 25px Space Grotesk}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check{align-items:center;grid-template-columns:auto 1fr!important}.check input,.agree input{width:auto}.importBox{border:1px dashed var(--blue);background:#eef0ff;border-radius:13px;margin-top:25px;padding:15px}.importBox p{color:var(--muted);font-size:12px}.questionEditor{gap:12px;display:grid}.qEdit{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}.qEditHead{grid-template-columns:35px 1fr 120px auto;align-items:center;gap:10px;margin-bottom:12px;display:grid}.qEditHead>b{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.qEditHead label{align-items:center;gap:7px;font-size:11px;display:flex}.qEditHead input{width:55px;padding:7px}.qEditHead button,.optionEdit button{color:#a33;background:0 0;border:0}.optionEdit{gap:7px;margin-top:12px;display:grid}.optionEdit>div{grid-template-columns:auto 1fr auto;gap:7px;display:grid}.optionEdit input[type=checkbox],.optionEdit input[type=radio]{width:auto}.resultsPanel{padding:0 22px}.resultRow{border-bottom:1px solid var(--line)}.resultMain{text-align:left;background:0 0;border:0;grid-template-columns:1fr 90px 150px;align-items:center;width:100%;padding:18px 0;display:grid}.resultMain span{display:grid}.resultMain small{color:var(--muted)}.resultMain strong{font:600 20px Space Grotesk}.resultMain i{text-align:center;border-radius:999px;padding:7px;font-size:11px;font-style:normal}.trustHigh,.high{color:#405500!important;background:#e3f7ac!important}.trustMid,.mid{color:#735e00!important;background:#fff0a7!important}.trustLow,.low{color:#8a211b!important;background:#ffd4cf!important}.attemptDetail{background:#efede7;border-radius:12px;margin-bottom:15px;padding:18px}.attemptDetail pre{white-space:pre-wrap;background:var(--dark);color:#d9ff78;border-radius:10px;max-height:320px;padding:14px;overflow:auto}.attemptDetail label{align-items:center;gap:8px;display:flex}.attemptDetail input{width:90px}.incidents{flex-wrap:wrap;gap:6px;margin:14px 0;display:flex}.incidents span{background:#fff;border-radius:999px;padding:6px 9px;font-size:11px}.dangerButton{border:1px solid var(--red);color:#a22;background:0 0;border-radius:9px;padding:8px 12px}.twoCols{grid-template-columns:1fr 1.5fr;gap:20px;display:grid}.teacherRow{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.teacherRow i{margin-left:auto;font-size:11px;font-style:normal}.narrow{max-width:500px}.toast{background:var(--graphite);color:var(--lime);border-radius:12px;padding:14px 20px;position:fixed;bottom:30px;right:30px}.studentIntro{background:var(--graphite);color:#fff;min-height:100vh;padding:28px 5vw;position:relative;overflow:hidden}.studentIntro header,.studentTest header{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.studentIntro header>span{color:#aeb0aa;font-size:12px}.introGrid{z-index:1;grid-template-columns:1fr 480px;align-items:start;gap:7vw;max-width:1250px;margin:8vh auto 0;display:grid;position:relative}.introGrid h1{letter-spacing:-.055em;margin:14px 0 22px;font:600 clamp(45px,6vw,82px)/.95 Space Grotesk}.introGrid .lead{color:#c2c5bd}.testMeta{gap:10px;margin:25px 0;display:flex}.testMeta>*{background:#ffffff0e;border:1px solid #ffffff18;border-radius:999px;padding:10px 14px;font-size:12px}.identityForm{margin-top:35px}.identityForm input{color:#fff;background:#ffffff09;border-color:#ffffff25}.instruction{background:var(--paper);color:var(--ink);box-shadow:15px 15px 0 var(--blue);border-radius:26px;padding:28px}.instruction .lokkiPlaceholder{float:right;margin:-70px -8px 5px 12px}.instruction h2{font:600 28px Space Grotesk}.instruction li{margin:10px 0;line-height:1.45}.agree{background:#e8e5dc;border-radius:10px;align-items:center;gap:9px;margin:18px 0;padding:12px;display:flex}.instruction .neonButton{width:100%}.studentTest{background:var(--dark);color:#fff;min-height:100vh}.studentTest>header{z-index:10;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#20231fee;border-bottom:1px solid #ffffff14;padding:16px 4vw;position:sticky;top:0}.studentTest header>div{align-items:center;gap:30px;display:flex}.studentTest header p{margin:0;font-weight:700;display:grid}.studentTest header p span{color:#9da096;font-size:11px}.examStatus span{border-radius:999px;padding:8px 11px;font-size:11px}.examStatus b{min-width:80px;font:600 25px Space Grotesk}.examStatus b.urgent{color:var(--red)}.warningToast{z-index:20;background:var(--paper);width:min(430px,100% - 50px);color:var(--ink);border-left:7px solid var(--lime);border-radius:14px;gap:12px;padding:13px;display:flex;position:fixed;top:90px;right:25px;box-shadow:0 18px 60px #0008}.warningToast .miniLokki{flex:none;margin:0}.warningToast p{margin:0;font-size:13px;display:grid}.examPaper{width:min(900px,92%);margin:40px auto;padding-bottom:80px}.examQuestion{background:var(--paper);color:var(--ink);border-radius:18px;margin-bottom:15px;padding:25px}.questionMeta{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:12px;font-size:11px;font-weight:800;display:flex}.questionMeta b{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.questionMeta i{margin-left:auto;font-style:normal}.examQuestion h2{font:600 22px/1.4 Space Grotesk}.studentOptions{gap:8px;display:grid}.studentOptions label{border:1px solid var(--line);border-radius:11px;gap:10px;padding:13px;display:flex}.studentOptions label.chosen{border-color:var(--blue);background:#ececff}.studentOptions input{width:auto}.studentText{font-size:15px;line-height:1.6}.codeBox{background:#111510;border:1px solid #3d4339;border-radius:12px;overflow:hidden}.codeBox>div{color:var(--lime);text-transform:uppercase;background:#232820;padding:8px 14px;font:600 11px Space Grotesk}.codeBox textarea{color:#d6f7b1;tab-size:2;background:#111510;border:0;border-radius:0;font:14px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.orderFields{gap:8px;display:grid}.orderFields label{grid-template-columns:35px 1fr;align-items:center;display:grid}.finish{width:100%;font-size:17px}.donePage{background:var(--graphite);color:#fff;text-align:center;align-content:center;place-items:center;min-height:100vh;padding:30px;display:grid}.donePage h1{margin:15px;font:600 90px Space Grotesk}.donePage>p{color:#c2c5bd;max-width:620px}.trustBadge{border-radius:16px;margin:20px;padding:14px 30px;display:grid}.donePage small{color:#969990}@media (max-width:900px){.landingHero,.introGrid,.editorLayout,.twoCols{grid-template-columns:1fr}.mascotCard{height:380px}.dashboard{grid-template-columns:1fr}.dashboard>aside{height:auto;position:static}.dashboard nav{grid-template-columns:repeat(3,1fr)}.workspace{padding:25px}.metricGrid{grid-template-columns:1fr 1fr}.launchRow{grid-template-columns:1fr auto}.launchRow button{display:none}.introGrid,.instruction{margin-top:40px}.resultMain{grid-template-columns:1fr 70px}.resultMain i{grid-column:1/-1;width:max-content}}@media (max-width:560px){.landingHero h1{font-size:50px}.metricGrid{grid-template-columns:1fr}.pageHead{flex-direction:column;align-items:start}.headActions{flex-wrap:wrap}.qEditHead{grid-template-columns:35px 1fr}.row{grid-template-columns:1fr}.dashboard nav{grid-template-columns:1fr 1fr}.introGrid h1{font-size:48px}.studentTest header p,.examStatus span{display:none}}.mascotCard{background-image:linear-gradient(#272a2590,#272a2590),url(/assets/lokki.png);background-position:50% 42%;background-repeat:no-repeat;background-size:auto 92%}.mascotCard>.lokkiPlaceholder{display:none}.instruction .lokkiPlaceholder{box-shadow:none;background:url(/assets/lokki.png) 50% 18%/contain no-repeat;border:0;border-radius:0;font-size:0}.instruction .lokkiPlaceholder:before{display:none}.donePage>.lokkiPlaceholder{box-shadow:none;background:url(/assets/lokki.png) 50%/contain no-repeat;border:0;border-radius:0;width:180px;height:190px;font-size:0}.donePage>.lokkiPlaceholder:before{display:none}.warningToast .miniLokki{box-shadow:none;background:url(/assets/lokki.png) 50%/contain no-repeat;border:0;border-radius:0;font-size:0}.launchRow{grid-template-columns:1fr 90px auto auto auto}.rowLink{color:var(--blue);border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700;text-decoration:none}@media (min-width:701px) and (max-width:900px){.dashboard{grid-template-columns:220px 1fr}.dashboard>aside{height:100vh;position:sticky}.dashboard nav{grid-template-columns:1fr}.workspace{padding:32px}.launchRow{grid-template-columns:1fr auto}.launchRow button,.launchRow .rowLink{display:none}}.attemptSummary{flex-wrap:wrap;gap:10px 28px;margin-bottom:18px;display:flex}.attemptSummary p{color:var(--muted);margin:0;font-size:13px}.attemptSummary b{color:var(--ink)}.answerReview>h3,.incidentBlock h3{margin:22px 0 12px;font:600 21px Space Grotesk}.reviewQuestion{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:18px}.reviewHead{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:9px;font-size:11px;font-weight:800;display:flex}.reviewHead>b{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.reviewHead i{border-radius:999px;margin-left:auto;padding:6px 9px;font-style:normal}.manualTag{color:#555;background:#e8e5dc}.correctTag{color:#405500;background:#e3f7ac}.wrongTag{color:#8a211b;background:#ffd4cf}.reviewQuestion h4{margin:14px 0;font:600 18px/1.45 Space Grotesk}.reviewAnswer,.reviewCorrect{border-radius:10px;padding:12px 14px}.reviewAnswer{border-left:4px solid var(--blue);background:#eef0ff}.reviewCorrect{background:#edf6dc;border-left:4px solid #7ca411;margin-top:8px}.reviewAnswer small,.reviewCorrect small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.reviewText,.noAnswer{white-space:pre-wrap;margin:0;line-height:1.6}.noAnswer{color:#999;font-style:italic}.reviewChoices{flex-wrap:wrap;gap:7px;display:flex}.reviewChoices span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:13px}.reviewOrder{margin:0;padding-left:24px;line-height:1.8}.attemptDetail .reviewCode{white-space:pre-wrap;background:var(--dark);color:#d9ff78;border-radius:9px;max-height:420px;margin:0;padding:15px;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.manualGrade{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:end;gap:12px;margin-top:16px;padding:16px;display:flex}.attemptDetail .manualGrade label{gap:6px;margin:0;display:grid}.manualGrade label span{color:var(--muted);font-size:11px}.attemptDetail .manualGrade input{width:130px}.manualGrade .neonButton{padding:12px 17px}.incidentBlock{border-top:1px solid var(--line);margin-top:22px}.incidents small{color:var(--muted)}@media (max-width:560px){.reviewHead{flex-wrap:wrap;align-items:flex-start}.reviewHead i{margin-left:0}.manualGrade{flex-direction:column;align-items:stretch}}
