:root,[data-skin=wimbledon]{--bg: #f4f6f2;--ink: #0c2f22;--muted: #5a6b61;--panel: #ffffff;--line: #e2e7e0;--accent: #c19a4b;--accent-ink: #0c2f22;--masthead-bg: #0a2f21;--masthead-glow: #14523a;--masthead-ink: #ffffff;--masthead-muted: rgba(255, 255, 255, .76);--masthead-accent: #d9bc72;--hero-ink: #ffffff;--hero-fallback: #0c2f22;--court-lighten: rgba(255, 255, 255, .15);--court-line: rgba(255, 255, 255, .55);--court-net: #ffffff;--court-pocket: #06150d;--material-bg: rgba(255, 255, 255, .68);--material-bg-strong: rgba(255, 255, 255, .86);--material-border: rgba(255, 255, 255, .55);--material-edge: rgba(12, 47, 34, .12);--hard: #446a87;--clay: #b85c3d;--grass: #2d7c46;--astro: #24867c;--skin-player-a: #57298a;--skin-player-b: #1e7a45}:root{color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--radius-lg: 22px;--radius-md: 14px;--shell-pad: 16px;--material-blur: 22px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button{font:inherit;-webkit-tap-highlight-color:transparent}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.app-shell{width:min(100%,520px);min-height:100svh;margin:0 auto;padding:max(var(--shell-pad),env(safe-area-inset-top)) var(--shell-pad) calc(78px + env(safe-area-inset-bottom))}.screen{display:grid;gap:14px}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:4px;font-size:1.7rem;line-height:1}h2{margin:0;font-size:1rem}.app-header,.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:calc(-1*max(var(--shell-pad),env(safe-area-inset-top))) calc(-1 * var(--shell-pad)) 2px;padding:calc(max(var(--shell-pad),env(safe-area-inset-top)) + 12px) 20px 18px;border-radius:0 0 var(--radius-lg) var(--radius-lg);color:var(--masthead-ink);background:linear-gradient(168deg,var(--masthead-glow),var(--masthead-bg) 58%);box-shadow:0 14px 30px #0a2f2129}.app-header{display:block}.app-header .eyebrow,.page-header .eyebrow{color:var(--masthead-accent)}.app-header p:last-child{margin:0;color:var(--masthead-muted);font-weight:800}.hero-score{overflow:hidden;position:relative;min-height:238px;padding:22px;border-radius:var(--radius-lg);color:var(--hero-ink);background:var(--hero-fallback);box-shadow:0 16px 34px #0c2f2233}.court-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}.score-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:8px;margin:40px 0 22px}.score-name{min-width:0;overflow:hidden;margin-bottom:6px;color:#ffffffe0;font-size:.82rem;font-weight:900;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 5px rgba(8,21,13,.6)}.score-val{text-align:center;font-size:clamp(4.2rem,22vw,7rem);font-weight:950;line-height:.9;text-shadow:0 3px 16px rgba(6,21,13,.78),0 1px 2px rgba(0,0,0,.5)}.score-divider{display:none}.hero-score p,.hero-score>span{position:relative;z-index:1;text-shadow:0 1px 6px rgba(8,21,13,.55)}.hero-score p{margin-bottom:5px;color:#fffffff2;font-weight:900}.hero-score>span{color:#fffc;font-size:.9rem;font-weight:800}.panel,.stat-card,.match-card,.state-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel)}.stat-card-button{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:transform .1s ease}.stat-card-button:active{transform:scale(.98)}.stat-card-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.panel{padding:16px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-header span{color:var(--muted);font-size:.78rem;font-weight:800}.form-row{display:flex;gap:8px}.form-dot{width:32px;height:32px;display:grid;place-items:center;border:0;padding:0;border-radius:var(--radius-md);color:#fff;font-size:.82rem;font-weight:950;cursor:pointer;transition:transform .1s ease}.form-dot:active{transform:scale(.94)}.form-dot:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:86px;padding:14px}.stat-card p{margin-bottom:5px;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.stat-card strong{display:block;font-size:1.55rem;line-height:1}.stat-dot{display:inline-block;width:.6em;height:.6em;margin-right:.34em;border-radius:50%;vertical-align:.04em}.stat-card span{display:block;margin-top:7px;color:var(--muted);font-size:.82rem;font-weight:800}.surface-list{display:grid;gap:10px}.surface-row{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:10px;color:var(--muted);font-size:.9rem}.detail-sheet-list .surface-row{grid-template-columns:108px 1fr auto}button.surface-row{width:100%;border:0;padding:0;background:transparent;font:inherit;text-align:left;cursor:pointer;transition:transform .1s ease}button.surface-row:active{transform:scale(.98)}button.surface-row:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.surface-row>span{color:var(--ink);font-weight:900;white-space:nowrap}.surface-count{color:var(--muted);font-style:normal;font-weight:800}.surface-row-empty{opacity:.5}.surface-row strong{color:var(--ink)}.surface-track{height:8px;overflow:hidden;border-radius:999px;background:var(--line)}.surface-h2h{display:flex}.h2h-fill{height:100%}.surface-legend{display:inline-flex;gap:10px}.legend-item{display:inline-flex;align-items:center;gap:4px}.legend-dot{width:9px;height:9px;border-radius:50%}.surface-badge{display:inline-grid;place-items:center;min-height:26px;padding:4px 9px;border-radius:999px;color:#fff;font-size:.74rem;font-weight:950}.surface-hard{background:var(--hard)}.surface-clay{background:var(--clay)}.surface-grass{background:var(--grass)}.surface-astro{background:var(--astro)}.count-pill{display:inline-grid;place-items:center;min-width:38px;min-height:30px;padding:5px 10px;border-radius:999px;color:var(--accent-ink);background:var(--accent);font-weight:950}.match-list{display:grid;gap:10px}.match-card{display:grid;grid-template-columns:6px 1fr auto;align-items:stretch;overflow:hidden;width:100%;border:0;color:inherit;text-align:left;font:inherit;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .15s ease,transform .1s ease}.match-card:hover{box-shadow:inset 0 0 0 1px #0c2f2247}.match-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.match-card:active{transform:scale(.995)}.match-card-chevron{align-self:center;padding:0 14px 0 6px;color:var(--muted);font-size:1.5rem;font-weight:900;line-height:1}.match-card:hover .match-card-chevron{color:var(--ink)}.match-card-body{padding:14px}.match-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.match-card time,.match-card .match-seq{color:var(--muted);font-size:.82rem;font-weight:900}.match-card h2{margin:10px 0 6px;font-size:1.2rem}.set-line{margin-bottom:5px;color:var(--muted);font-weight:900;white-space:pre-wrap}.set-line-missing{font-size:.82rem;font-weight:700;opacity:.6}.match-meta,.match-notes{margin-bottom:0;color:var(--muted);font-size:.88rem}.match-notes{margin-top:6px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:5;width:min(100%,520px);margin:0 auto;display:grid;grid-template-columns:1fr 86px 1fr;align-items:center;padding:6px 18px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--material-edge);background:var(--material-bg);backdrop-filter:blur(var(--material-blur)) saturate(1.7);-webkit-backdrop-filter:blur(var(--material-blur)) saturate(1.7);box-shadow:inset 0 1px 0 var(--material-border)}.nav-item{display:grid;place-items:center;gap:2px;min-height:38px;border:0;color:var(--muted);background:transparent;font-size:.72rem;font-weight:950}.nav-item span{font-size:1.05rem;line-height:1}.nav-item.active{color:var(--ink)}.add-button{display:grid;place-items:center;width:52px;height:52px;margin:-14px auto 0;padding:0;border:3px solid var(--panel);border-radius:50%;color:var(--accent-ink);background:var(--accent);box-shadow:inset 0 1px #ffffff80,inset 0 -6px 12px #0c2f222e,0 10px 22px #0c2f223d;font-size:1.9rem;font-weight:900;line-height:1}.state-panel{margin-top:18px;padding:22px}.state-panel p{color:var(--muted)}.error-panel pre{overflow:auto;max-height:58svh;padding:12px;border-radius:var(--radius-md);color:#691f1f;background:#fff1f1;white-space:pre-wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;align-items:end;justify-items:center;padding:max(var(--shell-pad),calc(env(safe-area-inset-top) + 10px)) var(--shell-pad) calc(var(--shell-pad) + env(safe-area-inset-bottom));background:#0a181273;backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);overscroll-behavior:contain}body.modal-open .bottom-nav{display:none}html:has(body.modal-open){background:#8a9087}.modal-panel{width:min(100%,496px);max-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:20px 18px 22px;border-radius:var(--radius-lg);background:var(--material-bg-strong);backdrop-filter:blur(calc(var(--material-blur) + 8px)) saturate(1.5);-webkit-backdrop-filter:blur(calc(var(--material-blur) + 8px)) saturate(1.5);box-shadow:inset 0 1px 0 var(--material-border),inset 0 0 0 1px var(--material-edge),0 18px 50px #08140f6b}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-panel p{color:var(--muted);line-height:1.5}.icon-button,.primary-button{min-height:42px;border-radius:var(--radius-md);border:1px solid transparent;font-weight:950}.icon-button{width:42px;min-width:42px;color:var(--ink);background:#fff;border-color:var(--line);font-size:1.15rem}.primary-button{width:100%;color:var(--accent-ink);background:var(--accent)}.add-form{display:grid;gap:14px}.field{display:grid;gap:6px}.field-label{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.text-input,.num-input{width:100%;min-width:0;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:#fff;font:inherit;font-weight:800}input[type=date].text-input::-webkit-calendar-picker-indicator{margin-left:4px;padding:4px}input[type=date].text-input{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=date].text-input::-webkit-date-and-time-value{text-align:left}.text-input:focus-visible,.num-input:focus-visible,.segment:focus-visible,.add-set-button:focus-visible,.secondary-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.segmented{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg)}.segment{min-width:0;min-height:34px;padding:4px 6px;border:0;border-radius:calc(var(--radius-md) - 4px);color:var(--muted);background:transparent;font-size:.82rem;font-weight:900;cursor:pointer}.segment-active{color:var(--ink);background:var(--panel);box-shadow:0 1px 4px #0c2f2224}.score-head{display:grid;grid-template-columns:72px 1fr 1fr;gap:8px;font-size:.82rem;font-weight:900;text-align:center}.score-head span:first-child{grid-column:2}.set-input-row{display:grid;grid-template-columns:72px 1fr 1fr;align-items:center;gap:8px;margin-top:6px}.set-input-row .num-input{text-align:center}.set-input-tiebreak .field-label{font-size:.68rem}.set-input-tiebreak .num-input{min-height:34px;opacity:.85}.add-set-button{justify-self:start;margin-top:8px;padding:6px 0;border:0;color:var(--muted);background:transparent;font-size:.85rem;font-weight:900;cursor:pointer}.issue-list{margin:0;padding:12px 12px 12px 28px;border-radius:var(--radius-md);color:#691f1f;background:#fff1f1;font-size:.85rem;font-weight:700}.secondary-button{width:100%;min-height:42px;margin-top:8px;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:#fff;font-weight:950;cursor:pointer}.review-result{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.review-headline{margin:0 0 4px;font-size:1.25rem;font-weight:950}.review-meta{display:flex;align-items:center;gap:10px;margin:8px 0 0;color:var(--muted);font-weight:800}.review-h2h{margin:10px 0 0;color:var(--ink);font-weight:900}.review-steps{margin-bottom:14px;color:var(--muted);font-size:.9rem;line-height:1.5}.review-copied{margin-bottom:12px;color:var(--ink);font-size:.9rem;font-weight:900}.json-fallback{width:100%;min-height:140px;margin-bottom:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem}.publish-error{margin:0 0 12px;padding:10px 12px;border-radius:var(--radius-md);color:#691f1f;background:#fff1f1;font-size:.85rem;font-weight:800}.publish-fallback{margin-top:12px}.publish-fallback>summary{color:var(--muted);font-size:.85rem;font-weight:900;cursor:pointer}.publish-fallback[open]>summary{margin-bottom:8px}.detail-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--muted);font-weight:800}.detail-sets{display:grid;gap:0;margin:0 0 14px;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.detail-sets li{display:flex;align-items:center;justify-content:space-between;padding:11px 14px}.detail-sets li:not(:last-child){border-bottom:1px solid var(--line)}.detail-set-label{color:var(--muted);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.detail-set-score{display:inline-flex;align-items:baseline;gap:6px;font-size:1.3rem;font-weight:950}.detail-set-score i{color:var(--muted);font-style:normal}.detail-set-score em{margin-left:4px;color:var(--muted);font-size:.82rem;font-style:normal;font-weight:800}.detail-impact{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.detail-h2h{margin:0 0 4px;font-size:1.3rem;font-weight:950}.detail-h2h i{color:var(--muted);font-style:normal}.detail-sub{margin:2px 0 0;color:var(--muted);font-weight:800}@media(max-width:390px){:root{--shell-pad: 12px}.hero-score{min-height:226px;padding:18px}.surface-row{grid-template-columns:64px 1fr auto}}@supports not (backdrop-filter: blur(1px)){.bottom-nav,.modal-panel{background:var(--panel)}}@media(prefers-reduced-transparency:reduce){.bottom-nav,.modal-panel{background:var(--panel);backdrop-filter:none;-webkit-backdrop-filter:none}}
