:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Nunito Sans", "Avenir Next", "Segoe UI", sans-serif;--font-display:"Nunito Sans", "Avenir Next", "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:clamp(1.25rem, 1.08rem + .7vw, 1.625rem);--font-size-2xl:clamp(1.75rem, 1.45rem + 1.25vw, 2.5rem);--font-size-3xl:clamp(2.25rem, 1.78rem + 2vw, 3.5rem);--line-height-tight:1.08;--line-height-copy:1.55;--letter-spacing-tight:-.035em;--letter-spacing-label:.055em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--space-11:5rem;--radius-xs:.375rem;--radius-sm:.625rem;--radius-md:.8rem;--radius-lg:1.125rem;--radius-xl:1.5rem;--radius-pill:999px;--border-width:1px;--control-height-sm:2.25rem;--control-height:2.75rem;--control-height-lg:3.25rem;--tap-target:2.75rem;--content-reading:46rem;--content-wide:76rem;--sidebar-width:15.5rem;--header-height:4.5rem;--bottom-nav-height:4.5rem;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--duration-instant:.1s;--duration-fast:.16s;--duration-medium:.24s;--duration-slow:.36s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.2, .8, .2, 1);--z-base:0;--z-sticky:20;--z-navigation:40;--z-popover:60;--z-modal:80;--z-toast:100;--color-canvas:#f8f8fb;--color-canvas-subtle:#f0f2f8;--color-surface:#fffefd;--color-surface-raised:#fff;--color-surface-muted:#f1f2f6;--color-surface-hover:#f5f6fa;--color-overlay:#181a217a;--color-text-strong:#17181d;--color-text:#353740;--color-text-muted:#676b78;--color-text-subtle:#7d8290;--color-text-on-accent:#fff;--color-border:#e1e3ea;--color-border-strong:#c3c8d3;--color-focus:#087c69;--color-accent:#d04423;--color-accent-hover:#b53a1d;--color-accent-active:#992e15;--color-accent-soft:#ffe3d8;--color-accent-soft-hover:#ffd5c6;--color-secondary:#06705e;--color-secondary-hover:#056654;--color-secondary-soft:#d9f7ed;--color-gold:#835600;--color-gold-soft:#fff0b9;--color-blue:#2d5dcc;--color-blue-soft:#dfe9ff;--color-lilac:#6745c2;--color-lilac-soft:#ece4ff;--color-pink:#a53469;--color-pink-soft:#ffe0f0;--color-lime:#47791f;--color-lime-soft:#e5f7cb;--color-success:#087a55;--color-success-soft:#d8f5e7;--color-warning:#8a5a00;--color-warning-soft:#fff0bd;--color-danger:#b6384e;--color-danger-soft:#ffe0e6;--color-info:#2858ba;--color-info-soft:#dee9ff;--color-sport-strength:#b53a1d;--color-sport-strength-soft:#ffe1d5;--color-sport-cardio:#06705e;--color-sport-cardio-soft:#d8f6ec;--color-sport-mobility:#6745c2;--color-sport-mobility-soft:#ece3ff;--color-sport-recovery:#835600;--color-sport-recovery-soft:#ffefb8;--shadow-xs:0 1px 2px #1c1f280d;--shadow-sm:0 7px 22px #1c1f2813;--shadow-md:0 16px 38px #1c1f281f;--shadow-lg:0 26px 64px #16181f2e;--focus-ring:0 0 0 3px #087d6938;--surface-highlight:inset 0 1px 0 #ffffffdb;--canvas-decoration:radial-gradient(circle at 96% -4%, #ff855b21, transparent 25rem), radial-gradient(circle at -4% 42%, #5f8fff1a, transparent 27rem), linear-gradient(180deg, #ffffffa8, transparent 18rem)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#111319;--color-canvas-subtle:#151820;--color-surface:#1a1d24;--color-surface-raised:#20242c;--color-surface-muted:#262a33;--color-surface-hover:#2c303a;--color-overlay:#040508c2;--color-text-strong:#f7f8fb;--color-text:#e0e3ea;--color-text-muted:#aeb4c1;--color-text-subtle:#9299a8;--color-text-on-accent:#26130d;--color-border:#313641;--color-border-strong:#4d5564;--color-focus:#6ce0bf;--color-accent:#ff8b67;--color-accent-hover:#ffa083;--color-accent-active:#ffb49d;--color-accent-soft:#482820;--color-accent-soft-hover:#5a3126;--color-secondary:#65d9b9;--color-secondary-hover:#86e4c9;--color-secondary-soft:#183c34;--color-gold:#f0c45d;--color-gold-soft:#443619;--color-blue:#8aafff;--color-blue-soft:#223554;--color-lilac:#b5a0ff;--color-lilac-soft:#342b55;--color-pink:#ff99c9;--color-pink-soft:#4b263a;--color-lime:#b5df79;--color-lime-soft:#2f3f1e;--color-success:#72d9a8;--color-success-soft:#1c3b2d;--color-warning:#f2c768;--color-warning-soft:#44371c;--color-danger:#ff9aaa;--color-danger-soft:#4b252d;--color-info:#91b4ff;--color-info-soft:#233653;--color-sport-strength:#ff8c68;--color-sport-strength-soft:#492920;--color-sport-cardio:#68dab9;--color-sport-cardio-soft:#193c34;--color-sport-mobility:#b7a2ff;--color-sport-mobility-soft:#342c54;--color-sport-recovery:#efc362;--color-sport-recovery-soft:#443719;--shadow-xs:0 1px 2px #0000002e;--shadow-sm:0 7px 22px #00000038;--shadow-md:0 16px 44px #0000004d;--shadow-lg:0 30px 76px #00000070;--focus-ring:0 0 0 3px #65d9b947;--surface-highlight:inset 0 1px 0 #ffffff0a;--canvas-decoration:radial-gradient(circle at 96% -4%, #ff825c1a, transparent 24rem), radial-gradient(circle at -4% 42%, #648fff14, transparent 28rem)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]),:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#111319;--color-canvas-subtle:#151820;--color-surface:#1a1d24;--color-surface-raised:#20242c;--color-surface-muted:#262a33;--color-surface-hover:#2c303a;--color-overlay:#040508c2;--color-text-strong:#f7f8fb;--color-text:#e0e3ea;--color-text-muted:#aeb4c1;--color-text-subtle:#9299a8;--color-text-on-accent:#26130d;--color-border:#313641;--color-border-strong:#4d5564;--color-focus:#6ce0bf;--color-accent:#ff8b67;--color-accent-hover:#ffa083;--color-accent-active:#ffb49d;--color-accent-soft:#482820;--color-accent-soft-hover:#5a3126;--color-secondary:#65d9b9;--color-secondary-hover:#86e4c9;--color-secondary-soft:#183c34;--color-gold:#f0c45d;--color-gold-soft:#443619;--color-blue:#8aafff;--color-blue-soft:#223554;--color-lilac:#b5a0ff;--color-lilac-soft:#342b55;--color-pink:#ff99c9;--color-pink-soft:#4b263a;--color-lime:#b5df79;--color-lime-soft:#2f3f1e;--color-success:#72d9a8;--color-success-soft:#1c3b2d;--color-warning:#f2c768;--color-warning-soft:#44371c;--color-danger:#ff9aaa;--color-danger-soft:#4b252d;--color-info:#91b4ff;--color-info-soft:#233653;--color-sport-strength:#ff8c68;--color-sport-strength-soft:#492920;--color-sport-cardio:#68dab9;--color-sport-cardio-soft:#193c34;--color-sport-mobility:#b7a2ff;--color-sport-mobility-soft:#342c54;--color-sport-recovery:#efc362;--color-sport-recovery-soft:#443719;--shadow-xs:0 1px 2px #0000002e;--shadow-sm:0 7px 22px #00000038;--shadow-md:0 16px 44px #0000004d;--shadow-lg:0 30px 76px #00000070;--focus-ring:0 0 0 3px #65d9b947;--surface-highlight:inset 0 1px 0 #ffffff0a;--canvas-decoration:radial-gradient(circle at 96% -4%, #ff825c1a, transparent 24rem), radial-gradient(circle at -4% 42%, #648fff14, transparent 28rem)}}@media (prefers-reduced-motion:reduce){:root{--duration-instant:1ms;--duration-fast:1ms;--duration-medium:1ms;--duration-slow:1ms}}:root[data-reduce-motion=true]{--duration-instant:1ms;--duration-fast:1ms;--duration-medium:1ms;--duration-slow:1ms}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);min-width:20rem;min-height:100%;color:var(--color-text);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scrollbar-gutter:stable}body{min-width:20rem;min-height:100vh;background-color:var(--color-canvas);background-image:var(--canvas-decoration);min-height:100dvh;color:var(--color-text);font-size:var(--font-size-md);line-height:var(--line-height-copy);background-attachment:fixed;margin:0;overflow-x:hidden}body.is-scroll-locked{overflow:hidden}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button,[type=button],[type=reset],[type=submit]{appearance:none}button,[role=button],summary,label,select{-webkit-tap-highlight-color:transparent}button:not(:disabled),[role=button]:not([aria-disabled=true]),summary,label[for],select{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled=true]{cursor:not-allowed}input,select,textarea{min-width:0}textarea{resize:vertical}img,picture,svg,video,canvas{max-width:100%;display:block}img{height:auto}svg{flex:none}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}table{border-collapse:collapse;border-spacing:0}ul,ol{margin-block:0;padding-inline-start:1.25rem}p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{color:var(--color-text-strong);font-family:var(--font-display);letter-spacing:var(--letter-spacing-tight);font-weight:800;line-height:var(--line-height-tight);text-wrap:balance;margin:0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-family:var(--font-sans);font-size:var(--font-size-lg);letter-spacing:-.01em;font-weight:800}small{font-size:var(--font-size-sm)}strong{color:var(--color-text-strong);font-weight:800}a{color:var(--color-secondary);-webkit-text-decoration-color:color-mix(in srgb, currentcolor 45%, transparent);text-decoration-color:color-mix(in srgb, currentcolor 45%, transparent);text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{color:var(--color-secondary-hover);text-decoration-color:currentColor}::selection{background:var(--color-accent-soft);color:var(--color-text-strong)}::placeholder{color:var(--color-text-subtle);opacity:1}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}[tabindex="-1"]:focus{outline:none}[hidden]{display:none!important}[aria-busy=true]{cursor:progress}[aria-disabled=true]{pointer-events:none;opacity:.56}dialog{color:inherit}dialog::backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{top:max(var(--space-3), var(--safe-top));left:max(var(--space-3), var(--safe-left));z-index:var(--z-toast);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-text-strong);color:var(--color-surface);transform:translateY(calc(-100% - var(--space-6) - var(--safe-top)));transition:transform var(--duration-fast) var(--ease-standard);font-weight:750;text-decoration:none;position:fixed}.skip-link:focus-visible{transform:translateY(0)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.eyebrow{color:var(--color-accent);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;font-weight:800;line-height:1.3}.numeric{font-variant-numeric:tabular-nums}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}:root[data-reduce-motion=true]{scroll-behavior:auto}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] :before,:root[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}@media (forced-colors:active){:focus-visible{outline:3px solid canvastext}}.button,.btn{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-pill);background:var(--color-accent);box-shadow:none;color:var(--color-text-on-accent);font-size:var(--font-size-sm);text-align:center;touch-action:manipulation;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);-webkit-user-select:none;user-select:none;padding:.625rem 1rem;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:0 6px 16px color-mix(in srgb, var(--color-accent) 22%, transparent);color:var(--color-text-on-accent);transform:translateY(-1px)}.button:active:not(:disabled),.btn:active:not(:disabled){background:var(--color-accent-active);transform:translateY(1px)}.button:focus-visible,.btn:focus-visible{box-shadow:var(--focus-ring), var(--shadow-xs);outline:0}.button:disabled,.btn:disabled{opacity:.52}.button--secondary,.btn--secondary{border-color:var(--color-border);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);color:var(--color-text-strong)}.button--secondary:hover:not(:disabled),.btn--secondary:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-hover);box-shadow:var(--shadow-sm);color:var(--color-text-strong)}.button--secondary:active:not(:disabled),.btn--secondary:active:not(:disabled){background:var(--color-surface-muted)}.button--tonal,.btn--tonal{background:var(--color-accent-soft);box-shadow:none;color:var(--color-accent-hover)}.button--tonal:hover:not(:disabled),.btn--tonal:hover:not(:disabled){background:var(--color-accent-soft-hover);box-shadow:none;color:var(--color-accent-active)}.button--ghost,.btn--ghost{box-shadow:none;color:var(--color-text);background:0 0;border-color:#0000}.button--ghost:hover:not(:disabled),.btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);box-shadow:none;color:var(--color-text-strong)}.button--danger,.btn--danger{background:var(--color-danger);color:var(--color-text-on-accent)}.button--danger:hover:not(:disabled),.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 84%, #000);box-shadow:0 6px 16px color-mix(in srgb, var(--color-danger) 20%, transparent);color:var(--color-text-on-accent)}.button--danger-ghost,.btn--danger-ghost{background:var(--color-danger-soft);box-shadow:none;color:var(--color-danger);border-color:#0000}.button--small,.btn--small{min-height:var(--control-height-sm);border-radius:var(--radius-pill);font-size:var(--font-size-xs);padding:.45rem .75rem}.button--large,.btn--large{min-height:var(--control-height-lg);border-radius:var(--radius-pill);font-size:var(--font-size-md);padding-inline:1.25rem}.button--block,.btn--block{width:100%}.button--icon,.btn--icon,.icon-button{width:var(--tap-target);min-width:var(--tap-target);height:var(--tap-target);min-height:var(--tap-target);border-color:var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);color:var(--color-text);padding:0}.button--icon:hover:not(:disabled),.btn--icon:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-hover);color:var(--color-text-strong)}.button__icon,.btn__icon,.icon-button>svg{width:1.125rem;height:1.125rem}.button[aria-busy=true],.btn[aria-busy=true]{color:#0000;pointer-events:none}.button[aria-busy=true]:after,.btn[aria-busy=true]:after{border:2px solid color-mix(in srgb, currentcolor 35%, transparent);width:1rem;height:1rem;color:var(--color-text-on-accent);content:"";border-top-color:currentColor;border-radius:50%;animation:.7s linear infinite spin;position:absolute}.field,.form-field{gap:var(--space-2);display:grid}.field__label,.form-field__label{color:var(--color-text-strong);font-size:var(--font-size-sm);font-weight:750}.field__hint,.form-field__hint{color:var(--color-text-muted);font-size:var(--font-size-xs)}.field__error,.form-field__error{color:var(--color-danger);font-size:var(--font-size-xs);font-weight:700}.input,.select,.textarea,.search-input{width:100%;min-height:var(--control-height);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--surface-highlight);color:var(--color-text-strong);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);outline:0;padding:.625rem .875rem}.textarea{min-height:7rem;line-height:var(--line-height-copy)}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled),.search-input:hover:not(:disabled){border-color:var(--color-border-strong)}.input:focus,.select:focus,.textarea:focus,.search-input:focus{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-danger) 25%, transparent)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-surface-muted);color:var(--color-text-muted);opacity:.72}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - 1rem),calc(100% - .72rem);background-repeat:no-repeat;background-size:.3rem .3rem;padding-right:2.5rem}.input-group,.search-box{align-items:center;display:flex;position:relative}.input-group>svg,.search-box>svg{left:var(--space-3);z-index:1;width:1.125rem;height:1.125rem;color:var(--color-text-muted);pointer-events:none;position:absolute}.input-group>svg+.input,.search-box>svg+.search-input{padding-left:2.5rem}.input-group__action,.search-box__action{right:var(--space-1);position:absolute}.check-field{min-height:var(--tap-target);align-items:flex-start;gap:var(--space-3);color:var(--color-text);font-size:var(--font-size-sm);display:flex}.checkbox,.radio{width:1.25rem;height:1.25rem;accent-color:var(--color-secondary);flex:none;margin-top:.12rem}.switch{border-radius:var(--radius-pill);background:var(--color-border-strong);width:3rem;height:1.75rem;transition:background var(--duration-fast) var(--ease-standard);border:0;flex:none;align-items:center;padding:.1875rem;display:inline-flex;position:relative}.switch:after{background:var(--color-surface-raised);width:1.375rem;height:1.375rem;box-shadow:var(--shadow-sm);content:"";transition:transform var(--duration-fast) var(--ease-emphasized);border-radius:50%;transform:translate(0)}.switch[aria-checked=true]{background:var(--color-secondary)}.switch[aria-checked=true]:after{transform:translate(1.25rem)}.card,.surface{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.card{padding:var(--space-5)}.card--interactive{transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}.card--interactive:hover{border-color:color-mix(in srgb, var(--color-accent) 28%, var(--color-border));box-shadow:var(--shadow-sm);transform:translateY(-2px)}.card--interactive:focus-within{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.card--muted{background:var(--color-surface-muted);box-shadow:none}.card__header,.card__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card__header{margin-bottom:var(--space-4)}.card__footer{margin-top:var(--space-4)}.card__title{color:var(--color-text-strong);font-size:var(--font-size-md);font-weight:800;line-height:1.3}.card__meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.tabs{min-width:0}.tab-list{gap:var(--space-1);max-width:100%;padding:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);scrollbar-width:thin;display:flex;overflow-x:auto}.tab{min-height:var(--control-height);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex:none;padding:.55rem .9rem;font-weight:800}.tab:hover{color:var(--color-text-strong)}.tab[aria-selected=true],.tab.is-active{background:var(--color-text-strong);box-shadow:var(--shadow-xs);color:var(--color-surface-raised)}.tab:focus-visible{box-shadow:var(--focus-ring);outline:0}.tab-panel:focus{outline:none}.chip,.filter-chip,.person-chip{align-items:center;gap:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-raised);min-height:2.25rem;color:var(--color-text);font-size:var(--font-size-xs);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);padding:.4rem .75rem;font-weight:750;line-height:1.2;display:inline-flex}button.chip:hover,.filter-chip:hover,button.person-chip:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.chip[aria-pressed=true],.filter-chip[aria-pressed=true],.person-chip[aria-pressed=true],.chip.is-active,.filter-chip.is-active,.person-chip.is-active{border-color:color-mix(in srgb, var(--color-secondary) 40%, var(--color-border));background:var(--color-secondary-soft);color:var(--color-secondary-hover)}.chip:focus-visible,.filter-chip:focus-visible,.person-chip:focus-visible{box-shadow:var(--focus-ring);outline:0}.chip__remove{color:currentColor;background:0 0;border:0;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;margin-right:-.25rem;display:inline-grid}.filter-bar{gap:var(--space-3);display:grid}.filter-bar__header,.active-filters{align-items:center;gap:var(--space-2);display:flex}.filter-bar__header{justify-content:space-between}.filter-bar__controls,.active-filters{flex-wrap:wrap}.result-count{color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:700}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);background:var(--color-surface-muted);min-height:1.5rem;color:var(--color-text-muted);font-size:var(--font-size-xs);padding:.2rem .5rem;font-weight:800;line-height:1.1;display:inline-flex}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--info{background:var(--color-info-soft);color:var(--color-info)}.avatar{border:2px solid var(--color-surface-raised);background:var(--color-accent-soft);width:2.25rem;height:2.25rem;color:var(--color-accent-hover);font-size:var(--font-size-xs);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;font-weight:850;display:inline-grid;overflow:hidden}.avatar--small{width:1.75rem;height:1.75rem}.avatar--large{width:3rem;height:3rem;font-size:var(--font-size-sm)}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-stack{padding-left:.4rem;display:flex}.avatar-stack .avatar{margin-left:-.4rem}.progress{border-radius:var(--radius-pill);background:var(--color-surface-muted);width:100%;height:.55rem;overflow:hidden}.progress__bar{width:var(--progress,0%);border-radius:inherit;background:linear-gradient(90deg, var(--color-secondary), var(--color-blue));height:100%;transition:width var(--duration-medium) var(--ease-emphasized)}.popover,.dropdown-menu{min-width:min(18rem,100vw - 2rem);padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-md);color:var(--color-text)}.menu-item{width:100%;min-height:var(--tap-target);align-items:center;gap:var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);text-align:left;background:0 0;border:0;padding:.625rem .75rem;font-weight:700;display:flex}.menu-item:hover,.menu-item[aria-current=true]{background:var(--color-surface-hover);color:var(--color-text-strong)}.modal{z-index:var(--z-modal);background:0 0;border:0;place-items:end center;width:100%;max-width:none;height:100%;max-height:none;padding:0;display:grid;position:fixed;inset:0;overflow:hidden}.modal:not([open]):not(.is-open){display:none}.modal:before{z-index:-1;background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);content:"";animation:fade-in var(--duration-fast) var(--ease-standard);position:fixed;inset:0}.modal__dialog{width:100%;max-height:min(90dvh,48rem);padding:var(--space-6) max(var(--space-5), var(--safe-right)) max(var(--space-6), calc(var(--safe-bottom) + var(--space-4))) max(var(--space-5), var(--safe-left));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface-raised);box-shadow:var(--shadow-lg);animation:sheet-in var(--duration-medium) var(--ease-emphasized);overscroll-behavior:contain;border-bottom:0;overflow:auto}.modal__header,.modal__footer{align-items:center;gap:var(--space-3);display:flex}.modal__header{margin-bottom:var(--space-5);justify-content:space-between}.modal__footer{margin-top:var(--space-6);justify-content:flex-end}.modal__title{font-size:var(--font-size-xl)}.toast-region{z-index:var(--z-toast);top:calc(var(--safe-top) + var(--space-4));right:max(var(--space-4), var(--safe-right));left:max(var(--space-4), var(--safe-left));justify-items:center;gap:var(--space-2);pointer-events:none;display:grid;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);width:min(100%,30rem);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-md);color:var(--color-text);font-size:var(--font-size-sm);pointer-events:auto;animation:toast-in var(--duration-medium) var(--ease-emphasized);display:flex}.toast--success{border-color:color-mix(in srgb, var(--color-success) 35%, var(--color-border))}.toast--error{border-color:color-mix(in srgb, var(--color-danger) 35%, var(--color-border))}.toast--warning{border-color:color-mix(in srgb, var(--color-warning) 35%, var(--color-border))}.alert{gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--font-size-sm);display:flex}.alert--success{border-color:color-mix(in srgb, var(--color-success) 35%, transparent);background:var(--color-success-soft)}.alert--error{border-color:color-mix(in srgb, var(--color-danger) 35%, transparent);background:var(--color-danger-soft)}.alert--warning{border-color:color-mix(in srgb, var(--color-warning) 35%, transparent);background:var(--color-warning-soft)}.state,.empty-state,.error-state,.success-state,.loading-state{justify-items:center;gap:var(--space-3);width:min(100%,34rem);padding:clamp(2rem, 6vw, 4rem) var(--space-5);color:var(--color-text-muted);text-align:center;margin-inline:auto;display:grid}.state__visual,.empty-state__visual,.error-state__visual,.success-state__visual{border-radius:var(--radius-xl);background:var(--color-surface-muted);width:4rem;height:4rem;color:var(--color-text-muted);place-items:center;display:grid}.error-state__visual{background:var(--color-danger-soft);color:var(--color-danger)}.success-state__visual{background:var(--color-success-soft);color:var(--color-success)}.state__title,.empty-state__title,.error-state__title,.success-state__title{color:var(--color-text-strong);font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:800;line-height:var(--line-height-tight)}.state__message,.empty-state__message,.error-state__message,.success-state__message{max-width:30rem;font-size:var(--font-size-sm)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-secondary);border-radius:50%;width:1.5rem;height:1.5rem;animation:.7s linear infinite spin}.skeleton{border-radius:var(--radius-sm);background:var(--color-surface-muted);color:#0000;position:relative;overflow:hidden}.skeleton:after{background:linear-gradient(100deg, transparent 15%, color-mix(in srgb, var(--color-surface-raised) 70%, transparent) 45%, transparent 75%);content:"";animation:1.35s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.table-wrap{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);max-width:100%;overflow-x:auto}.table{width:100%;min-width:38rem}.table th,.table td{border-bottom:var(--border-width) solid var(--color-border);text-align:left;vertical-align:middle;padding:.75rem 1rem}.table th{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;font-weight:800}.table tr:last-child td{border-bottom:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(2rem)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-.75rem)scale(.98)}}@media (min-width:40rem){.modal{padding:var(--space-6);place-items:center}.modal__dialog{width:min(100%,36rem);padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl);animation-name:modal-in}.toast-region{right:max(var(--space-5), var(--safe-right));justify-items:end;left:auto}}@keyframes modal-in{0%{opacity:0;transform:translateY(.75rem)scale(.98)}}@media (forced-colors:active){.button,.btn,.chip,.filter-chip,.tab,.card,.input,.select,.textarea{border:1px solid buttontext}}dialog.modal{width:100%;max-width:none;height:auto;max-height:min(92dvh,52rem);padding:var(--space-5) max(var(--space-5), var(--safe-right)) max(var(--space-6), calc(var(--safe-bottom) + var(--space-4))) max(var(--space-5), var(--safe-left));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface-raised);box-shadow:var(--shadow-lg);color:var(--color-text);animation:sheet-in var(--duration-medium) var(--ease-emphasized);overscroll-behavior:contain;border-bottom:0;margin:auto 0 0;display:none;inset:auto 0 0;overflow:auto}dialog.modal[open]{display:block}dialog.modal:before{content:none}dialog.modal .modal__body{min-width:0}dialog.modal--small{--dialog-width:26rem}dialog.modal--medium{--dialog-width:38rem}dialog.modal--large{--dialog-width:52rem}.task-card{--task-tone:var(--color-accent);--task-tone-soft:var(--color-accent-soft);align-items:start;gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.task-card:before{background:var(--task-tone);content:"";width:.22rem;position:absolute;top:0;bottom:0;left:0}.task-card--note{--task-tone:var(--color-gold);--task-tone-soft:var(--color-gold-soft)}.task-card--event{--task-tone:var(--color-info);--task-tone-soft:var(--color-info-soft)}.task-card--priority-high{border-color:color-mix(in srgb, var(--color-danger) 32%, var(--color-border))}.task-card:hover{border-color:color-mix(in srgb, var(--task-tone) 30%, var(--color-border));box-shadow:var(--shadow-sm);transform:translateY(-2px)}.task-card:focus-visible{box-shadow:var(--focus-ring), var(--shadow-sm);outline:0}.task-card.is-complete{opacity:.62}.task-card.is-complete .task-card__title{color:var(--color-text-muted);text-decoration:line-through}.task-card--compact{padding:var(--space-3);border-radius:var(--radius-md);box-shadow:none}.task-card__type-icon{border-radius:var(--radius-md);background:var(--task-tone-soft);width:2.25rem;height:2.25rem;color:var(--task-tone);place-items:center;font-weight:900;display:grid}.task-card__content{gap:var(--space-2);min-width:0;display:grid}.task-card__content[role=button]{border-radius:var(--radius-sm);cursor:pointer}.task-card__content[role=button]:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.task-card__topline,.task-card__footer{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.task-card__type,.task-card__date{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:750}.task-card__title{color:var(--color-text-strong);font-family:var(--font-sans);font-size:var(--font-size-md);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.task-card__note{color:var(--color-text-muted);font-size:var(--font-size-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.check-button{width:var(--tap-target);height:var(--tap-target);border:2px solid var(--color-border-strong);background:var(--color-surface-raised);color:#0000;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.check-button:hover{border-color:var(--color-success)}.check-button:active{transform:scale(.94)}.check-button.is-checked,.check-button[aria-pressed=true]{border-color:var(--color-success);background:var(--color-success);color:var(--color-surface)}.badge--priority{background:var(--color-danger-soft);color:var(--color-danger)}.avatar{background:var(--avatar-color,var(--color-accent));color:#fff}.avatar--tiny{width:1.5rem;height:1.5rem;font-size:.625rem}.avatar--more{background:var(--color-surface-muted);color:var(--color-text-muted)}.stat-card{--stat-tone:var(--color-accent);--stat-tone-soft:var(--color-accent-soft);align-content:center;gap:var(--space-1);min-height:5.5rem;padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--stat-tone-soft);box-shadow:none;color:var(--color-text);text-align:left;transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);display:grid}.stat-card--moss{--stat-tone:var(--color-success);--stat-tone-soft:var(--color-success-soft)}.stat-card--rose{--stat-tone:var(--color-danger);--stat-tone-soft:var(--color-danger-soft)}.stat-card--ocean{--stat-tone:var(--color-info);--stat-tone-soft:var(--color-info-soft)}.stat-card:hover{border-color:color-mix(in srgb, var(--stat-tone) 42%, var(--color-border));box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stat-card__value{color:var(--color-text-strong);font-family:var(--font-display);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;font-weight:850;line-height:1}.stat-card__label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:750}.week-strip__day{min-width:4.25rem;min-height:4.75rem;padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-xs);scroll-snap-align:start;transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);flex:1 0 4.25rem;align-content:center;place-items:center;gap:.1rem;display:grid}.week-strip__day strong{font-size:var(--font-size-md);font-variant-numeric:tabular-nums}.week-strip__day:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.week-strip__day.is-today{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-hover)}.week-strip__count{border-radius:var(--radius-pill);background:var(--color-secondary);min-width:1.25rem;height:1.25rem;color:var(--color-surface);font-variant-numeric:tabular-nums;place-items:center;font-size:.625rem;font-style:normal;font-weight:850;display:grid}.week-strip__count.is-empty{color:var(--color-text-subtle);background:0 0}.filter-panel{gap:var(--space-4);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);display:grid}.filter-panel__top,.filter-panel__controls,.filter-summary{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.filter-panel__top{justify-content:space-between}.filter-panel__top .filter-search{flex:1;min-width:min(100%,18rem)}.filter-panel__controls>*{flex:12rem;min-width:min(100%,12rem)}.filter-groups{gap:var(--space-3);display:grid}.filter-group{gap:var(--space-2);display:grid}.filter-group legend{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip--active{border-color:var(--color-secondary);background:var(--color-secondary-soft);color:var(--color-secondary-hover)}.chip--removable{padding-right:var(--space-3)}.filter-summary{color:var(--color-text-muted);font-size:var(--font-size-xs);justify-content:flex-end}.filter-summary strong{color:var(--color-text-strong)}.segmented-control{gap:var(--space-1);padding:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);display:inline-flex}.segmented-control>button{min-height:var(--control-height-sm);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--font-size-xs);background:0 0;border:0;padding:.45rem .75rem;font-weight:800}.segmented-control>button.is-active,.segmented-control>button[aria-selected=true]{background:var(--color-text-strong);box-shadow:var(--shadow-xs);color:var(--color-surface-raised)}.calendar-card,.calendar-selection{padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.calendar-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.calendar-grid{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-grid__weekday{padding-block:var(--space-2);color:var(--color-text-muted);text-align:center;text-transform:uppercase;font-size:.6875rem;font-weight:800}.calendar-day{align-content:center;place-items:center;gap:var(--space-1);min-width:0;min-height:3rem;padding:var(--space-1);border:var(--border-width) solid transparent;border-radius:var(--radius-md);color:var(--color-text);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;display:grid}.calendar-day:hover{background:var(--color-surface-hover)}.calendar-day.is-outside{color:var(--color-text-subtle);opacity:.55}.calendar-day.is-today{color:var(--color-accent-hover);font-weight:850}.calendar-day.is-selected{border-color:color-mix(in srgb, var(--color-secondary) 45%, var(--color-border));background:var(--color-secondary-soft)}.calendar-day__number{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.calendar-day__dots{justify-content:center;gap:.15rem;min-height:.25rem;display:flex}.calendar-dot{background:var(--color-accent);border-radius:50%;width:.25rem;height:.25rem}.calendar-dot--note{background:var(--color-gold)}.calendar-dot--event{background:var(--color-info)}.agenda-group{gap:var(--space-3);display:grid}.agenda-group__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--color-border);display:flex}.agenda-group__header h2{font-size:var(--font-size-lg);text-transform:capitalize}.summary-card{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);border:var(--border-width) solid color-mix(in srgb, var(--color-secondary) 30%, var(--color-border));border-radius:var(--radius-lg);background:var(--color-secondary-soft);box-shadow:none;display:flex}.summary-card__label,.summary-card__meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.summary-card__value{color:var(--color-text-strong);font-family:var(--font-display);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;display:block}.shopping-card{align-items:start;gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.shopping-card.is-complete{opacity:.62}.shopping-card.is-complete .shopping-card__heading strong{text-decoration:line-through}.shopping-card__content{gap:var(--space-3);min-width:0;display:grid}.shopping-card__heading,.shopping-card__price-row,.button-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.price{color:var(--color-text-strong);font-variant-numeric:tabular-nums;font-weight:850}.price--unavailable,.text-warning{color:var(--color-warning)}.definition-grid{gap:var(--space-2) var(--space-4);grid-template-columns:minmax(7rem,.4fr) minmax(0,1fr);margin:0;display:grid}.definition-grid dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:750}.definition-grid dd{color:var(--color-text-strong);font-size:var(--font-size-sm)}.source-card,.data-card,.invite-card,.member-card,.danger-zone{padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.source-card,.data-card,.invite-card,.member-card{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.danger-zone{border-color:color-mix(in srgb, var(--color-danger) 34%, var(--color-border));background:color-mix(in srgb, var(--color-danger-soft) 44%, var(--color-surface))}.form-grid{gap:var(--space-4);display:grid}.field-row,.inline-form,.location-row,.section-heading,.switch-row{align-items:center;gap:var(--space-3);display:flex}.field-row>*,.inline-form>:first-child{flex:1;min-width:0}.location-row,.section-heading,.switch-row{justify-content:space-between}.field__help,.field small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.choice-grid,.member-choice-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.choice-grid>legend,.member-choice-grid>legend{grid-column:1/-1}.choice-card,.member-choice{gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-xs);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);display:grid;position:relative}.member-choice{grid-template-columns:auto auto minmax(0,1fr);align-items:center}.choice-card:hover,.member-choice:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.choice-card.is-selected{border-color:var(--color-secondary);background:var(--color-secondary-soft);box-shadow:var(--focus-ring)}.choice-card:has(input:checked){border-color:var(--color-secondary);background:var(--color-secondary-soft);box-shadow:var(--focus-ring)}.member-choice:has(input:checked){border-color:var(--color-secondary);background:var(--color-secondary-soft);box-shadow:var(--focus-ring)}.choice-card>input{top:var(--space-3);right:var(--space-3);accent-color:var(--color-secondary);position:absolute}.theme-preview{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:radial-gradient(circle at 80% 24%,#ece4ff 0 10%,#0000 11%),linear-gradient(135deg,#f8f8fb 50%,#fff 50%);height:4.5rem;display:block}.theme-preview--dark{background:radial-gradient(circle at 80% 24%,#342b55 0 10%,#0000 11%),linear-gradient(135deg,#111319 50%,#20242c 50%)}.theme-preview--system{background:linear-gradient(135deg,#f8f8fb 0 49%,#111319 51% 100%)}.switch-row>input[type=checkbox]{width:2.75rem;height:1.5rem;accent-color:var(--color-secondary)}.member-list,.source-list,.shopping-list,.task-list,.agenda-list{gap:var(--space-3);display:grid}.member-card__identity{flex:1;min-width:0;display:grid}.status-dot{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:750;display:inline-flex}.status-dot:before{content:"";background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.status-dot--success{color:var(--color-success)}.status-dot--pending{color:var(--color-warning)}.invite-code{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-strong);font-family:var(--font-mono);font-size:var(--font-size-lg);letter-spacing:.12em;font-weight:750;display:inline-block}.notice{padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--font-size-sm)}.notice--success{border-color:color-mix(in srgb, var(--color-success) 35%, var(--color-border));background:var(--color-success-soft)}.notice--info{border-color:color-mix(in srgb, var(--color-info) 35%, var(--color-border));background:var(--color-info-soft)}.authorized-email-list{gap:var(--space-3);display:grid}.authorized-email-card{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);display:flex}.authorized-email-card__identity{gap:var(--space-1);overflow-wrap:anywhere;flex:14rem;min-width:0;display:grid}.authorized-email-card__identity>:first-child{color:var(--color-text-strong);font-weight:800}.authorized-email-card__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:none;display:flex}.access-email-note{padding:var(--space-4);border:var(--border-width) solid color-mix(in srgb, var(--color-blue) 24%, var(--color-border));border-radius:var(--radius-lg);background:var(--color-blue-soft);color:var(--color-text);font-size:var(--font-size-sm)}.calendar-day.is-today:not(.is-selected) .calendar-day__number{background:var(--color-accent-soft);width:2rem;height:2rem;color:var(--color-accent);border-radius:50%;place-items:center;display:grid}.shopping-card{transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}.shopping-card:hover{border-color:color-mix(in srgb, var(--color-secondary) 28%, var(--color-border));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.source-card,.data-card,.invite-card,.member-card{background:var(--color-surface-raised);box-shadow:var(--shadow-xs)}.choice-card.is-selected{border-color:color-mix(in srgb, var(--color-secondary) 42%, var(--color-border));box-shadow:0 0 0 2px color-mix(in srgb, var(--color-secondary) 13%, transparent)}.choice-card:has(input:checked){border-color:color-mix(in srgb, var(--color-secondary) 42%, var(--color-border));box-shadow:0 0 0 2px color-mix(in srgb, var(--color-secondary) 13%, transparent)}.member-choice:has(input:checked){border-color:color-mix(in srgb, var(--color-secondary) 42%, var(--color-border));box-shadow:0 0 0 2px color-mix(in srgb, var(--color-secondary) 13%, transparent)}.divider{height:var(--border-width);background:var(--color-border)}.empty-state__icon{border-radius:var(--radius-xl);background:var(--color-surface-muted);width:4rem;height:4rem;color:var(--color-secondary);place-items:center;font-size:2rem;display:grid}.empty-state--compact{padding-block:var(--space-6)}.button--quiet{box-shadow:none}.toast.is-leaving{opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);transform:translateY(-.5rem)scale(.98)}@media (min-width:40rem){dialog.modal{width:min(calc(100% - var(--space-8)), var(--dialog-width,38rem));max-width:var(--dialog-width,38rem);padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl);margin:auto;animation-name:modal-in;inset:0}.filter-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:4rem}}@media (max-width:39.99rem){.authorized-email-card{flex-direction:column;align-items:stretch}.authorized-email-card__actions{justify-content:flex-start}}#app,.app-shell{min-height:100vh;min-height:100dvh}.app-sidebar{display:none}.app-header{z-index:var(--z-sticky);min-height:calc(var(--header-height) + var(--safe-top));justify-content:space-between;align-items:center;gap:var(--space-3);padding:calc(var(--space-3) + var(--safe-top)) max(var(--space-4), var(--safe-right)) var(--space-3) max(var(--space-4), var(--safe-left));border-bottom:var(--border-width) solid color-mix(in srgb, var(--color-border) 78%, transparent);background:color-mix(in srgb, var(--color-surface-raised) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);display:flex;position:sticky;top:0}.app-header__brand,.app-brand{border:var(--border-width) solid color-mix(in srgb, var(--color-accent) 18%, var(--color-border));border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent-soft), var(--color-blue-soft) 52%, var(--color-lilac-soft));box-shadow:var(--shadow-xs);justify-content:center;align-items:center;padding:.3rem;text-decoration:none;display:inline-flex}.brand-image{object-fit:contain}.app-brand{width:100%}.app-brand__logo{border-radius:calc(var(--radius-md) - .2rem);width:100%}.app-header__brand{width:min(8.75rem,43vw)}.app-header__logo{border-radius:calc(var(--radius-md) - .2rem);width:100%}.app-header__actions{align-items:center;gap:var(--space-2);display:flex}.sync-status{align-items:center;gap:var(--space-2);border:var(--border-width) solid color-mix(in srgb, var(--color-success) 20%, var(--color-border));border-radius:var(--radius-pill);background:var(--color-surface);min-height:2rem;color:var(--color-text-muted);font-size:var(--font-size-xs);padding:.25rem .625rem;font-weight:750;display:inline-flex}.sync-status:before{background:var(--color-warning);content:"";border-radius:50%;width:.5rem;height:.5rem}.sync-status[data-status=online]:before{background:var(--color-success)}.sync-status[data-status=offline]:before,.sync-status[data-status=error]:before{background:var(--color-danger)}.app-main{width:100%;min-width:0;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + var(--space-5))}.page{width:min(100%, var(--content-wide));padding:var(--space-5) max(var(--space-4), var(--safe-right)) var(--space-8) max(var(--space-4), var(--safe-left));animation:page-enter var(--duration-medium) var(--ease-standard);margin-inline:auto}.page--reading{max-width:var(--content-reading)}.page-header{gap:var(--space-3);margin-bottom:clamp(var(--space-6), 4vw, var(--space-8));display:grid}.page-header__topline,.page-header__actions{align-items:center;gap:var(--space-3);display:flex}.page-header__topline{justify-content:space-between}.page-header__actions{flex-wrap:wrap}.page-header__description{max-width:42rem;color:var(--color-text-muted);font-size:var(--font-size-md)}.bottom-nav{z-index:var(--z-navigation);right:max(var(--space-3), var(--safe-right));bottom:max(var(--space-2), var(--safe-bottom));left:max(var(--space-3), var(--safe-left));min-height:var(--bottom-nav-height);padding:var(--space-2);border:var(--border-width) solid color-mix(in srgb, var(--color-border) 82%, transparent);background:color-mix(in srgb, var(--color-surface-raised) 92%, transparent);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);border-radius:1.5rem;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;box-shadow:0 12px 34px #1c1f2824}.bottom-nav__item,.nav-item{--nav-tone:var(--color-accent-hover);--nav-tone-soft:var(--color-accent-soft);border-radius:var(--radius-md);min-width:0;min-height:3.25rem;color:var(--color-text-muted);text-align:center;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.3rem .2rem;font-size:.6875rem;font-weight:800;line-height:1.1;text-decoration:none;display:flex;position:relative}.bottom-nav__item[data-route=calendar],.nav-item[data-route=calendar]{--nav-tone:var(--color-blue);--nav-tone-soft:var(--color-blue-soft)}.bottom-nav__item[data-route=shopping],.nav-item[data-route=shopping]{--nav-tone:var(--color-secondary);--nav-tone-soft:var(--color-secondary-soft)}.bottom-nav__item[data-route=sport],.nav-item[data-route=sport]{--nav-tone:var(--color-lilac);--nav-tone-soft:var(--color-lilac-soft)}.bottom-nav__item[data-route=settings],.nav-item[data-route=settings]{--nav-tone:var(--color-pink);--nav-tone-soft:var(--color-pink-soft)}.bottom-nav__item svg,.nav-item svg{width:1.25rem;height:1.25rem}.bottom-nav__item:hover,.nav-item:hover{background:var(--color-surface-hover);color:var(--color-text-strong)}.bottom-nav__item[aria-current=page],.bottom-nav__item.is-active,.nav-item[aria-current=page],.nav-item.is-active{background:var(--nav-tone-soft);color:var(--nav-tone)}.bottom-nav__item:focus-visible,.nav-item:focus-visible{box-shadow:var(--focus-ring);outline:0}.fab{z-index:calc(var(--z-navigation) - 1);right:max(var(--space-4), var(--safe-right));bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + var(--space-4));background:var(--color-accent);width:3.5rem;height:3.5rem;box-shadow:var(--shadow-md);color:var(--color-text-on-accent);border:0;border-radius:50%;position:fixed}.fab:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.stack{gap:var(--stack-gap,var(--space-4));flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--cluster-gap,var(--space-3));flex-wrap:wrap;display:flex}.split{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--grid-min,16rem)), 1fr));gap:var(--grid-gap,var(--space-4));display:grid}.content-grid{gap:var(--space-5);display:grid}.section{gap:var(--space-4);display:grid}.section+.section{margin-top:var(--space-8)}.section-header{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.section-header__copy{gap:var(--space-1);display:grid}.section-header__title{font-size:var(--font-size-xl)}.section-header__description{color:var(--color-text-muted);font-size:var(--font-size-sm)}.toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.toolbar__primary{flex:18rem;min-width:min(100%,18rem)}.toolbar__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:0 auto;display:flex}.horizontal-scroll{max-width:100%;padding-bottom:var(--space-1);overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:thin;overflow-x:auto}.horizontal-scroll>*{scroll-snap-align:start}.settings-layout{gap:var(--space-5);display:grid}.settings-nav{gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:thin;display:flex;overflow-x:auto}.settings-nav .nav-item{min-height:var(--control-height);font-size:var(--font-size-sm);flex-direction:row;flex-shrink:0;justify-content:flex-start;padding:.6rem .85rem}.settings-panel{min-width:0}.settings-group{gap:var(--space-4);padding:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);display:grid}.settings-row{min-height:var(--tap-target);justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.settings-row+.settings-row{padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.settings-row__copy{gap:var(--space-1);display:grid}.settings-row__description{color:var(--color-text-muted);font-size:var(--font-size-xs)}.mobile-only{display:initial}.tablet-only,.desktop-only{display:none!important}@keyframes page-enter{0%{opacity:0;transform:translateY(.375rem)}}@media (min-width:40rem){.page{padding:var(--space-7) var(--space-6) var(--space-9)}.page-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.page-header__actions{justify-content:flex-end}.content-grid--aside{grid-template-columns:minmax(0,1fr) minmax(15rem,.45fr);align-items:start}.tablet-only{display:initial!important}.mobile-only{display:none!important}}@media (min-width:64rem){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.app-sidebar{z-index:var(--z-navigation);width:var(--sidebar-width);gap:var(--space-6);padding:calc(var(--space-6) + var(--safe-top)) var(--space-4) calc(var(--space-6) + var(--safe-bottom)) max(var(--space-4), var(--safe-left));border-right:var(--border-width) solid var(--color-border);background:color-mix(in srgb, var(--color-surface-raised) 95%, transparent);-webkit-backdrop-filter:blur(20px)saturate(130%);backdrop-filter:blur(20px)saturate(130%);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.app-sidebar__nav{gap:var(--space-1);display:grid}.app-sidebar__nav .nav-item{min-height:var(--control-height);justify-content:flex-start;gap:var(--space-3);font-size:var(--font-size-sm);text-align:left;flex-direction:row;padding:.65rem .8rem}.app-sidebar__footer{gap:var(--space-3);margin-top:auto;display:grid}.app-header,.app-main{grid-column:2}.app-header{padding-inline:var(--space-7)}.app-header__brand{display:none}.app-main{min-height:100dvh;padding-bottom:0}.page{padding:var(--space-8) var(--space-7) var(--space-10)}.bottom-nav{display:none}.fab{right:max(var(--space-7), calc((100vw - var(--sidebar-width) - var(--content-wide)) / 2 + var(--space-7)));bottom:var(--space-7)}.settings-layout{grid-template-columns:13rem minmax(0,1fr);align-items:start}.settings-nav{top:calc(var(--header-height) + var(--space-5));display:grid;position:sticky;overflow:visible}.settings-nav .nav-item{width:100%}.desktop-only{display:initial!important}}@media (min-width:86rem){.page{padding-inline:var(--space-9)}}.page-heading{gap:var(--space-4);margin-bottom:clamp(var(--space-6), 4vw, var(--space-8));display:grid}.page-heading--compact{margin-bottom:var(--space-6)}.page-heading__description{max-width:42rem;margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.home-hero{gap:var(--space-4);margin-bottom:var(--space-5);padding:clamp(var(--space-5), 5vw, var(--space-8));border:var(--border-width) solid color-mix(in srgb, var(--color-accent) 18%, var(--color-border));border-radius:var(--radius-xl);background:radial-gradient(circle at 88% 14%, var(--color-lilac-soft) 0 8%, transparent 8.5%), radial-gradient(circle at 93% 54%, var(--color-blue-soft) 0 5%, transparent 5.5%), linear-gradient(120deg, var(--color-accent-soft), color-mix(in srgb, var(--color-lilac-soft) 48%, var(--color-surface)) 76%);box-shadow:var(--shadow-sm);display:grid;position:relative;overflow:hidden}.home-hero__message{max-width:38rem;margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-md)}.stats-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.week-strip{gap:var(--space-2);max-width:100%;margin-bottom:var(--space-5);padding-block:var(--space-1);scroll-padding-inline:var(--space-4);scroll-snap-type:inline mandatory;scrollbar-width:thin;display:flex;overflow-x:auto}.home-results{gap:var(--space-4);margin-top:var(--space-6);display:grid}.section-heading{min-height:var(--control-height)}.section-heading h2,.section-heading h3,.section-title{font-size:var(--font-size-xl)}.calendar-layout{gap:var(--space-4);display:grid}.calendar-selection{min-width:0}.agenda-list{gap:var(--space-6)}.shopping-list{margin-top:var(--space-5)}.settings-nav__item{min-width:12rem;min-height:var(--tap-target);padding:var(--space-3);border:var(--border-width) solid transparent;border-radius:var(--radius-lg);color:var(--color-text-muted);text-align:left;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;flex:none;gap:.1rem;display:grid}.settings-nav__item strong{color:inherit;font-size:var(--font-size-sm)}.settings-nav__item span{font-size:var(--font-size-xs);font-weight:600}.settings-nav__item:hover{background:var(--color-surface-hover);color:var(--color-text-strong)}.settings-nav__item.is-active,.settings-nav__item[aria-selected=true]{border-color:color-mix(in srgb, var(--color-secondary) 34%, var(--color-border));background:var(--color-secondary-soft);color:var(--color-secondary-hover)}.settings-panel>.stack{--stack-gap:var(--space-6)}.boot-error{width:min(100% - 2rem,34rem);min-height:100vh;place-content:center;justify-items:start;gap:var(--space-4);min-height:100dvh;padding:max(var(--space-7), var(--safe-top)) max(var(--space-4), var(--safe-right)) max(var(--space-7), var(--safe-bottom)) max(var(--space-4), var(--safe-left));margin-inline:auto;display:grid}.boot-error>:not(.access-form){width:min(100%,32rem)}.boot-error>.access-brand-logo{border:var(--border-width) solid color-mix(in srgb, var(--color-accent) 20%, var(--color-border));border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--color-accent-soft), var(--color-blue-soft) 52%, var(--color-lilac-soft));width:clamp(8.5rem,30vw,13.5rem);box-shadow:var(--shadow-sm);padding:.35rem}.boot-error .access-form{width:min(100%,32rem);padding:clamp(var(--space-5), 5vw, var(--space-7));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.boot-screen{min-height:100vh;place-content:center;justify-items:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-6);color:var(--color-text-muted);text-align:center;display:grid}.boot-screen p{font-size:var(--font-size-sm);font-weight:750}.boot-screen picture{border:var(--border-width) solid color-mix(in srgb, var(--color-accent) 20%, var(--color-border));border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--color-accent-soft), var(--color-blue-soft) 52%, var(--color-lilac-soft));width:min(17rem,68vw);box-shadow:var(--shadow-md);padding:.4rem}.boot-screen img{border-radius:calc(var(--radius-xl) - .3rem);width:100%}.member-card--compact{padding:var(--space-3);color:var(--color-text);justify-content:flex-start;text-decoration:none}.member-card--compact:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}@media (max-width:39.99rem){.page--settings .section-heading{flex-direction:column;align-items:flex-start}.field-row,.inline-form,.source-card,.data-card,.invite-card,.member-card{flex-direction:column;align-items:stretch}.summary-card{flex-direction:column;align-items:flex-start}.shopping-card{grid-template-columns:auto minmax(0,1fr)}.shopping-card>.icon-button:last-child{grid-column:2;justify-self:end}}@media (min-width:40rem){.page-heading,.home-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.week-strip{overflow:visible}}@media (min-width:64rem){.calendar-layout{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.65fr);align-items:start}.calendar-selection{top:calc(var(--header-height) + var(--space-5));position:sticky}.settings-nav__item{width:100%;min-width:0}}.sport-page{--sport-category:var(--color-sport-strength);--sport-category-soft:var(--color-sport-strength-soft);gap:var(--space-6);display:grid}.sport-hero{gap:var(--space-5);padding:clamp(var(--space-5), 4vw, var(--space-8));border:var(--border-width) solid color-mix(in srgb, var(--color-lilac) 22%, var(--color-border));border-radius:var(--radius-xl);background:radial-gradient(circle at 92% 18%, var(--color-blue-soft) 0 9%, transparent 9.5%), radial-gradient(circle at 82% 78%, var(--color-pink-soft) 0 7%, transparent 7.5%), linear-gradient(125deg, var(--color-lilac-soft), color-mix(in srgb, var(--color-secondary-soft) 55%, var(--color-surface)));box-shadow:var(--shadow-sm);display:grid;position:relative;overflow:hidden}.sport-hero:after{border:2.5rem solid color-mix(in srgb, var(--color-lilac) 10%, transparent);content:"";pointer-events:none;border-radius:50%;width:15rem;height:15rem;position:absolute;bottom:-7rem;right:-4rem}.sport-hero__copy{z-index:1;gap:var(--space-2);display:grid;position:relative}.sport-hero__title{max-width:15ch}.sport-hero__description{max-width:40rem;color:var(--color-text-muted);font-size:var(--font-size-md)}.sport-hero__actions{z-index:1;gap:var(--space-3);flex-wrap:wrap;display:flex;position:relative}.sport-summary{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sport-metric{--metric-tone:var(--color-accent);--metric-soft:var(--color-accent-soft);gap:var(--space-1);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--metric-soft);box-shadow:none;display:grid}.sport-metric:nth-child(2){--metric-tone:var(--color-secondary);--metric-soft:var(--color-secondary-soft)}.sport-metric:nth-child(3){--metric-tone:var(--color-blue);--metric-soft:var(--color-blue-soft)}.sport-metric:nth-child(4){--metric-tone:var(--color-pink);--metric-soft:var(--color-pink-soft)}.sport-metric__value{color:var(--color-text-strong);font-family:var(--font-display);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;font-weight:850;line-height:1.1}.sport-metric__label{color:color-mix(in srgb, var(--metric-tone) 78%, var(--color-text));font-size:var(--font-size-xs);font-weight:700}.sport-toolbar{gap:var(--space-3);display:grid}.sport-toolbar__row,.sport-toolbar__filters{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sport-toolbar__row{justify-content:space-between}.person-switcher{gap:var(--space-2);max-width:100%;padding-block:var(--space-1);scrollbar-width:thin;display:flex;overflow-x:auto}.person-switcher .person-chip{min-height:var(--tap-target);padding-inline:var(--space-2) var(--space-4);scroll-snap-align:start}.person-chip .avatar{margin-left:-.2rem}.sport-week-nav{gap:var(--space-2);padding-block:var(--space-1);scroll-padding-inline:var(--space-4);scroll-snap-type:inline mandatory;scrollbar-width:thin;grid-auto-columns:minmax(4.5rem,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}.sport-day-tab{align-content:center;place-items:center;gap:var(--space-1);min-height:4.75rem;padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-muted);scroll-snap-align:start;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);display:grid}.sport-day-tab:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.sport-day-tab[aria-selected=true],.sport-day-tab.is-active{border-color:color-mix(in srgb, var(--color-lilac) 40%, var(--color-border));background:var(--color-lilac-soft);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-lilac) 14%, transparent);color:var(--color-lilac)}.sport-day-tab.is-today:after{background:var(--color-accent);content:"";border-radius:50%;width:.35rem;height:.35rem}.sport-day-tab__label{font-size:var(--font-size-xs);text-transform:capitalize;font-weight:800}.sport-day-tab__date{color:var(--color-text-strong);font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:850}.sport-week-grid{gap:var(--space-4);display:grid}.sport-day-card{gap:var(--space-4);min-width:0;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);display:grid}.sport-day-card.is-today{border-color:color-mix(in srgb, var(--color-accent) 54%, var(--color-border));box-shadow:0 0 0 2px var(--color-accent-soft), var(--shadow-sm)}.sport-day-card.is-rest{background:var(--color-surface-muted);box-shadow:none}.sport-day-card.is-drop-target{border-color:var(--color-secondary);background:var(--color-secondary-soft)}.sport-day-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.sport-day-card__date{gap:.1rem;display:grid}.sport-day-card__day{color:var(--color-text-strong);text-transform:capitalize;font-weight:850}.sport-day-card__number,.sport-day-card__summary{color:var(--color-text-muted);font-size:var(--font-size-xs)}.sport-day-card__exercises{gap:var(--space-2);display:grid}.planned-exercise{align-items:center;gap:var(--space-3);min-height:var(--tap-target);padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.planned-exercise[draggable=true]{cursor:grab}.planned-exercise[draggable=true]:active{cursor:grabbing}.planned-exercise.is-dragging{border-color:var(--color-secondary);box-shadow:var(--shadow-md);opacity:.6}.planned-exercise__order{border-radius:var(--radius-sm);background:var(--sport-category-soft);width:1.75rem;height:1.75rem;color:var(--sport-category);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;place-items:center;font-weight:850;display:grid}.planned-exercise__copy{min-width:0}.planned-exercise__name{color:var(--color-text-strong);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.planned-exercise__prescription{color:var(--color-text-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.sport-rest-day{align-content:center;place-items:center;gap:var(--space-2);min-height:8rem;padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;display:grid}.exercise-library{gap:var(--space-5);display:grid}.exercise-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));display:grid}.exercise-card{--sport-category:var(--color-sport-strength);--sport-category-soft:var(--color-sport-strength-soft);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);align-content:start;display:grid;position:relative;overflow:hidden}.exercise-card:hover{border-color:color-mix(in srgb, var(--sport-category) 34%, var(--color-border));box-shadow:var(--shadow-sm);transform:translateY(-2px)}.exercise-card[data-category=cardio]{--sport-category:var(--color-sport-cardio);--sport-category-soft:var(--color-sport-cardio-soft)}.exercise-card[data-category=mobility],.exercise-card[data-category=stretching],.exercise-card[data-category=warmup]{--sport-category:var(--color-sport-mobility);--sport-category-soft:var(--color-sport-mobility-soft)}.exercise-card[data-category=recovery]{--sport-category:var(--color-sport-recovery);--sport-category-soft:var(--color-sport-recovery-soft)}.exercise-card.is-disabled{opacity:.66}.exercise-card__media{aspect-ratio:16/10;background:linear-gradient(145deg, var(--sport-category-soft), var(--color-surface-muted));position:relative;overflow:hidden}.exercise-card__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-standard)}.exercise-card:hover .exercise-card__media img{transform:scale(1.025)}.exercise-card__fallback{width:100%;height:100%;color:var(--sport-category);place-items:center;display:grid}.exercise-card__fallback svg{width:2.5rem;height:2.5rem}.exercise-card__category{top:var(--space-3);left:var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface-raised) 90%, transparent);box-shadow:var(--shadow-xs);color:var(--sport-category);font-size:var(--font-size-xs);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.25rem .55rem;font-weight:850;position:absolute}.exercise-card__body{gap:var(--space-3);padding:var(--space-4);display:grid}.exercise-card__title{color:var(--color-text-strong);font-size:var(--font-size-md);font-weight:850;line-height:1.25}.exercise-card__meta{gap:var(--space-2);flex-wrap:wrap;display:flex}.exercise-card__description{color:var(--color-text-muted);font-size:var(--font-size-xs)}.exercise-card__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.workout-shell{gap:var(--space-5);display:grid}.workout-header{z-index:calc(var(--z-sticky) - 1);top:calc(var(--header-height) + var(--safe-top));gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-surface) 94%, transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;position:sticky}.workout-header__topline{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.workout-header__timer{color:var(--color-text-strong);font-family:var(--font-mono);font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:750}.workout-progress__label{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);justify-content:space-between;font-weight:700;display:flex}.workout-exercise{--sport-category:var(--color-sport-strength);--sport-category-soft:var(--color-sport-strength-soft);gap:var(--space-4);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);display:grid}.workout-exercise.is-current{border-color:var(--sport-category);box-shadow:0 0 0 2px var(--sport-category-soft), var(--shadow-sm)}.workout-exercise.is-complete{border-color:color-mix(in srgb, var(--color-success) 45%, var(--color-border));background:color-mix(in srgb, var(--color-success-soft) 38%, var(--color-surface))}.workout-exercise.is-skipped{opacity:.65}.workout-exercise__header{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.workout-exercise__number{border-radius:var(--radius-md);background:var(--sport-category-soft);width:2.25rem;height:2.25rem;color:var(--sport-category);font-variant-numeric:tabular-nums;place-items:center;font-weight:850;display:grid}.workout-exercise__name{color:var(--color-text-strong);font-weight:850}.workout-exercise__target{color:var(--color-text-muted);font-size:var(--font-size-xs)}.set-list{gap:var(--space-2);display:grid}.set-row{grid-template-columns:2.25rem repeat(2, minmax(0, 1fr)) var(--tap-target);align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-emphasized);display:grid}.set-row.is-complete{border-color:color-mix(in srgb, var(--color-success) 42%, var(--color-border));background:var(--color-success-soft);animation:set-complete var(--duration-medium) var(--ease-emphasized)}.set-row__number{color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;text-align:center;font-weight:850}.set-row .input{text-align:center;min-height:2.5rem;padding:.45rem .55rem}.set-row__complete{width:var(--tap-target);height:var(--tap-target);border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);border-radius:50%;place-items:center;display:grid}.set-row__complete[aria-pressed=true]{border-color:var(--color-success);background:var(--color-success);color:var(--color-surface)}.timer-card{justify-items:center;gap:var(--space-4);padding:clamp(var(--space-6), 6vw, var(--space-9));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl);background:radial-gradient(circle, var(--color-secondary-soft), var(--color-blue-soft) 105%), var(--color-surface);text-align:center;display:grid}.timer-card__value{color:var(--color-text-strong);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:clamp(2.75rem,12vw,5.5rem);font-weight:750;line-height:1}.timer-card__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.timer-card__actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pain-note{gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid color-mix(in srgb, var(--color-warning) 42%, var(--color-border));border-radius:var(--radius-md);background:var(--color-warning-soft);display:grid}.sport-history-list{gap:var(--space-3);display:grid}.sport-history-item{align-items:center;gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.sport-history-item__date{border-radius:var(--radius-md);background:var(--color-surface-muted);width:3rem;height:3rem;color:var(--color-text);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;text-align:center;align-content:center;place-items:center;font-weight:800;line-height:1.1;display:grid}@keyframes set-complete{50%{transform:scale(1.015)}}@media (max-width:39.99rem){.sport-week-grid>.sport-day-card:not(.is-selected){display:none}.sport-toolbar__row>.search-box,.sport-toolbar__row>.input-group{width:100%}.workout-exercise{padding-inline:var(--space-3)}.set-row{grid-template-columns:1.75rem repeat(2, minmax(0, 1fr)) var(--tap-target);gap:var(--space-1);padding-inline:var(--space-1)}}@media (min-width:40rem){.sport-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.sport-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end}.sport-toolbar__filters{justify-content:flex-end}.sport-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sport-week-nav{display:none}.workout-exercise{padding:var(--space-5)}}@media (min-width:64rem){.sport-hero{grid-template-columns:minmax(0,1.35fr) auto;align-items:end}.sport-hero__actions{justify-content:flex-end}.sport-week-grid{align-items:start;gap:var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr))}.sport-day-card{min-height:20rem;padding:var(--space-3)}.planned-exercise{grid-template-columns:auto minmax(0,1fr);align-items:start}.planned-exercise>:last-child{grid-column:2}.workout-shell{grid-template-columns:minmax(0,1fr) minmax(18rem,.42fr);align-items:start}.workout-header{grid-column:1/-1}.workout-sidebar{top:calc(var(--header-height) + var(--space-5));position:sticky}}
