@font-face{font-family:Arena;src:url('assets/space-grotesk.ttf')} 
.tab-content{display:none}.tab-content.active{display:block}.card{background-color:#fff}
.subnav button{flex:1;max-width:240px;padding:12px!important;white-space:nowrap}.subnav button small{display:block;font-size:11px;font-weight:400;margin-top:4px}.subnav{gap:8px}
.teacher-grid{grid-template-columns:.9fr 1.1fr!important}.teacher-grid>.card{margin:0!important}.teacher-grid .admin-control-section{padding-top:16px;margin-top:16px}.teacher-grid .admin-control-section h3{font-size:13px}.teacher-grid .toggle-group{gap:12px}.teacher-grid .btn-group{flex-wrap:wrap}.teacher-grid .settings-drawer{padding:12px;margin:0}.teacher-grid .card-title{margin-top:4px}.switch-label input{appearance:none;width:38px!important;height:23px!important;min-height:23px!important;border-radius:30px;background:#ccd9e6;position:relative;cursor:pointer;border:0!important;flex-shrink:0}.switch-label input::after{content:'';position:absolute;width:17px;height:17px;top:3px;left:3px;background:white;border-radius:50%;box-shadow:0 1px 3px #082b5733;transition:.2s}.switch-label input:checked{background:#146cae}.switch-label input:checked::after{left:18px}.switch-label{font-weight:400!important}.info-banner{padding:16px 24px!important;font-size:12px}
@media(max-width:850px){.teacher-grid{grid-template-columns:1fr!important}}
.dice-result-msg{background:transparent!important}
.reveal-panel{max-height:300px;overflow-y:auto;scrollbar-width:thin}.focus-mode .reveal-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:0 12px;max-width:850px}.focus-mode .draw-complete .dice-container{scale:.85;margin:10px}.focus-mode .draw-complete .card-title{margin-top:35px}.focus-mode .draw-complete .draw-rule{margin-top:15px}.focus-mode .draw-complete .reveal-card{padding:10px 15px}
@media(max-width:720px){.focus-mode .reveal-panel{grid-template-columns:1fr}.hero-meta{min-width:100px}.hero-title{font-size:32px!important}.stage-top .icon-button{min-height:36px}.dice-stage-card .card-title{font-size:20px}.roll-cta{font-size:21px!important}}
.queue-status-text{padding:22px 16px!important;margin:20px 0 10px!important}
@media(max-width:768px){.app-header{flex-direction:row}.form-group-row{grid-template-columns:1fr}}
:root{--font-title:Arena,"PingFang SC",sans-serif;--font-body:Arial,"PingFang SC",sans-serif;--color-navy:#082b57;--color-bg-gray:#edf3f9;--color-text-slate:#64768d}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 5%,#d9ebfc,transparent 50%),#f1f5fa;color:#173353}button,input,select{font:inherit}button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d59523;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}.app-header{position:relative;background:#fff;color:#082b57;padding:22px 4vw;border-bottom:1px solid #dfe8f2;box-shadow:none;gap:24px}.logo{display:flex;align-items:center;gap:13px;font-size:21px;line-height:1.2;white-space:nowrap}.logo small{display:block;font-size:12px;letter-spacing:1px;margin-top:8px;color:#667d96}.brand-icon{display:flex;align-items:center;justify-content:center;background:#0b4b91;color:#fff;width:44px;height:48px;border-radius:14px;font-size:26px}.brand-icon span{color:#9be5ff;font-size:21px}.school-logo{width:184px;height:auto;object-fit:contain}.tab-nav{gap:6px}.nav-btn{color:#66768b;font-size:14px;padding:10px 19px;border-radius:12px;line-height:1.35}.nav-btn small{display:block;font-size:11px;margin-top:3px}.nav-btn.active{background:#e8f2ff;color:#0655a2;box-shadow:inset 0 -2px #1673bd}.nav-btn:hover{background:#edf4fc;color:#003b7a}
.app-container{max-width:1440px;margin:0 auto;padding:32px 4vw 50px}.card{border:1px solid #e1e8f1;border-radius:24px;box-shadow:0 8px 30px #12396506;padding:28px;margin-bottom:24px}.hero-card{background:transparent;color:#173353;display:flex;justify-content:space-between;text-align:left;align-items:center;padding:8px 8px 30px;border:0;box-shadow:none;margin:0}.eyebrow,.section-label{font:600 11px Arena,sans-serif;letter-spacing:2px;color:#637c96}.eyebrow{color:#1468ab;margin-bottom:15px}.hero-title{font-size:clamp(36px,4.5vw,63px);color:#092d59;line-height:1.03;letter-spacing:-2.5px;margin:0}.hero-title em{font-style:normal;color:#1b73b8}.hero-subtitle{font-size:16px;margin:14px 0 0;color:#698097;letter-spacing:1px}.hero-meta{text-align:right}.hero-meta #connection-status{display:inline-block;font-size:12px;background:#e4f3ee;color:#24715a;border-radius:30px;padding:5px 12px}.session-stat{display:flex;align-items:center;gap:16px;justify-content:flex-end}.session-stat strong{font:600 73px Arena}.session-stat span{font-size:11px;color:#698097;text-align:left;line-height:1.6}.session-steps{font-size:10px;letter-spacing:1px;color:#637c96}.session-steps i{padding:0 9px;color:#9db7cc}.grid-2col{gap:24px;align-items:start}#tab-queue>.grid-2col{grid-template-columns:.86fr 1.14fr;align-items:stretch}#tab-queue>.grid-2col>.card{margin-bottom:0}.card-title{font-size:23px;line-height:1.3;border:0;padding:0;margin:12px 0 25px}.card-title small{display:block;font-family:var(--font-body);font-size:13px;color:#7b8da2;margin-top:8px;font-weight:400}.queue-list{padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.queue-item{border:1px solid #e4ebf5;border-left:none;border-radius:15px;padding:16px;background:#f7faff;gap:15px;margin:0;animation:slide-in .45s both}.queue-item:first-child{background:#e7f2ff;border-color:#b8d6f4}.queue-num{background:#fff;border:1px solid #d7e6f5;color:#1a68ad;border-radius:9px;padding:8px;font:600 16px Arena;margin-right:12px}.queue-item strong{font-size:15px}.queue-item em{display:block;font-style:normal;font-size:12px;color:#7a8da2;line-height:1.4;margin:5px 0 0 46px}.queue-dice-badge{font:600 18px Arena;background:transparent;color:#1e639f;white-space:nowrap;padding:0}.queue-status-text{font-size:15px;line-height:2;padding:65px 20px;text-align:center;color:#74869d;border:1px dashed #c9d8e9;border-radius:18px;margin-top:30px}.wait-team{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e4ecf5;font-size:14px}.wait-team span{color:#7e90a5;font-size:11px}
.dice-stage-card{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#176ac0 0,#0a427f 42%,#07284f 90%);color:white;min-height:530px;text-align:center;display:flex;flex-direction:column;align-items:center;padding:25px 26px 22px}.dice-stage-card>.card-title{color:white;z-index:1;margin:22px 0 0}.dice-stage-card .card-title small{color:#a7c6e6}.stage-top{display:flex;justify-content:space-between;width:100%;align-items:center;gap:8px;z-index:2}.stage-top .section-label{color:#a7c6e6;font-size:10px}.icon-button{background:#ffffff0c;border:1px solid #ffffff26;color:#d4e7fc;border-radius:8px;padding:6px 9px;font-size:10px;cursor:pointer}.icon-button:hover{background:#ffffff24}.orbit{position:absolute;top:240px;width:330px;height:100px;border:1px solid #72c5fb33;border-radius:50%;transform:rotate(-17deg);pointer-events:none}.orbit-two{transform:rotate(20deg);width:430px;height:145px;top:216px;border-style:dashed}.spark{position:absolute;color:#94d5ff;pointer-events:none}.spark-a{left:16%;top:37%;font-size:35px}.spark-b{right:15%;top:46%;font-size:24px}.dice-container{perspective:850px;margin:28px 0 20px;width:130px;height:130px;z-index:2;filter:drop-shadow(0 22px 15px #00142880)}.dice{width:100px;height:100px;position:relative;margin:12px;transform-style:preserve-3d;transform:rotateX(-25deg) rotateY(35deg);transition:transform 1.2s cubic-bezier(.17,.8,.26,1)}.face{position:absolute;width:100px;height:100px;background:linear-gradient(140deg,#fff,#dbeafa);border:2px solid #86b2d8;box-shadow:inset 0 0 10px #ffffff90;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#0b467d;font:700 46px Arena;backface-visibility:hidden}.front{transform:translateZ(50px)}.back{transform:rotateY(180deg) translateZ(50px)}.right{transform:rotateY(90deg) translateZ(50px)}.left{transform:rotateY(-90deg) translateZ(50px)}.top{transform:rotateX(90deg) translateZ(50px)}.bottom{transform:rotateX(-90deg) translateZ(50px)}.face .pips{display:grid;grid-template-columns:repeat(3,13px);grid-template-rows:repeat(3,13px);gap:9px}.pip{background:#0c4d88;border-radius:50%;box-shadow:inset 1px 2px 2px #09295266}.pip.blank{visibility:hidden}.dice.rolling{animation:arena-roll .65s linear infinite}.dice-result-msg{font:600 22px Arena;color:white;z-index:2;margin:6px 0 14px;min-height:47px}.dice-result-msg small{display:block;font:12px var(--font-body);color:#a7c6e6;margin-top:5px}.roll-cta{display:flex;gap:24px;align-items:center;justify-content:center;background:#e4be70;border:0;border-radius:14px;padding:16px 33px;color:#173451;font:600 23px Arena;cursor:pointer;box-shadow:0 6px 0 #9b7739,0 18px 35px #00152d44;z-index:2;transition:transform .2s}.roll-cta:hover{transform:translateY(-3px);background:#f4d796}.roll-cta:active{transform:translateY(3px);box-shadow:0 2px 0 #9b7739}.roll-cta span{font:13px var(--font-body)}.draw-rule{font-size:10px;line-height:1.7;color:#abc2dd;margin-top:20px;z-index:1}.reveal-panel{width:100%;z-index:3}.reveal-card{background:#ffffff10;border:1px solid #74a7d266;border-radius:14px;margin-top:8px;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;text-align:left;animation:slide-in .4s both}.reveal-card strong{font-size:18px}.reveal-card b{font:700 27px Arena;color:#f3d58c}.confetti{position:absolute;width:7px;height:13px;top:40%;pointer-events:none;animation:confetti 1.7s ease-out forwards;z-index:5}.focus-mode .app-header,.focus-mode .hero-card,.focus-mode .app-footer-text,.focus-mode #tab-queue>.grid-2col>.card:first-child{display:none}.focus-mode #tab-queue>.grid-2col{display:block}.focus-mode .dice-stage-card{min-height:85vh;justify-content:center}.focus-mode .stage-top{position:absolute;top:25px;left:25px;right:25px;width:auto}.focus-mode .dice-container{scale:1.3;margin:45px}
.btn{border-radius:11px;box-shadow:none;font-size:13px;padding:12px 17px}.btn-primary,.btn-accent{background:#0c5da4;border:1px solid #0c5da4;color:#fff}.btn-secondary{background:#edf3fa;color:#235482;border:1px solid #d8e4f1}.btn-danger{background:#fff3f2;color:#b8493a;border:1px solid #ebd5d1}.form-group input,.form-group select,input[type=text],input[type=password],input[type=number],select{border-radius:10px;min-height:44px;border:1px solid #ceddeb;background:#fafcff;color:#183656}input[type=range]{accent-color:#0b6abb}label{font-size:13px}.form-group{margin-bottom:16px}.rubric-question-block{border:1px solid #dde8f4;border-radius:15px;background:#f5f9fd;padding:18px}.rubric-question-title{font-size:14px}.rubric-desc-levels{font-size:12px}.rubric-desc-level{display:block}.rubric-score-range{width:100%}.subnav{display:flex;gap:8px;margin:0 0 22px}.subnav button{border:1px solid #d4e2f1;border-radius:12px;background:white;padding:12px 22px;color:#597187;cursor:pointer;font-size:14px}.subnav button[aria-selected=true]{background:#0d4f92;color:white;border-color:#0d4f92}#tab-student .grid-2col{display:block;max-width:880px;margin:auto}#tab-student .subnav{justify-content:center}.student-hidden{display:none!important}.settings-drawer{background:#fff;border:1px solid #dce6f1;border-radius:20px;margin:20px 0;padding:18px 24px}.settings-drawer summary{cursor:pointer;font-weight:600;color:#355c85;font-size:14px}.settings-drawer>.card{border:0;box-shadow:none;margin-top:20px}.console-intro{font-size:34px;margin:0 0 20px}.info-banner{border:0;background:#e7f2fa}.admin-control-section{margin-top:16px}.data-table th{font-size:12px;background:#ecf3fa;color:#4b6885}.data-table td{font-size:14px}.data-table tbody tr:first-child{background:#eff7ff}.table-container{border-radius:16px}.app-footer-text{background:transparent;border:0;font-size:11px;padding:12px 20px 25px}.app-footer-text span{margin:0 12px;color:#91a7bb}.student-title{font-size:32px;margin:0 0 22px;text-align:center}.demo-banner{background:#fff0cd;color:#694d13;padding:10px;text-align:center;font-size:12px}.demo-banner button{margin-left:15px;font-size:12px;background:#fff;border:1px solid #d6bd82;border-radius:6px;padding:4px 10px;cursor:pointer}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#102f52;color:white;border:1px solid #557b9f;padding:14px 22px;border-radius:13px;box-shadow:0 12px 40px #07244835;opacity:0;pointer-events:none;transition:.3s;z-index:500;max-width:85vw;font-size:14px}#toast.visible{opacity:1;transform:translate(-50%,0)}.rubric-help{font-size:12px;color:#708399;cursor:pointer;margin:10px 0}
@keyframes arena-roll{from{transform:rotateX(0deg) rotateY(35deg) rotateZ(0)}to{transform:rotateX(720deg) rotateY(755deg) rotateZ(360deg)}}@keyframes slide-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes confetti{to{transform:translate(var(--dx),240px) rotate(500deg);opacity:0}}
@media(min-width:1500px){.dice-stage-card{min-height:560px}.dice-container{margin:45px 0 30px}}
@media(max-width:1050px){.app-header{padding:18px 3vw;gap:12px}.logo{font-size:16px}.school-logo{width:140px}.nav-btn{padding:9px 12px}.app-container{padding:25px 3vw}.card{padding:23px}#tab-queue>.grid-2col{grid-template-columns:1fr 1.1fr}.stage-top{flex-wrap:wrap;justify-content:center}.stage-top .section-label{width:100%}.hero-meta .session-steps{max-width:220px;line-height:2}}
@media(max-width:720px){.app-header{flex-wrap:wrap;padding:16px 20px}.logo{font-size:17px}.logo small{font-size:10px}.brand-icon{width:33px;height:39px}.school-logo{width:125px;order:1}.tab-nav{order:2;width:100%;justify-content:space-around;border-top:1px solid #edf2f8;padding-top:13px}.nav-btn{flex:1}.app-container{padding:22px 16px}.hero-card{align-items:flex-start;padding:10px 3px 25px}.hero-title{font-size:38px;letter-spacing:-1.7px}.eyebrow{font-size:9px;letter-spacing:1px}.hero-subtitle{font-size:12px}.hero-meta #connection-status{font-size:9px}.session-stat strong{font-size:46px}.session-stat{gap:8px}.session-stat span{font-size:9px}.session-steps{display:none}#tab-queue>.grid-2col{display:flex;flex-direction:column-reverse}.grid-2col>.card{width:100%}.dice-stage-card{min-height:515px}.card{padding:23px 20px}.grid-2col{grid-template-columns:1fr}.card-title{font-size:21px}.member-row{display:grid;grid-template-columns:1fr 1fr}.member-row input{width:100%;min-width:0}.member-row button{justify-self:end}.banner-body{flex-wrap:wrap;gap:15px}.form-group-row{flex-wrap:wrap}.form-group-row>.form-group{min-width:120px}.btn-group{flex-wrap:wrap}.btn-group .btn{white-space:normal}.rubric-edit-row{padding:17px}.queue-item{padding:14px}.school-logo{max-height:48px}.logo{max-width:calc(100% - 140px)}.logo>span:last-child{white-space:normal}.focus-mode .dice-stage-card{min-height:90vh}.app-footer-text{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
