*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}button{cursor:pointer;font-family:inherit;background:none;border:none}input,textarea,select{font-family:inherit}@keyframes blink{0%,to{opacity:1}50%{opacity:.1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes chipIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cardIn{0%{opacity:0;transform:scale(.93) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}:root{--accent: #ffd43b;--accent-rgb: 255, 212, 59;--accent-dim: #d1ab20;--bg: #061428;--bg-alt: #04101e;--panel: #0d2040;--panel-rgb: 13, 32, 64;--navy-mid: #0d1f3c;--border: #1a3a60;--border-hi: rgba(255, 255, 255, .08);--dim: #3a608a;--red: #ff3c3c;--green: #22c55e;--blue: #3b82f6;--text: #ffffff;--text-mid: rgba(255, 255, 255, .7);--text-dim: rgba(255, 255, 255, .42);--input-rgb: 4, 14, 32;--font-display: "Barlow Condensed", sans-serif;--font-heading: "Bebas Neue", sans-serif;--font-mono: "Space Mono", monospace;--tr: .22s cubic-bezier(.4, 0, .2, 1)}:root{--vh-100-safe: 100vh}@supports (height: 100dvh){:root{--vh-100-safe: 100dvh}}.am-modal{max-height:88vh;max-height:min(calc(var(--vh-100-safe) * .88),88vh)}html{-webkit-tap-highlight-color:transparent}body{overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;color:#fff}:root{--red: #e83030;--bg: #06101e;--tr: .2s cubic-bezier(.4, 0, .2, 1);--timer-min: clamp(48px, 9vmin, 80px);--timer-fluid: min(16vmin, 18vh);--timer-max: 180px;--timer-fs: clamp(var(--timer-min), var(--timer-fluid), var(--timer-max));--score-min: clamp(48px, 12vw, 100px);--score-fluid: min(20vw, 26vh);--score-max: 280px;--score-fs: clamp(var(--score-min), var(--score-fluid), var(--score-max));--tag-min: 16px;--tag-fluid: 4vmin;--tag-max: 54px;--tag-fs: clamp(var(--tag-min), var(--tag-fluid), var(--tag-max));--text: rgba(255, 255, 255, .92);--btn-size: clamp(44px, 5.5vmin, 54px);--play-size: clamp(48px, 6.2vmin, 62px);--btn-icon: clamp(13px, 1.8vmin, 18px);--play-icon: clamp(15px, 2.2vmin, 20px);--clr-btn-size: clamp(28px, 3.8vmin, 38px);--clr-btn-pos: clamp(10px, 1.8vmin, 18px);--portrait-split: 44%;--hub-digit-w: 1ch;--hub-sep-w: .5ch;--controls-total-h: 80px}@media(min-width:1921px){:root{--timer-max: clamp(200px, 16vmin, 280px);--score-max: clamp(340px, 28vmin, 460px);--tag-max: clamp(54px, 4.2vmin, 76px);--btn-size: clamp(54px, 4vmin, 68px);--play-size: clamp(64px, 5vmin, 78px);--btn-icon: clamp(18px, 1.6vmin, 24px);--play-icon: clamp(20px, 1.9vmin, 26px);--clr-btn-size: clamp(36px, 2.4vmin, 46px)}}@media(min-width:2560px){:root{--timer-max: clamp(260px, 17vmin, 360px);--score-max: clamp(440px, 30vmin, 600px);--tag-max: clamp(68px, 4.8vmin, 96px);--btn-size: clamp(68px, 3.8vmin, 84px);--play-size: clamp(78px, 4.6vmin, 98px);--btn-icon: clamp(24px, 1.5vmin, 30px);--play-icon: clamp(26px, 1.8vmin, 34px);--clr-btn-size: clamp(46px, 2.4vmin, 58px)}}html,body{touch-action:manipulation}body{background:var(--bg);font-family:Barlow Condensed,sans-serif}.app{opacity:0;flex-direction:column;width:100%;height:100vh;height:var(--vh-100-safe, 100vh);transition:opacity .15s;display:flex;overflow:hidden}.app.ready{opacity:1}.stage{flex:1;align-items:stretch;min-height:0;display:flex;position:relative;overflow:hidden}.stage-bg-left,.stage-bg-right{z-index:0;transition:background .45s;position:absolute;inset:0}.stage-bg-left{clip-path:polygon(0 0,calc(50% + 11vw) 0,calc(50% - 7vw) 100%,0 100%);background:#1a56db}.stage-bg-right{clip-path:polygon(calc(50% + 7vw) 0,100% 0,100% 100%,calc(50% - 11vw) 100%);background:#c81515}.stage-hud{z-index:20;pointer-events:none;position:absolute;top:clamp(14px,2.5vmin,28px);left:50%;transform:translate(-50%)}.hud-timer-block{pointer-events:all;white-space:nowrap;flex-direction:column;align-items:center;padding:clamp(4px,.8vmin,8px) clamp(16px,3vmin,36px) clamp(8px,1.2vmin,14px);display:flex;position:relative}#time{font-family:Teko,sans-serif;font-weight:700;font-size:var(--timer-fs);letter-spacing:.04em;color:var(--text);white-space:nowrap;text-shadow:0 3px #00000059,0 6px 30px #0009;text-align:center;justify-content:center;align-items:baseline;transition:color .3s;display:flex}.hub-digit{width:var(--hub-digit-w);text-align:center;display:inline-block}.hub-sep{width:var(--hub-sep-w);text-align:center;display:inline-block}#time.warning{color:var(--accent);text-shadow:0 0 32px rgba(var(--accent-rgb),.6),0 3px 0 #00000059}#time.danger{color:var(--red);text-shadow:0 0 32px #e83030a6,0 3px #00000059;animation:.45s infinite alternate pulse}#time.done{color:#ffffff38;text-shadow:none;animation:none}.stage-controls-bar{z-index:20;pointer-events:all;white-space:nowrap;align-items:center;gap:clamp(6px,1.8vmin,24px);display:flex;position:absolute;bottom:max(clamp(12px,2.5vmin,28px),env(safe-area-inset-bottom,12px));left:50%;transform:translate(-50%)}.bar-btn-center{align-items:center;gap:clamp(6px,1.8vmin,24px);display:flex}.bar-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffffa6;width:var(--btn-size);height:var(--btn-size);min-width:44px;min-height:44px;transition:var(--tr);cursor:pointer;background:0 0;border:1.5px solid #ffffff12;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 12px #0006,inset 0 1px #ffffff1f;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.bar-btn i{pointer-events:none;font-size:var(--btn-icon)}.bar-btn:hover{color:#fff;border-color:#ffffff8c;transform:scale(1.08)}.bar-btn:active{transform:scale(.88)}.bar-btn:focus-visible{outline:2px solid var(--accent, #ffd43b);outline-offset:3px}.bar-btn-play{background:var(--accent);color:#000;width:var(--play-size);height:var(--play-size);min-width:48px;min-height:48px;box-shadow:0 4px 20px rgba(var(--accent-rgb),.55),inset 0 1px #ffffff59;border:1.5px solid #ffffff12}.bar-btn-play i{font-size:var(--play-icon)}.bar-btn-play:hover{filter:brightness(1.1);color:#000;transform:scale(1.08)}.bar-btn-play.is-running{color:#ffffffd9;background:#ffffff1a;border:1.5px solid #ffffff52;box-shadow:0 2px 12px #0006}.bar-btn-play.is-running:hover{color:#fff;filter:none;background:#fff3}.bar-btn-play.is-paused{background:var(--accent);color:#000;box-shadow:0 4px 20px rgba(var(--accent-rgb),.55),inset 0 1px #ffffff59;border:1.5px solid #ffffff12}.bar-btn-reset{color:#ffffffa6;border-color:#ffffff12}.bar-btn-reset:hover{color:var(--red);background:#ff3c3c24;border-color:#ff3c3c99}.teams-wrapper{z-index:3;pointer-events:none;align-items:stretch;display:flex;position:absolute;inset:0}.team-card{pointer-events:all;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(4px,1.2vmin,14px);min-width:0;padding:clamp(52px,10vmin,130px) clamp(8px,1.5vmin,24px) clamp(10px,2vmin,28px);display:flex;position:relative}.team-name-label{font-family:Barlow Condensed,sans-serif;font-size:var(--tag-fs);letter-spacing:.18em;text-transform:uppercase;color:#ffffffd9;text-shadow:0 1px 8px #00000080;text-align:center;justify-content:center;align-items:center;gap:8px;max-width:88%;min-width:0;font-weight:700;display:flex}.team-name-label>span{display:inline-block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-wrap:balance;line-height:1.15}.team-score-area{justify-content:center;align-items:center;gap:clamp(8px,1.8vmin,24px);width:100%;margin-top:clamp(6px,2vmin,30px);display:flex;min-width:0}.team-score{font-family:Teko,sans-serif;font-weight:700;font-size:var(--score-fs);color:var(--text);text-shadow:0 6px #0000002e,0 8px 32px #00000073;-webkit-user-select:none;user-select:none;text-align:center;font-variant-numeric:tabular-nums;min-width:2.4ch;line-height:.85}.team-score.scored{animation:.45s cubic-bezier(.34,1.56,.64,1) forwards scorePop}.team-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(44px,6.5vmin,76px);height:clamp(44px,6.5vmin,76px);min-width:44px;min-height:44px;padding:0;transition:transform .1s;display:flex;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.team-btn i{color:#ffffffb3;pointer-events:none;transition:color var(--tr),transform .1s;font-size:clamp(34px,7.2vmin,86px)}.team-btn:hover i{color:var(--text);transform:scale(1.12)}.team-btn:active{transform:scale(.84)}.team-btn:focus-visible{outline:2px solid var(--accent, #ffd43b);outline-offset:2px}.card-color-btn{z-index:5;width:var(--clr-btn-size);height:var(--clr-btn-size);background:var(--team-clr, #2563eb);cursor:pointer;touch-action:none;border:2px solid #ffffff4d;border-radius:8px;outline:none;justify-content:center;align-items:center;transition:border-color .15s,transform .12s,box-shadow .15s;display:flex;position:absolute;box-shadow:0 2px 8px #00000059}.card-color-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}.card-color-btn:after{content:"";border-radius:9px;transition:box-shadow .15s;position:absolute;inset:-2px;box-shadow:0 0 #fff6}.card-color-btn:before{content:"";position:absolute;inset:calc((var(--clr-btn-size) - 44px) / 2)}.card-color-btn:hover{border-color:#ffffffbf;transform:scale(1.1);box-shadow:0 3px 14px #00000080}.card-color-btn:hover:after{box-shadow:0 0 0 3px #ffffff26}.card-color-btn:active{transform:scale(.94)}.card-color-btn--tr{top:var(--clr-btn-pos);right:var(--clr-btn-pos)}.card-color-btn--bl{bottom:var(--clr-btn-pos);left:var(--clr-btn-pos)}.card-color-btn--br{bottom:var(--clr-btn-pos);right:var(--clr-btn-pos)}.card-color-picker{z-index:20;background:#030a16f7;border:1px solid #ffffff24;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 12px;animation:.14s cubic-bezier(.34,1.5,.64,1) popIn;display:grid;position:absolute;box-shadow:0 8px 32px #000000d9}.card-color-picker--bl,.card-color-picker--br{bottom:calc(var(--clr-btn-size) + var(--clr-btn-pos) + 6px)}.card-color-picker--bl{left:var(--clr-btn-pos)}.card-color-picker--br{right:var(--clr-btn-pos)}.card-color-picker--tr{top:calc(var(--clr-btn-size) + var(--clr-btn-pos) + 6px);right:var(--clr-btn-pos)}@media(max-width:374px){.card-color-picker{grid-template-columns:repeat(3,1fr);max-width:calc(100vw - 16px);padding:8px 10px;gap:5px}}.card-picker-swatch{cursor:pointer;outline:none;width:clamp(28px,4vmin,34px);height:clamp(28px,4vmin,34px);min-width:28px;min-height:28px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.card-picker-swatch:focus-visible{outline:2px solid #fff;outline-offset:2px}#introOverlay{z-index:100;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030a16ed;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}#introOverlay.visible{opacity:1;pointer-events:all}#introOverlay:not(.visible) #introRing{opacity:0!important;animation:none!important}#introRing{pointer-events:none;border:2px solid #ffffff26;border-radius:50%;width:clamp(180px,30vmin,460px);height:clamp(180px,30vmin,460px);position:absolute}#introRing.spin{animation:.9s ease-out forwards ringExpandFade}#introNumber{color:var(--accent);opacity:0;text-shadow:0 0 100px #ffd43b59;font-family:Teko,sans-serif;font-size:clamp(110px,26vmin,440px);font-weight:700;line-height:1}#introNumber.pop{animation:.85s cubic-bezier(.16,1,.3,1) forwards introPop}#introNumber.go{color:#fff;text-shadow:0 0 80px #fff3;animation:.85s cubic-bezier(.16,1,.3,1) forwards introPop}#drawer .tm-teams-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;background:transparent;border:none;border-radius:0;padding:0}#drawer .tm-team-row{display:flex;align-items:center;gap:10px;padding:6px 10px;min-height:42px;box-sizing:border-box;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;flex-shrink:0;position:relative;transition:all .15s ease}#drawer .tm-team-row:hover{background:#ffffff0f;border-color:#ffffff1f}#drawer .tm-color-btn{width:28px;height:28px;min-width:28px;min-height:28px}.tm-team-name-input{flex:1;min-width:0;padding:4px 2px;color:#fff;background:transparent;border:none;border-bottom:1px solid transparent;border-radius:0;outline:none;font-size:14.5px;font-weight:500;transition:border-color .15s}.tm-team-name-input:focus{border-bottom-color:#ffd43b}.tm-team-name-input::placeholder{color:#ffffff61}.drawer .tm-time-steppers{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.drawer .tm-time-sep{font-family:Bebas Neue,sans-serif!important;font-size:20px;font-weight:400;color:#fff6;-webkit-user-select:none;user-select:none;line-height:1;margin:0 1px}.drawer .am-stepper{transition:background .15s ease,border-color .15s ease}.drawer .am-stepper-btn{font-size:11px}.drawer .am-stepper-btn:hover{color:var(--accent, #ffd43b);background:#ffd43b1f}.drawer .am-stepper-btn:active{background:#ffd43b38;color:#fff}.drawer .tm-time-steppers .am-stepper-display{width:34px;min-width:34px}@keyframes pulse{0%{opacity:1}to{opacity:.35}}@keyframes scorePop{0%{color:var(--flash-color, #fff);text-shadow:0 0 60px var(--flash-color, #fff);transform:scale(1.3)}55%{transform:scale(.94)}to{color:#fff;transform:scale(1)}}@keyframes introPop{0%{opacity:0;transform:scale(.4)}45%{opacity:1;transform:scale(1.05)}70%{opacity:1;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes ringExpandFade{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(orientation:portrait){.stage-bg-left{clip-path:polygon(0 0,100% 0,100% var(--portrait-split),0 var(--portrait-split))}.stage-bg-right{clip-path:polygon(0 var(--portrait-split),100% var(--portrait-split),100% 100%,0 100%)}.stage-hud{top:var(--portrait-split);left:50%;transform:translate(-50%,-50%)}.teams-wrapper{flex-direction:column}.team-card{flex-direction:column;flex:1;justify-content:center;gap:clamp(4px,1vmin,12px);padding:0 clamp(8px,1.8vmin,22px)}.team-card.team-left{padding-top:clamp(8px,1.8vmin,20px);padding-bottom:clamp(36px,7vmin,60px)}.team-card.team-right{padding-top:clamp(36px,7vmin,60px);padding-bottom:calc(var(--controls-total-h, 76px) + clamp(4px,1vmin,12px))}.team-score-area{justify-content:center;margin-top:clamp(4px,1.8vmin,18px)}:root{--score-min: clamp(48px, 18vw, 80px);--score-fluid: 26vw;--score-max: 160px;--score-fs: clamp(var(--score-min), var(--score-fluid), var(--score-max));--timer-min: clamp(38px, 9vmin, 46px);--timer-fluid: 11vmin;--timer-max: 92px;--timer-fs: clamp(var(--timer-min), var(--timer-fluid), var(--timer-max));--tag-min: 15px;--tag-fluid: 4vmin;--tag-max: 30px}}@media(orientation:landscape)and (max-height:520px){:root{--timer-min: 44px;--timer-fluid: 14vh;--timer-max: 76px;--score-min: 44px;--score-fluid: 20vh;--score-max: 104px;--tag-min: 13px;--tag-fluid: 3.5vh;--tag-max: 18px;--btn-size: 44px;--play-size: 46px;--btn-icon: 13px;--play-icon: 15px;--clr-btn-size: 26px;--clr-btn-pos: 8px}.stage-hud{top:clamp(4px,1.2vh,10px)}.hud-timer-block{padding:2px 14px 4px}.team-card{padding:clamp(28px,7vh,48px) clamp(6px,1.2vw,14px) 8px}.team-score-area{margin-top:clamp(2px,1vh,8px);gap:6px}.team-btn{width:44px;height:44px;min-width:44px;min-height:44px}.team-btn i{font-size:28px}.stage-controls-bar{bottom:max(6px,env(safe-area-inset-bottom,6px));gap:8px}}@media(max-width:340px),(max-height:400px){.hud-timer-block{padding:clamp(2px,.6vmin,6px) clamp(10px,2vmin,20px) clamp(4px,.8vmin,8px)}}
