html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#090909;font-family:Arial,Helvetica,sans-serif}body{min-height:100vh;min-height:100dvh;color:#fff;-webkit-tap-highlight-color:transparent}.scoreboard-page{min-height:100vh;min-height:100dvh;background:radial-gradient(circle at top,rgba(255,255,255,.06),transparent 30%),linear-gradient(180deg,#111,#070707);position:relative}.floating-menu{position:fixed;top:max(.9rem,env(safe-area-inset-top));right:max(.9rem,env(safe-area-inset-right));z-index:45}.menu-button{width:4rem;height:4rem;border:0;border-radius:1.25rem;background:#ffffffeb;box-shadow:0 16px 30px #00000047;display:grid;place-content:center;gap:.3rem;cursor:pointer}.menu-button span{display:block;width:1.5rem;height:.2rem;border-radius:999px;background:#476381}.menu-panel{position:absolute;top:calc(100% + .6rem);right:0;min-width:13rem;padding:.5rem;border-radius:1.1rem;background:#0f1218f5;border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 38px #00000061;backdrop-filter:blur(10px)}.menu-link{display:block;width:100%;padding:.8rem .95rem;border:0;background:transparent;color:#fff;text-align:left;text-decoration:none;font:inherit;font-weight:700;border-radius:.8rem;box-sizing:border-box}.menu-link--button{cursor:pointer}.menu-link--active{background:#ffffff1f}.loading-screen,.scoreboard-app{min-height:100vh;min-height:100dvh}.loading-screen[hidden],.scoreboard-app[hidden],.modal[hidden]{display:none!important}.loading-screen{display:grid;place-content:center;gap:.75rem;padding:2rem;text-align:center;background:#090909}.loading-brand{margin:0;font-size:.95rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9ca3af}.loading-title{margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1;color:#fff}.loading-copy{margin:0;font-size:1rem;color:#c4c9d3}.scoreboard-app{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:100vh;min-height:100dvh;overflow:hidden;background:linear-gradient(180deg,#ffffff09,#fff0),linear-gradient(180deg,#141414,#050505)}.scoreboard-board{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(92px,12vw,128px) minmax(0,1fr);gap:clamp(.35rem,.9vw,.9rem);align-items:stretch;padding:clamp(.35rem,.8vw,.7rem);overflow:hidden}.score-group,.sets-side,.control-button,.modal-button{appearance:none;border:0;cursor:pointer;font:inherit}.score-group{min-width:0;border-radius:clamp(.7rem,1.3vw,1.3rem);padding:clamp(.45rem,.9vw,.8rem);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(.28rem,.55vw,.55rem);align-items:stretch;background:linear-gradient(180deg,#ffffff14,#00000029),linear-gradient(180deg,#ffffff08,#fff0);box-shadow:inset 0 1px #ffffff0f,0 12px 24px #00000057;touch-action:manipulation;user-select:none;overflow:hidden}.score-group--home{border:1px solid rgba(255,85,85,.24)}.score-group--guest{border:1px solid rgba(86,122,255,.24)}.score-group__cards{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.22rem,.5vw,.55rem);align-items:stretch}.flip-card,.mini-flip-card{position:relative;display:grid;place-items:center;border-radius:clamp(.55rem,1vw,1rem);font-family:Arial Black,Arial,Helvetica,sans-serif;font-weight:900;text-shadow:0 3px 8px rgba(0,0,0,.3);box-shadow:inset 0 1px #ffffff29,inset 0 -8px 18px #0000002e,0 12px 20px #00000040;overflow:hidden}.flip-card:before,.mini-flip-card:before{content:"";position:absolute;inset:50% 0 auto;height:2px;background:#0000004d;transform:translateY(-1px);box-shadow:0 1px #ffffff14}.flip-card{min-height:0;aspect-ratio:.72 / 1;font-size:min(18vw,26vh)}.flip-card--home{color:#fff;background:linear-gradient(180deg,#ff5858,#ff2020 48%,#d60000)}.flip-card--guest{color:#fff;background:linear-gradient(180deg,#5d84ff,#315bff 48%,#0a35d8)}.score-group__label{display:block;text-align:center;color:#fff;font-size:clamp(.9rem,1.55vw,1.35rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sets-panel{border-radius:clamp(.7rem,1.3vw,1.3rem);padding:clamp(.4rem,.8vw,.7rem);background:linear-gradient(180deg,#ffffff14,#0003),linear-gradient(180deg,#1f1f1f,#0c0c0c);box-shadow:inset 0 1px #ffffff0f,0 12px 24px #00000052;display:grid;grid-template-rows:auto 1fr 1fr;gap:clamp(.25rem,.55vw,.45rem);align-items:stretch;border:1px solid rgba(255,255,255,.08);min-height:0;overflow:hidden}.sets-panel__title{margin:0;text-align:center;color:#d5d8df;font-size:clamp(.72rem,1vw,.95rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.sets-side{border-radius:clamp(.55rem,.9vw,.9rem);padding:clamp(.25rem,.55vw,.45rem);background:linear-gradient(180deg,#ffffff0d,#0000002e),linear-gradient(180deg,#262626,#111);display:grid;justify-items:center;align-content:center;gap:clamp(.18rem,.35vw,.28rem);touch-action:manipulation;user-select:none;min-height:0;overflow:hidden}.mini-flip-card{width:100%;aspect-ratio:1 / 1.05;color:#fff;background:linear-gradient(180deg,#2f2f2f,#171717 48%,#0d0d0d);font-size:min(5vw,10vh)}.sets-side__label{display:block;color:#d9dce2;font-size:clamp(.62rem,.85vw,.8rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.control-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:0 .6rem calc(.6rem + env(safe-area-inset-bottom)) .6rem}.control-button{min-height:clamp(2.5rem,5vh,3.2rem);border-radius:.8rem;background:linear-gradient(180deg,#ffffff12,#0000002e),linear-gradient(180deg,#242424,#111);color:#fff;font-size:clamp(.82rem,1.15vw,1rem);font-weight:800;letter-spacing:.05em;text-transform:uppercase;box-shadow:inset 0 1px #ffffff0f,0 8px 16px #00000047}.control-button:disabled{opacity:.45;cursor:default}.control-button--danger{background:linear-gradient(180deg,#ffffff17,#00000029),linear-gradient(180deg,#7c1313,#4e0707)}.portrait-overlay{display:none}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#000000a3;backdrop-filter:blur(10px)}.modal__card{width:min(560px,100%);border-radius:1.35rem;padding:1.2rem;background:linear-gradient(180deg,#ffffff14,#0000002e),linear-gradient(180deg,#252525,#111);border:1px solid rgba(255,255,255,.09);box-shadow:0 30px 50px #0006}.modal__eyebrow{margin:0 0 .4rem;color:#abb2bf;font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.modal__title{margin:0;color:#fff;font-size:clamp(1.5rem,3vw,2rem);line-height:1.1}.modal__copy{margin:.7rem 0 0;color:#c4c9d3;font-size:1rem;line-height:1.5}.field{display:grid;gap:.4rem;margin-top:1rem}.field__label{color:#d7dbe3;font-size:.95rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.field__input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:.9rem;padding:.9rem 1rem;background:#ffffff0f;color:#fff;font:inherit;font-size:1.05rem;text-transform:uppercase;box-sizing:border-box}.modal__actions,.reset-options{display:grid;gap:.75rem;margin-top:1rem}.reset-options{grid-template-columns:repeat(3,minmax(0,1fr))}.modal__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.modal__actions--single{grid-template-columns:1fr}.modal-button{min-height:3.2rem;border-radius:.95rem;background:linear-gradient(180deg,#ffffff14,#00000024),linear-gradient(180deg,#2e2e2e,#171717);color:#fff;font-size:1rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.modal-button--soft{background:linear-gradient(180deg,#ffffff14,#00000024),linear-gradient(180deg,#3b3b3b,#1e1e1e)}.modal-button--danger{background:linear-gradient(180deg,#ffffff17,#00000024),linear-gradient(180deg,#8a1616,#5b0909)}@media(orientation:portrait){.portrait-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#000000b8;backdrop-filter:blur(8px)}.portrait-overlay__card{width:min(400px,100%);border-radius:1.2rem;padding:1.2rem;background:linear-gradient(180deg,#ffffff14,#0000002e),linear-gradient(180deg,#242424,#111);border:1px solid rgba(255,255,255,.08);text-align:center}.portrait-overlay__eyebrow{margin:0 0 .35rem;color:#aab1bd;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portrait-overlay__title{margin:0;color:#fff;font-size:1.6rem;line-height:1.1}.portrait-overlay__copy{margin:.7rem 0 0;color:#c6cbd4;font-size:1rem}}
