:root{--bg:#f5f7f6;--surface:#fff;--ink:#202b28;--muted:#52625b;--accent:#246b53;--soft:#eaf3ee;--line:#dce3de;--control:#7c8982;--red:#a33932;--on-accent:#fff;--warning-bg:#fff4f2;--warning-line:#ddbbb6;--track:#e3e9e5;--toast-bg:#202b28;--toast-text:#fff;--device-shadow:0 16px 40px #202b2814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#111714;--surface:#19221d;--ink:#e8f0eb;--muted:#95a79e;--accent:#4ec994;--soft:#1f3629;--line:#2b3b32;--control:#495e52;--red:#f87171;--on-accent:#0b1c14;--warning-bg:#2d1c1a;--warning-line:#7c3730;--track:#2b3b32;--toast-bg:#e8f0eb;--toast-text:#111714;--device-shadow:0 20px 50px #000000a6,0 0 0 1px #ffffff12;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .2s,color .2s}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.65}a{color:var(--accent)}.app{background:var(--bg);scrollbar-width:thin;border-radius:16px;flex-direction:column;height:780px;display:flex;position:relative;overflow:auto}.head{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.head h2{margin:0;font-size:21px;line-height:1.25}.head button{min-height:44px;color:var(--accent);background:0 0;border:0;padding:4px 8px;font-size:14px}.content{flex:1;min-width:0;padding:16px}.content>:first-child{margin-top:0}.label{color:var(--muted);margin-bottom:8px;font-size:14px;display:block}.field{margin:0 0 20px}input,textarea,select{border:1px solid var(--control);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;min-height:48px;padding:12px}textarea{resize:vertical;min-height:90px}h3{margin:24px 0 12px;font-size:18px}h4{margin:0 0 8px;font-size:16px}p{margin:8px 0 16px}.muted{color:var(--muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:12px 0;padding:16px}.card p:last-child{margin-bottom:0}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.row>*{min-width:0}.stack{gap:10px;display:grid}.btn{border:1px solid var(--control);background:var(--surface);min-height:48px;color:var(--ink);white-space:normal;overflow-wrap:anywhere;border-radius:10px;min-width:0;padding:10px 14px;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.danger{color:var(--red);border-color:var(--red)}.btn.full{width:100%}.textbtn{color:var(--accent);text-align:left;background:0 0;border:0;min-height:48px;padding:8px 4px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);border:1px solid var(--control);min-height:48px;color:var(--ink);border-radius:9px;padding:8px 12px;font-size:14px}.chip[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent);font-weight:650}.chip[aria-pressed=true]:before{content:"✓ ";font-size:12px}.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pill{background:var(--soft);color:var(--accent);border-radius:5px;padding:3px 7px;font-size:12px;display:inline-block}.score{letter-spacing:-.04em;font-size:36px;font-weight:650;line-height:1.2}.scorebox{background:var(--surface);border-bottom:1px solid var(--line);padding:18px 16px}.scoreline{grid-template-columns:1fr 38px 48px;align-items:center;gap:8px;margin:8px 0;display:grid}.scoreline .games{color:var(--muted);text-align:center;font-size:22px}.scoreline .points{text-align:right;font-size:32px;font-weight:650}.serve{color:var(--accent);margin-top:8px;font-size:14px}.bottom{z-index:2;background:var(--surface);border-top:1px solid var(--line);flex-shrink:0;margin-top:auto;padding:12px 16px 16px;position:sticky;bottom:0}.bottom .win{min-height:64px}.nav{background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;padding:6px 8px;display:flex}.nav button{min-height:52px;color:var(--muted);background:0 0;border:0;padding:8px;font-size:14px}.nav .on{color:var(--accent);font-weight:650}.note{background:var(--soft);border-radius:10px;margin:12px 0;padding:12px;font-size:14px}.warning{background:var(--warning-bg);color:var(--red);border:1px solid var(--warning-line)}.metric{font-size:26px;font-weight:650}.stat{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 4px}.stat span{color:var(--muted);font-size:12px;display:block}.bar{background:var(--track);border-radius:8px;height:8px;margin:10px 0;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.entry{text-align:left;background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:10px;margin-bottom:8px;padding:14px}.entry strong{font-size:16px}.entry .muted{margin-top:4px;display:block}.toast{background:var(--toast-bg);color:var(--toast-text);z-index:20;border-radius:10px;max-width:min(90vw,550px);padding:12px 20px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #0002}.hidden{display:none}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.empty{text-align:center;padding:28px 12px}.empty .symbol{color:var(--accent);margin:12px;font-size:40px}.linkrow{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.compact{margin:8px 0}.badge{color:var(--muted);font-size:14px}@media (width<=650px){.content{padding:16px}.head h2{font-size:20px}.three .stat{padding:10px 2px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.app.live-mode{overflow:hidden}.app.live-mode>.head,.app.live-mode>.scorebox{flex-shrink:0}.app.live-mode>.content{min-height:0;overflow:auto}.app.live-mode>.bottom{margin-top:0;position:relative}.live-mode .scorebox{padding:10px 16px}.live-mode .scoreline{margin:2px 0}.live-mode .scoreline .points{font-size:28px}.live-mode .head{padding:8px 12px}.live-mode .head h2{font-size:18px}.live-mode .bottom{padding:8px 12px}.live-mode .bottom .win{min-height:56px}.live-mode .bottom .textbtn{min-height:44px}.inline-section{border-bottom:1px solid var(--line);padding:10px 0}.inline-section h4{margin:0 0 8px}.inline-section .field{margin:12px 0}.inline-section summary{cursor:pointer;min-height:48px;color:var(--accent);align-items:center;font-size:14px;font-weight:600;display:flex}.inline-section summary:before{content:"＋";padding-right:8px}details[open]>summary:before{content:"−"}.live-status{color:var(--muted);padding:6px 0;font-size:14px}.last-point{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin-bottom:8px;padding:10px}.live-mode .chips{gap:6px}.live-mode .chip{padding:8px 10px}.live-mode .content{padding:8px 16px}.live-mode .note{margin:6px 0}.inline-tools{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}@media (height<=560px){.app.live-mode{overflow:auto}.app.live-mode>.content{flex:1 0 auto;overflow:visible}.app.live-mode>.bottom{position:sticky}}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}html,body,#root{height:100%}body{overscroll-behavior:none}.app{background:var(--bg);border-radius:0;max-width:560px;height:100dvh;margin:0 auto}.head{padding-top:max(14px,env(safe-area-inset-top))}.live-mode .head{padding-top:max(8px,env(safe-area-inset-top))}.bottom,.app>.nav{padding-bottom:max(12px,env(safe-area-inset-bottom))}.bottom .nav{margin:12px -16px calc(-1 * max(12px,env(safe-area-inset-bottom)));padding-bottom:max(6px,env(safe-area-inset-bottom))}.btn[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--accent)}.scoreline .sets{color:var(--muted);text-align:center;font-size:16px}.scoreline.with-sets{grid-template-columns:1fr auto 38px 48px}.num{grid-template-columns:48px 1fr 48px;align-items:center;gap:6px;display:grid}.num input{text-align:center;padding:12px 4px}.saving{opacity:.6;pointer-events:none}.toast{bottom:calc(96px + env(safe-area-inset-bottom))}
