:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#14243a;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--navy:#10233f;--blue:#2875d2;--red:#e54c54;--gold:#eab75d;--muted:#75849a}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 50% 5%,#fff 0%,#f2f6fb 70%)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{height:82px;padding:0 clamp(18px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#10233f;color:#fff;box-shadow:0 6px 24px #10233f25}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:17px;font-weight:800;letter-spacing:.01em}.brand small{display:block;color:#9eb8d9;font-size:9px;letter-spacing:.24em;margin-top:3px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ffffff17;color:#f5c46e;font-size:22px}.top-actions,.game-controls{display:flex;align-items:center;gap:12px}.button{border:0;border-radius:12px;padding:12px 17px;font-weight:750;transition:transform .15s,filter .15s,box-shadow .15s;touch-action:manipulation}.button:active{transform:scale(.97)}.button-primary{background:#2875d2;color:white;box-shadow:0 6px 15px #2875d233}.button-primary:hover{filter:brightness(1.08)}.button-light{background:#fff;color:#183252}.button-music{color:#fff;background:#ffffff16;border:1px solid #ffffff27}.button-outline{background:#fff;color:#183252;border:1px solid #d5deea}.button-large{padding:17px 25px;font-size:17px;border-radius:15px}.button-full{width:100%;min-height:50px}.welcome-screen{min-height:calc(100vh - 82px);max-width:1360px;margin:auto;padding:clamp(34px,7vw,100px) clamp(20px,7vw,100px);display:grid;grid-template-columns:1fr 1.05fr;gap:35px;align-items:center}.hero-copy{max-width:580px}.eyebrow{font-size:11px;letter-spacing:.2em;color:#d29335;font-weight:850}.hero-copy h1{font-size:clamp(42px,6vw,78px);line-height:1.04;letter-spacing:-.055em;color:#132b49;margin:20px 0}.hero-copy h1 em{font-style:normal;color:#2875d2}.hero-copy p{font-size:18px;line-height:1.7;color:#65758b;max-width:490px;margin:0 0 28px}.hero-copy .hint{font-size:13px;margin:13px 0;color:#8190a4}.hero-scene{position:relative;min-height:420px;display:grid;place-items:center;overflow:hidden;border-radius:40px;background:linear-gradient(145deg,#deedff,#f7faff 48%,#ffe8df);box-shadow:0 30px 70px #21497420}.scene-sun{position:absolute;width:135px;height:135px;border-radius:50%;background:#ffcf74;top:45px;right:80px;opacity:.72}.scene-ground{position:absolute;height:55px;bottom:0;left:0;right:0;background:#d5ead9;border-radius:50% 50% 0 0/45% 45% 0 0}.scene-label{position:absolute;top:27%;font-size:11px;letter-spacing:.15em;font-weight:900}.label-blue{left:10%;color:#2875d2}.label-red{right:10%;color:#d8464e}.scene-kids{z-index:1;position:relative;display:flex;align-items:center;justify-content:center;width:100%;margin-top:85px}.kid{width:clamp(140px,18vw,220px);filter:drop-shadow(0 15px 12px #253e5d23);animation:bob 1.8s ease-in-out infinite alternate}.kid-red{transform:scaleX(-1);animation-delay:.45s}.scene-rope{width:34%;min-width:160px;margin:5px -25px 0;z-index:1}.scene-spark{position:absolute;color:#e5a945;font-size:24px}.spark-one{top:22%;left:18%}.spark-two{right:21%;bottom:21%}@keyframes bob{to{translate:0 -8px}}.game-screen{max-width:1450px;margin:auto;padding:28px clamp(16px,4vw,58px) 42px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.game-heading h2{margin:4px 0;color:#183252;font-size:clamp(22px,3vw,34px)}.timer{display:grid;text-align:center;padding:8px 14px;border:1px solid #dae4f0;border-radius:12px;background:#fff}.timer span{font-size:9px;letter-spacing:.12em;font-weight:800;color:#7a8aa0}.timer strong{font-size:22px;color:#173050;font-variant-numeric:tabular-nums}.scoreboard{display:grid;grid-template-columns:150px 1fr 150px;align-items:center;gap:18px;padding:13px 20px;background:#fff;border:1px solid #e3eaf3;border-radius:20px;box-shadow:0 8px 28px #1a3b6010}.score-card{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.score-card span{font-size:11px;letter-spacing:.08em;font-weight:900}.score-card strong{font-size:28px}.score-card small{font-size:11px;color:#8995a5}.score-blue{color:#2875d2}.score-red{justify-content:flex-end;color:#dc454d}.score-track{position:relative;height:22px}.track-line{position:absolute;left:0;right:0;top:10px;height:4px;border-radius:4px;background:linear-gradient(90deg,#2875d2,#c4d2e3 48%,#c4d2e3 52%,#e54c54)}.track-end{position:absolute;z-index:1;top:0;width:22px;height:22px;border-radius:50%;background:#e8eef6;color:#415875;font-size:11px;font-weight:900;display:grid;place-items:center}.track-left{left:0}.track-right{right:0}.rope-marker{position:absolute;z-index:2;top:-9px;left:50%;transform:translateX(-50%);font-size:23px;color:#d89b3f;transition:left .7s cubic-bezier(.2,.8,.2,1)}.battle-scene{height:145px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.battle-kid{height:142px;width:135px;object-fit:contain;filter:drop-shadow(0 9px 5px #233a531c)}.battle-blue{margin-right:-12px}.battle-red{transform:scaleX(-1);margin-left:-12px}.battle-rope{position:relative;width:min(42vw,480px);height:12px;border-radius:20px;background:linear-gradient(#f6cf89,#c58b43);box-shadow:0 2px 3px #90602e55}.battle-rope i{position:absolute;left:50%;top:-20px;height:52px;width:4px;background:#fff2d6;border-radius:4px;transition:left .7s cubic-bezier(.2,.8,.2,1)}.battle-rope span{position:absolute;left:50%;top:-28px;z-index:2;color:#fff3dd;font-size:28px;transform:translateX(-50%);transition:left .7s cubic-bezier(.2,.8,.2,1);text-shadow:0 2px 5px #553c24}.question-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.question-card{background:#fff;border:1px solid #e0e8f2;border-radius:20px;padding:20px;box-shadow:0 8px 28px #1a3b600d;min-width:0}.question-team{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.1em;color:#2875d2}.red-question .question-team{color:#d8464e}.team-dot{width:10px;height:10px;border-radius:50%;background:#2875d2}.red-dot{background:#e54c54}.answer-state{margin-left:auto;font-size:12px;letter-spacing:0;color:#6b7b90}.question-card h3{min-height:54px;margin:15px 0 17px;color:#183252;font-size:clamp(16px,2vw,21px);line-height:1.4}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.option-button{min-height:56px;padding:11px 13px;border:1px solid #dce5ef;border-radius:12px;text-align:left;background:#f9fbfe;color:#293d57;font-weight:650;line-height:1.3;touch-action:manipulation;transition:background .15s,border .15s,color .15s}.option-button:hover:not(:disabled){background:#eff6ff;border-color:#94bce9}.option-button:disabled{cursor:default;opacity:.85}.option-button.correct{background:#e9f8ef;border-color:#73c78d;color:#1b7540}.option-button.wrong{background:#fff0ef;border-color:#e88a81;color:#a52e28}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:17px}.game-footer p{margin:0;text-align:center;color:#718197;font-size:13px}.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:#08182dcc;backdrop-filter:blur(4px)}.modal-card{position:relative;z-index:1;width:min(100%,520px);max-height:min(92vh,880px);overflow:auto;border-radius:23px;background:#fff;padding:30px;box-shadow:0 30px 90px #06132666}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#738197;font-size:29px;line-height:1}.modal-card h2{margin:7px 0 5px;color:#183252;font-size:29px}.modal-intro{margin:0 0 19px;color:#75849a;font-size:14px;line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#f1f5fa}.auth-tab{border:0;border-radius:9px;background:transparent;color:#77869b;min-height:42px;font-weight:750}.auth-tab.active{background:#fff;color:#173352;box-shadow:0 2px 8px #132a4416}.auth-form{display:grid;gap:12px;margin-top:16px}.auth-form label,.settings-row label{display:grid;gap:7px;color:#566a83;font-size:12px;font-weight:750}.auth-form input,.upload-form>input,.settings-row select{height:46px;padding:0 12px;border:1px solid #d8e1eb;border-radius:10px;color:#183252;background:#fff;outline:none}.auth-form input:focus,.upload-form>input:focus,.settings-row select:focus{border-color:#5290db;box-shadow:0 0 0 3px #2875d21a}.or-divider{display:flex;align-items:center;gap:12px;margin:17px 0;color:#9aa7b6;font-size:12px}.or-divider:before,.or-divider:after{content:"";height:1px;flex:1;background:#e6ebf1}.google-button-wrap{display:flex;justify-content:center;min-height:42px}.form-message{min-height:19px;margin:8px 0 0;text-align:center;color:#b33d36;font-size:13px}.file-drop{display:grid;justify-items:center;gap:4px;padding:16px;border:1.5px dashed #b6c8dc;border-radius:13px;background:#f7faff;color:#183252;cursor:pointer}.file-icon{font-size:25px;color:#2875d2}.file-drop small,.music-upload small{color:#8997a9;font-size:11px}.file-drop input,.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-form{display:grid;gap:10px}.excel-help{margin:10px 0 16px;color:#7b899a;font-size:11px;line-height:1.5}.settings-row{padding:12px 0 17px;border-bottom:1px solid #edf0f4}.settings-row select{width:100%}.section-title{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px;color:#183252}.text-button{border:0;background:none;color:#2875d2;font-size:12px;font-weight:750}.bank-list{display:grid;gap:8px;max-height:190px;overflow:auto}.bank-item{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e5ebf2;border-radius:12px}.bank-info{min-width:0;flex:1}.bank-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#223a58;font-size:13px}.bank-info small{color:#8997a9;font-size:11px}.bank-actions{display:flex;gap:5px}.small-action{border:0;border-radius:8px;padding:8px 9px;background:#edf5ff;color:#2875d2;font-size:11px;font-weight:750;white-space:nowrap}.small-action.delete{background:#fff1f0;color:#c73b35}.empty-banks{padding:17px 10px;text-align:center;color:#8492a3;font-size:13px}.music-upload{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-top:1px solid #edf0f4;margin-top:15px}.music-upload strong,.music-upload small{display:block}.music-upload strong{color:#203956;font-size:13px}.music-upload small{max-width:250px;line-height:1.5}.file-button{position:relative;overflow:hidden;padding:9px 11px;font-size:11px;white-space:nowrap}.toast{position:fixed;z-index:20;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:13px 20px;border-radius:12px;background:#142b49;color:white;box-shadow:0 8px 25px #0e223c35;font-weight:650;font-size:14px}.toast.error{background:#a73432}
.template-link{display:inline-block;margin-top:5px;color:#2875d2;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.team-timer{margin-left:auto;padding:5px 8px;border-radius:8px;background:#eff6ff;color:#2875d2;font-size:12px;font-variant-numeric:tabular-nums;font-weight:850;letter-spacing:0}.red-question .team-timer{background:#fff0ef;color:#d8464e}
.winner-celebration{position:fixed;inset:0;z-index:15;display:grid;place-items:center;overflow:hidden;padding:18px;background:#10233feF;backdrop-filter:blur(8px)}.winner-card{position:relative;z-index:2;width:min(100%,520px);padding:clamp(28px,6vw,52px);border:1px solid #ffffff3b;border-radius:28px;background:linear-gradient(145deg,#fff,#f4f8ff);box-shadow:0 30px 100px #020d2090;text-align:center;animation:winner-pop .65s cubic-bezier(.16,1.3,.4,1) both}.winner-cup{display:block;margin-bottom:12px;font-size:clamp(58px,12vw,90px);filter:drop-shadow(0 10px 12px #e6b64e55);animation:cup-bounce 1.2s ease-in-out infinite alternate}.winner-card h2{margin:12px 0;color:#173352;font-size:clamp(32px,7vw,58px);letter-spacing:-.04em}.winner-card p{margin:0 0 25px;color:#728198;font-size:17px}.confetti-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-18px;width:10px;height:17px;border-radius:3px;background:var(--confetti-color);animation:confetti-fall var(--fall-duration) linear var(--fall-delay) both;transform:rotate(var(--spin-start))}.confetti-piece:nth-child(3n){width:8px;height:8px;border-radius:50%}.confetti-piece:nth-child(4n){width:7px;height:22px;border-radius:999px}@keyframes winner-pop{from{opacity:0;transform:translateY(25px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cup-bounce{to{transform:translateY(-8px) rotate(4deg)}}@keyframes confetti-fall{0%{transform:translate3d(0,-8vh,0) rotate(var(--spin-start));opacity:0}10%{opacity:1}100%{transform:translate3d(var(--drift),115vh,0) rotate(var(--spin-end));opacity:.9}}
@media(prefers-reduced-motion:reduce){.winner-card,.winner-cup,.confetti-piece{animation:none!important}}
@media(max-width:850px){.welcome-screen{grid-template-columns:1fr;padding-top:48px;gap:5px}.hero-copy{margin:auto;text-align:center}.hero-copy p{margin-left:auto;margin-right:auto}.hero-scene{min-height:340px}.game-heading{align-items:flex-start;flex-direction:column}.game-controls{width:100%;justify-content:space-between}.scoreboard{grid-template-columns:110px 1fr 110px;padding:12px}.score-card{gap:4px}.battle-scene{height:120px}.battle-kid{height:120px;width:112px}.question-card{padding:15px}.option-button{min-height:62px;padding:9px}.game-footer{flex-wrap:wrap}.game-footer p{order:3;flex-basis:100%}}
@media(max-width:560px){.topbar{height:68px;padding:0 13px}.brand{font-size:14px;gap:8px}.brand-mark{width:35px;height:35px}.top-actions{gap:6px}.top-actions .button{padding:10px 11px;font-size:12px}.button-music span{display:none}.welcome-screen{min-height:calc(100vh - 68px);padding:35px 18px}.hero-copy h1{font-size:48px}.hero-copy p{font-size:16px}.hero-scene{min-height:275px;border-radius:25px}.kid{width:38vw}.scene-rope{min-width:100px;margin:4px -16px 0}.scene-sun{width:95px;height:95px;right:40px}.game-screen{padding:18px 12px 30px}.game-controls{gap:6px}.game-controls .button{padding:10px 9px;font-size:11px}.timer{padding:6px 7px}.timer strong{font-size:18px}.timer span{font-size:8px}.scoreboard{grid-template-columns:82px 1fr 82px;gap:7px;padding:10px}.score-card{flex-wrap:wrap;justify-content:center}.score-card span{font-size:9px}.score-card strong{font-size:23px}.score-card small{font-size:9px}.score-card.score-red{justify-content:center}.battle-scene{height:92px}.battle-kid{height:96px;width:80px}.battle-rope{width:38vw;height:9px}.battle-rope i{height:42px;top:-16px}.battle-rope span{top:-25px}.question-grid{grid-template-columns:1fr;gap:10px}.question-card h3{min-height:auto;margin:11px 0}.option-button{min-height:53px;font-size:13px}.game-footer .button{padding:11px;font-size:12px}.modal{padding:9px}.modal-card{padding:25px 19px;border-radius:18px}.bank-item{gap:6px}.small-action{padding:8px 7px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Professional teacher studio and image-driven rope motion */
.scene-rope{height:82px;object-fit:contain;filter:drop-shadow(0 6px 5px #68401d38);animation:rope-breathe 1.25s ease-in-out infinite alternate;transform-origin:center}
@keyframes rope-breathe{to{transform:scaleX(1.035) rotate(.5deg);filter:drop-shadow(0 8px 6px #68401d45) saturate(1.1)}}
.battle-rope{height:46px;background:none;box-shadow:none;overflow:visible;transition:transform .72s cubic-bezier(.2,.9,.2,1)}
.battle-rope>img{position:absolute;inset:50% 0 auto;width:100%;height:50px;object-fit:fill;transform:translateY(-50%);filter:drop-shadow(0 5px 4px #68401d45);transition:filter .35s}
.battle-rope.is-pulling{animation:rope-snap .72s cubic-bezier(.2,.9,.2,1)}
.battle-rope.is-pulling>img{filter:drop-shadow(0 8px 5px #68401d58) saturate(1.2)}
@keyframes rope-snap{0%{transform:scaleX(1)}35%{transform:scaleX(1.055) translateX(var(--pull-direction,0))}65%{transform:scaleX(.985) translateX(var(--pull-direction,0))}100%{transform:scaleX(1)}}
.battle-kid.is-pulling{animation:kid-pull .72s cubic-bezier(.2,.8,.2,1)}
@keyframes kid-pull{35%{translate:var(--kid-shift,0) 3px;rotate:var(--kid-rotate,0deg)}70%{translate:calc(var(--kid-shift,0) * -.25) -2px}}

.modal-card:has(.teacher-dashboard:not(.hidden)){width:min(1180px,96vw);max-height:94vh;padding:0;overflow:hidden;border:1px solid #ffffff2c;background:#f4f7fb;border-radius:28px}
.teacher-dashboard{display:grid;grid-template-columns:245px 1fr;min-height:min(780px,90vh)}
.dashboard-side{display:flex;flex-direction:column;padding:28px 20px;background:linear-gradient(165deg,#10233f,#173b68);color:#fff}
.dashboard-brand{display:flex;align-items:center;gap:11px;padding:0 8px 27px;border-bottom:1px solid #ffffff18}.dashboard-brand>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ffffff15;color:#f2bd60;font-size:20px}.dashboard-brand strong,.dashboard-brand small{display:block}.dashboard-brand small{margin-top:3px;color:#9db5d2;font-size:8px;letter-spacing:.18em}
.teacher-profile{display:flex;align-items:center;gap:11px;margin:25px 0}.teacher-profile>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#4e9bff,#286ac2);font-weight:900}.teacher-profile strong,.teacher-profile small{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-profile strong{font-size:13px}.teacher-profile small{margin-top:4px;color:#9db5d2;font-size:10px}
.dashboard-nav{display:grid;gap:6px}.dashboard-nav a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:11px;color:#b6c8dd;text-decoration:none;font-size:12px;font-weight:750;transition:.2s}.dashboard-nav a:hover,.dashboard-nav a.active{color:#fff;background:#ffffff12;translate:3px 0}.dashboard-nav span{width:20px;color:#f0bb5b;font-size:16px}.dashboard-logout{margin-top:auto;padding:12px;border:1px solid #ffffff1e;border-radius:11px;background:#ffffff0b;color:#b9c9da;text-align:left;font-size:12px;font-weight:700}
.dashboard-main{overflow:auto;padding:30px 32px}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dashboard-head h2{margin:5px 0 3px;font-size:30px}.online-badge{padding:8px 11px;border-radius:999px;background:#e9f8ef;color:#25804b;font-size:10px;font-weight:800}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.dashboard-stats article{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e0e8f1;border-radius:15px;background:#fff;box-shadow:0 7px 22px #1a3b600b}.dashboard-stats article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf5ff;color:#2875d2;font-size:18px}.dashboard-stats strong,.dashboard-stats small{display:block}.dashboard-stats strong{color:#173352;font-size:21px}.dashboard-stats small{color:#8997a9;font-size:10px}
.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.dashboard-card{padding:18px;border:1px solid #e0e8f1;border-radius:17px;background:#fff;box-shadow:0 8px 26px #183b620b}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.card-heading>div,.bank-section .section-title>div{display:flex;align-items:center;gap:9px}.card-heading strong,.section-title strong{color:#203956;font-size:13px}.card-heading small{color:#8a98a9;font-size:10px}.step-number{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#edf5ff;color:#2875d2;font-size:9px;font-weight:900}.upload-card .file-drop{padding:12px}.upload-card .file-icon{font-size:21px}.settings-card .settings-row{padding:0 0 14px}.settings-card .music-upload{margin-top:0;padding-bottom:0}.bank-section{margin-top:14px}.bank-section .section-title{margin:0 0 12px}.teacher-dashboard .bank-list{max-height:180px;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard .bank-item{padding:11px;background:#fbfcfe}.teacher-dashboard .form-message{margin-bottom:0}
@media(max-width:850px){.modal-card:has(.teacher-dashboard:not(.hidden)){overflow:auto}.teacher-dashboard{grid-template-columns:1fr}.dashboard-side{padding:18px}.dashboard-brand{padding-bottom:15px}.teacher-profile{margin:14px 0}.dashboard-nav{display:none}.dashboard-logout{margin-top:0}.dashboard-main{overflow:visible;padding:22px}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:560px){.dashboard-main{padding:18px 13px}.dashboard-head{display:block}.online-badge{display:inline-block;margin-bottom:12px}.dashboard-stats{gap:6px}.dashboard-stats article{padding:10px;gap:7px}.dashboard-stats article>span{display:none}.teacher-dashboard .bank-list{grid-template-columns:1fr}.card-heading{align-items:flex-start}.card-heading>small{display:none}.scene-rope{height:55px}}

/* Character-free tug-of-war: the flag stays centered while the rope travels */
.scene-kids{min-height:165px;margin-top:65px}.scene-rope{width:min(78%,620px);min-width:260px;height:auto;margin:0;animation:hero-rope-pull 2.1s ease-in-out infinite;will-change:transform}.kid,.battle-kid{display:none!important}
@keyframes hero-rope-pull{0%,100%{transform:translateX(-18px) rotate(-.35deg) scaleX(1.01)}50%{transform:translateX(18px) rotate(.35deg) scaleX(.99)}}
.battle-scene{height:clamp(190px,22vw,270px);overflow:hidden}.battle-rope{width:min(72vw,820px);height:auto;aspect-ratio:3/1;transform:none!important}.battle-rope>img{left:50%;right:auto;top:50%;width:100%;height:auto;max-height:none;object-fit:contain;transform:translate(-50%,-50%) translateX(var(--rope-position,0%));transition:transform .72s cubic-bezier(.16,.8,.2,1);will-change:transform}
.battle-rope.is-pulling{animation:none}.battle-rope.is-pulling>img{animation:active-rope-pull .72s cubic-bezier(.16,.85,.2,1)}
@keyframes active-rope-pull{0%{transform:translate(-50%,-50%) translateX(var(--rope-position,0%)) scaleX(1)}38%{transform:translate(-50%,-50%) translateX(calc(var(--rope-position,0%) + var(--rope-kick,0px))) scaleX(1.045)}72%{transform:translate(-50%,-50%) translateX(var(--rope-position,0%)) scaleX(.985)}100%{transform:translate(-50%,-50%) translateX(var(--rope-position,0%)) scaleX(1)}}
.battle-rope span,.battle-rope i{position:absolute;left:50%!important;z-index:4;pointer-events:none}.battle-rope span{top:-3px;color:#fff3dd}.battle-rope i{top:15px;height:62px}.rope-marker{left:50%!important;transition:none}
@media(max-width:560px){.scene-kids{min-height:110px}.scene-rope{min-width:220px;width:88%}.battle-scene{height:clamp(125px,36vw,175px)}.battle-rope{width:84vw;height:auto;aspect-ratio:3/1}.battle-rope>img{width:100%;height:auto}.battle-rope i{height:48px}}

/* Start gate and soundtrack-synchronised winner reveal */
.game-ready{position:fixed;inset:0;z-index:14;display:grid;place-items:center;overflow:hidden;padding:20px;background:radial-gradient(circle at 50% 38%,#244f83,#0b1d35 68%)}.ready-glow{position:absolute;width:min(70vw,720px);aspect-ratio:1;border-radius:50%;background:#3986e52b;filter:blur(18px);animation:ready-pulse 2s ease-in-out infinite alternate}.ready-card{position:relative;z-index:1;width:min(100%,560px);padding:44px 38px;border:1px solid #ffffff2b;border-radius:30px;background:#ffffffef;box-shadow:0 35px 100px #020b1c80;text-align:center;animation:ready-enter .6s cubic-bezier(.16,1,.3,1) both}.ready-icon{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 18px;border-radius:22px;background:linear-gradient(145deg,#397fd7,#1c5dad);color:#ffcf70;font-size:36px;box-shadow:0 14px 30px #2875d240}.ready-card h2{margin:9px 0;color:#173352;font-size:clamp(30px,6vw,48px);letter-spacing:-.04em}.ready-card p{max-width:430px;margin:0 auto 25px;color:#718197;line-height:1.65}.ready-card p strong{color:#2875d2}.ready-start{display:grid;min-width:210px;margin:0 auto 17px;padding:15px 28px;border-radius:17px;box-shadow:0 15px 35px #2875d24f}.ready-start>span{font-size:22px;letter-spacing:.15em}.ready-start>small{margin-top:2px;opacity:.75;font-size:10px}.ready-card>.text-button{padding:8px}@keyframes ready-enter{from{opacity:0;transform:translateY(25px) scale(.88)}to{opacity:1;transform:none}}@keyframes ready-pulse{to{transform:scale(1.12);opacity:.65}}
.winner-celebration.drum-playing .winner-card{animation:winner-drum var(--drum-duration,4.5s) cubic-bezier(.2,.75,.2,1) both}.winner-celebration.drum-playing .winner-cup{animation:cup-drum var(--drum-duration,4.5s) ease-in-out both}.winner-celebration.drum-playing:not(.winner-revealed) .winner-card h2,.winner-celebration.drum-playing:not(.winner-revealed) .winner-card p,.winner-celebration.drum-playing:not(.winner-revealed) .winner-card button{opacity:0;transform:translateY(10px)}.winner-card h2,.winner-card p,.winner-card button{transition:opacity .45s,transform .55s cubic-bezier(.16,1,.3,1)}@keyframes winner-drum{0%{opacity:0;transform:scale(.82)}12%{opacity:1;transform:scale(.92)}25%,40%,55%{transform:scale(.94) rotate(-.4deg)}32%,48%{transform:scale(.94) rotate(.4deg)}64%{transform:scale(1.08)}72%,100%{transform:scale(1)}}@keyframes cup-drum{0%,12%{opacity:.35;transform:scale(.7)}20%,56%{transform:scale(.88) rotate(-5deg)}30%,48%{transform:scale(.9) rotate(5deg)}66%{transform:scale(1.28) rotate(0)}76%,100%{transform:scale(1)}}
@media(max-width:560px){.ready-card{padding:34px 20px;border-radius:23px}.ready-icon{width:62px;height:62px}.ready-start{width:100%}}

/* BigService.uz brand */
.brand-logo{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#fff}.header-phone{color:#f5c46e;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}.site-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:22px;background:#0d1e36;color:#fff}.site-footer img{width:52px;height:42px;object-fit:contain;border-radius:8px;background:#fff}.site-footer strong,.site-footer small{display:block}.site-footer small{margin-top:3px;color:#91a9c4;font-size:10px}.site-footer a{margin-left:24px;color:#f5c46e;text-decoration:none;font-weight:800}
@media(max-width:700px){.header-phone{display:none}.brand-logo{width:38px;height:38px}.site-footer{flex-wrap:wrap}.site-footer a{width:100%;margin:4px 0 0;text-align:center}}
