.grading-lab{box-sizing:border-box;color:#f2fff6;background:radial-gradient(circle at top,#19352b 0,#08110e 48%,#050807 100%);max-width:980px;min-height:100dvh;margin:auto;padding:32px clamp(16px,4vw,44px) 48px;font-family:system-ui,sans-serif}.grading-lab *{box-sizing:border-box}.grading-lab header{text-align:center}.grading-kicker{color:#7df29a;letter-spacing:.18em;font-size:12px;font-weight:800}.grading-lab h1{margin:.2em 0;font-size:clamp(30px,5vw,52px)}.grading-setup{background:#0d1814;border:1px solid #416151;border-radius:18px;margin:24px 0;padding:18px}.grading-setup>div{align-items:end;gap:12px;display:flex}.grading-setup label{gap:6px;font-weight:700;display:grid}.grading-setup select,.grading-setup button{color:#fff;min-height:48px;font:inherit;background:#17271f;border:1px solid #739982;border-radius:10px;padding:8px 14px}.demo-toggle{align-items:center;margin-top:16px;grid-template-columns:auto 1fr!important;display:flex!important}.demo-toggle input{width:24px;height:24px}.grading-setup ul{color:#bfd0c5;padding-left:22px;line-height:1.55}.grading-stage{text-align:center;background:#0a100dcc;border:2px solid #42604f;border-radius:26px;place-items:center;min-height:340px;padding:26px;display:grid}.grading-status{color:#adf8c0;letter-spacing:.12em;background:#263a30;border-radius:999px;padding:7px 14px;font-weight:900}.grading-stage h2{max-width:750px;margin:22px 0;font-size:clamp(28px,5vw,50px);line-height:1.14}.grading-progress{color:#f5d878;font-size:clamp(17px,2.5vw,24px);font-weight:800}.grading-overall{color:#c8d5cd;font-size:18px}.grading-countdown{color:#f5d878;font-size:clamp(82px,16vw,150px);font-weight:950;line-height:1}.grading-countdown.pulse{color:#ff615b;animation:.8s ease-in-out infinite grade-pulse}.is-recording{border-color:#ff615b;box-shadow:0 0 40px #ff3c3033}.is-sent{border-color:#69f190}.is-retry{border-color:#ffb84d}.grading-notice{color:#f7c86d;max-width:700px}.grading-controls{grid-template-columns:2fr repeat(5,1fr);gap:10px;margin:18px 0;display:grid}.grading-controls button{color:#fff;background:#17231d;border:1px solid #587162;border-radius:14px;min-height:62px;font-size:16px;font-weight:800}.grading-controls .primary{color:#07170c;background:#71ee91}.grading-controls .danger{color:#ffc4c4;border-color:#934b4b}.grading-controls button:disabled{opacity:.35}.grading-lab footer{color:#82978b;overflow-wrap:anywhere;justify-content:space-between;gap:10px;font-size:12px;display:flex}@keyframes grade-pulse{50%{opacity:.35;transform:scale(.8)}}@media (width<=680px){.grading-lab{padding:18px 12px 30px}.grading-setup{margin:14px 0}.grading-stage{min-height:330px;padding:18px 12px}.grading-controls{grid-template-columns:1fr 1fr}.grading-controls .primary{grid-column:1/-1}.grading-controls button{min-height:58px}.grading-lab footer{flex-direction:column}.grading-setup>div{flex-direction:column;align-items:stretch}.grading-stage h2{font-size:30px}}.grading-countdown.pulse{color:#69f190}.grading-stage.is-recording{border-color:#69f190;box-shadow:0 0 40px #69f19033}.grading-setup .grading-route{flex-direction:row}.grading-stage.is-complete{background:radial-gradient(circle at 50% 25%,#1b5230 0,#10271a 46%,#0a100d 100%);border-color:#75efa0;min-height:min(68dvh,680px);padding:clamp(30px,7vw,70px) 20px;box-shadow:0 0 55px #49e98222}.is-complete .grading-status{color:#092412;background:#70ed93;font-size:14px}.grading-finish{max-width:780px}.grading-finish-kicker{color:#befacd;font-size:clamp(20px,3vw,30px);font-weight:800}.grading-stage .grading-finish h2{letter-spacing:-.05em;color:#fff;text-shadow:0 0 45px #71ef9870;max-width:none;margin:14px 0;font-size:clamp(64px,12vw,132px);line-height:.95}.grading-finish-message{color:#e5ffeb;margin:24px auto;font-size:clamp(23px,3.8vw,40px);font-weight:750;line-height:1.22}.grading-finish-count{color:#a8e9b9;font-size:clamp(17px,2.3vw,23px);font-weight:700}.grading-preview-banner{text-align:center;background:#14301e;border:1px solid #79d992;border-radius:16px;max-width:720px;margin:22px auto;padding:18px;line-height:1.5}.grading-preview-banner nav{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px;display:flex}.grading-preview-banner a{color:#b4f9c6;text-underline-offset:3px;font-weight:800}.grading-before-start{background:#102519;border:1px solid #577e61;border-radius:18px;margin:22px 0 8px;padding:20px}.grading-before-start h3{margin:0 0 6px;font-size:clamp(21px,3vw,27px)}.grading-before-start>p{margin:6px 0 14px}.grading-before-actions{flex-wrap:wrap;gap:10px;display:flex}.grading-before-actions button,.grading-walkthrough button{color:#f4fff5;min-height:48px;font:inherit;background:#19452a;border:1px solid #7ce89a;border-radius:11px;padding:9px 15px;font-weight:800}.grading-before-actions button:disabled{opacity:.4;cursor:not-allowed}.grading-walkthrough{text-align:center;background:#0b1b11;border:1px solid #8ae6a3;border-radius:16px;margin-top:16px;padding:20px}.grading-walkthrough span{color:#addcba;letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:800;display:block}.grading-walkthrough strong{color:#90f4aa;margin:12px 0;font-size:clamp(28px,6vw,48px);line-height:1.1;display:block}.grading-walkthrough p{color:#f0fff3!important;font-size:18px!important}.grading-practice-status{text-align:center;background:#203f29;border-radius:12px;padding:14px;font-weight:800;color:#f2fff5!important;margin-top:14px!important;font-size:18px!important}.grading-practice-controls{grid-template-columns:minmax(180px,2fr) minmax(140px,1fr);max-width:520px}.grading-practice-controls .primary{grid-column:auto}.grading-practice-finish{background:radial-gradient(circle at 50% 25%,#1b5230 0,#10271a 46%,#0a100d 100%);border-color:#75efa0;min-height:min(68dvh,680px)}.grading-practice-finish-message h2{letter-spacing:-.05em;color:#fff;text-shadow:0 0 45px #71ef9870;margin:12px 0;font-size:clamp(72px,15vw,140px);line-height:.95}.grading-practice-finish-message p{color:#e5ffeb;margin:16px 0 28px;font-size:clamp(26px,5vw,44px);font-weight:800}.grading-practice-finish-actions{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.grading-practice-finish-actions button{color:#fff;min-height:58px;font:inherit;background:#17231d;border:1px solid #587162;border-radius:14px;padding:10px 20px;font-weight:800}.grading-practice-finish-actions .primary{color:#07170c;background:#71ee91;border-color:#71ee91}.grading-welcome-error{font-weight:800;color:#ffce9b!important}.grading-lab-complete,.grading-preview-finished{flex-direction:column;display:flex}.grading-lab-complete .grading-stage,.grading-preview-finished .grading-stage{order:1}.grading-lab-complete .grading-setup,.grading-preview-finished .grading-setup{order:2}.grading-lab-complete footer{order:3}@media (width<=680px){.grading-stage.is-complete{min-height:65dvh}.grading-stage .grading-finish h2{font-size:clamp(62px,18vw,100px)}}.grading-controls{grid-template-columns:repeat(5,1fr)}@media (width<=680px){.grading-controls{grid-template-columns:1fr 1fr}}.grading-welcome{background:linear-gradient(155deg,#14261d,#0b1510 65%);border:1px solid #416151;border-radius:26px;max-width:720px;margin:26px auto;padding:clamp(22px,5vw,42px);box-shadow:0 18px 60px #0008}.grading-welcome h2{margin:28px 0 14px;font-size:clamp(28px,5vw,42px);line-height:1.1}.grading-welcome p{color:#c7d8cc;font-size:16px;line-height:1.6}.grading-route{justify-content:space-between;gap:10px;width:100%;align-items:center!important;display:flex!important}.grading-route span{text-align:center;color:#a9c7b0;border:1px solid #496554;border-radius:12px;flex:1;padding:11px 10px;font-size:13px;font-weight:800}.grading-route b{color:#fff;font-size:22px;display:block}.grading-route .active{background:#173923;border-color:#70ee91;box-shadow:0 0 20px #60e68222}.grading-code{gap:8px;margin:25px 0 16px;font-weight:700;display:grid}.grading-code input{color:#fff;width:100%;min-height:52px;font:inherit;background:#101c15;border:1px solid #739982;border-radius:12px;padding:12px 15px}.grading-consent{color:#d5e5d9;align-items:flex-start;gap:12px;font-size:14px;line-height:1.45;display:flex}.grading-consent input{accent-color:#70ee91;flex:none;width:22px;height:22px}.grading-begin{color:#08200e;background:linear-gradient(#91f4aa,#4ade80);border:0;border-radius:14px;width:100%;min-height:60px;margin-top:24px;font-size:18px;font-weight:900}.grading-begin:disabled{opacity:.4}.grading-track{background:#24372b;border-radius:100px;height:10px;margin:16px 0 10px;overflow:hidden}.grading-track div{background:linear-gradient(90deg,#4ade80,#facc15,#56a7ff);border-radius:100px;height:100%;transition:width .3s}.grading-setup p{color:#c7d8cc}.grading-tip{margin-bottom:0;font-size:14px;line-height:1.5}.grading-controls .danger{font-size:14px}.grading-lab button{cursor:pointer}.grading-lab button:disabled{cursor:not-allowed}.grading-player,.grading-access{background:linear-gradient(#70ee91,#70ee91) top/100% 3px no-repeat,#101c16;border:1px solid #4e7a5c;border-radius:18px;margin:22px 0 4px;padding:16px 16px 18px}.grading-player-heading h3{margin:6px 0 4px;font-size:20px}.grading-welcome .grading-player-heading p{color:#b7cfc0;margin:0 0 14px;font-size:14px;line-height:1.45}.grading-player-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grading-player label,.grading-access{gap:7px;display:grid}.grading-player label span,.grading-access span{color:#9dccb0;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.grading-player input,.grading-access input{color:#fff;width:100%;min-height:54px;font:inherit;background:#0b1410;border:1px solid #6f9a80;border-radius:12px;padding:12px 14px;font-size:17px}.grading-player input::placeholder,.grading-access input::placeholder{color:#6d8878}.grading-access{margin-top:12px}@media (width<=560px){.grading-player-fields{grid-template-columns:1fr}.grading-player,.grading-access{padding:14px}}
