:root{color-scheme:light;--bg: #faf5eb;--bg-0: #f6f1e6;--bg-1: #efe6d7;--bg-2: #e5d7c3;--card: #fffaf1;--light-card: #fefdf8;--text-0: #1d1b16;--text-1: #4f4b43;--text-2: #847e72;--accent: #d64630;--accent-dark: #b43725;--accent-2: #0c5b4c;--danger: #be2f2f;--danger-text: #7a1d0c;--success: #1f7a45;--warning: #b45309;--warning-bg: #fff8ed;--warning-border: #e0c08a;--streak: #ff7a18;--trend-negative: #be2f2f;--trend-positive: #1f7a45;--trend-positive-bg: #f2fbf6;--trend-positive-border: #9cccae;--trend-negative-bg: #fef3f3;--trend-negative-border: #e1a0a0;--trend-neutral-bg: #f7f3eb;--trend-neutral-border: #d2c7b5;--border: #e2d6c4;--border-dark: #cbc4b9;--shadow: 0 24px 60px color-mix(in srgb, var(--text-0) 14%, transparent);--focus-ring: color-mix(in srgb, var(--accent) 30%, transparent);--app-bg-gradient: radial-gradient( circle at top left, color-mix(in srgb, var(--accent) 15%, transparent), transparent 55% ), radial-gradient( circle at 15% 75%, color-mix(in srgb, var(--accent-2) 18%, transparent), transparent 50% ), linear-gradient(160deg, var(--bg-0), var(--bg-1) 55%, var(--bg-2));--radius-lg: 22px;--radius-md: 14px;--radius-sm: 10px;--space-1: 6px;--space-2: 10px;--space-3: 14px;--space-4: 20px;--space-5: 28px;--space-6: 36px;--space-7: 48px;--space-8: 64px;--font-display: "Space Grotesk", "Segoe UI", sans-serif;--font-body: "IBM Plex Sans", "Segoe UI", sans-serif}*{box-sizing:border-box}html{height:100%;background:var(--app-bg-gradient);background-attachment:fixed}body{margin:0;height:100%;font-family:var(--font-body);color:var(--text-0);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.settings-account-value,.results-summary,.history-data-source{-webkit-user-select:text;user-select:text}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}@keyframes card-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(24px,3vw,32px);box-shadow:var(--shadow);max-width:1000px;width:min(92vw,1000px);animation:card-rise .45s ease}.button{border:none;border-radius:999px;padding:16px 26px;font-weight:600;font-family:var(--font-display);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.button:disabled{cursor:default;opacity:.55;box-shadow:none}.button-primary{background:var(--accent);color:#fff;box-shadow:0 4px 15px color-mix(in srgb,var(--accent) 20%,transparent);margin-top:var(--space-2)}.button-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 17px color-mix(in srgb,var(--accent) 30%,transparent)}.button-outline{padding:14px 20px;background:transparent;color:var(--text-0);border:1px solid var(--border)}.button-ghost{background:transparent;color:var(--text-1)}.eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-1);margin-bottom:var(--space-2)}.icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-bold{stroke-width:2.5}@keyframes spin{to{transform:rotate(360deg)}}.app-loading{margin:auto;display:inline-flex;align-items:center;gap:10px;color:var(--text-1);font-weight:500}.app-loading-spinner{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 20%,transparent);border-top-color:color-mix(in srgb,var(--accent) 90%,transparent);animation:spin .9s linear infinite}.app{flex:1;min-height:0;display:flex;flex-direction:column;padding:clamp(20px,3vw,36px);padding-bottom:0;gap:var(--space-3);overflow-y:auto}.app-has-overlay{overflow:hidden;height:100vh;height:100dvh}.app-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.app-header-signout{border:none;background:transparent;color:var(--text-1);font-family:var(--font-display);font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:8px 12px;border-radius:999px;cursor:pointer;transition:color .18s ease,background .18s ease}.app-header-signout:hover{color:var(--text-0);background:color-mix(in srgb,var(--text-0) 6%,transparent)}.app-session-close{width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:#ffffffb3;color:var(--text-1);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:border-color .18s ease,color .18s ease;margin-left:auto}.app-session-close svg{width:18px;height:18px}.app-session-close:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--text-0)}.app-session-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:center;gap:0;background:#fffaf1bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);box-shadow:0 -2px 8px color-mix(in srgb,var(--text-0) 6%,transparent);padding-bottom:env(safe-area-inset-bottom,0px)}.app-nav-item{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 8px;border:none;background:transparent;color:var(--text-2);font-family:var(--font-display);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:color .18s ease;-webkit-tap-highlight-color:transparent}.app-nav-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:6px}.app-nav-icon{width:22px;height:22px}.app-nav-item-active{color:var(--accent);border-top:2px solid var(--accent)}.app-session-overlay{position:fixed;inset:0;z-index:100;background:var(--app-bg-gradient);display:flex;flex-direction:column;overflow:hidden}@keyframes session-overlay-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes session-overlay-slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}.app-session-overlay-enter{animation:session-overlay-slide-up .35s cubic-bezier(.16,1,.3,1) forwards}.app-session-overlay-exit{animation:session-overlay-slide-down .28s cubic-bezier(.4,0,1,1) forwards}.app-session-overlay-content{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:var(--space-3) clamp(20px,3vw,36px);overflow-y:auto;-webkit-overflow-scrolling:touch}.app-session-overlay-content>*{margin-top:auto;margin-bottom:auto}@media(prefers-reduced-motion:reduce){.app-session-overlay-enter,.app-session-overlay-exit{animation:none}}.app-tab-page{flex:1;display:flex;flex-direction:column;animation:app-tab-fade-in .22s ease}.app-tab-page>*{flex:1}@keyframes app-tab-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.app-tab-page{animation:none}}.app-main{flex:1;display:flex;flex-direction:column;align-items:center;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.app-main-no-nav{padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-4))}.app-content-stack{width:min(92vw,1000px);display:flex;flex-direction:column;gap:var(--space-3)}.app-main>.app-content-stack{flex:1}.offline-screen{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-0)}.offline-screen-content{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:320px;text-align:center}.offline-screen-logo{width:80px;height:80px}.offline-screen-title{margin:0;font-size:1.4rem;font-weight:600;color:var(--text-0)}.offline-screen-body{margin:0;color:var(--text-1);line-height:1.5}.offline-screen-retry{margin-top:8px;min-width:140px}.settings-card{display:flex;flex-direction:column;gap:var(--space-5)}.settings-title{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2rem);margin:0}.settings-sections{display:flex;flex-direction:column;gap:var(--space-5)}.settings-section{display:flex;flex-direction:column;gap:var(--space-3)}.settings-section-title{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-0)}.settings-account-info{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff9;overflow:hidden}.settings-account-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:12px 14px}.settings-account-row+.settings-account-row{border-top:1px solid var(--border)}.settings-account-label{font-size:.85rem;color:var(--text-2);font-weight:600;flex-shrink:0}.settings-account-value{font-size:.9rem;color:var(--text-0);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-section-content{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.settings-feedback-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff9;font-family:inherit;font-size:.9rem;color:var(--text-0);resize:vertical;min-height:80px}.settings-feedback-input::placeholder{color:var(--text-2)}.settings-feedback-input:focus{outline:none;border-color:var(--accent)}.settings-feedback-actions{display:flex;align-items:center;gap:var(--space-3)}.settings-feedback-success{font-size:.85rem;color:var(--accent)}.settings-feedback-error{font-size:.85rem;color:var(--danger)}.settings-footer{margin-top:auto;padding-top:var(--space-5);color:var(--text-2);font-size:.85rem;text-align:center}.settings-footer-content{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}.settings-footer-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.settings-footer-link:hover{color:var(--text-1)}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand-mark{width:64px;height:64px;font-family:var(--font-display);font-weight:700;display:grid;place-items:center}.brand-mark-logo{width:100%;height:100%}.brand-title{font-family:var(--font-display);color:var(--text-0);letter-spacing:-.02em;font-size:1.24rem;font-weight:700}.start-card{display:flex;flex-direction:column;gap:var(--space-6);box-shadow:0 18px 46px color-mix(in srgb,var(--text-0) 10%,transparent)}.start-loading{justify-content:center}.start-layout{display:flex;flex-direction:column;gap:var(--space-6)}.start-copy{display:flex;flex-direction:column;gap:var(--space-4)}.drill-stats-copy{gap:0}.start-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.start-hero{position:relative;display:grid;place-items:center;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--text-0) 12%,transparent);background:#ffffff59;box-shadow:none;overflow:visible;width:min(260px,100%);align-self:center}.start-hero img{width:min(220px,70vw);max-width:260px;height:auto;display:block;filter:drop-shadow(0 16px 24px color-mix(in srgb,var(--text-0) 20%,transparent));position:relative;z-index:1}.start-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);margin:0}.start-subtitle{margin:0;color:var(--text-1);font-size:1.05rem}.start-personal-best{margin:0;display:inline-flex;align-items:baseline;gap:8px}.start-personal-best-label{font-size:.85rem;color:var(--text-1)}.start-personal-best-value{font-size:.92rem;font-weight:600;color:var(--accent-2)}.start-steps{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--text-1);font-size:1rem}.start-steps li{line-height:1.5}.start-actions{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap;align-items:center}.start-button{width:auto;margin-top:0}.start-stats-panel{display:grid;gap:12px;padding:14px;background:var(--light-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-3)}.start-stats-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;container-type:inline-size}.start-stats-range-wrapper{display:flex;justify-content:flex-end;flex-direction:column;align-items:flex-end;gap:6px}@container (max-width: 290px){.start-stats-range-wrapper{align-items:flex-start}}.start-stats-range{display:inline-flex;gap:2px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}.start-stats-time-label{font-size:.7rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}.start-stats-range-btn{appearance:none;background:transparent;border:none;color:var(--text-2);font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:calc(var(--radius-sm) - 3px);cursor:pointer;transition:background .15s ease,color .15s ease}.start-stats-range-btn:hover:not(.is-active){color:var(--text-0)}.start-stats-range-btn.is-active{background:var(--card);color:var(--text-0);box-shadow:0 1px 2px color-mix(in srgb,var(--text-0) 8%,transparent)}.start-stats-metric-select{position:relative;align-self:flex-start;width:max-content}.start-stats-metric-trigger{border:1px solid var(--border);border-radius:999px;background:#ffffffd9;color:var(--text-0);font-family:var(--font-body);font-size:.85rem;padding:6px 12px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.start-stats-metric-trigger svg{width:14px;height:14px}.start-stats-metric-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.start-stats-metric-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:0 12px 24px color-mix(in srgb,var(--text-0) 12%,transparent);padding:6px;z-index:10;display:grid;gap:2px}.start-stats-metric-option{border:none;background:transparent;color:var(--text-0);font-family:var(--font-body);font-size:.85rem;padding:8px 12px;border-radius:8px;text-align:left;cursor:pointer;white-space:nowrap}.start-stats-metric-option:hover{background:color-mix(in srgb,var(--text-0) 6%,transparent)}.start-stats-metric-option.is-selected{background:color-mix(in srgb,var(--text-0) 8%,transparent);font-weight:600}.start-stats-chart{display:grid;gap:4px}.start-stats-spark{width:100%;height:auto;aspect-ratio:320 / 100;display:block}.start-stats-bar{fill:var(--accent-2)}.start-stats-bar.is-empty{fill:var(--border-dark);opacity:.6}.start-stats-spark-wrap{position:relative}.start-stats-bar-value{position:absolute;transform:translate(-50%,calc(-100% - 2px));font-size:clamp(.6rem,.45rem + .6vw,1rem);font-weight:600;color:var(--text-1);font-family:var(--font-body);pointer-events:none;white-space:nowrap}.start-stats-xaxis{color:var(--text-1);font-size:.75rem;display:grid;width:100%;padding:0 4px;box-sizing:border-box;grid-template-columns:repeat(10,minmax(0,1fr))}.start-stats-xaxis span{text-align:center;white-space:nowrap;min-width:0;overflow:visible;position:relative}.start-stats-body{position:relative}.start-stats-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--light-card);border-radius:var(--radius-sm)}.start-stats-spark-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.start-stats-status{font-size:.85rem;color:var(--text-2);text-align:center;padding:4px 0}.start-stats-error{color:var(--danger)}.start-legs-wrapper{display:flex;align-items:center}.start-legs-stepper{display:inline-flex;align-items:center;gap:2px;background:var(--light-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}.start-legs-stepper-btn{appearance:none;background:transparent;border:none;color:var(--text-2);font-size:1rem;font-weight:600;line-height:1;min-width:28px;padding:4px 8px;border-radius:calc(var(--radius-sm) - 3px);cursor:pointer;transition:background .15s ease,color .15s ease}.start-legs-stepper-btn:hover:not(:disabled){color:var(--text-0);background:var(--card)}.start-legs-stepper-btn:disabled{opacity:.4;cursor:default}.start-legs-stepper-label{padding:4px 12px;text-align:center;font-size:.9rem;color:var(--text-1);white-space:nowrap}.start-legs-stepper-label strong{font-weight:700;color:var(--text-0)}@media(max-width:600px){.start-actions{align-items:center}}.training-card{display:flex;flex-direction:column;gap:var(--space-2);box-shadow:0 18px 46px color-mix(in srgb,var(--text-0) 10%,transparent)}.training-title{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2rem);margin:0}.training-header{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-1);margin-bottom:var(--space-2)}.training-header-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.training-focus-meta{margin:0;font-size:.82rem;color:var(--text-2)}.training-progress-complete{margin:0;padding-top:0;font-size:13px;color:var(--text-2)}.training-complete-tick{width:17px;height:17px;margin-right:7px;vertical-align:-4px}.training-complete-tick circle{fill:var(--accent-2)}.training-complete-tick polyline{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.training-session-complete{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.training-extra-drill{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:8px 2px 0;font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--accent-2);cursor:pointer;transition:color .12s ease,gap .12s ease}.training-extra-drill svg{width:15px;height:15px}.training-extra-drill:hover{color:var(--accent);gap:9px}.training-section-divider{height:1px;border:0;background:linear-gradient(90deg,color-mix(in srgb,var(--text-0) 2%,transparent),color-mix(in srgb,var(--text-0) 16%,transparent) 14% 86%,color-mix(in srgb,var(--text-0) 2%,transparent));margin:var(--space-1) 0}.training-sections{display:flex;flex-direction:column;gap:var(--space-5)}.training-section{display:flex;flex-direction:column;gap:var(--space-3)}.training-section-title{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-0)}.training-grid{display:flex;flex-direction:column;gap:var(--space-3)}.training-onboarding-cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border:1px solid color-mix(in srgb,var(--text-0) 12%,transparent);border-radius:var(--radius-md);background:#ffffff9e;text-align:center}.training-onboarding-cta-meta{margin:0;color:var(--text-1);font-size:.9rem;font-weight:500;letter-spacing:.02em}.training-onboarding-cta-button{margin-top:0;min-width:220px;padding:16px 28px;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center;gap:10px}.training-onboarding-cta-button svg{width:16px;height:16px}.training-onboarding-preview-locked{position:relative;border-radius:var(--radius-md);overflow:hidden}.training-onboarding-preview-locked-panel{filter:blur(1.1px);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none}.training-onboarding-preview-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:inherit;padding:var(--space-3)}.training-onboarding-preview-lock-content{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border-radius:var(--radius-md);padding:var(--space-1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.training-onboarding-preview-lock-title{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--text-0);text-shadow:0 1px 3px rgba(255,255,255,.8)}.training-onboarding-preview-lock-badge{display:inline-flex;align-items:center;gap:6px;color:var(--text-1);font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.02em;text-shadow:0 1px 3px rgba(255,255,255,.7)}.training-onboarding-preview-lock-badge svg{width:14px;height:14px}.training-onboarding-flow{list-style:none;display:grid;gap:var(--space-3);padding:0;margin:0}.training-onboarding-step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--text-0) 12%,transparent);border-radius:var(--radius-md);background:#ffffff9e}.training-onboarding-step-index{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-family:var(--font-display);font-size:.95rem;font-weight:700;line-height:1}.training-onboarding-step-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-0)}.training-onboarding-step-body{margin:6px 0 0;color:var(--text-1);font-size:.95rem;line-height:1.45}.training-option{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff9;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;color:inherit;appearance:none;overflow:hidden;box-shadow:0 2px 8px #00000009;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.training-option:hover{border-color:var(--border-dark);background:#ffffffd9;box-shadow:0 4px 12px #0000000f}.training-option:disabled,.training-option:disabled:hover,.training-option:disabled:focus-visible{transform:none;box-shadow:none;outline:none;cursor:auto}.training-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.training-option.is-completed{border-color:var(--border);box-shadow:none}.training-option.is-completed:hover{transform:none;box-shadow:none;border-color:var(--border)}.training-option-header{display:flex;align-items:center;gap:var(--space-2);min-width:0}.training-option-heading{display:flex;flex-direction:column;gap:2px}.training-option-title{font-family:var(--font-display);font-weight:600;font-size:1.05rem;line-height:1.25;letter-spacing:-.01em}.training-option-body{color:var(--text-1);font-size:.97rem;line-height:1.45}.training-option-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:nowrap}.training-option-content{display:flex;flex-direction:column;gap:calc(var(--space-2) + 4px);padding:calc(var(--space-3) + 6px) calc(var(--space-3) + 32px) calc(var(--space-3) + 6px) calc(var(--space-3) + 6px);flex:1}.training-option-cta{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-1);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-top:auto}.training-option-cta svg{width:16px;height:16px}.training-option-cta-complete{color:var(--accent-2);border:1px solid color-mix(in srgb,var(--accent-2) 28%,transparent);background:color-mix(in srgb,var(--accent-2) 10%,transparent);border-radius:999px;padding:4px 10px;width:fit-content;margin-top:0}.training-option-headline{flex-direction:column;gap:0;overflow:hidden;cursor:default}.training-option-headline-main{display:flex;flex-direction:row;align-items:stretch;min-width:0}.training-option-headline:hover{border-color:var(--border);background:#fff9;box-shadow:none;transform:none}.training-option-headline-visual{flex:0 0 150px;display:flex;align-items:center;justify-content:center;padding:var(--space-3) 0 var(--space-3) var(--space-3)}.training-option-headline-visual .throw-profile-body{gap:0;width:100%}.training-option-headline-visual .throw-profile-visual-card{border:0;background:transparent;padding:0}.training-option-headline-visual .throw-profile-visual svg{width:100%}.training-option-headline-visual .throw-profile-caption{display:none}.training-option-headline-content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-2);padding:calc(var(--space-3) + 6px);min-width:0}.training-option-headline-bot-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#ffffff8c;border:1px solid color-mix(in srgb,var(--text-0) 12%,transparent);border-radius:var(--radius-sm);max-width:270px}.training-option-headline-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0}.training-option-headline-stat{display:flex;flex-direction:column;gap:2px}.training-option-headline-stat dt{font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--text-1)}.training-option-headline-stat dd{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-0)}.training-section-heading{display:flex;flex-direction:column;gap:4px}.training-section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.training-streak-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 6px;border-radius:14px;background:color-mix(in srgb,var(--streak) 16%,transparent);color:var(--streak);font-family:var(--font-display);font-weight:700;font-size:.85rem;line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums}.training-streak-badge-emoji{font-size:1.15rem;line-height:1}.training-streak-badge-text{display:flex;flex-direction:column}.training-streak-badge.is-zero{background:color-mix(in srgb,var(--text-2) 12%,transparent);color:var(--text-2)}.training-streak-badge.is-zero .training-streak-badge-emoji{filter:grayscale(1);opacity:.65}.training-section-heading-title{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text-0);letter-spacing:-.005em}.training-daily-plan,.training-compact-list{display:flex;flex-direction:column;gap:var(--space-3)}.training-option-compact{flex-direction:row;align-items:center;gap:var(--space-4);padding:var(--space-4);overflow:visible}.training-option-compact-visual{flex:0 0 150px;display:flex;align-items:center;justify-content:center}.training-option-compact-visual img{width:100%;max-width:150px;height:auto;display:block;filter:drop-shadow(0 12px 20px color-mix(in srgb,var(--text-0) 18%,transparent))}.training-option-compact-body{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);flex:1;min-width:0}.training-option-compact-text{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.training-option-input-pill{display:inline-flex;align-self:flex-start;margin-bottom:5px;padding:1px 8px;border-radius:999px;font-size:.66rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;line-height:1.5;border:1px solid transparent}.training-option-input-pill-score{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.training-option-input-pill-hit{color:var(--text-1);background:color-mix(in srgb,var(--text-0) 6%,transparent);border-color:color-mix(in srgb,var(--text-0) 16%,transparent)}.training-option-compact.is-completed{background:#ffffff4d;opacity:.7}.training-option-compact.is-completed .training-option-title{color:var(--text-2);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text-0) 30%,transparent)}.training-option-compact-start{width:100%;max-width:220px;align-self:flex-start;margin-top:0;padding:12px 20px;font-size:.95rem;font-weight:700;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 28%,transparent)}.training-option-compact-start:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 36%,transparent)}.training-option-compact-start svg{width:19px;height:19px}.training-option-game-card,.training-option-compact{cursor:default}.training-option-game-card:hover,.training-option-compact:hover{border-color:var(--border);background:#fff9;box-shadow:0 2px 8px #00000009}.training-option-game-card .training-option-content{padding-right:calc(var(--space-3) + 6px)}.training-game-card-start{display:inline-flex;align-items:center;justify-content:center;gap:9px}.training-game-card-start svg{width:19px;height:19px}.training-game-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:0 calc(var(--space-3) + 6px) calc(var(--space-3) + 6px)}.training-game-card-footer .training-game-stats-link{margin-right:auto}.training-game-card-footer .button{margin-top:0;padding:10px 22px;font-size:.95rem}.training-game-stats-link{display:inline-flex;align-items:center;gap:6px;padding:6px 4px;font-size:.9rem;font-weight:600;color:var(--text-1);background:transparent;border:0;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}.training-game-stats-link:hover,.training-game-stats-link:focus-visible{color:var(--text-0);text-decoration-color:currentColor}.training-game-stats-link svg{width:14px;height:14px}@media(max-width:600px){.training-option-headline-main{flex-direction:column}.training-option-headline-visual{flex:0 0 auto;padding:var(--space-3) var(--space-3) 0}.training-option-headline-visual .throw-profile-visual svg{width:min(150px,70%)}.training-option-compact{flex-direction:column;align-items:stretch}.training-option-compact-visual{flex:0 0 auto}.training-option-compact-visual img{max-width:140px;margin:0 auto}.training-option-top{flex-wrap:wrap}}@media(min-width:900px){.training-onboarding-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}.session-card{display:flex;flex-direction:column;gap:var(--space-3);position:relative}.session-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.target-badge{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--font-display);font-weight:700}.target-sm{font-size:.95rem}.target-lg{font-size:1.5rem}.target-prefix{color:var(--accent);font-size:.85em;text-transform:uppercase;letter-spacing:.04em}.target-value{color:var(--text-0)}.score-input{display:flex;flex-direction:column;gap:var(--space-3)}.score-label{font-weight:600}.score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,120px));gap:var(--space-4);justify-content:center}.turn-total-grid{grid-template-columns:minmax(0,120px)}.score-field{display:flex;flex-direction:column;gap:6px;align-items:center;width:100%;max-width:120px}.score-field-label{font-size:.82rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-weight:600;transition:color .12s ease}.score-field:has(.score-input-control-active) .score-field-label{color:var(--accent-2)}.score-input-control{padding:12px 10px;border:none;border-radius:var(--radius-sm);font-size:1.5rem;font-family:var(--font-display);color:var(--text-0);text-align:center;font-weight:700;letter-spacing:.02em;width:100%;max-width:none;align-self:center;background:var(--bg);box-shadow:inset 0 2px 3px color-mix(in srgb,var(--text-0) 20%,transparent),inset 0 0 3px var(--border-dark);transition:background-color 50ms ease,box-shadow 50ms ease,opacity 50ms ease}.score-input-control[readonly]{cursor:default}.score-input-control:focus{outline:none}.score-input-control-active{background:var(--light-card);opacity:1;box-shadow:inset 0 2px 3px color-mix(in srgb,var(--text-0) 20%,transparent),inset 0 0 3px var(--border-dark),inset 0 0 2px var(--accent-2)}.score-input-control-hit{color:var(--accent-2)}.score-input-control-miss{color:var(--accent)}.score-helper{display:none;align-self:center;max-width:max-content;color:var(--danger-text);font-size:.9rem;text-align:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:6px 14px;margin-top:var(--space-2)}.score-helper-active{display:block}.score-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--space-2);column-gap:var(--space-2);margin-top:var(--space-2);max-width:600px;width:100%;align-self:center}.hit-rate-pad{grid-template-columns:repeat(2,minmax(0,1fr));max-width:400px}.score-pad-button{border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 0;background:#fff;font-family:var(--font-display);font-size:1.25rem;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}.hit-pad-button-hit{background:color-mix(in srgb,var(--accent-2) 6%,transparent);border-color:color-mix(in srgb,var(--accent-2) 35%,transparent);color:var(--accent-2)}.hit-pad-button-miss{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.score-pad-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 10px 20px color-mix(in srgb,var(--text-0) 12%,transparent)}.hit-pad-button-hit:hover{border-color:color-mix(in srgb,var(--accent-2) 50%,transparent)}.score-pad-button:active{transform:translateY(0)}.score-pad-button-zero{grid-column:2}.score-pad-inline-actions{grid-column:1 / -1;display:grid;grid-template-columns:minmax(96px,.72fr) minmax(0,1.28fr);gap:var(--space-3);margin-top:var(--space-3)}.score-inline-action{width:100%;margin-top:0;padding:16px 0;font-size:1rem;display:inline-grid;place-items:center}.button-outline.score-inline-action{border:1px solid var(--border-dark)}.score-inline-action-ready{background:var(--accent-dark);box-shadow:0 16px 30px color-mix(in srgb,var(--accent) 32%,transparent)}.label-pad{display:flex;flex-direction:column;gap:var(--space-2);max-width:600px;width:100%;align-self:center}.label-pad-modifiers{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border)}.label-pad-mod-tab{flex:1;background:none;border:none;border-bottom:3px solid transparent;border-radius:0;margin-bottom:-1px;padding:10px 4px;font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-2);cursor:pointer;transition:color .12s ease,border-color .12s ease}.label-pad-mod-tab:hover{color:var(--text-0)}.label-pad-mod-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.label-pad-mod-tab:disabled{cursor:default;opacity:.5}.label-pad-numbers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}.label-pad-specials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.label-pad-num-button,.label-pad-specials .score-pad-button{padding:14px 0;font-size:1.1rem}.label-pad-sub{font-size:.8rem;font-weight:600;color:var(--text-2);margin-left:4px}.game-modal-backdrop{position:absolute;inset:0;display:grid;place-items:center;background:#13120e85;border-radius:var(--radius-lg);padding:var(--space-3);z-index:20}.game-modal{width:min(100%,460px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 18px 42px #13120e47;padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:var(--space-3)}.game-modal-fields{display:grid;gap:var(--space-4)}.game-modal-field{display:flex;flex-direction:column;gap:var(--space-2);font-size:1.05rem;color:var(--text-0);font-weight:500}.game-modal-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.game-modal-choice{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 10px;font-family:var(--font-display);font-size:1.1rem;font-weight:700;background:#fff;color:var(--text-0);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.game-modal-choice:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 8px 14px color-mix(in srgb,var(--text-0) 10%,transparent)}.game-modal-choice.is-selected{border-color:color-mix(in srgb,var(--accent-2) 48%,transparent);background:color-mix(in srgb,var(--accent-2) 12%,transparent);color:var(--accent-2)}.game-modal-choice.is-selected:hover{border-color:color-mix(in srgb,var(--accent-2) 60%,transparent)}.game-modal-choice:disabled{cursor:not-allowed;opacity:.45;background:color-mix(in srgb,var(--text-0) 5%,transparent);color:var(--text-2);border-color:color-mix(in srgb,var(--text-0) 15%,transparent);box-shadow:none;transform:none}.game-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3)}.game-modal-actions .button{margin-top:0;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:20px 26px}.connection-alert-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:#13120e8c;padding:var(--space-3);z-index:1000}.connection-alert{width:min(100%,420px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 18px 42px #13120e52;padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:var(--space-3)}.connection-alert-title{margin:0;font-family:var(--font-display);font-size:1.2rem}.connection-alert-message{margin:0;color:var(--text-1);font-size:1rem;line-height:1.45}.connection-alert-actions{display:flex;justify-content:flex-end}.connection-alert-actions .button{margin-top:0;min-height:42px;padding:14px 28px}.stepper{min-width:0;flex-shrink:0;margin-left:auto}.stepper-label{font-size:.95rem;color:var(--text-1);font-weight:500;margin-bottom:var(--space-1);text-align:right;white-space:nowrap}.stepper-bar{height:8px;background:#00000014;border-radius:999px;overflow:hidden}.stepper-progress{height:100%;background:var(--accent-2);border-radius:999px;transition:width .3s ease}.aim-board{display:flex;justify-content:center}.aim-board svg{width:min(240px,72%);height:auto;aspect-ratio:1 / 1}.aim-board-base{fill:#fff;stroke:color-mix(in srgb,var(--text-0) 16%,transparent);stroke-width:2}.aim-board-ring{fill:none;stroke:color-mix(in srgb,var(--text-0) 16%,transparent);stroke-width:1.4}.aim-board-spoke{stroke:color-mix(in srgb,var(--text-0) 12%,transparent);stroke-width:1}.aim-board-highlight{fill:color-mix(in srgb,var(--accent) 50%,transparent);stroke:color-mix(in srgb,var(--accent) 85%,transparent);stroke-width:1.25;stroke-linejoin:round}.aim-board-number{fill:var(--text-2);font-family:var(--font-display);font-size:12px;font-weight:600}.aim-board-number.is-target{fill:var(--accent);font-weight:800}.bot-scoreboard{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.bot-scoreboard-player{display:flex;flex-direction:column;align-items:center;gap:2px}.bot-scoreboard-label{font-size:.85rem;font-weight:600;color:var(--text-1);text-transform:uppercase;letter-spacing:.04em}.bot-scoreboard-score{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1;color:var(--text-0);min-width:3ch;text-align:center}.bot-scoreboard-vs{font-size:.85rem;font-weight:600;color:var(--text-2);padding-top:1rem}.bot-popup-backdrop{z-index:30}.bot-popup{width:min(100%,280px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 18px 42px #13120e47;padding:clamp(20px,3vw,28px);text-align:center;animation:bot-popup-in .2s ease-out}@keyframes bot-popup-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.bot-popup-throwing{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:1.1rem;font-weight:600;color:var(--text-0)}.bot-popup-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--text-0);border-radius:50%;animation:spin .7s linear infinite}.bot-popup-score{display:flex;flex-direction:column;gap:4px}.bot-popup-total{font-family:var(--font-display);font-size:2.4rem;font-weight:700;line-height:1;color:var(--text-0)}.bot-popup-remaining{font-size:.9rem;font-weight:500;color:var(--text-1)}@media(max-width:600px){.session-header{align-items:flex-start}}.results-card{display:flex;flex-direction:column;gap:var(--space-4)}.results-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.results-title{margin:0;font-family:var(--font-display)}.results-summary{display:flex;flex-direction:column;gap:var(--space-3);background:#fff9;border-radius:var(--radius-md);padding:var(--space-3);border:1px solid var(--border)}.results-summary-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}.results-summary-section-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.results-summary-item{min-width:0;display:flex;flex-direction:column;gap:4px}.results-summary-divider{height:1px;background:color-mix(in srgb,var(--text-0) 12%,transparent)}.results-summary-drill .results-summary-section{grid-template-columns:1fr}@keyframes results-personal-best-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.results-personal-best-card{display:flex;flex-direction:column;gap:6px;animation:results-personal-best-rise .22s ease-out;will-change:transform,opacity}.results-personal-best-label{font-size:.85rem;color:var(--text-2)}.results-personal-best-value{font-size:1.2rem;font-weight:600;color:var(--text-1)}.results-personal-best-message{font-size:.85rem;color:var(--text-2)}.results-personal-best-card.is-new .results-personal-best-message{color:var(--accent-2)}.results-personal-best-card.is-tied .results-personal-best-message{color:var(--warning)}@media(prefers-reduced-motion:reduce){.results-personal-best-card{animation:none}}.results-top-list{display:flex;flex-direction:column;gap:var(--space-2)}.results-top-list-title{font-size:.85rem;color:var(--text-2)}.results-top-rows{display:flex;flex-direction:column;gap:9px}.results-top-row{display:grid;grid-template-columns:minmax(56px,8.5rem) 1fr auto;align-items:center;gap:12px}.results-top-label{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-top-bar-track{height:10px;border-radius:999px;background:color-mix(in srgb,var(--text-0) 8%,transparent);overflow:hidden}.results-top-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent-2) 60%,transparent),var(--accent-2));transform-origin:left;animation:results-top-bar-grow .42s ease-out}@keyframes results-top-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.results-top-count{font-weight:700;font-size:.95rem;color:var(--text-1);font-variant-numeric:tabular-nums;text-align:right}@media(prefers-reduced-motion:reduce){.results-top-bar-fill{animation:none}}.results-fit{display:flex;flex-direction:column;gap:var(--space-2)}.results-drill-profile{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.results-fit-context{display:flex;flex-direction:column;gap:4px}.results-fit-title{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--text-0)}.results-data-source{font-size:.88rem;color:var(--text-2);line-height:1.45}.results-fit-status{font-size:.9rem;color:var(--text-2)}.results-fit-loading{display:inline-flex;align-items:center;gap:8px}.results-fit-spinner{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 20%,transparent);border-top-color:color-mix(in srgb,var(--accent) 90%,transparent);animation:spin .9s linear infinite}.results-metric{display:flex;flex-direction:column;gap:var(--space-2);position:relative;padding:var(--space-3);border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--light-card)}.results-metric-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.results-metric-icon{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.results-metric-icon circle,.results-metric-icon rect{fill:color-mix(in srgb,var(--accent) 16%,transparent);stroke:var(--accent)}.results-metric-summary{display:flex;align-items:center;gap:var(--space-2);width:100%}.results-metric-summary-label{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;font-size:.86rem;color:var(--text-1);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.results-metric-summary-label:after{content:"";flex:1 1 auto;min-width:16px;margin-left:8px;height:1px;background-image:repeating-linear-gradient(to right,color-mix(in srgb,var(--text-0) 40%,transparent) 0 1px,transparent 1px 4px);transform:translateY(1px)}.results-metric-info{position:relative;display:inline-flex;align-items:center;text-transform:none;letter-spacing:normal}.results-metric-info-button{width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--text-2);cursor:help}.results-metric-info-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75}.results-metric-info-button circle:last-of-type{fill:currentColor;stroke:none}.results-metric-info-button:hover,.results-metric-info-button:focus-visible{color:var(--accent)}.results-metric-info-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.results-metric-info-tooltip{position:absolute;left:0;top:calc(100% + 8px);width:min(230px,calc(100vw - 64px));padding:8px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--text-0) 16%,transparent);background:#1a1813f5;color:#f6f3ec;text-transform:none;letter-spacing:normal;font-size:.76rem;line-height:1.4;font-weight:500;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;z-index:3}.results-metric-info:hover .results-metric-info-tooltip,.results-metric-info:focus-within .results-metric-info-tooltip{opacity:1;visibility:visible;transform:translateY(0)}@media(max-width:520px){.results-metric-info-tooltip{width:min(200px,calc(100vw - 40px));left:-12px}}.results-metric-summary-value{font-size:1.12rem;font-weight:700;color:var(--accent-2);line-height:1.2;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fffc;padding:6px 10px;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--text-0) 6%,transparent);text-align:right;font-variant-numeric:tabular-nums;margin-left:auto;flex-shrink:0}.results-metric-details{display:grid;gap:8px;width:100%;border-top:1px solid color-mix(in srgb,var(--text-0) 12%,transparent);padding-top:8px}.results-metric-detail-row{display:flex;justify-content:space-between;gap:var(--space-2);align-items:baseline}.results-metric-detail-label{font-size:.76rem;color:var(--text-1);letter-spacing:.05em;text-transform:uppercase}.results-metric-detail-value{font-size:.9rem;font-weight:600;color:var(--text-0);text-align:right}.results-metric-trend{display:inline-flex;align-self:flex-start;align-items:center;gap:4px;font-size:.8rem;font-weight:600;line-height:1.25;padding:2px 8px;border:1px solid transparent;border-radius:var(--radius-sm);margin-bottom:6px}.results-metric-trend-icon{width:10px;height:10px;fill:currentColor;stroke:none;flex:0 0 auto}.results-metric-trend-positive{color:var(--trend-positive);background:var(--trend-positive-bg);border-color:var(--trend-positive-border)}.results-metric-trend-negative{color:var(--trend-negative);background:var(--trend-negative-bg);border-color:var(--trend-negative-border)}.results-metric-trend-neutral{color:var(--text-2);background:var(--trend-neutral-bg);border-color:var(--trend-neutral-border)}.results-metric-history-compact .results-metric-summary-value{font-size:1.08rem}.results-fit-error{color:var(--danger-text);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:var(--radius-sm);padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);display:grid;gap:6px}.results-fit-error p{margin:0}.results-fit-error-actions{display:flex;margin-top:4px}.results-fit-error-title{font-weight:600}.results-done{display:flex;justify-content:center}.summary-label{font-size:.85rem;color:var(--text-2)}.summary-value{font-size:1.2rem;font-weight:600}.results-bot-banner{text-align:center;padding:var(--space-2) 0}.results-bot-banner-text{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.results-bot-banner-score{font-weight:700}.results-bot-banner-win{color:var(--success)}.results-bot-banner-loss{color:var(--danger)}.results-bot-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0}.results-bot-comparison-header{font-size:1rem;font-weight:700;color:var(--text-1);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding-bottom:var(--space-1)}.results-bot-stat-player,.results-bot-stat-bot{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-0)}.results-bot-stat-player{text-align:right}.results-bot-stat-bot{text-align:left}.results-bot-stat-label{font-size:.85rem;font-weight:500;color:var(--text-1);text-align:center;align-self:center}@media(max-width:600px){.results-summary-section-secondary{grid-template-columns:1fr}}.throw-profile-body{display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.throw-profile-body-visual-only{width:100%}.throw-profile-body-visual-only .throw-profile-visual-card{width:min(100%,460px)}.throw-profile-visual-card{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-dark);background:var(--light-card);order:2;display:flex;justify-content:center;padding:var(--space-2)}.throw-profile-metrics-card{order:1;width:100%;padding:0;display:block;border:none;background:transparent}.throw-profile-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%}.throw-profile-visual-board-group{display:flex;flex-direction:column;align-items:center}.throw-profile-visual svg{width:min(320px,88vw);height:auto;aspect-ratio:1 / 1;max-width:105%}.throw-profile-board{fill:#fff;stroke:color-mix(in srgb,var(--text-0) 16%,transparent);stroke-width:2}.throw-profile-ring{fill:none;stroke:color-mix(in srgb,var(--text-0) 16%,transparent);stroke-width:1.4}.throw-profile-bull{fill:#fff;stroke:color-mix(in srgb,var(--text-0) 10%,transparent)}.throw-profile-spoke{stroke:color-mix(in srgb,var(--text-0) 12%,transparent);stroke-width:1}.throw-profile-tilt{stroke:color-mix(in srgb,var(--accent) 45%,transparent);stroke-width:1.5;stroke-dasharray:4 6}.throw-profile-ellipse{stroke:#e625081a;stroke-width:1.5}.throw-profile-caption{font-size:.85rem;color:var(--text-2);max-width:min(300px,100%);display:flex;flex-direction:column;gap:4px;margin-bottom:4px;text-align:center}.throw-profile-metrics{display:grid;grid-template-columns:1fr;gap:var(--space-3);width:100%;align-content:start}.throw-profile-body-history{align-items:stretch}.throw-profile-body-history .throw-profile-visual-card{order:0}.throw-profile-body-history .throw-profile-metrics-card{order:1}.throw-profile-history-metrics{display:grid;grid-template-columns:1fr;gap:var(--space-3);width:100%;align-content:start}.throw-profile-history-secondary{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.throw-profile-history-grouping-content{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.throw-profile-history-grouping-content .history-grid{gap:0}.throw-profile-history-grouping-content .history-metric{border:none;background:transparent;padding:0}.throw-profile-visual-card-history{flex-direction:column;align-items:center;gap:var(--space-3);position:relative;padding-top:var(--space-5)}.throw-profile-history-badge{position:absolute;top:var(--space-2);left:var(--space-2);z-index:1}.throw-profile-history-share{position:absolute;top:var(--space-2);right:var(--space-2);z-index:1}.throw-profile-share-button{display:inline-flex;align-items:center;gap:6px;padding:4px;border:none;background:transparent;color:var(--text-1);font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:color .15s ease}.throw-profile-share-button:hover:not(:disabled){color:var(--text-0)}.throw-profile-share-button:disabled{opacity:.6;cursor:default}.throw-profile-share-button svg{width:14px;height:14px}.throw-profile-history-actions{align-self:stretch;padding:var(--space-2)}@media(min-width:900px){.throw-profile-visual-history{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-3);text-align:left;width:auto;max-width:100%}.throw-profile-visual-history .throw-profile-visual-board-group{flex:0 0 auto;width:min(360px,88vw)}}@media(min-width:960px){.throw-profile-metrics{justify-content:start;height:auto}.throw-profile-body{flex-direction:row;align-items:stretch}.throw-profile-visual-card,.throw-profile-metrics-card{flex:1}.throw-profile-visual-card{order:1}.throw-profile-metrics-card{order:0}.throw-profile-body-history{flex-direction:column;align-items:stretch}.throw-profile-body-history .throw-profile-visual-card,.throw-profile-body-history .throw-profile-metrics-card{flex:initial;width:100%}.throw-profile-body-history .throw-profile-visual-card{order:0}.throw-profile-body-history .throw-profile-metrics-card{order:1}}.history-card{display:flex;flex-direction:column;gap:var(--space-4)}.history-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.history-title{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,1.6rem);margin:var(--space-1) 0;width:100%;font-weight:600}.history-controls{display:flex;flex-direction:column;gap:var(--space-3);justify-content:flex-start}.history-timeframe{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.85rem;color:var(--text-1)}.history-timeframe-updating{font-size:.8rem;color:var(--text-2);white-space:nowrap}.history-timeframe-select{position:relative;width:170px}.history-timeframe-trigger{border:1px solid var(--border);border-radius:999px;background:#ffffffd9;color:var(--text-0);font-family:var(--font-body);font-size:.9rem;padding:7px 12px;width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.history-timeframe-trigger svg{width:14px;height:14px}.history-timeframe-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.history-timeframe-menu{position:absolute;top:calc(100% + 8px);left:0;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:0 12px 24px color-mix(in srgb,var(--text-0) 12%,transparent);padding:6px;z-index:10}.history-timeframe-option{width:100%;border:none;background:transparent;color:var(--text-0);font-family:var(--font-body);font-size:.88rem;padding:8px 10px;border-radius:10px;text-align:left;cursor:pointer}.history-timeframe-option:hover{background:color-mix(in srgb,var(--text-0) 6%,transparent)}.history-timeframe-option.is-selected{background:color-mix(in srgb,var(--text-0) 8%,transparent);color:var(--text-0);font-weight:600}.history-status{color:var(--text-2);font-size:.9rem}.history-error{color:var(--danger-text);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:var(--radius-sm);padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.history-empty{color:var(--text-2);font-size:.95rem}.history-skill-test-due{margin:0 0 var(--space-2);text-align:center;color:var(--accent);font-size:.88rem;font-weight:600}.history-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.history-actions .button{margin-top:0;padding:12px 22px;font-size:.95rem}.history-grouping-trend-wrapper{display:flex;flex-direction:column;gap:var(--space-3)}.history-grouping-trend-wrapper .history-empty{margin:0}.history-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.history-metric{border-radius:var(--radius-md);border:1px solid var(--border);background:#fff9;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);width:100%}.history-metric-header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.history-metric-copy{display:flex;flex-direction:column;gap:var(--space-1)}.history-metric-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.history-metric-title{font-family:var(--font-display);font-weight:600;color:var(--accent-2);font-size:1.1rem}.history-metric-subtitle{font-size:.85rem;color:var(--text-2)}.history-data-source{font-size:.88rem;color:var(--text-2);line-height:1.45}.history-confidence{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;line-height:1.25;padding:2px 8px;border:1px solid transparent;border-radius:var(--radius-sm)}.history-confidence-high{color:var(--trend-positive);background:var(--trend-positive-bg);border-color:var(--trend-positive-border)}.history-confidence-medium{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-border)}.history-confidence-low{color:var(--trend-negative);background:var(--trend-negative-bg);border-color:var(--trend-negative-border)}.history-side-inline{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;margin-top:0}.history-chart{display:block;width:100%;max-width:none;height:260px;align-self:center}.history-chart-surface{position:relative;width:100%}.history-chart-frame{display:flex;flex-direction:column;gap:6px;width:100%;max-width:none;margin:0}.history-chart-grid{stroke:color-mix(in srgb,var(--text-0) 12%,transparent);stroke-width:1}.history-chart-benchmark{pointer-events:none}.history-chart-benchmark-line{stroke:currentColor;stroke-width:1.5;opacity:.1}.history-chart-benchmark-band{fill:currentColor;opacity:.1}.history-chart-benchmark-label{position:absolute;left:10px;color:currentColor;font-size:11px;font-weight:700;letter-spacing:.03em;line-height:1;pointer-events:none;white-space:nowrap}.history-chart-benchmark-neutral{color:color-mix(in srgb,var(--text-0) 50%,transparent)}.history-chart-benchmark-pro{color:color-mix(in srgb,var(--accent-2) 78%,transparent)}.history-chart-benchmark-elite{color:#1c714ec2}.history-chart-benchmark-regional{color:#428440bf}.history-chart-benchmark-club{color:#8a7e28c2}.history-chart-benchmark-amateur{color:#c48224c7}.history-chart-area{fill:currentColor;stroke:none;opacity:1}.history-chart-line{fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;opacity:.85;stroke:var(--text-0)}.history-chart-uncertainty-band{fill:var(--text-0);fill-opacity:.03;stroke:none}.history-chart-current-line{stroke:var(--accent-2);stroke-width:1.5;opacity:.55}.history-chart-current-line-horizontal{stroke:var(--accent-2);stroke-width:1;stroke-dasharray:3 5;stroke-linecap:round;opacity:.45}.history-chart-line-hitbox{position:absolute;width:20px;height:20px;transform:translate(-50%,-50%)}.history-chart-point{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:var(--accent-2);opacity:.35;transform:translate(-50%,-50%);pointer-events:none}.history-chart-point.is-latest{width:6px;height:6px;opacity:1;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-2) 22%,transparent);z-index:1}.history-chart-tooltip{position:absolute;min-width:135px;max-width:180px;padding:8px 10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--text-0) 14%,transparent);background:#fffcf7f5;box-shadow:0 2px 5px color-mix(in srgb,var(--text-0) 5%,transparent);color:var(--text-0);pointer-events:none;z-index:3}.history-chart-tooltip-center{transform:translate(-50%,calc(-100% - 12px))}.history-chart-tooltip-left{transform:translateY(calc(-100% - 12px))}.history-chart-tooltip-right{transform:translate(-100%,calc(-100% - 12px))}.history-chart-tooltip-label{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2)}.history-chart-tooltip-value{margin-top:2px;font-size:.9rem;font-weight:600;color:var(--text-0)}.history-chart-current-value{position:absolute;padding:4px 8px;border-radius:999px;background:var(--accent-2);color:#fff;font-size:11px;font-weight:700;line-height:1;letter-spacing:.01em;white-space:nowrap;text-align:center;pointer-events:none;box-shadow:0 4px 12px color-mix(in srgb,var(--text-0) 18%,transparent);z-index:2}.history-chart-current-value-center{transform:translate(-50%,calc(-100% - 12px))}.history-chart-current-value-start{transform:translate(-4px,calc(-100% - 12px))}.history-chart-current-value-end{transform:translate(calc(-100% + 4px),calc(-100% - 12px))}.history-chart-current-value.is-below.history-chart-current-value-center{transform:translate(-50%,12px)}.history-chart-current-value.is-below.history-chart-current-value-start{transform:translate(-4px,12px)}.history-chart-current-value.is-below.history-chart-current-value-end{transform:translate(calc(-100% + 4px),12px)}.history-chart-accent{color:var(--accent)}.history-chart-green{color:var(--accent-2)}.history-chart-neutral{color:color-mix(in srgb,var(--text-0) 55%,transparent)}.history-chart-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-1);font-weight:500;letter-spacing:0;text-transform:none;align-self:stretch;width:100%;max-width:none}.history-chart-plot{display:flex;align-items:stretch;gap:3px;width:100%}.history-chart-plot .history-chart-surface{flex:1 1 auto;min-width:0}.history-chart-yaxis{position:relative;flex:0 0 auto;width:20px;height:260px}.history-chart-yaxis-label{position:absolute;right:0;transform:translateY(-50%);font-size:11px;font-weight:500;color:var(--text-2);font-variant-numeric:tabular-nums;line-height:1;pointer-events:none;white-space:nowrap}.history-chart-xaxis{position:relative;height:14px;margin-left:23px;width:calc(100% - 23px)}.history-chart-xaxis-label{position:absolute;top:0;font-size:11px;font-weight:500;color:var(--text-1);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.history-chart-xaxis-label-center{transform:translate(-50%)}.history-chart-xaxis-label-start{transform:translate(0)}.history-chart-xaxis-label-end{transform:translate(-100%)}.auth-card{display:flex;flex-direction:column;gap:var(--space-3);width:min(92vw,420px)}.auth-header{display:flex;flex-direction:column;gap:var(--space-1)}.auth-title{margin:0;font-family:var(--font-display);font-size:1.6rem}.auth-toggle{display:grid;grid-template-columns:repeat(2,1fr);border-radius:999px;border:1px solid var(--border);background:#fffc;padding:4px;gap:4px}.auth-toggle-button{border:none;background:transparent;padding:8px 12px;border-radius:999px;font-family:var(--font-display);font-size:.95rem;cursor:pointer;color:var(--text-1)}.auth-toggle-button.active{background:var(--accent);color:#fff;box-shadow:0 10px 18px color-mix(in srgb,var(--accent) 25%,transparent)}.auth-form{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-2)}.auth-field input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--font-body);font-size:1rem;background:#fff;color:var(--text-0)}.auth-field input:focus{outline:2px solid var(--focus-ring);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.auth-error{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--danger-text);padding:8px 10px;font-size:.85rem}.auth-divider{display:flex;align-items:center;gap:var(--space-2);color:var(--text-2);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--border)}.auth-google{width:100%;min-height:44px;display:flex;justify-content:center}.auth-google>div{width:100%;display:flex;justify-content:center}.auth-google.is-loading{opacity:.7;pointer-events:none}
