:root{font-family:DM Sans,sans-serif;color:#edf5ff;background:#10192b;--mint:#50d2b5;--muted:#91a4bd;--panel:#17243a;--line:#344760}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#264a5a,#10192b 48%);min-height:100vh}.hidden{display:none!important}button,input{font:inherit}.teacher-login-wrap{min-height:100vh;display:grid;place-items:center;padding:25px}.teacher-login-card{width:min(460px,100%);padding:38px;background:#17243af2;border:1px solid #52668166;border-radius:24px;box-shadow:0 25px 90px #0006}.brand-mark{display:flex;align-items:center;gap:10px;font:700 14px Space Grotesk;letter-spacing:1px}.brand-cube{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#62e1c4,#348fba);display:grid;place-items:center;color:#102333;font-size:19px}.brand-light{color:#9eb0c9;font-weight:500}.eyebrow{margin-top:48px;color:var(--mint);font-size:9px;letter-spacing:2px;font-weight:900}.teacher-login-card h1,.teacher-welcome h1{font:700 40px/1.1 Space Grotesk;margin:14px 0}.teacher-login-card h1 span,.teacher-welcome h1 span{color:var(--mint)}.muted{color:var(--muted);font-size:12px;line-height:1.7}.teacher-login-card form{margin-top:25px}.teacher-login-card label{display:block;font-size:11px;color:#c7d5e5;margin:15px 0 7px}.teacher-login-card input,.create-form input{width:100%;height:47px;background:#101d30;border:1px solid #3b4f6a;border-radius:10px;padding:0 13px;color:#fff;outline:none}.teacher-login-card input:focus,.create-form input:focus{border-color:var(--mint)}.primary-button{width:100%;height:48px;border:0;border-radius:11px;background:linear-gradient(100deg,#52d6b5,#53b9d2);color:#102b36;font-size:10px;font-weight:900;letter-spacing:1px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;margin-top:23px}.primary-button:disabled{opacity:.6}.form-message{min-height:18px;color:#ff9b9b;font-size:11px;margin-top:10px}.back-link{display:inline-block;margin-top:20px;color:var(--mint);text-decoration:none;font-size:11px}.teacher-dashboard{max-width:1160px;margin:auto;padding:0 25px 35px}.teacher-header{height:72px;border-bottom:1px solid #ffffff18;display:flex;align-items:center;justify-content:space-between}.teacher-header .brand-mark{font-size:13px}.teacher-header-actions{display:flex;align-items:center;gap:18px}.teacher-status{display:flex;align-items:center;gap:8px;font-size:8px;color:#9cb1c9;letter-spacing:1.3px;font-weight:800}.teacher-status i{display:inline-block}.secondary-button{border:1px solid #425671;background:#1c2d46;color:#d6e5f3;border-radius:9px;padding:9px 13px;font-size:10px;font-weight:800;cursor:pointer}.teacher-welcome{padding:45px 0 30px;display:flex;align-items:center;justify-content:space-between}.teacher-welcome .eyebrow{margin-top:0}.teacher-welcome h1{font-size:46px;margin:12px 0 4px}.welcome-orb{width:100px;height:100px;border-radius:28px;background:linear-gradient(135deg,#54d8b8,#5979db);display:grid;place-items:center;color:#102b39;font-size:48px;transform:rotate(9deg);box-shadow:0 20px 50px #49bda744}.teacher-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.teacher-card{background:#17243aef;border:1px solid #52668155;border-radius:17px;padding:22px;box-shadow:0 15px 40px #0002}.card-kicker{display:flex;justify-content:space-between;color:var(--mint);font-size:9px;font-weight:900;letter-spacing:1.7px}.card-kicker span{color:#7186a1}.teacher-card h2{font:700 21px Space Grotesk;margin:14px 0 5px}.create-form{display:flex;gap:8px;margin-top:19px}.create-form input{flex:1;min-width:0}.create-form .primary-button{width:auto;margin:0;white-space:nowrap}.created-room{background:#1b3d45;border:1px solid #4fc6aa70;border-radius:12px;padding:14px;margin-top:17px}.created-room small{display:block;color:#81dcca;font-size:8px;letter-spacing:1.4px;font-weight:900}.created-room>div{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.created-room b{font:700 28px Space Grotesk;letter-spacing:5px;color:#fff}.created-room p{font-size:10px;color:#a7c7ca;margin:5px 0 0}.world-mini-list{display:grid;gap:10px;margin-top:17px}.world-mini-list>div{display:flex;align-items:center;gap:10px;font-size:11px;color:#d7e4f1}.world-mini-list b{margin-left:auto;color:#7086a2;font-size:10px}.world-dot{width:9px;height:9px;border-radius:3px}.analysis-dot{background:#43d2ba}.database-dot{background:#91a6ff}.backend-dot{background:#ffb15d}.testing-dot{background:#f28db6}.sessions-card,.progress-card{margin-top:17px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{margin:6px 0 0}.sessions-list{margin-top:16px;display:grid;gap:8px}.session-row{display:grid;grid-template-columns:1.4fr .55fr .7fr 1fr;align-items:center;gap:12px;background:#1d2e48;border:1px solid #334b67;border-radius:11px;padding:12px}.session-main{display:flex;align-items:center;gap:10px;min-width:0}.session-main>div{min-width:0}.session-state{width:8px;height:8px;border-radius:50%;background:#74849a}.session-state.active{background:#56d8a9;box-shadow:0 0 0 4px #56d8a91c}.session-main b,.session-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-main b{font-size:11px}.session-main small{font-size:8px;color:#8296b0;margin-top:4px}.session-code{font:700 13px Space Grotesk;letter-spacing:2px;color:#9ce7d6}.session-players{font-size:10px;color:#a8b9ce}.session-actions{display:flex;justify-content:flex-end;gap:6px}.danger-button{border:1px solid #854f5b;background:#442b3a;color:#ffb4b7;border-radius:9px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.closed-label{font-size:9px;color:#a3b2c5}.empty-state{padding:24px;text-align:center;color:#8398b3;font-size:11px;background:#1c2d45;border-radius:11px}.error-text{color:#ff9b9b}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.progress-summary>div{background:#20334d;border-radius:10px;padding:13px}.progress-summary small,.progress-summary b{display:block}.progress-summary small{font-size:8px;color:#90a6bf;letter-spacing:1px}.progress-summary b{font:700 21px Space Grotesk;margin-top:5px;color:#8ce0ce}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:570px}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid #34465e;font-size:10px}th{color:#8fa5bf;font-size:8px;letter-spacing:1px}td{color:#dce7f2}td b{color:#fff}.teacher-footer{text-align:center;color:#71849d;font-size:9px;letter-spacing:1px;padding:28px 0 8px}@media(max-width:760px){.teacher-grid{grid-template-columns:1fr}.session-row{grid-template-columns:1fr 1fr}.session-actions{justify-content:flex-start}.teacher-welcome h1{font-size:38px}.welcome-orb{width:70px;height:70px;font-size:32px}.create-form{flex-direction:column}.create-form .primary-button{width:100%}}@media(max-width:480px){.teacher-dashboard{padding:0 13px 25px}.teacher-header{height:60px}.teacher-status{display:none}.teacher-login-card{padding:27px}.teacher-welcome{padding:30px 0 20px}.teacher-welcome h1{font-size:33px}.teacher-card{padding:17px}.session-row{grid-template-columns:1fr}.session-actions{justify-content:flex-start}.progress-summary{gap:5px}.progress-summary>div{padding:9px}.progress-summary b{font-size:17px}}
