.tool-hero{background:linear-gradient(135deg,#273b68,#614b80);color:#fff;padding:2.4rem 0;text-align:center}
.tool-hero h1,.tool-hero p,.settings label,.how-to-section h2,.how-to-section h3,.faq-section h2,.faq-section summary,.related-tools h2,.rt-name,.rt-desc{word-break:keep-all;overflow-wrap:anywhere}
.tool-area{padding:2rem 0 3rem}.tool-container{max-width:1120px;margin:auto;padding:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 32px #0f172a15;box-sizing:border-box}
.settings{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;margin-bottom:.6rem}.settings label{display:grid;gap:.3rem;color:#334155;font-size:.86rem;font-weight:700}.settings input{width:min(100%,230px);padding:.55rem .7rem;border:1px solid #94a3b8;border-radius:8px;font-size:1rem}.settings #event-input{width:min(100%,300px)}.note{color:#64748b;font-size:.83rem;margin:.3rem 0 1rem}
.scoreboard{--blue:#56adff;--red:#ff817c;color:#f8fafc;background:radial-gradient(circle at 50% 0%,#1d3157,#101b32 40%,#070d1b);border-radius:16px;min-height:510px;padding:1.2rem 1.5rem 1rem;display:flex;flex-direction:column;box-sizing:border-box;overflow:auto;outline:none}
.board-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #ffffff2c;padding-bottom:.8rem}.board-brand{display:flex;align-items:center;gap:.7rem;font-size:1.2rem;letter-spacing:.12em}.board-mark{width:2rem;height:2rem;background:#f8fafc;color:#111e38;border-radius:7px;display:grid;place-items:center;font-weight:900}.event-name{color:#bbc9df;font-size:.94rem;overflow-wrap:anywhere;text-align:right}.fullscreen-exit{display:none!important}
.board-main{display:grid;grid-template-columns:minmax(0,1fr) 3.5rem minmax(0,1fr);gap:.75rem;flex:1;align-items:stretch;padding:1rem 0;min-height:0}.team{border:1px solid #ffffff33;border-top:6px solid var(--blue);border-radius:18px;background:linear-gradient(180deg,#1a2c4cdd,#111c32ee);min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:1rem .3rem 1.4rem;box-shadow:0 12px 30px #0005}.team-b{border-top-color:var(--red);background:linear-gradient(180deg,#35253bdd,#1b1b32ee)}.team h2{font-size:clamp(1rem,2.5vw,2.2rem);font-weight:900;line-height:1.25;text-align:center;margin:.4rem 0 .5rem;padding:0 .5rem;overflow-wrap:anywhere;max-width:100%}.versus{display:grid;place-items:center;font-size:clamp(1.1rem,3vw,2.5rem);font-weight:900;color:#d7e2f0}
.score{display:flex;justify-content:center;align-items:center;gap:2px;width:100%;flex:1;font-variant-numeric:tabular-nums}.digit{position:relative;display:grid;place-items:center;flex:0 1 28%;max-width:130px;height:clamp(110px,17vw,205px);background:linear-gradient(#283953 0%,#26364c 49%,#17253b 50%,#1c2b43 100%);border:1px solid #ffffff35;border-radius:12px;box-shadow:0 12px 22px #0007,inset 0 2px 2px #ffffff18;font:900 clamp(5rem,13vw,10.5rem)/1 Arial,sans-serif;letter-spacing:-.08em;transform-style:preserve-3d;backface-visibility:hidden}.team-b .digit{background:linear-gradient(#4a3446 0%,#433242 49%,#2c2538 50%,#33293d 100%)}.digit::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#050b18aa;pointer-events:none}.digit.flip{animation:flip-in .34s ease-out both}@keyframes flip-in{0%{transform:perspective(500px) rotateX(-78deg);opacity:.45}58%{transform:perspective(500px) rotateX(12deg);opacity:1}100%{transform:perspective(500px) rotateX(0)}}
.board-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid #ffffff2c;padding-top:.75rem}.board-controls{display:flex;gap:.8rem;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:.35rem}.control-label{color:#bbcadf;font-size:.78rem;white-space:nowrap}.control-label::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--blue);margin-right:.25rem}.dot-b::before{background:var(--red)}.board-button{border:1px solid #ffffff4d;background:#ffffff1b;color:#f8fafc;border-radius:9px;min-width:3.5rem;min-height:2.5rem;padding:.3rem .6rem;font-size:.95rem;font-weight:800;cursor:pointer}.board-button.add{background:#f4f7fc;color:#142440;border-color:transparent}.board-button:hover{background:#ffffff35}.board-button.add:hover{background:#dbeafe}.board-button:focus-visible,.outer-controls button:focus-visible{outline:3px solid #fde047;outline-offset:2px}.key-hint{color:#91a7c5;font-size:.75rem;white-space:nowrap}
.outer-controls{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.outer-controls .tool-btn{font-size:.95rem}.outer-controls .tool-btn-primary:hover{color:#fff}.outer-controls button:disabled{opacity:.45}.outer-controls button.armed{color:#fff;background:#b91c1c;border-color:#b91c1c}.restore-message{margin:1rem 0 0;color:#065f46;background:#ecfdf5;padding:.6rem .8rem;border-radius:8px}.restore-message[hidden]{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scoreboard:fullscreen,.scoreboard.presenting{border-radius:0;width:100vw;height:100vh;padding:3vh 3vw;overflow:auto}.scoreboard.presenting{position:fixed;inset:0;z-index:1000}.scoreboard:fullscreen .board-main,.scoreboard.presenting .board-main{grid-template-columns:minmax(0,1fr) 8vw minmax(0,1fr);gap:1.4vw;padding:2vh 0}.scoreboard:fullscreen .team,.scoreboard.presenting .team{border-radius:28px;border-top-width:12px}.scoreboard:fullscreen .team h2,.scoreboard.presenting .team h2{font-size:clamp(2rem,4vw,5rem)}.scoreboard:fullscreen .digit,.scoreboard.presenting .digit{max-width:none;height:min(44vh,22vw);font-size:min(35vh,18vw);border-radius:20px}.scoreboard:fullscreen .board-brand,.scoreboard.presenting .board-brand{font-size:clamp(1.5rem,2vw,2.7rem)}.scoreboard:fullscreen .event-name,.scoreboard.presenting .event-name{font-size:clamp(1rem,1.5vw,2rem)}.scoreboard:fullscreen .versus,.scoreboard.presenting .versus{font-size:clamp(2rem,4vw,5rem)}.scoreboard:fullscreen .board-button,.scoreboard.presenting .board-button{font-size:1.3rem;min-width:4rem;min-height:3rem}.scoreboard:fullscreen .control-label,.scoreboard.presenting .control-label{font-size:1rem}.scoreboard:fullscreen .fullscreen-exit,.scoreboard.presenting .fullscreen-exit{display:inline-block!important}.scoreboard:fullscreen .key-hint,.scoreboard.presenting .key-hint{display:none}
.score[data-digits="3"] .digit{font-size:clamp(3.5rem,8vw,7rem)}.scoreboard:fullscreen .score[data-digits="3"] .digit,.scoreboard.presenting .score[data-digits="3"] .digit{font-size:min(26vh,12vw)}
@media(max-width:760px){.tool-area{padding:1rem 0 2rem}.tool-container{padding:.6rem}.settings{gap:.5rem}.settings label{flex:1 1 42%}.settings input,.settings #event-input{width:100%;box-sizing:border-box}.scoreboard{min-height:490px;padding:.7rem}.board-brand{font-size:.85rem}.event-name{font-size:.76rem}.board-main{grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr);gap:.2rem}.team{padding:.5rem .1rem 1rem}.team h2{font-size:clamp(.9rem,4vw,1.3rem)}.digit{height:clamp(90px,21vw,135px);font-size:clamp(4rem,17vw,7rem);border-radius:8px}.versus{font-size:1rem}.board-footer{align-items:stretch}.board-controls{width:100%;justify-content:space-evenly;gap:.3rem}.control-group{flex-wrap:wrap;justify-content:center}.control-label{width:100%;text-align:center}.board-button{min-width:2.8rem;min-height:2.8rem}.key-hint{display:none}}
@media(orientation:portrait){.scoreboard:fullscreen .board-main,.scoreboard.presenting .board-main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 1.5rem minmax(0,1fr);padding:1vh 0}.scoreboard:fullscreen .team,.scoreboard.presenting .team{padding:.4rem}.scoreboard:fullscreen .team h2,.scoreboard.presenting .team h2{font-size:clamp(1.4rem,5vw,2.3rem)}.scoreboard:fullscreen .digit,.scoreboard.presenting .digit{height:min(19vh,27vw);font-size:min(17vh,23vw)}.scoreboard:fullscreen .versus,.scoreboard.presenting .versus{font-size:1.3rem}.scoreboard:fullscreen .board-header,.scoreboard.presenting .board-header{padding-bottom:.2rem}.scoreboard:fullscreen .board-footer,.scoreboard.presenting .board-footer{padding-top:.2rem}}
@media(prefers-reduced-motion:reduce){.digit.flip{animation:none}}
.tool-hero h1,.team h2{color:#f8fafc}
.team h2{box-sizing:border-box;width:fit-content;max-width:100%;padding:.35rem .8rem;background:#f8fafc;color:#102238;border:1px solid #fff;border-left:.35rem solid var(--blue);border-radius:10px;box-shadow:0 1px 3px #0004}
.team-b h2{border-left-color:var(--red)}
