:root{--bg:#f6f8fb;--surface:#ffffff;--surface-strong:#eef5ff;--text:#182230;--muted:#667085;--line:#d9e2ec;--primary:#2563eb;--primary-dark:#1746a2;--success:#2f7d46;--warning:#b45309;--danger:#d64545;--shadow:0 12px 32px rgba(16,24,40,0.08)}*{box-sizing:border-box}body,html{max-width:100%;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{min-height:44px}input,select,textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:0 14px;background:#fff;color:var(--text)}textarea{min-height:92px;padding:12px 14px;resize:vertical}.fieldLabel,label{display:grid;gap:8px;color:#344054;font-size:.92rem;font-weight:700}.appFrame{min-height:100vh;max-width:100vw;overflow-x:hidden}.contentFrame{padding-bottom:88px}.authScreen{min-height:100vh;display:grid;place-items:center;padding:24px}.loginCard{width:min(100%,420px);display:grid;gap:20px;padding:28px;border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.loginCard h1{margin:0;font-size:1.8rem;line-height:1.1}.logoMark{width:72px;height:72px;display:grid;place-items:center;overflow:hidden;border-radius:18px;background:#e8f1ff}.logoMark img{width:100%;height:100%;object-fit:cover}.pinGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pinGrid input{text-align:center;font-size:1.35rem;font-weight:800}.authModeSwitch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.authModeSwitch button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-weight:900}.authModeSwitch button.active{border-color:var(--primary);background:#e8f1ff;color:var(--primary-dark)}.authMessage{margin:0;border:1px solid #f1b7b7;border-radius:8px;background:#fff5f5;color:var(--danger);padding:10px 12px;font-size:.9rem;font-weight:800}.authMessage.success{border-color:#b8ddc2;background:#edf7ee;color:var(--success)}.mainNav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);background:rgba(255,255,255,.96)}.navBrand{display:none}.mainNav .navCollapseButton{display:none;min-width:40px;min-height:40px}.mainNav button{display:grid;gap:3px;place-items:center;border:0;background:transparent;color:var(--muted);font-size:.72rem}.mainNav button.active{color:var(--primary);font-weight:800}.screenShell{width:min(100%,1180px);margin:0 auto;padding:20px 16px}.screenHeader{margin-bottom:18px}.screenHeader h1{margin:0;font-size:1.75rem;line-height:1.15}.screenHeader p{margin:6px 0 0;color:var(--muted)}.compactScreen{padding-top:12px}.compactScreen .screenHeader{margin-bottom:10px}.compactScreen .screenHeader h1{font-size:1.45rem}.compactScreen .screenHeader p{margin-top:3px;font-size:.88rem}.actionStack,.cardList,.summaryList{display:grid;gap:12px}.chartCard,.contextCard,.controlSection,.listCard,.miniCard,.selectedPanel,.statCard{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 4px 16px rgba(16,24,40,.04)}.listCard{width:100%;gap:16px;padding:16px;color:var(--text)}.cardSelectButton,.listCard{display:flex;align-items:center;justify-content:space-between;text-align:left}.cardSelectButton{flex:1;gap:12px;min-height:44px;border:0;background:transparent;color:inherit;padding:0}.sessionCardBody{display:grid;gap:4px;flex:1}.sessionActions{display:grid;width:100%;gap:8px}.compactAction{min-height:44px;padding:0 14px;white-space:nowrap}.iconTextButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:86px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--primary);font-weight:800}.editCard{display:grid;gap:14px;padding:16px;border:1px solid var(--primary);border-radius:8px;background:#fff;box-shadow:0 4px 16px rgba(16,24,40,.04)}.editActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.listCard:not(.static){border:1px solid var(--line)}.listCard.active{border-color:var(--primary);background:var(--surface-strong)}.listCard.add{justify-content:flex-start;border-style:dashed;color:var(--primary);font-weight:800}.contextCard strong,.listCard strong{display:block;font-size:1.05rem}.contextCard small,.listCard small,.statCard small{display:block;margin-top:4px;color:var(--muted)}.formGrid{display:grid;gap:18px}.sessionListSection{display:grid;gap:12px;margin-top:28px}.emptyState,.miniPointCard,.scopeCard{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.emptyState{color:var(--muted)}.emptyState strong{color:var(--text)}.emptyState.compact{padding:12px 14px}.scopeCard{margin-bottom:14px;color:#344054;font-weight:700}.loggedPointsSection{display:grid;gap:12px;margin-top:16px;margin-bottom:96px}.matchToolbar{display:grid;gap:12px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.historyHeader{display:grid;gap:10px}.compactFilters{padding-bottom:0}.miniPointCard span,.miniPointCard strong{display:block}.miniPointCard span{color:var(--muted)}.historyTree{display:grid;gap:10px}.historyStack{display:grid;gap:14px}.historyTree details{border-left:2px solid var(--line);margin-left:8px;padding:8px 0 8px 14px}.historyTree>details{margin-left:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface)}.historyTree summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;color:var(--text);font-weight:900}.historyTree summary small{color:var(--muted);font-weight:700}.pointList{display:grid;gap:8px;margin-top:8px}.pointRow{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.pointRow small{display:block;margin-top:4px;color:var(--muted)}.segmentBlock,.segmented{display:grid;gap:8px}.segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented.fiveAcross{grid-template-columns:repeat(5,minmax(0,1fr))}.chip,.segmented button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-weight:800}.chip.active,.segmented button.active{border-color:var(--primary);background:#e8f1ff;color:var(--primary-dark)}.stickyWide{position:sticky;bottom:86px;margin-top:20px;width:100%}.contextCard{display:grid;gap:4px;margin-bottom:18px;padding:18px}.recordContextCard{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.recordContextCard span{color:var(--muted);font-weight:800}.recordContextCard small,.recordContextCard strong{display:block}.recordContextCard small{margin-top:4px;color:var(--muted)}.recordLayout{display:grid;gap:14px}.recordContextControls{display:grid;gap:10px;margin-bottom:10px}.recordCompactHeader{margin-bottom:10px;background:var(--surface);box-shadow:0 4px 16px rgba(16,24,40,.04)}.recordCompactHeader,.recordContextBar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px}.recordContextBar{position:sticky;top:0;z-index:12;margin-bottom:12px;background:rgba(255,255,255,.98);box-shadow:0 4px 16px rgba(16,24,40,.06)}.recordContextBar.gameWon{border-color:var(--warning);background:#fff7ed}.recordContextText{display:grid;min-width:0;gap:2px}.recordContextText small,.recordContextText strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recordContextText strong{font-size:.95rem}.recordContextText small{color:var(--muted);font-size:.82rem;font-weight:800}.recordContextActions{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.recordTitleBlock{display:grid;min-width:0;gap:2px}.recordTitleBlock strong{font-size:1rem}.recordTitleBlock small{color:var(--muted);font-weight:700;overflow-wrap:anywhere}.matchCompactRow{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:end;gap:8px;margin-bottom:10px}.matchCompactRow label{gap:5px}.matchCompactRow select{min-height:44px}.addMatchButton{width:48px;height:44px}.gameControls{grid-template-columns:repeat(2,minmax(0,1fr))}.gameControls,.scoringControls{display:grid;gap:10px}.compactAccordion{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.compactAccordion.warningAccordion{border-color:var(--warning);box-shadow:0 0 0 2px rgba(180,83,9,.12)}.compactAccordion summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:8px 12px;cursor:pointer;font-weight:900}.compactAccordion summary small{color:var(--muted);font-weight:700;text-align:right}.accordionBody{display:grid;gap:10px;padding:0 12px 12px}.disabledPanel{opacity:.72}.warningAction{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:1px solid var(--warning);border-radius:8px;background:#fff7ed;color:var(--warning);font-weight:900;box-shadow:0 0 0 2px rgba(180,83,9,.12)}.endControls,.gameStepper,.pointStepper{display:grid;gap:8px}.endControls,.gameStepperControls,.pointStepperControls{grid-template-columns:repeat(3,minmax(0,1fr))}.gameStepperControls,.pointStepperControls{display:grid;align-items:center;gap:8px}.gameStepperControls strong,.pointStepperControls strong{display:grid;min-height:44px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.pointStepperControls{grid-template-columns:48px minmax(0,1fr) 48px}.endControls{display:grid}.editPointToolbar{display:grid;gap:8px;margin-bottom:10px;padding:10px;border:1px solid var(--primary);border-radius:8px;background:#e8f1ff}.editPointToolbar small,.editPointToolbar strong{display:block}.editPointToolbar small{margin-top:4px;color:var(--muted)}.editPointActions{display:grid;grid-template-columns:48px 48px minmax(0,1fr);gap:8px}.recordMain{display:grid;gap:14px}.controlSection,.recordInputGrid,.recordPrimaryControls{display:grid;gap:12px}.controlSection{padding:16px}.rallySection{margin-bottom:90px}.compactDetailGroup{display:grid;gap:8px}.buttonGrid.rallyResultGrid{grid-template-columns:repeat(6,minmax(0,1fr))}.buttonGrid.rallyResultGrid .choiceButton:nth-child(-n+2){grid-column:span 3}.buttonGrid.rallyResultGrid .choiceButton:nth-child(n+3){grid-column:span 2}.buttonGrid.serveFastGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.buttonGrid.directionGrid,.buttonGrid.pressureGrid,.buttonGrid.serveResultGrid,.buttonGrid.shotTypeGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.pressureGrid{padding-top:4px}.compactControlSection{padding:12px}@media (orientation:landscape) and (min-width:560px){.recordInputGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.recordInputGrid .rallySection{position:sticky;top:12px}}.chartCard h2,.sectionHeading h2,.selectedPanel h2,.subhead{margin:0;font-size:1.08rem}.sectionHeading p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.buttonGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choiceButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:52px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:.94rem;font-weight:800;line-height:1.1;text-align:center}.choiceIcon{display:inline-grid;width:20px;height:20px;flex:0 0 auto;place-items:center}.choiceIcon:empty{display:none}.directionGrid .choiceButton,.pressureGrid .choiceButton,.serveFastGrid .choiceButton,.serveResultGrid .choiceButton,.shotTypeGrid .choiceButton{padding:0 6px;font-size:.86rem}.choiceButton.selected{border-color:var(--primary);background:#e8f1ff;color:var(--primary-dark)}.choiceButton.won.selected{border-color:var(--success);background:#edf7ee;color:var(--success)}.choiceButton.lost.selected{border-color:var(--danger);background:#fff5f5;color:var(--danger)}.choiceButton.forced.selected{border-color:#12805c;background:#e9f8f2;color:#075e45}.choiceButton.detail.selected{border-color:#7c8aa5;background:#f4f7fb;color:#344054}.choiceButton.warning.selected{border-color:var(--warning);background:#fff7ed;color:var(--warning)}.choiceButton:disabled,.dangerAction:disabled,.segmented button:disabled{opacity:.46;cursor:not-allowed}.selectedPanel{position:sticky;top:52px;z-index:5;display:grid;gap:14px;padding:16px}.panelTitleRow,.selectionHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.statePill{border-radius:999px;background:#edf7ee;color:var(--success);padding:6px 10px;font-size:.78rem;font-weight:800}.selectionGroup{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:12px}.selectionGroup h3,.selectionGroup p{margin:0}.selectionGroup h3{font-size:.9rem}.selectionGroup p{color:#344054}.muted{color:var(--muted)!important}.iconButton{display:inline-grid;min-width:36px;min-height:36px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}.iconActionButton,.iconNavButton{display:inline-grid;min-width:44px;min-height:44px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--primary);font-weight:900}.iconActionButton:disabled,.iconNavButton:disabled{opacity:.45;cursor:not-allowed}.stickyActions{position:fixed;right:0;bottom:66px;left:0;z-index:15;display:grid;grid-template-columns:46px 46px 46px minmax(0,1fr) 46px;gap:6px;padding:10px 16px;border-top:1px solid var(--line);background:rgba(255,255,255,.96)}.stickyActions.withCancel{grid-template-columns:56px 56px minmax(0,1fr) minmax(0,1fr)}.stickyActions.editingActions{grid-template-columns:46px 46px 46px minmax(74px,.75fr) minmax(0,1fr) 46px}.stickyActions.editingActions .primaryAction,.stickyActions.editingActions .secondaryAction{grid-column:auto}.stickyActions .primaryAction,.stickyActions .secondaryAction{min-width:0;min-height:46px;white-space:nowrap}.stickyActions .iconActionButton{min-width:46px;min-height:46px}.currentSelectionSummary{position:fixed;right:0;bottom:126px;left:0;z-index:14;min-height:34px;padding:8px 16px;border-top:1px solid var(--line);background:rgba(246,248,251,.96);color:#344054;font-size:.84rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.currentSelectionSummary.editingSummary{bottom:126px}.sheetOverlay{position:fixed;inset:0;z-index:30;display:grid;align-items:end;background:rgba(15,23,42,.34)}.recordSettingsSheet{display:grid;gap:14px;max-height:min(82vh,720px);overflow-y:auto;padding:16px;border-radius:8px 8px 0 0;background:var(--surface);box-shadow:var(--shadow)}.statsSettingsSheet{align-content:start}.sheetHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheetHeader strong{font-size:1.05rem}.settingsSection{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.settingsSection:first-of-type{border-top:0;padding-top:0}.dateRangeFields{display:grid;gap:10px}.statsSheetScopeRow{flex-wrap:wrap;overflow:visible;padding-bottom:0}.settingsPointRow{display:grid;gap:8px}.settingsPointRow strong{display:grid;min-height:44px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.dangerAction,.primaryAction,.secondaryAction{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:8px;font-weight:900}.primaryAction{border:1px solid var(--primary);background:var(--primary);color:#fff}.secondaryAction{border:1px solid var(--line);background:#fff;color:var(--text)}.chip.danger,.dangerAction{border:1px solid #f1b7b7;background:#fff5f5;color:var(--danger)}.full{width:100%}.filterRow{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.chip{flex:0 0 auto;min-height:40px;padding:0 14px}.statsFilterPanel{display:grid;gap:12px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.statsGrid{display:grid;gap:12px;margin:8px 0 14px}.statCard{display:grid;gap:8px;padding:16px}.statCard span{color:var(--muted);font-weight:800}.statCard strong{font-size:2rem}.meter{height:8px;overflow:hidden;border-radius:999px;background:#edf2f7}.meter span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.chartCard{display:grid;gap:12px;margin-top:14px;padding:16px}.chartBox{height:260px}.matchStatsDashboard{display:grid;gap:16px}.statsHeroHeader{display:grid;gap:14px}.statsTitleCluster{display:flex;align-items:center;gap:16px}.statsTitleCluster h2{margin:0;font-size:clamp(2rem,5vw,2.75rem);line-height:1}.statsTitleCluster p{margin:6px 0 0;color:var(--muted);font-size:clamp(1rem,2.4vw,1.35rem)}.statsHeaderIcon{width:64px;height:64px}.statsHeaderActions{display:flex;min-width:0;max-width:100%;flex-wrap:wrap;gap:10px}.dateSelectButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(16,24,40,.08);color:#1f2937;font-weight:800;max-width:100%;white-space:normal}.statsHeroPanel{overflow:hidden;min-height:330px;background:var(--surface);box-shadow:0 10px 30px rgba(16,24,40,.06)}.statsHeroCard,.statsHeroPanel{position:relative;border:1px solid var(--line);border-radius:8px}.statsHeroCard{z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;width:min(100%,520px);min-height:250px;align-items:center;gap:8px 18px;margin:16px;padding:24px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(16,24,40,.08)}.statsHeroCard>span{grid-column:1/-1;color:#147225;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.statsHeroCard>strong{color:#101828;font-size:clamp(4.8rem,15vw,6.4rem);line-height:.9}.statsHeroCard>strong small{color:var(--muted);font-size:.34em;font-weight:700}.statsHeroCard>em{align-self:end;color:#147225;font-size:1.8rem;font-style:normal;font-weight:900}.statsHeroCard>em.negative{color:var(--danger)}.statsHeroCard>small{color:var(--muted);font-weight:800}.statsHeroRing{grid-row:2/span 3;grid-column:2;width:110px;aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:4px;border-radius:50%;background:radial-gradient(circle at center,#fff 56%,transparent 57%),conic-gradient(#35a845 var(--consistency),#dceedd 0);color:#147225}.statsHeroRing b{color:#101828;font-size:1.7rem}.statsHeroRing small{font-weight:900}.statsHeroArt{position:absolute;right:0;bottom:0;width:min(58%,650px);height:100%;overflow:hidden;background:radial-gradient(circle at 42% 34%,rgba(47,125,70,.2),transparent 34%),linear-gradient(135deg,rgba(47,125,70,.08),rgba(47,125,70,.22));clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}.statsDashboardFilters{margin-top:4px}.statsDashboardFilterPanel{margin-bottom:0}.statsMetricGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.statsMetricCard{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(16,24,40,.06)}.metricIcon{color:#2f9e44}.statsMetricCard span{align-self:center;color:#344054;font-size:.82rem;font-weight:900;text-transform:uppercase}.statsMetricCard strong{grid-column:1/-1;color:#101828;font-size:2.1rem;line-height:1}.statsMetricCard small{grid-column:1/-1;color:#147225;font-weight:900}.statSparkline{grid-column:1/-1;width:100%;height:58px;overflow:visible}.sparkArea{opacity:.14;stroke:none}.sparkLine{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.statSparkline circle{fill:#fff;stroke-width:3}.statsAnalysisGrid{display:grid;gap:16px;min-width:0}.performanceTimePanel,.recentMatchPanel,.shotBreakdownPanel{min-width:0;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(16,24,40,.06)}.performanceTimePanel,.shotBreakdownPanel{padding:14px}.performanceTimePanel h3,.shotBreakdownPanel h3{margin:0;color:#147225;font-size:.84rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.shotBreakdownBody{display:grid;gap:12px;align-items:center;margin-top:12px}.donutChartWrap{position:relative;display:grid;justify-self:center;width:min(180px,52vw);height:150px;place-items:center}.donutCenterIcon{position:absolute;inset:50% auto auto 50%;display:grid;width:40px;height:40px;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:#fff;color:#2f9e44;pointer-events:none}.piePercentLabel{fill:#101828;font-size:.72rem;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.breakdownLegend{display:grid;gap:8px;min-width:0}.breakdownLegend div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.breakdownLegend span{display:inline-flex;min-width:0;align-items:center;gap:8px;overflow-wrap:anywhere;line-height:1.15}.breakdownLegend i{width:12px;height:12px;flex:0 0 auto;border-radius:50%}.breakdownLegend small{min-width:28px;color:var(--muted);text-align:right;font-weight:800}.breakdownTotal{margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.panelHeader .chip{display:inline-flex;align-items:center;gap:8px}.performanceLineChart{width:100%;height:270px;margin-top:16px;overflow:visible}.performanceLineChart line{stroke:#e6edf5}.performanceLineChart text{fill:var(--muted);font-size:14px}.performanceArea{fill:url(#statsPerfFill);stroke:none}.performanceLine{fill:none;stroke:#2f9e44;stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.performanceLineChart circle{fill:#2f9e44;stroke:#fff;stroke-width:4}.performanceLineChart .pointLabel{fill:#147225;font-weight:900}.recentMatchPanel{display:grid;gap:12px;align-items:center;padding:16px;min-width:0}.recentMatchPanel>span,.recentMatchPanel>strong{display:grid;gap:4px}.recentMatchPanel>span{grid-template-columns:24px minmax(0,1fr);color:#1f2937;font-weight:800}.recentMatchPanel>span small{grid-column:2;color:var(--muted);font-weight:700}.recentMatchPanel>strong{color:#101828;font-size:1.35rem;text-align:center}.recentMatchPanel>strong:first-of-type{color:#147225}.recentMatchPanel small{color:var(--muted);font-size:.78rem;font-weight:700}.recentMatchPanel>svg{justify-self:end}.statsMetricFooter{display:grid;gap:14px;min-width:0;align-items:center;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(16,24,40,.06)}.statsFooterContext{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 8px;color:#1f2937;font-weight:900}.statsFooterContext small{grid-column:2;color:var(--muted);font-size:.78rem;font-weight:700}.statsFooterMetricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:10px;min-width:0}.statsFooterMetricGrid strong{display:grid;gap:3px;min-width:0;color:#101828;font-size:1.25rem;text-align:center}.statsFooterMetricGrid small{color:var(--muted);font-size:.72rem;font-weight:800}.statsMetricFooter>svg{display:none}.statsScopeNote{margin-top:0}.trendsDashboard{display:grid;gap:16px}.trendsHeroHeader{display:grid;gap:14px}.trendsHeaderActions{display:flex;flex-wrap:wrap;gap:10px}.trendsMoreButton{display:inline-grid}.trendsTopGrid{display:grid;gap:16px}.comparePanel,.insightPanel,.longTermPanel,.timeOfDayPanel,.trendScorePanel{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(16,24,40,.06)}.trendScorePanel{display:grid;gap:18px;padding:18px}.trendScoreHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center}.trendScoreHeader>div{display:grid;gap:4px}.comparePanel h3,.insightPanel h3,.longTermPanel h3,.timeOfDayPanel h3,.trendScoreHeader span{margin:0;color:#147225;font-size:1rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.trendScoreHeader strong{color:#101828;font-size:clamp(4.1rem,14vw,5.7rem);line-height:.92}.trendScoreHeader strong small{color:var(--muted);font-size:.34em;font-weight:700}.trendScoreHeader em{color:#147225;font-size:clamp(1.2rem,4vw,1.7rem);font-style:normal;font-weight:900}.trendScoreHeader em.negative{color:var(--danger)}.trendScoreHeader small{color:var(--muted);font-weight:800}.trendScoreRing{grid-column:2;grid-row:1/span 2;width:clamp(94px,24vw,132px);aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:4px;border-radius:50%;background:radial-gradient(circle at center,#fff 56%,transparent 57%),conic-gradient(#35a845 var(--consistency),#dceedd 0);color:#147225}.trendScoreRing b{color:#101828;font-size:clamp(1.6rem,5vw,2rem)}.trendScoreRing small{color:#147225;font-weight:900}.trendMainChart{width:100%;height:280px;overflow:visible}.trendMainChart line{stroke:#e6edf5}.longTermChart text,.trendMainChart text{fill:var(--muted);font-size:14px}.trendMainArea{fill:url(#trendMainFill);stroke:none}.compareLine.current,.longTermLine,.trendMainLine{fill:none;stroke:#2f9e44;stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.compareChart circle,.longTermChart circle,.trendMainChart circle{fill:#2f9e44;stroke:#fff;stroke-width:4}.trendMainChart .pointLabel{fill:#147225;font-weight:900;text-anchor:middle}.trendMainChart .axisLabel{fill:var(--muted);font-size:13px;text-anchor:middle}.trendHeroArt{position:relative;min-height:220px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:radial-gradient(circle at 42% 32%,rgba(47,125,70,.2),transparent 34%),linear-gradient(135deg,rgba(47,125,70,.08),rgba(47,125,70,.22))}.insightPanel{padding:16px}.textLink{color:#147225;font-weight:900}.insightRow,.textLink{border:0;background:transparent}.insightRow{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;width:100%;align-items:center;gap:12px;min-height:68px;border-top:1px solid var(--line);color:inherit;text-align:left}.insightRow:first-of-type{margin-top:8px}.insightRow>span:first-child{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#f2f7f2}.insightRow small,.insightRow strong{display:block}.insightRow strong{color:#101828;font-size:.96rem}.insightRow small{margin-top:3px;font-weight:700}.insightRow small,.insightRow>svg{color:var(--muted)}.trendMetricGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trendMetricCard{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(16,24,40,.06)}.trendMetricCard span{color:#344054;font-size:.78rem;font-weight:900;text-transform:uppercase}.trendMetricCard strong{color:#101828;font-size:2rem;line-height:1}.trendMetricCard small{color:#147225;font-weight:900}.trendMiniSparkline{width:100%;height:54px;overflow:visible}.trendMiniArea{opacity:.14;stroke:none}.trendMiniLine{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.trendMiniSparkline circle{fill:#fff;stroke-width:3}.trendsAnalysisGrid{display:grid;gap:16px}.comparePanel,.longTermPanel,.timeOfDayPanel{display:grid;gap:16px;padding:18px}.timeHeatmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid #e1ebdf;border-radius:8px}.timeColumn{display:grid;text-align:center}.timeColumn small,.timeColumn strong{padding:6px 4px;background:#fff}.timeColumn strong{color:#101828;font-size:.82rem}.timeColumn small{color:var(--muted);font-size:.72rem;font-weight:800}.timeColumn span{padding:10px 4px;background:color-mix(in srgb,#2f9e44 var(--heat),#eef7ee);border-top:1px solid rgba(255,255,255,.75);color:#126121;font-weight:900}.timeInsightList{display:grid;gap:10px}.periodLegend span,.timeInsightList span{display:grid;grid-template-columns:12px minmax(0,1fr);gap:6px 10px;color:#344054;font-weight:800}.periodLegend i,.timeInsightList i{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#2f9e44}.periodLegend small,.timeInsightList small,.timeInsightList strong{grid-column:2}.timeInsightList strong{color:#147225}.periodLegend small,.timeInsightList small{color:var(--muted);font-weight:700}.timeInsightList .warningDot{background:#ff7a1a}.trendPanelLink{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#147225;font-weight:900;box-shadow:0 8px 18px rgba(16,24,40,.05)}.compareChart,.longTermChart{width:100%;height:210px;overflow:visible}.longTermArea{fill:url(#longTermFill);stroke:none}.trendSummaryStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid var(--line);padding-top:12px;text-align:center}.trendSummaryStrip span{display:grid;gap:4px;color:var(--muted);font-size:.78rem;font-weight:800}.trendSummaryStrip strong{color:#147225;font-size:1.25rem}.periodLegend{display:grid;gap:10px}.periodLegend .mutedDot{background:#98a2b3}.compareLine{fill:none;stroke-linecap:round;stroke-linejoin:round}.compareLine.previous{stroke:#98a2b3;stroke-width:4}.performanceOverview{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.performanceHero{position:relative;display:grid;gap:22px;min-height:320px;padding:28px;border-bottom:1px solid var(--line)}.performanceTitle{position:relative;z-index:1;display:flex;align-items:center;gap:18px}.performanceIcon{display:grid;width:74px;height:74px;flex:0 0 auto;place-items:center;border-radius:50%;background:#3ca34c;color:#fff;box-shadow:0 10px 28px rgba(47,125,70,.24)}.performanceTitle h2{margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1}.performanceTitle p{margin:10px 0 0;color:var(--muted);font-size:clamp(1.2rem,2.6vw,1.65rem)}.performanceHeroArt{position:absolute;right:0;bottom:0;width:min(54%,620px);height:86%;overflow:hidden;background:radial-gradient(circle at 38% 36%,rgba(47,125,70,.2),transparent 30%),linear-gradient(135deg,rgba(47,125,70,.1),rgba(47,125,70,.22));clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}.courtLines{position:absolute;inset:30% -8% -18% 18%;transform:rotate(-14deg);border:4px solid rgba(255,255,255,.78)}.courtLines:after,.courtLines:before{content:"";position:absolute;background:rgba(255,255,255,.78)}.courtLines:before{top:50%;right:0;left:0;height:4px}.courtLines:after{top:0;bottom:0;left:50%;width:4px}.playerMark{position:absolute;top:34%;left:28%;display:grid;place-items:center;gap:10px;color:#155f28;font-weight:900;opacity:.86}.playerMark span{font-size:1.25rem}.overallScore{position:relative;z-index:1;display:grid;grid-template-columns:auto auto;width:min(100%,460px);align-items:center;gap:6px 24px;align-self:end}.overallScore>span{grid-column:1/-1;color:#2f7d46;font-size:1.1rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.overallScore strong{color:#101828;font-size:clamp(4.4rem,12vw,6.2rem);line-height:.92}.overallScore strong small{color:var(--muted);font-size:.38em;font-weight:700}.overallScore em{align-self:end;color:#2f7d46;font-size:2rem;font-style:normal;font-weight:900}.overallScore em.negative{color:var(--danger)}.overallScore>small{grid-column:2;color:var(--muted);font-size:1rem}.performanceBody{display:grid;gap:22px;padding:28px}.metricStrip{display:grid;gap:14px}.metricStrip article{display:grid;gap:6px;justify-items:center;padding:12px;border-bottom:1px solid var(--line);text-align:center}.metricStrip svg{color:#2f7d46}.metricStrip span{color:#475467;font-size:.82rem;font-weight:900;text-transform:uppercase}.metricStrip strong{color:#101828;font-size:2rem}.metricStrip small{color:#1f7a32;font-weight:800}.trendChartPanel{min-width:0}.trendChartPanel svg{width:100%;height:130px;overflow:visible}.trendArea{fill:url(#trendFill);stroke:none}.trendLine{fill:none;stroke:#2f8f3a;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.trendChartPanel circle{fill:#fff;stroke:#2f8f3a;stroke-width:4}.trendDays{display:grid;grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:8px;color:var(--muted);font-weight:800;text-align:center}.consistencyPanel{display:grid;place-items:center}.consistencyRing{width:min(280px,78vw);aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:8px;border-radius:50%;background:radial-gradient(circle at center,#fff 58%,transparent 59%),conic-gradient(#3ca34c var(--consistency),#dceedd 0);color:#2f7d46}.consistencyRing span{color:#344054;font-weight:900;text-transform:uppercase}.consistencyRing strong{color:#101828;font-size:2.8rem;line-height:1}.consistencyRing small{font-size:1.2rem;font-weight:800}.performanceFooter{display:grid;gap:12px;align-items:center;padding:20px 28px;border-top:1px solid var(--line)}.analyticsLink,.performanceFooter span{display:inline-flex;align-items:center;gap:10px}.performanceFooter span{color:#1f2937;font-size:1.05rem;font-weight:700}.analyticsLink{justify-content:center;border:0;background:transparent;color:#156b25;font-size:1.05rem;font-weight:900}.summaryList{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.miniCard{display:grid;gap:4px;padding:14px}.miniCard span{color:var(--muted)}.rowActions{display:flex;gap:8px}.offlineBanner{left:10px;z-index:30;border-radius:8px;background:#182230;color:#fff;padding:10px 14px;text-align:center;font-size:.9rem;font-weight:800;box-shadow:var(--shadow)}.offlineBanner,.syncStatus{position:fixed;top:10px;right:10px}.syncStatus{z-index:25;display:inline-flex;align-items:center;gap:7px;min-height:34px;max-width:min(220px,calc(100vw - 20px));padding:0 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.96);color:#344054;font-size:.78rem;font-weight:900;box-shadow:0 4px 16px rgba(16,24,40,.08)}.syncDot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#98a2b3}.syncStatus.synced .syncDot{background:var(--success)}.syncStatus.local .syncDot{background:#2563eb}.syncStatus.syncing .syncDot{background:#2563eb;animation:pulseSync 1s infinite}.syncStatus.offline .syncDot{background:var(--warning)}.syncStatus.failed .syncDot{background:var(--danger)}@keyframes pulseSync{0%,to{opacity:.45}50%{opacity:1}}@media (min-width:720px){.contentFrame{padding-bottom:112px}.mainNav{top:0;right:auto;width:92px;grid-template-columns:1fr;align-content:start;border-top:0;border-right:1px solid var(--line)}.navBrand{display:grid;grid-template-rows:auto auto;gap:8px;justify-items:center;padding:12px 8px;border-bottom:1px solid var(--line)}.navLogo{display:grid;width:44px;height:44px;place-items:center;overflow:hidden;border-radius:8px;background:#e8f1ff;color:var(--primary)}.navLogo img{width:100%;height:100%;object-fit:cover}.navBrandText{display:none}.mainNav .navCollapseButton{display:none;position:absolute;top:50%;right:-13px;z-index:2;width:28px;min-width:28px;height:58px;min-height:58px;transform:translateY(-50%);border:1px solid #c9d4e2;border-radius:7px;background:rgba(255,255,255,.98);color:var(--muted);box-shadow:0 6px 14px rgba(16,24,40,.06)}.mainNav button{min-height:76px}.contentFrame{margin-left:92px}.screenShell{padding:28px}.formGrid,.statsFilterPanel,.statsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.statsHeroHeader,.trendsHeroHeader{grid-template-columns:minmax(0,1fr) auto;align-items:start}.trendsHeaderActions{justify-content:end}.statsMetricGrid,.trendMetricGrid,.trendsAnalysisGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.shotBreakdownBody{grid-template-columns:minmax(132px,.8fr) minmax(0,1fr)}.recentMatchPanel{grid-template-columns:minmax(0,1fr) repeat(3,minmax(72px,.55fr)) 24px}.recentMatchPanel>strong:nth-of-type(n+4){display:none}.statsMetricFooter{grid-template-columns:minmax(180px,.75fr) minmax(0,1fr)}.statsFooterMetricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.performanceBody{grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);align-items:center}.metricStrip{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.metricStrip article{border-right:1px solid var(--line);border-bottom:0}.metricStrip article:last-child{border-right:0}.performanceFooter{grid-template-columns:minmax(0,1fr) auto}.sessionActions{width:auto;min-width:180px}.recordContextControls{grid-template-columns:1fr;align-items:end}.editPointToolbar,.historyHeader,.matchToolbar,.pointRow{grid-template-columns:minmax(0,1fr) auto;align-items:end}.editPointActions{grid-template-columns:repeat(3,auto)}.offlineBanner{right:24px;left:auto;width:auto}.recordLayout{grid-template-columns:minmax(0,1fr)}.selectedPanel{top:72px}.stickyActions{position:fixed;right:0;bottom:0;left:92px;z-index:15;grid-template-columns:52px 52px 52px minmax(0,1fr) 52px;margin-top:0;padding:10px 28px;border-top:1px solid var(--line);background:rgba(255,255,255,.96)}.stickyActions.editingActions{grid-template-columns:52px 52px 52px minmax(96px,.75fr) minmax(0,1fr) 52px}.stickyActions.editingActions .primaryAction,.stickyActions.editingActions .secondaryAction{grid-column:auto}.currentSelectionSummary,.currentSelectionSummary.editingSummary{position:fixed;right:0;bottom:66px;left:92px;z-index:14;margin-top:0;border:0;border-top:1px solid var(--line);border-radius:0;background:rgba(246,248,251,.96)}.sheetOverlay{justify-items:end;align-items:stretch}.recordSettingsSheet{width:min(390px,100vw);max-height:100vh;border-radius:8px 0 0 8px}.rallySection{margin-bottom:0}@media (orientation:landscape){.recordInputGrid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.recordInputGrid .rallySection{position:sticky;top:16px}}.summaryList{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1040px){.mainNav{width:220px;padding:16px 12px;gap:6px}.navBrand{grid-template-columns:44px minmax(0,1fr);grid-template-rows:1fr;align-items:center;justify-items:start;gap:10px;min-height:58px;padding:0 2px 12px}.navBrandText{display:grid;min-width:0;gap:2px}.mainNav .navCollapseButton{display:grid}.navBrandText small,.navBrandText strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navBrandText strong{color:var(--text);font-size:.95rem;font-weight:900}.navBrandText small{color:var(--muted);font-size:.74rem;font-weight:800}.mainNav button{grid-template-columns:24px 1fr;justify-items:start;min-height:52px;border-radius:8px;padding:0 14px;font-size:.94rem}.mainNav button.active{background:#e8f1ff}.contentFrame{margin-left:220px}.currentSelectionSummary,.currentSelectionSummary.editingSummary,.stickyActions{left:220px}.mainNav.collapsed{width:76px;padding:12px 10px}.mainNav.collapsed button[data-nav-id]{grid-template-columns:1fr;justify-items:center;padding:0}.mainNav.collapsed .navBrand{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;gap:8px;min-height:auto;padding-bottom:12px}.mainNav.collapsed .navBrandText,.mainNav.collapsed button[data-nav-id] span{display:none}.mainNav.collapsed~.contentFrame{margin-left:76px}.appFrame.navCollapsed .currentSelectionSummary,.appFrame.navCollapsed .currentSelectionSummary.editingSummary,.appFrame.navCollapsed .stickyActions{left:76px}.recordLayout{grid-template-columns:minmax(0,1fr)}.buttonGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.buttonGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.statsFilterPanel,.statsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.statsHeroPanel{min-height:360px}.statsHeroCard{margin:28px 0;transform:translateX(22px)}.statsMetricGrid{grid-template-columns:repeat(6,minmax(0,1fr))}.statsAnalysisGrid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.statsAnalysisGrid .shotBreakdownBody{grid-template-columns:1fr}.statsAnalysisGrid .donutChartWrap{width:min(170px,100%);height:132px}.recentMatchPanel>strong:nth-of-type(n+4){display:grid}.recentMatchPanel{grid-template-columns:minmax(180px,1.4fr) repeat(5,minmax(72px,1fr)) 28px}.statsFooterMetricGrid{grid-template-columns:repeat(9,minmax(0,1fr))}.trendsTopGrid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:end}.trendScorePanel{grid-row:1/span 2;min-height:430px}.trendHeroArt{min-height:240px;border:0;box-shadow:none;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}.insightPanel{align-self:stretch}.trendMetricGrid{grid-template-columns:repeat(6,minmax(0,1fr))}.trendsAnalysisGrid{grid-template-columns:minmax(0,1.1fr) minmax(0,.92fr) minmax(280px,.68fr);align-items:stretch}.performanceOverview{border-radius:8px}.performanceHero{padding:38px 42px}.performanceBody,.performanceFooter{padding-right:42px;padding-left:42px}}