html{color-scheme:dark}:root{--bg-app: #0f172a;--bg-card: rgba(30, 41, 59, .7);--bg-card-hover: rgba(51, 65, 85, .8);--bg-secondary: rgba(15, 23, 42, .5);--bg-chart-area: var(--bg-secondary);--chart-ring-opacity: .15;--bg-clubs-card: var(--bg-card);--bg-highlight-box: var(--bg-secondary);--bg-shot-chip: rgba(255, 255, 255, .05);--bg-drawer: #0f172a;--bg-replay-footer: rgba(15, 23, 42, .95);--bg-dropdown: #1e293b;--bg-row-highlight: rgba(59, 130, 246, .1);--color-bar-track: var(--bg-app);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-primary: #10b981;--accent-secondary: #3b82f6;--accent-danger: #ef4444;--accent-warning: #f59e0b;--accent-success: #10b981;--color-fairway: #10b981;--color-rough: #eab308;--color-sand: #f97316;--color-green: #22c55e;--color-typical-window: #4ade80;--color-map-rough: #14532d;--color-map-fairway: var(--accent-success);--color-map-grass-dark: #1a4d2e;--color-map-grass-light: #14532d;--map-rough-opacity: .3;--map-fairway-opacity: .2;--color-map-sand: #d4b996;--color-map-hazard: #dc2626;--scope-pill-border: rgba(255, 255, 255, .05);--color-tee-box: var(--text-primary);--border-color: rgba(148, 163, 184, .1);--glass-border: 1px solid rgba(255, 255, 255, .1);--glass-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .1);--btn-border: rgba(255, 255, 255, .1);--shadow-primary: 0 4px 6px -1px rgba(16, 185, 129, .2), 0 2px 4px -1px rgba(16, 185, 129, .1);--shadow-primary-hover: 0 10px 15px -3px rgba(16, 185, 129, .3), 0 4px 6px -2px rgba(16, 185, 129, .1)}[data-theme=light]{--bg-app: #f1f5f9;--bg-card: rgba(255, 255, 255, .8);--bg-card-hover: rgba(255, 255, 255, 1);--bg-secondary: #e2e8f0;--bg-chart-area: #ffffff;--chart-ring-opacity: .3;--bg-clubs-card: #f1f5f9;--bg-highlight-box: #f1f5f9;--bg-shot-chip: #ffffff;--bg-drawer: #ffffff;--bg-replay-footer: #ffffff;--bg-dropdown: #ffffff;--bg-row-highlight: #f1f5f9;--color-bar-track: var(--bg-secondary);--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: rgba(148, 163, 184, .2);--glass-border: 1px solid rgba(255, 255, 255, .5);--glass-shadow: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--bg-hover: #f1f5f9;--bg-active: #e2e8f0;--btn-border: rgba(0, 0, 0, .1);--shadow-primary: 0 4px 6px -1px rgba(4, 120, 87, .4), 0 2px 4px -1px rgba(4, 120, 87, .2);--shadow-primary-hover: 0 10px 15px -3px rgba(4, 120, 87, .5), 0 4px 6px -2px rgba(4, 120, 87, .3);--color-typical-window: #15803d;--color-map-rough: #86efac;--color-map-fairway: #22c55e;--color-map-grass-dark: #bbf7d0;--color-map-grass-light: #86efac;--map-rough-opacity: .15;--map-fairway-opacity: .1;--color-map-sand: #fde68a;--color-map-hazard: #fca5a5;--scope-pill-border: rgba(0, 0, 0, .1);--color-tee-box: #ffffff;--color-fairway: #059669;--color-rough: #f59e0b;--color-sand: #ea580c}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh}#root{height:100vh;display:flex;flex-direction:column}.glass-panel{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);box-sizing:border-box}.glass-panel.interactive:hover{background:var(--bg-card-hover);border-color:#fff3;transition:all .2s ease;cursor:pointer}.flex-center{display:flex;align-items:center;justify-content:center}.text-gradient{background:linear-gradient(to right,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-card-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.container-fluid{padding:var(--space-lg);width:100%;box-sizing:border-box}.grid-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.btn{padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;font-weight:600;font-size:.875rem;letter-spacing:.01em;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;line-height:1.25;text-decoration:none}.btn:active{transform:translateY(1px)}.btn-sm{padding:.25rem .75rem;font-size:.75rem;border-radius:var(--radius-sm)}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),#059669);color:#fff;box-shadow:var(--shadow-primary);border:1px solid var(--btn-border)}.btn-primary:hover{background:linear-gradient(135deg,#10b981,#047857);box-shadow:var(--shadow-primary-hover);transform:translateY(-1px)}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--btn-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-secondary:hover{background:var(--bg-active);border-color:#fff3;color:var(--text-primary)}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.btn-outline:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-hover)}.btn-outline.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#10b9811a}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{color:var(--accent-danger)}.btn-danger:hover{background:#ef44441a;color:#ef4444}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease-out forwards}.nav-item{color:var(--text-secondary);transition:all .2s ease}.nav-item:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important}.nav-item.active{background:var(--bg-active)!important;color:var(--text-primary)!important;font-weight:600}select{background-color:transparent;color:var(--text-primary)}select option{background-color:var(--bg-app);color:var(--text-primary)}.dark-dropdown{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.875rem;cursor:pointer;color-scheme:dark}.dropdown-item:hover{background-color:var(--bg-hover)!important}.interactive-row{transition:background-color .2s ease;border-radius:var(--radius-sm);padding:.25rem;margin:-.25rem;cursor:pointer}.interactive-row:hover{background-color:var(--bg-hover)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.widget-enter{animation:fadeInScale .3s cubic-bezier(.4,0,.2,1) backwards}.widget-content-transition{animation:fadeInScale .2s ease-out}.widget-container-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.stats-grid-wrapper{position:relative;width:100%}.stats-grid-bg{position:absolute;inset:0;display:grid;grid-auto-rows:var(--stats-grid-row-height);pointer-events:none;z-index:0;gap:var(--space-lg);padding:0;margin:0}.stats-grid-bg__cell{border-radius:var(--radius-lg);background-color:#ffffff0a;width:100%;height:100%}.stats-grid{position:relative;z-index:1}.stats-grid .react-grid-placeholder{background:var(--accent-primary)!important;opacity:.2!important;border-radius:var(--radius-lg);z-index:1;transition:all .2s ease}.stats-grid .react-resizable-handle{position:absolute!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;background-image:none!important;z-index:50!important}.stats-grid .react-resizable-handle:before,.stats-grid .react-resizable-handle:after{content:none!important}.stats-grid:not(.stats-grid--editing) .react-resizable-handle{display:none!important}.stats-grid .react-resizable-handle-se{width:16px;height:16px;bottom:-8px;right:-8px;cursor:nwse-resize}.stats-grid .react-resizable-handle-sw{width:16px;height:16px;bottom:-8px;left:-8px;cursor:nesw-resize}.stats-grid .react-resizable-handle-ne{width:16px;height:16px;top:-8px;right:-8px;cursor:nesw-resize}.stats-grid .react-resizable-handle-nw{width:16px;height:16px;top:-8px;left:-8px;cursor:nwse-resize}.stats-grid .react-resizable-handle-n{top:-3px;left:0;width:100%;height:6px;cursor:ns-resize}.stats-grid .react-resizable-handle-s{bottom:-3px;left:0;width:100%;height:6px;cursor:ns-resize}.stats-grid .react-resizable-handle-e{right:-3px;top:0;width:6px;height:100%;cursor:ew-resize}.stats-grid .react-resizable-handle-w{left:-3px;top:0;width:6px;height:100%;cursor:ew-resize}.stats-grid-item{position:relative}.stats-card-remove{position:absolute;top:8px;right:8px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background-color:#000000bf;color:#fff;cursor:pointer;z-index:60}.stats-card-remove .btn{padding:0;width:100%;height:100%;min-width:unset!important;border:none!important;background:transparent!important;display:flex;align-items:center;justify-content:center}.stats-card-remove-popover{position:absolute;top:40px;right:8px;min-width:180px;padding:12px;border-radius:10px;background:var(--bg-card);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 15px -3px #00000080,0 4px 6px -2px #0000004d;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn .1s ease-out}.stats-card-remove-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.stats-card-remove-subtitle{font-size:11px;color:var(--text-secondary);margin-bottom:12px}.stats-card-remove-actions{display:flex;justify-content:flex-end;gap:8px}.stats-card-remove-cancel{background:transparent;border:none;font-size:11px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.stats-card-remove-cancel:hover{color:var(--text-primary);background:#ffffff0d}.stats-card-remove-confirm{background:var(--accent-danger);border:none;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #ef444433}.stats-card-remove-confirm:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 6px #ef44444d}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
