@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--bg-base: #09090b;--bg-surface: #111113;--bg-card: #18181b;--bg-elevated:#1e1e21;--border: #27272a;--border-muted: #1f1f22;--border-active: #3f3f46;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #52525b;--text-disabled: #3f3f46;--accent: #f59e0b;--accent-dim: #78350f;--accent-hover: #fbbf24;--color-status-unknown: #3f3f46;--color-status-learning: #3b82f6;--color-status-landed: #eab308;--color-status-consistent: #f97316;--color-status-mastered: #ef4444;--color-dot-inactive: #27272a;--glass-backdrop: rgba(0, 0, 0, .72);--glass-panel-bg: rgba(17, 17, 19, .82);--glass-blur: blur(24px) saturate(180%);--glass-specular: inset 0 1px 0 rgba(255, 255, 255, .07);--sheet-shadow: 0 -8px 40px rgba(0, 0, 0, .5), 0 -2px 12px rgba(0, 0, 0, .3);--color-danger: #ef4444;--color-danger-dim: rgba(239, 68, 68, .1);--bg-inset: rgba(0, 0, 0, .25);--bg-inset-deep: rgba(0, 0, 0, .4);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .3);--shadow-inset-deep: inset 0 2px 6px rgba(0, 0, 0, .45);--shimmer-highlight: rgba(255, 255, 255, .06)}@media(prefers-color-scheme:light){:root{--bg-base: #f5f0eb;--bg-surface: #ebe5de;--bg-card: #ffffff;--bg-elevated:#faf7f3;--border: #d4cdc4;--border-muted: #e0d9d1;--border-active: #b8afa4;--text-primary: #1a1615;--text-secondary: #6b6058;--text-muted: #a39888;--text-disabled: #c4bdb4;--accent: #d97706;--accent-dim: #fef3c7;--accent-hover: #b45309;--color-status-unknown: #c4bdb4;--color-status-learning: #2563eb;--color-status-landed: #ca8a04;--color-status-consistent: #ea580c;--color-status-mastered: #dc2626;--color-dot-inactive: #d4cdc4;--glass-backdrop: rgba(245, 240, 235, .72);--glass-panel-bg: rgba(255, 255, 255, .82);--glass-blur: blur(24px) saturate(180%);--glass-specular: inset 0 1px 0 rgba(0, 0, 0, .06);--sheet-shadow: 0 -8px 40px rgba(0, 0, 0, .12), 0 -2px 8px rgba(0, 0, 0, .08);--color-danger: #dc2626;--color-danger-dim: rgba(220, 38, 38, .1);--bg-inset: rgba(0, 0, 0, .06);--bg-inset-deep: rgba(0, 0, 0, .1);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .08);--shadow-inset-deep: inset 0 2px 6px rgba(0, 0, 0, .12);--shimmer-highlight: rgba(0, 0, 0, .06)}}[data-theme=light]{--bg-base: #f5f0eb;--bg-surface: #ebe5de;--bg-card: #ffffff;--bg-elevated:#faf7f3;--border: #d4cdc4;--border-muted: #e0d9d1;--border-active: #b8afa4;--text-primary: #1a1615;--text-secondary: #6b6058;--text-muted: #a39888;--text-disabled: #c4bdb4;--accent: #d97706;--accent-dim: #fef3c7;--accent-hover: #b45309;--color-status-unknown: #c4bdb4;--color-status-learning: #2563eb;--color-status-landed: #ca8a04;--color-status-consistent: #ea580c;--color-status-mastered: #dc2626;--color-dot-inactive: #d4cdc4;--glass-backdrop: rgba(245, 240, 235, .72);--glass-panel-bg: rgba(255, 255, 255, .82);--glass-blur: blur(24px) saturate(180%);--glass-specular: inset 0 1px 0 rgba(0, 0, 0, .06);--sheet-shadow: 0 -8px 40px rgba(0, 0, 0, .12), 0 -2px 8px rgba(0, 0, 0, .08);--color-danger: #dc2626;--color-danger-dim: rgba(220, 38, 38, .1);--bg-inset: rgba(0, 0, 0, .06);--bg-inset-deep: rgba(0, 0, 0, .1);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .08);--shadow-inset-deep: inset 0 2px 6px rgba(0, 0, 0, .12);--shimmer-highlight: rgba(0, 0, 0, .06)}[data-theme=dark]{--bg-base: #09090b;--bg-surface: #111113;--bg-card: #18181b;--bg-elevated:#1e1e21;--border: #27272a;--border-muted: #1f1f22;--border-active: #3f3f46;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #52525b;--text-disabled: #3f3f46;--accent: #f59e0b;--accent-dim: #78350f;--accent-hover: #fbbf24;--color-status-unknown: #3f3f46;--color-status-learning: #3b82f6;--color-status-landed: #eab308;--color-status-consistent: #f97316;--color-status-mastered: #ef4444;--color-dot-inactive: #27272a;--glass-backdrop: rgba(0, 0, 0, .72);--glass-panel-bg: rgba(17, 17, 19, .82);--glass-blur: blur(24px) saturate(180%);--glass-specular: inset 0 1px 0 rgba(255, 255, 255, .07);--sheet-shadow: 0 -8px 40px rgba(0, 0, 0, .5), 0 -2px 12px rgba(0, 0, 0, .3);--color-danger: #ef4444;--color-danger-dim: rgba(239, 68, 68, .1);--bg-inset: rgba(0, 0, 0, .25);--bg-inset-deep: rgba(0, 0, 0, .4);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .3);--shadow-inset-deep: inset 0 2px 6px rgba(0, 0, 0, .45);--shimmer-highlight: rgba(255, 255, 255, .06)}:root{--color-cat-basics: #6ee7b7;--color-cat-air: #93c5fd;--color-cat-spin: #c4b5fd;--color-cat-grind: #fcd34d;--color-cat-lip: #fb923c;--color-cat-flatland: #f9a8d4;--color-cat-combo: #f87171;--color-tag-tip: #86efac;--color-tag-blocker: #f87171;--color-tag-breakthrough: #fde68a;--color-tag-fear: #c4b5fd;--color-tag-spot: #67e8f9;--font-ui: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", monospace;--text-2xs: .5rem;--text-xs: .5625rem;--text-sm: .6875rem;--text-md: .8125rem;--text-lg: .875rem;--text-xl: 1rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease: cubic-bezier(.4, 0, .2, 1);--duration-fast: .1s;--duration: .2s;--duration-slow: .3s;--z-base: 0;--z-overlay: 100;--z-modal: 200;--z-toast: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100%;background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);font-size:16px;line-height:1.5;overscroll-behavior:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}@media(prefers-color-scheme:light){body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' fill='%23b07040' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E")}}[data-theme=light] body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' fill='%23b07040' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E")}h1,h2,h3,h4{font-family:var(--font-ui);font-weight:700;line-height:1.15;letter-spacing:-.02em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-md);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}p{line-height:1.6;color:var(--text-secondary)}code,.mono{font-family:var(--font-mono);font-size:.875em}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.card--elevated{background:var(--bg-elevated);border-color:var(--border-active)}.status--unknown{color:var(--color-status-unknown)}.status--learning{color:var(--color-status-learning)}.status--landed{color:var(--color-status-landed)}.status--consistent{color:var(--color-status-consistent)}.status--mastered{color:var(--color-status-mastered)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-md);font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:hover,.btn:hover{background:var(--bg-elevated);border-color:var(--border-active)}button:active,.btn:active{transform:scale(.97)}.btn--primary{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.overlay-backdrop{position:fixed;inset:0;background:var(--glass-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay)}.overlay-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--glass-panel-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--border-active);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--glass-specular),var(--sheet-shadow);padding:var(--space-6) var(--space-4);z-index:calc(var(--z-overlay) + 1);max-height:90dvh;overflow-y:auto}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes tip-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes first-land-pulse{0%{box-shadow:0 0 #eab30899}50%{box-shadow:0 0 20px 8px #eab30833}to{box-shadow:0 0 #eab30800}}.animate-slide-up{animation:slide-up var(--duration-slow) var(--ease-out) both}.animate-sheet{animation:sheet-slide-up .28s cubic-bezier(.22,1,.36,1) both}.animate-backdrop{animation:backdrop-fade var(--duration) var(--ease-out) both}.animate-fade-in{animation:fade-in var(--duration) var(--ease-out) both}.animate-first-land{animation:first-land-pulse .7s ease-out 1}@keyframes vt-fade-slide-out{to{opacity:0;transform:translate(-8px)}}@keyframes vt-fade-slide-in{0%{opacity:0;transform:translate(8px)}}@keyframes vt-slide-up-in{0%{opacity:0;transform:translateY(24px)}}@keyframes vt-slide-down-out{to{opacity:0;transform:translateY(24px)}}::view-transition-old(tab-content){animation:.15s ease-out both vt-fade-slide-out}::view-transition-new(tab-content){animation:.2s ease-out both vt-fade-slide-in}::view-transition-old(trick-detail){animation:.18s ease-in both vt-slide-down-out}::view-transition-new(trick-detail){animation:.25s ease-out both vt-slide-up-in}::view-transition-old(run-sheet){animation:.18s ease-in both vt-slide-down-out}::view-transition-new(run-sheet){animation:.25s ease-out both vt-slide-up-in}::view-transition-old(session-detail){animation:.18s ease-in both vt-slide-down-out}::view-transition-new(session-detail){animation:.25s ease-out both vt-slide-up-in}::view-transition-old(spot-detail){animation:.18s ease-in both vt-slide-down-out}::view-transition-new(spot-detail){animation:.25s ease-out both vt-slide-up-in}@media(prefers-reduced-motion:reduce){::view-transition-old(*),::view-transition-new(*){animation:none}.animate-sheet,.animate-backdrop{animation:none}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent);outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shimmer{background:linear-gradient(90deg,var(--bg-elevated) 0%,var(--shimmer-highlight) 50%,var(--bg-elevated) 100%);background-size:400px 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@media(prefers-reduced-motion:reduce){.shimmer{animation:none;background:var(--bg-elevated)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10) var(--space-4);text-align:center}.empty-state__icon{font-size:var(--text-3xl);opacity:.4}.empty-state__text{font-size:var(--text-sm);color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.detail-backdrop,.session-detail__backdrop,.spot-detail__backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.detail-sheet,.session-detail,.spot-detail{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-surface)}}
