/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font);--default-mono-font-family:var(--font-mono);--font-num:var(--font-num)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./files/rubik-arabic-wght-normal.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./files/rubik-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./files/rubik-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./files/rubik-hebrew-wght-normal.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./files/rubik-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./files/rubik-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./files/manrope-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./files/manrope-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./files/manrope-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./files/manrope-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./files/manrope-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./files/manrope-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--bg-tint:#12151a;--surface:#171a20;--surface-2:#1c2027;--surface-3:#23272f;--surface-sunken:#0c0e12;--overlay:#040609a8;--glass:#171a20c7;--border:#252a33;--border-strong:#343a45;--divider:#1f232a;--text:#f2f4f7;--text-2:#c3c8d1;--text-3:#959ca8;--text-4:#6b7280;--text-inverse:#0f1115;--brand:#3fc6e0;--brand-hover:#62d3e8;--brand-strong:#8fe1f0;--brand-soft:#11303a;--brand-soft-2:#16404c;--brand-text:#6fd6ea;--on-brand:#04252d;--accent:#3fc6e0;--accent-soft:#11303a;--on-accent:#04252d;--on-fill:#fff;--hero:#1c2027;--hero-2:#23272f;--on-hero:#f2f4f7;--on-hero-2:#a9b0bb;--success:#34c77b;--success-soft:#10291d;--success-text:#6fdda0;--warning:#f0a020;--warning-soft:#2e220c;--warning-text:#f5c46a;--warning-border:#4a3810;--danger:#f0605e;--danger-soft:#331617;--danger-text:#f79a97;--danger-border:#5a2526;--info:#5fa8f5;--info-soft:#132338;--info-text:#9cc7fa;--violet:#a08bf2;--violet-soft:#221c3a;--violet-text:#c5b6f7;--kind-easy:#2fbf71;--kind-easy-2:#8ad54a;--kind-fartlek:#f47b2a;--kind-fartlek-2:#f9a35e;--kind-tempo:#f0a020;--kind-tempo-2:#f5c84a;--kind-intervals:#ef4f5a;--kind-intervals-2:#f2804e;--kind-hills:#1fb39a;--kind-hills-2:#5fd4b8;--kind-long:#7f63ee;--kind-long-2:#b06cf0;--kind-race:#e9558f;--kind-race-2:#f27bb0;--kind-other:#8c93a0;--kind-other-2:#b3b9c3;--rest-day:#3b8ff0;--rest-day-2:#5fb6f5;--focus:#3fc6e0;--focus-ring:0 0 0 3px #3fc6e059;--viz-done:#34c77b;--viz-partial:#e5b52c;--viz-over:#f08a4e;--viz-missed:#f0605e;--viz-upcoming:#6b7280;--viz-none:#2a2f38;--viz-easy:#2fbf71;--viz-heat-1:#12343d;--viz-heat-2:#1a6676;--viz-heat-3:#2a9fb6;--viz-heat-4:#6fd6ea;--viz-quality:#5fa8f5;--viz-other:#4a505b;--viz-grid:#ffffff0f;--viz-axis:#343a45;--viz-bg:#171a20;--viz-pace:#3fc6e0;--viz-hr:#f0605e;--viz-cadence:#a08bf2;--viz-altitude:#c9a66b;--viz-label:#e3e7ed;--viz-tick:#959ca8;--zone-1:#1f3a5a;--zone-2:#2b5d92;--zone-3:#3f82c8;--zone-4:#69a6ec;--zone-5:#a9cdf8;--phase-1:#2f9c76;--phase-2:#3f82d0;--phase-3:#b77a25;--phase-4:#8d63d4;--phase-5:#cf5a50;--phase-6:#1f95a3;--phase-7:#748a2c;--event-race:#ec6a98;--event-test:#6f9ef0;--event-camp:#e0a24a;--event-other:#9aa3ae;--radius-xs:8px;--radius-sm:10px;--radius:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:26px;--radius-pill:999px;--shadow-1:0 1px 0 #ffffff05 inset;--shadow-2:0 10px 30px -12px #0009;--shadow-3:0 30px 60px -16px #000000bf, 0 0 0 1px #ffffff0a;--font:"Rubik Variable", "Rubik", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-num:"Manrope Variable", "Manrope", "Rubik Variable", "Rubik", system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:clamp(1.25rem, 1.15rem + .4vw, 1.4rem);--text-2xl:clamp(1.45rem, 1.25rem + .8vw, 1.75rem);--text-3xl:clamp(1.75rem, 1.45rem + 1.2vw, 2.25rem);--ease:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--dur-1:.12s;--dur-2:.2s;--dur-3:.3s;--rail-w:240px;--topbar-h:64px;--bottom-nav-h:68px;--content-max:1240px;--gutter:clamp(16px, 3vw, 36px)}@media (prefers-color-scheme:light){:root[data-theme=auto]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f4f7;--bg-tint:#eef0f4;--surface:#fff;--surface-2:#f8f9fb;--surface-3:#eef0f4;--surface-sunken:#e8ebf0;--overlay:#0f111573;--glass:#ffffffd1;--border:#e3e6ec;--border-strong:#cdd2db;--divider:#edeff3;--text:#12151b;--text-2:#3b414c;--text-3:#5f6672;--text-4:#8c93a0;--text-inverse:#f2f4f7;--brand:#0b7c93;--brand-hover:#096a7e;--brand-strong:#075566;--brand-soft:#e2f5f9;--brand-soft-2:#c6ebf3;--brand-text:#08697c;--on-brand:#fff;--accent:#3fc6e0;--accent-soft:#ddf4f9;--on-accent:#04252d;--hero:#171a20;--hero-2:#23272f;--on-hero:#f2f4f7;--on-hero-2:#a9b0bb;--success:#17804f;--success-soft:#e5f4eb;--success-text:#11663e;--warning:#b7791f;--warning-soft:#fdf3dd;--warning-text:#7c5210;--warning-border:#f0d9a4;--danger:#c2372f;--danger-soft:#fcebea;--danger-text:#9b2821;--danger-border:#f2c9c6;--info:#2c67c4;--info-soft:#e8f0fc;--info-text:#234f98;--violet:#6b46b8;--violet-soft:#f1ebfb;--violet-text:#563497;--focus:#0b7c93;--focus-ring:0 0 0 3px #0b7c934d;--viz-done:#1f9d55;--viz-partial:#d9a106;--viz-over:#e5692e;--viz-missed:#d64545;--viz-upcoming:#9aa1ac;--viz-none:#e3e6ec;--viz-easy:#1baf7a;--viz-heat-1:#c6ebf3;--viz-heat-2:#7fd0e2;--viz-heat-3:#2a9fb6;--viz-heat-4:#0b6c80;--viz-quality:#2a78d6;--viz-other:#c5cad3;--viz-grid:#00000012;--viz-axis:#c8cdd6;--viz-bg:#f8f9fb;--viz-pace:#0b7c93;--viz-hr:#c2372f;--viz-cadence:#6b46b8;--viz-altitude:#8a6d3b;--viz-label:#1f2530;--viz-tick:#5f6672;--zone-1:#cfe3f7;--zone-2:#93c2ec;--zone-3:#579fdd;--zone-4:#2b74c0;--zone-5:#174c8c;--phase-1:#197a5a;--phase-2:#2a6fc0;--phase-3:#9a5f14;--phase-4:#7b4bc4;--phase-5:#c0453c;--phase-6:#0f7f8c;--phase-7:#5a6b1f;--event-race:#b4235a;--event-test:#2f63b8;--event-camp:#a8680f;--event-other:#56646b;--shadow-1:0 1px 2px #12151b0a;--shadow-2:0 8px 24px -10px #12151b29;--shadow-3:0 28px 56px -16px #12151b4d, 0 0 0 1px #12151b0d}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f4f7;--bg-tint:#eef0f4;--surface:#fff;--surface-2:#f8f9fb;--surface-3:#eef0f4;--surface-sunken:#e8ebf0;--overlay:#0f111573;--glass:#ffffffd1;--border:#e3e6ec;--border-strong:#cdd2db;--divider:#edeff3;--text:#12151b;--text-2:#3b414c;--text-3:#5f6672;--text-4:#8c93a0;--text-inverse:#f2f4f7;--brand:#0b7c93;--brand-hover:#096a7e;--brand-strong:#075566;--brand-soft:#e2f5f9;--brand-soft-2:#c6ebf3;--brand-text:#08697c;--on-brand:#fff;--accent:#3fc6e0;--accent-soft:#ddf4f9;--on-accent:#04252d;--hero:#171a20;--hero-2:#23272f;--on-hero:#f2f4f7;--on-hero-2:#a9b0bb;--success:#17804f;--success-soft:#e5f4eb;--success-text:#11663e;--warning:#b7791f;--warning-soft:#fdf3dd;--warning-text:#7c5210;--warning-border:#f0d9a4;--danger:#c2372f;--danger-soft:#fcebea;--danger-text:#9b2821;--danger-border:#f2c9c6;--info:#2c67c4;--info-soft:#e8f0fc;--info-text:#234f98;--violet:#6b46b8;--violet-soft:#f1ebfb;--violet-text:#563497;--focus:#0b7c93;--focus-ring:0 0 0 3px #0b7c934d;--viz-done:#1f9d55;--viz-partial:#d9a106;--viz-over:#e5692e;--viz-missed:#d64545;--viz-upcoming:#9aa1ac;--viz-none:#e3e6ec;--viz-easy:#1baf7a;--viz-heat-1:#c6ebf3;--viz-heat-2:#7fd0e2;--viz-heat-3:#2a9fb6;--viz-heat-4:#0b6c80;--viz-quality:#2a78d6;--viz-other:#c5cad3;--viz-grid:#00000012;--viz-axis:#c8cdd6;--viz-bg:#f8f9fb;--viz-pace:#0b7c93;--viz-hr:#c2372f;--viz-cadence:#6b46b8;--viz-altitude:#8a6d3b;--viz-label:#1f2530;--viz-tick:#5f6672;--zone-1:#cfe3f7;--zone-2:#93c2ec;--zone-3:#579fdd;--zone-4:#2b74c0;--zone-5:#174c8c;--phase-1:#197a5a;--phase-2:#2a6fc0;--phase-3:#9a5f14;--phase-4:#7b4bc4;--phase-5:#c0453c;--phase-6:#0f7f8c;--phase-7:#5a6b1f;--event-race:#b4235a;--event-test:#2f63b8;--event-camp:#a8680f;--event-other:#56646b;--shadow-1:0 1px 2px #12151b0a;--shadow-2:0 8px 24px -10px #12151b29;--shadow-3:0 28px 56px -16px #12151b4d, 0 0 0 1px #12151b0d}@media (prefers-reduced-motion:reduce){:root{--dur-1:0s;--dur-2:0s;--dur-3:0s}}:root{font-family:var(--font);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern";font-weight:400;line-height:1.55}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--border-strong) transparent;scroll-padding-top:88px}body{background:var(--bg);min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}img,svg{vertical-align:middle;display:inline-block}svg.lucide{flex:none}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}:where(input,select,textarea):focus-visible{outline-offset:0}::selection{background:var(--brand-soft-2);color:var(--text)}h1,h2,h3,h4,h5,p{margin:0}h1{font-size:var(--text-3xl);letter-spacing:-.01em;font-weight:600;line-height:1.2}h2{font-size:var(--text-xl);margin-block-end:12px;font-weight:500;line-height:1.3}h3{font-size:var(--text-lg);font-weight:500;line-height:1.35}h4{font-size:var(--text-md);font-weight:500}p{margin-block:8px 16px}small{font-size:var(--text-xs)}strong,b{font-weight:600}code,pre,kbd{font-family:var(--font-mono)}kbd{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-3);font-size:.72em;font-family:var(--font-num);border-block-end-width:2px;border-radius:6px;padding:1px 6px}.muted,.hint{color:var(--text-3)}.hint{font-size:var(--text-sm);line-height:1.5}.eyebrow{font-size:var(--text-sm);color:var(--text-3);text-transform:none;align-items:center;gap:6px;margin-block-end:6px;font-weight:400;display:inline-flex}.num,.tabular{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}hr{border:0;border-block-start:1px solid var(--divider);margin-block:24px}.primary,.secondary,.ghost,.danger-button{border-radius:var(--radius);min-height:42px;font-weight:500;font-size:var(--text-md);white-space:nowrap;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), transform var(--dur-1) var(--ease), color var(--dur-1) var(--ease), filter var(--dur-1) var(--ease);justify-content:center;align-items:center;gap:8px;padding:9px 18px;line-height:1.2;display:inline-flex}:is(.primary,.secondary,.ghost,.danger-button,.icon-button,.text-button):active:not(:disabled){transform:scale(.97)}.primary{background:var(--brand);color:var(--on-brand)}.primary:hover:not(:disabled){background:var(--brand-hover)}.secondary{background:var(--surface-3);color:var(--text);border:1px solid var(--border)}.secondary:hover:not(:disabled){background:var(--surface-3)}@supports (color:color-mix(in lab, red, red)){.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--surface-3) 70%, var(--text) 8%)}}.secondary:hover:not(:disabled){border-color:var(--border-strong)}.ghost{color:var(--text-2)}.ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.danger-button{background:var(--danger);color:var(--on-fill)}.danger-button:hover:not(:disabled){filter:brightness(1.08)}.primary.danger{background:var(--danger);color:var(--on-fill)}.text-button{color:var(--brand-text);font-weight:500;font-size:inherit;border-radius:var(--radius-sm);min-height:36px;transition:background var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);align-items:center;gap:6px;margin:-2px -4px;padding:8px 10px;display:inline-flex}.text-button:hover:not(:disabled){background:var(--brand-soft)}.text-button.danger,.danger{color:var(--danger-text)}.text-button.danger:hover:not(:disabled){background:var(--danger-soft)}.text-button.compact{min-height:30px;font-size:var(--text-sm);padding:4px 8px}.text-button.inline{min-height:0;margin:0;padding:0 2px}.primary.compact,.secondary.compact,.ghost.compact{min-height:34px;font-size:var(--text-sm);border-radius:var(--radius-sm);padding:6px 12px}.full{width:100%}.icon-button{border-radius:var(--radius);width:38px;height:38px;color:var(--text-3);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);flex:none;place-items:center;display:inline-grid}.icon-button:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-button.small{border-radius:var(--radius-sm);width:32px;height:32px}.icon-button.bordered{border:1px solid var(--border);background:var(--surface-2)}label{font-size:var(--text-sm);color:var(--text-2);margin-block-end:16px;font-weight:500;display:block}label small{color:var(--text-3);font-weight:400}input,select,textarea{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);border-radius:var(--radius);font-size:var(--text-md);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), background var(--dur-1) var(--ease);margin-block-start:6px;padding:10px 14px;font-weight:400;display:block}input::-moz-placeholder{color:var(--text-4)}textarea::-moz-placeholder{color:var(--text-4)}input::placeholder,textarea::placeholder{color:var(--text-4)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--focus);box-shadow:var(--focus-ring);background:var(--surface);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-sunken);color:var(--text-3);cursor:not-allowed}input[readonly]{background:var(--surface-sunken)}:is(input:user-invalid,select:user-invalid,textarea:user-invalid){border-color:var(--danger)}textarea{resize:vertical;line-height:1.55}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238c93a0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:12px;background-repeat:no-repeat;background-size:16px;padding-inline-end:38px}select option{background:var(--surface);color:var(--text)}input[type=date],input[type=datetime-local],input[type=time]{min-height:44px;color-scheme:inherit}input[type=number]{font-family:var(--font-num)}input[type=checkbox],input[type=radio]{appearance:none;cursor:pointer;border:1.5px solid var(--border-strong);background:var(--surface-2);width:20px;height:20px;min-height:20px;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border-radius:6px;flex:none;place-items:center;margin:0;padding:0;display:inline-grid}input[type=radio]{border-radius:50%}input[type=checkbox]:after{content:"";border-left:2px solid var(--on-brand);border-bottom:2px solid var(--on-brand);width:10px;height:6px;transition:transform var(--dur-2) var(--ease-spring);transform:translateY(-1px)rotate(-45deg)scale(0)}input[type=radio]:after{content:"";background:var(--on-brand);width:8px;height:8px;transition:transform var(--dur-2) var(--ease-spring);border-radius:50%;transform:scale(0)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:checked:after{transform:translateY(-1px)rotate(-45deg)scale(1)}input[type=radio]:checked:after{transform:scale(1)}input[type=checkbox]:indeterminate{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:indeterminate:after{border-left:0;width:10px;height:0;transform:none}input[type=checkbox]:hover:not(:disabled):not(:checked),input[type=radio]:hover:not(:disabled):not(:checked){border-color:var(--text-4)}input[type=checkbox]:active:not(:disabled),input[type=radio]:active:not(:disabled){transform:scale(.9)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{box-shadow:none;outline:2px solid var(--focus);outline-offset:2px}input[type=range]{accent-color:var(--brand);background:0 0;border:0;min-height:32px;padding:0}input[type=range]:focus-visible{box-shadow:none}input[type=color]{padding:4px}.checkbox{color:var(--text);cursor:pointer;align-items:center;gap:10px;margin:14px 0 0;font-weight:400;display:flex}.checkbox-group{flex-wrap:wrap;gap:8px;margin-block-start:8px;display:flex}.checkbox-group .checkbox{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);font-size:var(--text-sm);transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);margin:0;padding:8px 14px}.checkbox-group .checkbox:hover{border-color:var(--border-strong)}.checkbox-group .checkbox:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.checkbox-group .checkbox:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.field-group{margin-block-end:16px}.field-group>span{font-size:var(--text-sm);color:var(--text-2);font-weight:500;display:block}.inline-fields{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-block-end:14px;display:flex}.inline-fields label{flex:140px;margin:0}.inline-fields input,.inline-fields select{margin-block-start:6px}.inline-fields small{white-space:nowrap;color:var(--text-3)}.inline-label{font-size:var(--text-sm);align-items:center;gap:10px;margin-block-end:14px;font-weight:500;display:flex}.inline-label input{width:96px;margin:0}.time-fields input{flex:none;width:76px}.editor-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-block-start:18px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary{color:var(--text-2);border-radius:var(--radius-sm);align-items:center;gap:8px;padding-block:6px;font-weight:500;display:flex}details>summary:before{content:"";width:7px;height:7px;transition:transform var(--dur-2) var(--ease);opacity:.7;border-bottom:2px solid;border-right:2px solid;flex:none;margin-inline:2px 4px;transform:rotate(135deg)}details[open]>summary:before{transform:rotate(45deg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:3px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}@media (width<=760px){input,select,textarea{font-size:16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:clamp(18px,2vw,24px)}.card.interactive{cursor:pointer;transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease)}.card.interactive:hover{border-color:var(--border-strong);background:var(--surface-2)}.card>h2:first-child,.card>h3:first-child{margin-block-start:0}.list-card{padding:0;overflow:hidden}.narrow{max-width:820px;margin-block:8px 24px;margin-inline:auto}.narrow h1{margin-block-end:12px}.narrow h2{margin-block-start:22px}.narrow h2:first-child{margin-block-start:0}.stack{flex-direction:column;gap:16px;display:flex}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.spacer{flex:1}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-block-end:22px;display:flex}.page-heading h1{font-size:var(--text-2xl);font-weight:600}.page-heading p.muted{margin-block:6px 0}.heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.count{min-width:28px;height:26px;font-size:var(--text-sm);background:var(--surface-3);color:var(--text-2);font-weight:600;font-family:var(--font-num);border-radius:var(--radius-pill);vertical-align:middle;letter-spacing:0;place-items:center;margin-inline-start:10px;padding-inline:9px;display:inline-grid}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-block-end:20px;display:grid}.stats>div,.stat{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.stats span,.stat span{font-size:var(--text-sm);color:var(--text-3);align-items:center;gap:6px;display:inline-flex}.stats strong,.stat strong{font-family:var(--font-num);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600;line-height:1.15}.badge{border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--text-2);background:var(--surface-3);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:2px 10px;font-weight:500;line-height:1.6;display:inline-flex}.badge.active,.badge.success{background:var(--success-soft);color:var(--success-text);border-color:#0000}.badge.paused,.badge.warning{background:var(--warning-soft);color:var(--warning-text);border-color:#0000}.badge.ended{background:var(--surface-3);color:var(--text-3);border-color:#0000}.badge.attention,.badge.danger{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}.badge.info{background:var(--info-soft);color:var(--info-text);border-color:#0000}.badge.race{background:var(--violet-soft);color:var(--violet-text);border-color:#0000}.badge.brand{background:var(--brand-soft);color:var(--brand-text);border-color:#0000}.badge.accent{background:var(--accent);color:var(--on-accent);border-color:#0000}.dot{background:var(--success);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.status-pill{--st:var(--text-4);border-radius:var(--radius-pill);font-size:var(--text-xs);white-space:nowrap;color:var(--st);align-items:center;gap:7px;padding:3px 12px 3px 10px;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.status-pill{color:color-mix(in srgb, var(--st) 75%, var(--text))}}.status-pill{background:var(--st)}@supports (color:color-mix(in lab, red, red)){.status-pill{background:color-mix(in srgb, var(--st) 14%, var(--surface))}}.status-pill:before,.status-dot{content:"";background:var(--st);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.status-dot,.status-missing{--st:var(--text-4)}.status-draft{--st:var(--warning)}.status-approved,.status-publishing{--st:var(--info)}.status-published{--st:var(--success)}.status-publish_failed{--st:var(--danger)}.success,.error,.notice,.info-note{border-radius:var(--radius);font-size:var(--text-md);border:1px solid #0000;align-items:flex-start;gap:10px;margin-block:12px;padding:11px 14px;line-height:1.5;display:flex}.success{background:var(--success-soft);color:var(--success-text)}.error{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger-border)}.info-note{background:var(--info-soft);color:var(--info-text)}.success>svg,.error>svg,.notice>svg,.info-note>svg{margin-block-start:2px}label.success{flex-direction:column;align-items:stretch;font-weight:600}.notice-error{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger-border)}.notice-warn{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-border)}.notice-info{background:var(--info-soft);color:var(--info-text)}.tabs{border-block-end:1px solid var(--divider);scrollbar-width:none;overscroll-behavior-x:contain;gap:6px;margin-block-end:24px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{color:var(--text-3);font-weight:500;font-size:var(--text-md);transition:color var(--dur-1) var(--ease);flex:none;align-items:center;gap:8px;margin-inline:6px;padding:12px 6px 14px;display:inline-flex;position:relative}.tabs button:after{content:"";background:var(--text);height:2px;transition:transform var(--dur-2) var(--ease);border-radius:2px;position:absolute;inset-block-end:-1px;inset-inline:0;transform:scaleX(0)}.tabs button:hover,.tabs button.active{color:var(--text)}.tabs button.active:after{transform:scaleX(1)}.subtabs,.segmented-tabs{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);flex-wrap:wrap;gap:2px;max-width:100%;margin-block:0 20px;padding:4px;display:inline-flex}.subtabs button,.segmented-tabs button{color:var(--text-3);border-radius:var(--radius-pill);min-height:34px;font-weight:500;font-size:var(--text-sm);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);align-items:center;gap:7px;padding:7px 16px;display:inline-flex}.subtabs button:hover,.segmented-tabs button:hover{color:var(--text)}.subtabs button.active,.segmented-tabs button.active{background:var(--surface-3);color:var(--text)}.avatar{background:var(--surface-3);width:42px;height:42px;color:var(--brand-text);font-weight:500;font-size:var(--text-sm);letter-spacing:0;border-radius:50%;flex:none;place-items:center;display:grid}.avatar.small{width:34px;height:34px;font-size:var(--text-xs)}.avatar.large{width:56px;height:56px;font-size:var(--text-lg)}.avatar.color-0{background:var(--surface-3);color:var(--brand-text)}.avatar.color-1{background:var(--info-soft);color:var(--info-text)}.avatar.color-2{background:var(--warning-soft);color:var(--warning-text)}.avatar.color-3{background:var(--violet-soft);color:var(--violet-text)}.empty{text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:6px;padding:44px 20px;display:flex}.empty h3{color:var(--text);font-size:var(--text-lg)}.empty p{font-size:var(--text-md);max-width:46ch;margin:0}.empty-icon{background:var(--surface-3);width:56px;height:56px;color:var(--brand-text);border-radius:18px;place-items:center;margin-block-end:8px;font-size:1.4rem;display:grid}.empty .primary,.empty .secondary{margin-block-start:12px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-3) 0%, var(--surface-2) 50%, var(--surface-3) 100%);background-size:200% 100%;min-height:14px;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-card{border-radius:var(--radius-md);height:120px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.loading-state{color:var(--text-3);justify-content:center;align-items:center;gap:10px;padding:36px 16px;display:flex}.spinner,.ai-spinner{border:2px solid;border-radius:50%;flex:none;width:16px;height:16px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.spinner,.ai-spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent)}}.spinner,.ai-spinner{vertical-align:middle;border-block-start-color:currentColor;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner,.ai-spinner{animation-duration:2.4s}}.is-refreshing{opacity:.55;pointer-events:none;transition:opacity var(--dur-2) var(--ease)}.loading-note{z-index:5;border-radius:var(--radius-pill);background:var(--surface);width:fit-content;box-shadow:var(--shadow-2);font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:8px;margin-block-end:10px;margin-inline:auto;padding:6px 14px;display:flex;position:sticky;inset-block-start:12px}.menu{display:inline-flex;position:relative}.menu-trigger{border-radius:var(--radius-sm);min-height:36px;color:var(--text-2);font-weight:600;font-size:var(--text-sm);transition:background var(--dur-1) var(--ease);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.menu-trigger:hover,.menu-trigger[aria-expanded=true]{background:var(--surface-3);color:var(--text)}.menu-trigger.bordered{border:1px solid var(--border);background:var(--surface-3)}.menu-panel{z-index:40;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;max-width:min(340px,100vw - 24px);box-shadow:var(--shadow-3);text-align:start;animation:menu-in var(--dur-2) var(--ease);flex-direction:column;gap:1px;padding:6px;display:flex;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0}.menu-panel.align-start{inset-inline:0 auto}.menu-panel.floating,.menu-panel.floating.up,.menu-panel.floating.align-start{z-index:85;position:fixed;inset:auto}.menu-panel.up{inset-block:auto calc(100% + 6px)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.menu-panel>button,.menu-item{border-radius:var(--radius-sm);text-align:start;width:100%;min-height:38px;color:var(--text);font-weight:400;font-size:var(--text-md);background:0 0;align-items:center;gap:10px;margin:0;padding:9px 10px;display:flex}.menu-panel>button:hover:not(:disabled),.menu-item:hover:not(:disabled){background:var(--surface-3)}.menu-panel>button:focus-visible,.menu-item:focus-visible{outline-offset:-2px}.menu-panel>button>svg,.menu-item>svg{color:var(--text-3)}.menu-panel>button.danger,.menu-item.danger{color:var(--danger-text)}.menu-panel>button.danger svg,.menu-item.danger svg{color:currentColor}.menu-panel small{color:var(--text-3);font-size:var(--text-xs);font-weight:400;display:block}.menu-panel .menu-item-text{flex-direction:column;min-width:0;display:flex}.menu-separator{background:var(--divider);height:1px;margin:5px 4px}.menu-label{font-size:var(--text-xs);color:var(--text-3);padding:6px 10px 2px;font-weight:600}.menu-panel label{margin:4px 6px 8px}.dialog-backdrop{z-index:80;background:var(--overlay);animation:fade-in var(--dur-2) var(--ease);-webkit-backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);color:var(--text);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);width:100%;max-width:620px;max-height:min(88dvh,900px);animation:dialog-in var(--dur-3) var(--ease);border:1px solid var(--border);padding:clamp(20px,3vw,28px);overflow-y:auto}.dialog.small{max-width:440px}.dialog-head{align-items:flex-start;gap:14px;margin-block-end:8px;display:flex}.dialog-head h2{font-size:var(--text-xl);margin:0}.dialog-icon{background:var(--surface-3);width:42px;height:42px;color:var(--brand-text);border-radius:14px;flex:none;place-items:center;display:grid}.dialog-icon.danger{background:var(--danger-soft);color:var(--danger-text)}.dialog-body{color:var(--text-2);white-space:pre-line}.dialog-body p{margin-block:6px 12px}.dialog-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px;margin-block-start:22px;display:flex}.dialog-actions .primary,.dialog-actions .secondary,.dialog-actions .danger-button{min-width:110px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@media (width<=640px){.dialog-backdrop{align-items:flex-end;padding:0}.dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:none;max-height:92dvh;padding-block-end:max(20px, env(safe-area-inset-bottom));animation-name:sheet-in}.dialog-actions{flex-direction:column-reverse}.dialog-actions>*{width:100%}}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.drawer-backdrop{z-index:70;background:var(--overlay);animation:fade-in var(--dur-2) var(--ease);-webkit-backdrop-filter:blur(4px);position:fixed;inset:0}.side-drawer{z-index:71;background:var(--surface);width:min(480px,100vw - 16px);height:auto;box-shadow:var(--shadow-3);border:1px solid var(--border);border-radius:var(--radius-xl);overscroll-behavior:contain;animation:drawer-in var(--dur-3) var(--ease);padding:0 clamp(18px,2.5vw,26px) 28px;position:fixed;inset-block:8px;inset-inline-end:8px;overflow-y:auto}.side-drawer.wide{width:min(800px,100vw - 16px)}.side-drawer:focus{outline:none}.drawer-head{z-index:2;background:var(--glass);-webkit-backdrop-filter:blur(12px);border-block-end:1px solid var(--divider);justify-content:space-between;align-items:center;gap:12px;margin-block-end:18px;margin-inline:calc(-1*clamp(18px,2.5vw,26px));padding:16px clamp(18px,2.5vw,26px);display:flex;position:sticky;inset-block-start:0}.drawer-head h3{font-size:var(--text-lg);min-width:0}@keyframes drawer-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@media (width<=640px){.side-drawer,.side-drawer.wide{border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:0;width:100vw;max-height:94dvh;animation-name:sheet-in;inset:auto 0 0}}.toast-region{z-index:95;pointer-events:none;width:max-content;max-width:calc(100vw - 32px);flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;inset-block-end:calc(20px + env(safe-area-inset-bottom));inset-inline-start:50%;translate:50%}:root[dir=ltr] .toast-region{translate:-50%}.toast{pointer-events:auto;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-3);font-size:var(--text-md);animation:toast-in var(--dur-3) var(--ease);align-items:center;gap:10px;max-width:520px;padding:10px 14px 10px 12px;font-weight:500;display:flex}.toast.success svg{color:var(--success)}.toast.error{background:var(--danger);color:var(--on-fill);border-color:#0000}.toast button{color:inherit;opacity:.75;border-radius:6px;flex:none;place-items:center;width:26px;height:26px;display:grid}.toast button:hover{opacity:1;background:currentColor}@supports (color:color-mix(in lab, red, red)){.toast button:hover{background:color-mix(in srgb, currentColor 12%, transparent)}}.toast .toast-action{opacity:1;width:auto;color:var(--brand-text);white-space:nowrap;padding-inline:10px;font-weight:600}.toast.error .toast-action{color:inherit;text-decoration:underline}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ai-indicator{z-index:90;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-3);font-size:var(--text-sm);animation:toast-in var(--dur-3) var(--ease);align-items:center;gap:10px;padding:9px 16px 9px 12px;font-weight:500;display:inline-flex;position:fixed;inset-block-end:calc(20px + env(safe-area-inset-bottom));inset-inline-start:20px}.ai-indicator-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 0 var(--accent);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.ai-indicator-dot{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}}.ai-indicator-dot{animation:1.4s ease-out infinite ai-pulse}@keyframes ai-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}to{box-shadow:0 0 0 10px #0000}}@media (prefers-reduced-motion:reduce){.ai-indicator-dot{animation:none}}.shortcut{align-items:center;gap:3px;display:inline-flex}.palette-backdrop{align-items:flex-start;padding-block-start:min(14vh,120px)}.palette{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:580px;box-shadow:var(--shadow-3);animation:dialog-in var(--dur-2) var(--ease);overflow:hidden}.palette-search{border-block-end:1px solid var(--divider);color:var(--text-3);align-items:center;gap:10px;padding:6px 16px;display:flex}.palette-search input{box-shadow:none;min-height:52px;font-size:var(--text-lg);background:0 0;border:0;margin:0;padding-inline:0}.palette-search input:focus-visible{box-shadow:none}.palette-list{max-height:min(60vh,440px);margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-group{font-size:var(--text-xs);color:var(--text-3);padding:8px 10px 4px;font-weight:600}.palette-option{border-radius:var(--radius-sm);cursor:pointer;color:var(--text);align-items:center;gap:12px;padding:9px 10px;display:flex}.palette-option[aria-selected=true]{background:var(--surface-3);color:var(--text)}.palette-option small{color:var(--text-3);margin-inline-start:auto}.palette-option .avatar{width:30px;height:30px;font-size:.7rem}.palette-empty{text-align:center;color:var(--text-3);padding:24px}.palette-foot{border-block-start:1px solid var(--divider);font-size:var(--text-xs);color:var(--text-3);gap:14px;padding:9px 16px;display:flex}@media (width<=640px){.palette-backdrop{padding:12px}}.dialog.wide{max-width:880px}body.has-modal{overflow:hidden}.dialog-close{margin-block-start:-4px;margin-inline:auto -6px}.dialog-title{flex:1;align-self:center;min-width:0}.spin{animation:.9s linear infinite spin}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.icon-button.danger{color:var(--danger-text)}.icon-button.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-text)}.palette-page-icon{background:var(--surface-3);width:30px;height:30px;color:var(--text-2);border-radius:9px;flex:none;place-items:center;display:grid}.kind-chip{border-radius:var(--radius-pill);background:var(--k);align-self:flex-start;align-items:center;gap:8px;padding:4px 12px 4px 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.kind-chip{background:color-mix(in srgb, var(--k) 16%, transparent)}}.kind-chip{color:var(--k)}@supports (color:color-mix(in lab, red, red)){.kind-chip{color:color-mix(in srgb, var(--k) 70%, var(--text))}}.kind-chip{font-size:var(--text-sm);white-space:nowrap;font-weight:500}.kind-chip i{background:linear-gradient(135deg, var(--k), var(--k2));border-radius:50%;width:8px;height:8px}.kind-picker{border:0;min-width:0;margin:0 0 16px;padding:0}.kind-picker legend{font-size:var(--text-sm);color:var(--text-2);margin-block-end:8px;padding:0;font-weight:500}.kind-options{flex-wrap:wrap;gap:8px;display:flex}.kind-option{cursor:pointer;border-radius:var(--radius-pill);min-height:36px;font-size:var(--text-sm);color:var(--text-2);border:1px solid var(--k);align-items:center;gap:8px;margin:0;padding:6px 14px 6px 12px;font-weight:500;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.kind-option{border:1px solid color-mix(in srgb, var(--k) 40%, var(--border))}}.kind-option{background:var(--k)}@supports (color:color-mix(in lab, red, red)){.kind-option{background:color-mix(in srgb, var(--k) 9%, var(--surface-2))}}.kind-option{transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease)}.kind-option small{color:var(--text-3);font-size:var(--text-xs)}.kind-option input[type=radio]{opacity:0;cursor:pointer;border-radius:inherit;border:0;width:100%;height:100%;min-height:0;margin:0;position:absolute;inset:0}.kind-option .kind-dot{background:linear-gradient(135deg, var(--k), var(--k2));border-radius:50%;flex:none;width:10px;height:10px}.kind-option.auto .kind-dot{border:2px dashed var(--k);background:0 0}.kind-option:hover{border-color:var(--k);background:var(--k)}@supports (color:color-mix(in lab, red, red)){.kind-option:hover{background:color-mix(in srgb, var(--k) 16%, var(--surface-2))}}.kind-option:active{transform:scale(.97)}.kind-option:has(input:checked){color:var(--text);border-color:var(--k);background:var(--k)}@supports (color:color-mix(in lab, red, red)){.kind-option:has(input:checked){background:color-mix(in srgb, var(--k) 26%, var(--surface-2))}}.kind-option:has(input:checked){box-shadow:inset 0 0 0 1px var(--k)}.kind-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.structure-builder{margin-block-end:14px;container-type:inline-size}.structure-layout{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.structure-steps{min-width:0}.structure-preview{z-index:1;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);min-width:0;order:-1;align-self:start;padding:12px 14px;position:sticky;inset-block-start:var(--sticky-top,8px)}@container (width>=620px){.structure-layout{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.structure-preview{order:0}}.structure-preview-title{font-size:var(--text-sm);color:var(--text-2);margin:0 0 8px;font-weight:500}.structure-preview .hint{margin:8px 0 0}.side-drawer{--sticky-top:76px}.workout-graph{margin:0}.wg-track{border-block-end:1px solid var(--border);align-items:flex-end;gap:2px;block-size:72px;padding-block-start:18px;display:flex}.workout-graph.compact .wg-track{block-size:46px;padding-block-start:14px}.wg-block{background:linear-gradient(var(--k2), var(--k));border-radius:3px 3px 0 0;flex:1 1 0;min-inline-size:3px}.wg-block.easy{background:var(--k)}@supports (color:color-mix(in lab, red, red)){.wg-block.easy{background:color-mix(in srgb, var(--k) 32%, var(--surface-3))}}.wg-group{flex:1 1 0;align-items:flex-end;gap:2px;block-size:100%;min-inline-size:0;display:flex;position:relative}.wg-group:before{content:"";border:1px solid var(--border-strong);border-block-end:0;border-radius:3px 3px 0 0;block-size:5px;position:absolute;inset-block-start:0;inset-inline:0}.wg-count{text-align:center;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--text-2);font-weight:600;position:absolute;inset-block-start:-16px;inset-inline:0}.wg-group>.wg-block{min-inline-size:1px}.wg-summary{font-size:var(--text-sm);color:var(--text-2);margin-block-start:8px}.wg-summary small{color:var(--text-3);font-size:var(--text-xs)}.dialog.template-picker{flex-direction:column;max-height:min(720px,88dvh);display:flex;overflow:hidden}.template-picker-search{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3);align-items:center;gap:8px;margin:0 0 10px;padding-inline:12px;display:flex}.template-picker-search:focus-within{border-color:var(--brand)}.template-picker-search input{box-shadow:none;background:0 0;border:0;padding-inline:0}.template-picker-search input:focus-visible{box-shadow:none;outline:none}.template-picker-kinds{margin-block-end:10px}.template-picker-list{overscroll-behavior:contain;flex:1;min-height:160px;margin-inline:-6px;padding-inline:6px;overflow-y:auto}.template-picker-group+.template-picker-group{margin-block-start:14px}.template-picker-group h3{z-index:1;background:var(--surface);font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:8px;margin:0;padding-block:6px;font-weight:500;display:flex;position:sticky;top:0}.template-picker-group .kind-dot{background:linear-gradient(135deg, var(--k), var(--k2));border-radius:50%;width:10px;height:10px}.template-picker-item{text-align:start;border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--text);transition:background var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);align-items:center;gap:10px;padding:8px 14px 8px 10px;display:flex;position:relative}.template-picker-item:before{content:"";background:linear-gradient(var(--k), var(--k2));border-radius:3px;width:3px;position:absolute;inset-block:10px;inset-inline-start:4px}.template-picker-item:hover{background:var(--surface-3)}.template-picker-item:active{transform:scale(.97)}.template-picker-text{flex-direction:column;gap:2px;min-width:0;display:flex}.template-picker-text small{color:var(--text-3);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skip-link{z-index:100;background:var(--brand);color:var(--on-brand);border-radius:var(--radius);transition:transform var(--dur-2) var(--ease);padding:10px 16px;font-weight:600;position:fixed;inset-block-start:10px;inset-inline-start:10px;transform:translateY(-160%)}.skip-link:focus{transform:none}.brand{color:var(--text);border-radius:var(--radius);align-items:center;gap:11px;display:inline-flex}.brand-mark{background:var(--accent);width:36px;height:36px;color:var(--on-accent);border-radius:11px;flex:none;place-items:center;display:inline-grid}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{letter-spacing:0;font-size:1.25rem;font-weight:600}.brand small{font-size:var(--text-xs);color:var(--text-3);font-weight:500}.workspace{outline:none;min-width:0}.app-shell.layout-rail{grid-template-columns:var(--rail-w) minmax(0, 1fr);min-height:100dvh;display:grid}.layout-rail .rail{background:var(--surface);border-inline-end:1px solid var(--border);z-index:30;flex-direction:column;gap:6px;height:100dvh;padding:20px 14px 14px;display:flex;position:sticky;inset-block-start:0}.layout-rail .rail-brand{padding:4px 8px 18px}.layout-rail .primary-nav{flex-direction:column;gap:2px;display:flex}.layout-rail .rail-foot{border-block-start:1px solid var(--divider);flex-direction:column;gap:8px;margin-block-start:auto;padding-block-start:12px;display:flex}.layout-rail .workspace{padding:32px var(--gutter) 64px;max-width:calc(var(--content-max) + 2 * var(--gutter));width:100%;margin-inline:auto}.nav-item{border-radius:var(--radius);width:100%;min-height:44px;color:var(--text-3);font-weight:500;font-size:var(--text-md);text-align:start;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--surface-3);color:var(--text)}.nav-item.active .nav-icon{color:var(--brand)}.nav-icon{flex:none;place-items:center;display:inline-grid;position:relative}.nav-badge{border-radius:var(--radius-pill);background:var(--danger);min-width:18px;height:18px;color:var(--on-fill);font-size:.68rem;font-weight:600;font-family:var(--font-num);box-shadow:0 0 0 2px var(--surface);place-items:center;padding-inline:5px;line-height:1;display:grid;position:absolute;inset-block-start:-7px;inset-inline-end:-9px}.nav-label-short{display:none}.quick-search{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:40px;color:var(--text-3);font-size:var(--text-sm);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);align-items:center;gap:10px;padding:8px 12px;font-weight:400;display:flex}.quick-search:hover{border-color:var(--border-strong);color:var(--text-2)}.quick-search .shortcut{margin-inline-start:auto}.account-menu{width:100%}.account-trigger{text-align:start;justify-content:flex-start;gap:10px;width:100%;min-height:48px;padding:6px 8px}.account-trigger-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.account-trigger-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.account-trigger-text small{color:var(--text-3);font-weight:400}.account-menu-list{min-width:min(280px,100vw - 32px)}.account-current{border-block-end:1px solid var(--divider);align-items:center;gap:12px;margin-block-end:6px;padding:10px 10px 12px;display:flex}.account-current>div{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.account-current small{color:var(--text-3);font-size:var(--text-xs);text-overflow:ellipsis;text-align:end;direction:ltr;overflow:hidden}.theme-switch{margin:4px 6px 8px;display:flex}.theme-switch button{flex:1;justify-content:center;padding-inline:8px}.install-steps{flex-direction:column;gap:10px;margin:0;padding-inline-start:22px;display:flex}.install-steps svg{vertical-align:-3px;color:var(--brand-text)}.app-shell.layout-rail{transition:grid-template-columns var(--dur-3) var(--ease)}@media (prefers-reduced-motion:reduce){.app-shell.layout-rail{transition:none}}@media (width>=761px){.app-shell.layout-rail.rail-folded{grid-template-columns:76px minmax(0,1fr)}.rail-folded .rail{align-items:center;padding-inline:10px}.rail-folded .rail-brand{flex-direction:column;gap:10px;padding:2px 0 16px}.rail-folded .rail-brand .brand-text{display:none}.rail-folded .primary-nav{width:100%}.rail-folded .nav-item{justify-content:center;padding:10px}.rail-folded .nav-label,.rail-folded .quick-search-label,.rail-folded .quick-search .shortcut,.rail-folded .account-trigger-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rail-folded .quick-search{justify-content:center;width:44px;height:44px;padding:8px}.rail-folded .account-trigger{justify-content:center;width:52px}.rail-folded .rail-foot{align-items:center;width:100%}}.layout-rail .rail-brand{justify-content:space-between;align-items:center;gap:8px;display:flex}.rail-toggle{color:var(--text-3);flex:none}.rail-toggle:hover:not(:disabled){color:var(--text)}@media (width<=760px){.rail-toggle{display:none}}.app-shell.layout-top{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:30;background:var(--glass);-webkit-backdrop-filter:blur(14px);border-block-end:1px solid var(--border);position:sticky;inset-block-start:0}.topbar-inner{height:var(--topbar-h);padding-inline:var(--gutter);max-width:calc(var(--content-max) + 2 * var(--gutter));align-items:center;gap:28px;margin-inline:auto;display:flex}.layout-top .primary-nav{flex:1;gap:4px;min-width:0;display:flex}.layout-top .nav-item{width:auto;min-height:40px;padding:8px 14px}.topbar-end{align-items:center;gap:10px;margin-inline-start:auto;display:flex}.topbar-end .account-menu{width:auto}.topbar-end .account-trigger{width:auto;min-height:44px}.layout-top .workspace{width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));padding:28px var(--gutter) 64px;flex:1;margin-inline:auto}.role-athlete .workspace{max-width:calc(1180px + 2 * var(--gutter))}.role-admin .workspace,.role-admin .topbar-inner{max-width:none}@media (width<=760px){:root{--gutter:16px}.brand-name{font-size:1.15rem}.brand small{display:none}.brand-mark{border-radius:10px;width:32px!important;height:32px!important}.app-shell.layout-rail{grid-template-rows:56px auto;grid-template-columns:1fr auto;display:grid}.app-shell.layout-rail:before{content:"";z-index:29;background:var(--glass);-webkit-backdrop-filter:blur(14px);border-block-end:1px solid var(--border);grid-area:1/1/auto/-1;height:56px;position:sticky;inset-block-start:0}.layout-rail .rail{display:contents}.layout-rail .rail-brand{z-index:30;grid-area:1/1;align-self:center;padding:0 16px;position:sticky;inset-block-start:0}.layout-rail .rail-foot{z-index:30;border:0;flex-direction:row;grid-area:1/2;align-items:center;gap:4px;height:56px;margin:0;padding:0 10px;position:sticky;inset-block-start:0}.layout-rail .quick-search{background:0 0;border:0;justify-content:center;width:40px;height:40px;padding:0}.layout-rail .quick-search-label,.layout-rail .quick-search .shortcut,.account-trigger-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.layout-rail .account-menu,.topbar-end .account-menu{width:auto}.layout-rail .account-trigger,.topbar-end .account-trigger{justify-content:center;width:44px;min-height:44px;padding:4px}.layout-rail .workspace{padding:18px var(--gutter) 28px;grid-area:2/1/auto/-1}.topbar-inner{gap:12px;height:56px}.role-admin .topbar-inner{flex-wrap:wrap;height:auto;min-height:56px;padding-block:8px}.role-admin .primary-nav{flex-basis:100%;order:3;overflow-x:auto}.layout-top .workspace{padding:18px var(--gutter) 28px}.primary-nav.to-bottom{z-index:40;padding:6px max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));background:var(--glass);-webkit-backdrop-filter:blur(18px);border-block-start:1px solid var(--border);grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid;position:fixed;inset-block-end:0;inset-inline:0}.primary-nav.to-bottom .nav-item{border-radius:var(--radius);width:auto;min-height:52px;color:var(--text-3);flex-direction:column;justify-content:center;gap:3px;padding:6px 2px;font-size:.7rem;font-weight:500}.primary-nav.to-bottom .nav-item:hover{background:0 0}.primary-nav.to-bottom .nav-item.active{color:var(--text);background:0 0}.primary-nav.to-bottom .nav-item.active .nav-icon{background:var(--brand-soft);color:var(--brand-text)}.primary-nav.to-bottom .nav-item:before{display:none}.primary-nav.to-bottom .nav-icon{border-radius:var(--radius-pill);width:52px;height:28px;transition:background var(--dur-2) var(--ease)}.primary-nav.to-bottom .nav-label-full{display:none}.primary-nav.to-bottom .nav-label-short{display:inline}.has-bottom-nav .workspace{padding-block-end:calc(var(--bottom-nav-h) + 32px + env(safe-area-inset-bottom))}.has-bottom-nav~.toast-region,.has-bottom-nav~.ai-indicator{inset-block-end:calc(var(--bottom-nav-h) + 16px + env(safe-area-inset-bottom))}.ai-indicator{inset-inline-start:50%;translate:50%}}.page-error{flex-wrap:wrap;justify-content:space-between;align-items:center}.back-link{color:var(--text-2);margin-block-end:10px}.back-link:hover{color:var(--text)}.startup{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100dvh;padding:24px;display:flex}.startup-brand{align-items:center;gap:14px;font-size:2rem;font-weight:600;display:flex}.startup-status{color:var(--text-3);align-items:center;gap:10px;margin:0;display:flex}.startup-error{color:var(--danger-text);max-width:46ch;margin:0}.login-layout{background:var(--bg);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;min-height:100dvh;padding:12px;display:grid}.intro{isolation:isolate;color:var(--on-hero);border-radius:var(--radius-xl);background:radial-gradient(900px 520px at 100% 110%, var(--accent), transparent 62%), radial-gradient(700px 420px at -10% -20%, var(--kind-long), transparent 70%), var(--hero);flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(28px,5vw,56px) clamp(24px,5vw,64px);display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.intro{background:radial-gradient(900px 520px at 100% 110%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 62%), radial-gradient(700px 420px at -10% -20%, color-mix(in srgb, var(--kind-long) 16%, transparent), transparent 70%), var(--hero)}}.intro-brand{z-index:1;align-items:center;gap:12px;font-size:1.4rem;font-weight:600;display:flex}.intro-brand small{font-size:var(--text-sm);color:var(--on-hero-2);margin-inline-start:4px;font-weight:500}.intro-copy{z-index:1;max-width:560px}.intro .eyebrow{color:var(--accent);font-size:var(--text-sm)}.intro h1{letter-spacing:-.02em;margin-block:14px 20px;font-size:clamp(2.1rem,1.4rem + 2.6vw,3.4rem);font-weight:600;line-height:1.15}.intro-copy>p:not(.eyebrow){color:var(--on-hero-2);font-size:var(--text-lg);max-width:44ch}.intro-points{z-index:1;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.intro-points li{border-radius:var(--radius-pill);background:var(--on-hero);align-items:center;gap:8px;padding:8px 14px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.intro-points li{background:color-mix(in srgb, var(--on-hero) 7%, transparent)}}.intro-points li{border:1px solid var(--on-hero)}@supports (color:color-mix(in lab, red, red)){.intro-points li{border:1px solid color-mix(in srgb, var(--on-hero) 12%, transparent)}}.intro-points li{font-size:var(--text-sm);font-weight:400}.intro-points svg{color:var(--accent)}.intro-track{z-index:-1;border:1px solid var(--accent);border-radius:50%;width:620px;height:620px;position:absolute;inset-block-end:-300px;inset-inline-end:-260px}@supports (color:color-mix(in lab, red, red)){.intro-track{border:1px solid color-mix(in srgb, var(--accent) 22%, transparent)}}.intro-track{box-shadow:0 0 0 56px var(--on-hero), 0 0 0 57px var(--accent), 0 0 0 112px var(--on-hero), 0 0 0 113px var(--accent)}@supports (color:color-mix(in lab, red, red)){.intro-track{box-shadow:0 0 0 56px color-mix(in srgb, var(--on-hero) 1.5%, transparent), 0 0 0 57px color-mix(in srgb, var(--accent) 12%, transparent), 0 0 0 112px color-mix(in srgb, var(--on-hero) 1%, transparent), 0 0 0 113px color-mix(in srgb, var(--accent) 8%, transparent)}}.login-panel{background:var(--bg);justify-content:center;align-items:center;padding:clamp(28px,5vw,56px) 24px;display:flex}.login-card{width:100%;max-width:420px}.login-mobile-brand{display:none}.login-steps{gap:8px;margin:0 0 22px;padding:0;list-style:none;display:flex}.login-steps li{font-size:var(--text-xs);color:var(--text-3);border-radius:var(--radius-pill);background:var(--surface-3);align-items:center;gap:7px;padding:4px 12px 4px 6px;font-weight:600;display:inline-flex}.login-steps li span{background:var(--surface);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.login-steps li.done{color:var(--brand-text);background:var(--brand-soft)}.login-steps li[aria-current=step] span{background:var(--brand);color:var(--on-brand)}.login-card h2{font-size:var(--text-3xl);letter-spacing:-.01em;margin-block-end:8px;font-weight:600;line-height:1.15}.login-lead{font-size:var(--text-base);margin-block:0 28px}.login-card form label{font-size:var(--text-sm)}.otp-input{letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;padding-inline:12px 4px;font-weight:600;font-size:1.6rem!important}.login-submit{min-height:50px;font-size:var(--text-base);margin-block-start:6px}.login-secondary{flex-direction:column;align-items:center;gap:4px;margin-block-start:12px;display:flex}.login-legal{font-size:var(--text-xs);color:var(--text-3);text-align:center;margin-block:12px 0}.login-legal a,.login-legal-links a{color:var(--text-2)}.login-legal-links{font-size:var(--text-xs);justify-content:center;gap:18px;margin-block-start:20px;display:flex}.login-legal-links a{color:var(--text-3)}.legal-page{background:var(--bg);min-height:100dvh;padding:24px 16px 40px}.legal-header,.legal-card,.legal-footer{max-width:760px;margin-inline:auto}.legal-header{justify-content:space-between;align-items:center;gap:12px;margin-block-end:20px;display:flex}.legal-brand{font-size:var(--text-xl);color:var(--text);align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.legal-card{padding:clamp(20px,4vw,40px)}.legal-card h1{margin-block-end:4px}.legal-updated{color:var(--text-3);font-size:var(--text-sm);margin-block:0 24px}.legal-card h2{font-size:var(--text-lg);margin-block:28px 8px}.legal-card p,.legal-card li{color:var(--text-2);line-height:1.7}.legal-card ul{gap:6px;padding-inline-start:20px;display:grid}.legal-card strong{color:var(--text);font-weight:500}.legal-footer{font-size:var(--text-sm);flex-wrap:wrap;justify-content:center;gap:18px;margin-block-start:20px;display:flex}.legal-footer a{color:var(--text-3)}.local-note{border-block-start:1px solid var(--divider);font-size:var(--text-xs);color:var(--text-3);margin-block-start:28px;padding-block-start:18px;display:block}.local-note .dot{background:var(--warning);margin-inline-end:8px}.dev-accounts>summary{cursor:pointer;color:var(--text-2);align-items:center;gap:6px;font-weight:600;display:flex}.dev-account-list{gap:2px;margin:10px 0 0;padding:0;list-style:none;display:grid}.dev-account-list .text-button{width:100%;color:var(--text);justify-content:space-between;margin:0;font-weight:500}.dev-account-list small{color:var(--text-3);font-weight:400}.google-button{justify-content:center;align-items:center;gap:10px;margin-block-start:10px;display:inline-flex}.dev-badge{z-index:900;pointer-events:none;background:var(--warning-soft);color:var(--warning-text);border:1px dashed var(--warning-border);border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:1px;padding:2px 8px;font-weight:600;position:fixed;inset-block-end:10px;inset-inline-start:10px}.local-note p{margin:5px 0 0}.dev-code{background:var(--warning-soft);color:var(--warning-text);border:1px dashed var(--warning-border);border-radius:var(--radius);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;margin-block-end:16px;padding:12px 14px;display:flex}.dev-code strong{letter-spacing:4px;color:var(--text);font-variant-numeric:tabular-nums;font-size:1.4rem}.consent{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);margin-block-end:18px;padding:16px}.consent>strong{font-size:var(--text-md);align-items:center;gap:8px;display:flex}.consent>strong svg{color:var(--brand-text)}.consent p{font-size:var(--text-sm);color:var(--text-2);white-space:pre-line;font-weight:400}@media (width<=900px){.login-layout{grid-template-columns:1fr}.intro{display:none}.login-panel{align-items:flex-start;padding-block-start:40px}.login-layout{padding:0}.login-mobile-brand{align-items:center;gap:10px;margin-block-end:32px;font-size:1.3rem;font-weight:600;display:flex}}@media (width<=760px){.dev-badge{inset-block:18px auto;inset-inline:auto 64px}}.dynamic-form{flex-direction:column;gap:4px;display:flex}.dynamic-form>label{margin-block:8px 20px}.form-section{border:0;min-width:0;margin:0;padding:0}.form-section+.form-section{border-block-start:1px solid var(--divider);margin-block-start:12px;padding-block-start:20px}.form-section legend{font-size:var(--text-lg);color:var(--text);align-items:center;gap:8px;margin-block-end:6px;padding:0;font-weight:600;display:flex}.question{margin-block:18px}.question>label{font-size:var(--text-md);color:var(--text);flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font-weight:600;display:flex}.question-label{flex:0 auto}.question .required{color:var(--danger-text)}.question .badge{font-weight:500}.question-help{font-size:var(--text-sm);color:var(--text-3);margin:4px 0 0}.question>select,.question>input,.question>textarea{margin-block-start:8px}.question>.checkbox-group,.question>.choice-toggle{margin-block-start:10px}.read-only .question>label{color:var(--text-2)}.read-only input:disabled,.read-only select:disabled,.read-only textarea:disabled{background:var(--surface-2);color:var(--text);border-style:dashed}.choice-toggle{border-radius:var(--radius);background:var(--surface-3);border:1px solid var(--border);gap:0;padding:3px;display:inline-flex}.choice-toggle label{border-radius:var(--radius-sm);cursor:pointer;min-width:76px;min-height:38px;color:var(--text-3);font-weight:600;font-size:var(--text-md);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);place-items:center;margin:0;padding:6px 16px;display:grid;position:relative}.choice-toggle input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice-toggle label.selected{background:var(--surface);color:var(--brand-text);box-shadow:var(--shadow-1)}.choice-toggle label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.choice-toggle label:has(input:disabled){cursor:not-allowed;opacity:.8}.orphaned-answers{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--divider);margin-block:18px 6px;padding:12px 14px}.orphaned-answers dl{font-size:var(--text-sm);gap:6px;margin:10px 0 0;display:grid}.orphaned-answers dl>div{gap:12px;display:flex}.orphaned-answers dt{color:var(--text-3);min-width:140px;font-family:var(--font-mono);font-size:var(--text-xs);text-align:end;direction:ltr}.orphaned-answers dd{margin:0}.form-savebar{align-items:center;gap:14px;margin-block-start:14px;display:flex}.form-savebar.dirty{z-index:6;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-3);animation:toast-in var(--dur-2) var(--ease);justify-content:space-between;padding:10px 12px 10px 16px;position:sticky;inset-block-end:12px}.form-savebar-note{font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:8px;font-weight:600;display:inline-flex}.form-savebar-note .dot{background:var(--warning)}@media (width<=760px){.has-bottom-nav .form-savebar.dirty{inset-block-end:calc(var(--bottom-nav-h) + 14px + env(safe-area-inset-bottom))}}.method-card h1{font-size:var(--text-2xl)}.profile-form-card .info-note{font-size:var(--text-sm);margin-block:0 18px}.roster-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-block-end:16px;display:flex}.search-field{flex:260px;max-width:360px;margin:0;position:relative}.search-field>svg{color:var(--text-4);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:12px;translate:0 -50%}.search-field input{background:var(--surface);margin:0;padding-inline-start:38px}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);min-height:36px;color:var(--text-2);font-weight:600;font-size:var(--text-sm);transition:all var(--dur-1) var(--ease);align-items:center;gap:7px;padding:6px 12px;display:inline-flex}.filter-chip:hover{border-color:var(--text-4);color:var(--text)}.filter-chip.active{background:var(--text);color:var(--surface);border-color:var(--text)}.filter-chip .dot{width:7px;height:7px}.filter-chip.status-active .dot{background:var(--success)}.filter-chip.status-paused .dot{background:var(--warning)}.filter-chip.status-ended .dot{background:var(--text-4)}.filter-count{font-variant-numeric:tabular-nums;opacity:.7;font-weight:500}.view-toggle{margin:0;margin-inline-start:auto}.view-toggle button{padding:6px 10px}.athlete-list.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);flex-direction:column;display:flex;overflow:hidden}.athlete-list.list .athlete-row{border-block-end:1px solid var(--divider)}.athlete-list.list .athlete-row:last-child{border-block-end:0}.athlete-list.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.athlete-list.grid .athlete-row{border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-1);flex-direction:column;align-items:flex-start;gap:12px;padding:18px}.athlete-list.grid .athlete-row .row-arrow{position:absolute;inset-block-start:20px;inset-inline-end:16px}.athlete-list.grid .athlete-row:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.athlete-row{text-align:start;background:var(--surface);width:100%;color:var(--text);transition:background var(--dur-1) var(--ease), transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);align-items:center;gap:14px;padding:14px 20px;display:flex;position:relative}.athlete-row:hover{background:var(--surface-2)}.athlete-row:focus-visible{outline-offset:-2px}.athlete-name{flex-direction:column;flex:1;min-width:0;display:flex}.athlete-name strong{font-weight:600;font-size:var(--text-base)}.athlete-name small{color:var(--text-3);font-size:var(--text-sm)}.athlete-badges{flex-wrap:wrap;gap:6px;display:flex}.row-arrow{color:var(--text-4);transition:transform var(--dur-2) var(--ease), color var(--dur-1) var(--ease)}.athlete-row:hover .row-arrow{color:var(--brand-text);transform:translate(-3px)}.skeleton-row{pointer-events:none}.skeleton-row .skeleton{height:14px}.skeleton.avatar{border-radius:50%;width:42px;height:42px}.invite-form label{margin-block-end:8px}.invite-result{margin-block-start:10px}.invite-result label.success{margin-block:4px 0}.copy-field{align-items:center;gap:8px;margin-block-start:8px;display:flex}.copy-field input{font-size:var(--text-sm);color:var(--text);margin:0}.athlete-workspace{flex-direction:column;display:flex}.athlete-switcher{z-index:20;margin-inline:calc(-1 * var(--gutter));padding:14px var(--gutter) 16px;background:var(--bg);margin-block:-28px 0;position:sticky;inset-block-start:0}@supports (color:color-mix(in lab, red, red)){.athlete-switcher{background:color-mix(in srgb, var(--bg) 92%, transparent)}}.athlete-switcher{-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-block-end:1px solid var(--border)}.switcher-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block-end:10px;display:flex}.switcher-top .back-link{margin:0}.switcher-nav{align-items:center;gap:6px;display:flex}.switcher-select{margin:0}.switcher-select select{min-height:34px;font-size:var(--text-sm);background-color:var(--surface);min-width:180px;margin:0;padding-block:4px}.switcher-count{white-space:nowrap;font-variant-numeric:tabular-nums;margin-inline-start:4px}.switcher-identity{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.switcher-who{flex:1;min-width:200px}.switcher-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.switcher-name{font-size:var(--text-2xl);line-height:1.2}.switcher-meta{color:var(--text-3);font-size:var(--text-sm);flex-wrap:wrap;gap:4px 16px;margin:4px 0 0;display:flex}.switcher-meta span{align-items:center;gap:5px;display:inline-flex}.switcher-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.switcher-actions .is-active{border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft)}.switcher-manage-body{gap:10px;min-width:min(290px,100vw - 32px);padding:14px}.switcher-manage-body label,.switcher-manage-body .hint{margin:0}.switcher-manage-body .secondary.danger{color:var(--danger-text)}.athlete-tabs{margin-block:0 22px;position:relative}@media (width<=760px){.athlete-switcher{margin-block-start:-18px;padding-block:10px 12px;position:relative}.switcher-select select{min-width:0;max-width:46vw}.switcher-identity .avatar.large{width:44px;height:44px;font-size:var(--text-md)}.switcher-name{font-size:var(--text-xl)}.switcher-actions{width:100%}.switcher-actions>*{flex:1}.switcher-actions .menu-trigger{justify-content:center;width:100%}.roster-toolbar{gap:10px}.search-field{flex-basis:100%;max-width:none}.athlete-row{padding:14px}.athlete-list.list .athlete-badges{flex-direction:column;align-items:flex-end}}.feedback-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:24px;display:grid}.feedback-main{min-width:0}.feedback-composer h3{align-items:center;gap:8px;display:flex}.feedback-composer h3 svg{color:var(--brand)}.feedback-composer label{margin-block-end:10px}.feedback-heading{font-size:var(--text-xl);align-items:center;margin-block:26px 12px;display:flex}.feedback-timeline{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex;position:relative}.feedback-timeline:before{content:"";background:var(--divider);width:2px;position:absolute;inset-block:8px;inset-inline-start:11px}.feedback-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-1);margin-inline-start:30px;padding:14px 16px;position:relative}.feedback-card:before{content:"";background:var(--surface);border:2px solid var(--border-strong);border-radius:50%;width:12px;height:12px;position:absolute;inset-block-start:18px;inset-inline-start:-25px}.feedback-card.is-linked{opacity:.75}.feedback-card-head{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.feedback-card-head .muted{font-size:var(--text-sm)}.feedback-text{white-space:pre-line;margin:8px 0}.feedback-summary{font-size:var(--text-sm);margin:6px 0 0}.feedback-card .hint{align-items:center;gap:5px;margin:4px 0;display:flex}.link-menu{min-width:min(280px,100vw - 32px)}.link-form{flex-direction:column;gap:8px;padding:8px;display:flex}.link-form label{font-size:var(--text-sm);margin:0}.link-form select{margin-block-start:4px}.summary-editor,.inline-form{background:var(--surface-2);border:1px solid var(--divider);border-radius:var(--radius);margin-block-start:10px;padding:14px}.summary-editor label,.inline-form label{margin-block-end:10px}.feedback-side{flex-direction:column;gap:12px;display:flex;position:sticky;inset-block-start:16px}.feedback-side .section-heading{margin-block:0}.constraint-form label{margin-block-end:10px}.constraint-list{flex-direction:column;gap:10px;display:flex}.constraint-card{--cat:var(--text-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:12px 14px;padding-inline-start:22px;position:relative}.constraint-card:before{content:"";background:var(--cat);border-radius:3px;width:3px;position:absolute;inset-block:12px;inset-inline-start:9px}.constraint-card p{margin:6px 0}.constraint-card .hint{align-items:center;gap:5px;display:flex}.constraint-card.category-injury{--cat:var(--danger)}.constraint-card.category-travel{--cat:var(--info)}.constraint-card.category-availability{--cat:var(--warning)}@media (width<=1024px){.feedback-layout{grid-template-columns:1fr}.feedback-side{order:-1;position:static}}.dashboard{flex-direction:column;gap:20px;display:flex}.dashboard-hero{border-radius:var(--radius-xl);color:var(--on-hero);background:var(--hero);border:1px solid var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding:clamp(20px,3vw,28px);display:flex}.dashboard-hero h1{font-size:var(--text-2xl);color:var(--on-hero);font-weight:600}.dashboard-hero .eyebrow,.dashboard-hero .muted{color:var(--on-hero-2)}.dashboard-hero .muted{margin-block:6px 0}.dashboard-hero .count{background:var(--accent);color:var(--on-accent);min-width:34px;height:30px;font-size:var(--text-md)}.dashboard-hero .secondary{background:var(--on-hero)}@supports (color:color-mix(in lab, red, red)){.dashboard-hero .secondary{background:color-mix(in srgb, var(--on-hero) 8%, transparent)}}.dashboard-hero .secondary{color:var(--on-hero);border-color:var(--on-hero)}@supports (color:color-mix(in lab, red, red)){.dashboard-hero .secondary{border-color:color-mix(in srgb, var(--on-hero) 14%, transparent)}}.dashboard-hero .secondary:hover:not(:disabled){background:var(--on-hero)}@supports (color:color-mix(in lab, red, red)){.dashboard-hero .secondary:hover:not(:disabled){background:color-mix(in srgb, var(--on-hero) 14%, transparent)}}.dashboard-hero .secondary:hover:not(:disabled){border-color:var(--on-hero)}@supports (color:color-mix(in lab, red, red)){.dashboard-hero .secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--on-hero) 24%, transparent)}}.dashboard-hero-skeleton{border-radius:var(--radius-lg);height:140px}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.queue-jump{--tone:var(--text-4);--tone-soft:var(--surface-3);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);color:var(--text-2);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:grid}.queue-jump:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.queue-jump strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;color:var(--text-3);font-weight:600;line-height:1}.queue-jump-label{font-size:var(--text-sm);font-weight:600}.queue-jump-icon,.queue-icon{background:var(--tone-soft);width:34px;height:34px;color:var(--tone);border-radius:10px;flex:none;place-items:center;display:grid}.queue-jump.has-items strong{color:var(--tone-text,var(--text))}.kind-missed{--tone:var(--warning);--tone-soft:var(--warning-soft);--tone-text:var(--warning-text)}.kind-unpublished{--tone:var(--info);--tone-soft:var(--info-soft);--tone-text:var(--info-text)}.kind-review{--tone:var(--violet);--tone-soft:var(--violet-soft);--tone-text:var(--violet-text)}.queue-jump:not(.has-items) .queue-jump-icon{background:var(--surface-3);color:var(--text-4)}.dashboard-queues{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.queue{flex-direction:column;padding:18px 20px 8px;scroll-margin-top:20px;display:flex}.queue.is-empty{background:var(--surface-2);box-shadow:none;padding-block-end:18px}.queue h2{font-size:var(--text-lg);align-items:center;gap:10px;margin:0 0 10px;display:flex}.queue h2 .count{background:var(--tone-soft);color:var(--tone-text);margin-inline-start:auto}.queue.is-empty .queue-icon{background:var(--surface-3);color:var(--text-4)}.queue-empty{color:var(--success-text);font-size:var(--text-md);align-items:center;gap:8px;margin:0;display:flex}.queue-list{margin:0 -8px;padding:0;list-style:none}.queue-item{border-block-start:1px solid var(--divider);justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.queue-item .queue-who:before{content:"";background:var(--viz-upcoming);border-radius:50%;flex:none;width:8px;height:8px}.queue-item.severity-high .queue-who:before{background:var(--danger)}.queue-item.severity-medium .queue-who:before{background:var(--warning)}.queue-main{flex:1;min-width:0}.queue-who{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.queue-main p{font-size:var(--text-md);color:var(--text-2);overflow-wrap:anywhere;margin:3px 0}.queue-title{color:var(--text);font-weight:600}.queue-actions{flex-direction:column;flex:none;align-items:stretch;gap:4px;display:flex}.severity-badge.high{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}.severity-badge.medium{background:var(--warning-soft);color:var(--warning-text);border-color:#0000}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-block:8px 12px;display:flex}.section-heading h2{font-size:var(--text-xl);margin:0}.dashboard-clear{align-items:center;gap:6px;margin:0;display:inline-flex}.athlete-week-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.week-tile{text-align:start;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);flex-direction:column;gap:12px;padding:16px;display:flex}.week-tile:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.week-tile:hover .row-arrow{color:var(--brand-text);transform:translate(-3px)}.week-tile-head{align-items:center;gap:10px;display:flex}.week-tile-head small{align-items:center;gap:6px;display:inline-flex}.week-tile-compliance{flex-direction:column;gap:6px;display:flex}.compliance-meter{border-radius:var(--radius-pill);background:var(--surface-3);height:6px;display:block;overflow:hidden}.compliance-meter>span{border-radius:inherit;height:100%;transition:inline-size var(--dur-3) var(--ease);display:block}.compliance-text{font-size:var(--text-sm);color:var(--text-2);font-variant-numeric:tabular-nums}.threshold-updates{--tone:var(--brand);--tone-soft:var(--brand-soft);--tone-text:var(--brand-text);margin-block:0 16px}.threshold-updates>.hint{margin:0 0 6px}.threshold-update-paces{align-items:center;gap:6px;display:flex}.threshold-update-paces .num{font-size:var(--text-lg);color:var(--text-3)}.threshold-update-paces .num.strong{color:var(--text);font-weight:600}.threshold-update-paces small{color:var(--text-3)}@media (width<=1024px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.dashboard-queues{grid-template-columns:1fr}.queue-jump{grid-template-columns:auto 1fr;padding:12px}.queue-jump strong{font-size:var(--text-xl);grid-column:1/-1}.queue-item{flex-direction:column;align-items:stretch}.queue-actions{flex-flow:wrap}}.athlete-composer h1{font-size:var(--text-2xl)}.athlete-composer label{margin-block:14px 12px}.sent-state{border-radius:var(--radius-md);background:var(--success-soft);color:var(--success-text);animation:dialog-in var(--dur-3) var(--ease);flex-wrap:wrap;align-items:center;gap:14px;margin-block-start:16px;padding:16px;display:flex}.sent-state>div{flex:1;min-width:200px}.sent-state p{margin:2px 0 0}.sent-icon{background:var(--surface);width:48px;height:48px;color:var(--success);border-radius:50%;flex:none;place-items:center;display:grid}.pace-screen{flex-direction:column;gap:14px;display:flex}.pace-actions{flex-wrap:wrap;gap:8px;display:flex}.pace-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:16px;display:grid}.pace-grid>*{min-width:0}.threshold-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-block-end:8px;display:flex}.threshold-head h3,.watch-card h3{align-items:center;gap:8px;margin:0;display:flex}.threshold-head h3 svg{color:var(--brand)}.threshold-actions{flex-wrap:wrap;gap:2px;display:flex}.threshold-value{border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand-text);flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-block:8px 12px;padding:16px 18px;display:flex}.threshold-label{font-size:var(--text-sm);flex-basis:100%;font-weight:600}.threshold-number{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600;line-height:1}.threshold-number small{font-size:var(--text-md);color:var(--text-3);margin-inline-start:4px;font-weight:500}.threshold-meta{align-items:center;gap:8px;display:inline-flex}.threshold-suggestion{border-radius:var(--radius-md);background:var(--accent-soft);margin-block:10px;padding:14px 16px}@supports (color:color-mix(in lab, red, red)){.threshold-suggestion{background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface))}}.threshold-suggestion{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.threshold-suggestion{border:1px solid color-mix(in srgb, var(--accent) 60%, var(--border))}}.threshold-suggestion p{margin:4px 0}.zone-list{flex-direction:column;gap:4px;margin:12px 0;padding:0;list-style:none;display:flex}.zone-row{border-radius:var(--radius-sm);background:var(--surface-2);grid-template-columns:6px 1fr auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.zone-swatch{background:var(--zone-c,var(--zone-3));border-radius:3px;width:6px;height:22px}.zone-row.zone-1{--zone-c:var(--zone-1)}.zone-row.zone-2{--zone-c:var(--zone-2)}.zone-row.zone-3{--zone-c:var(--zone-3)}.zone-row.zone-4{--zone-c:var(--zone-4)}.zone-row.zone-5,.zone-row.zone-6,.zone-row.zone-7{--zone-c:var(--zone-5)}.zone-name{font-size:var(--text-md);font-weight:500}.zone-range{font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:600}.watch-card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-block-end:10px;display:flex}.watch-card-head>div{flex:1;min-width:0}.watch-card-head p{font-size:var(--text-sm);margin:0}.watch-icon{background:var(--info-soft);width:40px;height:40px;color:var(--info-text);border-radius:12px;flex:none;place-items:center;display:grid}.dev-tools{border-block-start:1px dashed var(--divider);margin-block-start:12px;padding-block-start:10px}.dev-tools>summary{font-size:var(--text-sm);color:var(--text-3);cursor:pointer;align-items:center;gap:6px;padding:4px 0;display:inline-flex}.dev-tools>summary:hover{color:var(--text)}.manual-activity-form .inline-fields{margin-block-end:4px}.thr-breakdown{border-block-start:1px solid var(--divider);margin-block-start:16px;padding-block-start:8px}.thr-toggle{width:100%;color:var(--brand-text);font-size:var(--text-md);justify-content:space-between;align-items:center;min-height:40px;padding:8px 0;display:flex}.thr-chevron{transition:transform var(--dur-2) var(--ease)}.thr-toggle[aria-expanded=true] .thr-chevron{transform:rotate(180deg)}.thr-chain{flex-direction:column;gap:10px;margin:10px 0;padding:0;list-style:none;display:flex}.thr-source{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px 14px}.thr-source.active{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.thr-source.active{border-color:color-mix(in srgb, var(--success) 45%, var(--border))}}.thr-source.active{background:var(--success-soft)}.thr-source.none{background:var(--surface-2)}.thr-source p{font-size:var(--text-sm);margin:6px 0}.thr-source-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.thr-source-head strong{flex:1}.thr-rank{background:var(--surface-3);width:24px;height:24px;font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:600;display:grid}.thr-source.active .thr-rank{background:var(--brand);color:var(--on-brand)}.thr-status{font-size:var(--text-xs);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;font-weight:600;display:inline-flex}.thr-status.active{background:var(--brand-soft);color:var(--brand-text)}.thr-status.available{background:var(--surface-3);color:var(--text-2)}.thr-status.none{color:var(--text-3)}.thr-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-block:8px}.thr-table th{text-align:start;color:var(--text-3);border-block-end:1px solid var(--border);padding:6px 4px;font-weight:600}.thr-table td{border-block-end:1px solid var(--divider);vertical-align:top;padding:6px 4px}.thr-table tr.used td{background:var(--success-soft)}.thr-table tr.stale td{color:var(--text-4)}.thr-methods{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-block:8px;display:grid}.thr-method{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:10px 12px}.thr-method.found{border-style:solid;border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.thr-method.found{border-color:color-mix(in srgb, var(--success) 35%, var(--border))}}.thr-method p{font-size:var(--text-xs);margin:4px 0}.thr-method-basis{color:var(--info-text);align-items:baseline;gap:4px;display:flex}.thr-alert{background:var(--warning-soft);color:var(--warning-text);border:1px solid var(--warning-border);border-radius:var(--radius-sm);font-size:var(--text-sm);padding:10px 12px}.thr-alert strong{align-items:center;gap:6px;display:flex}.thr-alert p{margin:4px 0}.thr-zones-math{font-size:var(--text-sm)}.thr-zones-math summary{cursor:pointer;color:var(--brand-text)}@media (width<=1024px){.pace-grid{grid-template-columns:1fr}}@media (width<=760px){.thr-table{display:block;overflow-x:auto}}.tab-count{font-size:var(--text-xs);color:var(--text-3);background:var(--surface-3);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;padding:0 7px;font-weight:600}.tabs button.active .tab-count{background:var(--brand-soft);color:var(--brand-text)}.template-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-block-end:14px;display:flex}.template-empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.draft-note{border-radius:var(--radius);background:var(--brand-soft);border:1px solid var(--brand);flex-direction:column;gap:4px;margin-block-end:14px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.draft-note{border:1px solid color-mix(in srgb, var(--brand) 30%, transparent)}}.draft-note p{align-items:baseline;gap:6px;margin:0;display:flex}.draft-note p svg{color:var(--brand-text);flex:none;align-self:center}.draft-note .hint{display:block}.template-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.template-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-1);transition:box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);flex-direction:column;gap:8px;padding:16px;display:flex}.template-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong)}.template-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.template-card-head strong{font-size:var(--text-base);overflow-wrap:anywhere}.template-card p{margin:0}.template-tags{flex-wrap:wrap;gap:4px;display:flex}.template-card-actions{border-block-start:1px solid var(--divider);justify-content:space-between;align-items:center;margin-block-start:auto;padding-block-start:8px;display:flex}.template-form{max-width:880px}.template-form>label,.template-form .inline-fields{margin-block-end:12px}.template-form h3+h3{margin-block-start:18px}.seq-editor{max-width:1100px}.seq-length{max-width:160px}.seq-overview{flex-direction:column;gap:4px;margin-block-end:18px;display:flex}.seq-row{border-radius:var(--radius-sm);text-align:start;width:100%;color:var(--text);border:1px solid #0000;grid-template-columns:minmax(96px,1.3fr) repeat(7,minmax(0,1fr)) 44px;align-items:stretch;gap:4px;padding:4px;display:grid}button.seq-row{transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease)}button.seq-row:hover{background:var(--surface-2)}button.seq-row:active{transform:scale(.99)}.seq-row.selected{background:var(--surface-2);border-color:var(--brand)}.seq-head{font-size:var(--text-xs);color:var(--text-3);padding-block:0}.seq-head span{text-align:center}.seq-week{align-items:center;gap:8px;min-width:0;display:flex}.seq-week strong{background:var(--surface-3);width:26px;height:26px;font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;display:grid}.seq-row.selected .seq-week strong{background:var(--brand);color:var(--on-fill)}.seq-week small{color:var(--text-2);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seq-cell{border-radius:var(--radius-sm);background:var(--k);align-items:center;min-height:34px;padding:4px 6px 4px 8px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.seq-cell{background:color-mix(in srgb, var(--k) 18%, var(--surface-2))}}.seq-cell:before{content:"";background:linear-gradient(var(--k), var(--k2));border-radius:3px;width:3px;position:absolute;inset-block:5px;inset-inline-start:3px}.seq-cell small{font-size:var(--text-xs);color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding-inline-start:4px;overflow:hidden}.seq-cell.empty{background:var(--surface-2);opacity:.5}.seq-row.selected .seq-cell.empty,button.seq-row:hover .seq-cell.empty{background:var(--surface-3)}.seq-cell.empty:before{content:none}.seq-quality{font-size:var(--text-sm);color:var(--text-2);place-items:center;display:grid}.seq-overview.compact .seq-row{grid-template-columns:22px repeat(7,minmax(0,1fr));gap:3px;padding:0}.seq-overview.compact .seq-cell{background:linear-gradient(90deg, var(--k), var(--k2));border-radius:3px;min-height:10px;padding:0}.seq-overview.compact .seq-cell:before{content:none}.seq-overview.compact .seq-cell.empty{background:var(--surface-3);opacity:.6}.seq-overview.compact .seq-week strong{width:auto;height:auto;font-size:var(--text-xs);color:var(--text-3);background:0 0}.seq-overview.compact{max-height:220px;margin:4px 0 0;overflow-y:auto}.seq-week-editor{border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--divider);margin-block-end:16px;padding:14px}.seq-week-head{justify-content:space-between;align-items:center;gap:8px;margin-block-end:10px;display:flex}.seq-week-head h3{margin:0}.seq-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.seq-day{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:4px;min-height:120px;padding:10px 10px 8px 12px;display:flex;position:relative}.seq-day.filled{border-color:var(--k)}@supports (color:color-mix(in lab, red, red)){.seq-day.filled{border-color:color-mix(in srgb, var(--k) 40%, var(--border))}}.seq-day.filled:before{content:"";background:linear-gradient(var(--k), var(--k2));border-radius:3px;width:3px;position:absolute;inset-block:10px;inset-inline-start:4px}.seq-day-name{font-size:var(--text-xs);color:var(--text-3)}.seq-day strong{font-size:var(--text-sm);overflow-wrap:anywhere;font-weight:500}.seq-day small{font-size:var(--text-xs);color:var(--text-3)}.seq-day-actions{justify-content:space-between;align-items:center;margin-block-start:auto;display:flex}.seq-day .menu{margin-block-start:auto}.seq-day-add{border:1px dashed var(--border-strong);width:100%;color:var(--text-3);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);justify-content:center;font-weight:500}.seq-day-add:hover,.seq-day-add[aria-expanded=true]{border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft)}.seq-day-add:active{transform:scale(.97)}.seq-day .menu{width:100%}.seq-day-form>label{margin-block-end:12px}@media (width<=1100px){.seq-days{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.seq-days{grid-template-columns:repeat(2,minmax(0,1fr))}.seq-row{grid-template-columns:34px repeat(7,minmax(0,1fr)) 28px}.seq-week small,.seq-cell small{display:none}}.group-chip{border-radius:var(--radius-pill);font-size:var(--text-xs);white-space:nowrap;background:var(--chip-bg);color:var(--chip-fg);--chip-bg:var(--brand-soft);--chip-fg:var(--brand-text);border:1px solid #0000;align-items:center;padding:0 8px;font-weight:600;line-height:1.7;display:inline-flex}.group-chip.tag{border-color:var(--chip-fg);background:0 0}.color-green.group-chip,.color-swatch.color-green{--chip-bg:var(--success-soft);--chip-fg:var(--success-text)}.color-yellow.group-chip,.color-swatch.color-yellow,.color-orange.group-chip{--chip-bg:var(--warning-soft);--chip-fg:var(--warning-text)}.color-red.group-chip,.color-swatch.color-red{--chip-bg:var(--danger-soft);--chip-fg:var(--danger-text)}.color-purple.group-chip,.color-swatch.color-purple{--chip-bg:var(--violet-soft);--chip-fg:var(--violet-text)}.color-grey.group-chip,.color-swatch.color-grey{--chip-bg:var(--surface-3);--chip-fg:var(--text-2)}.color-accent.group-chip{--chip-bg:var(--accent-soft);--chip-fg:var(--on-accent)}.color-swatch{--chip-bg:var(--brand-soft);--chip-fg:var(--brand-text)}.group-list{flex-direction:column;margin:0 0 14px;padding:0;list-style:none;display:flex}.group-list li{border-block-end:1px solid var(--divider);align-items:center;gap:10px;padding:8px 0;display:flex}.group-list-actions{gap:2px;margin-inline-start:auto;display:flex}.group-form{flex-direction:column;gap:12px;display:flex}.group-form .segmented-tabs{align-self:flex-start}.color-picker{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.color-picker legend{font-size:var(--text-sm);margin-block-end:6px;font-weight:600}.color-swatch{cursor:pointer;background:var(--chip-bg);border:2px solid var(--chip-fg);border-radius:50%;block-size:28px;inline-size:28px;position:relative}.color-swatch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.color-swatch:has(input:checked){box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--chip-fg)}.color-swatch:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:4px}.group-toolbar{margin-block-start:-4px}.checkbox-row{cursor:pointer;align-items:flex-start;gap:8px;font-weight:500;display:flex}.checkbox-row input{block-size:18px;inline-size:18px;accent-color:var(--brand);flex:none;margin:2px 0 0}.checkbox-row small{margin-block-start:2px;display:block}.checkbox-row.compact{font-size:var(--text-sm);align-items:center}.checkbox-row.compact input{margin:0}.select-all{color:var(--text-3);margin-block:4px 10px}.bulk-bar{z-index:5;border-radius:var(--radius-md);background:var(--hero);color:var(--on-hero);box-shadow:var(--shadow-2);flex-wrap:wrap;align-items:center;gap:10px;margin-block-end:12px;padding:10px 14px;display:flex;position:sticky;inset-block-start:calc(var(--topbar-h) + 8px)}.bulk-bar .text-button{color:var(--on-hero)}.bulk-bar .primary{background:var(--accent);color:var(--on-accent)}.bulk-bar .primary:hover:not(:disabled){background:var(--accent);filter:brightness(.95)}.athlete-row-wrap{background:var(--surface);align-items:stretch;display:flex;position:relative}.athlete-row-wrap .row-select{cursor:pointer;align-items:center;padding-inline-start:16px;display:flex}.athlete-row-wrap .row-select input{block-size:18px;inline-size:18px;accent-color:var(--brand);margin:0}.athlete-row-wrap.selected .athlete-row,.athlete-list.list .athlete-row-wrap.selected{box-shadow:inset 0 0 0 2px var(--brand)}.athlete-list.list .athlete-row-wrap.selected .athlete-row{box-shadow:none}.athlete-list.list .athlete-row-wrap{border-block-end:1px solid var(--divider)}.athlete-list.list .athlete-row-wrap:last-child{border-block-end:0}.athlete-list.list .athlete-row-wrap .athlete-row{border-block-end:0;padding-inline-start:12px}.athlete-list.grid .athlete-row-wrap{background:0 0}.athlete-list.grid .athlete-row-wrap .row-select{z-index:1;padding:4px;position:absolute;inset-block-end:14px;inset-inline-end:12px}.row-groups{flex-wrap:wrap;gap:4px;margin-block-start:4px;display:flex}.bulk-setup{flex-direction:column;gap:12px;display:flex}.bulk-kinds{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.bulk-kind{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.bulk-kind:hover{background:var(--surface-2)}.bulk-kind.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text);box-shadow:inset 0 0 0 1px var(--brand)}.bulk-counts{margin-block:0 6px}.bulk-table{border-collapse:collapse;inline-size:100%;font-size:var(--text-sm)}.bulk-table th{text-align:start;color:var(--text-3);border-block-end:1px solid var(--border);padding:6px 8px;font-weight:600}.bulk-table td{border-block-end:1px solid var(--divider);vertical-align:top;padding:8px}.bulk-table tr.bulk-skipped td:first-child,.bulk-table tr.bulk-failed td:first-child{color:var(--text-3)}.bulk-status.ready,.bulk-status.ok{background:var(--success-soft);color:var(--success-text);border-color:#0000}.bulk-status.failed{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}.bulk-status.pending{background:var(--info-soft);color:var(--info-text);border-color:#0000}.bulk-warning{color:var(--warning-text);font-size:var(--text-xs);align-items:center;gap:4px;margin-block-start:3px;display:flex}.bulk-progress,.bulk-summary{flex-direction:column;gap:8px;margin-block-end:12px;display:flex}.bulk-progress p,.bulk-summary p{align-items:center;gap:8px;margin:0;display:flex}.bulk-summary .success{color:var(--success-text);font-weight:600}.grid-week-nav{align-items:center;gap:8px;display:inline-flex}.grid-week-label{flex-direction:column;align-items:center;min-inline-size:110px;line-height:1.25;display:flex}.grid-week-label small{color:var(--text-3);font-variant-numeric:tabular-nums}.inline-field{font-size:var(--text-sm);align-items:center;gap:8px;margin:0;display:inline-flex}.inline-field select{inline-size:auto}.grid-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px 20px;margin-block-end:12px;padding:10px 14px;display:flex}.grid-summary strong{color:var(--text);font-size:var(--text-md);font-variant-numeric:tabular-nums;margin-inline-end:4px}.grid-summary-actions{flex-wrap:wrap;gap:8px;margin-inline-start:auto;display:flex}.roster-grid-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);overflow-x:auto}.roster-grid{border-collapse:separate;border-spacing:0;inline-size:100%;min-inline-size:860px;font-size:var(--text-sm)}.roster-grid th,.roster-grid td{border-block-end:1px solid var(--divider);text-align:center;vertical-align:middle;padding:8px 10px}.roster-grid thead th{z-index:1;background:var(--surface-2);color:var(--text-3);font-weight:600;position:sticky;inset-block-start:0}.roster-grid thead th span{color:var(--text-2);display:block}.roster-grid thead th small{font-variant-numeric:tabular-nums}.roster-grid .today{background:var(--brand-soft)}.roster-grid thead th.today{background:var(--brand-soft);color:var(--brand-text)}.roster-grid tbody tr:last-child th,.roster-grid tbody tr:last-child td{border-block-end:0}.roster-grid tbody tr:hover>*{background:var(--surface-2)}.roster-grid tbody tr:hover>.today{background:var(--brand-soft)}.roster-grid .wg-athlete{z-index:2;background:var(--surface);text-align:start;border-inline-end:1px solid var(--divider);min-inline-size:170px;position:sticky;inset-inline-start:0}.roster-grid thead .wg-athlete{z-index:3;background:var(--surface-2)}.wg-athlete .wg-name{min-height:0;color:var(--text);padding:0;font-weight:600}.wg-athlete small{color:var(--text-3);align-items:center;gap:5px;display:flex}.wg-athlete .status-draft_changes{--st:var(--warning)}.wg-groups{flex-wrap:wrap;gap:3px;margin-block-start:4px;display:flex}.wg-cells{flex-wrap:wrap;justify-content:center;gap:4px;display:inline-flex}.wg-dot{background:var(--viz-none);cursor:pointer;block-size:16px;inline-size:16px;min-height:0;transition:transform var(--dur-1) var(--ease);border:2px solid #0000;border-radius:50%;padding:0}.wg-dot:hover{transform:scale(1.25)}.wg-dot:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wg-dot.upcoming{border-color:var(--viz-upcoming);background:0 0}.wg-dot.draft{border:2px dashed var(--text-4);background:0 0}.wg-dot.unplanned{border-radius:3px}@media (pointer:coarse){.wg-dot{position:relative}.wg-dot:after{content:"";position:absolute;inset:-8px}.wg-cells{gap:10px}}.wg-total{min-inline-size:110px}.wg-total small{font-variant-numeric:tabular-nums;margin-block-start:4px;display:block}.roster-grid .wg-flags{text-align:start;min-inline-size:200px}.wg-flags ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.wg-flag{font-size:var(--text-xs);color:var(--text-3);align-items:center;gap:4px;line-height:1.4;display:flex}.wg-flag.high{color:var(--danger-text);font-weight:600}.wg-flag.medium{color:var(--warning-text)}@media (width<=720px){.grid-summary-actions{margin-inline-start:0}.roster-grid .wg-athlete{min-inline-size:130px}}.grid-legend{font-size:var(--text-xs);color:var(--text-3);flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;padding:0;list-style:none;display:flex}.grid-legend li{align-items:center;gap:6px;display:inline-flex}.grid-legend .wg-dot{cursor:default;block-size:12px;inline-size:12px}.grid-legend .wg-dot:hover{transform:none}.plan-week{flex-direction:column;display:flex}@media (width>=1300px){.plan-week{width:min(1480px, calc(100vw - var(--rail-w) - 64px));margin-inline:calc((100% - min(1480px, calc(100vw - var(--rail-w) - 64px))) / 2)}}.context-bar{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px;margin-block:0 18px;display:flex}.context-bar.placeholder{min-height:38px}.context-chip{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:34px;color:var(--text-2);text-align:start;font-size:var(--text-sm);box-shadow:var(--shadow-1);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);align-items:center;gap:6px;padding:5px 12px;font-weight:500;display:inline-flex}.context-chip>svg{color:var(--text-4);flex:none}.context-chip strong{color:var(--text);font-weight:600}button.context-chip:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.context-chip:disabled{cursor:default;opacity:1}.context-chip.static{box-shadow:none;background:0 0;border-style:dashed}.context-chip.warn{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-text);font-weight:600}.context-chip.warn>svg{color:currentColor}.decision-chip{max-width:min(420px,100%)}.context-chip-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.context-count{border-radius:var(--radius-pill);background:var(--surface-3);min-width:20px;height:20px;color:var(--text-2);font-size:var(--text-xs);font-variant-numeric:tabular-nums;place-items:center;padding-inline:6px;font-weight:600;display:inline-grid}.context-all{margin-inline-start:auto}.context-warn{color:var(--danger-text);align-items:center;gap:6px;display:inline-flex}.unknown{color:var(--text-4);font-style:italic}.context-item{border-block-end:1px dashed var(--divider);padding-block:8px}.context-item .row{align-items:flex-start;gap:8px}.context-item.highlight{background:var(--warning-soft);border-radius:var(--radius-sm);padding-inline:8px}.context-form{flex-direction:column;gap:8px;margin-block:6px 12px;display:flex}.context-form label{font-size:var(--text-sm);margin:0}.context-form .inline-fields{align-items:center;gap:8px;display:flex}.context-form .inline-fields select{width:auto;margin:0}.source-tag{border-radius:var(--radius-xs);background:var(--surface-3);color:var(--text-3);white-space:nowrap;flex:none;padding:1px 7px;font-size:.68rem;font-weight:600}.source-feedback{background:var(--warning-soft);color:var(--warning-text)}.source-decision{background:var(--info-soft);color:var(--info-text)}.source-constraint{background:var(--danger-soft);color:var(--danger-text)}.source-season{background:var(--violet-soft);color:var(--violet-text)}.source-threshold{background:var(--brand-soft);color:var(--brand-text)}.plan-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-block:0 14px;display:flex}.plan-header .eyebrow{margin-block-end:2px}.plan-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.plan-title-row h1{font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.week-nav{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);gap:0;display:inline-flex;overflow:hidden}.week-nav .secondary{box-shadow:none;min-height:40px;font-size:var(--text-sm);border:0;border-radius:0;padding:7px 14px}.week-nav .secondary+.secondary{border-inline-start:1px solid var(--border)}.week-nav .week-drop{outline:2px dashed var(--brand-soft-2);outline-offset:-4px}.week-nav .drop-target,.month-strip-item.drop-target{background:var(--brand-soft);outline:2px dashed var(--brand);outline-offset:-3px}.month-strip{scrollbar-width:thin;gap:6px;margin-block-end:14px;padding-block-end:2px;display:flex;overflow-x:auto}.month-strip-item{text-align:start;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);min-width:150px;color:var(--text-2);transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);flex-direction:column;flex:1 1 0;align-items:flex-start;gap:4px;padding:8px 12px 9px;display:flex;position:relative}.month-strip-item:hover{background:var(--surface);border-color:var(--border-strong)}.month-strip-item.active{background:var(--surface);border-color:var(--brand);box-shadow:inset 0 -3px 0 var(--brand), var(--shadow-1);color:var(--text)}.month-strip-item.needs-refresh{border-color:var(--danger-border)}.month-strip-top{font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;display:flex}.month-strip-top strong{font-variant-numeric:tabular-nums}.month-strip-top .muted{font-size:var(--text-xs)}.month-strip-badges{flex-wrap:wrap;gap:4px;display:flex}.month-strip-badges .badge{padding:0 7px;font-size:.68rem}.badge.block{background:var(--brand-soft);color:var(--brand-text);border-color:#0000}.training-block{margin-block:0 14px;padding:12px 16px}.training-block.in-block{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.training-block.in-block{border-color:color-mix(in srgb, var(--brand) 45%, var(--border))}}.training-block-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.training-block-icon{background:var(--brand-soft);width:34px;height:34px;color:var(--brand-text);border-radius:10px;flex:none;place-items:center;display:grid}.training-block-summary{flex:1;min-width:220px}.training-block-head .eyebrow{margin-block-end:2px}.training-block-head p{margin:0}.training-block-chevron{transition:transform var(--dur-2) var(--ease)}.training-block.open .training-block-chevron{transform:rotate(180deg)}.block-badge{font-size:var(--text-md);color:var(--text-2)}.block-badge strong{color:var(--text)}.training-block-body{margin-block-start:14px}.training-block-body h3,.training-block-body h4{margin-block:0 6px}.block-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin-block:10px}.block-table th{text-align:start;color:var(--text-3);font-weight:600;font-size:var(--text-xs);padding:6px 4px}.block-table td{border-block-start:1px solid var(--divider);vertical-align:middle;padding:4px}.block-table input{min-height:36px;margin:0;padding:6px 8px}.block-table input[type=number]{max-width:80px}.block-table tr.block-current td{background:var(--brand-soft)}@media (width<=640px){.block-table{display:block;overflow-x:auto}}.plan-notices{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.plan-notices .notice{margin:0}.notice-body{flex:1;min-width:0}.notice-body .text-button{margin-inline-start:6px}.plan-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block-end:12px;display:flex}.plan-toolbar-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plan-toolbar-status{margin:0}.menu-trigger.icon-only{justify-content:center;min-width:36px;padding:6px 8px}.menu-trigger.bordered.icon-only{min-width:40px;min-height:40px}.menu-trigger.bordered{min-height:40px;padding-inline:14px}.ai-trigger svg{color:var(--brand)}.focus-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);align-items:baseline;gap:12px;margin-block-end:12px;padding:10px 14px;display:flex}.focus-label{font-size:var(--text-xs);color:var(--brand-text);white-space:nowrap;text-transform:none;font-weight:600}.focus-text{font-size:var(--text-md);white-space:pre-line;flex:1;margin:0}.focus-edit{flex:1}.focus-edit textarea{min-height:70px;margin:0}.focus-edit .editor-actions{margin-block-start:8px}.ai-panel{background:var(--brand-soft)}@supports (color:color-mix(in lab, red, red)){.ai-panel{background:color-mix(in srgb, var(--brand-soft) 45%, var(--surface))}}.ai-panel{border:1px dashed var(--brand-soft-2);border-radius:var(--radius-md);box-shadow:none;margin-block:0 12px;padding:16px 18px}.ai-panel h3{align-items:center;gap:8px;display:flex}.ai-panel h3 svg{color:var(--brand)}.ai-panel label{margin-block-end:10px}.ai-panel .row h3,.plan-week .card>.row h3{margin:0}.editor-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.revise-history{font-size:var(--text-sm);margin:8px 0 14px;padding-inline-start:20px}.revise-history li{margin-block-end:6px}.revise-history .hint{font-size:var(--text-xs);margin:2px 0 0}.revision-preview{border:1px solid var(--warning-border);background:var(--warning-soft)}@supports (color:color-mix(in lab, red, red)){.revision-preview{background:color-mix(in srgb, var(--warning-soft) 40%, var(--surface))}}.revision-preview{margin-block:0 12px;padding:16px 18px}.revision-preview h3{align-items:center;gap:8px;margin:0;display:flex}.revision-totals{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.revision-changes{font-size:var(--text-md);margin:10px 0;padding:0;list-style:none}.revision-changes li{border-block-end:1px solid var(--divider);padding:7px 0}.revision-changes li:last-child{border:0}.revision-changes .badge{margin-inline-end:4px}.revision-changes .rev-remove s{color:var(--danger-text)}.explanation-card{border-color:var(--accent);margin-block:0 12px;padding:12px 16px}@supports (color:color-mix(in lab, red, red)){.explanation-card{border-color:color-mix(in srgb, var(--accent) 70%, var(--border))}}.explanation-head{align-items:center;gap:8px;display:flex}.explanation-toggle{text-align:start;font-size:var(--text-md);flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-height:36px;padding:4px 0;display:flex}.explanation-icon{background:var(--accent);width:28px;height:28px;color:var(--on-accent);border-radius:8px;place-items:center;display:grid}.explanation-chevron{color:var(--text-3);transition:transform var(--dur-2) var(--ease);margin-inline-start:auto}.explanation-card:not(.open) .explanation-chevron{transform:rotate(90deg)}.explanation-body{margin-block-start:8px}.explanation-facts{gap:8px;margin:8px 0;display:grid}.explanation-facts>div{font-size:var(--text-md);grid-template-columns:110px 1fr;gap:10px;display:grid}.explanation-facts dt{color:var(--text-3);font-weight:600;font-size:var(--text-sm)}.explanation-facts dd{margin:0}.ai-flags{font-size:var(--text-md);margin-block-start:8px}.ai-flags ul{margin:6px 0 0;padding-inline-start:20px}.ai-flags li{margin-block-end:4px}.ai-warnings{margin-block-start:8px}.ai-warnings .hint,.ai-edit-notes .hint{align-items:baseline;gap:6px;display:flex}@media (width<=640px){.explanation-facts>div{grid-template-columns:1fr;gap:2px}}.explanation-targets{border-radius:var(--radius-sm,8px);background:var(--surface-2);border:1px solid var(--divider);margin:4px 0 10px;padding:8px 10px}.explanation-targets-row{font-size:var(--text-sm);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.target-chip{background:var(--surface);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px}.target-source{background:var(--brand-soft);color:var(--brand-text);border-radius:999px;padding:2px 8px;font-weight:600}.target-source.tone-block{background:var(--violet-soft);color:var(--violet-text)}.target-source.tone-taper,.target-source.tone-event{background:var(--info-soft);color:var(--info-text)}.target-source.tone-cutback{background:var(--warning-soft);color:var(--warning-text)}.target-source.tone-neutral{background:var(--surface-3);color:var(--text-3)}.explanation-targets-row .text-button{margin-inline-start:auto}.explanation-reasoning{font-size:var(--text-sm);gap:3px;margin:8px 0 0;padding-inline-start:20px;display:grid}.ai-warnings>strong{font-size:var(--text-sm);margin-block-end:2px;display:block}.ai-working{font-size:var(--text-md);align-items:center;gap:10px;margin-block:0 12px;padding:10px 14px;display:flex}.ai-working .muted{font-size:var(--text-sm)}.versions-panel{margin-block:0 12px;padding:16px 18px}.versions-panel h3{align-items:center;gap:8px;display:flex}.version-list{flex-wrap:wrap;gap:8px 16px;margin:10px 0;padding:0;list-style:none;display:flex}.version-list li{font-size:var(--text-sm);align-items:center;gap:8px;display:inline-flex}.version-compare{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.version-compare select{width:auto;margin:0}.version-diff{flex-wrap:wrap;gap:6px;margin-block:12px 0;display:flex}.inline-fields{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inline-fields>label{flex:140px}.week-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-block:0 14px;display:grid}.summary-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.summary-cell span{font-size:var(--text-xs);color:var(--text-3);font-weight:600}.summary-cell strong{font-size:var(--text-md);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:5px;font-weight:600;display:flex}.summary-cell small{color:var(--warning-text);font-weight:500}.summary-cell.attention{border-color:var(--warning-border);background:var(--warning-soft)}@supports (color:color-mix(in lab, red, red)){.summary-cell.attention{background:color-mix(in srgb, var(--warning-soft) 45%, var(--surface))}}@media (width<=1024px){.week-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.week-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.day-column{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--divider);min-width:0;min-height:120px;transition:background-color var(--dur-1) var(--ease), outline-color var(--dur-1) var(--ease);flex-direction:column;gap:6px;padding:8px;display:flex}.day-column>h3{font-size:var(--text-sm);color:var(--text-2);border-block-end:1px solid var(--border);justify-content:center;align-items:center;gap:6px;margin:0 0 2px;padding-block:2px 8px;font-weight:600;display:flex}.day-column.today{background:var(--surface);border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.day-column.today>h3{color:var(--brand-text);border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.day-column.today>h3{border-color:color-mix(in srgb, var(--brand) 30%, var(--border))}}.day-column.past{background:var(--surface-sunken)}.day-column.past>h3{color:var(--text-4)}.today-badge{background:var(--accent);color:var(--on-accent);border-color:#0000;padding:0 7px;font-size:.66rem}.week-grid.is-dragging .day-column:not(.past){outline:2px dashed var(--border-strong);outline-offset:-2px}.day-column.drop-target,.week-grid.is-dragging .day-column.drop-target{background:var(--brand-soft);outline:2px dashed var(--brand);outline-offset:-2px}.rest-day{text-align:center;color:var(--text-4);font-size:var(--text-xs);margin:6px 0}.past-day-note{text-align:center;font-size:var(--text-xs);color:var(--text-4);margin:auto 0 0}.workout-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);box-shadow:var(--shadow-1);min-width:0;transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease), opacity var(--dur-1);padding:10px 10px 6px;padding-inline-start:16px;position:relative}.workout-card:before{content:"";background:linear-gradient(var(--k,var(--border-strong)), var(--k2,var(--border-strong)));border-radius:3px;width:3px;position:absolute;inset-block:10px;inset-inline-start:6px}.workout-card p{margin:4px 0}.workout-card>.row{flex-wrap:wrap;align-items:flex-start;gap:4px 6px}.workout-card>.row strong{min-width:0;font-size:var(--text-md);overflow-wrap:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:auto;line-height:1.3;display:-webkit-box;overflow:hidden}.workout-card>.row .badge{white-space:nowrap;flex:none}.workout-card[role=button]{cursor:pointer}.workout-card[draggable=true]{cursor:grab}.workout-card[role=button]:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.workout-card.dragging{opacity:.4;transform:rotate(-1deg)}.workout-card.moving{opacity:.6}.workout-card.drop-before{box-shadow:0 -3px 0 0 var(--brand), var(--shadow-1)}.sport-tag{color:var(--text-3);background:var(--surface-3);border-radius:var(--radius-xs);margin-block-start:2px;padding:0 6px;font-size:.68rem;font-weight:600;display:inline-block}.card-planned,.card-done p{font-size:var(--text-sm);color:var(--text-2);font-variant-numeric:tabular-nums;margin:4px 0;line-height:1.45}.card-planned strong{color:var(--text)}.card-done{border-block-start:1px dashed var(--border);margin-block-start:6px;padding-block-start:6px}.card-done p{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.card-gap{color:var(--warning-text)}.card-state-icon{vertical-align:-2px;place-items:center;margin-inline-end:2px;display:inline-grid}.drawer-state{align-items:center;gap:4px;display:flex}.workout-card-actions{border-block-start:1px solid var(--divider);align-items:center;gap:2px;margin-block-start:6px;padding-block-start:4px;display:flex}.workout-card-actions .text-button{white-space:nowrap;color:var(--text-3);min-height:30px;font-size:var(--text-xs);padding:3px 6px}.workout-card-actions .text-button:hover:not(:disabled){color:var(--brand-text);background:var(--brand-soft)}.workout-card-actions .menu{margin-inline-start:auto}.workout-card-actions .menu-trigger{min-height:30px;color:var(--text-3);padding:3px 6px}@media (hover:hover) and (pointer:fine){.workout-card:not(:hover):not(:focus-within) .workout-card-actions>.text-button,.workout-card:not(:hover):not(:focus-within) .workout-card-actions .menu-trigger{opacity:.55}}.unplanned-card{background:var(--surface-2);border-style:dashed}.unplanned-card select{min-height:34px;font-size:var(--text-sm);margin:0;padding:4px 8px}.workout-card.rev-update{outline:2px solid var(--warning);outline-offset:-1px}.workout-card.rev-remove{opacity:.6;outline:2px dashed var(--danger);outline-offset:-1px}.workout-card.rev-remove>.row strong{text-decoration:line-through}.rev-note{font-size:var(--text-xs);color:var(--warning-text);background:var(--warning-soft);border-radius:var(--radius-xs);padding:4px 6px}.workout-card.rev-remove .rev-note{color:var(--danger-text);background:var(--danger-soft)}.workout-card.rev-arrival{border:2px dashed var(--success);background:var(--success-soft)}.ai-edit-box{background:var(--brand-soft);border:1px dashed var(--brand-soft-2);border-radius:var(--radius-sm);margin-block-start:6px;padding:8px}.ai-edit-box label{font-size:var(--text-xs);margin:0}.ai-edit-box input{min-height:36px;font-size:var(--text-sm);margin-block-start:4px;padding:7px 10px}.ai-edit-actions{align-items:center;gap:6px;margin-block-start:6px;display:flex}.ai-edit-error{color:var(--danger-text);font-size:var(--text-xs);margin:6px 0 0}.ai-edit-notes{margin-block-start:6px}.ai-edit-notes .hint{font-size:var(--text-xs);margin:2px 0}.ai-editing-overlay{border-radius:inherit;background:var(--surface);justify-content:center;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.ai-editing-overlay{background:color-mix(in srgb, var(--surface) 85%, transparent)}}.ai-editing-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);font-size:var(--text-sm);color:var(--brand-text);text-align:center;font-weight:600}.move-to-date{border-block-end:1px solid var(--divider);align-items:flex-end;gap:6px;margin-block-end:4px;padding:4px 6px 10px;display:flex}.move-to-date label{font-size:var(--text-xs);flex:1;margin:0}.move-to-date input{min-height:36px;padding:6px 8px}.day-add{display:flex}.day-add-button{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:34px;color:var(--text-3);font-size:var(--text-sm);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);flex:1;justify-content:center;align-items:center;gap:4px;padding:5px;font-weight:500;display:inline-flex}.day-add-button:hover:not(:disabled){border-color:var(--brand);color:var(--brand-text);background:var(--brand-soft);border-style:solid}.day-add-button:active:not(:disabled){transform:scale(.97)}.day-menu-list{min-width:200px}.board-hint{text-align:center;font-size:var(--text-xs);margin-block:14px 0}.plan-start{padding-block:40px}.plan-start-ai{text-align:start;width:min(520px,100%)}.plan-start-alt{border-block-start:1px solid var(--divider);flex-wrap:wrap;justify-content:center;gap:8px;width:min(700px,100%);margin-block-start:18px;padding-block-start:18px;display:flex}.plan-start-alt .secondary{font-size:var(--text-sm);min-height:40px}.plan-start-alt select{width:auto;min-height:40px;font-size:var(--text-sm);margin:0;padding-block:6px}.actual-week-grid{margin-block-start:14px}.drawer-section{border-block-start:1px solid var(--divider);padding-block:14px}.drawer-section h4{font-size:var(--text-sm);color:var(--text-2);letter-spacing:0;margin:0 0 8px;font-weight:600}.drawer-section.focused h4{color:var(--brand-text)}.drawer-section p{margin:4px 0}.drawer-steps{font-size:var(--text-md);margin:6px 0;padding-inline-start:18px}.drawer-steps li{margin-block-end:3px}.drawer-facts{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin:6px 0;display:grid}.drawer-facts div{background:var(--surface-2);border:1px solid var(--divider);border-radius:var(--radius-sm);padding:6px 10px}.drawer-facts dt{font-size:var(--text-xs);color:var(--text-3)}.drawer-facts dd{font-weight:600;font-size:var(--text-md);font-variant-numeric:tabular-nums;margin:0}.drawer-activity{margin-block:8px}.drawer-activity.pending{border:1px dashed var(--warning-border);border-radius:var(--radius-sm);padding:8px 10px}.drawer-feedback{background:var(--surface-2);border-radius:var(--radius);margin:6px 0;padding:10px 12px}.drawer-compare{border-collapse:collapse;width:100%;font-size:var(--text-md);font-variant-numeric:tabular-nums}.drawer-compare th,.drawer-compare td{text-align:start;border-block-end:1px solid var(--divider);padding:6px}.drawer-compare thead th{font-size:var(--text-xs);color:var(--text-3);font-weight:600}.drawer-actions{flex-wrap:wrap;gap:8px;margin-block:4px 8px;display:flex}.drawer-relink{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.drawer-relink .compact-label{flex:1;margin:0}.compact-label{font-size:var(--text-sm);margin-block:6px}.compact-label select{min-height:36px;padding-block:6px}.workout-editor label{margin-block-end:14px}.steps-list{flex-direction:column;gap:8px;margin-block-end:14px;display:flex}.step-row{--step:var(--text-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px 14px 12px 12px;padding-inline-start:20px;position:relative}.step-row:before{content:"";background:var(--step);border-radius:3px;width:3px;position:absolute;inset-block:12px;inset-inline-start:8px}.step-row[data-kind=warmup]{--step:var(--viz-easy)}.step-row[data-kind=cooldown]{--step:var(--zone-2)}.step-row[data-kind=interval],.step-row[data-kind=steady],.step-row[data-kind=tempo]{--step:var(--viz-over)}.step-row[data-kind=recovery],.step-row[data-kind=rest]{--step:var(--viz-upcoming)}.step-row[data-kind=repeat]{--step:var(--brand);background:var(--surface-2)}.step-row-head{justify-content:space-between;align-items:center;gap:10px;margin-block-end:10px;display:flex}.step-row-head select{flex:1;width:auto;margin:0;font-weight:600}.step-row-actions{white-space:nowrap;gap:2px;display:flex}.step-row .steps-list{margin-block-start:10px;margin-inline-start:12px}.time-fields input{font-variant-numeric:tabular-nums}.template-day{background:var(--surface-2);margin-block-end:16px}@media (width<=760px){.plan-header{align-items:flex-start}.plan-title-row h1{font-size:var(--text-xl)}.week-nav{width:100%}.week-nav .secondary{flex:1;justify-content:center}.month-strip-item{min-width:130px}.focus-row{flex-wrap:wrap;justify-content:space-between}.focus-row .focus-text,.focus-row .focus-edit{flex-basis:100%;order:3}.context-all{margin-inline-start:0}.week-grid{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-inline:calc(-1 * var(--gutter));padding-block-end:6px;padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);grid-template-columns:none;grid-auto-columns:84%;grid-auto-flow:column;gap:10px;overflow-x:auto}.week-grid>.day-column{scroll-snap-align:start;min-height:180px}.day-column>h3{justify-content:flex-start}.workout-card-actions .text-button{min-height:36px}}.workout-card{container-type:inline-size}.workout-card-actions{min-width:0}@container (width<=190px){.workout-card-actions .action-label{display:none}.workout-card-actions .text-button{padding-inline:6px}}.season{flex-direction:column;gap:16px;display:flex}.season>.page-heading{margin-block-end:0}.gantt-card{flex-direction:column;gap:14px;display:flex}.race-countdown{border-radius:var(--radius-md);background:var(--event-race);align-items:center;gap:14px;padding:14px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.race-countdown{background:color-mix(in srgb, var(--event-race) 9%, var(--surface))}}.race-countdown{border:1px solid var(--event-race)}@supports (color:color-mix(in lab, red, red)){.race-countdown{border:1px solid color-mix(in srgb, var(--event-race) 22%, var(--border))}}.race-countdown.past{background:var(--surface-2);border-color:var(--border)}.race-countdown-icon{background:var(--event-race);width:44px;height:44px;color:var(--on-fill);border-radius:14px;flex:none;place-items:center;display:grid}.race-countdown.past .race-countdown-icon{background:var(--text-4)}.race-countdown p{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;display:flex}.race-countdown-days{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;color:var(--event-race);font-weight:600;line-height:1}.race-countdown span{font-size:var(--text-lg);font-weight:600}.race-countdown small{color:var(--text-3);font-size:var(--text-sm);flex-basis:100%}.race-days{color:var(--text);font-weight:600}.athlete-season>.race-countdown{padding:20px 22px}.season-timeline{padding-block-end:4px;overflow-x:auto}.gantt-row{align-items:center;gap:14px;min-width:640px;display:flex}.gantt-label{font-size:var(--text-sm);flex:0 0 180px;align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.gantt-track{background:var(--surface-3);border-radius:var(--radius-xs);flex:1;height:24px;position:relative}.gantt-bar{border-radius:var(--radius-xs);background:var(--border-strong);align-items:center;height:100%;padding-inline:8px;display:flex;position:absolute;top:0;overflow:hidden}.gantt-bar.draft{opacity:.6;outline:2px dashed var(--text)}@supports (color:color-mix(in lab, red, red)){.gantt-bar.draft{outline:2px dashed color-mix(in srgb, var(--text) 30%, transparent)}}.gantt-bar.draft{outline-offset:-2px}.gantt-bar span{color:var(--on-fill);font-size:var(--text-xs);white-space:nowrap;text-shadow:0 1px 2px #00000040;font-weight:600}.season-timeline-header{margin-block-end:8px}.season-timeline-months{flex:1;display:flex}.season-timeline-month{font-size:var(--text-xs);color:var(--text-3);border-inline-start:1px solid var(--border);box-sizing:border-box;white-space:nowrap;flex:none;padding-inline-start:8px;font-weight:600;overflow:hidden}.season-timeline-rows{flex-direction:column;gap:12px;display:flex}.season-timeline-gridline{border-inline-start:1px dashed var(--border);width:0;position:absolute;top:0;bottom:0}.gantt-today{border-inline-start:2px solid var(--accent);pointer-events:none;z-index:1;width:0;box-shadow:0 0 0 1px var(--brand);position:absolute;top:-7px;bottom:-7px}@supports (color:color-mix(in lab, red, red)){.gantt-today{box-shadow:0 0 0 1px color-mix(in srgb, var(--brand) 40%, transparent)}}.gantt-event-guide{opacity:.5;pointer-events:none;z-index:1;border-inline-start:1.5px dashed;width:0;position:absolute;top:-7px;bottom:-7px}.gantt-section-label{font-size:var(--text-xs);color:var(--text-3);border-block-start:1px solid var(--divider);min-width:640px;margin-block-start:4px;padding-block-start:12px;font-weight:600}.gantt-event-row .gantt-track{background:var(--surface-2);height:30px}.gantt-event-row .gantt-label{font-weight:600}.gantt-event-row .gantt-label svg{color:var(--text-3);flex:none}.gantt-event{z-index:2;width:0;height:0;position:absolute;top:50%}.gantt-event-pin{background:var(--surface);width:26px;height:26px;color:var(--event-color);border:2px solid var(--event-color);box-shadow:var(--shadow-2);top:-13px;border-radius:50%;place-items:center;display:grid;position:absolute;inset-inline-start:-13px}.gantt-event.draft .gantt-event-pin{opacity:.75;border-style:dashed}.gantt-event-text{white-space:nowrap;font-size:var(--text-xs);color:var(--event-color);background:var(--surface);border-radius:var(--radius-xs);border:1px solid var(--event-color);top:50%;align-items:center;gap:6px;padding:2px 8px;font-weight:600;display:inline-flex;position:absolute;inset-inline-start:18px;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.gantt-event-text{border:1px solid color-mix(in srgb, var(--event-color) 25%, var(--surface))}}.gantt-event-text small{color:var(--text-3);font-size:.68rem;font-weight:500}.gantt-event.flip .gantt-event-text{inset-inline:auto 18px}.gantt-event.draft .gantt-event-text{opacity:.8;border-style:dashed}.gantt-event-priority{background:var(--event-color);min-width:17px;height:17px;color:var(--on-fill);border-radius:4px;place-items:center;padding-inline:3px;font-size:.66rem;display:inline-grid}.gantt-event-span{z-index:2;position:absolute;top:5px;bottom:5px}.gantt-event-span-bar{border-radius:var(--radius-xs);border:1.5px solid var(--event-color);background:repeating-linear-gradient(135deg, var(--event-color) 0 6px, var(--event-color) 6px 12px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.gantt-event-span-bar{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--event-color) 30%, var(--surface)) 0 6px, color-mix(in srgb, var(--event-color) 14%, var(--surface)) 6px 12px)}}.gantt-event-span.draft .gantt-event-span-bar{opacity:.7;border-style:dashed}.gantt-event-span .gantt-event-text{inset-inline-start:calc(100% + 8px)}.gantt-event-span.flip .gantt-event-text{inset-inline:auto calc(100% + 8px)}.gantt-legend{font-size:var(--text-xs);color:var(--text-3);flex-wrap:wrap;gap:6px 16px;margin-block-start:14px;display:flex}.gantt-legend span{align-items:center;gap:6px;display:inline-flex}.gantt-legend i{border:2px solid var(--event-color);background:var(--surface);border-radius:50%;width:10px;height:10px;display:inline-block}.gantt-legend svg{color:var(--event-color)}.gantt-legend .legend-today i{background:var(--accent);border:0;border-radius:0;width:2px;height:12px}.badge.event-badge{color:var(--event-color);border-color:var(--event-color)}@supports (color:color-mix(in lab, red, red)){.badge.event-badge{border-color:color-mix(in srgb, var(--event-color) 25%, var(--surface))}}.badge.event-badge{background:var(--event-color)}@supports (color:color-mix(in lab, red, red)){.badge.event-badge{background:color-mix(in srgb, var(--event-color) 8%, var(--surface))}}.season-list-section{font-size:var(--text-xs);color:var(--text-3);background:var(--surface-2);border-block-end:1px solid var(--divider);margin:0;padding:12px 20px 8px;font-weight:600}.season-row{--row-color:var(--text-4);border-block-end:1px solid var(--divider);align-items:center;gap:14px;padding:14px 20px;display:flex;position:relative}.season-row:last-child{border-block-end:0}.season-row-mark{width:28px;height:28px;color:var(--row-color);background:var(--row-color);border-radius:50%;flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.season-row-mark{background:color-mix(in srgb, var(--row-color) 12%, var(--surface))}}.season-row-mark{border:2px solid var(--row-color)}.season-row.is-phase .season-row-mark{background:var(--row-color);width:14px;height:14px;margin-inline:7px}.season-row-actions{align-items:center;gap:4px;display:flex}.season-row-note{margin:0}.event-notes{color:var(--text-2);font-size:var(--text-sm);white-space:pre-line;margin-block-start:4px;display:block}.type-picker{grid-template-columns:repeat(2,1fr);gap:10px;margin-block:8px 18px;display:grid}.type-option{text-align:start;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:inherit;transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.type-option:hover{border-color:var(--event-color)}@supports (color:color-mix(in lab, red, red)){.type-option:hover{border-color:color-mix(in srgb, var(--event-color) 45%, var(--surface))}}.type-option.selected{border-color:var(--event-color);background:var(--event-color)}@supports (color:color-mix(in lab, red, red)){.type-option.selected{background:color-mix(in srgb, var(--event-color) 7%, var(--surface))}}.type-option.selected{box-shadow:0 0 0 1px var(--event-color)}.type-option-icon{width:34px;height:34px;color:var(--event-color);background:var(--event-color);border-radius:10px;flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.type-option-icon{background:color-mix(in srgb, var(--event-color) 12%, var(--surface))}}.type-option strong{font-size:var(--text-md);display:block}.type-option small{color:var(--text-3);font-weight:400;font-size:var(--text-xs);display:block}.segmented{flex-wrap:wrap;gap:8px;margin-block:7px 0;display:flex}.segmented button{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);min-width:120px;font-size:var(--text-sm);color:var(--text-2);flex:1;padding:9px 10px;font-weight:600}.segmented button.selected{border-color:var(--event-race);color:var(--event-race);background:var(--event-race)}@supports (color:color-mix(in lab, red, red)){.segmented button.selected{background:color-mix(in srgb, var(--event-race) 8%, var(--surface))}}.stage-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin-block-end:12px;padding:14px 16px}.stage-row .row{margin-block-end:10px}.stage-row .row strong{font-size:var(--text-sm);color:var(--brand-text)}.stage-row .inline-fields label{margin-block-end:0}@media (width<=640px){:is(.season-timeline,.gantt-card:not(:has(.race-countdown))){display:none}.gantt-card{box-shadow:none;background:0 0;border:0;padding:0}.type-picker{grid-template-columns:1fr}.season-list-section{padding-inline:14px}.season-row{flex-wrap:wrap;padding:12px 14px}.season-row .athlete-badges{width:100%;padding-inline-start:42px}.season-row-actions{justify-content:flex-end;width:100%}.season-list .season-row.is-phase:not(:last-of-type):after{content:"";background:var(--divider);z-index:0;width:2px;position:absolute;inset-block:50% -50%;inset-inline-start:34px}}.athlete-plan{flex-direction:column;gap:20px;display:flex}.athlete-week-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.athlete-week-header h1{font-size:var(--text-2xl);font-weight:600}.athlete-week-sub{color:var(--text-3);font-size:var(--text-md);margin:4px 0 0}.week-nav.segmented-tabs{flex-wrap:nowrap;margin:0}.athlete-plan-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.athlete-plan-main,.athlete-plan-flow,.athlete-plan-loading{flex-direction:column;gap:16px;min-width:0;display:flex}.athlete-plan-side{flex-direction:column;gap:16px;display:flex;position:sticky;inset-block-start:24px}.athlete-plan-side>.card,.athlete-plan-side .weekly-mileage{margin:0}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-block-end:6px;display:flex}.card-head h3{font-size:var(--text-base);margin:0}.card-head .muted{font-size:var(--text-sm)}.athlete-summary{flex-direction:column;gap:14px;display:flex}.athlete-summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.athlete-summary-stats>div{flex-direction:column;gap:4px;display:flex}.athlete-summary-stats>div+div{border-inline-start:1px solid var(--divider);padding-inline-start:16px}.athlete-summary-stats>div>span{font-size:var(--text-sm);color:var(--text-3)}.athlete-summary-stats strong{font-weight:600}.athlete-summary-stats strong .num,.athlete-summary-stats strong.num{font-family:var(--font-num);letter-spacing:-.02em;font-size:1.65rem;font-weight:600;line-height:1.1}.athlete-summary-stats strong small{font-family:var(--font);font-size:var(--text-sm);color:var(--text-3);font-weight:400}.week-focus{border-radius:var(--radius);background:var(--surface-2);white-space:pre-line;font-size:var(--text-md);color:var(--text-2);margin:0;padding:12px 14px}.week-focus strong{font-size:var(--text-xs);color:var(--brand-text);margin-block-end:2px;font-weight:500;display:block}.day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.day-strip-item{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);min-height:92px;color:var(--text-3);transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;display:flex}.day-strip-item:hover{border-color:var(--border-strong);background:var(--surface-2)}.day-strip-item:active{transform:scale(.97)}.day-strip-name{font-size:var(--text-xs)}.day-strip-date{width:34px;height:34px;font-size:var(--text-lg);color:var(--text);border-radius:50%;place-items:center;font-weight:600;display:grid;box-shadow:inset 0 0 0 2px #0000}.day-strip-dots{gap:4px;height:6px;display:flex}.day-strip-dots i{background:linear-gradient(135deg, var(--k), var(--k2));border-radius:50%;width:6px;height:6px}.day-strip-item.state-done .day-strip-date{box-shadow:inset 0 0 0 2px var(--viz-done)}.day-strip-item.state-partial .day-strip-date{box-shadow:inset 0 0 0 2px var(--viz-partial)}.day-strip-item.state-missed .day-strip-date{box-shadow:inset 0 0 0 2px var(--viz-missed)}.day-strip-item.today{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.day-strip-item.today{border-color:color-mix(in srgb, var(--brand) 55%, var(--border))}}.day-strip-item.today{background:var(--surface-2)}.day-strip-item.today .day-strip-name{color:var(--brand-text);font-weight:500}.day-strip-item.today .day-strip-date{background:var(--text);color:var(--text-inverse)}.day-strip-item.past:not(.today) .day-strip-date{color:var(--text-3)}.today-stack{flex-direction:column;gap:12px;scroll-margin-block-start:24px;display:flex}.today-card{isolation:isolate;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--k);flex-direction:column;gap:18px;padding:clamp(18px,2.4vw,26px);scroll-margin-block-start:24px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.today-card{border:1px solid color-mix(in srgb, var(--k) 35%, var(--border))}}.today-card{animation:today-in var(--dur-3) var(--ease) both}.today-card:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 110% at 100% 0%, var(--k), transparent 58%), radial-gradient(70% 80% at 0% 0%, var(--k2), transparent 60%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.today-card:before{background:radial-gradient(120% 110% at 100% 0%, color-mix(in srgb, var(--k) 20%, transparent), transparent 58%), radial-gradient(70% 80% at 0% 0%, color-mix(in srgb, var(--k2) 9%, transparent), transparent 60%)}}:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .today-card:before{transform:scaleX(-1)}@keyframes today-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.today-top{justify-content:space-between;align-items:center;gap:12px;min-height:30px;display:flex}.today-when{font-size:var(--text-md);color:var(--text-2);align-items:center;gap:10px;margin:0;display:flex}.today-pill{border-radius:var(--radius-pill);background:var(--text);color:var(--text-inverse);font-size:var(--text-sm);align-items:center;padding:3px 12px;font-weight:600;display:inline-flex}.today-state{border-radius:var(--radius-pill);font-size:var(--text-sm);align-items:center;gap:6px;padding:4px 12px;font-weight:500;display:inline-flex}.today-state.done{background:var(--success-soft);color:var(--success-text)}.today-state.partial{background:var(--warning-soft);color:var(--warning-text)}.today-state.missed{background:var(--danger-soft);color:var(--danger-text)}.today-body{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 32px;display:flex}.today-title{flex-direction:column;flex:260px;gap:6px;min-width:0;display:flex}.today-title h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.75rem,1.3rem + 1.4vw,2.4rem);font-weight:600;line-height:1.12}.today-title p{color:var(--text-3);font-size:var(--text-md);max-width:60ch;margin:0}.today-metrics{gap:32px;margin:0;display:flex}.today-metrics>div{flex-direction:column;gap:2px;display:flex}.today-metrics dt{font-size:var(--text-sm);color:var(--text-3)}.today-metrics dd{align-items:baseline;gap:6px;margin:0;display:flex}.today-metrics .num{letter-spacing:-.03em;font-size:clamp(2.2rem,1.8rem + 1.4vw,3rem);font-weight:600;line-height:1}.today-metrics small{font-size:var(--text-md);color:var(--text-3)}.today-steps{border-radius:var(--radius-lg);background:var(--surface-2);flex-direction:column;gap:0;margin:0;padding:10px 16px;list-style:none;display:flex}@supports (color:color-mix(in lab, red, red)){.today-steps{background:color-mix(in srgb, var(--surface-2) 80%, transparent)}}.today-steps{border:1px solid var(--border);font-size:var(--text-md);color:var(--text-2)}.today-steps li{padding-block:6px;padding-inline-start:26px;line-height:1.5;position:relative}.today-steps li:before{content:"";background:var(--surface);border:2px solid var(--k);inset-inline-start:4px;border-radius:50%;width:10px;height:10px;position:absolute;top:calc(6px + .45em)}.today-steps li:not(:last-child):after{content:"";background:var(--k);inset-inline-start:8px;border-radius:2px;width:2px;position:absolute;top:calc(18px + .45em);bottom:calc(-4px - .45em)}@supports (color:color-mix(in lab, red, red)){.today-steps li:not(:last-child):after{background:color-mix(in srgb, var(--k) 35%, var(--border))}}.today-steps li:first-child:before,.today-steps li:last-child:before{background:var(--k)}.today-text{color:var(--text-2);margin:0}.today-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.today-go{border-radius:var(--radius-md);min-height:48px;font-size:var(--text-base);padding-inline:20px}.today-unread{border-radius:var(--radius-pill);background:var(--on-brand);min-width:20px;height:20px;color:var(--brand);font-family:var(--font-num);font-size:var(--text-xs);place-items:center;padding-inline:6px;font-weight:600;display:grid}.today-comments{font-size:var(--text-sm);color:var(--text-3)}.today-rest{align-items:center;gap:16px;display:flex}.today-rest-icon{background:var(--k);border-radius:18px;flex:none;place-items:center;width:56px;height:56px;display:grid}@supports (color:color-mix(in lab, red, red)){.today-rest-icon{background:color-mix(in srgb, var(--k) 16%, transparent)}}.today-rest-icon{color:var(--k)}@supports (color:color-mix(in lab, red, red)){.today-rest-icon{color:color-mix(in srgb, var(--k) 75%, var(--text))}}.today-rest h2{font-size:var(--text-2xl);margin:0 0 2px;font-weight:600}.today-rest p{color:var(--text-3);margin:0}.today-next{border-radius:var(--radius-md);text-align:start;background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text-3);font-size:var(--text-sm);transition:border-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);align-items:center;gap:10px;padding:12px 16px;display:flex}.today-next:hover{border-color:var(--border-strong)}.today-next:active{transform:scale(.99)}.today-next i{background:linear-gradient(135deg, var(--k), var(--k2));border-radius:50%;flex:none;width:8px;height:8px}.today-next strong{color:var(--text);font-weight:500;font-size:var(--text-md)}.today-next svg{margin-inline-start:auto}@media (width<=760px){.today-card{border-radius:var(--radius-lg);gap:16px}.today-metrics{gap:24px;width:100%}.today-go{flex:1}}@media (prefers-reduced-motion:reduce){.today-card{animation:none}}.athlete-week{flex-direction:column;gap:14px;display:flex}.athlete-day{flex-direction:column;gap:8px;scroll-margin-block-start:24px;display:flex}.athlete-day>h3{font-size:var(--text-sm);color:var(--text-3);align-items:center;gap:8px;margin:6px 4px 0;font-weight:500;display:flex}.athlete-day.today>h3{color:var(--text)}.athlete-day.past>h3{color:var(--text-4)}.rest-note{border-radius:var(--radius-md);border:1px dashed var(--border);color:var(--text-4);font-size:var(--text-sm);margin:0;padding:12px 16px}.athlete-workout-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--dur-1) var(--ease);gap:14px;padding:16px 18px;display:flex}.athlete-workout-card:hover{border-color:var(--border-strong)}.athlete-workout-card.hero{background:var(--surface);border-color:var(--border)}.kind-stripe{background:linear-gradient(var(--k), var(--k2));border-radius:4px;flex:none;width:4px}.athlete-workout-main{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.athlete-workout-card p{margin:0}.athlete-workout-top{align-items:flex-start;gap:16px;display:flex}.athlete-workout-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.athlete-workout-meta{font-size:var(--text-xs);align-items:center;gap:8px;display:flex}.kind-label{color:var(--k);font-weight:500}.athlete-workout-name{font-size:var(--text-lg);font-weight:500;line-height:1.3}.athlete-workout-card.hero .athlete-workout-name{font-size:var(--text-xl)}.athlete-workout-purpose,.athlete-workout-text{font-size:var(--text-sm);color:var(--text-3)}.athlete-workout-facts{flex:none;gap:22px;margin:0;display:flex}.athlete-workout-facts>div{flex-direction:column;gap:1px;display:flex}.athlete-workout-facts dt{font-size:var(--text-xs);color:var(--text-3)}.athlete-workout-facts dd{white-space:nowrap;margin:0}.athlete-workout-facts .num{font-size:var(--text-xl);font-weight:600}.athlete-workout-facts small{color:var(--text-3)}.status-mark{border:1.5px solid var(--border-strong);color:#0000;border-radius:50%;flex:none;align-self:center;place-items:center;width:26px;height:26px;display:grid}.status-mark.done{background:var(--viz-done);border-color:var(--viz-done);color:var(--text-inverse)}.status-mark.done.partial{background:var(--viz-partial);border-color:var(--viz-partial)}.status-mark.missed{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-text)}.workout-steps{font-size:var(--text-md);border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding:12px 14px;line-height:1.5;list-style:none;display:flex}.workout-steps li{padding-inline-start:16px;position:relative}.workout-steps li:before{content:"";background:var(--k,var(--brand));inset-inline-start:1px;border-radius:50%;width:6px;height:6px;position:absolute;top:.6em}.coach-note{border-radius:var(--radius);background:var(--info-soft);color:var(--info-text);font-size:var(--text-sm);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.coach-note svg{flex:none;margin-block-start:2px}.athlete-week-empty{padding-block:40px}.week-progress{flex-direction:column;display:flex}.week-ring{width:148px;height:148px;margin:8px auto 14px;position:relative}.week-ring svg{width:100%;height:100%}.week-ring-value{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.week-ring-value strong{letter-spacing:-.02em;font-size:2rem;font-weight:600;line-height:1}.week-ring-value span{font-size:var(--text-xs);color:var(--text-3);margin-block-start:4px}.week-progress-rows{flex-direction:column;margin:0;display:flex}.week-progress-rows>div{border-block-start:1px solid var(--divider);font-size:var(--text-md);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.week-progress-rows dt{color:var(--text-3)}.week-progress-rows dd{margin:0;font-weight:500}.week-progress-rows dd.danger{color:var(--danger-text)}@media (width<=1100px){.athlete-plan-grid{grid-template-columns:minmax(0,1fr)}.athlete-plan-side{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid;position:static}}@media (width<=760px){.athlete-plan{gap:16px}.athlete-week-header .week-nav{width:100%}.athlete-week-header .week-nav button{flex:1;justify-content:center}.athlete-plan-side{display:flex}.athlete-summary-stats strong .num,.athlete-summary-stats strong.num{font-size:1.3rem}.athlete-summary-stats>div+div{padding-inline-start:10px}.day-strip{gap:4px}.day-strip-item{border-radius:var(--radius);min-height:76px;padding:8px 2px}.day-strip-date{width:30px;height:30px;font-size:var(--text-md)}.athlete-workout-card{gap:12px;padding:14px}.athlete-workout-top{flex-wrap:wrap;gap:10px}.athlete-workout-title{flex-basis:calc(100% - 40px)}.athlete-workout-top .status-mark{order:-1;margin-inline-start:auto}.athlete-workout-facts{flex-basis:100%;gap:18px}}.ai-consent{margin-block-end:20px}.ai-consent.off{border-color:var(--warning-border)}.ai-consent h2{font-size:var(--text-lg);align-items:center;gap:8px;margin:0;display:flex}.ai-consent h2 svg{color:var(--brand)}.ai-consent details{margin-block:8px}.ai-consent summary{cursor:pointer;color:var(--brand-text);font-size:var(--text-sm)}.consent-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-block:12px;padding:14px}.consent-box p{font-size:var(--text-sm);white-space:pre-line;margin-block-start:0}.consent-text{font-size:var(--text-sm);color:var(--text-3);white-space:pre-line}.consent-notice{background:var(--warning-soft);color:var(--warning-text);border:1px solid var(--warning-border);border-radius:var(--radius);font-size:var(--text-md);flex-wrap:wrap;align-items:center;gap:10px;margin-block:0 16px;padding:8px 14px;display:flex}.consent-notice .text-button{padding:2px 8px}@media (width<=760px){.athlete-week-header .week-nav{width:100%}.athlete-stats{grid-template-columns:repeat(3,1fr);gap:8px}.athlete-stats>div{padding:10px 12px}.athlete-stats strong{font-size:var(--text-lg)}.day-strip{inset-block-start:8px}.athlete-day{scroll-margin-block-start:90px}}.watch-settings{flex-direction:column;gap:14px;display:flex}.watch-settings h2{font-size:var(--text-lg);margin:0 0 4px}.watch-settings .card>.row h3{margin:0}.watch-status{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.watch-status.status-connected{background:var(--success-soft);color:var(--success-text);border-color:#0000}.watch-status.status-error{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-text)}.watch-status-text{flex-direction:column;flex:1;min-width:180px;display:flex}.athlete-home{flex-direction:column;display:flex}.athlete-home>*{width:100%;max-width:880px;margin-inline:auto}.athlete-home>.athlete-plan{max-width:none}.provider-list{flex-direction:column;gap:12px;display:flex}.provider-card{border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.provider-card .hint{margin:0}.provider-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.provider-caps{flex-wrap:wrap;gap:6px;display:inline-flex}.provider-card>button{align-self:flex-start}.source-choice{margin-block-start:16px}.source-choice h3{font-size:var(--text-base);margin:0 0 8px}.source-choice .segmented-tabs{margin-block-end:6px}.watch-card>.info-note{margin-block-start:14px}.athlete-profile .narrow{max-width:none;margin-block-start:0}.weekly-mileage{margin-block-start:8px}.weekly-mileage h3{margin-block-end:10px}.chart-legend{font-size:var(--text-sm);color:var(--text-3);flex-wrap:wrap;gap:6px 16px;margin-block-start:8px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.activity-detail{margin-block-start:6px}.activity-detail-body{border-block-start:1px solid var(--divider);margin-block-start:10px;padding-block-start:10px}.zone-breakdown{margin-block:10px}.zone-bar{border-radius:var(--radius-pill);background:var(--surface-3);height:12px;display:flex;overflow:hidden}.zone-bar div{height:100%}.zone-legend{font-size:var(--text-xs);color:var(--text-3);flex-wrap:wrap;gap:12px;margin-block-start:8px;display:flex}.zone-legend i{vertical-align:middle;border-radius:2px;width:9px;height:9px;margin-inline-end:5px;display:inline-block}.activity-charts{overscroll-behavior-x:contain;margin-block-start:10px;overflow-x:auto}.activity-charts-grid{--axis-w:52px;--value-w:64px;--chart-h:64px;grid-template-columns:var(--axis-w) 1fr var(--value-w);min-width:calc(var(--axis-w) + var(--value-w) + var(--km-count) * var(--km-min));font-variant-numeric:tabular-nums;row-gap:4px;display:grid;position:relative}.chart-y-axis{z-index:2;background:var(--surface);color:var(--text-3);flex-direction:column;justify-content:space-between;align-items:flex-end;padding-inline-end:6px;font-size:.7rem;line-height:1.2;display:flex;position:sticky;left:0}.chart-label{font-size:var(--text-xs);font-weight:600}.chart-value{font-size:var(--text-sm);color:var(--text-2);align-self:center;padding-inline-start:8px}.activity-chart{cursor:crosshair;background:var(--viz-bg);border-radius:var(--radius-xs);touch-action:pan-y;width:100%;height:100%;display:block}.activity-chart:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.lap-header{border-block-end:1px solid var(--border);padding-block-end:4px;display:grid}.lap-col{color:var(--text-2);white-space:nowrap;flex-direction:column;align-items:center;font-size:.72rem;line-height:1.35;display:flex;overflow:hidden}.lap-col span:first-child{color:var(--text);font-weight:600}.lap-header-labels,.x-axis-labels{justify-content:flex-start;gap:0;font-size:.72rem;line-height:1.35}.x-axis-labels{padding-block-start:1px}.chart-x-axis{border-block-start:1px solid var(--viz-axis);color:var(--text-3);font-size:.7rem;position:relative}.x-axis-row{height:1.35em;line-height:1.35;position:relative}.x-axis-row span{white-space:nowrap;position:absolute;transform:translate(-50%)}.chart-gridlines{pointer-events:none;z-index:1;grid-area:1/2/-1;position:absolute;inset:0}.chart-gridlines i{border-left:1px solid var(--viz-grid);width:0;position:absolute;top:0;bottom:0}.chart-gridlines i.chart-crosshair{border-left-color:var(--text-3)}.chart-time{text-align:end;margin-block-start:2px}.laps{margin-block-start:14px}.laps h3{margin-block-end:6px}.laps .table-scroll{overscroll-behavior-x:contain}.laps-table th,.laps-table td{padding:6px 8px}.laps-table tbody th{background:var(--surface);font-weight:600;position:sticky;inset-inline-start:0}.laps-table tbody tr:hover td,.laps-table tbody tr:hover th{background:var(--surface-2)}.laps-table tr.lap-rest td,.laps-table tr.lap-rest th{color:var(--text-3)}.compliance-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.compliance-tag{font-size:var(--text-sm);border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:6px;margin-block:0;padding:8px 12px;display:flex}.compliance-tag-status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.activity-chip{text-align:start;width:100%;font:inherit;font-size:var(--text-sm);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere;min-width:0;transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);flex-direction:column;gap:2px;margin:0;padding:9px 12px;display:flex}.activity-chip.unplanned{background:var(--surface-3);border-style:dashed;border-color:var(--border-strong)}.activity-chip.suggested{background:var(--warning-soft);border-style:dashed;border-color:var(--warning-border)}.activity-chip-title{min-width:0;color:var(--text);flex-wrap:wrap;align-items:center;gap:5px;display:flex}.activity-chip-params{color:var(--text-2);white-space:normal;font-variant-numeric:tabular-nums;direction:rtl;line-height:1.45}.activity-chip-open{font-size:var(--text-xs);color:var(--brand-text);align-self:flex-end;align-items:center;gap:2px;font-weight:600;display:inline-flex}.activity-chip.clickable{cursor:pointer}.activity-chip.clickable:hover,.activity-chip.clickable:focus-visible{border-color:var(--brand);box-shadow:var(--shadow-2)}.activity-session-group{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);min-width:0;max-width:100%;margin-block:0;overflow:clip;container-type:inline-size}.activity-session-group>summary{overflow-wrap:break-word;cursor:pointer;min-width:0;color:var(--text);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;padding:12px 16px;list-style:none;display:flex}.activity-session-group>summary::-webkit-details-marker{display:none}.activity-session-heading{flex-direction:column;flex:130px;gap:2px;min-width:0;display:flex}.activity-session-heading strong{font-size:var(--text-md);overflow-wrap:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.activity-session-heading>span{color:var(--text-3);font-size:var(--text-xs)}.activity-session-total{min-width:0;color:var(--text-2);white-space:normal;text-align:end;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;flex:0 auto;justify-content:flex-end;align-items:center;gap:6px;margin-inline-start:auto;line-height:1.35;display:inline-flex}.activity-session-total>span{overflow-wrap:anywhere;min-width:0;max-width:100%}.activity-session-total svg{transition:transform var(--dur-2) var(--ease);flex:none}.activity-session-group[open] .activity-session-total svg{transform:rotate(180deg)}.activity-session-parts{border-block-start:1px solid var(--divider);gap:7px;min-width:0;padding:0 10px 10px;display:grid}.activity-session-part{padding-block-start:8px}.activity-session-part+.activity-session-part{border-block-start:1px dashed var(--border)}.activity-session-part>.activity-chip,.activity-session-part>.workout-card{box-shadow:none;margin:0}@container (width<=250px){.activity-session-group>summary{flex-direction:column;align-items:stretch}.activity-session-heading{flex-basis:auto}.activity-session-total{text-align:start;justify-content:space-between;width:100%;margin-inline-start:0}}.compliance-pill{border-radius:var(--radius-pill);font-size:var(--text-sm);background:var(--surface-2);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:3px 11px;display:inline-flex;border:1px solid var(--border)!important}.compliance-week{padding:18px 20px}.compliance-week h3{margin:0}.compliance-week .row{flex-wrap:wrap;gap:12px}.compliance-track{border-radius:var(--radius-pill);background:var(--surface-3);height:8px;margin-block:14px 4px;overflow:hidden}.compliance-track>div{border-radius:inherit;height:100%;transition:width var(--dur-3) var(--ease)}@keyframes activity-flash{0%{background:var(--brand-soft)}to{background:0 0}}@media (width<=760px){.activity-detail-body{overflow-x:auto}}.progress-screen{flex-direction:column;gap:16px;max-width:980px;margin-inline:auto;display:flex}.progress-screen .page-heading{margin-block-end:0}.progress-screen svg[role=img]{direction:ltr}.progress-screen h2{font-size:var(--text-xl);align-items:center;gap:8px;margin:0;display:flex}.progress-screen h3{font-size:var(--text-md);margin-block:16px 8px}.progress-screen .section-head{justify-content:space-between;align-items:center;gap:12px;margin-block-end:6px;display:flex}.progress-stats{margin-block-end:0}.progress-stats strong small{font-size:var(--text-md);color:var(--text-3);font-weight:500}.progress-stats small.muted{font-size:var(--text-xs)}.pr-banner{border-radius:var(--radius-md);background:var(--hero);color:var(--on-hero);box-shadow:var(--shadow-2);align-items:center;gap:14px;padding:14px 18px;display:flex}.pr-banner svg{color:var(--accent);flex:none}.pr-banner strong{font-size:var(--text-lg);color:var(--accent)}.pr-banner p{color:var(--on-hero-2);font-variant-numeric:tabular-nums;margin:2px 0 0}.goal-card-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.goal-card-head h2{font-size:var(--text-lg)}.goal-facts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:14px 0 0;display:grid}.goal-facts div{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.goal-facts dt{font-size:var(--text-xs);color:var(--text-3)}.goal-facts dd{font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:600}.goal-facts dd.goal-met{color:var(--success-text)}.records-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-block-start:12px;display:grid}.record-card{text-align:start;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex;position:relative}.record-card:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface)}.record-card.is-open{border-color:var(--brand);background:var(--brand-soft)}.record-card:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.record-card.is-empty{cursor:default;background:0 0;border-style:dashed}.record-distance{font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:6px;font-weight:600;display:inline-flex}.record-time{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.15}.record-meta{font-size:var(--text-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.record-chevron{color:var(--text-4);transition:transform .15s;position:absolute;inset-block-start:12px;inset-inline-end:10px}.record-card.is-open .record-chevron{transform:rotate(180deg)}.record-detail{border-block-start:1px solid var(--divider);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 24px;margin-block-start:8px;padding-block-start:4px;display:grid}.record-top{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.record-top li{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.record-top strong{font-size:var(--text-lg)}.medal{flex:none}.medal-1{color:var(--warning)}.medal-2{color:var(--text-4)}.medal-3{color:var(--viz-altitude)}.chart-readout{font-size:var(--text-sm);color:var(--text-2);font-variant-numeric:tabular-nums;min-height:1.5em;margin:6px 0 4px}.monthly-chart g{cursor:default;outline:none}.highlights{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-block:14px;display:grid}.highlights div{border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.highlights span{font-size:var(--text-xs);color:var(--text-3)}.highlights strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:var(--text-sm)}.data-table th,.data-table td{text-align:start;border-block-end:1px solid var(--divider);white-space:nowrap;padding:8px 10px}.data-table thead th{font-size:var(--text-xs);color:var(--text-3);font-weight:600}.data-table thead th svg{vertical-align:-2px}.streak-row{flex-wrap:wrap;gap:12px;margin-block:10px;display:flex}.streak-hero{border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text);align-items:center;gap:12px;padding:12px 18px;display:flex}.streak-hero svg{color:var(--viz-over)}.streak-hero strong{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;line-height:1;display:block}.streak-hero span{font-size:var(--text-sm);color:var(--text-2)}.streak-hero.is-secondary{background:var(--surface-2)}.streak-hero.is-secondary svg{color:var(--warning)}.streak-hero.is-secondary strong{font-size:var(--text-2xl)}.activity-calendar{margin-block-start:12px}.calendar-scroll{padding-block-end:4px;display:flex;overflow-x:auto}.calendar-grid{direction:ltr;gap:3px;width:max-content;display:flex}.calendar-col,.calendar-daynames{flex-direction:column;gap:3px;display:flex}.calendar-daynames span{width:16px;height:13px;color:var(--text-4);font-size:9px;line-height:13px}.heat{background:var(--viz-none);border-radius:3px;width:13px;height:13px;display:inline-block}.heat-1{background:var(--viz-heat-1)}.heat-2{background:var(--viz-heat-2)}.heat-3{background:var(--viz-heat-3)}.heat-4{background:var(--viz-heat-4)}.heat-ahead{background:0 0}.heat-other{background:var(--viz-none);box-shadow:inset 0 0 0 2px var(--viz-quality)}.week-mark{background:0 0;border-radius:2px;width:13px;height:4px;margin-block-start:2px;display:block}.week-mark.is-met{background:var(--viz-over)}.activity-calendar .chart-legend i.week-mark{width:13px;height:4px;margin:0}.threshold-hero{flex-wrap:wrap;align-items:center;gap:12px;margin-block:10px 4px;display:flex}.threshold-hero>div{flex-direction:column;display:flex}.threshold-hero strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.zones-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 28px;display:grid}.zone-bars{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.zone-bars li{font-size:var(--text-sm);grid-template-columns:minmax(90px,auto) 1fr auto;align-items:center;gap:10px;display:grid}.zone-bars-label{flex-direction:column;line-height:1.25;display:flex}.zone-bars-label small{font-size:var(--text-xs);font-variant-numeric:tabular-nums}.zone-bars-track{border-radius:var(--radius-pill);background:var(--surface-3);height:10px;overflow:hidden}.zone-bars-track span{border-radius:var(--radius-pill);min-width:2px;height:100%;display:block}.zone-bars-value{font-size:var(--text-xs);color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=560px){.records-grid{grid-template-columns:repeat(2,1fr)}.zone-bars li{grid-template-columns:80px 1fr}.zone-bars-value{grid-column:2}}.unread-dot{background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none;display:inline-block}.unread-count{border-radius:var(--radius-pill);background:var(--danger);min-width:20px;height:20px;color:var(--text-inverse);font-size:var(--text-xs);place-items:center;margin-inline-start:6px;padding-inline:6px;font-weight:600;line-height:1;display:inline-grid}.badge.new-badge{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger-border)}.rating-chips{flex-wrap:wrap;gap:6px;margin-block:4px;display:inline-flex}.rating-chip{border-radius:var(--radius-pill);font-size:var(--text-xs);background:var(--surface-3);color:var(--text-2);align-items:center;padding:2px 9px;font-weight:600;display:inline-flex}.rating-chip.high{background:var(--warning-soft);color:var(--warning-text)}.rating-chip.low{background:var(--danger-soft);color:var(--danger-text)}.workout-thread{flex-direction:column;gap:12px;display:flex}.thread-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thread-entry{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--divider);max-width:92%;padding:8px 12px}.thread-entry.mine{background:var(--brand-soft);border-color:var(--brand-soft-2);align-self:flex-start}.thread-entry.theirs{align-self:flex-end}.thread-meta{font-size:var(--text-sm);align-items:baseline;gap:8px;display:flex}.thread-meta time{color:var(--text-3);font-size:var(--text-xs)}.thread-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.thread-entry .hint{margin:4px 0 0}.thread-composer{flex-direction:column;gap:8px;display:flex}.thread-composer textarea{resize:vertical;min-height:64px}.thread-composer>button{align-self:flex-start}.rating-row{flex-direction:column;gap:10px;display:flex}.rating-scale{border:0;min-width:0;margin:0;padding:0}.rating-scale legend{font-size:var(--text-sm);margin-block-end:6px;padding:0;font-weight:600}.rating-options{flex-wrap:wrap;gap:6px;display:flex}.rating-options button{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-width:36px;height:36px;color:var(--text);padding:0 6px;font-weight:600}.rating-options button:hover:not(:disabled){border-color:var(--border-strong)}.rating-options button.selected{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.card-comments{font-size:var(--text-xs);color:var(--text-3);align-items:center;gap:5px;margin:6px 0 0;display:flex}.card-comments.has-unread{color:var(--text);font-weight:600}.card-rating{border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2);font-size:var(--text-xs);margin-inline-start:auto;padding:1px 7px;font-weight:600}.focus-row .week-thread-link{white-space:nowrap;margin-inline-start:auto}.thread-group{margin-block-end:12px;padding:14px 16px}.thread-group.has-unread{border-color:var(--danger-border)}.thread-group-head{flex-wrap:wrap;align-items:center;gap:8px;margin-block-end:10px;display:flex}.thread-group-head h3{font-size:var(--text-md);margin:0}.thread-group-head .unread-count{margin-inline-start:0}.thread-group .feedback-timeline{gap:10px}.athlete-workout-thread{border-radius:var(--radius);background:var(--surface-2);width:100%;color:var(--text-2);font-size:var(--text-sm);text-align:start;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border:1px solid #0000;align-items:center;gap:7px;margin-block-start:0;padding:10px 12px;display:flex}.athlete-workout-thread:hover{border-color:var(--border-strong);color:var(--text)}.athlete-workout-thread.ask{background:var(--brand-soft);border-color:var(--brand-soft-2);color:var(--brand-text);font-weight:600}.athlete-workout-thread.has-unread{color:var(--text);font-weight:600}.athlete-workout-thread .card-rating{margin-inline-start:auto}.athlete-workout-thread-go{flex:none;margin-inline-start:auto}.athlete-workout-thread .card-rating+.athlete-workout-thread-go{margin-inline-start:0}.week-thread{margin-block:0;padding:0;overflow:hidden}.week-thread-toggle{width:100%;color:var(--text);text-align:start;font-size:var(--text-sm);background:0 0;border:0;align-items:center;gap:12px;padding:16px 20px;display:flex}.week-thread-toggle>span:first-of-type{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.week-thread-toggle strong{font-weight:500;font-size:var(--text-md)}.week-thread-chevron{transition:transform var(--dur-2) var(--ease);flex:none}.week-thread.open .week-thread-chevron{transform:rotate(180deg)}.week-thread .workout-thread{padding:0 16px 16px}@media (prefers-reduced-motion:reduce){.week-thread-chevron{transition:none}}.athlete-updates{flex-direction:column;gap:12px;display:flex}.athlete-updates-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.athlete-updates-head h2{font-size:var(--text-lg);margin:0}.athlete-updates-actions{flex-wrap:wrap;gap:8px;display:flex}.athlete-constraints{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.athlete-constraints li{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--divider);font-size:var(--text-sm);align-items:center;gap:8px;padding:8px 12px;display:flex}.athlete-constraints li>span{overflow-wrap:break-word;flex:1;min-width:0}.athlete-constraint-form{flex-direction:column;gap:14px;display:flex}.can-run-options legend{width:100%;font-size:var(--text-sm);margin-block-end:6px;padding:0;font-weight:600}.can-run-options{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.can-run-option{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);align-items:flex-start;gap:10px;margin:0;padding:10px 12px;display:flex}.can-run-option.selected{border-color:var(--brand);background:var(--brand-soft)}.can-run-option input{margin-block-start:3px}.can-run-option span{flex-direction:column;gap:2px;min-width:0;display:flex}.can-run-option small{color:var(--text-3);font-size:var(--text-xs)}.badge.from-athlete{background:var(--info-soft);color:var(--info-text);border-color:#0000;margin-inline-start:6px}.constraint-card.has-news{box-shadow:0 0 0 2px var(--info-soft)}.schedule-requests{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.schedule-requests h3{font-size:var(--text-md);align-items:center;gap:8px;margin:0;display:flex}.schedule-requests ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.schedule-request{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--divider);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.schedule-request.status-pending{border-color:var(--warning-border)}.schedule-request.status-declined{opacity:.85}.schedule-request-text{overflow-wrap:break-word;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.schedule-request-actions{gap:4px;display:flex}.badge.schedule-status.pending{background:var(--warning-soft);color:var(--warning-text);border-color:#0000}.badge.schedule-status.declined{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}.schedule-change-form{flex-direction:column;gap:12px;display:flex}.athlete-access-card{flex-direction:column;gap:12px;margin-block-start:16px;display:flex}.athlete-access-card h2{margin:0}.prompt-studio{flex-direction:column;gap:18px;display:flex}.prompt-studio textarea{min-height:110px;font-family:var(--font-mono);font-size:var(--text-sm);direction:rtl}.prompt-studio .studio-json{text-align:left;direction:ltr;min-height:220px}.prompt-studio .variables{font-size:var(--text-xs);color:var(--text-3);background:var(--surface-3);border-radius:var(--radius-sm);padding:10px 14px}.studio-toast{z-index:50;max-width:420px;box-shadow:var(--shadow-3);position:fixed;inset-block-start:20px;inset-inline-end:20px}.run-banner{border-radius:var(--radius);font-size:var(--text-sm);align-items:flex-start;gap:10px;margin:0;padding:12px 16px;display:flex}.run-banner>svg{flex:none;margin-block-start:2px}.run-banner.real{background:var(--info-soft);color:var(--info-text)}.run-banner.warn{background:var(--warning-soft);border:1px solid var(--warning-border);color:var(--warning-text)}.run-banner.local{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger-text)}.run-banner.local p{font-size:var(--text-sm);margin:4px 0 0}.studio-layout{align-items:flex-start;gap:16px;display:flex}.studio-graph-wrap{resize:horizontal;flex-direction:column;flex:none;gap:8px;width:58%;min-width:320px;max-width:75%;padding-inline-end:4px;display:flex;overflow:hidden}.studio-graph-legend{margin:0}.studio-graph-legend svg{vertical-align:-2px}.studio-graph{height:460px;padding:0;overflow:hidden}.studio-panel{flex:1;min-width:0;max-height:700px;overflow-y:auto}.studio-panel h2{margin-block-end:10px}.studio-node-settings{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.studio-graph .react-flow{--xy-background-color:var(--viz-bg);--xy-background-pattern-color:var(--border-strong);--xy-edge-stroke:var(--text-4);--xy-edge-stroke-selected:var(--brand);--xy-edge-label-background-color:var(--surface);--xy-edge-label-color:var(--text-2);--xy-controls-button-background-color:var(--surface);--xy-controls-button-background-color-hover:var(--surface-3);--xy-controls-button-color:var(--text-2);--xy-controls-button-border-color:var(--border);--xy-node-background-color:transparent;--xy-node-border:none;background:var(--viz-bg)}.studio-graph .react-flow__edge-path{transition:stroke-width var(--dur-1)}.studio-graph .react-flow__edge:hover .react-flow__edge-path{stroke-width:3px;stroke:var(--brand)}.studio-graph .react-flow__controls{box-shadow:var(--shadow-2);border-radius:var(--radius-sm);overflow:hidden}.studio-node{background:var(--surface);color:var(--text);border:2px solid var(--border);border-radius:var(--radius);text-align:center;min-width:150px;font-size:var(--text-sm);box-shadow:var(--shadow-1);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);flex-direction:column;gap:6px;padding:10px 16px;display:flex;position:relative}.studio-node:hover{border-color:var(--border-strong)}.studio-node.active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.studio-node.active{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent)}}.studio-node.disabled{opacity:.55;border-style:dashed}.studio-node-flag{border-radius:var(--radius-pill);align-self:center;padding:2px 9px;font-size:.68rem;font-weight:600}.studio-node-flag.on{background:var(--success-soft);color:var(--success-text)}.studio-node-flag.off{background:var(--warning-soft);color:var(--warning-text)}.studio-node-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 1px var(--on-accent);border-radius:50%;position:absolute;inset-block-start:8px;inset-inline-end:8px}@supports (color:color-mix(in lab, red, red)){.studio-node-dot{box-shadow:0 0 0 1px color-mix(in srgb, var(--on-accent) 30%, transparent)}}.studio-node-error{color:var(--danger-text);position:absolute;inset-block-start:6px;inset-inline-start:8px}.studio-node-tag{color:var(--text-2);background:var(--surface-3);border-radius:var(--radius-xs);white-space:nowrap;align-self:center;padding:1px 6px;font-size:.64rem}.studio-lane{font-size:var(--text-xs);color:var(--brand-text);white-space:nowrap;pointer-events:none;direction:rtl;font-weight:600}.mention-textarea{position:relative}.mention-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-height:260px;box-shadow:var(--shadow-3);inset-inline-start:0;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);overflow-y:auto}.mention-menu li button{border-radius:var(--radius-sm);text-align:start;width:100%;font-size:var(--text-sm);align-items:center;gap:10px;padding:9px 10px;display:flex}.mention-menu li button:hover{background:var(--surface-3)}.mention-icon{background:var(--brand-soft);width:26px;height:26px;color:var(--brand-text);border-radius:8px;flex:none;place-items:center;display:grid}.mention-label{flex:1}.mention-path{color:var(--text-3);font-size:var(--text-xs);font-family:var(--font-mono)}.ab-panel{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);margin-block-start:14px;padding:16px}.ab-panel label{margin-block-end:8px}.assistant-suggestion{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.assistant-suggestion{border:1px solid color-mix(in srgb, var(--accent) 60%, var(--border))}}.assistant-suggestion{background:var(--accent-soft);border-radius:var(--radius);margin-block-start:14px;padding:14px}.assistant-suggestion p{white-space:pre-wrap;font-size:var(--text-sm)}.ab-results{grid-template-columns:1fr 1fr;gap:14px;margin-block-start:14px;display:grid}.ab-card{flex-direction:column;gap:6px;display:flex}.ab-card p{font-size:var(--text-sm);margin:0}.ab-card details{margin-block:6px}.ab-card summary,.profile-results summary{cursor:pointer;color:var(--brand-text);font-size:var(--text-sm)}.profile-results{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-block-start:16px;display:grid}.studio-trace{border-block-start:1px solid var(--divider);margin-block-start:16px;padding-block-start:14px}.studio-trace pre,.run-json pre{white-space:pre-wrap;word-break:break-word;font-size:var(--text-xs);font-family:var(--font-mono);background:var(--surface-sunken);border:1px solid var(--divider);border-radius:var(--radius-sm);text-align:left;direction:ltr;padding:10px;overflow:auto}.studio-trace pre{max-height:220px}.studio-trace summary{cursor:pointer}.node-io .error{margin-block-start:0}.single-node-test .studio-json{min-height:160px}.single-node-test>.primary{margin-block-start:14px}.radio-row{flex-wrap:wrap;gap:8px;margin-block:8px 14px;display:flex}.radio-option{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;align-items:center;gap:8px;min-height:40px;margin:0;padding:8px 14px;font-weight:600;display:inline-flex}.radio-option input{width:16px;height:16px;accent-color:var(--brand);margin:0}.radio-option:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.radio-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.run-context-preview{border:1px solid var(--border);border-radius:var(--radius-sm);margin-block-end:14px;padding:6px 14px}.studio-savebar{z-index:6;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);flex-wrap:wrap;padding:10px 12px 10px 16px;position:sticky;inset-block-end:12px}.studio-savebar.dirty{box-shadow:var(--shadow-3);border-color:var(--warning-border)}.studio-savebar .form-savebar-note.muted{color:var(--text-3);font-weight:500}.savebar-note{font-size:var(--text-sm);white-space:nowrap;flex:260px;align-items:center;gap:10px;margin:0;display:flex}.savebar-note input{min-height:38px;margin:0}.savebar-hint{text-align:end;font-size:var(--text-xs);margin:-10px 0 0}.studio-version-list{flex-wrap:wrap;gap:8px;margin-block:10px 4px;display:flex}.version-item{align-items:center;gap:2px;display:inline-flex}.version-badges{flex-wrap:wrap;gap:8px;display:flex}.run-list{flex-direction:column;gap:8px;margin-block:14px;display:flex}.run-row{border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);background:var(--surface);padding:12px 16px}.run-row p{margin:4px 0 0}.run-row-button{text-align:start;width:100%;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease)}.run-row-button:hover{background:var(--surface-2);border-color:var(--border-strong)}.run-result{flex-direction:column;gap:16px;display:flex}.run-result .subtabs{margin-block-end:0}.run-result h4{font-size:var(--text-md);align-items:center;gap:6px;margin:16px 0 10px;display:flex}.run-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.run-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);flex-direction:column;gap:2px;padding:12px 16px;display:flex}.run-tile span{font-size:var(--text-xs);color:var(--text-3)}.run-tile strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:600}.run-tile small{font-size:var(--text-xs);color:var(--text-3);font-weight:400}.run-tile.ok{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.run-tile.ok{border-color:color-mix(in srgb, var(--success) 35%, var(--border))}}.run-tile.ok{background:var(--success-soft)}.run-tile.ok strong{color:var(--success-text)}.run-tile.warn{border-color:var(--warning-border);background:var(--warning-soft)}.run-tile.warn strong{color:var(--warning-text)}.run-list-warn{font-size:var(--text-sm);flex-direction:column;gap:4px;margin:6px 0;padding-inline-start:4px;list-style:none;display:flex}.run-list-warn li{align-items:baseline;gap:6px;display:flex}.run-week,.run-workouts{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.run-day h5{font-size:var(--text-sm);color:var(--brand-text);margin:0 0 8px}.run-workout{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);margin-block-end:8px;padding:12px}.run-workout p{margin:4px 0}.run-workout.missing{border:1px dashed var(--danger-border);background:var(--danger-soft);color:var(--danger-text)}.run-role{border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2);white-space:nowrap;padding:2px 9px;font-size:.7rem;font-weight:600}.run-role.role-quality{background:var(--warning-soft);color:var(--warning-text)}.run-role.role-long{background:var(--info-soft);color:var(--info-text)}.run-role.role-easy{background:var(--success-soft);color:var(--success-text)}.run-steps{font-size:var(--text-sm);margin:6px 0 0;padding-inline-start:18px}.run-steps .run-steps{margin-block-start:2px}.run-dayplan{font-size:var(--text-sm);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.run-dayplan li{align-items:center;gap:10px;display:flex}.run-dayplan li>span:first-child{min-width:110px}.run-explanation p{font-size:var(--text-md);margin:6px 0}.run-timeline{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;position:relative}.run-timeline:before{content:"";border-inline-start:2px solid var(--divider);inset-inline-start:23px;position:absolute;top:20px;bottom:20px}.run-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);position:relative}.run-step.status-warn{border-color:var(--warning-border)}.run-step.status-bad{border-color:var(--danger-border)}.run-step-head{text-align:start;border-radius:inherit;grid-template-columns:30px 1fr auto auto 16px;align-items:center;gap:12px;width:100%;padding:12px 10px;display:grid}.run-step-head:hover{background:var(--surface-2)}.run-step-num{background:var(--surface-3);width:28px;height:28px;font-size:var(--text-sm);z-index:1;border-radius:50%;place-items:center;font-weight:600;display:grid;position:relative}.run-step.status-final .run-step-num{background:var(--accent);color:var(--on-accent)}.run-step-title{flex-direction:column;min-width:0;display:flex}.run-step-title .muted{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-attempt{background:var(--warning-soft);color:var(--warning-text);border-radius:var(--radius-pill);margin-inline-start:8px;padding:1px 8px;font-size:.7rem;font-weight:600}.run-status{font-size:var(--text-xs);border-radius:var(--radius-pill);white-space:nowrap;background:var(--surface-3);color:var(--text-2);align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.run-status.ok{background:var(--success-soft);color:var(--success-text)}.run-status.warn{background:var(--warning-soft);color:var(--warning-text)}.run-status.bad{background:var(--danger-soft);color:var(--danger-text)}.run-status.skip{background:var(--surface-3);color:var(--text-3)}.run-status.final{background:var(--accent-soft);color:var(--text)}.run-step-meta{font-size:var(--text-xs);white-space:nowrap}.run-chevron{color:var(--text-3)}.run-step-body{border-block-start:1px solid var(--divider);padding:4px 16px 16px;padding-inline-start:52px}.run-step-body .subtabs{margin-block:10px 14px}.run-io{grid-template-columns:1fr 1fr;gap:16px;display:grid}.run-io>section{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:12px 14px}.run-io h4{font-size:var(--text-sm);color:var(--brand-text);margin:0 0 8px}.run-io-piece{border-block-start:1px dashed var(--border);padding-block:8px}.run-io-piece>strong{font-size:var(--text-xs);color:var(--text-3);margin-block-end:4px;display:block}.run-json{margin-block-end:12px}.run-json pre{max-height:420px;margin:4px 0 0}.run-context details{border-block-end:1px solid var(--divider);padding-block:8px}.run-context summary{cursor:pointer;font-weight:600;font-size:var(--text-md)}.run-kv{font-size:var(--text-sm);flex-direction:column;gap:4px;margin:4px 0;display:flex}.run-kv>div{gap:10px;display:flex}.run-kv dt{color:var(--text-3);flex:none;min-width:110px}.run-kv dd{min-width:0;margin:0}.run-generic-list{font-size:var(--text-sm);margin:4px 0;padding-inline-start:18px}.synth-editor{border:1px solid var(--border);border-radius:var(--radius-sm);margin-block-end:14px}.synth-section{border-block-end:1px solid var(--divider);padding:10px 14px}.synth-section:last-child{border-block-end:0}.synth-section>summary{cursor:pointer;font-weight:600;font-size:var(--text-md)}.synth-body{padding-block-start:12px}.synth-fields{flex-wrap:wrap;flex:1;align-items:flex-end;gap:10px;min-width:0;display:flex}.synth-fields>label{font-size:var(--text-sm);flex:110px;margin:0}.synth-fields>label.synth-wide{flex:2 200px}.synth-fields>label.checkbox{flex:none;align-self:center}.synth-fields input,.synth-fields select{min-height:36px;margin:4px 0 0}.synth-row{background:var(--surface-3);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;margin-block-end:8px;padding:10px;display:flex}.synth-remove{flex:none}.synth-nested{border-inline-start:3px solid var(--border-strong);flex-basis:100%;padding-inline-start:10px}.synth-nested .synth-row{background:var(--surface)}.consent-modal{border-block-start:4px solid var(--danger)}.question-studio{flex-direction:column;gap:14px;display:flex}.question-studio .tabs{margin-block-end:4px}.question-studio>.hint{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.question-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.question-editor{padding:0;overflow:hidden}.question-editor.open{box-shadow:var(--shadow-2);border-color:var(--border-strong)}.question-summary{flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex}.question-toggle{text-align:start;border-radius:var(--radius-sm);flex:1;align-items:center;gap:10px;min-width:220px;min-height:44px;padding:6px;display:flex}.question-toggle:hover{background:var(--surface-2)}.question-chevron{color:var(--text-3);transition:transform var(--dur-2) var(--ease);flex:none;transform:rotate(90deg)}.question-editor.open .question-chevron{transform:none}.question-order{background:var(--surface-3);min-width:28px;height:28px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;font-weight:600;display:grid}.question-summary-text{flex-direction:column;min-width:0;display:flex}.question-summary-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.question-summary-text small{color:var(--text-3);font-family:var(--font-mono);font-size:var(--text-xs);text-align:end}.question-badges{flex-wrap:wrap;gap:4px;display:flex}.badge.planning-hard_rule{background:var(--danger-soft);color:var(--danger-text);border-color:#0000}.badge.planning-soft_preference{background:var(--info-soft);color:var(--info-text);border-color:#0000}.question-fields{border-block-start:1px solid var(--divider);background:var(--surface-2);flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.question-fields label{margin:0}@media (width<=900px){.studio-layout{flex-direction:column}.studio-graph-wrap{resize:none;width:100%;min-width:0;max-width:none}.studio-graph{height:260px}.studio-panel{width:100%;max-height:none}.ab-results{grid-template-columns:1fr}}@media (width<=760px){.run-io{grid-template-columns:1fr}.run-step-head{grid-template-columns:30px 1fr 16px}.run-step-head .run-status,.run-step-head .run-step-meta{display:none}.run-step-body{padding-inline-start:16px}}.admin-home{flex-direction:column;gap:16px;max-width:1600px;margin-inline:auto;display:flex}.admin-intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.admin-intro h1{font-size:var(--text-2xl)}.live-chip{border-radius:var(--radius-pill);background:var(--warning-soft);color:var(--warning-text);border:1px solid var(--warning-border);font-size:var(--text-sm);align-items:center;gap:8px;max-width:100%;margin:0;padding:7px 14px;font-weight:600;display:inline-flex}.live-chip svg{color:var(--warning);flex:none}.thinking-control{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--divider);margin-block:4px 12px;padding:10px 12px}.thinking-control label{flex-direction:column;gap:4px;font-weight:600;display:flex}.thinking-control .hint{margin:6px 0 0}.usage-line strong{color:var(--text);font-variant-numeric:tabular-nums}.run-lean{font-size:var(--text-sm);gap:4px;margin:6px 0;padding:0;list-style:none;display:grid}.run-lean li{border-block-end:1px solid var(--divider);grid-template-columns:110px 110px 1fr;align-items:baseline;gap:8px;padding:4px 0;display:grid}.run-lean li:last-child{border:0}.run-brief p{margin:4px 0}.run-pre{white-space:pre-wrap;font-size:var(--text-sm);background:var(--surface-2);border-radius:var(--radius-sm);padding:8px}.legacy-prompts{flex-basis:100%}.legacy-prompts pre{max-height:200px;overflow:auto}@media (width<=640px){.run-lean li{grid-template-columns:1fr;gap:2px}}.studio-costs h2{align-items:center;gap:8px;margin:0;display:flex}.studio-costs h3{font-size:var(--text-md);margin-block:18px 8px}.inline-select{font-size:var(--text-sm);align-items:center;gap:6px;display:flex}.cost-legend{font-size:var(--text-sm);color:var(--text-2);gap:16px;margin-block-end:6px;display:flex}.cost-legend span{align-items:center;gap:6px;display:inline-flex}.cost-legend .swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.swatch.before,.cost-bar.before{background:var(--viz-upcoming)}.swatch.now,.cost-bar.now{background:var(--brand)}.cost-actions{gap:12px;display:grid}.cost-action-head{font-size:var(--text-sm);align-items:center;gap:8px;margin-block-end:4px;display:flex}.cost-saved{font-size:var(--text-xs);border-radius:999px;align-items:center;gap:3px;padding:1px 8px;font-weight:600;display:inline-flex}.cost-saved.good{background:var(--success-soft);color:var(--success-text)}.cost-saved.bad{background:var(--danger-soft);color:var(--danger-text)}.cost-bars{gap:3px;display:grid}.cost-bar-row{font-size:var(--text-xs);grid-template-columns:44px 1fr 72px;align-items:center;gap:8px;display:grid}.cost-bar-row>.cost-bar{grid-column:2}.cost-bar-label{color:var(--text-3)}.cost-bar{border-radius:0 4px 4px 0;min-width:2px;height:10px;display:block}[dir=rtl] .cost-bar{border-radius:4px 0 0 4px}.cost-bar-value{color:var(--text-2);font-variant-numeric:tabular-nums}.cost-bar-row{position:relative}.cost-daily-tip{min-height:1.5em;font-size:var(--text-sm);margin:0 0 6px}.cost-daily-plot{border-block-end:1px solid var(--viz-axis);background:var(--viz-bg);border-radius:var(--radius-sm) var(--radius-sm) 0 0;align-items:flex-end;gap:2px;height:120px;padding:4px;display:flex}.cost-day{cursor:default;background:0 0;border:0;flex:1;align-items:flex-end;min-width:4px;height:100%;padding:0;display:flex}.cost-day span{background:var(--brand);opacity:.85;border-radius:4px 4px 0 0;width:100%;display:block}.cost-day.active span,.cost-day:focus-visible span{opacity:1;outline:2px solid var(--text);outline-offset:1px}.cost-daily-axis{font-size:var(--text-xs);justify-content:space-between;margin-block-start:3px;display:flex}.cost-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.cost-table th,.cost-table td{text-align:start;border-block-end:1px solid var(--divider);padding:6px 8px}.cost-table th{color:var(--text-3);font-weight:600}.table-scroll{overflow-x:auto}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block-end:14px;display:flex}.admin-toolbar .segmented-tabs{margin:0}.admin-overview .admin-toolbar{justify-content:flex-end}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:16px;margin-block-end:16px;display:grid}.admin-section{flex-direction:column;gap:12px;min-width:0;display:flex}.admin-section>.table-scroll{max-width:100%;position:relative}.admin-people,.admin-usage,.admin-overview{min-width:0;max-width:100%}.admin-section h2{font-size:var(--text-lg);align-items:center;gap:10px;margin:0;display:flex}.admin-section-icon{border-radius:var(--radius-sm);background:var(--surface-3);width:30px;height:30px;color:var(--text-2);place-items:center;display:grid}.admin-usage>.admin-section{margin-block-end:16px}.admin-stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.admin-stat{border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.admin-stat>span{font-size:var(--text-xs);color:var(--text-3)}.admin-stat strong{font-size:var(--text-xl);font-weight:600}.admin-stat small{font-size:var(--text-xs);color:var(--text-3)}.admin-stat.warning strong{color:var(--warning-text)}.admin-stat.danger strong{color:var(--danger-text)}.admin-issues,.admin-log{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.admin-issues li{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning-text);font-size:var(--text-sm);align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.admin-issues li svg{flex:none;margin-block-start:2px}.admin-issues strong{color:var(--text)}.admin-log li{border-block-end:1px solid var(--divider);font-size:var(--text-sm);justify-content:space-between;gap:10px;padding-block:6px;display:flex}.admin-providers{flex-direction:column;gap:6px;display:flex}.admin-provider{border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);justify-content:space-between;gap:10px;padding:8px 12px;display:flex}.admin-provider span{color:var(--text-2)}.admin-search{flex:1;max-width:420px;margin:0}.admin-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.admin-table th,.admin-table td{text-align:start;border-block-end:1px solid var(--divider);vertical-align:middle;padding:10px}.admin-table thead th{font-size:var(--text-xs);color:var(--text-3);white-space:nowrap;font-weight:500}.admin-table tbody tr:hover{background:var(--surface-2)}.admin-table tr.is-removed td{color:var(--text-3)}.admin-email{display:block}.admin-removed{margin-block-start:4px}.admin-actions{text-align:end;white-space:nowrap}.admin-state{font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.admin-state:before{content:"";background:var(--text-4);border-radius:50%;width:8px;height:8px}.admin-state.success:before{background:var(--success)}.admin-state.warning:before{background:var(--warning)}.admin-share-col{min-width:150px}.admin-share{vertical-align:middle;border-radius:var(--radius-pill);background:var(--surface-3);inline-size:100px;height:6px;display:inline-block;overflow:hidden}.admin-share>span{background:var(--brand);border-radius:inherit;height:100%;display:block}.admin-share-pct{color:var(--text-2);margin-inline-start:8px}@media (width<=760px){.admin-share-col{display:none}.admin-search{max-width:none}}.wizard{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.wizard-top{padding:14px var(--gutter);border-block-end:1px solid var(--divider);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;display:flex}.wizard-brand{font-weight:600;font-size:var(--text-lg);align-items:center;gap:8px;display:flex}.wizard-steps{padding:18px var(--gutter) 0;scrollbar-width:none;gap:6px;inline-size:100%;max-inline-size:760px;margin:0 auto;list-style:none;display:flex;overflow-x:auto}.wizard-steps li{min-inline-size:0;font-size:var(--text-xs);color:var(--text-3);text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:6px;font-weight:600;display:flex}.wizard-steps li:before{content:"";border-radius:var(--radius-pill);background:var(--surface-3);block-size:4px;inline-size:100%;display:block}.wizard-steps li.done:before,.wizard-steps li[aria-current=step]:before{background:var(--brand)}.wizard-steps li>span{background:var(--surface-3);block-size:22px;inline-size:22px;color:var(--text-2);border-radius:50%;place-items:center;font-size:11px;display:grid}.wizard-steps li.done>span{background:var(--brand-soft);color:var(--brand-text)}.wizard-steps li[aria-current=step]{color:var(--text)}.wizard-steps li[aria-current=step]>span{background:var(--brand);color:var(--on-brand)}.wizard-steps em{white-space:nowrap;text-overflow:ellipsis;max-inline-size:100%;font-style:normal;overflow:hidden}.wizard-body{inline-size:100%;max-inline-size:760px;padding:22px var(--gutter) 48px;margin:0 auto}.wizard-count{font-size:var(--text-xs);color:var(--text-3);margin:0 0 4px;font-weight:600}.wizard-body h1{font-size:var(--text-2xl);outline:none;margin:0 0 6px;font-weight:600;line-height:1.2}.wizard-lead{font-size:var(--text-base);margin:0 0 20px}.wizard-content{flex-direction:column;gap:14px;display:flex}.wizard-content .dynamic-form .form-savebar{box-shadow:none;background:0 0;border:0;padding-inline:0;position:static}.wizard-nav{justify-content:space-between;align-items:center;min-block-size:40px;margin-block-start:18px;display:flex}.wizard-skip{margin-inline-start:auto}.wizard-actions{flex-wrap:wrap;gap:10px;margin-block-start:6px;display:flex}.wizard-actions button{min-block-size:46px;padding-inline:22px}.wizard-bullets{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.wizard-bullets li{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.wizard-bullets svg{color:var(--brand);flex:none;margin-block-start:2px}.wizard-howto{counter-reset:howto;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.wizard-howto li{counter-increment:howto;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);grid-template-columns:28px 1fr;gap:2px 10px;padding:12px 14px;display:grid}.wizard-howto li:before{content:counter(howto);background:var(--brand-soft);block-size:26px;inline-size:26px;color:var(--brand-text);font-weight:600;font-size:var(--text-sm);border-radius:50%;grid-row:span 2;place-items:center;display:grid}.wizard-howto span{color:var(--text-2);font-size:var(--text-sm)}.wizard-connected{align-items:center;gap:8px;display:flex}.wizard-note{flex-direction:column;gap:12px;display:flex}.wizard-share{flex-wrap:wrap;gap:8px;display:flex}.wizard-link{align-items:center;gap:8px;display:flex}.wizard-link input{flex:1;min-inline-size:0}.text-button.inline{min-block-size:0;font-size:inherit;padding:0;text-decoration:underline;display:inline}.setup-checklist{flex-direction:column;gap:12px;margin-block-end:16px;display:flex}.setup-checklist-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.setup-checklist-head h2{font-size:var(--text-lg);margin:0}.setup-checklist-head p{font-size:var(--text-sm);margin:2px 0 0}.setup-progress{border-radius:var(--radius-pill);background:var(--surface-3);block-size:6px;overflow:hidden}.setup-progress span{background:var(--brand);border-radius:inherit;block-size:100%;transition:inline-size var(--dur-2) var(--ease);display:block}.setup-checklist ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.setup-checklist li{border-block-start:1px solid var(--divider);align-items:center;gap:10px;padding:10px 0;display:flex}.setup-checklist li:first-child{border-block-start:0}.setup-checklist li>svg{color:var(--text-4);flex:none}.setup-checklist li .setup-done{color:var(--success)}.setup-checklist li.done .setup-item-text span{color:var(--text-3);text-decoration:line-through}.setup-item-text{flex-direction:column;flex:1;min-inline-size:0;display:flex}.setup-item-text small{font-size:var(--text-xs)}.setup-chips{flex-wrap:wrap;gap:4px;display:flex}.setup-chip{border-radius:var(--radius-pill);font-size:var(--text-xs);background:var(--surface-3);color:var(--text-2);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.setup-chip.warn{background:var(--warning-soft);color:var(--warning-text)}.setup-chip.danger{background:var(--danger-soft);color:var(--danger-text)}.setup-chip.ok{background:var(--success-soft);color:var(--success-text)}@media (width<=560px){.wizard-steps em{display:none}.wizard-body h1{font-size:var(--text-xl)}.wizard-actions button{flex:100%}}.whatsapp-share{align-self:flex-start;margin-block:4px 8px;text-decoration:none}.pending-invites{flex-direction:column;gap:6px;margin-block-end:14px;display:flex}.pending-invites h2{font-size:var(--text-md);margin:0}.pending-invites ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pending-invites li{border-block-start:1px solid var(--divider);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.pending-invites li:first-child{border-block-start:0}.pending-invites li bdi{font-weight:600}.pending-invites li small{color:var(--text-3);margin-inline-end:auto}.setup-banner{flex-wrap:wrap;align-items:center;gap:10px;margin-block-end:12px;display:flex}.setup-banner>span{flex:1;min-inline-size:200px}.signin-methods{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.signin-methods li{border-block-start:1px solid var(--divider);align-items:center;gap:12px;padding:12px 0;display:flex}.signin-methods li:first-child{border-block-start:0}.signin-methods li>div{flex-direction:column;flex:1;min-inline-size:0;display:flex}.signin-methods small{font-size:var(--text-xs);text-overflow:ellipsis;overflow:hidden}.google-next-card{text-align:start;flex-direction:column;gap:14px;inline-size:100%;max-inline-size:440px;display:flex}.google-next-card h1{font-size:var(--text-xl);overflow-wrap:anywhere;margin:0}.google-next-card p{margin:0}.google-next-card form,.pairing-guide{flex-direction:column;gap:12px;display:flex}.pairing-guide>p{margin:0}.pairing-link{align-self:flex-start;min-block-size:46px;padding-inline:20px;text-decoration:none}.pairing-brands{flex-direction:column;gap:6px;display:flex}.pairing-brands details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:10px 14px}.pairing-brands summary{cursor:pointer;font-weight:600}.pairing-brands p{color:var(--text-2);font-size:var(--text-sm);margin:8px 0 0}.pairing-warning{color:var(--warning-text);font-size:var(--text-sm);align-items:flex-start;gap:8px;margin:0;display:flex}.pairing-warning svg{flex:none;margin-block-start:2px}.pairing-card>summary{cursor:pointer;align-items:center;gap:8px;margin-block-end:4px;font-weight:600;display:flex}.pairing-card[open]>summary{margin-block-end:14px}.join-qr{border-radius:var(--radius-sm,8px);background:#fff;align-self:center;block-size:180px;inline-size:180px;padding:6px}.join-requests{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.join-requests{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}}.join-requests li>span{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.wizard-alt{border-block-start:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:8px;margin-block-start:14px;padding-block-start:14px;display:flex}.wizard-alt .hint{margin:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
