:root{color:#f7f7f8;font-synthesis:none;text-rendering:optimizelegibility;--brand-red:#d11010;--brand-red-dark:#930b0d;--brand-red-light:#ff373d;--score-red:#ff3444;--score-green:#3de27e;--background:#090a0c;--surface:#111318;--surface-elevated:#181b21;--surface-soft:#20242b;--text-primary:#f8f8f9;--text-secondary:#989da7;--border-subtle:#ffffff16;--shadow-elevated:0 24px 60px #00000070;background:#090a0c;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--background);min-width:320px;min-height:100%;margin:0}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;min-height:100dvh;overflow-x:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0}button:focus-visible,input:focus-visible{outline:2px solid var(--brand-red-light);outline-offset:3px}button:disabled{cursor:not-allowed}.scoreboard{isolation:isolate;width:min(100%,1100px);min-height:100dvh;padding:calc(env(safe-area-inset-top) + .8rem) .85rem calc(env(safe-area-inset-bottom) + .8rem);background:radial-gradient(circle at 50% -12%, #d70d1621, transparent 34rem), linear-gradient(180deg, #0d0f12 0%, var(--background) 46%);grid-template-rows:auto auto 1fr auto auto;gap:clamp(.65rem,2vh,1.1rem);margin:0 auto;display:grid;position:relative;overflow:hidden}.scoreboard:after{content:"";z-index:-1;opacity:.018;pointer-events:none;background:url(/branding/hfcl-logo.png) 50%/contain no-repeat;position:absolute;inset:28% 30% 18%}.app-header{justify-content:space-between;align-items:center;min-height:3rem;display:flex;position:relative}.club-lockup,.header-actions,.sheet-heading,.club-wordmark{align-items:center;display:flex}.club-lockup{gap:.75rem}.club-logo{background:#fff;border:1px solid #ee1e26b8;border-radius:.85rem;place-items:center;width:3.15rem;height:3.15rem;display:grid;overflow:hidden;box-shadow:0 8px 24px #00000057,0 0 0 3px #d70d161a}.club-logo img{object-fit:contain;width:84%;height:92%}.club-wordmark{flex-direction:column;align-items:flex-start;line-height:1}.club-wordmark strong{letter-spacing:.13em;font-size:1rem}.club-wordmark small{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin-top:.3rem;font-size:.68rem;font-weight:650}.header-actions{gap:.4rem}.icon-button{border:1px solid var(--border-subtle);background:#ffffff0a;border-radius:.85rem;place-items:center;width:2.75rem;height:2.75rem;display:grid}.icon-button:hover{background:#ffffff14}.header-more{display:none}.more-menu{z-index:20;border:1px solid var(--border-subtle);min-width:12rem;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#181b21f7;border-radius:1rem;padding:.35rem;display:grid;position:absolute;top:3.3rem;right:0}.more-menu button{text-align:left;background:0 0;border-radius:.7rem;align-items:center;gap:.7rem;min-height:2.8rem;padding:0 .8rem;font-size:.9rem;display:flex}.timer-zone{justify-items:center;display:grid}.timer-status{min-height:1.1rem;color:var(--text-secondary);letter-spacing:.14em;align-items:center;gap:.45rem;font-size:.68rem;font-weight:750;display:flex}.running-dot{background:#555b65;border-radius:50%;width:.42rem;height:.42rem}.is-running .running-dot{background:var(--brand-red-light);animation:1.6s infinite status-pulse;box-shadow:0 0 #ff374066}.timer-display{min-width:7ch;color:var(--text-primary);letter-spacing:-.055em;font-variant-numeric:tabular-nums;background:0 0;padding:0;font-size:clamp(3.55rem,18vw,6rem);font-weight:760;line-height:.96}.timer-presets{border:1px solid var(--border-subtle);background:#ffffff06;border-radius:.8rem;gap:.35rem;margin-top:.55rem;padding:.25rem;display:flex}.timer-presets button{min-width:3.7rem;min-height:2.1rem;color:var(--text-secondary);background:0 0;border-radius:.6rem;padding:0 .65rem;font-size:.78rem;font-weight:750}.timer-presets button.is-active{background:var(--surface-soft);color:var(--text-primary)}.bout-board{grid-template-columns:minmax(0,1fr) 3.6rem minmax(0,1fr);gap:.45rem;min-height:0;display:grid}.fencer{border:1px solid var(--border-subtle);background:linear-gradient(#ffffff0c,#ffffff05);border-radius:1.35rem;grid-template-rows:auto 1fr auto auto;min-width:0;min-height:17rem;padding:.85rem .7rem .72rem;display:grid;position:relative;overflow:hidden}.fencer:before{content:"";border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:14%;right:14%}.fencer--left:before{background:var(--score-red);box-shadow:0 0 14px #ff344473}.fencer--right:before{background:var(--score-green);box-shadow:0 0 14px #3de27e61}.fencer__identity{justify-items:center;display:grid}.fencer__side{color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;font-size:.67rem;font-weight:750}.fencer__name{width:100%;min-height:2rem;color:var(--text-primary);letter-spacing:.045em;text-align:center;text-overflow:ellipsis;background:0 0;border:0;border-radius:.4rem;outline:0;padding:.15rem;font-size:clamp(.9rem,4vw,1.15rem);font-weight:780}.fencer__name:hover,.fencer__name:focus{background:#ffffff0e}.fencer__score{letter-spacing:-.075em;text-align:center;font-variant-numeric:tabular-nums;align-self:center;font-size:clamp(6rem,30vw,10rem);font-weight:780;line-height:.86}.fencer--left .fencer__score{color:var(--score-red);text-shadow:0 0 34px #ff34441f}.fencer--right .fencer__score{color:var(--score-green);text-shadow:0 0 34px #3de27e1a}.score-controls{grid-template-columns:.78fr 1.22fr;gap:.42rem;display:grid}.score-button{border-radius:.9rem;min-height:3.25rem;font-size:1.8rem;font-weight:480}.score-button--minus{border:1px solid var(--border-subtle);color:var(--text-secondary);background:#ffffff0b}.score-button--minus:disabled{opacity:.3}.fencer--left .score-button--plus{background:var(--score-red);color:#170407}.fencer--right .score-button--plus{background:var(--score-green);color:#03170b}.score-button:active,.start-button:active,.double-button:active{transform:scale(.98)}.fencer__meta{justify-content:space-between;align-items:center;min-height:2.2rem;margin-top:.35rem;display:flex}.cards-button{min-height:2.3rem;color:var(--text-secondary);background:0 0;align-items:center;gap:.35rem;padding:0 .25rem;font-size:.76rem;font-weight:680;display:flex}.card-dots{gap:.18rem;min-width:.25rem;display:flex}.card-dot{border-radius:.1rem;width:.39rem;height:.74rem;display:block}.card-dot--yellow,.card-swatch--yellow{background:#f3c935}.card-dot--red,.card-swatch--red{background:#ed303a}.card-dot--black,.card-swatch--black{background:#050506;border:1px solid #51545b}.priority-pill{color:#ff8c91;background:#d70d161f;border:1px solid #d70d167a;border-radius:999px;min-width:2rem;min-height:2rem;font-size:.75rem;font-weight:850}.priority-pill span{color:var(--text-secondary)}.center-actions{align-items:center;display:grid}.double-button{border:1px solid var(--border-subtle);background:var(--surface-elevated);writing-mode:vertical-rl;border-radius:1rem;justify-items:center;gap:.12rem;min-width:3.55rem;min-height:5rem;padding:.4rem .2rem;display:grid}.double-button span{letter-spacing:.1em;font-size:.67rem;font-weight:830}.double-button small{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.55rem}.primary-controls{display:grid}.start-button{background:linear-gradient(135deg, var(--brand-red-light), var(--brand-red));color:#fff;border-radius:1.15rem;justify-content:center;align-items:center;gap:.85rem;min-height:4.25rem;padding:.65rem 1rem;transition:transform .12s,background .18s;display:flex;box-shadow:0 13px 30px #b4050e38}.start-button.is-pausing{background:var(--surface-elevated);box-shadow:none;border:1px solid #ffffff24}.start-button__icon{background:#0000002e;border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;font-size:.85rem;display:grid}.start-button>span:last-child{flex-direction:column;align-items:flex-start;display:flex}.start-button strong{letter-spacing:.11em;font-size:1rem}.start-button small{color:#ffffffab;margin-top:.15rem;font-size:.68rem;font-weight:600}.utility-bar{border:1px solid var(--border-subtle);background:#ffffff06;border-radius:1rem;grid-template-columns:repeat(4,1fr);min-height:3.35rem;display:grid;overflow:hidden}.utility-bar button{min-width:0;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;gap:.42rem;font-size:.73rem;font-weight:690;display:flex}.utility-bar button+button{border-left:1px solid var(--border-subtle)}.utility-bar button:hover{color:var(--text-primary);background:#ffffff09}.brand-rail{z-index:-1;opacity:.45;transform-origin:100% 0;color:#737780;letter-spacing:.16em;align-items:center;gap:.45rem;font-size:.58rem;font-weight:800;display:flex;position:absolute;top:5.5rem;right:0;transform:rotate(90deg)translate(100%)}.brand-rail i{background:var(--brand-red);width:2.5rem;height:1px}.sheet-backdrop,.dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#000000ad;align-items:end;animation:.16s ease-out both backdrop-in;display:grid;position:fixed;inset:0}.bottom-sheet{width:min(100%,34rem);padding:.55rem 1rem calc(env(safe-area-inset-bottom) + 1rem);box-shadow:var(--shadow-elevated);background:#17191e;border:1px solid #ffffff1a;border-bottom:0;border-radius:1.5rem 1.5rem 0 0;margin:0 auto;animation:.22s cubic-bezier(.2,.8,.2,1) both sheet-in}.sheet-handle{background:#454951;border-radius:999px;width:2.3rem;height:.25rem;margin:0 auto .8rem}.sheet-heading{justify-content:space-between;margin-bottom:1rem}.sheet-heading span{color:var(--brand-red-light);letter-spacing:.15em;font-size:.67rem;font-weight:800}.sheet-heading h2{margin:.25rem 0 0;font-size:1.28rem}.card-options{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.card-option{border:1px solid var(--border-subtle);background:#ffffff09;border-radius:1rem;justify-items:center;gap:.62rem;min-height:7.5rem;padding:1rem .5rem;display:grid}.card-option:hover{background:#fff1}.card-swatch{border-radius:.25rem;width:1.8rem;height:2.7rem;box-shadow:0 5px 12px #00000047}.card-option span{gap:.2rem;display:grid}.card-option strong{font-size:.86rem}.card-option small,.setting-row small{color:var(--text-secondary);font-size:.68rem}.sheet-secondary{width:100%;min-height:3rem;color:var(--text-secondary);background:0 0;border-radius:.85rem;margin-top:.65rem;font-size:.82rem;font-weight:720}.sheet-secondary:disabled{opacity:.35}.setting-list{gap:.35rem;display:grid}.setting-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;justify-content:space-between;align-items:center;min-height:4.25rem;padding:.75rem .3rem;display:flex;position:relative}.setting-row>span{gap:.2rem;display:grid}.setting-row strong{font-size:.91rem}.setting-row input{opacity:0;position:absolute}.switch{background:#333740;border-radius:999px;width:3rem;height:1.75rem;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:1.35rem;height:1.35rem;transition:transform .15s;position:absolute;top:.2rem;left:.2rem}.setting-row input:checked+.switch{background:var(--brand-red)}.setting-row input:checked+.switch:after{transform:translate(1.25rem)}.dialog-backdrop{place-items:center;padding:1rem}.confirm-dialog{border:1px solid var(--border-subtle);width:min(100%,24rem);box-shadow:var(--shadow-elevated);text-align:center;background:#191b20;border-radius:1.4rem;padding:1.4rem;animation:.18s ease-out both dialog-in}.confirm-dialog__mark{width:2.65rem;height:2.65rem;color:var(--brand-red-light);background:#d70d1621;border-radius:50%;place-items:center;margin:0 auto .9rem;font-weight:850;display:grid}.confirm-dialog h2{margin:0;font-size:1.25rem}.confirm-dialog p{color:var(--text-secondary);margin:.65rem auto 1.25rem;font-size:.86rem;line-height:1.55}.confirm-dialog__actions{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.button{border-radius:.85rem;min-height:3rem;font-size:.85rem;font-weight:750}.button--secondary{background:#292c33}.button--primary,.button--danger{background:var(--brand-red)}.undo-toast,.update-toast{z-index:90;right:.8rem;bottom:calc(env(safe-area-inset-bottom) + .8rem);min-height:3.4rem;box-shadow:var(--shadow-elevated);background:#1f2228f7;border:1px solid #ffffff1f;border-radius:1rem;align-items:center;gap:.65rem;padding:.5rem .5rem .5rem .9rem;animation:.18s ease-out both toast-in;display:flex;position:fixed;left:.8rem}.undo-toast>span,.update-toast>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;font-weight:680;overflow:hidden}.undo-toast button,.update-toast button{color:#ff9196;background:#d70d1626;border-radius:.7rem;align-items:center;gap:.35rem;min-height:2.45rem;padding:0 .75rem;font-size:.76rem;font-weight:800;display:flex}.undo-toast .toast-dismiss,.update-toast .toast-dismiss{color:var(--text-secondary);background:0 0;padding:0 .55rem;font-size:1.25rem}.brand-splash{z-index:200;background:radial-gradient(circle at 50% 44%,#d70d161a,#0000 25rem),#08090b;place-items:center;animation:.32s .8s both splash-out;display:grid;position:fixed;inset:0}.brand-splash__content{justify-items:center;animation:.28s cubic-bezier(.2,.8,.2,1) both reveal-logo;display:grid}.brand-splash img{object-fit:contain;width:auto;max-width:72vw;height:min(37vh,18rem)}.brand-splash p{color:#9b9ea5;letter-spacing:.25em;margin:1.25rem 0 0;font-size:.72rem;font-weight:760}@keyframes reveal-logo{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes splash-out{to{opacity:0;visibility:hidden}}@keyframes status-pulse{70%{box-shadow:0 0 0 .4rem #ff374000}to{box-shadow:0 0 #ff374000}}@keyframes backdrop-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(2rem)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}}@keyframes toast-in{0%{opacity:0;transform:translateY(.75rem)}}@media (width>=720px){.scoreboard{padding-left:1.5rem;padding-right:1.5rem}.bout-board{grid-template-columns:minmax(0,1fr) 5.2rem minmax(0,1fr);gap:.8rem}.fencer{padding:1.1rem}.double-button{writing-mode:initial;min-width:4.4rem}.utility-bar,.primary-controls{width:min(100%,42rem);margin:0 auto}}@media (width<=480px){.desktop-fullscreen,.desktop-reset{display:none!important}.utility-bar{grid-template-columns:1fr 1fr}.header-more{display:grid}.club-wordmark small,.cards-button>span:not(.card-dots){display:none}}@media (orientation:landscape) and (height<=600px){.scoreboard{width:100%;max-width:none;padding:calc(env(safe-area-inset-top) + .45rem) calc(env(safe-area-inset-right) + .7rem) calc(env(safe-area-inset-bottom) + .45rem) calc(env(safe-area-inset-left) + .7rem);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(9rem,.8fr) minmax(0,2.3fr) minmax(9rem,.8fr);gap:.55rem .8rem}.app-header{grid-area:1/1}.club-wordmark small,.header-settings,.desktop-fullscreen,.desktop-reset,.brand-rail{display:none!important}.header-more{display:grid}.timer-zone{grid-area:1/2}.timer-display{font-size:clamp(2.8rem,12vh,4.6rem)}.timer-presets{margin:0;position:absolute;top:.55rem;right:4.1rem}.bout-board{grid-area:2/1/auto/4;grid-template-columns:minmax(0,1fr) 4rem minmax(0,1fr);min-height:0}.fencer{grid-template-rows:auto 1fr auto;grid-template-columns:1fr auto;min-height:0;padding:.65rem .85rem}.fencer__identity{grid-column:1;justify-items:start}.fencer__name{text-align:left;padding-left:0}.fencer__score{grid-area:2/1/4;justify-self:center;font-size:clamp(5.8rem,31vh,9.5rem)}.score-controls{grid-area:1/2/3;grid-template-rows:1fr 1fr;grid-template-columns:3.5rem;align-self:stretch}.score-button{min-height:2.8rem}.fencer__meta{grid-area:3/2;margin:0}.cards-button>span:not(.card-dots){display:none}.center-actions{align-items:stretch}.double-button{writing-mode:vertical-rl;min-height:0}.primary-controls{grid-area:3/2}.start-button{min-height:3.45rem}.utility-bar{grid-area:3/3;grid-template-columns:1fr 1fr;align-self:stretch;min-height:3.45rem}.utility-bar button span,.utility-bar button:nth-child(n+3){display:none}.undo-toast,.update-toast{right:calc(env(safe-area-inset-right) + .65rem);bottom:calc(env(safe-area-inset-bottom) + .55rem);width:min(24rem,45vw);left:auto}.bottom-sheet{max-height:96vh}}@media (height<=760px) and (orientation:portrait){.scoreboard{gap:.5rem}.timer-display{font-size:3.7rem}.fencer{min-height:14rem}.fencer__score{font-size:clamp(5rem,25vw,7rem)}.score-button{min-height:2.85rem}.start-button{min-height:3.7rem}.utility-bar{min-height:3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.brand-splash{animation-delay:.25s!important}}
