
:root{--line:#2bbbd0;--cyan:#21c8dc;--epabi:#14b8cc;--gold:#f7b733;--ink:#120f10;--panel:#1f1a1b}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101112;color:white;font-family:Inter,Arial,sans-serif}body{display:grid;grid-template-rows:64px 1fr}header{display:flex;align-items:center;gap:18px;padding:5px 22px;border-bottom:2px solid rgba(33,200,220,.45);background:linear-gradient(90deg,#101112 0%,#172326 45%,#101112 100%)}.logo{height:54px;width:160px;object-fit:contain;object-position:left center;filter:drop-shadow(0 6px 10px #000)}h1{margin:0;font-size:clamp(30px,4vw,58px);line-height:.9;font-weight:1000;letter-spacing:1px;text-transform:uppercase}.sub{font-weight:800;color:#ddd;margin-top:4px}.app{height:calc(100vh - 64px);display:grid;grid-template-columns:minmax(620px,1fr) 390px;gap:10px;padding:8px 14px;overflow:hidden}.stage{position:relative;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 50% 35%,#263235 0,#151515 60%,#0b0b0b 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}.board{position:relative;height:100%;max-height:calc(100vh - 84px);aspect-ratio:312/569;background:transparent;overflow:visible}.board img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none}.piece{position:absolute;left:0;top:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:27px;line-height:1;z-index:20;transform:translate(-50%,-50%);transition:transform .14s ease;filter:drop-shadow(0 5px 4px #000);text-shadow:0 1px 1px #000;pointer-events:none;will-change:left,top,transform}.piece.step{transform:translate(-50%,-50%) scale(1.08)}.piece.win{animation:winPulse .7s ease infinite;z-index:60}@keyframes winPulse{50%{transform:translate(-50%,-62%) scale(1.45)}}.winBanner{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.42);z-index:150;pointer-events:none}.winBanner.show{display:flex}.winCard{padding:28px 42px;border-radius:28px;background:linear-gradient(180deg,#fff,#f3d269);color:#14100a;text-align:center;font-weight:1000;box-shadow:0 28px 90px #000;animation:winCard .75s ease}.winCard h2{font-size:46px;margin:0 0 8px}.winCard p{font-size:24px;margin:0}@keyframes winCard{0%{transform:scale(.25) rotate(-8deg);opacity:0}70%{transform:scale(1.12) rotate(2deg);opacity:1}100%{transform:scale(1) rotate(0)}}.confetti{position:fixed;top:-20px;width:10px;height:16px;border-radius:2px;z-index:151;animation:fall 2.4s linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg);opacity:.9}}.side{display:grid;grid-template-rows:auto auto 1fr;gap:10px;min-height:0}.panel{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#172326,#141415);padding:12px;box-shadow:0 14px 32px #0008}button{width:100%;height:50px;border:0;border-radius:12px;font-weight:1000;letter-spacing:1px;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 0 #0006}button:disabled{opacity:.45;cursor:not-allowed}button:active{transform:translateY(2px);box-shadow:0 3px 0 #0006}.roll{background:linear-gradient(#31d9ea,#11aebf);color:#071012}.reset{background:#4a3f42;color:white}.rulesBtn{background:linear-gradient(#ffd86a,#ffaf1d);color:#170f08}.status{min-height:62px;border-radius:14px;background:#102225;border:1px solid rgba(33,200,220,.2);padding:12px;font-size:16px;font-weight:1000;display:flex;align-items:center;margin-top:10px}.players{display:grid;gap:8px;margin-top:10px}.row{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border:1px solid #514649;border-radius:12px;background:#111819;font-weight:900}.row.active{border-color:#22d4e7;box-shadow:0 0 0 1px #22d4e7 inset}.school{display:grid;grid-template-columns:1fr 1fr;gap:8px}.info{border:1px solid var(--line);border-radius:12px;background:#111819;padding:10px;min-height:54px}.info b{display:block;color:#27d8ed;font-size:12px}.info span{font-size:14px;font-weight:850}.overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.7);z-index:100;padding:18px}.overlay.show{display:flex}.modal{width:min(760px,94vw);max-height:90vh;overflow:auto;border-radius:24px;background:#f4f4f4;color:#111;padding:24px;box-shadow:0 30px 80px #000;text-align:center}.modal h2{margin:0 0 12px;font-size:30px}.modal p,.modal li{text-align:left;font-weight:800;line-height:1.4}.modal ul{padding-left:22px}.modal button{background:linear-gradient(#31d9ea,#11aebf);color:#071012;margin-top:12px}.teamGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}.teamCard{background:white;border:1px solid #ccc;border-radius:16px;padding:12px}label{font-size:12px;font-weight:1000;display:block;margin:8px 0 4px}input,select{width:100%;height:42px;border:1px solid #ccc;border-radius:10px;padding:0 10px;font-size:16px;font-weight:850;background:white;color:#111}.diceBox{display:flex;flex-direction:column;align-items:center;gap:18px}.cube{width:150px;height:150px;position:relative;transform-style:preserve-3d;animation:spin .65s linear infinite;perspective:800px}.face{position:absolute;width:150px;height:150px;border:6px solid #111;border-radius:22px;background:white;color:#111;display:flex;align-items:center;justify-content:center;font-size:76px;font-weight:1000}.f1{transform:translateZ(75px)}.f2{transform:rotateY(90deg) translateZ(75px)}.f3{transform:rotateY(180deg) translateZ(75px)}.f4{transform:rotateY(-90deg) translateZ(75px)}.f5{transform:rotateX(90deg) translateZ(75px)}.f6{transform:rotateX(-90deg) translateZ(75px)}@keyframes spin{to{transform:rotateX(720deg) rotateY(540deg) rotateZ(360deg)}}.diceResult{font-size:105px;font-weight:1000;color:white;text-shadow:0 0 30px var(--cyan);display:none}.diceDone .cube{display:none}.diceDone .diceResult{display:block;animation:pop .55s ease}@keyframes pop{0%{transform:scale(.2)}70%{transform:scale(1.25)}100%{transform:scale(1)}}.answers{display:grid;gap:10px;margin-top:15px}.answers button{height:auto;min-height:52px;background:#102225;color:white;text-transform:none;letter-spacing:0;box-shadow:none;border:1px solid rgba(33,200,220,.35)}.toast{position:fixed;left:50%;top:92px;transform:translateX(-50%) translateY(-15px);opacity:0;transition:.25s;z-index:130;background:white;color:#111;font-weight:1000;padding:13px 22px;border-radius:14px;box-shadow:0 20px 50px #000;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.groupPick{background:#fff;border:1px solid #ccc;border-radius:16px;padding:12px;margin-bottom:12px;text-align:left}.groupPick h3{margin:0 0 4px}.groupPick p{margin:0 0 8px!important;font-weight:700!important}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{display:flex;align-items:center;gap:8px;background:#eee;border-radius:10px;padding:8px 10px;margin:0}.check input{width:auto;height:auto}@media(max-width:1050px){.app{grid-template-columns:1fr 320px}.teamGrid{grid-template-columns:1fr}h1{font-size:32px}.logo{width:130px}}

.questionMeta{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:8px 0 14px}.pill{background:#e7f8fb;color:#0b5d68;border:1px solid #afe9f1;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:1000}.answers button.correctFlash{background:#157f3b!important;color:#fff}.answers button.wrongFlash{background:#a32626!important;color:#fff}.orderList{display:grid;gap:8px;margin:12px 0}.orderLine{display:flex;justify-content:space-between;background:#eefcff;border:1px solid #b6eef5;border-radius:12px;padding:9px 12px;font-weight:1000}.modal h2{color:#0e2a2f}.teamCard h3{margin:0 0 8px;color:#0e5964}.rulesCompact li{margin-bottom:6px}.piece.trail{animation:pieceTrail .42s ease}@keyframes pieceTrail{0%{filter:drop-shadow(0 8px 6px #000) drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 9px 7px #000) drop-shadow(0 0 10px #21c8dc)}100%{filter:drop-shadow(0 8px 6px #000)}}

:root{--epabi-cyan:#17c2d4;--epabi-cyan-2:#0b7f8c;--epabi-dark:#06090a;--epabi-card:#0e1719;--epabi-line:rgba(23,194,212,.55)}
html,body{background:linear-gradient(135deg,#030607 0%,#071012 48%,#040505 100%);font-family:"Montserrat","Inter",Arial,sans-serif;}
header{height:76px;padding:8px 24px;background:linear-gradient(90deg,#040707 0%,#102428 45%,#071012 100%);border-bottom:1px solid var(--epabi-line);box-shadow:0 10px 28px rgba(0,0,0,.45)}
body{grid-template-rows:76px 1fr}.app{height:calc(100vh - 76px);grid-template-columns:minmax(560px,1fr) 410px;gap:14px;padding:14px 18px;}
.logo{height:56px;width:174px}.sub{color:#9beefa}.stage,.panel{border-color:var(--epabi-line);box-shadow:0 22px 55px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.02)}
.stage{background:radial-gradient(circle at 50% 45%,#12272b 0%,#071112 55%,#020303 100%)}
.board{height:min(100%,calc(100vh - 105px));aspect-ratio:405/660;background:transparent;filter:drop-shadow(0 18px 24px rgba(0,0,0,.75))}
.board img{border-radius:18px;object-fit:contain}.side{gap:14px}.panel{background:linear-gradient(180deg,rgba(13,28,31,.96),rgba(7,13,14,.96));border-radius:22px;padding:16px}.roll{background:linear-gradient(180deg,#2ad7e8,#0aa3b5);color:#021113}.rulesBtn{background:linear-gradient(180deg,#ffd665,#f6a905);color:#161006}.reset{background:#263235;color:#fff}.status{background:linear-gradient(180deg,#0c2023,#071112);border-color:rgba(23,194,212,.42);border-radius:16px;color:#eafcff}.row{background:#081113;border-color:rgba(23,194,212,.22);border-radius:14px}.row.active{background:#0e2b30;border-color:#17c2d4;box-shadow:0 0 0 1px #17c2d4 inset,0 0 22px rgba(23,194,212,.18)}
.school{grid-template-columns:1fr 1fr;gap:10px}.info{background:#071112;border-color:rgba(23,194,212,.32);border-radius:15px}.info b{color:#24d8eb}.info span{color:#f2feff}
.overlay{backdrop-filter:blur(6px);background:rgba(0,0,0,.72)}.modal{background:linear-gradient(180deg,#fbfbfb,#edf7f8);border:1px solid rgba(23,194,212,.28);border-radius:28px;padding:28px;box-shadow:0 34px 110px rgba(0,0,0,.75)}.modal h2{color:#0a3338;font-size:34px}.modal p,.modal li{font-weight:850}.modal button{border-radius:15px;background:linear-gradient(180deg,#2ed7e8,#0aa3b5)}
.groupPick{padding:18px;border-radius:20px;background:#fff;border:1px solid #c8eef2;margin-bottom:20px}.groupPick h3{font-size:24px;color:#0a5b65;margin-bottom:8px}.groupPick p{font-size:15px;color:#333;margin-bottom:14px!important}.checks{grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.check{min-height:52px;border-radius:16px;background:#edf7f8;border:1px solid #c9eef2;padding:14px 16px;font-size:16px;font-weight:950;color:#111}.check input{width:18px;height:18px;accent-color:#11b6c7}
#teamsModal .modal{width:min(1040px,96vw)}#teamsModal label:not(.check){font-size:15px;color:#0a3338;margin-top:14px;margin-bottom:7px}.teamGrid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:20px;margin:18px 0}.teamCard{padding:20px;border-radius:22px;background:#fff;border:1px solid #cdecef;box-shadow:0 10px 30px rgba(8,55,60,.08)}.teamCard h3{font-size:24px;margin-bottom:14px!important;color:#0b6b76!important}input,select{height:52px;border-radius:15px;border:1px solid #bfd7da;font-size:18px;background:#fbffff}#startBtn{height:56px;margin-top:6px}.rulesCompact li{margin-bottom:9px}.questionMeta .pill{background:#e1fbff;border-color:#9beefa;color:#07535d}.answers button{border-radius:16px;background:#0e2b30;border-color:rgba(23,194,212,.45)}
.orderModal .modal{width:min(620px,92vw);background:linear-gradient(180deg,#061013,#0c262b);color:#f2feff;border:1px solid rgba(23,194,212,.7);box-shadow:0 0 0 1px rgba(255,255,255,.03) inset,0 40px 120px #000}.orderModal h2{color:#ffffff}.orderModal p{text-align:center!important;font-size:18px;color:#d8fbff}.orderName{font-size:32px;font-weight:1000;color:#28d9ea;margin:14px 0}.orderRolls{display:grid;gap:10px;margin:16px 0}.orderLine{background:rgba(23,194,212,.12)!important;border:1px solid rgba(23,194,212,.38)!important;color:#efffff}.orderBtn{height:58px;background:linear-gradient(180deg,#2ed7e8,#0aa3b5)!important;color:#021113!important}.orderSmall{font-size:14px!important;color:#a7eaf0!important;margin-top:12px!important}.piece{transition:none}.piece.moving{filter:drop-shadow(0 12px 9px #000) drop-shadow(0 0 14px rgba(33,200,220,.9));z-index:80}.piece.arrive{animation:arrive .38s ease}@keyframes arrive{0%{transform:translate(-50%,-50%) scale(1.35)}100%{transform:translate(-50%,-50%) scale(1)}}
@media(max-width:1050px){.app{grid-template-columns:1fr 340px}.checks,.teamGrid{grid-template-columns:1fr}.modal{padding:22px}header{height:68px}body{grid-template-rows:68px 1fr}.app{height:calc(100vh - 68px)}}

.overlay{padding:22px!important;backdrop-filter:blur(8px) saturate(1.1)!important;background:rgba(0,0,0,.72)!important}
.modal{border-radius:28px!important;overflow:hidden!important;border:1px solid rgba(33,200,220,.28)!important;background:linear-gradient(180deg,#f8fcfd,#eef8fa)!important;color:#101516!important;padding:0!important;box-shadow:0 34px 90px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.22) inset!important}
.modal h2{padding:26px 34px 8px!important;margin:0!important;color:#0b3338!important;letter-spacing:.2px!important}
.modal>p,.modal>.groupPick,.modal>label,.modal>select,.modal>.teamGrid,.modal>.orderName,.modal>.orderRolls,.modal>.orderSmall,.modal>#questionText,.modal>.answers{margin-left:30px!important;margin-right:30px!important}
.modal>button{width:calc(100% - 60px)!important;margin:18px 30px 28px!important;border-radius:16px!important;min-height:56px!important;background:linear-gradient(180deg,#39d8e6,#0e9faf)!important;color:#041416!important;box-shadow:0 8px 0 rgba(12,93,104,.38)!important}
.rulesCompact{max-height:min(58vh,540px)!important;overflow-y:auto!important;overflow-x:hidden!important;margin:4px 28px 0!important;padding:4px 26px 4px 34px!important;text-align:left!important;scrollbar-gutter:stable!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.12))!important}
.rulesCompact::-webkit-scrollbar{width:14px!important}.rulesCompact::-webkit-scrollbar-track{background:rgba(19,61,68,.08)!important;border-radius:999px!important;margin:8px 0!important}.rulesCompact::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#32cfe0,#0c7f8d)!important;border:4px solid rgba(239,248,250,1)!important;border-radius:999px!important}.rulesCompact{scrollbar-color:#16aeba rgba(19,61,68,.10)!important;scrollbar-width:thin!important}
.groupPick{padding:20px!important;border-radius:22px!important;border:1px solid rgba(20,184,204,.32)!important;background:#fff!important;box-shadow:0 10px 28px rgba(12,50,56,.08)!important}.groupPick h3{color:#0c5660!important;margin-bottom:8px!important}.groupPick p{margin-bottom:16px!important;color:#506064!important}.checks{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:12px!important}.check{border-radius:16px!important;background:#eef8fa!important;border:1px solid #c8edf2!important;padding:15px 16px!important;font-size:16px!important;color:#132326!important}.check input{accent-color:#13b7c9!important;transform:scale(1.15)!important}.teamGrid{gap:18px!important;margin-top:18px!important}.teamCard{border-radius:22px!important;border:1px solid rgba(20,184,204,.30)!important;padding:20px!important;box-shadow:0 10px 26px rgba(12,50,56,.08)!important}.teamCard h3{margin-top:0!important;color:#0c5660!important}input,select{height:52px!important;border-radius:15px!important;border:1px solid #b9dfe4!important;background:#fff!important}.orderModal .modal{text-align:center!important}.orderBtn{max-width:380px!important;margin-left:auto!important;margin-right:auto!important;display:block!important}

.overlay{padding:20px;align-items:center;justify-content:center;overflow:hidden;}
.modal{
  max-height:calc(100vh - 40px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable both-edges;
  border-radius:28px;
}
.modal::-webkit-scrollbar{width:14px;}
.modal::-webkit-scrollbar-track{background:#e8f6f8;border-radius:999px;margin:18px 0;}
.modal::-webkit-scrollbar-thumb{background:linear-gradient(#22c7d8,#0c7f8f);border-radius:999px;border:4px solid #e8f6f8;}
.modal::-webkit-scrollbar-thumb:hover{background:linear-gradient(#15aebe,#075f6b);}
#teamsModal .modal{
  width:min(1180px,96vw);
  padding:28px 34px;
  background:linear-gradient(180deg,#f8feff,#edf8fa);
  border:1px solid rgba(33,200,220,.45);
}
#teamsModal .modal h2{font-size:clamp(30px,3.4vw,46px);margin-bottom:18px;color:#063840;}
.groupPick{padding:24px;border-radius:24px;border-color:rgba(33,200,220,.35);background:white;box-shadow:0 18px 44px rgba(0,70,80,.08);}
.groupPick h3{font-size:28px;color:#086372;margin-bottom:8px;}
.groupPick p{font-size:16px;color:#526064;margin-bottom:20px!important;}
.checks{grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px 18px;}
.check{min-height:80px;padding:18px 22px;border-radius:18px;background:#eaf8fa;border:1px solid rgba(33,200,220,.25);font-size:20px;font-weight:1000;color:#132326;}
.check:first-child{grid-column:1/-1;}
.check input{width:24px;height:24px;accent-color:#17b8ca;}
#teamsModal label{font-size:15px;color:#063840;text-align:left;margin:16px 0 8px;}
#numTeams{height:58px;border-radius:16px;font-size:22px;border:2px solid rgba(6,56,64,.25);}
.teamGrid{gap:18px;margin:18px 0 22px;}
.teamCard{padding:22px;border-radius:22px;border:1px solid rgba(6,56,64,.2);background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(0,70,80,.08);}
.teamCard h3{margin:0 0 12px;color:#086372;font-size:25px;}
.teamCard input,.teamCard select{height:54px;border-radius:14px;font-size:20px;border:1px solid #c7d6d9;}
#startBtn{height:58px;border-radius:16px;font-size:17px;margin-top:10px;}
@media(max-width:900px){#teamsModal .modal{width:96vw;padding:22px}.checks,.teamGrid{grid-template-columns:1fr}.check:first-child{grid-column:auto}}

#teamsModal{align-items:center!important;justify-content:center!important;padding:18px!important;overflow:hidden!important;}
#teamsModal .modal{
  width:min(1160px,96vw)!important;
  max-height:calc(100vh - 36px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:28px 34px!important;
  border-radius:28px!important;
  scrollbar-gutter:stable!important;
}
#teamsModal .modal h2{margin-bottom:18px!important;line-height:1.05!important;}
#teamsModal label[for="numTeams"], #teamsModal .numTeamsLabel{display:block!important;text-align:left!important;max-width:260px!important;margin:22px 0 8px!important;}
#numTeams{
  width:260px!important;
  max-width:100%!important;
  display:block!important;
  margin:0 0 18px 0!important;
  height:54px!important;
  font-size:20px!important;
}
#teamsModal .teamGrid{margin-bottom:22px!important;}
#teamsModal #startBtn{position:sticky!important;bottom:0!important;z-index:3!important;margin-top:18px!important;}
#teamsModal .modal::-webkit-scrollbar,.modal::-webkit-scrollbar{width:12px!important;}
#teamsModal .modal::-webkit-scrollbar-track,.modal::-webkit-scrollbar-track{background:#e4f4f7!important;border-radius:999px!important;margin:18px 0!important;}
#teamsModal .modal::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb{background:#0b7785!important;border:3px solid #e4f4f7!important;border-radius:999px!important;}
.orderModal .modal{
  background:linear-gradient(180deg,#071112,#0d1d21)!important;
  color:#f2feff!important;
  border:1px solid rgba(23,194,212,.75)!important;
  box-shadow:0 36px 120px rgba(0,0,0,.82),0 0 0 1px rgba(255,255,255,.06) inset!important;
}
.orderModal h2{color:#ffffff!important;}
.orderModal p,.orderModal .orderSmall{color:#e6fbff!important;text-shadow:none!important;}
.orderName{color:#ffffff!important;background:linear-gradient(180deg,#0b3037,#061013)!important;border:1px solid rgba(23,194,212,.45)!important;border-radius:18px!important;padding:15px 18px!important;}
.orderBtn{background:linear-gradient(180deg,#23c7d8,#078695)!important;color:#021113!important;}
#confirmReset .modal{width:min(520px,92vw)!important;text-align:center!important;padding:30px!important;}
#confirmReset h2{padding:0!important;margin:0 0 12px!important;font-size:30px!important;color:#0b3338!important;}
#confirmReset p{margin:0 0 20px!important;text-align:center!important;color:#172023!important;font-weight:850!important;}
.confirmActions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;}
.confirmActions button{width:100%!important;margin:0!important;}
#cancelReset{background:#263235!important;color:#fff!important;}
#doReset{background:linear-gradient(180deg,#ffcf55,#f7a714)!important;color:#17100a!important;}
@media(max-width:900px){#numTeams{width:100%!important}.confirmActions{grid-template-columns:1fr}}

#teamsModal .modal{padding-left:48px!important;padding-right:48px!important;}
#teamsModal .groupPick,
#teamsModal .teamGrid,
#teamsModal #startBtn{width:100%!important;max-width:1260px!important;margin-left:auto!important;margin-right:auto!important;}
#teamsModal .teamGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;margin-top:22px!important;}
#teamsModal .teamCard{min-height:260px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
#teamsModal .teamCard h3{font-size:26px!important;margin-bottom:18px!important;}
#teamsModal #numTeams{width:300px!important;max-width:100%!important;display:block!important;}
#teamsModal label[for="numTeams"]{max-width:1260px!important;margin-left:auto!important;margin-right:auto!important;}
.piece{width:32px!important;height:32px!important;font-size:30px!important;transform-origin:center center!important;}
.piece.arrive{animation:pieceArrive .18s ease-out;}
@keyframes pieceArrive{0%{transform:translate(-50%,-50%) scale(.92)}60%{transform:translate(-50%,-50%) scale(1.18)}100%{transform:translate(-50%,-50%) scale(1)}}
@media(max-width:900px){#teamsModal .teamGrid{grid-template-columns:1fr!important}#teamsModal .modal{padding-left:22px!important;padding-right:22px!important}}

html,body{overflow:hidden!important}body{grid-template-rows:88px 1fr!important}header{height:88px!important;padding:8px 28px!important;overflow:visible!important}.logo{height:66px!important;width:170px!important;object-fit:contain!important}h1{font-size:clamp(30px,3.6vw,52px)!important;line-height:1!important;white-space:nowrap!important}.sub{font-size:18px!important;color:#7eeeff!important}.app{height:calc(100vh - 88px)!important;grid-template-columns:minmax(650px,1fr) 390px!important;padding:10px 16px 12px!important}.stage{display:flex!important;flex-direction:column!important;gap:10px!important;justify-content:center!important;align-items:center!important;padding:8px!important}.board{height:calc(100% - 170px)!important;max-height:calc(100vh - 280px)!important;aspect-ratio:399/900!important;background:transparent!important;overflow:visible!important}.board img{object-fit:contain!important;width:100%!important;height:100%!important;border-radius:0!important}.piece{width:30px!important;height:30px!important;font-size:30px!important;filter:drop-shadow(0 4px 4px rgba(0,0,0,.85))!important}.piece.step,.piece.moving{transform:translate(-50%,-50%) scale(1.08)!important}.schoolUnder{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;width:min(760px,94%)!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:linear-gradient(180deg,#071516,#04100f)!important}.schoolUnder .info{min-height:48px!important}.side>.panel:nth-child(2){display:none!important}.side{grid-template-rows:auto 1fr!important}.orderBtn{width:100%!important;max-width:none!important}.orderModal .modal button,.orderBtn{width:100%!important}.roll{width:100%!important}.modal{scrollbar-color:#1498a8 transparent!important;scrollbar-width:thin!important}.modal::-webkit-scrollbar{width:10px}.modal::-webkit-scrollbar-track{background:transparent;border-radius:20px}.modal::-webkit-scrollbar-thumb{background:#1498a8;border-radius:20px;border:2px solid #eefbfc}@media(max-height:780px){.board{height:calc(100% - 135px)!important;max-height:calc(100vh - 230px)!important}.schoolUnder{grid-template-columns:repeat(6,1fr)!important}.schoolUnder .info span{font-size:12px!important}.schoolUnder .info{padding:7px!important;min-height:44px!important}h1{font-size:38px!important}.logo{height:58px!important}body{grid-template-rows:76px 1fr!important}.app{height:calc(100vh - 76px)!important}}

.app{
  grid-template-columns:minmax(620px,1fr) 390px!important;
  gap:14px!important;
  padding:10px 18px 12px!important;
}
.stage{
  flex-direction:row!important;
  padding:12px!important;
  gap:0!important;
}
.board{
  height:100%!important;
  max-height:calc(100vh - 116px)!important;
  aspect-ratio:405/660!important;
  background:transparent!important;
  overflow:visible!important;
}
.board img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:0!important;
}
.schoolUnder{display:none!important;}
.side{
  grid-template-rows:auto auto 1fr!important;
  gap:14px!important;
}
.side>.panel:nth-child(2){display:block!important;}
.school{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.info{
  background:#071112!important;
  border-color:rgba(23,194,212,.32)!important;
  border-radius:15px!important;
}
.info b{color:#24d8eb!important;}
.info span{color:#f2feff!important;}
.orderModal .modal{
  padding-left:48px!important;
  padding-right:48px!important;
}
.orderModal .modal button,
.orderBtn{
  width:calc(100% - 80px)!important;
  max-width:none!important;
  margin-left:40px!important;
  margin-right:40px!important;
}
#questionModal .modal{
  max-height:88vh!important;
  padding-bottom:40px!important;
}
#questionModal .answers{
  margin-bottom:24px!important;
  padding-bottom:12px!important;
}
#questionModal .answers button:last-child{margin-bottom:12px!important;}
@media(max-width:1050px){
  .app{grid-template-columns:1fr 330px!important;}
  .orderModal .modal button,.orderBtn{width:100%!important;margin-left:0!important;margin-right:0!important;}
}
@media(max-height:780px){
  .board{max-height:calc(100vh - 104px)!important;}
  .school{grid-template-columns:1fr 1fr!important;}
}

.stage{overflow:visible!important;padding:10px 18px!important;}
.board{aspect-ratio:312/569!important;background:transparent!important;overflow:visible!important;height:min(calc(100vh - 292px), 650px)!important;max-height:650px!important;width:auto!important;flex:0 0 auto!important;}
.board img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;background:transparent!important;}
.piece{width:24px!important;height:24px!important;font-size:25px!important;line-height:1!important;transform:translate(-50%,-50%)!important;filter:drop-shadow(0 3px 3px rgba(0,0,0,.95))!important;z-index:50!important;}
.piece.step,.piece.moving{transform:translate(-50%,-50%) scale(1.06)!important;}
.piece.arrive{transform:translate(-50%,-50%) scale(1.12)!important;}
.schoolUnder{margin-top:4px!important;}
@media(max-height:820px){.board{height:min(calc(100vh - 255px), 600px)!important}.piece{width:22px!important;height:22px!important;font-size:23px!important}}
