:root{--bg:#e8f2ef;--ink:#102320;--muted:#5d726d;--panel:#fbfdf8;--panel-strong:#fff;--lakeball-blue:#009cde;--lakeball-green:#44d62c;--water:#126b7a;--water-dark:#0a4652;--scoreboard-gray:#3d3d40;--scoreboard-gray-dark:#252528;--pine:#174a3a;--sun:#f3b653;--clay:#c85f45;--line:#10232021;--shadow:0 22px 55px #1023202b;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 25% 0,#f3b6533b,#0000 28rem),linear-gradient(150deg,#f6fbf7 0%,#d7ece9 48%,#b9d7d0 100%);min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #f3b653e6}.app-shell{width:min(100%,520px);min-height:100svh;padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.top-panel,.team-card,.controls,.new-game-area{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfdf8d4}.top-panel{border-radius:8px;padding:18px}.brand-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-logo{object-fit:contain;width:min(68vw,335px);height:auto;max-height:112px;display:block}.mode-pill{color:#fff;background:linear-gradient(180deg, var(--scoreboard-gray), var(--scoreboard-gray-dark));text-align:center;border-radius:999px;flex:none;min-width:98px;padding:9px 12px;font-size:.82rem;font-weight:800}.mode-overtime{background:var(--clay)}.mode-gameOver{color:#061006;background:linear-gradient(135deg, #009cde2e, transparent 52%), linear-gradient(180deg, #66f24f 0%, var(--lakeball-green) 100%);border:1px solid #ffffff40;box-shadow:0 8px 18px #44d62c3d}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.status-item{background:#126b7a14;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:70px;padding:10px;display:flex}.status-item span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.status-item strong{overflow-wrap:anywhere;min-width:0;font-size:1rem;line-height:1.05;display:block}.winner-banner{color:#061006;background:linear-gradient(135deg, #009cde2e, transparent 52%), linear-gradient(180deg, #66f24f 0%, var(--lakeball-green) 100%);text-align:center;border:1px solid #ffffff40;border-radius:8px;margin-top:14px;padding:14px;font-size:1.35rem;font-weight:900;box-shadow:0 8px 18px #44d62c47}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.score-detail{border:1px solid var(--line);background:#fbfdf8bd;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.score-detail span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.score-detail strong{overflow-wrap:anywhere;text-align:right;min-width:0;font-size:.95rem}.team-card{border-radius:8px;min-height:196px;padding:14px;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.team-card:before{content:"";background:0 0;height:7px;position:absolute;inset:0 0 auto}.team-card.is-shooter{border-color:#44d62c8f;transform:translateY(-2px)}.team-card.is-shooter:before{background:linear-gradient(90deg, #78ea66, var(--lakeball-green))}.team-card.is-defense:before{background:linear-gradient(90deg, var(--scoreboard-gray), var(--scoreboard-gray-dark))}.team-card.is-defense{border-color:#3d3d40c7}.team-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.team-card input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:3px 0;font-size:1.05rem;font-weight:900}.team-card input:focus{border-bottom-color:var(--water)}.team-card-top label{min-width:0}.team-card-top span{color:var(--water-dark);text-transform:uppercase;background:#126b7a17;border-radius:999px;flex:none;padding:5px 8px;font-size:.68rem;font-weight:900}.team-card.is-defense .team-card-top span{color:var(--scoreboard-gray-dark);background:#3d3d401a;border:1px solid #3d3d4057}.team-card.is-shooter .team-card-top span{color:#218915;background:#44d62c21;border:1px solid #44d62c9e}.score-line{align-items:center;gap:8px;min-height:96px;margin-top:18px;display:flex}.score{letter-spacing:0;font-size:5.4rem;line-height:.92;display:block}.shot-indicators{flex:none;align-items:center;gap:4px;display:flex}.ball-indicator{object-fit:contain;filter:drop-shadow(0 5px 10px #126b7a47);border-radius:50%;width:34px;height:34px}.card-popup-slot{justify-content:center;align-items:flex-start;min-height:42px;margin-top:6px;display:flex}.card-popup{color:#fff;background:var(--water-dark);text-align:center;border-radius:8px;max-width:100%;padding:8px 10px;font-size:.86rem;font-weight:950;line-height:1.05;animation:.18s both card-popup-in;box-shadow:0 10px 24px #051f242e}.card-popup.toast-doubleAirball{background:var(--clay)}.team-card small{color:var(--muted);margin-top:8px;font-weight:800;display:block}.controls{border-radius:8px;padding:12px}.button-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.button-row+.button-row{margin-top:8px}.score-button,.new-game-button,.reset-confirm button{cursor:pointer;letter-spacing:0;border:0;border-radius:8px;min-height:62px;font-weight:900;transition:transform .12s,filter .12s,opacity .12s}.score-button{color:#fff;background:linear-gradient(180deg, #18b8f2 0%, var(--lakeball-blue) 58%, #007fb6 100%);border:1px solid #ffffff2e;box-shadow:inset 0 -3px #0000002e,0 8px 18px #009cde38}.score-button.quiet{color:var(--ink);box-shadow:none;background:#e4ece7;border:0}.score-button:active,.new-game-button:active,.reset-confirm button:active{transform:translateY(1px)scale(.99)}.score-button:not(.quiet):active{box-shadow:inset 0 -2px #0003,0 0 0 3px #44d62c38}.score-button:disabled{cursor:not-allowed;filter:grayscale(.4);opacity:.45}.new-game-area{border-radius:8px;padding:12px}.new-game-button{color:#fff;background:linear-gradient(180deg, var(--scoreboard-gray), var(--scoreboard-gray-dark));width:100%}.reset-confirm{grid-template-columns:1fr 72px 72px;align-items:center;gap:8px;display:grid}.reset-confirm span{font-weight:900}.reset-confirm button{color:#fff;background:var(--clay);min-height:48px}.reset-confirm button:last-child{color:var(--ink);background:#dfe8e2}.toast{z-index:10;color:#061006;background:linear-gradient(180deg, #66f24f 0%, var(--lakeball-green) 100%);text-align:center;border:1px solid #ffffff40;border-radius:8px;width:min(100% - 40px,340px);padding:18px 20px;font-size:1.16rem;font-weight:950;animation:.18s both toast-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 70px #44d62c4d}.toast.toast-overtime,.toast.toast-sendThemBack,.toast.toast-winner,.toast.toast-rebuttal{color:#061006;background:linear-gradient(135deg, #009cde2e, transparent 52%), linear-gradient(180deg, #66f24f 0%, var(--lakeball-green) 100%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,calc(14px - 50%))scale(.97)}}@keyframes card-popup-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}@media (width>=760px){.app-shell{padding-top:28px}}@media (width<=430px){.brand-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.app-logo{width:100%;min-width:0;max-width:100%}.mode-pill{white-space:nowrap;min-width:0;max-width:100%;padding:8px 10px;font-size:.76rem}.score-grid,.team-card,.team-card-top,.team-card-top label,.score-line{min-width:0}.team-card-top{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.team-card-top label{width:100%}.team-card-top>span{justify-self:start}.score-line{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:118px;margin-top:10px}.shot-indicators{flex-wrap:wrap;max-width:100%}.ball-indicator{width:28px;height:28px}}@media (width<=380px){.app-shell{gap:10px;padding-inline:10px}.app-logo{max-height:88px}.top-panel{padding:14px}.status-grid{gap:6px}.status-item{min-height:64px;padding:8px}.score{font-size:4.45rem}.score-line{min-height:110px}.ball-indicator{width:26px;height:26px}.score-button{min-height:58px;font-size:.9rem}}
