.week-goal{--wg-fg:var(--canvas-fg,var(--ui-surface-color,var(--bs-emphasis-color)));--wg-muted:var(--canvas-muted,var(--bs-secondary-color));--wg-rule:var(--canvas-border,var(--ui-surface-border,var(--bs-border-color)));--wg-bg:var(--canvas-bg,var(--bs-tertiary-bg));--wg-surface:var(--canvas-surface,var(--ui-surface-bg,var(--bs-body-bg)));--wg-accent:var(--ui-color-primary,var(--bs-primary));--wg-accent-ink:var(--ui-color-primary-text,var(--bs-white));--wg-ok:var(--ui-color-success,var(--bs-success));--wg-ok-bg:var(--canvas-ok-bg-2,var(--bs-success-bg-subtle));--wg-ok-line:var(--canvas-ok-bg,var(--bs-success-border-subtle));--wg-mono:var(--ui-font-mono,var(--bs-font-monospace));--wg-display:var(--ui-font-display,inherit);--wg-radius:.75rem;min-inline-size:0;color:var(--canvas-text,var(--ui-surface-color,var(--bs-body-color)));flex-direction:column;gap:.75rem;display:flex}.week-goal__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.week-goal__title,.week-goal__progress{font-family:var(--wg-mono);letter-spacing:1px;text-transform:uppercase;color:var(--wg-muted);font-size:.7rem}.week-goal__progress{color:var(--wg-fg);font-size:.85rem;font-weight:700}.week-goal[data-tone=done] .week-goal__progress,.week-goal[data-tone=extra] .week-goal__progress{color:var(--wg-ok)}.week-goal__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;display:grid}.week-goal__day{flex-direction:column;align-items:center;gap:.35rem;min-inline-size:0;display:flex}.week-goal__dot{aspect-ratio:1;background:var(--wg-bg);border:1px solid var(--wg-rule);inline-size:min(100%,2.25rem);color:var(--wg-fg);border-radius:.6rem;justify-content:center;align-items:center;font-size:.8rem;font-weight:900;display:flex}.week-goal__dot[data-attended]{background:var(--wg-ok-bg);border-color:var(--wg-ok-line);color:var(--wg-ok)}.week-goal__dot[data-today]:not([data-attended]){background:var(--wg-accent);border-color:var(--wg-accent);color:var(--wg-accent-ink)}.week-goal__day-label{font-family:var(--wg-mono);letter-spacing:1px;color:var(--wg-muted);font-size:.6rem}.week-goal__line{color:var(--wg-fg);margin:0;font-weight:600}.week-goal__note,.week-goal__cheer,.week-goal__goal{color:var(--wg-muted);margin:0;font-size:.85rem}.week-goal__cheer{font-style:italic}.week-goal__goal-row{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;display:flex}.week-goal__picker{border:1px solid var(--wg-rule);border-radius:var(--wg-radius);background:var(--wg-bg);flex-direction:column;flex:100%;gap:.75rem;padding:1rem;display:flex}.week-goal__picker-title{color:var(--wg-fg);margin:0;font-weight:800}.week-goal__options{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.4rem;display:grid}.week-goal .week-goal__option.ui-btn{border:1px solid var(--wg-rule);border-radius:var(--wg-radius);background:var(--wg-surface);min-block-size:2.75rem;box-shadow:none;color:var(--wg-fg);font-family:var(--wg-display);padding:0;font-size:1.2rem;font-weight:700;line-height:1;transform:none}.week-goal .week-goal__option.ui-btn:hover,.week-goal .week-goal__option.ui-btn:focus-visible{opacity:1;border-color:var(--wg-accent);background:color-mix(in srgb, var(--wg-accent) 12%, var(--wg-surface))}.week-goal .week-goal__option.ui-btn:focus-visible{outline:2px solid var(--wg-accent);outline-offset:2px}.week-goal .week-goal__option--active.ui-btn{border-color:var(--wg-accent);background:var(--wg-accent);color:var(--wg-accent-ink)}.week-goal .week-goal__option--active.ui-btn:hover,.week-goal .week-goal__option--active.ui-btn:focus-visible{background:var(--wg-accent);color:var(--wg-accent-ink)}.week-goal__picker-actions{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.week-goal .week-goal__save.ui-btn{border:1px solid var(--wg-accent);border-radius:var(--wg-radius);background:var(--wg-accent);box-shadow:none;color:var(--wg-accent-ink);letter-spacing:.3px;padding:.6rem 1.1rem;font-family:inherit;font-weight:800}.week-goal .week-goal__save.ui-btn:hover,.week-goal .week-goal__save.ui-btn:focus-visible{opacity:1;filter:brightness(1.1)}.week-goal .week-goal__save.ui-btn:disabled{opacity:1;border-color:var(--wg-rule);color:var(--wg-muted);background:0 0}.week-goal .week-goal__text-action.ui-btn{box-shadow:none;color:var(--wg-muted);background:0 0;padding:.35rem .1rem;font-family:inherit;font-weight:700}.week-goal .week-goal__text-action.ui-btn:hover,.week-goal .week-goal__text-action.ui-btn:focus-visible{color:var(--wg-fg);text-underline-offset:3px;background:0 0;text-decoration:underline}.week-goal .week-goal__text-action--accent.ui-btn,.week-goal .week-goal__text-action--accent.ui-btn:hover,.week-goal .week-goal__text-action--accent.ui-btn:focus-visible{color:var(--wg-accent)}.week-goal__nudge{border:1px solid var(--wg-rule);background:var(--wg-bg);border-radius:.75rem;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.week-goal__nudge[data-kind=celebration]{border-color:var(--wg-ok-line);background:var(--wg-ok-bg)}.week-goal__nudge-title{color:var(--wg-fg);margin:0;font-weight:800}.week-goal__nudge-body{color:var(--wg-fg);margin:0;font-size:.9rem}.week-goal__nudge-actions{flex-wrap:wrap;gap:.5rem;display:flex}