/* Student entry and class branding from the supplied legacy page. */
body{padding-top:68px;min-height:100vh}
.d-none{display:none!important}
.app-navbar{position:fixed;top:0;left:0;right:0;z-index:20;min-height:68px;display:flex;align-items:center;background:rgba(255,255,255,.96);border-bottom:1px solid #e5e8ee;box-shadow:0 2px 8px #10233d0a;backdrop-filter:blur(12px)}
.app-navbar .container-fluid{width:100%;padding:10px 24px}
.navbar-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.navbar-logo{width:42px;height:42px;object-fit:contain;border-radius:12px;flex:0 0 auto}
.navbar-title{font-family:'Segoe UI',sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:.04em;color:#17355e;line-height:1.2}
#studentScreen{max-width:900px;margin:0 auto;padding:44px 24px 60px;min-height:calc(100vh - 68px)}
#studentScreen .text-center{text-align:center;margin-bottom:26px}
#studentScreen .app-logo{display:grid;place-items:center;width:80px;height:80px;margin:0 auto 18px;border-radius:24px;background:#eee8fc;color:#7960df;font-size:42px;box-shadow:0 12px 28px #29273e0f}
#studentScreen h1{font-size:34px;font-weight:700;letter-spacing:-1px;margin:0 0 10px}
#studentScreen .text-center p{color:#817a8c;font-size:14px;line-height:1.7;margin:0}
#studentScreen .card{background:#fff;border-radius:22px;box-shadow:0 18px 45px #29273e0d;border:1px solid #eeeaf2}
#studentScreen .card-body{padding:30px}
#studentScreen label{display:block;font-size:15px;font-weight:600;margin-bottom:10px}
#studentScreen .input-group{display:flex;align-items:stretch}
#studentScreen .input-group-text{display:flex;align-items:center;padding:0 18px;background:#f1eff5;border:1px solid #ddd7e7;border-radius:10px 0 0 10px;color:#7f758c}
#studentId{min-width:0;flex:1;border:1px solid #ddd7e7;border-left:0;border-right:0;padding:14px;font:16px 'DM Sans',sans-serif;color:var(--ink);outline-offset:-3px}
#studentId:focus{outline:2px solid #a58ce6}
#studentId[aria-invalid="true"]{outline:2px solid #c65365}
#studentScreen .btn{border:0;padding:12px 23px;color:#fff;font-weight:600;border-radius:9px;background:#7960df}
#studentScreen #lookupBtn{border-radius:0 10px 10px 0}
#studentScreen .btn:disabled{opacity:.55;cursor:wait}
#studentScreen .btn-success{background:#32966f;border-radius:24px;white-space:nowrap}
#studentScreen .form-text{font-size:12px;color:#938a9e;margin-top:10px}
#lookupAlert{margin-top:24px;padding:15px;border-radius:10px;background:#fff0f1;color:#a53448;font-size:14px;line-height:1.5}
#studentCard{margin-top:26px;padding:22px;background:linear-gradient(135deg,#f1edfb,#edf6ef);border:1px solid #e4e7eb;border-radius:18px}
#studentCard .row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
#studentCard .col{flex:1;min-width:140px}
#studentCard .small{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#8c8299;font-weight:700}
#studentName{font:600 24px Outfit,sans-serif;margin:5px 0 9px;overflow-wrap:anywhere}
.student-photo{display:block;width:90px;height:90px;border-radius:22px;object-fit:cover;background:#eee7f7;border:3px solid white;box-shadow:0 5px 16px #29273e0f}
.student-meta{display:flex;gap:8px;flex-wrap:wrap}
.student-meta .badge{font-size:11px;padding:5px 10px;border-radius:16px;background:#e0edf1;color:#4c6d78;overflow-wrap:anywhere;max-width:100%}
#studentIdText{background:#fff;color:#756b81;border:1px solid #e7e1ed}
.student-game-bar{max-width:1440px;margin:auto;padding:5px 5%;display:flex;align-items:center;gap:16px;border-bottom:1px solid #eae8e5}
.student-game-identity{display:flex;align-items:center;gap:12px;min-width:0}
.game-student-photo{width:34px;height:34px;border-radius:10px;object-fit:cover;background:#eee7f7}
#gameStudentName{font-size:14px;overflow-wrap:anywhere}
#gameStudentClass{font-size:11px;color:#938a9e;margin-top:0;overflow-wrap:anywhere}
.back-button{border:1px solid #ddd7e7;background:#fff;color:#756b81;padding:9px 16px;border-radius:9px;font-size:12px;white-space:nowrap}
.no-script{text-align:center;padding:20px}
@media(max-width:600px){.app-navbar .container-fluid{padding:10px 16px}.navbar-logo{width:36px;height:36px}.navbar-title{font-size:.8rem;letter-spacing:.02em}#studentScreen{padding:30px 16px}#studentScreen h1{font-size:28px}#studentScreen .card-body{padding:20px}#studentScreen .btn{padding:12px 16px}#studentScreen .input-group-text{padding:0 12px}#studentId{padding:12px 10px;font-size:14px}#studentCard{padding:16px}#studentCard .col-12{width:100%}#startGameBtn{width:100%}.student-photo{width:70px;height:70px}.student-game-bar{gap:10px;flex-wrap:wrap}.student-game-identity{flex:1}#gameScreen .sound{padding:9px 12px}#gameScreen .sound span{display:none}}

/* Compact profile strip, directly above the game on every screen size. */
#gameScreen>main{padding-top:5px}
#gameScreen .student-game-bar .sound,#gameScreen .student-game-bar .back-button{padding:4px 12px}
.student-game-identity{gap:8px}
#gameStudentName{display:block;line-height:1.5}
#gameStudentClass{line-height:1.5}
