*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--blue: #2196f3;--blue-bg: #e3f2fd;--blue-border: rgba(33, 150, 243, .54);--red: #e53935;--red-bg: #ffebee;--red-border: rgba(229, 57, 53, .3);--bg-page: #f0f3f7;--white: #fff;--border: #e0e0e0;--text: #333;--text-mid: #888;--green: #4caf50;--green-dark: #388e3c;--orange: #ff9800;--crit: #f44336;--telegram: #08c;--panel-r: 16px;--panel-shadow: 0 2px 10px rgba(0,0,0,.06);--side-col: clamp(240px, 23vw, 320px);--board-max-w: 1380px;font-size:16px}html,body{width:100%;height:100%;overflow:hidden;font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg-page);-webkit-font-smoothing:antialiased}#root,.app{width:100%;height:100%}.setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);z-index:100;padding:16px;overflow-y:auto}.setup-modal{background:var(--white);border-radius:var(--panel-r);padding:32px;width:100%;max-width:520px;box-shadow:0 20px 60px #00000040;animation:fadeInUp .4s ease}.setup-title{text-align:center;font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--blue),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.setup-subtitle{text-align:center;font-size:1rem;color:var(--text-mid);margin-bottom:24px}.stepper{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:28px;padding:0 8px}.stepper-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stepper-num{width:32px;height:32px;border-radius:50%;background:#e0e0e0;color:#999;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;transition:.2s ease}.stepper-item.active .stepper-num{background:var(--blue);color:#fff;box-shadow:0 0 0 4px #2196f333}.stepper-item.done .stepper-num{background:var(--green);color:#fff}.stepper-label{font-size:.7rem;color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px}.stepper-item.active .stepper-label{color:var(--blue);font-weight:600}.stepper-line{flex:1;min-width:24px;max-width:60px;height:3px;background:#e0e0e0;border-radius:2px;margin-bottom:20px;transition:.2s ease}.stepper-line.done{background:var(--green)}.setup-content{min-height:180px;margin-bottom:20px}.setup-step{animation:fadeIn .3s ease}.setup-step h2{text-align:center;font-size:1.15rem;font-weight:700;margin-bottom:8px}.setup-hint{text-align:center;font-size:.85rem;color:var(--text-mid);margin-bottom:16px}.option-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}.option-btn{padding:12px 22px;border:2px solid var(--border);border-radius:10px;background:var(--white);font-size:1rem;font-weight:600;cursor:pointer;transition:.2s ease;min-width:80px;text-align:center;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.option-btn:hover{border-color:var(--blue);background:#2196f30a}.option-btn.active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 2px 12px #2196f34d}.operation-btn{font-size:1.5rem;padding:12px 20px;min-width:60px}.team-inputs{display:flex;flex-direction:column;gap:16px;margin-top:16px}.team-input-group{display:flex;flex-direction:column;gap:6px}.team-label{font-weight:700;font-size:.95rem}.team-label.blue{color:var(--blue)}.team-label.red{color:var(--red)}.team-input{padding:12px 16px;border:2px solid var(--border);border-radius:10px;font-size:1rem;outline:none;transition:.2s ease;width:100%}.team-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2196f326}.setup-error{text-align:center;color:var(--red);font-size:.85rem;margin-bottom:8px}.setup-nav{display:flex;gap:12px;justify-content:center}.nav-btn{padding:12px 28px;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:.2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.back-btn{background:#f0f0f0;color:var(--text)}.back-btn:hover{background:#e0e0e0}.next-btn{background:var(--blue);color:#fff}.next-btn:hover{background:#1976d2}.start-btn{background:linear-gradient(135deg,var(--green),#66bb6a);color:#fff;font-size:1.1rem;padding:14px 36px}.start-btn:hover{filter:brightness(1.08);box-shadow:0 4px 20px #4caf5066}.game-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-page);overflow:hidden}.game-topbar{display:flex;align-items:center;justify-content:space-between;background:var(--white);border-bottom:1px solid var(--border);padding:0 16px;height:52px;flex-shrink:0;z-index:10}.topbar-start,.topbar-end{display:flex;align-items:center;gap:8px;min-width:0}.topbar-center{flex-shrink:0}.topbar-team-name{font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-score{font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.blue-text{color:var(--blue)}.red-text{color:var(--red)}.topbar-title{font-size:1.05rem;font-weight:800;color:var(--text)}.game-shell{flex:1;display:flex;align-items:center;justify-content:center;padding:10px 12px;min-height:0;overflow:hidden}.game-board{display:grid;grid-template-columns:var(--side-col) 1fr var(--side-col);gap:10px;width:100%;max-width:var(--board-max-w);height:100%;max-height:660px;align-items:stretch}.calc-panel{background:var(--white);border-radius:var(--panel-r);box-shadow:var(--panel-shadow);display:flex;flex-direction:column;padding:12px;gap:0;overflow:hidden;min-height:0}.panel-blue{border:2px solid var(--blue-border)}.panel-red{border:2px solid var(--red-border)}.question-box{border-radius:12px;padding:16px 10px;text-align:center;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-height:64px;transition:background .25s,color .25s;margin-bottom:0}.q-blue{background:var(--blue-bg);color:var(--blue)}.q-red{background:var(--red-bg);color:var(--red)}.question-box.correct{background:#c8e6c9!important;color:var(--green-dark)!important}.question-box.wrong{background:#ffcdd2!important;color:#b71c1c!important;animation:shake .35s ease}.answer-box{text-align:center;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;padding:10px 8px;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);margin:0;min-height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text);transition:.2s ease}.answer-box.empty{color:#bbb;font-weight:500}.answer-box.correct{background:#e8f5e9;color:var(--green-dark);border-color:var(--green)}.answer-box.wrong{background:#ffebee;color:var(--red);border-color:var(--red)}.num-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;flex:1;min-height:0;padding-top:5px}.num-key{border:1.5px solid #ddd;border-radius:8px;background:var(--white);color:var(--text);font-size:clamp(1.1rem,2.8vw,1.5rem);font-weight:800;cursor:pointer;transition:.15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;min-height:0;touch-action:manipulation}.num-key:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.num-key:active:not(:disabled){transform:scale(.94);background:#eee}.num-key:disabled{opacity:.4;cursor:not-allowed}.key-x{background:linear-gradient(180deg,#ef5350,#c62828);color:#fff;border-color:#c62828}.key-x:hover:not(:disabled){background:linear-gradient(180deg,#f44336,#b71c1c);border-color:#b71c1c}.key-ok{background:linear-gradient(180deg,var(--telegram),#006ba3);color:#fff;border-color:#006ba3}.key-ok:hover:not(:disabled){background:linear-gradient(180deg,#09d,#005a8c);border-color:#005a8c}.compare-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1;min-height:0;align-items:center;padding-top:8px}.cmp-btn{border:2px solid var(--border);border-radius:12px;background:var(--white);font-size:clamp(1.8rem,5vw,3rem);font-weight:800;cursor:pointer;transition:.15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:var(--text);touch-action:manipulation;display:flex;align-items:center;justify-content:center;padding:12px;box-shadow:0 3px #d5d5d5}.cmp-btn:hover:not(:disabled){border-color:var(--blue);transform:translateY(-2px);box-shadow:0 5px silver}.cmp-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #d5d5d5}.cmp-btn:disabled{opacity:.45;cursor:not-allowed}.cmp-btn.correct{border-color:var(--green);background:#e8f5e9;color:var(--green-dark);box-shadow:0 3px 0 var(--green)}.cmp-btn.shake{animation:shake .35s ease}.arena-container{background:var(--white);border-radius:var(--panel-r);box-shadow:var(--panel-shadow);position:relative;padding:10px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.timer-pill{position:absolute;top:6px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:5px;background:var(--white);border:1.5px solid var(--border);border-radius:100px;padding:4px 14px;box-shadow:0 2px 6px #0000000f}.timer-pill svg{flex-shrink:0;color:var(--telegram);width:18px;height:18px}.timer-pill span{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--telegram);white-space:nowrap}.timer-pill.warning{border-color:var(--orange)}.timer-pill.warning span,.timer-pill.warning svg{color:var(--orange)}.timer-pill.critical{border-color:var(--crit);animation:timerPulse .7s ease infinite alternate}.timer-pill.critical span,.timer-pill.critical svg{color:var(--crit)}.arena{flex:1;background:var(--white);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:0}.center-line{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:repeating-linear-gradient(to bottom,#333 0 8px,transparent 8px 16px);z-index:2;opacity:.5}.rope-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:3;pointer-events:none}.rope-mover{width:80%;max-width:440px;transition:transform .35s cubic-bezier(.25,.46,.45,.94)}.rope-mover video{width:100%;height:auto;object-fit:contain;display:block;pointer-events:none}.game-bottom-bar{position:fixed;bottom:8px;left:10px;display:flex;gap:5px;z-index:10}.bottom-icon{width:34px;height:34px;border-radius:8px;border:1px solid #ddd;background:var(--white);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease;box-shadow:0 1px 3px #0000000f;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.bottom-icon:hover{background:#f5f5f5;border-color:#bbb}.countdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:50;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.countdown-number{font-size:clamp(5rem,18vw,12rem);font-weight:900;color:#fff;text-shadow:0 0 60px rgba(33,150,243,.5);animation:countBounce .5s ease}.countdown-number.go{color:#4caf50;text-shadow:0 0 60px rgba(76,175,80,.5)}.winner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);z-index:100;padding:16px;overflow-y:auto}.win-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.3;z-index:0}.winner-card{position:relative;z-index:1;background:#fffffff2;border-radius:var(--panel-r);padding:32px;width:100%;max-width:480px;text-align:center;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .5s ease}.winner-label{font-size:1.2rem;color:var(--text-mid);margin-bottom:8px}.winner-name{font-size:clamp(1.5rem,5vw,2.2rem);font-weight:900;background:linear-gradient(135deg,var(--blue),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}.winner-stats{margin-bottom:20px}.stat-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.stat-team{font-weight:700;font-size:1rem}.stat-team.blue{color:var(--blue)}.stat-team.red{color:var(--red)}.stat-score{font-size:2rem;font-weight:900;color:var(--text)}.stat-vs{color:var(--text-mid);font-size:1.2rem}.stat-time{font-size:1rem;color:var(--text-mid)}.winner-message{font-size:1rem;color:var(--text-mid);margin-bottom:24px}.winner-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.action-btn{padding:14px 28px;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:.2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.action-btn.primary{background:linear-gradient(135deg,var(--blue),#1565c0);color:#fff}.action-btn.primary:hover{filter:brightness(1.1);box-shadow:0 4px 20px #2196f34d}.action-btn.secondary{background:#f0f0f0;color:var(--text)}.action-btn.secondary:hover{background:#e0e0e0}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;overflow:hidden}.confetti-piece{position:absolute;top:-10px;width:10px;height:10px;border-radius:2px;animation:confettiFall 3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes countBounce{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes timerPulse{0%{opacity:1}to{opacity:.6}}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media(min-width:1440px){:root{--side-col: clamp(300px, 22vw, 380px)}.game-topbar{height:60px;padding:0 24px}.topbar-team-name{font-size:1.05rem}.topbar-score{font-size:1.7rem}.topbar-title{font-size:1.2rem}.game-shell{padding:14px 20px}.calc-panel{padding:16px}.question-box{font-size:2.2rem;padding:20px 12px;min-height:72px}.answer-box{font-size:1.3rem;padding:12px}.num-key{font-size:1.5rem}.cmp-btn{font-size:2.8rem;padding:16px}}@media(min-width:1920px){:root{--side-col: clamp(340px, 20vw, 440px);--board-max-w: 1600px}.game-shell{padding:18px 32px}.calc-panel{padding:20px}.question-box{font-size:2.6rem;padding:24px}.num-key{font-size:1.7rem}}@media(max-width:1100px){:root{--side-col: clamp(200px, 22vw, 280px)}.game-board{gap:8px}.calc-panel{padding:10px}.question-box{font-size:clamp(1.3rem,3.5vw,1.9rem);padding:12px 8px;min-height:54px}.answer-box{padding:8px 6px;font-size:1rem}.num-keypad{gap:4px}}@media(max-width:900px){:root{--side-col: clamp(170px, 20vw, 240px)}.game-topbar{height:46px;padding:0 10px}.topbar-team-name{font-size:.8rem}.topbar-score{font-size:1.2rem}.topbar-title{font-size:.92rem}.game-shell{padding:6px 8px}.game-board{gap:6px}.calc-panel{padding:8px;border-radius:12px}.question-box{font-size:clamp(1.1rem,3vw,1.6rem);padding:10px 6px;min-height:46px;border-radius:10px}.answer-box{padding:6px;font-size:.92rem;min-height:36px}.num-keypad{gap:3px;padding-top:3px}.num-key{font-size:clamp(.9rem,2.2vw,1.15rem);border-radius:6px}}@media(max-width:768px){.game-topbar{height:42px;padding:0 8px}.topbar-team-name{font-size:.75rem}.topbar-score{font-size:1.1rem}.topbar-title{font-size:.85rem}.game-shell{padding:4px 6px;align-items:flex-start}.game-board{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:6px;max-height:none;height:auto}.arena-container{grid-column:1 / -1;grid-row:1;max-height:140px;min-height:100px;padding:6px;border-radius:12px}.timer-pill{top:3px;padding:2px 8px}.timer-pill span{font-size:.78rem}.timer-pill svg{width:12px;height:12px}.rope-mover{width:60%;max-width:280px}.calc-panel{grid-row:2;padding:8px;border-radius:12px;min-height:0}.panel-blue{grid-column:1}.panel-red{grid-column:2}.question-box{font-size:clamp(1rem,4vw,1.4rem);padding:8px 6px;min-height:40px;border-radius:8px}.answer-box{font-size:.88rem;padding:5px;min-height:30px}.num-keypad{gap:3px;padding-top:3px}.num-key{font-size:clamp(.85rem,3.5vw,1.1rem);border-radius:6px;min-height:32px}.cmp-btn{font-size:clamp(1.2rem,5vw,1.8rem);padding:6px;border-radius:8px}.game-bottom-bar{bottom:4px;left:4px}.bottom-icon{width:28px;height:28px;font-size:.85rem;border-radius:6px}}@media(max-width:480px){.game-topbar{height:38px}.topbar-team-name{font-size:.68rem;letter-spacing:0}.topbar-score{font-size:1rem}.topbar-title{font-size:.78rem}.game-shell{padding:3px 4px}.game-board{gap:4px}.calc-panel{padding:6px;border-radius:10px}.question-box{font-size:clamp(.9rem,4.5vw,1.25rem);padding:6px 4px;min-height:34px;border-radius:7px}.answer-box{font-size:.82rem;padding:4px;min-height:26px}.num-keypad{gap:2px;padding-top:2px}.num-key{font-size:clamp(.78rem,3.2vw,1rem);min-height:28px;border-radius:5px}.arena-container{max-height:110px;min-height:80px}.option-btn{padding:10px 16px;font-size:.9rem;min-width:65px}.nav-btn{padding:10px 20px;font-size:.9rem}.start-btn{padding:12px 24px;font-size:1rem}}@media(max-width:360px){.game-topbar{height:34px;padding:0 6px}.topbar-team-name{font-size:.62rem}.topbar-score{font-size:.9rem}.calc-panel{padding:4px}.question-box{font-size:.85rem;padding:5px 3px;min-height:30px}.answer-box{font-size:.75rem;padding:3px;min-height:22px}.num-key{min-height:24px;font-size:.72rem;border-radius:4px}.setup-modal{padding:16px}.setup-title{font-size:1.3rem}}@media(max-height:500px)and (orientation:landscape){.game-topbar{height:36px;padding:0 8px}.topbar-team-name{font-size:.75rem}.topbar-score{font-size:1rem}.topbar-title{font-size:.85rem}:root{--side-col: clamp(160px, 20vw, 240px)}.game-shell{padding:3px 6px}.game-board{gap:5px;max-height:none}.calc-panel{padding:5px;gap:0;border-radius:10px}.question-box{font-size:clamp(.9rem,2.5vw,1.3rem);padding:6px 4px;min-height:32px;border-radius:8px}.answer-box{padding:4px;font-size:.85rem;min-height:26px}.num-keypad{gap:2px;padding-top:2px}.num-key{min-height:22px;font-size:clamp(.75rem,2vw,1rem);border-radius:5px}.arena-container{padding:5px;border-radius:10px}.timer-pill{padding:2px 7px}.timer-pill span{font-size:.75rem}.timer-pill svg{width:11px;height:11px}.cmp-btn{padding:4px;font-size:clamp(1rem,3vw,1.5rem);border-radius:8px}.countdown-number{font-size:4rem}.bottom-icon{width:26px;height:26px;font-size:.8rem}}@media(hover:none)and (pointer:coarse){.num-key{min-height:36px}.cmp-btn{min-height:44px}.num-key:active:not(:disabled){transform:scale(.92)}.cmp-btn:active:not(:disabled){transform:scale(.92)}}:fullscreen .game-wrapper{height:100vh;width:100vw}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}button:focus:not(:focus-visible){outline:none}
