.ui-banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--size-hairline) solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-soft);color:var(--color-text-primary);display:flex}.ui-banner__icon{padding-top:var(--space-0-5);color:var(--color-text-info);flex-shrink:0;display:inline-flex}.ui-banner__icon svg{width:var(--size-icon-md);height:var(--size-icon-md)}.ui-banner__text{min-width:0;font:var(--type-body-sm);flex:1}.ui-banner__title{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ui-banner__body{color:var(--color-text-primary)}.ui-banner__title+.ui-banner__body{color:var(--color-text-secondary)}.ui-banner__action{min-width:var(--size-touch-min);min-height:var(--size-touch-min);padding:0 var(--space-2);margin:calc(-1 * var(--space-2)) 0;border-radius:var(--radius-full);color:var(--color-text-primary);font:var(--type-button);text-underline-offset:var(--space-1);cursor:pointer;background:0 0;flex-shrink:0;align-self:center;text-decoration:underline}.ui-banner__dismiss{width:var(--size-touch-min);height:var(--size-touch-min);margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) 0;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ui-banner__dismiss svg{width:var(--size-icon-md);height:var(--size-icon-md)}.ui-banner--success{border-color:var(--color-success-border);background:var(--color-success-soft)}.ui-banner--success .ui-banner__icon{color:var(--color-text-success)}.ui-banner--warning,.ui-banner--offline{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.ui-banner--warning .ui-banner__icon,.ui-banner--offline .ui-banner__icon{color:var(--color-text-warning)}.ui-banner--danger{border-color:var(--color-danger-border);background:var(--color-danger-soft)}.ui-banner--danger .ui-banner__icon{color:var(--color-text-danger)}.ui-banner--rest{border-color:var(--color-rest-border);background:var(--color-rest-soft)}.ui-banner--rest .ui-banner__icon{color:var(--color-text-rest)}.ui-empty{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:var(--size-hairline) dashed var(--color-border-default);border-radius:var(--radius-lg);text-align:center;flex-direction:column;display:flex}.ui-empty__icon{width:var(--size-touch-lg);height:var(--size-touch-lg);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-tertiary);justify-content:center;align-items:center;display:inline-flex}.ui-empty__icon svg{width:var(--space-7);height:var(--space-7)}.ui-empty--error .ui-empty__icon,.ui-empty--offline .ui-empty__icon{color:var(--color-text-warning)}.ui-empty--done .ui-empty__icon{color:var(--color-text-success)}.ui-empty__text{gap:var(--space-1);flex-direction:column;max-width:100%;display:flex}.ui-empty__title{font:var(--type-heading);color:var(--color-text-primary)}.ui-empty__description{font:var(--type-body-sm);color:var(--color-text-secondary)}.ui-empty__actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.ui-empty--compact{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);text-align:left;border:none;flex-direction:row}.ui-empty--compact .ui-empty__icon{background:0 0;width:auto;height:auto}.ui-empty--compact .ui-empty__icon svg{width:var(--size-icon-md);height:var(--size-icon-md)}.ui-empty--compact .ui-empty__text{flex:1;min-width:0}.ui-empty--compact .ui-empty__actions{justify-content:flex-start}.ui-empty__mark{width:auto;height:var(--size-brand-mark,48px);margin-bottom:var(--space-1);-webkit-user-select:none;user-select:none;display:block}.ui-empty--compact .ui-empty__mark{height:var(--size-icon-lg);margin:0}.ui-numbersheet{gap:var(--space-4);flex-direction:column;display:flex}.ui-numbersheet__stepper{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ui-numbersheet__btn{width:var(--size-touch-lg);height:var(--size-touch-lg);border-radius:var(--radius-md);background:var(--color-surface-card);color:var(--color-text-primary);cursor:pointer;touch-action:manipulation;transition:transform var(--duration-instant) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ui-numbersheet__btn svg{width:var(--size-icon-lg);height:var(--size-icon-lg)}.ui-numbersheet__btn:active:not([aria-disabled=true]){transform:scale(var(--motion-scale-press-icon));background:var(--color-surface-card-pressed)}.ui-numbersheet__btn[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:default}.ui-numbersheet__value{justify-content:center;align-items:baseline;gap:var(--space-2);font:var(--type-display-md);letter-spacing:var(--tracking-normal);font-variant-numeric:tabular-nums;color:var(--color-text-primary);flex:1;display:flex}.ui-numbersheet__unit{font:var(--type-body);color:var(--color-text-tertiary)}.ui-numbersheet__chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-numbersheet__chips>.ui-chip{min-width:var(--size-touch-min);flex:auto}.ui-numbersheet__chips.is-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ui-numbersheet__chips.is-grid>.ui-chip{min-width:0;padding:0 var(--space-2);white-space:normal;text-align:center}.ui-numbersheet__description{font:var(--type-body);color:var(--color-text-secondary)}.ui-numbersheet__field{align-items:center;display:flex;position:relative}.ui-numbersheet__input{width:100%;min-height:var(--size-touch-lg);padding:0 var(--space-12) 0 var(--space-4);font:var(--type-numeric);font-size:var(--font-size-xl);color:var(--color-text-primary);background:var(--color-surface-sunken);border:var(--size-hairline) solid var(--color-border-control);border-radius:var(--radius-input);outline:none}.ui-numbersheet__input:focus{border-color:var(--color-accent);box-shadow:inset 0 0 0 var(--size-hairline) var(--color-accent)}.ui-numbersheet__field.has-error .ui-numbersheet__input{border-color:var(--color-danger)}.ui-numbersheet__field-unit{right:var(--space-4);font:var(--type-body);color:var(--color-text-tertiary);pointer-events:none;position:absolute}.ui-numbersheet__hint{font:var(--type-caption);color:var(--color-text-tertiary)}.ui-numbersheet__error{align-items:flex-start;gap:var(--space-1);font:var(--type-caption);color:var(--color-text-danger);display:flex}.ui-numbersheet__error svg{width:var(--size-icon-sm);height:var(--size-icon-sm);flex-shrink:0}.ui-skeleton{gap:var(--space-3);flex-direction:column;display:flex}.ui-skeleton__block{background-color:var(--color-skeleton-base);background-image:linear-gradient(90deg, transparent 0%, var(--color-skeleton-highlight) 50%, transparent 100%);border-radius:var(--radius-sm);animation:ui-skeleton-shimmer var(--duration-loop-shimmer) var(--ease-linear) infinite;animation-play-state:var(--motion-loop-state);background-repeat:no-repeat;background-size:200% 100%;display:block}@keyframes ui-skeleton-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.ui-skeleton__lines{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.ui-skeleton__text{height:1em;font:var(--type-body)}.ui-skeleton__text--100{width:100%}.ui-skeleton__text--80{width:80%}.ui-skeleton__text--60{width:60%}.ui-skeleton__text--overline{width:40%;height:var(--font-size-2xs)}.ui-skeleton__title{height:var(--font-size-5xl);border-radius:var(--radius-sm);max-width:60%}.ui-skeleton__circle{border-radius:var(--radius-full);flex-shrink:0}.ui-skeleton__circle--row{width:var(--size-avatar-sm);height:var(--size-avatar-sm)}.ui-skeleton__rect{border-radius:var(--radius-md);max-width:100%}.ui-skeleton__row{align-items:center;gap:var(--space-3);min-height:var(--size-touch-lg);display:flex}.ui-skeleton__stat{gap:var(--space-2);flex-direction:column;display:flex}.ui-skeleton__number{width:50%;height:var(--font-size-4xl)}.ui-skeleton__chart{align-items:flex-end;gap:var(--space-3);height:calc(var(--space-20) + var(--space-10));padding-bottom:var(--space-2);border-bottom:var(--size-hairline) solid var(--color-viz-axis);display:flex}.ui-skeleton__bar{width:var(--space-6);border-radius:var(--radius-viz-bar) var(--radius-viz-bar) 0 0}.ui-skeleton__bar--1{height:45%}.ui-skeleton__bar--2{height:80%}.ui-skeleton__bar--3{height:60%}.ui-skeleton__exercise{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface-card);flex-direction:column;display:flex}.ui-skeleton__setline{height:var(--size-touch-lg);border-radius:var(--radius-md)}.ui-skeleton__hero,.ui-skeleton__proposal{gap:var(--space-3);padding:var(--layout-card-padding);border:var(--size-hairline) solid var(--color-accent-border);border-radius:var(--radius-card);background:var(--color-surface-card);flex-direction:column;display:flex}.ui-skeleton__proposal{border-color:var(--color-border-subtle)}.ui-skeleton__hero-button{border-radius:var(--radius-full);height:64px}.ui-skeleton__button{height:var(--size-touch);border-radius:var(--radius-full);flex:1}.ui-skeleton__buttons{gap:var(--space-2);display:flex}.ui-skeleton__stat-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ui-stepper{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ui-stepper__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.ui-stepper__label{font:var(--type-overline);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-tertiary)}.ui-stepper__hint{font:var(--type-caption);color:var(--color-text-tertiary)}.ui-stepper__control{padding:var(--space-0-5);border-radius:var(--radius-md);background:var(--color-surface-sunken);align-items:stretch;display:flex}.ui-stepper.has-error .ui-stepper__control{box-shadow:inset 0 0 0 var(--size-hairline) var(--color-danger)}.ui-stepper__btn{border-radius:var(--radius-sm);background:var(--color-surface-card);color:var(--color-text-primary);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform var(--duration-instant) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ui-stepper__btn svg{width:var(--size-icon-lg);height:var(--size-icon-lg);transition:transform var(--duration-instant) var(--ease-standard)}.ui-stepper__btn:active:not([aria-disabled=true]):not(:disabled){background:var(--color-surface-card-pressed)}.ui-stepper__btn:active:not([aria-disabled=true]):not(:disabled) svg{transform:scale(var(--motion-scale-press-icon))}.ui-stepper__btn[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:default}.ui-stepper__value{min-width:var(--size-touch-lg);border-radius:var(--radius-sm);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.ui-stepper__value.is-editable{cursor:pointer}.ui-stepper__number{font:var(--type-stepper-value);font-variant-numeric:tabular-nums;white-space:nowrap;display:block}.ui-stepper__unit{align-items:center;gap:var(--space-0-5);font:var(--type-caption);color:var(--color-text-tertiary);display:inline-flex}.ui-stepper__trend{width:var(--font-size-xs);height:var(--font-size-xs)}.ui-stepper__value.is-suggestion .ui-stepper__number,.ui-stepper__value.is-suggestion .ui-stepper__unit{color:var(--color-suggestion)}.ui-stepper__error{align-items:flex-start;gap:var(--space-1);font:var(--type-caption);color:var(--color-text-danger);display:flex}.ui-stepper__error svg{width:var(--size-icon-sm);height:var(--size-icon-sm);flex-shrink:0}.ui-stepper--lg .ui-stepper__control{min-width:calc(var(--size-touch-min) * 2 + var(--size-touch-lg) + var(--space-0-5) * 2)}.ui-stepper--lg .ui-stepper__btn{width:var(--size-touch-min);min-height:var(--size-touch-lg)}.ui-stepper--lg.ui-stepper--long .ui-stepper__number{font-size:var(--font-size-3xl)}.ui-stepper--md .ui-stepper__btn{width:var(--size-touch);min-height:var(--size-touch)}.ui-stepper--md .ui-stepper__number{font-size:var(--font-size-3xl)}.ui-stepper--compact .ui-stepper__btn{width:var(--size-touch-min);min-height:var(--size-touch-min)}.ui-stepper--compact .ui-stepper__value{align-items:center;gap:var(--space-1);padding:0 var(--space-2);flex-direction:row}.ui-stepper--compact .ui-stepper__number{font:var(--type-numeric);font-variant-numeric:tabular-nums}.ui-stepper.is-disabled{opacity:var(--opacity-disabled);pointer-events:none}
