:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1222;--surface-inset:#0c1424;--surface:#111a2e;--surface-raised:#16203a;--surface-high:#1b2946;--border:#243049;--border-2:#2c3a58;--text:#e8ecf4;--text-2:#c4cfe4;--text-3:#93a1bd;--accent:#cdfa50;--accent-ink:#0c1222;--accent-dim:#cdfa501f;--gold:#f0b93c;--gold-lit:#ffd873;--gold-hi:#fff4d2;--demo:#f2c94c;--demo-dim:#f2c94c1a;--tier-hard:#c9a3ff;--selected-tint:#c4cfe424;--selected-container:#263a70;--on-selected:#dbe4ff;--win:#9af0a0;--on-win:#0c1222;--win-container:#1d3b1f;--on-win-container:var(--win);--loss:#f0a3a3;--loss-strong:#ff7a7a;--on-loss:#0c1222;--loss-container:#441d1d;--on-loss-container:var(--loss);--draw:#c4cfe4;--draw-container:#243049;--on-draw-container:var(--draw);--us:var(--accent);--them:#7c9fe8;--appbar-h:3rem;--dur-fast:.15s;--dur-base:.3s;--dur-slow:.6s;--dur-exit:.2s;--sec-dur:.3s;--sec-ease:cubic-bezier(.33, 0, .15, 1);--ease-out:cubic-bezier(.33, 0, .15, 1);--ease-in:cubic-bezier(.3, 0, 1, 1);--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--r-xs:4px;--scrim:#04081299;--shadow-sm:0 8px 24px #0006;--shadow-md:0 10px 28px #00000073;--shadow-lg:0 14px 40px #00000080;--sp-4:.25rem;--sp-8:.5rem;--sp-12:.75rem;--sp-16:1rem;--sp-24:1.5rem;--sp-32:2rem;--sp-48:3rem;--fs-3xs:.625rem;--fs-2xs:.7rem;--fs-xs:.8rem;--fs-sm:.85rem;--fs-base:.9rem;--fs-md:1.05rem;--fs-lg:1.2rem;--fs-xl:1.35rem}*{box-sizing:border-box}html,body{overscroll-behavior:none}body{background:var(--bg);min-height:100dvh;color:var(--text);overflow-wrap:break-word;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;grid-template-columns:minmax(0,1fr);place-items:center;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:grid;overflow-x:clip}input,textarea,.doc-card{-webkit-user-select:text;user-select:text}a,button,summary,label,input,select,textarea{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:min(420px,100% - 32px);padding:2rem}.app-page{--page-w:560px;background:var(--surface);width:100%;min-height:100dvh;padding-block-start:2rem;padding-inline:max(1rem, calc((100% - var(--page-w)) / 2))}.app-page.match-card{--page-w:480px}@media (min-width:840px){.app-page{width:min(var(--page-w), 100% - 32px);background:0 0;min-height:0;padding-inline:2rem}}.card h1,.app-page h1{margin-top:0}form{gap:.75rem;display:grid}input,textarea{border-radius:var(--r-md);background:var(--surface-high);color:inherit;border:1px solid #0000;padding:.65rem .8rem;font-size:1rem}.sheet input,.sheet textarea{background:var(--surface);border-color:var(--border-2)}input::placeholder,textarea::placeholder{color:var(--text-3);opacity:1}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0}textarea{font:inherit;font-size:1rem}button{border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;min-height:2.75rem;padding:.65rem .8rem;font-size:1rem;font-weight:600}.sheet-close,.goal-remove,.sheet-handle,.share-chart-btn,.replay-marker,.rename-pencil,button.chip{min-height:0}select{appearance:none;border-radius:var(--r-md);background-color:var(--surface-high);color:var(--text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%2393a1bd' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;background-size:12px;border:1px solid #0000;padding:.55rem 2rem .55rem .8rem;font-size:1rem}button:disabled{opacity:.6;cursor:default}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1.25rem 0;display:grid}@media (min-width:460px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stats div{background:var(--surface-inset);border-radius:var(--r-md);border:1px solid var(--border);gap:.25rem;padding:.9rem;display:grid}.stats span{font-size:var(--fs-2xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.07em}.stats strong{font-size:var(--fs-xl)}a{color:var(--accent)}.card.match-card{width:min(480px,100% - 32px)}.match-mode{color:var(--text-3);font-size:var(--fs-sm);margin:0}.match-meta{color:var(--text-3);font-size:var(--fs-sm)}.sets{gap:.9rem;margin:1.25rem 0;display:grid}.sets section{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);padding:.8rem .9rem}.sets h2{font-size:var(--fs-base);justify-content:space-between;margin:0 0 .5rem;display:flex}.set-pair{color:var(--accent)}.games{flex-wrap:wrap;gap:.35rem;margin:0;display:flex}.game-chip{border-radius:var(--r-sm);background:var(--surface-raised);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-2);padding:.1rem .45rem}.games-empty{color:var(--text-3);font-size:var(--fs-sm)}.match-footer{color:var(--text-3);font-size:var(--fs-xs);margin-bottom:0}.detail-head-row{justify-content:space-between;align-items:center;display:flex}.download-options{margin-top:.2rem}.download-options .sheet-btn{text-align:center;place-items:center;text-decoration:none;display:grid}.form-error{border-radius:var(--r-md);background:var(--loss-container);color:var(--on-loss-container);font-size:var(--fs-base);padding:.6rem .8rem}.consent-row{font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;align-items:flex-start;gap:.55rem;display:flex}.consent-row input[type=checkbox]{font:inherit;margin-top:0;appearance:none;border:1px solid var(--border-2);border-radius:var(--r-xs);background:var(--surface-inset);cursor:pointer;flex:none;place-items:center;width:1.15rem;height:1.15rem;margin-top:calc(.5lh - .575rem);padding:0;display:grid}.consent-row input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.3l2.5 2.6 4.7-5.5' fill='none' stroke='%230c1222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:1.08rem}.upsell-note{color:var(--text-3);font-size:.85em}.page-card h2{font-size:var(--fs-md);margin:1.4rem 0 .6rem}.dash-empty{color:var(--text-3);font-size:var(--fs-base)}.match-list,.device-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.match-list{grid-template-columns:minmax(0,1fr);margin-inline:-1rem;padding-inline:1rem;overflow:clip visible}.match-list a{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);color:inherit;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.6rem .8rem;text-decoration:none;display:grid}.match-row-wrap{position:relative}.match-row-inner{transition:transform var(--dur-base) cubic-bezier(.42, 1.67, .21, .9);position:relative}.match-row-inner.is-armed{transform:scale(1.02)}.match-row-inner.is-armed a{border-color:var(--border-2);box-shadow:var(--shadow-md)}.match-row-shimmer{z-index:1;border-radius:var(--r-md);pointer-events:none;position:absolute;inset:0;overflow:hidden}.match-row-shimmer:before{content:"";background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--text) 20%, transparent) 47%, color-mix(in srgb, var(--text) 12%, transparent) 53%, transparent 70%);animation:row-sheen 1.5s var(--ease-out) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes row-sheen{0%{transform:translate(-100%)}55%,to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.match-row-inner{transition:none}.match-row-shimmer:before{animation:none}}.sheet-close,.goal-remove{position:relative}.sheet-close:after{content:"";position:absolute;inset:-.45rem}.goal-remove:after{content:"";position:absolute;inset:-.6rem}.match-menu-backdrop{z-index:20;cursor:default;background:0 0;border:none;padding:0;position:fixed;inset:0}.match-menu{z-index:21;background:var(--surface-high);border:1px solid var(--border-2);border-radius:var(--r-md);min-width:9rem;box-shadow:var(--shadow-sm);transform-origin:100% 0;animation:menu-in var(--dur-fast) var(--ease-out);gap:.2rem;padding:.3rem;display:grid;position:absolute;top:calc(50% + 1.1rem);right:.3rem}@keyframes menu-in{0%{opacity:0;transform:scale(.92)}}.match-menu-item{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;padding:.5rem .6rem}.match-menu-item:disabled,.rename-pencil:disabled{opacity:.45;cursor:default}@media (hover:hover){.match-menu-item:hover{background-image:linear-gradient(color-mix(in srgb, currentColor 8%, transparent), color-mix(in srgb, currentColor 8%, transparent))}}.match-menu-danger{color:var(--loss)}.match-confirm{min-width:15rem;padding:.6rem}.match-confirm-text{font-size:var(--fs-xs);color:var(--text-2);margin:0 0 .5rem}.match-confirm-actions{justify-content:flex-end;gap:.4rem;display:flex}.match-confirm-actions .match-menu-item{width:auto}.match-row-faded{opacity:.4;filter:grayscale();pointer-events:none;animation:row-fade var(--dur-base) var(--ease-out)}@keyframes row-fade{0%{opacity:1;filter:grayscale(0)}}.match-undo{z-index:3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.match-row-note{font-size:var(--fs-xs);color:var(--loss-strong)}.chart-takeaway{font-size:var(--fs-sm);color:var(--text-2);margin:.1rem 0 .5rem;font-weight:600}.match-undo-btn{border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent-dim);color:var(--accent);font:inherit;cursor:pointer;animation:undo-in var(--dur-base) var(--ease-out);padding:.4rem .9rem;font-weight:600}@keyframes undo-in{0%{opacity:0;transform:translateY(8px)}}.goal-row:has(button[aria-busy=true]){opacity:.45;transition:opacity var(--dur-fast) var(--ease-out)}.settings-row{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .8rem;text-decoration:none;display:flex}.settings-row.is-danger{color:var(--loss)}.row-chevron{fill:none;width:12px;height:12px;stroke:var(--text-3);stroke-width:1.6px;flex:none}.row-share-icon{fill:none;width:14px;height:14px;stroke:var(--text-3);stroke-width:1.6px;flex:none}.list-head{justify-content:space-between;align-items:center;gap:.6rem;margin:0 0 1.1rem;display:flex}.list-head h1{margin:0}.head-menu{flex:none;position:relative}.head-menu-btn{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-inset);width:40px;height:40px;color:var(--text-2);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.head-menu-btn:after{content:"";position:absolute;inset:-4px}.head-menu-btn:is(:active,.is-pressed){background:var(--surface-raised);border-color:var(--border-2)}.head-menu-icon{fill:currentColor;width:1rem;height:1rem}.head-menu .match-menu{white-space:nowrap;top:calc(100% + .3rem);right:0}.match-list-main{gap:.32rem;min-width:0;display:grid}.outcome-pill{text-align:center;border-radius:var(--r-md);min-width:2.95rem;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.07em;flex:none;padding:.28rem .5rem;font-weight:700}.outcome-win{background:var(--win-container);color:var(--on-win-container)}.outcome-loss{background:var(--loss-container);color:var(--on-loss-container)}.outcome-draw{background:var(--draw-container);color:var(--on-draw-container)}.outcome-session{background:var(--surface-high);color:var(--text-2)}.match-list-players{color:var(--text-3);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-list-health{color:var(--text-3);font-size:var(--fs-2xs);grid-template-columns:auto minmax(1.6rem,auto);place-items:center start;gap:.3rem .2rem;display:grid}.match-list-health>svg{justify-self:center;width:.8rem;height:.8rem}.health-val{white-space:nowrap}.icon-heart{width:.75rem;height:.75rem;fill:var(--loss-strong)}.match-list-side{text-align:left;border-left:1px solid var(--border-2);grid-column:4;align-content:center;align-self:stretch;justify-items:start;gap:.22rem;min-width:5.25rem;padding-left:.45rem;display:grid}.match-list-dur,.match-list-date{color:var(--text-3);font-size:var(--fs-2xs);white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.side-icon{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;flex:none;width:.7rem;height:.7rem}.match-list-lead{justify-items:center;gap:.15rem;min-width:3.05rem;display:grid}.match-tag-line{color:var(--text-3);font-size:var(--fs-3xs);white-space:nowrap;font-weight:500;line-height:1}.match-list a{position:relative}.match-excluded-mark{color:var(--text-3);line-height:0;display:flex;position:absolute;bottom:.28rem;right:.35rem}.match-excluded-mark svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:.8rem;height:.8rem}@media (max-width:359px){.match-list a{grid-template-columns:auto minmax(0,1fr) auto;gap:.35rem .7rem}.match-list-lead{grid-row:1/span 2}.match-list-health{grid-area:2/2;align-items:center;gap:.2rem;min-width:0;display:flex}.match-list-health>.health-val:not(:last-child){margin-right:.35rem}.match-list-side{grid-area:1/3/span 2}}.device-list li{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);gap:.5rem;padding:.8rem .9rem;display:grid}.device-head{gap:.15rem;min-width:0;display:grid}.device-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-meta{color:var(--text-3);font-size:var(--fs-xs)}.device-list,.device-list li{min-width:0}.device-name{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.goal-add button{align-self:end}.button-danger{background:var(--loss-container);color:var(--on-loss-container)}.button-quiet{background:var(--surface-inset);border:1px solid var(--border-2);color:var(--text-2)}.button-primary{width:fit-content;min-width:min(100%,12rem);max-width:100%;font-size:var(--fs-md);border-radius:var(--r-pill);margin-inline:auto;justify-self:center;margin-top:.35rem;padding:.8rem 2.25rem;display:block}.pw-editor{gap:.75rem;display:grid}.goal-row{gap:.3rem;margin:.2rem 0;display:grid}.goal-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.goal-label{font-size:var(--fs-xs);color:var(--text-2);min-width:0}.goal-meta{font-size:var(--fs-xs);color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.goal-add{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.goal-add input[type=number]{width:6rem}.ws-form{flex-direction:column;align-items:stretch;gap:.7rem;display:flex}.ws-group{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);justify-items:start;gap:.6rem;min-width:0;margin:0;padding:.8rem .9rem;display:grid}.ws-head{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin:0 0 .15rem;font-weight:600}.ws-intro{margin:.15rem 0 .7rem}.ws-form .players-field,.ws-form .ws-group,.ws-form .ws-head{transition:opacity var(--dur-fast) var(--ease-out)}.ws-form fieldset.side-toggle{min-inline-size:0}.ws-form .ws-off{opacity:.38}.ws-form .ws-off .side-option span{cursor:default}.goal-delete{margin:0;display:inline-flex}.goal-list{gap:.45rem;display:grid}.goal-remove{border-radius:var(--r-pill);background:var(--loss-container);flex:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;display:inline-flex}.goal-remove svg{width:.6rem;height:.6rem;stroke:var(--loss);stroke-width:1.6px}.suggest-goals{gap:.45rem;margin-top:.55rem;display:grid}.suggest-goals form{min-width:0}.suggest-goals .chip{white-space:normal;overflow-wrap:anywhere;text-align:left;border-radius:var(--r-md);width:100%;padding:.5rem .75rem;line-height:1.35;display:block}.courts-map{border-radius:var(--r-md);isolation:isolate;z-index:0;background:var(--surface-inset);border:1px solid var(--border);height:320px;margin:.6rem 0}.courts-map .leaflet-tile-pane{filter:invert()hue-rotate(180deg)brightness(.72)contrast(.92)saturate(.3)}.courts-map .leaflet-control-zoom a{background:var(--surface-raised);color:var(--text);border-color:var(--border-2)}@media (hover:hover){.courts-map .leaflet-control-zoom a:hover{background:var(--surface);color:var(--text)}}.courts-map .leaflet-control-zoom a.leaflet-disabled{background:var(--surface-inset);color:var(--text-3)}.courts-map.leaflet-container .leaflet-control-attribution{background:color-mix(in srgb, var(--bg) 82%, transparent);color:var(--text-3)}.courts-map.leaflet-container .leaflet-control-attribution a{color:var(--them)}.courts-map .leaflet-popup-content-wrapper,.courts-map .leaflet-popup-tip{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm)}.courts-map .leaflet-popup-close-button{color:var(--text-3)}.court-row-head{gap:.1rem;padding:.15rem 0;display:grid}.court-row-name{font-size:var(--fs-sm);color:var(--text-2);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.court-row-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.court-row-meta{font-size:var(--fs-2xs);color:var(--text-3);font-variant-numeric:tabular-nums}.rename-pencil{width:1.2rem;height:1.2rem;color:var(--text-3);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.rename-pencil svg{fill:currentColor;width:.7rem;height:.7rem}.rename-pencil:after{content:"";position:absolute;inset:-.8rem}.rename-sheet-form{gap:.7rem;padding:.2rem 0 .4rem;display:grid}.load-more{justify-content:center;align-items:center;min-height:44px;margin-top:.9rem;display:flex}.account-footer{font-size:var(--fs-xs);color:var(--text-3);margin-top:1.2rem}.filters{gap:.4rem;margin:.8rem 0 1rem;display:grid}.filter-row{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:.5rem;min-height:44px;padding-right:20px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000)}.filter-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-inset);color:var(--text-3);font-size:var(--fs-xs);flex:none;padding:.45rem .8rem;text-decoration:none;position:relative}.chip:after{content:"";position:absolute;inset:-6px 0}.chip-active{border-color:var(--selected-container);color:var(--on-selected);background:var(--selected-container)}.filter-summary{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-inset);max-width:100%;color:var(--text-2);font-size:var(--fs-xs);text-align:left;align-items:center;gap:.4rem;padding:.5rem .75rem .5rem .9rem;display:inline-flex}.filter-summary-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.filter-summary-caret{fill:none;width:.7rem;height:.7rem;stroke:var(--text-3);stroke-width:1.4px;flex:none}.filter-summary:is(:active,.is-pressed){background-color:var(--surface-raised);border-color:var(--border-2)}.filter-group-chips{flex-wrap:wrap;gap:.5rem;display:flex}.mode-split{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);gap:.6rem;margin:1.1rem 0 .5rem;padding:.75rem .85rem .8rem;display:grid}.mode-split-bar{gap:3px;height:10px;display:flex}.mode-split-seg{border-radius:var(--r-xs);min-width:8%}.mode-split-seg:first-child{border-radius:var(--r-pill) var(--r-xs) var(--r-xs) var(--r-pill)}.mode-split-seg:last-child{border-radius:var(--r-xs) var(--r-pill) var(--r-pill) var(--r-xs)}.mode-seg-standard{background:var(--them)}.mode-seg-mexicano{background:var(--draw)}.mode-split-legend{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;display:flex}.mode-split-item{min-width:0;font-size:var(--fs-sm);align-items:baseline;gap:.45rem;display:inline-flex}.mode-split-dot{border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.mode-split-name{color:var(--text-3)}.mode-split-item strong{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.set-meta-right{align-items:baseline;gap:.6rem;display:flex}.set-duration{color:var(--text-3);font-size:var(--fs-xs)}.game-bars{gap:.3rem;display:grid}.serve-row{grid-template-columns:5.5rem 1fr 7.5rem;align-items:center;gap:.5rem;display:grid}.serve-label{font-size:var(--fs-xs);color:var(--text-2)}.bar-track{background:var(--surface-raised);border-radius:var(--r-xs);height:.55rem;overflow:hidden}.bar-fill-alt{background:var(--seq-3);border-radius:var(--r-xs);height:100%;display:block}.bar-fill{background:var(--accent);border-radius:var(--r-xs);height:100%;display:block}.serve-meta{font-size:var(--fs-xs);color:var(--text-3);text-align:right}.stat-card{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);gap:.35rem;margin:1.1rem 0;padding:.8rem .9rem;display:grid;position:relative}.card-note{font-size:var(--fs-2xs);color:var(--text-3);margin:.3rem 0 0}.bar-row{gap:.3rem;display:grid}.bar-row-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.bar-row-label{font-size:var(--fs-xs);color:var(--text-2)}.bar-row-meta{font-size:var(--fs-xs);color:var(--text-3);text-align:right;white-space:nowrap}.bar-row-track{background:var(--surface-raised);border-radius:var(--r-xs);height:.5rem;display:block;overflow:hidden}.dv-panel{gap:.55rem;display:grid}.dv-axis{height:.85rem;position:relative}.dv-axis-mark{border-left:1px solid var(--border-2);font-size:var(--fs-2xs);color:var(--text-3);white-space:nowrap;padding-left:.35rem;position:absolute;transform:translate(-50%)}.dv-row{gap:.25rem;display:grid}.dv-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.dv-label{font-size:var(--fs-xs);color:var(--text-2)}.dv-meta{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap}.dv-track{background:var(--surface-raised);border-radius:var(--r-xs);height:.5rem;position:relative}.dv-baseline{background:var(--border-2);width:1px;position:absolute;top:-2px;bottom:-2px}.dv-fill{border-radius:var(--r-xs);position:absolute;top:0;bottom:0}.dv-up{background:var(--accent)}.dv-down{background:var(--seq-3)}.dials{grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));gap:.7rem .4rem;margin-top:.5rem;display:grid}.dial{justify-items:center;gap:.2rem;display:grid}.dial-label{font-size:var(--fs-2xs);color:var(--text-2);text-align:center;line-height:1.2}.dial-meta{font-size:var(--fs-2xs);color:var(--text-3)}.setseg-line{width:100%;height:auto;margin:.3rem 0 .4rem;display:block}.setseg-mid{stroke:var(--border-2);stroke-dasharray:4 4;stroke-width:1px}.setseg-path{stroke:var(--accent);stroke-width:2px}.setseg-dot{fill:var(--accent)}.setseg-vlabel{fill:var(--text-2);font-size:13px;font-weight:600}.setseg-xlabel{fill:var(--text-3);font-size:12px}.chart-card{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);gap:.4rem;margin:1.1rem 0;padding:.8rem .9rem;display:grid;position:relative}.chart-card h2{font-size:var(--fs-base);margin:0}.chart-svg{width:100%;height:90px;display:block}.kp-panel{gap:.3rem;margin-top:.4rem;display:grid}.kp-row{font-size:var(--fs-sm);justify-content:space-between;display:flex}.kp-label{color:var(--text-3)}.kp-vals{color:var(--text-2)}.kp-sub{font-size:var(--fs-2xs);color:var(--text-3);text-align:right;display:block}.rally-rows h2:not(:first-child),.rally-rows h3:not(:first-child){margin-top:.7rem}.trend-axis{font-size:var(--fs-2xs);color:var(--text-3);justify-content:space-between;display:flex}.feel-form{flex-wrap:wrap;align-items:end;gap:.5rem;margin-top:.6rem;display:flex}.feel-form label{font-size:var(--fs-xs);color:var(--text-3);gap:.25rem;display:grid}.feel-form input{flex:1;min-width:9rem}.feel-form button{padding:.45rem .9rem}.feel-note{font-size:var(--fs-sm);color:var(--text-2);margin:.3rem 0 0;font-style:italic}.level-xp{color:var(--text-3);font-size:var(--fs-sm);font-weight:400}.ach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.5rem;display:grid}.ach{background:var(--surface-raised);border:1px solid var(--border-2);border-radius:var(--r-md);font-size:var(--fs-xs);align-items:flex-start;gap:.55rem;padding:.5rem .6rem;display:flex}.ach-icon-wrap{flex:none;width:26px;height:26px;margin-top:.1rem;position:relative}.ach-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.ach .ach-cat-matches,.ach-chip.ach-cat-matches{color:var(--them)}.ach .ach-cat-wins,.ach-chip.ach-cat-wins{color:var(--accent)}.ach .ach-cat-streak,.ach-chip.ach-cat-streak{color:var(--zone-4)}.ach .ach-cat-score,.ach-chip.ach-cat-score{color:var(--win)}.ach .ach-cat-engagement,.ach-chip.ach-cat-engagement{color:var(--seq-4)}.ach .ach-cat-health,.ach-chip.ach-cat-health{color:var(--zone-5)}.ach .ach-cat-playful,.ach-chip.ach-cat-playful{color:var(--draw)}.ach .ach-cat-other,.ach-chip.ach-cat-other{color:var(--text-3)}.ach-rank-hard .ach-icon-wrap{color:var(--tier-hard)}.ach-rank-elite .ach-icon-wrap{color:var(--gold)}.ach-group-head{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);justify-content:space-between;align-items:baseline;margin:.9rem 0 .15rem;font-weight:600;display:flex}.ach-group-count{color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:500}.ach .ach-hint{color:var(--text-2);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums}.ach-lock{border-radius:var(--r-xs);background:var(--surface-inset);fill:none;width:12px;height:12px;stroke:var(--text-3);stroke-width:1.4px;stroke-linecap:round;padding:1px;position:absolute;bottom:-4px;right:-4px}.ach-text{gap:.1rem;min-width:0;display:grid}.ach strong{color:var(--accent);font-size:var(--fs-xs)}.ach span{color:var(--text-3);font-size:var(--fs-2xs)}.ach .ach-date{color:var(--text-2);font-size:var(--fs-2xs)}.ach .ach-meta{color:var(--text-3);font-size:var(--fs-2xs)}.ach .ach-meta.ach-tier-medium{color:var(--text-2)}.ach .ach-meta.ach-tier-hard{color:var(--tier-hard)}.ach .ach-meta.ach-tier-elite{background:linear-gradient(100deg, var(--gold) 0%, var(--gold-hi) 38%, var(--gold-lit) 54%, var(--gold) 100%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.ach-locked{opacity:.55}.ach-locked .ach-icon-wrap{color:var(--text-3)}.ach-locked strong{color:var(--text-2)}.verdict-text{font-size:var(--fs-base);color:var(--text);margin:0;line-height:1.45}.rally-tagger{gap:.6rem;margin-top:.6rem;display:grid}.rally-set{gap:.3rem;display:grid}.rally-set-label{font-size:var(--fs-xs);color:var(--text-3);margin:.4rem 0 .1rem}.tag-progress{gap:.35rem;margin-bottom:.4rem;display:grid}.tag-progress-text{font-size:var(--fs-xs);color:var(--text-2);font-variant-numeric:tabular-nums}.tag-game{gap:.3rem;margin-bottom:.55rem;display:grid}.tag-game-label{font-size:var(--fs-2xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin:.2rem 0 .05rem}.tag-rally{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-inset);width:100%;color:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;align-items:center;gap:.55rem;padding:.5rem .6rem;font-weight:400;display:flex}.tag-rally-untagged{border-style:dashed;border-color:var(--border-2)}.tag-score{font-variant-numeric:tabular-nums;min-width:3.2rem;color:var(--text);font-weight:600}.tag-winner{font-size:var(--fs-2xs);border-radius:var(--r-pill);flex:none;padding:.12rem .45rem;font-weight:600}.tag-winner-us{background:var(--win-container);color:var(--on-win-container)}.tag-winner-them{background:var(--loss-container);color:var(--on-loss-container)}.tag-chips{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:.3rem;min-width:0;display:flex}.tag-chip{border-radius:var(--r-pill);background:var(--surface-raised);border:1px solid var(--border);color:var(--text-2);font-size:var(--fs-2xs);white-space:nowrap;padding:.1rem .45rem}.tag-chip-add{color:var(--accent);border-style:dashed;border-color:var(--accent);background:0 0}.sheet-backdrop{background:var(--scrim);z-index:40;animation:backdrop-in var(--dur-base) var(--ease-out);position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}}@keyframes sheet-in{0%{transform:translate(-50%,100%)}}.sheet-closing{animation:backdrop-out var(--dur-exit) var(--ease-in) forwards}.sheet-closing .sheet{animation:sheet-out var(--dur-exit) var(--ease-in) forwards}@keyframes backdrop-out{to{opacity:0}}@keyframes sheet-out{to{transform:translate(-50%,100%)}}.sheet{overscroll-behavior:contain;background:var(--surface-high);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;width:min(560px,100vw);max-height:82vh;padding:0 1rem calc(1rem + env(safe-area-inset-bottom));z-index:41;animation:sheet-in var(--dur-base) var(--ease-out);border-bottom:0;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.sheet-handle{background:var(--surface-high);touch-action:none;border:0;border-radius:0;place-items:center;width:100%;height:28px;margin:0 0 .2rem;padding:0;display:grid;position:sticky;top:0}.sheet-handle:before{content:"";border-radius:var(--r-pill);background:var(--border-2);width:32px;height:4px}.sheet-handle:after{content:"";width:50%;height:48px;position:absolute;top:0;left:50%;transform:translate(-50%)}@media (min-width:600px){.sheet{border-bottom:1px solid var(--border);border-radius:var(--r-xl);width:min(480px,100% - 48px);max-height:80vh;animation:dialog-in var(--dur-base) var(--ease-out);padding-top:1rem;padding-bottom:1rem;top:50%;bottom:auto;transform:translate(-50%,-50%)}.sheet-handle{display:none}.sheet-closing .sheet{animation:dialog-out var(--dur-exit) var(--ease-in) forwards}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)}}@keyframes dialog-out{to{opacity:0;transform:translate(-50%,-48%)}}.sheet-head{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.sheet-title{font-size:var(--fs-base);color:var(--text-2);flex:1}.sheet-title strong{color:var(--text);font-variant-numeric:tabular-nums}.sheet-close{border-radius:var(--r-pill);background:var(--surface-raised);flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex}.sheet-close svg{width:.7rem;height:.7rem;stroke:var(--text-2);stroke-width:1.6px}.sheet-label{font-size:var(--fs-2xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin:.7rem 0 .35rem}.sheet-btns{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.sheet-btns-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:420px){.sheet-btns-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}}.sheet-btn{border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--surface-inset);color:var(--text-2);font-size:var(--fs-xs);padding:.65rem .4rem;font-weight:600}.sheet-btn-on{border-color:var(--selected-container);background:var(--selected-container);color:var(--on-selected)}.sheet-foot{justify-content:flex-end;margin-top:.9rem;display:flex}.sheet-next{font-size:var(--fs-base);padding:.55rem 1rem}.rally-save{bottom:calc(5.5rem + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--surface) 30%);z-index:5;align-items:center;gap:.7rem;margin-top:.3rem;padding:.4rem 0;display:flex;position:sticky}.rally-save button{padding:.5rem 1rem}.rally-saved{font-size:var(--fs-sm);color:var(--win)}.upsell{border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent-dim);gap:.4rem;margin:1rem 0;padding:.9rem 1rem;display:grid}.upsell h2{color:var(--accent);margin:0}.upsell p{font-size:var(--fs-sm);color:var(--text-2);margin:0}.upsell-cta{font-size:var(--fs-sm);margin:0}.skeleton-stack{gap:.75rem;margin-top:1rem;display:grid}.skeleton{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden}@media (max-width:839px){.skeleton{background:var(--surface-inset)}}.skeleton:after{content:"";background:linear-gradient(105deg,#0000,#ffffff0d,#0000);animation:1.4s linear infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}.skeleton-block{height:7rem}.skeleton-row{height:3.25rem}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{content:none;animation:none}}main.card{animation:page-in var(--dur-base) var(--ease-out)}body:has(.tab-bar) main.card{animation:none}main.card:has(.skeleton-stack){animation:none}@keyframes page-in{0%{opacity:0}}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}@media (prefers-reduced-motion:no-preference){html[data-vt=push]::view-transition-old(root){animation:.35s cubic-bezier(.05,.7,.1,1) forwards vt-recede}html[data-vt=push]::view-transition-new(root){animation:.35s cubic-bezier(.05,.7,.1,1) vt-push-in}html[data-vt=pop]::view-transition-old(root){z-index:1;animation:.35s cubic-bezier(.05,.7,.1,1) forwards vt-pop-out}html[data-vt=pop]::view-transition-new(root){animation:.35s cubic-bezier(.05,.7,.1,1) vt-return}}@keyframes vt-push-in{0%{transform:translate(100%)}}@keyframes vt-recede{to{opacity:.85;transform:translate(-24%)}}@keyframes vt-pop-out{to{transform:translate(100%)}}@keyframes vt-return{0%{opacity:.85;transform:translate(-24%)}}.ptr-disc{--ptr-p:0;z-index:25;background:var(--surface-high);border:1px solid var(--border-2);border-radius:var(--r-pill);width:40px;height:40px;box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out), transform .25s var(--ease-out);place-items:center;display:grid;position:fixed;top:10px;left:50%;transform:translate(-50%)}.ptr-ring{width:22px;height:22px}.ptr-ring circle{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:calc(var(--ptr-p,0) * 42 + 6) 53.4}.ptr-spinning .ptr-ring{animation:.8s linear infinite ptr-spin}.ptr-spinning .ptr-ring circle{stroke-dasharray:34 53.4}@keyframes ptr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ptr-spinning .ptr-ring{animation-duration:1.6s}}.landing-card{text-align:center}.landing-head h1{margin:.5rem 0 .15rem}.landing-mark{width:44px;height:76px}.landing-tagline{color:var(--text-2);margin:0 0 1.1rem}.landing-features{text-align:left;gap:.7rem;margin:0 0 1.1rem;padding:0;list-style:none;display:grid}.landing-features li{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);align-items:flex-start;gap:.7rem;padding:.6rem .7rem;display:flex}.feature-icon{fill:none;width:22px;height:22px;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:.1rem}.landing-features strong{font-size:var(--fs-base);display:block}.feature-hint{color:var(--text-3);font-size:var(--fs-xs);display:block}.landing-store{font-size:var(--fs-base)}.landing-invite{color:var(--text-3);font-size:var(--fs-xs);margin-bottom:.6rem}.landing-footer{font-size:var(--fs-sm);margin-bottom:0}.landing-footer a{color:var(--text-3)}.signin-alt{flex-wrap:wrap;justify-content:center;gap:.25rem 1.25rem;margin-top:.35rem;display:flex}.text-action{color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:.7rem .4rem}.text-action:is(:active,.is-pressed){background:var(--surface-raised);color:var(--text)}.field-aside{justify-content:flex-end;margin:-.45rem 0;display:flex}.signin-social{gap:.5rem;margin-bottom:.75rem;display:grid}.doc-card{width:min(60ch + 4rem,100% - 32px);margin:1.5rem 0;line-height:1.55}.doc-card h2{font-size:var(--fs-md);margin:1.4rem 0 .5rem}.doc-updated{color:var(--text-3);font-size:var(--fs-sm)}.doc-card table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);margin:.6rem 0;display:block;overflow-x:auto}.doc-card th,.doc-card td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.45rem .55rem}.doc-card th{background:var(--surface-inset);color:var(--text-3)}.doc-card ul{padding-left:1.2rem}.tab-bar{view-transition-name:tab-bar;left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 70%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--r-pill);width:max-content;box-shadow:var(--shadow-sm);z-index:20;padding:.25rem .5rem;position:fixed;transform:translate(-50%)translateZ(0)}@media (max-width:839px){.tab-bar{background:color-mix(in srgb, var(--surface-raised) 70%, transparent)}}@media (prefers-reduced-transparency:reduce){.tab-bar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (max-width:839px) and (prefers-reduced-transparency:reduce){.tab-bar{background:var(--surface-raised)}}.tab-bar-inner{justify-content:center;align-items:center;gap:.75rem;display:flex}.tab-brand{font-size:var(--fs-sm);letter-spacing:.02em;color:var(--text-2);white-space:nowrap;font-weight:700;display:none}.tab-brand b{color:var(--accent)}.tab-bar .tab{border-radius:var(--r-pill);color:var(--text-3);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.25rem;padding:.45rem 1.1rem;text-decoration:none;display:flex;position:relative}.tab-bar .tab:after{content:"";position:absolute;inset:-6px -4px}.tab-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.tab-bar .tab-active{color:var(--accent);background:var(--selected-tint);animation:tab-pop var(--dur-base) cubic-bezier(.27, 1.06, .18, 1)}@keyframes tab-pop{0%{transform:scale(.85)}}.page-card,.match-card{padding-bottom:calc(6.1rem + env(safe-area-inset-bottom))}body:has(.tab-bar){align-content:start}@media (min-width:840px){.tab-bar{box-shadow:none;border:none;border-bottom:1px solid var(--border);border-radius:0;width:100%;margin:0 0 1.25rem;padding:0;position:sticky;inset:0 auto auto;transform:none}.tab-bar:before{content:"";pointer-events:none;background:linear-gradient(#04081259,#0000);height:28px;position:absolute;bottom:-28px;left:0;right:0}.tab-bar-inner{width:94vw;max-width:1080px;height:var(--appbar-h);justify-content:flex-start;gap:.4rem;margin:0 auto}.tab-brand{margin-right:1rem;display:inline}.tab-bar .tab{font-size:var(--fs-sm);flex-direction:row;flex:none;gap:.45rem;padding:.4rem .85rem;font-weight:600}.tab-bar .tab-label{font-size:inherit;line-height:1.5}.page-card,.match-card{background:0 0;border:none;border-radius:0;flex-direction:column;padding-top:0;padding-bottom:1.5rem;display:flex}}@media (hover:hover) and (pointer:fine){body{-webkit-user-select:text;user-select:text}}@media (hover:none) and (pointer:coarse){*{scrollbar-width:none}::-webkit-scrollbar{display:none}}@media (min-width:1024px){.page-card,.match-card{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:1.5rem;width:min(1080px,94vw);display:grid}.page-card>*,.match-card>*{grid-column:1/-1;min-width:0}.page-card>.stat-card,.page-card>.chart-card,.page-card>.mode-split,.page-card>.profile-sec,.match-card>.stat-card,.match-card>.chart-card{grid-column:auto}.page-card>.goals-card,.match-card>#tagging{grid-column:1/-1}.match-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}}.stat-card h2,.stat-card h3,.chart-card h2,.chart-card h3,.rally-rows h3,.page-card h2,.sets h2,.upsell h2{text-transform:uppercase;letter-spacing:.09em;font-size:var(--fs-xs);color:var(--text-2);font-weight:600}.stat-card h2{margin:0 0 .55rem}.stat-card h2:not(:first-child),.stat-card h3:not(:first-child){margin-top:.9rem}.stat-card h3,.rally-rows h3{margin:0 0 .55rem}.page-card h2{margin:1.5rem 0 .6rem}.sets h2 .set-pair{letter-spacing:.02em;font-size:1rem}.kp-vals,.serve-meta,.trend-axis,.set-duration{font-variant-numeric:tabular-nums}.chart-explainer{transition:z-index 0s .2s allow-discrete;display:block;position:relative}.chart-explainer summary{border-radius:var(--r-pill);border:1px solid var(--border-2);width:1.2rem;height:1.2rem;color:var(--text-3);font-size:var(--fs-2xs);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;line-height:1;list-style:none;display:inline-flex;position:absolute;top:-1.8rem;right:0}.chart-explainer summary::-webkit-details-marker{display:none}.chart-explainer[open] summary{border-color:var(--accent);color:var(--accent)}.chart-explainer[open]{z-index:21;transition:none}.chart-explainer p{z-index:15;background:var(--surface-raised);border:1px solid var(--border-2);border-radius:var(--r-md);box-shadow:var(--shadow-md);color:var(--text-2);font-size:var(--fs-sm);text-align:left;margin:0;padding:.6rem .75rem;line-height:1.5;transition:transform .18s;position:absolute;top:.4rem;left:0;right:0;transform:translateY(-.3rem)}.chart-explainer[open] p{transform:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tab-label{font-size:var(--fs-2xs);white-space:nowrap;line-height:1}.chart-line{stroke:var(--accent);stroke-width:2px}rect.chart-line{fill:var(--accent);stroke:none}.chart-zero{stroke:var(--border-2);stroke-width:1px;stroke-dasharray:3 3}:root{--zone-1:#8e9bb0;--zone-2:#4da3e8;--zone-3:#46c46b;--zone-4:#f2a03d;--zone-5:#ef5f5f;--seq-1:#536485;--seq-2:#5f7fae;--seq-3:#7fa3d4;--seq-4:#9fc5ec;--seq-5:#c9e2fb}.donut{display:block}.donut-arc{fill:none;stroke-width:13px}.donut-won{stroke:var(--us)}.donut-rest{stroke:var(--border-2)}.donut-center{fill:var(--text);font-size:22px;font-weight:700}.donut-sub{fill:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:9.5px}.hr-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 4}.hr-line-wrap{display:block;position:relative}.hr-grid-label{font-size:var(--fs-2xs);color:var(--text-3);line-height:1.2;position:absolute;right:4px;transform:translateY(-100%)}.hr-extreme{fill:var(--text-3)}.vs-panel{gap:.4rem;display:grid}.vs-legend{font-size:var(--fs-2xs);color:var(--text-3);justify-content:flex-end;gap:.9rem;display:flex}.vs-key{align-items:center;gap:.3rem;display:inline-flex}.vs-dot{border-radius:var(--r-pill);background:var(--border-2);flex:none;width:.55rem;height:.55rem}.vs-dot-us{background:var(--us)}.vs-dot-them{background:var(--them)}.vs-row{grid-template-columns:1.8rem 1fr minmax(5.2rem,auto) 1fr 1.8rem;align-items:center;gap:.45rem;display:grid}.vs-num{font-size:var(--fs-xs);color:var(--text-2);font-variant-numeric:tabular-nums;text-align:right}.vs-row .vs-num:last-child{text-align:left}.vs-label{font-size:var(--fs-xs);color:var(--text-3);text-align:center;white-space:nowrap}.vs-track{background:var(--surface-raised);border-radius:var(--r-xs);height:.5rem;display:flex;overflow:hidden}.vs-track-us{justify-content:flex-end}.vs-fill{height:100%;display:block}.vs-fill-us{background:var(--us);border-radius:var(--r-xs) 0 0 var(--r-xs)}.vs-fill-them{background:var(--them);border-radius:0 var(--r-xs) var(--r-xs) 0}.segbar-panel{gap:.55rem;display:grid}.segbar{border-radius:5px;gap:2px;height:.85rem;display:flex;overflow:hidden}.segbar-seg{min-width:2px;height:100%;display:block}.segbar-legend{gap:.25rem;display:grid}.segbar-key{font-size:var(--fs-xs);align-items:center;gap:.45rem;display:flex}.segbar-key-label{color:var(--text-2);flex:1;min-width:0}.segbar-key-meta{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}.seg-a{background:var(--accent)}.seg-b{background:var(--seq-3)}.zone-1{background:var(--zone-1)}.zone-2{background:var(--zone-2)}.zone-3{background:var(--zone-3)}.zone-4{background:var(--zone-4)}.zone-5{background:var(--zone-5)}.court{justify-items:center;gap:.3rem;display:grid}.court-svg{width:100%;max-width:240px;display:block}.court-small .court-svg{max-width:170px}.court-line{fill:none;stroke:var(--border-2);stroke-width:1.5px}.court-line-mid{stroke:var(--border-2);stroke-width:1.5px}.court-line-serve{stroke:var(--border-2);stroke-width:1px;stroke-dasharray:3 3}.court-wash{fill:var(--us)}.court-pct{fill:var(--text);font-size:13px;font-weight:700}.court-sub{fill:var(--text-3);font-size:9px}.court-title{font-size:var(--fs-2xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin:0}.stats-hero{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.5rem;margin:1.1rem 0;display:flex}@media (max-width:839px){.stats-hero,.page-head .filters,.insights-control{padding-inline:1.5rem}}.hero-donut{flex:none;align-content:center;justify-items:center;gap:.35rem;display:grid}.hero-donut .donut{width:clamp(120px,34vw,132px);height:auto}.donut-caption{font-size:var(--fs-2xs);color:var(--text-3);white-space:nowrap}.page-head,.stats-panels{display:contents}.hero-tiles{flex:8rem;grid-template-columns:1fr;align-content:center;gap:0;min-width:0;display:grid}.tile{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);gap:.2rem;min-width:0;padding:.7rem .8rem;display:grid}.tile span{font-size:var(--fs-2xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.07em}.hero-tiles .tile span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tile strong{font-variant-numeric:tabular-nums;font-size:1.7rem}.hero-tiles .tile{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.4rem .1rem;display:flex}.hero-tiles .tile:last-child{border-bottom:0}.hero-tiles .tile span{letter-spacing:.02em}.hero-tiles .tile strong{font-size:var(--fs-xl)}.tile-streak .icon-flame{width:1.15rem;height:1.15rem}.tile-streak .icon-down{width:1rem;height:1rem}.tile-val-win{color:var(--win)}.tile-val-loss{color:var(--loss)}.court-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:.4rem 0 .2rem;display:grid}.form-cells{justify-content:space-around;gap:.8rem;margin:.4rem 0 .6rem;display:flex}.form-cell{justify-items:center;gap:.35rem;display:grid}.form-cell-label{font-size:var(--fs-2xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.07em}.delta-pill{border-radius:var(--r-pill);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;align-items:center;gap:.28rem;padding:.14rem .5rem;font-weight:600;display:inline-flex}.kp-vals .delta-pill{margin-inline-start:.55rem}.delta-arrow{fill:currentColor;width:.5rem;height:.5rem}.delta-pill.delta-up{background:var(--win-container);color:var(--on-win-container)}.delta-pill.delta-down{background:var(--loss-container);color:var(--on-loss-container)}.delta-pill.delta-flat{background:var(--surface-raised);color:var(--text-3)}.match-hero{text-align:center;justify-items:center;gap:.4rem;margin:.4rem 0 1.1rem;display:grid}.hero-outcome{text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:2.1rem;font-weight:800}.hero-win{color:var(--win)}.hero-loss{color:var(--loss-strong)}.hero-draw,.hero-session{color:var(--text-2)}.score-grid{gap:.45rem;margin:.3rem 0;display:flex}.score-col{gap:.3rem;display:grid}.score-cell{border-radius:var(--r-md);background:var(--surface-inset);border:1px solid var(--border);min-width:2.2rem;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;text-align:center;padding:.35rem .4rem;font-weight:700}.score-cell-won{color:var(--on-win-container);border-color:var(--win-container);background:var(--win-container)}.score-cell-lost{color:var(--on-loss-container);border-color:var(--loss-container);background:var(--loss-container)}.score-cell-rest{color:var(--text-2)}.score-row-labels{align-self:flex-start}.score-row-label{font-size:var(--fs-2xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;border:1px solid #0000;align-items:center;padding:.35rem 0;font-weight:600;display:flex}.score-row-label:before{content:"​";font-size:var(--fs-lg);font-weight:700;line-height:normal}.mom-area-us{fill:var(--us);opacity:.16}.mom-area-them{fill:var(--them);opacity:.2}.mom-wrap{position:relative}.mom-set-labels{pointer-events:none;position:absolute;inset:0}.mom-set-label{letter-spacing:.02em;color:var(--text-3);font-size:10px;font-weight:600;line-height:1;position:absolute;top:2px;left:4px}.score-sub{font-size:var(--fs-2xs);color:var(--text-3);text-align:center;font-variant-numeric:tabular-nums}.score-grid-sm{gap:.3rem;margin:0}.score-grid-sm .score-cell{border-radius:var(--r-sm);min-width:1.55rem;font-size:var(--fs-sm);padding:.12rem .3rem}.tag-details summary::-webkit-details-marker{display:none}.tag-open{text-align:center;border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent-dim);color:var(--accent);font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.65rem .8rem;font-weight:600;list-style:none;display:block}.tag-details[open] .tag-open{border-color:var(--border-2);color:var(--text-3);background:0 0;margin-bottom:.6rem}.type-btns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-bottom:.5rem;display:grid}.feel-form{gap:.65rem;margin-top:.7rem;display:grid}.feel-scale{border:0;gap:.3rem;min-width:0;margin:0;padding:0;display:grid}.feel-scale-label{font-size:var(--fs-xs);color:var(--text-2);padding:0}.feel-scale-btns{border:1px solid var(--border-2);border-radius:var(--r-md);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.feel-scale-btns .side-option span{text-align:center;font-size:var(--fs-base);font-variant-numeric:tabular-nums;padding:.5rem 0;display:block}.streak-val{align-items:center;gap:.3rem;display:inline-flex}.weeks-val{color:var(--seq-4);align-items:center;gap:.3rem;display:inline-flex}.icon-weeks{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.icon-flame{width:1.05rem;height:1.05rem;fill:var(--zone-4)}.icon-down{width:.9rem;height:.9rem;fill:var(--loss-strong)}.trend-svg{height:48px}.mindset-meters{gap:.45rem;margin-bottom:.55rem;display:grid}.meter-row{grid-template-columns:5.5rem 1fr 2.2rem;align-items:center;gap:.5rem;display:grid}.meter-label{font-size:var(--fs-xs);color:var(--text-2)}.meter-dots{gap:.35rem;display:flex}.meter-dot{border-radius:var(--r-pill);background:var(--surface-raised);border:1px solid var(--border-2);width:.85rem;height:.85rem}.meter-dot-on{background:var(--accent);border-color:var(--accent)}.meter-val{font-size:var(--fs-xs);color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums}:root{interpolate-size:allow-keywords}.profile-sec::details-content{block-size:0;transition:block-size var(--sec-dur,.3s) cubic-bezier(.33, 0, .15, 1), content-visibility var(--sec-dur,.3s) allow-discrete;overflow-y:clip}.tag-details::details-content{block-size:0;transition:block-size var(--sec-dur,.3s) cubic-bezier(.33, 0, .15, 1), content-visibility var(--sec-dur,.3s) allow-discrete;overflow-y:clip}[data-sec-notrans]::details-content{transition:none}[data-sec-peek]::details-content{content-visibility:visible;block-size:auto}.profile-sec[open]::details-content{block-size:auto;transition-timing-function:var(--sec-ease,cubic-bezier(.33, 0, .15, 1))}.tag-details[open]::details-content{block-size:auto;transition-timing-function:var(--sec-ease,cubic-bezier(.33, 0, .15, 1))}.chart-explainer::details-content{opacity:0;transition:opacity .18s ease, content-visibility .18s allow-discrete}.chart-explainer[open]::details-content{opacity:1}@keyframes sec-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.profile-sec[open] .sec-body,.tag-details[open] .rally-tagger{animation:sec-in var(--sec-dur,.3s) cubic-bezier(.33, 0, .15, 1) backwards}@media (prefers-reduced-motion:reduce){.chart-explainer p,.sec-chevron{transition:none}.profile-sec::details-content{transition:none}.chart-explainer::details-content{transition:none}.tag-details::details-content{transition:none}.profile-sec[open] .sec-body,.tag-details[open] .rally-tagger{animation:none}}.profile-sec{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-inset);margin:.55rem 0}.profile-sec summary,.profile-sec-link{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;align-items:center;gap:.6rem;padding:.85rem .9rem;list-style:none;display:flex}.profile-sec-link{color:inherit;text-decoration:none}.profile-sec summary::-webkit-details-marker{display:none}.sec-title{min-width:0;font-weight:600;font-size:var(--fs-base);flex:1}.sec-hint{color:var(--text-3);font-size:var(--fs-xs);white-space:nowrap;font-variant-numeric:tabular-nums}.sec-chevron{width:.65rem;height:.65rem;stroke:var(--text-3);stroke-width:1.6px;fill:none;flex:none;transition:transform .15s}.profile-sec[open]>summary .sec-chevron{transform:rotate(90deg)}.sec-body{gap:.6rem;padding:.1rem .9rem .9rem;display:grid}.sec-body>.chart-explainer{margin:-.3rem 0 0}.sec-body>.chart-explainer summary{margin-left:auto;display:flex;position:static}.sec-body>.chart-explainer p{top:1.6rem}.ws-defaults-head{align-items:center;gap:.5rem;margin:1.5rem 0 .6rem;display:flex;position:relative}.ws-defaults-head h2{margin:0}.ws-defaults-head .chart-explainer,.ws-defaults-head .chart-explainer summary{position:static}.ws-defaults-head .chart-explainer p{top:calc(100% + .3rem)}.settings-list{font-size:var(--fs-sm);gap:.65rem;display:grid}.danger-link{color:var(--loss-strong)}button,.chip,.tab-bar .tab,.settings-row,.match-list a,.profile-sec summary,.profile-sec-link,.rec-tile-link,.kp-row-link,.chart-explainer summary{transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}@media (hover:hover){button:not(:disabled):not(.match-menu-backdrop):not(.dialog-backdrop):not(.sheet-handle):hover,.chip:hover,.tab-bar .tab:hover,.match-list a:hover,.profile-sec-link:hover,.rec-tile-link:hover,.kp-row-link:hover,.settings-row:not(.settings-row-static):hover{background-image:linear-gradient(color-mix(in srgb, currentColor 8%, transparent), color-mix(in srgb, currentColor 8%, transparent))}}button:is(:active,.is-pressed):not(:disabled):not(.match-menu-backdrop):not(.dialog-backdrop):not(.sheet-handle),.chip:is(:active,.is-pressed),.tab-bar .tab:is(:active,.is-pressed),.match-list a:is(:active,.is-pressed),.rec-tile-link:is(:active,.is-pressed),.kp-row-link:is(:active,.is-pressed),.profile-sec-link:is(:active,.is-pressed),.profile-sec summary:is(:active,.is-pressed),.settings-row:not(.settings-row-static):is(:active,.is-pressed){background-image:linear-gradient(color-mix(in srgb, currentColor 10%, transparent), color-mix(in srgb, currentColor 10%, transparent))}button:is(:active,.is-pressed):not(:disabled):not(.match-menu-backdrop):not(.dialog-backdrop){transform:scale(.97)}button:not(.sheet-close):not(.goal-remove):not(.sheet-handle):not(.chip):not(.sheet-btn):not(.match-menu-item):not(.match-menu-backdrop):not(.dialog-backdrop):not(.filter-summary):not(.share-chart-btn):not(.demo-switch){transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), border-radius var(--dur-base) cubic-bezier(.42, 1.67, .21, .9)}button:is(:active,.is-pressed):not(:disabled):not(.sheet-close):not(.goal-remove):not(.sheet-handle):not(.chip):not(.sheet-btn):not(.match-menu-item):not(.match-menu-backdrop):not(.dialog-backdrop):not(.filter-summary):not(.share-chart-btn):not(.demo-switch){border-radius:var(--r-lg);transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), border-radius var(--dur-fast) var(--ease-out)}.settings-row:is(:active,.is-pressed),.match-list a:is(:active,.is-pressed),.match-menu-item:is(:active,.is-pressed),.profile-sec summary:is(:active,.is-pressed),.profile-sec-link:is(:active,.is-pressed){background-color:var(--surface-raised)}.settings-row:is(:active,.is-pressed){transform:none}.match-list a:is(:active,.is-pressed),.rec-tile-link:is(:active,.is-pressed){transform:scale(.98)}.chip:is(:active,.is-pressed){background-color:var(--surface-raised);border-color:var(--border-2)}.tab-bar .tab:is(:active,.is-pressed){background:var(--selected-tint);transform:none}.is-pressed{transition-duration:40ms}.levelup-strip{border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent-dim);gap:.1rem;margin-bottom:.6rem;padding:.7rem .9rem;display:grid;position:relative;overflow:hidden}.levelup-strip strong{color:var(--accent);font-size:var(--fs-base)}.levelup-detail{color:var(--text-2);font-size:var(--fs-xs)}.levelup-confetti{pointer-events:none;position:absolute;inset:0}.levelup-confetti i{opacity:0;border-radius:1px;width:5px;height:9px;animation:1.6s ease-in .2s 2 confetti-fall;position:absolute;top:-8px}.levelup-confetti i:first-child{background:var(--accent);animation-delay:.2s;left:8%}.levelup-confetti i:nth-child(2){background:var(--them);animation-delay:.55s;left:22%}.levelup-confetti i:nth-child(3){background:var(--win);animation-delay:.35s;left:34%}.levelup-confetti i:nth-child(4){background:var(--zone-4);animation-delay:.7s;left:47%}.levelup-confetti i:nth-child(5){background:var(--accent);animation-delay:.45s;left:58%}.levelup-confetti i:nth-child(6){background:var(--them);animation-delay:.25s;left:71%}.levelup-confetti i:nth-child(7){background:var(--win);animation-delay:.6s;left:83%}.levelup-confetti i:nth-child(8){background:var(--zone-4);animation-delay:.4s;left:93%}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:.2;transform:translate(6px,64px)rotate(200deg)}}@media (prefers-reduced-motion:reduce){.levelup-confetti{display:none}}.ach-chips{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.ach-chip{border-radius:var(--r-pill);border:1px solid var(--border-2);background:var(--surface-raised);font-size:var(--fs-xs);color:var(--text-2);align-items:center;gap:.35rem;padding:.25rem .6rem;display:inline-flex}.ach-chip .ach-icon{width:15px;height:15px}.back-link{color:var(--text-2);align-items:center;gap:.35rem;display:inline-flex}.back-arrow{width:36px;height:36px;color:var(--text-2);border-radius:50%;justify-self:start;place-items:center;margin:0 0 .2rem -.4rem;display:inline-grid;position:relative}.back-arrow:after{content:"";position:absolute;inset:-4px}.back-arrow svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.back-arrow:is(:active,.is-pressed){background:var(--surface-raised)}@media (hover:hover){.back-arrow:hover{background:var(--surface-raised)}}.back-chevron{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.icon-check{fill:none;width:.85em;height:.85em;stroke:var(--win);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.pair-done .icon-check{margin-left:.4rem}.rally-saved .icon-check{margin-right:.3rem}.deleted-list li{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);padding:.6rem .8rem}.deleted-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;display:grid}.deleted-main{gap:.3rem;min-width:0;display:grid}.deleted-meta{color:var(--text-3);font-size:var(--fs-xs)}.restore-btn{font-size:var(--fs-sm);padding:.4rem .8rem}.settings-row-static{cursor:default}.settings-row-static:is(:active,.is-pressed){border-color:var(--border);background-color:var(--surface-inset)}@media (hover:hover){.settings-row-static:hover{border-color:var(--border);background-color:var(--surface-raised)}}.row-label{gap:.05rem;min-width:0;display:grid}.row-hint{color:var(--text-3);font-size:var(--fs-2xs)}.row-value{color:var(--text-3);font-size:var(--fs-sm);flex:none}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:.6rem;width:100%;display:flex}.toggle-switch,.demo-switch{border-radius:var(--r-pill);border:1px solid var(--border-2);background:var(--surface-inset);width:2.7rem;height:1.55rem;min-height:0;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex:none;padding:0;position:relative}.toggle-switch-thumb,.demo-switch-thumb{border-radius:var(--r-pill);background:var(--text-3);width:1.05rem;height:1.05rem;transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-fast) var(--ease-out);position:absolute;top:50%;left:.2rem;transform:translateY(-50%)}.toggle-row[aria-checked=true] .toggle-switch{border-color:var(--accent);background:var(--accent-dim)}.toggle-row[aria-checked=true] .toggle-switch-thumb{background:var(--accent);transform:translateY(-50%)translate(1.1rem)}.toggle-row:disabled{opacity:.6}.row-trailing{flex:none;align-items:center;gap:.4rem;display:inline-flex}.lang-options{margin-top:.2rem}.about-block{color:var(--text-3);font-size:var(--fs-xs);text-align:center;margin:.9rem 0 0}.about-block a{color:var(--text-2)}.signout-row{margin-top:.55rem}.dialog-backdrop{z-index:40;background:var(--scrim);cursor:default;border:none;border-radius:0;padding:0;position:fixed;inset:0}.confirm-dialog{z-index:41;background:var(--surface-high);border:1px solid var(--border-2);border-radius:var(--r-lg);width:min(20rem,100vw - 2.5rem);box-shadow:var(--shadow-lg);gap:.9rem;padding:1.1rem;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.confirm-dialog-text{font-size:var(--fs-md);margin:0;font-weight:600}.confirm-dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.profile-head{align-items:center;gap:.75rem;display:flex}.profile-avatar{background:var(--surface-raised);border:1px solid var(--border-2);width:52px;height:52px;font-size:var(--fs-xl);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.profile-id{gap:.05rem;min-width:0;display:grid}.profile-name{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-email{color:var(--text-3);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar-edit{color:var(--text);cursor:pointer;margin:0;padding:0;position:relative}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-pencil{border-radius:var(--r-pill);background:var(--accent);border:2px solid var(--bg);place-items:center;width:1.35rem;height:1.35rem;display:grid;position:absolute;bottom:-3px;right:-3px}@media (max-width:839px){.avatar-pencil{border-color:var(--surface)}}.avatar-pencil svg{fill:none;width:.7rem;height:.7rem;stroke:var(--accent-ink);stroke-width:1.4px;stroke-linejoin:round}.avatar-form{margin:.6rem 0 .9rem}.avatar-form input[type=file]{font-size:var(--fs-xs);padding:.45rem}.level-strip{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);gap:.6rem;margin:.9rem 0 .4rem;padding:.85rem .9rem;display:grid;position:relative}.level-head{align-items:baseline;gap:.5rem;display:flex}.level-num{font-size:var(--fs-lg);font-weight:700}.level-title{color:var(--gold);font-weight:600;font-size:var(--fs-base)}.level-head .chart-explainer{align-self:center;margin-left:auto;position:static}.level-head .chart-explainer summary{position:static}.level-head .chart-explainer p{top:2.3rem}.xp-bar{height:4px;position:relative}.xp-active{border-radius:var(--r-pill);background:var(--gold);min-width:4px;height:100%;position:absolute;top:0;left:0;overflow:hidden}.xp-rest{border-radius:var(--r-pill);background:var(--surface-high);height:100%;position:absolute;top:0;right:10px}.xp-stop{background:var(--gold);border-radius:50%;width:4px;height:4px;position:absolute;top:0;right:0}.xp-active:after{content:"";background:linear-gradient(105deg, transparent 34%, color-mix(in srgb, var(--gold-hi) 55%, transparent) 46%, #ffffffbf 50%, color-mix(in srgb, var(--gold-hi) 55%, transparent) 54%, transparent 66%);animation:level-sheen 5s var(--ease-out) 1.2s infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes level-sheen{0%{transform:translate(-100%)}24%,to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.xp-active:after{animation:none}}.level-bar-labels{font-size:var(--fs-2xs);color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:.3rem;display:flex}.level-bar-now{color:var(--text-2);font-weight:600}.ach-closest{gap:.5rem;margin:.5rem 0 1.2rem;padding:0;list-style:none;display:grid}.ach-close-row{align-items:center;gap:.6rem;display:flex}.ach-close-text{flex:1;gap:.3rem;min-width:0;display:grid}.ach-close-text strong{font-size:var(--fs-base);font-weight:600}.ach-close-row .bar-track{height:.3rem}.ach-close-count{color:var(--text-3);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;flex:none}.rank-ladder{gap:2px;margin:.5rem 0 1.2rem;padding:0;list-style:none;display:grid}.rank-row{border-radius:var(--r-xs);font-size:var(--fs-base);align-items:baseline;gap:.6rem;padding:.4rem .55rem;display:flex}.rank-levels{color:var(--text-3);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;margin-left:auto}.rank-xp{text-align:right;min-width:4.4rem;color:var(--text-3);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums}.rank-past{opacity:.5}.rank-now{background:color-mix(in srgb, var(--gold) 12%, transparent)}.rank-now .rank-band{color:var(--gold);font-weight:700}.xp-chips{flex-wrap:wrap;gap:.4rem;display:flex}.xp-chip{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-inset);font-size:var(--fs-xs);color:var(--text-3);padding:.25rem .6rem}.xp-chip strong{color:var(--accent);margin-right:.25rem;font-weight:600}.empty-state{color:var(--text-3);font-size:var(--fs-base);align-items:flex-start;gap:.65rem;display:flex}.empty-state p{margin:0}.empty-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.8;flex:none;width:26px;height:26px}.get-started{text-align:center;justify-items:center;gap:.5rem;padding:1rem .4rem .4rem;display:grid}.match-list li{--burst-delay:0s}.match-list li:nth-child(4n+2){--burst-delay:.45s}.match-list li:nth-child(4n+3){--burst-delay:.9s}.match-list li:nth-child(4n+4){--burst-delay:1.35s}.match-row-inner.is-new a.match-new{border-color:color-mix(in srgb, var(--gold) 72%, var(--border));background-color:color-mix(in srgb, var(--gold) 5%, var(--surface-inset));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent), inset 0 1.5px 0 #fff3, inset 0 -1.5px 0 #00000052, 0 2px 0 color-mix(in srgb, var(--gold) 32%, #000), 0 4px 8px #00000052;overflow:hidden}.match-row-inner.is-new a.match-new:after{content:"";background:linear-gradient(105deg, transparent 38%, color-mix(in srgb, var(--gold) 18%, transparent) 47%, color-mix(in srgb, var(--text) 14%, transparent) 52%, transparent 62%);animation:match-new-sheen 3.6s var(--ease-out) var(--burst-delay,0s) infinite;pointer-events:none;position:absolute;inset:0;transform:translate(-100%)}@keyframes match-new-sheen{0%{transform:translate(-100%)}34%,to{transform:translate(100%)}}.match-row-inner.is-new{--pop:.045;--tilt:7deg;animation:match-new-nudge 3.6s ease-in-out var(--burst-delay,0s) infinite}@media (min-width:480px){.match-row-inner.is-new{--pop:.026;--tilt:4deg}}@keyframes match-new-nudge{0%,37%,to{transform:perspective(700px)rotateY(0)rotateX(0)scale(1)}4.7%{transform:perspective(700px) rotateY(calc(-1 * var(--tilt))) rotateX(calc(.5 * var(--tilt))) scale(calc(1 + var(--pop)))}12.4%{transform:perspective(700px) rotateY(calc(.79 * var(--tilt))) rotateX(calc(-.29 * var(--tilt))) scale(calc(1 + .71 * var(--pop)))}20.2%{transform:perspective(700px) rotateY(calc(-.43 * var(--tilt))) rotateX(calc(.17 * var(--tilt))) scale(calc(1 + .4 * var(--pop)))}28%{transform:perspective(700px) rotateY(calc(.17 * var(--tilt))) rotateX(0deg) scale(calc(1 + .13 * var(--pop)))}}.match-new-sparks{pointer-events:none;position:absolute;inset:0}.match-row-inner.is-armed .match-new-sparks,.match-row-inner:not(.is-new) .match-new-sparks{display:none}.match-new-sparks:before{content:"";border-radius:var(--r-md);background:radial-gradient(70% 130% at 50% 50%, color-mix(in srgb, var(--gold) 15%, transparent), transparent 72%);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--gold) 55%, transparent), inset 0 0 14px color-mix(in srgb, var(--gold) 20%, transparent);opacity:0;animation:match-new-glow 3.6s var(--ease-out) var(--burst-delay,0s) infinite;position:absolute;inset:0}@keyframes match-new-glow{0%,30%,to{opacity:0}6%{opacity:1}}.match-new-sparks svg{--sx:50%;--sy:50%;--spark-size:.3rem;--spark-lag:0s;left:var(--sx);top:var(--sy);width:var(--spark-size);opacity:0;height:auto;animation:10.8s ease-in-out infinite match-new-spark;animation-delay:calc(var(--burst-delay,0s) + var(--spark-lag));position:absolute;overflow:visible}.match-new-sparks .spark-lit{filter:drop-shadow(0 0 2.5px color-mix(in srgb, var(--gold) 75%, transparent))}.match-new-sparks path{fill:color-mix(in srgb, var(--gold) 55%, #fff)}@keyframes match-new-spark{0%{opacity:0;transform:scale(.3)}.7%{opacity:1;transform:scale(1.12,.94)}1.7%{opacity:.32;transform:scale(.7,.8)}2.7%{opacity:1;transform:scale(.96,1.28)}4%{opacity:.42;transform:scale(.88)}5%{opacity:.9;transform:scale(1.16,1.04)}6%,to{opacity:0;transform:scale(.34)}}@media (prefers-reduced-motion:reduce){.match-row-inner.is-new a.match-new:after{animation:none;transform:translate(-100%)}.match-row-inner.is-new{animation:none}.match-new-sparks{display:none}}.form-strip{border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--surface-inset);color:var(--text-2);font-size:var(--fs-sm);align-items:center;gap:.6rem;margin:.1rem 0 .75rem;padding:.55rem .8rem;text-decoration:none;display:flex}.form-strip:is(:active,.is-pressed){background:var(--surface-raised)}.form-strip-marks{gap:.28rem;display:inline-flex}.form-mark{width:1.2rem;height:1.2rem;font-size:var(--fs-2xs);border-radius:50%;place-items:center;font-weight:800;display:grid}.form-mark-win{background:var(--accent-dim);color:var(--accent)}.form-mark-loss{background:var(--loss-container);color:var(--on-loss-container)}.form-mark-draw{background:var(--draw-container);color:var(--on-draw-container)}.form-strip-rate{color:var(--text);white-space:nowrap;font-weight:600}.form-strip-streak{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.form-strip .row-chevron{flex:none;margin-left:auto}.welcome-backdrop{z-index:22;transition:background var(--dur-base) var(--ease-out);background:#04081280;place-items:center;padding:1.1rem;display:grid;position:fixed;inset:0}.welcome-backdrop:has(.is-flung){background:0 0}.welcome-card{border:1px solid var(--border-2);border-radius:var(--r-lg);background:var(--surface-raised);width:min(420px,100%);max-height:100%;box-shadow:var(--shadow-md);touch-action:none;cursor:grab;will-change:transform;transition:transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out);animation:welcome-in var(--dur-base) var(--ease-out);padding:1.1rem 1.2rem 1rem;position:relative;overflow-y:auto}.welcome-mark{width:34px;height:58px;margin:0 auto .35rem;display:block}.welcome-card h2{text-align:center;text-transform:none;letter-spacing:normal;color:var(--text);margin:0 0 .4rem}.welcome-title{gap:.15rem;display:grid}.welcome-kicker{font-size:var(--fs-sm);color:var(--text-3);letter-spacing:.04em;font-weight:400}.welcome-word{letter-spacing:.005em;color:var(--text);font-size:1.7rem;font-weight:800}.welcome-close{z-index:1;position:absolute;top:.55rem;right:.6rem}.welcome-card.is-dragging{cursor:grabbing;transition:none}.welcome-card.is-flung{opacity:0;pointer-events:none}@keyframes welcome-in{0%{opacity:0;transform:translateY(26px)scale(.96)}}.welcome-dismiss{justify-content:center;margin-top:1rem;display:flex}.welcome-dismiss-row{color:var(--text-3);font-size:var(--fs-sm)}.gs-steps{text-align:left;gap:.7rem;width:100%;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.gs-steps li{align-items:flex-start;gap:.65rem;display:flex}.gs-steps strong{font-size:var(--fs-base);display:block}.gs-hint{color:var(--text-3);font-size:var(--fs-xs);display:block}.gs-cta{border-radius:var(--r-pill);background:var(--accent);width:fit-content;color:var(--accent-ink);font-weight:700;font-size:var(--fs-base);transition:transform var(--dur-fast) var(--ease-out);margin:1rem auto 0;padding:.7rem 1.6rem;text-decoration:none;display:block;position:relative}.gs-cta:before{content:"";position:absolute;inset:-.35rem 0}.gs-cta:is(:active,.is-pressed){transform:scale(.97)}.gs-mark{border:1px solid var(--border-2);background:var(--surface-inset);width:1.5rem;height:1.5rem;color:var(--text-3);font-size:var(--fs-xs);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.trend-rows{grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:.5rem .6rem;margin-top:.5rem;display:grid}.trend-row{font-size:var(--fs-xs);display:contents}.trend-row-label{color:var(--text-3);white-space:nowrap}.trend-row-cell{min-width:0}.trend-row-track{min-width:6px;display:block}.trend-row-count{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.period-empty{margin:.2rem 0 .6rem}.confirm-inline{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.confirm-q{color:var(--text-2);font-size:var(--fs-xs)}.confirm-inline button{font-size:var(--fs-sm);padding:.35rem .7rem}.goal-head{flex-wrap:wrap}.goal-head .confirm-inline{flex-wrap:nowrap;flex:1 0 100%;justify-content:flex-end}.spinner{vertical-align:-.1em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.85em;height:.85em;margin-right:.4em;animation:.7s linear infinite spinner-turn;display:inline-block}@keyframes spinner-turn{to{transform:rotate(1turn)}}.goal-remove .spinner{margin-right:0}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.error-page-note{color:var(--text-2);font-size:var(--fs-base)}.card>.error-page-row,.card>button+.error-page-row{margin-top:.65rem}.toast{left:50%;bottom:calc(5.6rem + env(safe-area-inset-bottom));z-index:30;background:color-mix(in srgb, var(--surface-high) 65%, transparent);border:1px solid var(--border-2);border-radius:var(--r-pill);max-width:min(20rem,86vw);color:var(--text);font-size:var(--fs-sm);box-shadow:var(--shadow-sm);animation:toast-in var(--dur-base) var(--ease-out);transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);padding:.55rem 1rem;font-weight:600;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.toast-leave{opacity:0;transition-duration:var(--dur-exit);transition-timing-function:var(--ease-in);transform:translate(-50%,8px)}.offline-bar{z-index:21;padding:.35rem 1rem;padding-top:calc(.35rem + env(safe-area-inset-top));background:var(--surface-high);border-bottom:1px solid var(--border);color:var(--text-3);font-size:var(--fs-sm);text-align:center;animation:offline-bar-in var(--dur-base) var(--ease-out);justify-self:stretch;font-weight:600;position:sticky;top:0}.offline-bar.is-back{background:var(--win-container);color:var(--on-win-container);border-bottom-color:var(--win-container)}@keyframes offline-bar-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.offline-bar{animation:none}}@media (min-width:840px){.offline-bar{position:static}}.donut-arc{stroke-dasharray:100;animation:arc-sweep var(--dur-slow) var(--ease-out)}@keyframes arc-sweep{0%{stroke-dashoffset:100px}}.vs-fill,.xp-active,.bar-fill,.bar-fill-alt{transform-origin:0;animation:bar-grow-x var(--dur-slow) var(--ease-out) backwards}.vs-track-us .vs-fill{transform-origin:100%}@keyframes bar-grow-x{0%{transform:scaleX(0)}}.vs-panel .vs-row:nth-child(2) .vs-fill{animation-delay:50ms}.vs-panel .vs-row:nth-child(3) .vs-fill{animation-delay:.1s}.vs-panel .vs-row:nth-child(4) .vs-fill{animation-delay:.15s}.chart-svg rect{transform-box:fill-box;transform-origin:bottom;animation:bar-grow-y var(--dur-slow) var(--ease-out)}@keyframes bar-grow-y{0%{transform:scaleY(0)}}.chart-svg{animation:chart-in var(--dur-slow) var(--ease-out)}@keyframes chart-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur-base:.01ms;--dur-slow:.01ms;--dur-exit:.01ms}.pu-intro,.replay-play{display:none}.replay-hr-heart{animation:none}}.rec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.3rem 0 .5rem;display:grid}.rec-tile strong{font-size:var(--fs-xl);color:var(--accent)}.rec-meta{font-size:var(--fs-2xs);color:var(--text-3);text-transform:none;letter-spacing:normal}.rec-tile-link,.kp-row-link{color:inherit;text-decoration:none}.rec-tile-link:is(:active,.is-pressed),.kp-row-link:is(:active,.is-pressed){background:var(--surface-raised)}.kp-row-link{border-radius:var(--r-sm)}.kp-row-link .kp-vals{align-items:center;gap:.35rem;display:inline-flex}@media (min-width:1024px){.page-head{align-items:center;gap:1.1rem;margin:.3rem 0 .9rem;display:flex}.page-head h1,.page-head .list-head{margin:0}.page-head{flex-wrap:wrap}.page-head .demo-bar{flex-basis:100%;margin:.2rem 0}.page-head .filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;margin:0 0 0 auto;display:flex}.page-head .filter-row{display:contents}.page-head .filter-row+.filter-row:before{content:"";background:var(--border-2);width:1px;height:1.05rem;margin:0 .35rem}.page-card>.stats-hero{flex-wrap:nowrap;grid-column:auto;gap:1rem;margin:.5rem 0 .25rem}.hero-donut{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);padding:.5rem 1.1rem}.hero-donut .donut{width:132px}.stats-hero .hero-tiles{flex-wrap:wrap;align-content:stretch;gap:.5rem;display:flex}.hero-tiles .tile{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-md);flex:calc(50% - .25rem);gap:.2rem;min-width:max-content;max-width:10rem;padding:.55rem .75rem;display:grid}.hero-tiles .tile span{letter-spacing:.07em}.hero-tiles .tile strong{font-size:1.7rem}.page-card>.mode-split{align-content:center;margin:.5rem 0 .25rem}.stats-panels{columns:2;column-gap:1.25rem;display:block}.stats-panels>*{break-inside:avoid;margin:0 0 1.25rem}.tile{padding:.55rem .75rem}.stats{grid-template-columns:repeat(auto-fill,minmax(7.5rem,9.5rem));gap:.6rem}.stats div{padding:.6rem .8rem}.stats strong{font-size:var(--fs-lg)}}@media (min-width:840px){.tag-open{width:max-content;margin-left:auto;padding:.5rem 1.2rem}.button-quiet{place-self:flex-start start;width:auto;padding:.5rem 1.1rem}}.sec-tabs{border-bottom:1px solid var(--border);margin:.35rem 0 0;display:flex;position:relative}.sec-tab{min-width:0;color:var(--text-3);text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:.25rem;padding:.5rem .2rem .7rem;text-decoration:none;display:flex}.sec-tab-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.sec-tab-label{font-size:var(--fs-2xs);font-weight:600;line-height:1.15}.sec-tab-active{color:var(--accent)}@media (hover:hover){.sec-tab:not(.sec-tab-active):hover{color:var(--text-2)}}.sec-tab:is(:active,.is-pressed){color:var(--text)}.sec-tab-indicator{background:var(--accent);height:2.5px;transition:transform var(--dur-base) var(--ease-out);border-radius:1px 1px 0 0;position:absolute;bottom:-1px;left:0}.set-seg{border-collapse:collapse;width:100%;font-size:var(--fs-sm);margin:.35rem 0 .2rem}.set-seg th,.set-seg td{text-align:right;border-bottom:1px solid var(--border-2);padding:.3rem .4rem}.set-seg th[scope=row],.set-seg thead th:first-child{text-align:left;font-weight:600}.set-seg thead th{color:var(--text-3);font-weight:500}.insights{gap:.4rem;margin:.25rem 0 0;display:grid}.insights-control{margin:.4rem 0 1rem}.insights-btn{width:100%;display:flex}.insights-preview{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.insights-more{border-radius:var(--r-pill);background:var(--surface-raised);color:var(--text-2);font-size:var(--fs-2xs);flex:none;padding:.1rem .4rem;font-weight:600}.insights-btn-icon{fill:none;width:.95rem;height:.95rem;stroke:var(--accent);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.insight-row{border-left:3px solid var(--accent);background:var(--surface-inset);border-radius:0 var(--r-md) var(--r-md) 0;font-size:var(--fs-sm);color:var(--text-2);margin:0;padding:.45rem .65rem}.sec-info{margin:.7rem 0 .2rem;padding:0 calc(.9rem + 1px);display:flow-root;position:relative}.sec-info .sec-info-title{margin:0 0 .55rem;padding-right:1.6rem}.record-chips{flex-wrap:wrap;justify-content:center;gap:.35rem;margin:.4rem 0 0;display:flex}.record-chip{border-radius:var(--r-pill);background:var(--accent-dim);color:var(--accent);font-size:var(--fs-xs);padding:.2rem .6rem;font-weight:600}.momentum-scrub{touch-action:pan-y;position:relative}.momentum-scrub svg{width:100%;display:block}.scrub-line{background:var(--accent);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.scrub-readout{border-radius:var(--r-sm);background:var(--surface-raised);color:var(--text);font-size:var(--fs-xs);pointer-events:none;padding:.15rem .5rem;position:absolute;top:.25rem;right:.35rem}.replay-stage{border-radius:var(--r-md);background:radial-gradient(120% 90% at 50% 0%, #ffffff08, transparent 60%), var(--surface-high);flex-direction:column;align-items:center;gap:.4rem;padding:.65rem .6rem .75rem;display:flex;position:relative;overflow:hidden}.replay-court{fill:none;width:100%;height:100%;stroke:var(--accent);stroke-width:1px;opacity:.11;pointer-events:none;position:absolute;inset:0}.replay-court-net{stroke-width:2px;stroke-dasharray:3 3}.replay-topline{justify-content:space-between;align-items:flex-start;gap:.5rem;width:100%;display:flex;position:relative}.replay-sb{border-collapse:collapse;background:color-mix(in srgb, var(--bg) 72%, transparent);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;line-height:1.25;overflow:hidden}.replay-sb th{text-align:left;color:var(--text-2);padding:.14rem .45rem;font-weight:600}.replay-sb-us th{color:var(--us)}.replay-sb-them th{color:var(--them)}.replay-sb td{text-align:center;color:var(--text-3);padding:.14rem .3rem}.replay-sb-won{color:var(--text);font-weight:600}.replay-sb-games{color:var(--text);border-left:1px solid var(--border)}.replay-sb-pts{min-width:1.9em;color:var(--accent);border-left:1px solid var(--border);font-weight:700}.replay-top-right{justify-items:end;gap:.15rem;margin-left:auto;display:grid}.replay-meta{color:var(--text-3);font-size:var(--fs-xs);white-space:nowrap;padding-top:.2rem}.replay-clock{color:var(--text-2);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;font-weight:600}.replay-score{letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--text);min-height:1.15em;animation:replay-pop var(--dur-fast) var(--ease-out);font-size:2.1rem;font-weight:800;position:relative}.replay-final{pointer-events:none;z-index:2;place-items:center;display:grid;position:absolute;inset:0}.replay-sb-ghost{visibility:hidden}.replay-sb-final{font-size:var(--fs-xl);animation:replay-final-in calc(var(--dur-slow) * 1.5) cubic-bezier(.05, .7, .1, 1) both}.replay-sb-final th,.replay-sb-final td{padding:.3rem .7rem}@keyframes replay-final-in{0%{opacity:.3;transform:translate(-120%,-110%)scale(.3)}to{opacity:1;transform:none}}.replay-us{color:var(--us);text-shadow:0 0 24px color-mix(in srgb, var(--us) 45%, transparent)}.replay-them{color:var(--them);text-shadow:0 0 24px color-mix(in srgb, var(--them) 45%, transparent)}@keyframes replay-pop{0%{opacity:.6;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.replay-cues{min-height:1.5rem;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:.6rem;display:flex;position:relative}.replay-run{border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-xs);animation:replay-cue-in var(--dur-fast) var(--ease-out);padding:.1rem .5rem}.replay-run-us{color:var(--us);background:color-mix(in srgb, var(--us) 16%, transparent)}.replay-run-them{color:var(--them);background:color-mix(in srgb, var(--them) 16%, transparent)}.replay-chip{border-radius:var(--r-pill);border:1px solid var(--accent);color:var(--accent);font-weight:700;font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;animation:replay-cue-in var(--dur-fast) var(--ease-out);padding:.1rem .5rem}@keyframes replay-cue-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.replay-hr{color:var(--text-2);font-size:var(--fs-sm);--beat-s:1s;align-items:center;gap:.3rem;display:inline-flex}.replay-hr-heart{width:.9rem;height:.9rem;fill:var(--loss-strong);animation:replay-heartbeat var(--beat-s,1s) ease-in-out infinite}@keyframes replay-heartbeat{0%,to{transform:scale(1)}18%{transform:scale(1.28)}36%{transform:scale(1)}}.replay-interstitial{background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:replay-inter-in var(--dur-base) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex;position:absolute;inset:0}.replay-interstitial-set{color:var(--text-2);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.replay-interstitial-score{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800}@keyframes replay-inter-in{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.replay-worm{border-radius:var(--r-sm);background:var(--surface);width:100%;height:52px;margin-top:.5rem;display:block}.replay-worm-line{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.replay-worm-ghost{fill:none;stroke:var(--text-3);stroke-width:1px;opacity:.3;vector-effect:non-scaling-stroke}.replay-worm-zero{stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.replay-worm-hr{fill:none;stroke:var(--loss);stroke-width:1px;opacity:.6;vector-effect:non-scaling-stroke}.replay-worm-set{stroke:var(--border-2);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.replay-worm-dot{fill:var(--accent)}.replay-controls{align-items:center;gap:.6rem;margin-top:.45rem;display:flex}.replay-play{border:1px solid var(--border-2);border-radius:var(--r-pill);background:var(--accent-dim);min-width:4.2rem;color:var(--accent);font-size:var(--fs-sm);flex:none;padding:.4rem .9rem;font-weight:600}.replay-speed{border:1px solid var(--border-2);border-radius:var(--r-pill);min-width:2.6rem;color:var(--text-2);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:0 0;flex:none;padding:.4rem .5rem;font-weight:600}.replay-track{touch-action:pan-y;cursor:pointer;flex:1 1 0;height:2.75rem;padding-top:.9rem;position:relative}.replay-rail{border-radius:var(--r-pill);background:var(--border);pointer-events:none;height:5px;margin-top:2px;position:absolute;top:50%;left:0;right:0;overflow:hidden}.replay-fill{background:var(--accent);border-radius:var(--r-pill);height:100%}.replay-range{appearance:none;background:0 0;width:100%;height:1.75rem;margin:0;display:block;position:relative}.replay-range::-webkit-slider-runnable-track{background:0 0;height:1.75rem}.replay-range::-moz-range-track{background:0 0;height:1.75rem}.replay-range::-webkit-slider-thumb{-webkit-appearance:none;opacity:0}.replay-range::-moz-range-thumb{opacity:0}.replay-thumb{background:var(--accent);border:2px solid var(--bg);pointer-events:none;border-radius:50%;width:1rem;height:1rem;position:absolute;top:calc(50% + 4.5px);transform:translate(-50%,-50%)}.replay-range:focus-visible~.replay-thumb{outline:2px solid var(--accent);outline-offset:2px}.replay-markers{pointer-events:none;height:.9rem;position:absolute;top:0;left:0;right:0}.replay-marker{pointer-events:auto;background:var(--text-3);border:none;padding:0;position:absolute;top:.1rem}.replay-marker:after{content:"";position:absolute;inset:-.9rem -.7rem}.replay-marker-set{background:var(--border-2);border-radius:1px;width:2px;height:1.5rem;margin-left:-1px}.replay-marker-run{border-radius:1px;width:.55rem;height:.55rem;margin-left:-.275rem;transform:rotate(45deg)}.replay-marker-us{background:var(--us)}.replay-marker-them{background:var(--them)}.tag-clock{color:var(--text-3);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums}.demo-explore{justify-content:center;margin-top:.9rem;display:flex}.demo-explore-btn{border-radius:var(--r-pill);border:1px solid var(--border-2);background:var(--surface-inset);color:var(--text-2);font-size:var(--fs-sm);padding:.6rem 1.4rem;font-weight:600}.demo-stamp{border:2px solid var(--demo);border-radius:var(--r-sm);background:var(--demo-dim);color:var(--demo);font-size:var(--fs-base);letter-spacing:.16em;text-transform:uppercase;flex:none;padding:.3rem .8rem;font-weight:800;line-height:1.3;transform:rotate(-8deg)}.demo-bar{transition:z-index 0s .2s allow-discrete;align-items:center;gap:.55rem;margin:1.1rem 0 .9rem;display:flex;position:relative}.demo-bar:has(.chart-explainer[open]){z-index:21;transition:none}.demo-bar-arrow{width:1rem;height:1.2rem;color:var(--demo);stroke:currentColor;stroke-width:1.7px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.demo-bar-rule{border-top:1px solid var(--border-2);flex:1}.demo-bar .chart-explainer,.demo-bar .chart-explainer summary{position:static}.demo-bar .chart-explainer p{top:calc(100% + .3rem)}.demo-bar-form{flex:none;display:flex}.demo-bar-cta{border-radius:var(--r-pill);border:1px solid var(--demo);background:var(--demo-dim);color:var(--demo);font-size:var(--fs-xs);white-space:nowrap;flex:none;padding:.4rem .9rem;font-weight:700}.demo-switch:before{content:"";position:absolute;inset:-.7rem}.demo-switch[aria-checked=true]{border-color:var(--demo);background:var(--demo-dim)}.demo-switch:disabled{opacity:.6}.demo-switch[aria-checked=true] .demo-switch-thumb{background:var(--demo);transform:translateY(-50%)translate(1.1rem)}fieldset.demo-readonly{border:0;min-width:0;margin:0;padding:0;display:contents}.rating-nudge{border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--surface-inset);margin:.6rem 0;padding:.7rem .8rem}.rating-nudge-text{font-size:var(--fs-base);color:var(--text-2);margin:0 0 .5rem}.rating-nudge-actions{gap:.4rem;display:grid}.rating-nudge-dismiss{color:var(--text-3);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;justify-self:center;padding:.35rem}.players-form{gap:.5rem;display:grid}.session-round{gap:.25rem;display:grid}.session-people,.session-more{font-size:var(--fs-sm);color:var(--text-2)}.session-people>summary,.session-more>summary{cursor:pointer;font-size:var(--fs-2xs);color:var(--text-3);width:fit-content;padding:.15rem 0}.session-people[open],.session-more[open]{gap:.5rem;display:grid}.session-people[open]{border-left:2px solid var(--border-2);padding-left:.8rem}.session-annotations{gap:.5rem;display:grid}.players-field{font-size:var(--fs-sm);color:var(--text-2);text-align:left;border:none;gap:.25rem;margin:0;padding:0;display:grid}.players-field input[type=text]{width:100%;min-width:0}.side-options{border:1px solid var(--border-2);border-radius:var(--r-md);gap:0;width:fit-content;max-width:100%;display:inline-flex;overflow:hidden}.side-option{align-items:center;min-width:min-content;display:flex;position:relative;overflow:hidden}.side-option input{opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.side-option span{cursor:pointer;font-size:var(--fs-xs);padding:.45rem .85rem;display:inline-block}.side-option+.side-option span{border-left:1px solid var(--border-2)}.side-option input:checked+span{background:var(--selected-container);color:var(--on-selected)}.side-option input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.share-chart{gap:.4rem;display:grid}.share-card{padding-bottom:2.5rem;position:relative}.share-chart-source{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-9999px}.share-chart-btn{z-index:2;border:1px solid var(--border-2);border-radius:var(--r-pill);width:1.2rem;height:1.2rem;color:var(--text-3);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;bottom:.7rem;right:.8rem}.share-chart-btn:after{content:"";position:absolute;inset:-13px}.share-chart-btn:is(:active,.is-pressed){border-color:var(--accent);color:var(--accent)}@media (hover:hover){.share-chart-btn:hover{border-color:var(--accent);color:var(--accent)}}.share-chart-btn[aria-busy=true]{opacity:.35}.share-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:.8rem;height:.8rem}.pu-intro{z-index:100;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:34px;transition:opacity .25s;animation:.3s 2.5s both pu-failsafe;display:flex;position:fixed;inset:0}.pu-intro[data-skip]{display:none}.pu-intro[data-done]{opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .3s}@keyframes pu-failsafe{to{opacity:0;visibility:hidden}}.pu-intro-mark{width:clamp(96px,30vw,150px);position:relative}.pu-intro-mark svg{width:100%;height:auto;display:block}.pu-intro-stack{position:relative}.pu-intro-word{white-space:pre;letter-spacing:.005em;color:var(--text);font-size:27px;font-weight:800;display:flex}.pu-intro-word span{opacity:0;display:inline-block}.pu-intro-word-shine{color:#0000;background:linear-gradient(100deg,#fff0 42%,#ffffffe6 50%,#fff0 58%) 0 0/280% 100% no-repeat;opacity:0;pointer-events:none;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.pu-shine{opacity:0}.pu-intro[data-play] .pu-intro-word span{animation:.22s ease-out both pu-crisp-in}.pu-intro[data-play] .pu-shine{animation:.75s cubic-bezier(.5,0,.35,1) .65s both pu-sweep}.pu-intro[data-play] .pu-intro-word-shine{animation:.75s cubic-bezier(.5,0,.35,1) .65s both pu-text-sweep}@keyframes pu-crisp-in{0%{opacity:0}to{opacity:1}}@keyframes pu-sweep{0%{opacity:0;transform:translate(-300px)skew(-14deg)}12%{opacity:1}88%{opacity:1}to{opacity:0;transform:translate(900px)skew(-14deg)}}@keyframes pu-text-sweep{0%{opacity:1;background-position-x:100%}to{opacity:1;background-position-x:0%}}.landing-demo{text-align:center;flex-direction:column;align-items:center;gap:.35rem;margin:1.1rem 0 .4rem;display:flex}.landing-demo-cta{border-radius:var(--r-pill);border:1px solid var(--demo);background:var(--demo-dim);color:var(--demo);font-size:var(--fs-md);padding:.7rem 1.8rem;font-weight:700;text-decoration:none;display:inline-block}.landing-demo-hint{color:var(--text-3);font-size:var(--fs-xs);max-width:22rem}.demo-profile-hero{text-align:center;flex-direction:column;align-items:center;gap:.7rem;padding:1.2rem 0 .4rem;display:flex}.demo-profile-mark{width:3.4rem;height:3.4rem}.demo-profile-state{color:var(--text-2);font-size:var(--fs-sm);max-width:26rem}.demo-profile-cta{border-radius:var(--r-pill);border:1px solid var(--demo);background:var(--demo-dim);color:var(--demo);font-size:var(--fs-md);padding:.75rem 2rem;font-weight:700;text-decoration:none;display:inline-block}.demo-profile-points{gap:.9rem;margin:1.4rem 0 .6rem;padding:0;list-style:none;display:grid}.demo-profile-points li{gap:.2rem;display:grid}.demo-profile-points strong{font-size:var(--fs-sm)}.demo-profile-points span{color:var(--text-3);font-size:var(--fs-xs)}.demo-profile-watch{margin-top:1rem}.demo-profile-leave{justify-content:center;margin:1.6rem 0 .6rem;display:flex}.demo-profile-leave .text-action{text-decoration:none}.demo-profile-legal{font-size:var(--fs-sm);justify-content:center;gap:.4rem;margin:.2rem 0 0;display:flex}.demo-profile-legal a{color:var(--text-3)}
