.mobile-bottom-navigation-module__c1qW8G__createAction.mobile-bottom-navigation-module__c1qW8G__createAction{border:4px solid var(--surface-primary);border-radius:var(--radius-round);background:var(--color-black);width:56px;min-height:56px;color:var(--color-white);box-shadow:0 0 0 2px var(--color-black);transition:background var(--motion-duration-fast) var(--motion-easing-standard), transform var(--motion-duration-fast) var(--motion-easing-standard);place-self:start center;margin-top:-12px;padding:0}.mobile-bottom-navigation-module__c1qW8G__createAction.mobile-bottom-navigation-module__c1qW8G__createAction:active{background:var(--color-gray-700);transform:scale(var(--interaction-pressed-scale))}.mobile-bottom-navigation-module__c1qW8G__createAction.mobile-bottom-navigation-module__c1qW8G__createAction .ui-icon{width:var(--icon-size-action);height:var(--icon-size-action)}.mobile-bottom-navigation-module__c1qW8G__createAction.mobile-bottom-navigation-module__c1qW8G__createAction[aria-current]:after{display:none}.mobile-bottom-navigation-module__c1qW8G__createLabel{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (hover:hover) and (pointer:fine){.mobile-bottom-navigation-module__c1qW8G__createAction.mobile-bottom-navigation-module__c1qW8G__createAction:hover{background:var(--color-gray-700);color:var(--color-white)}}@media (min-width:1100px){.mobile-bottom-navigation-module__c1qW8G__createAction.mobile-bottom-navigation-module__c1qW8G__createAction{width:auto;min-height:48px;padding:var(--space-3);border-radius:var(--radius-control);box-shadow:none;border:0;place-self:auto stretch;margin-top:0}.mobile-bottom-navigation-module__c1qW8G__createLabel{clip:auto;clip-path:none;white-space:normal;width:auto;height:auto;position:static;overflow:visible}}
:root{--font-family-sans:var(--font-noto-sans,"Noto Sans"), "Noto Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-display:48px;--line-height-display:52px;--font-size-h1:32px;--line-height-h1:38px;--font-size-h2:24px;--line-height-h2:30px;--font-size-h3:18px;--line-height-h3:24px;--font-size-body:16px;--line-height-body:24px;--font-size-body-sm:14px;--line-height-body-sm:20px;--font-size-label:13px;--line-height-label:18px;--font-size-caption:12px;--line-height-caption:16px;--font-size-metric:36px;--line-height-metric:40px;--letter-spacing-default:0;--letter-spacing-heading:-.02em;--letter-spacing-metric:-.03em;--color-black:#121212;--color-gray-700:#444;--color-gray-500:#777;--color-gray-300:#cfcfcf;--color-gray-100:#ececec;--color-background:#f6f6f6;--color-white:#fff;--color-success-700:#3f5f51;--color-success-500:#4f7463;--color-success-100:#e8eeeb;--color-danger-700:#7d4848;--color-danger-500:#9a5a5a;--color-danger-100:#f2e8e8;--surface-app:var(--color-background);--surface-primary:var(--color-white);--surface-secondary:var(--color-background);--surface-selected:var(--action-primary-bg);--surface-pressed:var(--color-background);--surface-disabled:var(--color-gray-100);--surface-success:var(--color-success-100);--surface-danger:var(--color-danger-100);--text-primary:var(--color-black);--text-secondary:var(--color-gray-700);--text-muted:#666;--text-inverse:var(--action-primary-text);--text-disabled:#666;--text-success:var(--color-success-700);--text-danger:var(--color-danger-700);--border-width-default:1px;--border-default:var(--color-gray-100);--border-strong:var(--color-gray-300);--border-focus:var(--text-primary);--border-danger:var(--color-danger-500);--border-success:var(--color-success-500);--border-disabled:var(--border-default);--action-primary-bg:var(--color-black);--action-primary-text:var(--color-white);--action-primary-hover-bg:#1f1f1f;--action-primary-pressed-bg:#2b2b2b;--action-secondary-bg:var(--surface-primary);--action-secondary-text:var(--text-primary);--action-secondary-border:var(--border-strong);--action-danger-bg:transparent;--action-danger-text:var(--text-danger);--action-danger-border:var(--border-danger);--selected-bg:var(--action-primary-bg);--selected-text:var(--action-primary-text);--selected-border:var(--action-primary-bg);--inactive-text:var(--text-muted);--inactive-icon:var(--text-muted);--radius-compact:8px;--radius-control:12px;--radius-card:16px;--radius-overlay:24px;--radius-round:999px;--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;--space-16:64px;--page-padding-mobile:16px;--page-padding-tablet:24px;--page-padding-desktop:32px;--card-padding:16px;--element-gap-sm:12px;--element-gap-md:16px;--section-gap:20px;--control-height-primary:48px;--control-height-compact:40px;--touch-target-min:44px;--touch-target-primary:48px;--icon-size-compact:20px;--icon-size-standard:24px;--icon-size-action:28px;--icon-size-large:32px;--icon-color-default:var(--text-primary);--icon-color-inactive:var(--text-muted);--icon-color-success:var(--text-success);--icon-color-danger:var(--text-danger);--motion-duration-fast:.12s;--motion-easing-standard:ease;--interaction-pressed-scale:.985;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--text-primary);--focus-ring-inner-color:var(--surface-primary);--shadow-none:none;--shadow-overlay:0 8px 24px #00000014;--bottom-nav-height:64px;--nav-active-color:var(--text-primary);--nav-inactive-color:var(--text-muted);--nav-indicator-size:4px;--nav-indicator-color:var(--text-primary);--tab-min-height:44px;--tab-active-color:var(--text-primary);--tab-inactive-color:var(--text-muted);--tab-underline-height:2px;--tab-underline-color:var(--text-primary);--feedback-success-bg:var(--surface-success);--feedback-success-text:var(--text-success);--feedback-success-icon:var(--text-success);--feedback-error-bg:var(--surface-danger);--feedback-error-text:var(--text-danger);--feedback-error-icon:var(--text-danger);--data-positive:var(--text-success);--data-negative:var(--text-danger);--data-gridline:var(--border-default);--data-reference-line:var(--border-strong);--shot-marker-bg:var(--color-black);--shot-marker-text:var(--color-white);--shot-marker-contrast:var(--color-white);--shot-marker-selected-outline:var(--color-black);--target-selector-active-bg:var(--selected-bg);--target-selector-active-text:var(--selected-text);--target-selector-inactive-bg:var(--surface-primary);--target-selector-inactive-text:var(--text-primary);--target-selector-inactive-border:var(--border-strong);--content-max-width:1200px;--overlay-backdrop:#00000073;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-app:#121212;--surface-primary:#1c1c1c;--surface-secondary:#252525;--surface-pressed:#303030;--surface-disabled:#303030;--surface-success:#21392e;--surface-danger:#402727;--text-primary:#f6f6f6;--text-secondary:#d0d0d0;--text-muted:#aaa;--text-disabled:#aaa;--text-success:#a4cbb5;--text-danger:#edb5b5;--border-default:#3b3b3b;--border-strong:#777;--border-success:#8db69f;--border-danger:#d69c9c;--action-primary-bg:#f6f6f6;--action-primary-text:#121212;--action-primary-hover-bg:#dedede;--action-primary-pressed-bg:#cfcfcf;--shadow-overlay:0 8px 24px #00000059;--overlay-backdrop:#000000a6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-app:#121212;--surface-primary:#1c1c1c;--surface-secondary:#252525;--surface-pressed:#303030;--surface-disabled:#303030;--surface-success:#21392e;--surface-danger:#402727;--text-primary:#f6f6f6;--text-secondary:#d0d0d0;--text-muted:#aaa;--text-disabled:#aaa;--text-success:#a4cbb5;--text-danger:#edb5b5;--border-default:#3b3b3b;--border-strong:#777;--border-success:#8db69f;--border-danger:#d69c9c;--action-primary-bg:#f6f6f6;--action-primary-text:#121212;--action-primary-hover-bg:#dedede;--action-primary-pressed-bg:#cfcfcf;--shadow-overlay:0 8px 24px #00000059;--overlay-backdrop:#000000a6}}
html{font-family:var(--font-family-sans);background:var(--surface-app);color:var(--text-primary)}body{font-size:var(--font-size-body);line-height:var(--line-height-body);font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%}button{cursor:pointer}button:disabled{cursor:not-allowed}
:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-ring-inner-color)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--surface-primary);color:var(--text-primary);padding:12px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:active,a:active{transform:none!important}}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}a{color:inherit}body{background:var(--surface-app);min-height:100dvh}.page-shell{place-items:center;min-height:100dvh;display:grid}.hero{width:min(100%,38rem)}.hero-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0;display:grid}.eyebrow{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase}h1{color:var(--text-primary);letter-spacing:-.075em;margin:.35rem 0 0;font-size:clamp(3.75rem,18vw,7rem);line-height:.95}.lead{max-width:31rem;color:var(--text-primary);font-size:var(--font-size-h1);margin:1.5rem 0;line-height:1.55}.foundation-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.foundation-list li{border-radius:var(--radius-card);background:var(--surface-primary);min-height:3rem;padding:.85rem 1rem .85rem 2.75rem;position:relative}.foundation-list li:before{color:var(--text-primary);content:"✓";font-weight:var(--font-weight-bold);position:absolute;left:1rem}.button{font:inherit;text-align:center;cursor:pointer;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.button-primary:hover:not(:disabled){background:var(--selected-bg)}}.button-wide{width:100%;margin-top:.25rem}.button:disabled{cursor:not-allowed}.hero{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-primary);box-shadow:none;padding:24px}.page-shell{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.hero h1{color:var(--text-primary);font-size:var(--font-size-display);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-heading)}
.button{min-height:var(--control-height-primary);border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);box-shadow:none;font-weight:600;transition:background-color .12s,transform .12s}.button-primary,.complete-end-button{background:var(--action-primary-bg);color:var(--action-primary-text)}.button-secondary,.button-light{border:1px solid var(--border-strong);background:var(--surface-primary);color:var(--text-primary)}.button-danger{border:1px solid var(--border-danger);color:var(--text-danger);background:0 0}.button:disabled,.button-disabled,button:disabled{background:var(--surface-disabled);color:var(--text-disabled);opacity:1;transform:none}button,a.button,input:not([type=range]),select{min-height:var(--touch-target-min)}input:not([type=range]),select,textarea{border-radius:var(--radius-control);min-width:0;color:var(--text-primary);background:var(--surface-primary)}input[type=range]{accent-color:var(--action-primary-bg);min-height:44px}.field input,.field select,.field textarea{border-color:var(--border-strong);background:var(--surface-primary);min-height:48px;color:var(--text-primary)}.field,.field small,.eyebrow{color:var(--text-secondary)}.form-error{color:var(--text-danger)!important}.form-error-summary{background:var(--surface-danger)}.ui-card{padding:var(--card-padding);border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-primary)}.ui-icon{vertical-align:middle;flex-shrink:0;width:24px;height:24px;display:inline-block}.ui-feedback{background:var(--surface-secondary);color:var(--text-primary);border-radius:12px;gap:12px;padding:16px;display:flex}.ui-feedback-error{background:var(--feedback-error-bg);color:var(--feedback-error-text)}.ui-feedback-success{background:var(--feedback-success-bg);color:var(--feedback-success-text)}.ui-feedback p{margin:4px 0 0}.ui-loading{color:var(--text-secondary);gap:16px;padding:24px;display:grid}.ui-skeleton{background:var(--surface-secondary);border-radius:16px;height:96px;display:block}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}@media (hover:hover) and (pointer:fine){.button-primary:not(:disabled):hover{background:var(--action-primary-hover-bg)}.button-secondary:not(:disabled):hover{background:var(--surface-pressed)}}button:not(:disabled):active,a.button:active{background-color:var(--surface-pressed);transform:scale(.985)}.button-primary:not(:disabled):active{background:var(--action-primary-pressed-bg)}.noock-logo{flex:none;line-height:0;display:inline-grid}.noock-logo-image{grid-area:1/1;width:100%;height:auto;display:block}.noock-logo-full{width:min(100%,13rem)}.noock-logo-compact{width:2.75rem}.noock-logo-darktheme,:root[data-theme=dark] .noock-logo-whitetheme{display:none}:root[data-theme=dark] .noock-logo-darktheme{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .noock-logo-whitetheme{display:none}:root:not([data-theme=light]) .noock-logo-darktheme{display:block}}.training-icon{vertical-align:middle;flex-shrink:0;width:22px;height:22px}.target-thumbnail{object-fit:contain;filter:none;mix-blend-mode:normal;background:0 0}
.app-page,.dashboard-page,.training-page,.scoring-page{width:100%;max-width:var(--content-max-width);min-width:0;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(84px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin-inline:auto}.app-page>*,.scoring-layout>*,.app-section-header>*{min-width:0}.app-section-header{flex-wrap:wrap;gap:16px;padding:0 0 20px}h1.dashboard-title,h1.training-title,.app-page h1,.scoring-header h1{color:var(--text-primary);font-size:var(--font-size-h1);font-weight:700;line-height:var(--line-height-h1);letter-spacing:var(--letter-spacing-heading);overflow-wrap:anywhere}.app-section-header p{color:var(--text-secondary);margin-top:8px}.app-navigation{z-index:100;min-height:64px;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--surface-primary);border-top:1px solid var(--border-default);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.app-navigation .app-navigation-brand{display:none}.app-navigation a{min-height:64px;color:var(--nav-inactive-color);overflow-wrap:anywhere;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 0 8px;font-size:12px;line-height:16px;text-decoration:none;display:flex;position:relative}.app-navigation a[aria-current]{color:var(--nav-active-color);font-weight:700}.app-navigation a[aria-current]:after{content:"";background:var(--nav-indicator-color);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px}@media (min-width:768px){.app-page,.dashboard-page,.training-page,.scoring-page{padding-inline:max(24px, env(safe-area-inset-left))}}@media (min-width:1100px){body:has(.app-navigation){padding-left:192px}.app-page,.dashboard-page,.training-page,.scoring-page{padding:32px}.app-navigation{border-top:0;border-right:1px solid var(--border-default);grid-template-columns:1fr;align-content:start;width:192px;padding:32px 12px;inset:0 auto 0 0}.app-navigation .app-navigation-brand{justify-content:center;min-height:64px;margin-bottom:16px;padding:8px;display:flex}.app-navigation a{text-align:left;flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:12px;font-size:14px}.app-navigation a[aria-current]{background:var(--surface-secondary);border-radius:12px}.app-navigation a[aria-current]:after{bottom:auto;right:8px}}@media (hover:hover) and (pointer:fine){.app-navigation a:hover{background:var(--surface-pressed)}}
.auth-page{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));place-items:center;display:grid}.auth-card{border:1px solid var(--border-default);background:var(--surface-primary);width:min(100%,34rem);box-shadow:none;border-radius:16px;padding:24px}.brand-link{width:fit-content;color:var(--text-primary);font-weight:var(--font-weight-bold);letter-spacing:-.04em;align-items:center;gap:.75rem;margin-bottom:2rem;text-decoration:none;display:inline-flex}.auth-title{margin:var(--space-2) 0 var(--space-6);color:var(--text-primary);letter-spacing:-.055em;font-size:32px;line-height:38px}.auth-description{color:var(--text-secondary);margin:1rem 0 1.75rem;line-height:1.5}.auth-form{gap:.9rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.field{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);gap:.4rem;display:grid}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-control);width:100%;font:inherit;font-weight:var(--font-weight-medium);padding:.8rem .95rem}.field textarea{resize:vertical}.field input[aria-invalid=true]{border-color:var(--border-strong)}.field small{font-weight:var(--font-weight-medium)}.form-error-summary{border-radius:var(--radius-card);font-size:var(--font-size-body-sm);margin:0;padding:.8rem 1rem}.auth-alternate{margin:var(--space-6) 0 0;color:var(--text-secondary);text-align:center}.auth-alternate a{color:var(--text-primary);font-weight:var(--font-weight-bold);text-underline-offset:.16em;text-decoration:underline}
.dashboard-message{place-items:center;min-height:100dvh;margin:0;display:grid}.training-page{min-height:100dvh;margin:0 auto}.training-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:.5rem 0 2rem;display:grid}.training-header>div>p{max-width:42rem;color:var(--text-secondary);margin:1rem 0 0;line-height:1.55}.back-link{width:fit-content;color:var(--text-primary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);margin-bottom:2.5rem;text-decoration:none;display:block}.training-title{color:var(--text-primary);font-size:var(--font-size-h1);letter-spacing:-.065em;margin:.45rem 0 0;line-height:.95}.section-number{color:var(--text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase}
.completed-training{gap:1rem;display:grid}.detail-message{background:var(--surface-secondary);color:var(--text-primary);border-radius:.9rem;margin:0;padding:.85rem 1rem}.completed-rounds,.completed-round{gap:1rem;display:grid}.completed-round>header,.completed-editor>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.completed-round h2,.completed-editor h2{color:var(--text-primary);font-size:var(--font-size-h2);margin:.3rem 0 0}.completed-round>header p{color:var(--text-secondary);margin:0}.completed-ends{gap:.75rem;display:grid}.completed-end{border-top:1px solid var(--border-strong);align-items:center;padding-top:.75rem}.completed-shot-list button{border:1px solid var(--border-strong);background:var(--surface-primary);width:3.25rem;color:var(--text-primary);font:inherit;cursor:pointer;place-items:center;display:grid}.completed-shot-list button.is-selected{border-color:var(--border-strong);box-shadow:none}.completed-shot-list small{color:inherit;font-size:var(--font-size-caption)}.completed-shot-list span{font-size:var(--font-size-body);font-weight:var(--font-weight-bold)}.completed-editor,.completed-notes{gap:1rem;display:grid}.completed-target-editor{justify-items:stretch;gap:1rem;max-width:34rem;display:grid}.completed-notes{border-color:var(--border-strong);grid-template-columns:1fr auto;align-items:end}
.history-page,.analytics-page{align-content:start;gap:1rem;display:grid}.history-filters{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);align-items:end;gap:.75rem;display:grid}.history-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-card);color:var(--text-primary);text-align:center;margin:0;padding:3rem 1rem}.history-list{gap:.75rem;display:grid}.history-card{transition:transform var(--motion-duration-fast) ease, border-color var(--motion-duration-fast) ease;position:relative;overflow:hidden}.history-card-link{color:inherit;align-items:center;text-decoration:none;display:grid}@media (hover:hover) and (pointer:fine){.history-card:hover{border-color:var(--border-strong)}}.history-delete-button{border:1px solid var(--border-danger);border-radius:var(--radius-control);background:var(--surface-danger);width:2.75rem;height:2.75rem;color:var(--text-danger);cursor:pointer;transition:color var(--motion-duration-fast) ease, border-color var(--motion-duration-fast) ease, background-color var(--motion-duration-fast) ease, transform var(--motion-duration-fast) ease;place-items:center;display:grid;position:absolute;top:1rem;right:1rem}@media (hover:hover) and (pointer:fine){.history-delete-button:hover{border-color:var(--border-danger);background:var(--surface-danger);color:var(--text-danger)}}.history-delete-button:active{border-color:var(--border-danger);background:var(--surface-danger);color:var(--text-danger);transform:scale(var(--interaction-pressed-scale))}.history-delete-button:focus-visible{outline:3px solid var(--border-danger);outline-offset:2px}.history-delete-button svg{width:1.35rem;height:1.35rem}.training-delete-backdrop{z-index:200;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.training-delete-dialog{border-radius:var(--radius-overlay);background:var(--surface-danger);width:min(100%,27rem);box-shadow:var(--shadow-overlay);text-align:center;padding:1.5rem}.training-delete-dialog-icon{border-radius:var(--radius-overlay);background:var(--surface-danger);width:3.25rem;height:3.25rem;color:var(--text-danger);place-items:center;margin:0 auto 1rem;display:grid}.training-delete-dialog-icon svg{width:1.75rem;height:1.75rem}.training-delete-dialog h2{color:var(--text-danger);font-size:var(--font-size-h2);margin:0}.training-delete-dialog p{color:var(--text-danger);margin:.75rem 0 1.25rem;line-height:1.5}.training-delete-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.training-confirm-delete{border-color:var(--text-danger);background:var(--surface-danger);color:var(--text-danger)}.training-confirm-delete:hover:not(:disabled){border-color:var(--text-danger);background:var(--surface-danger)}.history-card h2{color:var(--text-primary);font-size:var(--font-size-h3);margin:.55rem 0 .2rem}.history-card p{color:var(--text-secondary);margin:0}.history-card .history-equipment{font-size:var(--font-size-caption);margin-top:.35rem}.session-parameters{grid-template-columns:repeat(5,1fr);gap:.65rem;display:grid}.session-parameters>div{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);gap:.35rem;padding:1rem;display:grid}.session-parameters span{color:var(--text-primary);font-size:var(--font-size-caption);letter-spacing:.06em;text-transform:uppercase}.session-parameters strong{color:var(--text-primary)}.session-status{background:var(--surface-primary);color:var(--text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.3rem .55rem;display:inline-flex}.history-card dl{gap:1.25rem;margin:0;display:grid}.history-card dt{color:var(--text-secondary);font-size:var(--font-size-caption);text-transform:uppercase}.history-card dd{color:var(--text-primary);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);margin:.25rem 0 0}.analytics-timeline{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);gap:.65rem;padding:1rem;display:grid}.analytics-timeline-row{border-radius:var(--radius-card);color:var(--text-primary);grid-template-columns:7rem minmax(8rem,1fr) 3.5rem 5rem;align-items:center;gap:.8rem;padding:.75rem;text-decoration:none;display:grid}@media (hover:hover) and (pointer:fine){.analytics-timeline-row:hover{background:var(--surface-primary)}}.analytics-timeline-row>div{background:var(--surface-primary);border-radius:999px;height:.7rem;overflow:hidden}.analytics-timeline-row>div span{border-radius:var(--radius-card);background:var(--surface-primary);height:100%;display:block}.analytics-timeline-row strong{color:var(--text-primary)}
.training-analytics{border-radius:var(--radius-card);background:var(--surface-primary);color:var(--text-primary);gap:1rem;padding:clamp(1rem,3vw,1.5rem);display:grid}.training-analytics>header h2{font-size:var(--font-size-h1);margin:.35rem 0 0}.training-analytics>header .eyebrow{color:var(--text-secondary)}.analytics-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin:0;display:grid}.analytics-metrics dd{font-weight:var(--font-weight-bold);margin:.4rem 0 0}.round-analytics-list{gap:.75rem;display:grid}.round-analytics{border-radius:var(--radius-card);background:var(--surface-primary);color:var(--text-primary);gap:1rem;padding:1rem;display:grid}.round-analytics>header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.round-analytics h3,.round-analytics h4{color:var(--text-primary);margin:.25rem 0 0}.round-analytics>header>strong{font-size:var(--font-size-caption)}.round-analytics-grid{gap:.75rem;display:grid}.progression-panel,.grouping-panel,.analytics-overlay{border-radius:var(--radius-card);background:var(--surface-primary);padding:1rem}.end-progression-chart{width:100%;min-height:10rem;margin-top:.75rem}.end-progression-chart line{stroke:var(--data-reference-line);stroke-width:1px}.end-progression-chart polyline{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.end-progression-chart circle{stroke:var(--text-primary);stroke-width:2px}.end-progression-chart text{fill:var(--surface-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.grouping-panel dl{gap:.7rem;margin:1rem 0 0;display:grid}.grouping-panel dl div{border-bottom:1px solid var(--border-strong);justify-content:space-between;gap:1rem;display:flex}.grouping-panel dd{font-weight:var(--font-weight-bold);margin:0}.grouping-notice{border-radius:var(--radius-card);background:var(--surface-primary);color:var(--text-primary);font-size:var(--font-size-caption);margin:1rem 0 0;padding:.75rem;line-height:1.4}.analytics-overlay{gap:.8rem;display:grid}.analytics-period{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);align-items:end;gap:.75rem;padding:1rem;display:grid}.period-summary{grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1rem 0;display:grid}.analytics-section-title{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.analytics-section-title h2{color:var(--text-primary);font-size:var(--font-size-h3);margin:0}.analytics-section-title span{color:var(--text-primary);font-size:var(--font-size-caption)}
.dashboard-page{padding-bottom:1rem}.app-section-header{justify-content:space-between;align-items:flex-end;display:flex}.app-section-header p{max-width:40rem;margin:.75rem 0 0;line-height:1.55}.home-header{padding-bottom:1.5rem}.home-actions{display:grid}.home-actions a{align-items:center;gap:1rem;text-decoration:none;display:flex}.home-actions strong,.home-actions small{display:block}.home-actions strong{font-size:var(--font-size-body)}.home-actions small{margin-top:.25rem;line-height:1.35}@media (hover:hover) and (pointer:fine){.home-primary-action:hover{background:var(--selected-bg)}}.home-action-icon{border-radius:var(--radius-card);font-size:var(--font-size-h1);flex:none;place-items:center;line-height:1;display:grid}.home-history-action{border:1px solid var(--border-strong);background:var(--surface-primary);color:var(--text-primary);justify-content:space-between}.last-training-section{margin-top:1.5rem}.last-training-section>header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.8rem;display:flex}.last-training-section h2{color:var(--text-primary);margin:.25rem 0 0}.last-training-section>header a{color:var(--text-primary);font-weight:var(--font-weight-bold)}.last-training-card{border:1px solid var(--border-strong);background:var(--surface-primary);grid-template-columns:minmax(9rem,.65fr) 1.35fr;display:grid;overflow:hidden}.last-training-score{align-content:center;display:grid}.last-training-card dl{grid-template-columns:repeat(2,1fr);margin:0;display:grid}.last-training-card dl div{border-bottom:1px solid var(--border-strong);align-content:center;display:grid}.last-training-card dl div:nth-last-child(-n+2){border-bottom:0}.last-training-card dt,.period-summary dt,.profile-data dt{color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.07em;text-transform:uppercase}.last-training-card dd,.period-summary dd,.profile-data dd{color:var(--text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);margin:.35rem 0 0}.home-empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);padding:1.5rem}.home-empty-state p{max-width:35rem;color:var(--text-secondary);line-height:1.55}
.booking-grid{grid-template-columns:1fr;gap:1rem;margin-top:20px;display:grid}.future-feature-card{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-primary);padding:16px}.future-feature-card h2{color:var(--text-primary);font-size:var(--font-size-caption);margin:.5rem 0}.future-feature-card p{color:var(--text-secondary);line-height:1.55}.future-label{color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.qr-feature-card{gap:1.25rem;display:grid}.qr-placeholder{aspect-ratio:1;border:1px solid var(--border-strong);border-radius:var(--radius-card);width:128px;color:var(--text-primary);background:var(--surface-secondary);place-items:center;display:grid;position:relative}.qr-placeholder span{border:2px dashed var(--border-strong);border-radius:var(--radius-card);position:absolute;inset:1rem}.qr-placeholder strong{z-index:1;background:var(--surface-primary);font-size:var(--font-size-h3);padding:.5rem}@media (min-width:768px){.booking-grid{grid-template-columns:1fr 1fr}}
.profile-hero{align-items:center;gap:1rem;padding:1rem 0 2rem;display:flex;position:relative}.profile-avatar{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);flex:none;place-items:center;display:grid}.profile-hero h1{margin:.35rem 0 0}.profile-identity{min-width:0}.profile-logout-button{border-radius:var(--radius-control);width:3rem;height:3rem;color:var(--text-danger);cursor:pointer;transition:color .16s ease, background-color .16s ease, transform var(--motion-duration-fast) ease;background:0 0;border:0;flex:none;place-items:center;margin-left:auto;display:grid}@media (hover:hover) and (pointer:fine){.profile-logout-button:hover{background:var(--surface-danger)}}.profile-logout-button:active{background:var(--surface-danger);transform:scale(var(--interaction-pressed-scale))}.profile-logout-button:focus-visible,.profile-back-button:focus-visible,.profile-menu-button:focus-visible{outline:3px solid var(--border-danger);outline-offset:2px}.profile-logout-button svg{width:1.75rem;height:1.75rem}.profile-menu{gap:.65rem;display:grid}.profile-menu-button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-primary);color:var(--text-primary);font:inherit;font-weight:var(--font-weight-bold);text-align:left;cursor:pointer;transition:color .16s ease, border-color .16s ease, background-color .16s ease, transform var(--motion-duration-fast) ease;grid-template-columns:1.65rem 1fr 1.2rem;align-items:center;gap:.8rem;display:grid}@media (hover:hover) and (pointer:fine){.profile-menu-button:hover{border-color:var(--border-strong);background:var(--surface-primary);color:var(--text-primary)}}.profile-menu-button:active{border-color:var(--border-strong);background:var(--surface-primary);color:var(--text-primary);transform:scale(var(--interaction-pressed-scale))}.profile-menu-icon,.profile-section-icon{place-items:center;display:grid}.profile-menu-icon svg,.profile-section-icon svg{width:1.45rem;height:1.45rem}.profile-menu-chevron{place-items:center;display:grid}.profile-menu-chevron svg{width:1.1rem;height:1.1rem}.profile-section-view{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);min-height:16rem;padding:clamp(1rem,3vw,1.5rem)}.profile-section-header{grid-template-columns:2.75rem 1.8rem 1fr;align-items:center;gap:.75rem;display:grid}.profile-section-header h2{color:var(--text-primary);font-size:var(--font-size-h1);margin:0}.profile-back-button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-primary);width:2.75rem;height:2.75rem;color:var(--text-primary);cursor:pointer;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.profile-back-button:hover{background:var(--surface-primary);color:var(--text-primary)}}.profile-back-button:active{background:var(--surface-primary)}.profile-back-button svg{width:1.3rem;height:1.3rem}.profile-data{gap:1rem;margin:1.5rem 0 0;display:grid}.profile-data div{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);padding:1rem}.profile-data dd{overflow-wrap:anywhere;font-size:var(--font-size-body)}.profile-empty-section{border:1px dashed var(--border-strong);border-radius:var(--radius-card);min-height:8rem;color:var(--text-primary);text-align:center;place-items:center;margin:1.5rem 0 0;display:grid}.profile-dialog-backdrop{z-index:200;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.profile-dialog{border-radius:var(--radius-overlay);background:var(--surface-primary);width:min(100%,26rem);box-shadow:var(--shadow-overlay);text-align:center;padding:1.5rem}.profile-dialog-icon{border-radius:var(--radius-overlay);background:var(--surface-primary);width:3.25rem;height:3.25rem;color:var(--text-primary);place-items:center;margin:0 auto 1rem;display:grid}.profile-dialog-icon svg{width:1.75rem;height:1.75rem}.profile-dialog h2{color:var(--text-primary);font-size:var(--font-size-h2);margin:0}.profile-dialog p{color:var(--text-secondary);margin:.75rem 0 1.25rem;line-height:1.5}.profile-dialog-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.profile-confirm-logout{border-color:var(--border-danger)}@media (hover:hover) and (pointer:fine){.profile-confirm-logout:hover:not(:disabled){border-color:var(--border-danger);background:var(--surface-danger)}}
.equipment-page{align-content:start;gap:1rem;display:grid}.equipment-page-header{padding-bottom:1rem}.equipment-section{gap:1rem;display:grid}.equipment-section-header{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);grid-template-columns:2.75rem 3rem 1fr auto;align-items:center;gap:.8rem;padding:1rem;display:grid}.equipment-section-title-icon{border-radius:var(--radius-card);background:var(--surface-primary);width:3rem;height:3rem;color:var(--text-primary);place-items:center;display:grid}.equipment-section-title-icon svg{width:1.55rem;height:1.55rem}.equipment-section-header h2{color:var(--text-primary);font-size:var(--font-size-h3);margin:0}.equipment-section-header p{color:var(--text-secondary);font-size:var(--font-size-caption);margin:.25rem 0 0}.equipment-feature-placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);min-height:22rem;color:var(--text-primary);text-align:center;align-content:center;place-items:center;padding:2rem;display:grid}.equipment-feature-placeholder>span{border-radius:var(--radius-card);background:var(--surface-primary);width:4.5rem;height:4.5rem;color:var(--text-primary);place-items:center;margin-bottom:1rem;display:grid}.equipment-feature-placeholder svg{width:2.35rem;height:2.35rem}.equipment-feature-placeholder h3{color:var(--text-primary);font-size:var(--font-size-h3);margin:0}.equipment-feature-placeholder p{max-width:28rem;margin:.5rem 0 1.25rem;line-height:1.5}
.bow-collection,.bow-type-selector,.bow-builder{gap:1rem;display:grid}.bow-list,.bow-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.bow-card{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);padding:1.25rem}.bow-card>span{color:var(--text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.bow-card h3{color:var(--text-primary);margin:.45rem 0 0}.bow-card p{color:var(--text-secondary);margin:.4rem 0 0}.bow-card-actions{gap:.8rem;margin-top:1rem;display:flex}.bow-card-actions button{color:var(--text-primary);font:inherit;font-weight:var(--font-weight-bold);cursor:pointer;background:0 0;border:0;padding:0}@media (hover:hover) and (pointer:fine){.bow-card-actions button:hover{text-decoration:underline}}.bow-card-actions button.is-danger{color:var(--text-danger)}.bow-card-actions button:disabled{opacity:.45;cursor:wait}.bow-builder-toolbar{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);justify-content:space-between;align-items:end;gap:1rem;padding:1rem;display:flex}.bow-builder-toolbar h3{color:var(--text-primary);margin:.25rem 0 0}.bow-name-field{flex:1;max-width:28rem}.bow-anchor-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-card);min-height:2.75rem;color:var(--text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);white-space:nowrap;align-items:center;gap:.55rem;padding:0 .85rem;display:inline-flex}.bow-anchor-toggle input{accent-color:var(--text-primary)}.bow-type-grid button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-primary);min-height:12rem;color:var(--text-primary);font:inherit;cursor:pointer;align-content:center;place-items:center;gap:.6rem;padding:1.25rem;display:grid}@media (hover:hover) and (pointer:fine){.bow-type-grid button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-primary);color:var(--text-primary)}}.bow-type-grid button:disabled{opacity:.48;cursor:not-allowed}.bow-type-grid svg{width:2.5rem;height:2.5rem}.bow-type-grid strong,.bow-type-grid small{text-align:center;display:block}.bow-builder-stage{grid-template-columns:minmax(0,1.55fr) minmax(15rem,.8fr);gap:1rem;display:grid}.recurve-model{border:1px solid var(--border-strong);border-radius:var(--radius-card);isolation:isolate;position:relative;overflow:hidden}.recurve-model-loading{background:var(--surface-primary);color:var(--text-primary);place-items:center;display:grid}.recurve-initial-silhouette{background:var(--surface-primary);opacity:.26;position:absolute;inset:0;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.recurve-model-loading-text{z-index:1;border-radius:var(--radius-card);background:var(--surface-primary);padding:.5rem .75rem}.recurve-mask-layer{pointer-events:none;transition-property:background-color,opacity;transition-timing-function:ease;position:absolute;inset:0;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.recurve-mask-layer.is-selected{filter:drop-shadow(0 0 .35rem var(--selected-text))}.bow-anchor{z-index:2;border:2px solid var(--border-strong);background:var(--surface-primary);width:clamp(1.35rem,2.5vw,2rem);height:clamp(1.35rem,2.5vw,2rem);color:var(--text-primary);font:inherit;font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}@media (hover:hover) and (pointer:fine){.bow-anchor:hover:not(:disabled),.bow-anchor.is-installed{background:var(--surface-primary)}}.bow-anchor:disabled{border-color:var(--border-strong);opacity:.42;cursor:not-allowed}.bow-component-summary{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);padding:1.25rem}.bow-component-summary h3{color:var(--text-primary);margin:.3rem 0 0}.bow-component-summary>p{color:var(--text-secondary);font-size:var(--font-size-label);margin:.5rem 0 1rem}.bow-component-summary ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.bow-component-summary button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-primary);width:100%;min-height:3rem;color:var(--text-primary);font:inherit;font-size:var(--font-size-caption);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem;display:flex}@media (hover:hover) and (pointer:fine){.bow-component-summary button:hover{border-color:var(--border-strong)}}.bow-component-summary button:disabled{background:var(--surface-primary);color:var(--text-primary);cursor:not-allowed}.bow-component-summary button span small{max-width:11rem;color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);margin-top:.2rem;line-height:1.3;display:block}.bow-component-summary button strong{max-width:8rem;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bow-component-dialog{border-radius:var(--radius-overlay);background:var(--surface-primary);width:min(100%,32rem);box-shadow:var(--shadow-overlay);padding:1.5rem}.bow-component-dialog>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.bow-component-dialog h2{color:var(--text-primary);margin:.25rem 0 0}.bow-component-options{gap:.65rem;margin-top:1rem;display:grid}.bow-component-options>button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-primary);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;padding:.9rem;display:grid}@media (hover:hover) and (pointer:fine){.bow-component-options>button:hover,.bow-component-options>button.is-selected{border-color:var(--border-strong);background:var(--selected-bg)}}.bow-component-options small{color:var(--text-secondary);margin-top:.25rem}.bow-component-empty{color:var(--text-primary);margin:1.25rem 0}.bow-component-dialog-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}
.accessory-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.accessory-card{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);align-content:start;padding:1.2rem;display:grid}.accessory-card>span{color:var(--text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.07em;text-transform:uppercase}.accessory-card h3{color:var(--text-primary);margin:.45rem 0 0}.accessory-card p,.accessory-card small{color:var(--text-secondary);margin-top:.35rem}.accessory-card small{line-height:1.45}.arrow-parameters{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:1rem 0 0;display:grid}.arrow-parameters>div{border-radius:var(--radius-card);background:var(--surface-primary);gap:.2rem;padding:.65rem;display:grid}.arrow-parameters dt{color:var(--text-secondary);font-size:var(--font-size-caption);text-transform:uppercase}.arrow-parameters dd{color:var(--text-primary);font-weight:var(--font-weight-bold);margin:0}.arrow-form-grid,.setup-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.setup-card{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--surface-primary);align-content:start;padding:1.2rem;display:grid}.setup-card>span{color:var(--text-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);letter-spacing:.07em;text-transform:uppercase}.setup-card h3{color:var(--text-primary);margin:.45rem 0 0}.setup-card>p{color:var(--text-secondary);margin:.85rem 0 0;line-height:1.45}.setup-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem;display:grid}.setup-pair>div{border-radius:var(--radius-card);background:var(--surface-primary);min-width:0;padding:.75rem;display:grid}.setup-pair svg{width:1.35rem;height:1.35rem;color:var(--text-primary);margin-bottom:.55rem}.setup-pair span{color:var(--text-primary);font-size:var(--font-size-caption);text-transform:uppercase}.setup-pair strong{color:var(--text-primary);font-size:var(--font-size-caption);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;overflow:hidden}.accessory-card-actions{gap:.5rem;margin-top:1rem;display:flex}.accessory-card-actions button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-primary);min-height:2.5rem;color:var(--text-primary);font:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);cursor:pointer;padding:.5rem .75rem}@media (hover:hover) and (pointer:fine){.accessory-card-actions button:hover{border-color:var(--border-strong);background:var(--surface-primary);color:var(--text-primary)}}.accessory-card-actions button.is-danger{color:var(--text-danger)}@media (hover:hover) and (pointer:fine){.accessory-card-actions button.is-danger:hover{border-color:var(--border-danger);background:var(--surface-danger);color:var(--text-danger)}}
.equipment-dialog-backdrop{z-index:220;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.equipment-dialog{border-radius:var(--radius-overlay);background:var(--surface-primary);width:min(100%,38rem);padding:1.5rem}.equipment-dialog>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.equipment-dialog h2,.equipment-delete-dialog h2{color:var(--text-danger);font-size:var(--font-size-h2);margin:.25rem 0 0}.equipment-dialog-close{border:1px solid var(--border-strong);border-radius:var(--radius-overlay);background:var(--surface-primary);width:2.75rem;height:2.75rem;color:var(--text-primary);font:inherit;font-size:var(--font-size-h2);cursor:pointer;place-items:center;display:grid}.equipment-form{gap:1rem;margin-top:1.25rem;display:grid}.equipment-dialog-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.equipment-delete-dialog{border-radius:var(--radius-overlay);background:var(--surface-danger);width:min(100%,26rem);box-shadow:var(--shadow-overlay);text-align:center;padding:1.5rem}.equipment-delete-dialog>span{border-radius:var(--radius-overlay);background:var(--surface-danger);width:3.5rem;height:3.5rem;color:var(--text-danger);place-items:center;margin:0 auto 1rem;display:grid}.equipment-delete-dialog svg{width:1.8rem;height:1.8rem}.equipment-delete-dialog p{color:var(--text-danger);margin:.75rem 0 1.25rem;line-height:1.5}
@media (max-width:767px){.hero-actions,.form-row{grid-template-columns:1fr}.dashboard-page,.app-tab-page{padding-inline:1rem}.home-actions,.booking-grid,.analytics-period{grid-template-columns:1fr}.home-actions a{min-height:6.5rem}.last-training-card{grid-template-columns:1fr}.last-training-score{min-height:10.5rem}.bow-list,.bow-type-grid,.bow-builder-stage{grid-template-columns:1fr}.bow-builder-toolbar{flex-direction:column;align-items:stretch}.bow-name-field{max-width:none}.bow-component-dialog-actions{flex-direction:column}.equipment-section-header{grid-template-columns:2.75rem 3rem 1fr}.equipment-add-accessory{grid-column:1/-1;width:100%}.accessory-list,.setup-list,.arrow-form-grid{grid-template-columns:1fr}.analytics-period .button{width:100%}.training-header,.completed-end,.completed-notes{grid-template-columns:1fr}.completed-round>header,.completed-editor>header{flex-direction:column;align-items:stretch}.history-filters,.history-card-link,.round-analytics-grid{grid-template-columns:1fr}.history-card dl,.analytics-metrics,.session-parameters{grid-template-columns:repeat(2,1fr)}.analytics-timeline-row{grid-template-columns:5.5rem 1fr 3rem}.analytics-timeline-row small{grid-column:2/-1}}

.ui-tabs{border-bottom:1px solid var(--border-default);gap:16px;margin-block:16px;display:flex}.ui-tabs button{min-height:44px;color:var(--tab-inactive-color);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 16px}.ui-tabs button[aria-selected=true]{border-bottom-color:var(--tab-underline-color);color:var(--tab-active-color);font-weight:600}.period-summary>div,.analytics-metrics>div{border:1px solid var(--border-default);background:var(--surface-primary);border-radius:16px;padding:16px}.period-summary dt,.analytics-metrics dt{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-size:12px}.period-summary dd,.analytics-metrics dd{color:var(--text-primary);font-size:36px;line-height:40px}.analytics-timeline-row>div>span,.end-progression-chart circle{background:var(--text-primary);fill:var(--text-primary)}.end-progression-chart polyline{stroke:var(--text-primary)}.round-analytics-grid{grid-template-columns:1fr}.analytics-overlay{width:100%;max-width:640px;margin-inline:auto}.analytics-period{grid-template-columns:1fr}@media (min-width:768px){.analytics-period{grid-template-columns:1fr 1fr auto}}
.equipment-hub-grid{gap:var(--space-3);grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));height:clamp(28rem,62dvh,36rem);display:grid}.equipment-hub-card{isolation:isolate;border:var(--border-width-default) solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-primary);min-width:0;color:var(--selected-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-duration-fast) var(--motion-easing-standard), transform var(--motion-duration-fast) var(--motion-easing-standard);align-items:stretch;padding:0;display:grid;position:relative;overflow:hidden}.equipment-hub-bows{grid-area:1/1/4}.equipment-hub-accessories{grid-area:1/2}.equipment-hub-quiver{grid-area:2/2}.equipment-hub-setups{grid-area:3/2}.equipment-hub-image{z-index:0;object-fit:cover;object-position:center;display:block}.equipment-hub-setups .equipment-hub-image{object-position:66% center}.equipment-hub-footer{z-index:2;gap:var(--space-3);min-height:var(--space-16);padding:var(--space-3) var(--space-4);background:var(--selected-bg);transition:background-color var(--motion-duration-fast) var(--motion-easing-standard);grid-template-columns:minmax(0,1fr) auto;align-self:end;align-items:center;display:grid;position:relative}.equipment-hub-copy{min-width:0}.equipment-hub-copy strong{overflow-wrap:anywhere;color:var(--selected-text);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body);display:block}.equipment-hub-arrow{color:var(--selected-text);font-size:var(--font-size-h3);line-height:var(--line-height-h3)}.equipment-hub-card:active{border-color:var(--border-strong);transform:scale(var(--interaction-pressed-scale))}.equipment-hub-card:active .equipment-hub-footer{background:var(--action-primary-pressed-bg)}.equipment-hub-card:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.equipment-add-bow-cta{background:var(--action-primary-bg);color:var(--action-primary-text);border-radius:12px;min-height:48px}.equipment-add-bow-cta>span:first-child{background:0 0}.equipment-add-bow-cta small{color:inherit}.equipment-dialog-backdrop{background:var(--overlay-backdrop)}.equipment-dialog{border:1px solid var(--border-default);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-overlay);overflow-y:auto}.bow-component-button,.bow-component-remove,.equipment-icon-button{min-width:44px;min-height:44px}.equipment-page button{font-size:max(12px,.875rem)}.equipment-page .equipment-hub-card{font-size:16px}.equipment-workspace,.bow-editor-layout{min-width:0}@media (max-width:1099px){.bow-editor-layout{grid-template-columns:1fr}}@media (hover:hover) and (pointer:fine){.equipment-hub-card:hover{border-color:var(--border-strong)}.equipment-hub-card:hover .equipment-hub-footer,.equipment-add-bow-cta:hover{background:var(--action-primary-hover-bg)}}@media (prefers-reduced-motion:reduce){.equipment-hub-card,.equipment-hub-footer{transition:none}.equipment-hub-card:active{transform:none}}.setup-primary-field{align-items:center;gap:var(--space-3);min-height:44px;color:var(--text-primary);cursor:pointer;display:flex}.setup-primary-field input{width:20px;height:20px;accent-color:var(--action-primary-bg)}.setup-primary-field span{gap:var(--space-1);display:grid}.setup-primary-field small{color:var(--text-secondary)}
.profile-menu,.profile-section-view{width:100%;max-width:none}.profile-hero{flex-wrap:wrap;padding-bottom:20px}.profile-avatar{background:var(--surface-secondary);width:64px;height:64px;color:var(--text-primary);border-radius:50%}.profile-identity{flex:1}.profile-hero h1{font-size:32px;line-height:38px}.profile-menu-button{border-color:var(--border-default);min-height:48px;padding:12px 16px}.profile-menu-icon,.profile-section-icon{color:var(--text-primary);background:0 0}.profile-menu-chevron{opacity:1;color:var(--text-muted)}.profile-dialog-backdrop{background:var(--overlay-backdrop)}.profile-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.profile-confirm-logout{color:var(--text-danger);border:1px solid var(--border-danger);background:0 0}.profile-section-view .field{margin-top:24px}
.history-actions{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.history-actions .button{gap:8px}.history-filters{grid-template-columns:1fr;padding:16px}.history-card{border:1px solid var(--border-default);background:var(--surface-primary);border-radius:16px}.history-card-link{grid-template-columns:1fr;gap:16px;padding:16px}.history-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.history-delete-button{min-width:44px;min-height:44px}.status-COMPLETED{background:var(--surface-success);color:var(--text-success)}.status-IN_PROGRESS{background:var(--surface-secondary);color:var(--text-primary)}.training-delete-backdrop{background:var(--overlay-backdrop)}@media (min-width:768px){.history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.history-card-link{grid-template-columns:1fr 1fr}}@media (min-width:1100px){.history-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto}}
.completed-round,.completed-editor,.completed-notes{border:1px solid var(--border-default);background:var(--surface-primary);border-radius:16px;padding:16px}.completed-round>header{flex-wrap:wrap;justify-content:flex-start;gap:12px;display:flex}.completed-round>header .target-thumbnail{width:48px;height:56px}.completed-end{grid-template-columns:1fr;gap:12px;display:grid}.completed-shot-list{flex-wrap:wrap;gap:8px;display:flex}.completed-shot-list button{border-radius:8px;min-width:48px;min-height:48px}.completed-shot-list button.is-selected{outline:2px solid var(--text-primary);outline-offset:2px}.end-summary{color:var(--text-secondary);font-size:14px}

