/* Date shape and cycle meaning are independent of each person's app accent. */
.calendar-unified .calendar-day{--date-fill:var(--v-neutral);--date-ink:var(--v-neutral-ink);--date-line:var(--muted)}
.calendar-unified .calendar-day[data-fertility=possible]{--date-fill:var(--v-yellow);--date-ink:var(--v-yellow-ink);--date-line:var(--v-yellow-line)}
.calendar-unified .calendar-day[data-fertility=central]{--date-fill:var(--v-green);--date-ink:var(--v-green-ink);--date-line:var(--v-green-line)}
.calendar-unified .calendar-day[data-fertility=outside]{--date-fill:var(--v-blue);--date-ink:var(--v-blue-ink);--date-line:var(--v-blue-line)}
.calendar-unified .calendar-day.estimated-period,.calendar-unified .calendar-day.has-period{--date-fill:var(--v-pink);--date-ink:var(--v-pink-ink);--date-line:var(--v-pink-line)}
.calm-shell .calendar-unified .calendar-day.has-intimacy .day-numeral{width:40px;height:40px;min-height:40px;max-width:100%;position:relative;isolation:isolate;display:grid;place-items:center;border-radius:0;background:transparent!important;color:var(--date-ink)!important;outline:none!important;box-shadow:none!important;line-height:1;font-size:16px;font-weight:750;padding:0}
.calm-shell .calendar-unified .calendar-day.has-intimacy .date-heart{position:absolute;inset:0;width:100%;height:100%;max-width:100%;transform:none;overflow:hidden;z-index:-1;fill:var(--date-fill);stroke:var(--date-line);stroke-width:2;stroke-linejoin:round}
.calm-shell .calendar-unified .calendar-day.is-today.has-intimacy .day-number{outline:2px solid var(--ink);outline-offset:-2px}
.calm-shell .calendar-unified .calendar-day.estimated-period.has-intimacy .date-heart{stroke-dasharray:4 3}
.calendar-unified .day-number{min-width:0}

/* A small illustrated award has a different body, finish and seal when earned. */
.well-badge,.well-medal-peek{--medal-edge:#f3cf77;--medal-edge-line:#ad7e2e;--medal-center:#fff9e9;--medal-highlight:#fffefa;--medal-symbol:#f8ce68;--medal-symbol-line:#b38736;--medal-ribbon:#e4a0bc;--medal-ribbon-line:#b97592;--medal-face:#72513b;--medal-cheek:#f1a3b0;--medal-spark:#e6ad49;--medal-seal:#5d855a;--medal-seal-ink:#fff}
.well-badge.tone-1,.well-medal-peek.tone-1{--medal-ribbon:#edbc71;--medal-ribbon-line:#b98b49;--medal-symbol:#f5d77a;--medal-symbol-line:#ad872f}
.well-badge.tone-2,.well-medal-peek.tone-2{--medal-ribbon:#b8a2d7;--medal-ribbon-line:#8b74a9;--medal-symbol:#d9c6ed;--medal-symbol-line:#9370ad;--medal-center:#fff6df}
.well-badge.tone-3,.well-medal-peek.tone-3{--medal-ribbon:#9abed8;--medal-ribbon-line:#6a96b7;--medal-symbol:#bacce9;--medal-symbol-line:#7c97c5}
.well-badge.waiting,.well-medal-peek.is-waiting{--medal-edge:#e6e2e9;--medal-edge-line:#a9a1b0;--medal-center:#f7f5f8;--medal-highlight:#fff;--medal-symbol:#e4dfe9;--medal-symbol-line:#b7acbf;--medal-ribbon:#d8d2df;--medal-ribbon-line:#b0a6ba;--medal-face:#8f839d;--medal-cheek:#d7ccd9;--medal-spark:#b6a9c3}
.well-badges .well-badge{padding:22px 14px 18px;border:1px solid var(--border);background:var(--surface);gap:9px;box-shadow:none;border-radius:24px}
.well-badges .well-badge.earned{background:linear-gradient(155deg,color-mix(in srgb,var(--medal-ribbon) 16%,var(--surface)),var(--surface) 65%);border-color:color-mix(in srgb,var(--medal-ribbon) 65%,var(--border))}
.well-badges .well-badge.waiting{background:var(--surface-2);border-style:dashed}
.well-medal-art{width:104px;height:123px;flex-shrink:0;overflow:visible;display:block}
.well-badge.earned>.well-medal-art{animation:well-float 5s ease-in-out infinite;transform-origin:50% 40%}
.well-badge.earned.tone-1>.well-medal-art{animation:well-turn 7s ease-in-out infinite}
.well-badge.earned.tone-2>.well-medal-art{animation:well-breathe 6s ease-in-out infinite}
.well-badge.earned.tone-3>.well-medal-art{animation:well-sway 6s ease-in-out infinite}
.well-badges .well-badge strong{font-size:15px;line-height:1.4}
.well-badge .well-medal-state{color:var(--muted);border:1px solid var(--border);background:var(--surface);font-size:11px;letter-spacing:.2px;min-width:82px}
.well-badge.earned .well-medal-state{color:var(--v-green-ink);background:var(--v-green);border-color:var(--v-green-line)}
.well-badge>progress{width:85%;max-width:125px;height:5px;appearance:none;border:0;border-radius:9px;background:var(--border);overflow:hidden}
.well-badge>progress::-webkit-progress-bar{background:var(--border);border-radius:9px}.well-badge>progress::-webkit-progress-value{background:#bba5cb;border-radius:9px}.well-badge>progress::-moz-progress-bar{background:#bba5cb;border-radius:9px}
.well-badge small.well-medal-count{font-size:10px;color:var(--muted);max-width:145px;line-height:1.5}
.well-medal-peek{width:65px;height:73px;padding:0;border:0!important;background:none!important;display:grid;place-items:center;flex-shrink:0}
.well-medal-peek>.well-medal-art{width:60px;height:71px;animation:none}
.section-medals .well-medal-peek{margin-right:4px}.well-badges.compact .well-medal-art{width:85px;height:101px}
:root[data-theme=dark] .well-badge.waiting,:root[data-theme=dark] .well-medal-peek.is-waiting{--medal-edge:#48424e;--medal-edge-line:#92879e;--medal-center:#302c36;--medal-highlight:#62596e;--medal-symbol:#655b71;--medal-symbol-line:#a799b8;--medal-ribbon:#534a60;--medal-ribbon-line:#8e7e9f;--medal-face:#c1b5cb}
.badges-paused .well-badge.earned>.well-medal-art{animation:none!important}

/* Everyday settings use a short choice; owner controls are grouped separately. */
.settings-intro h2{font-size:26px;letter-spacing:-.7px;margin-bottom:8px}.settings-intro p{color:var(--muted);font-size:14px}
.simple-settings>a,.owner-settings .settings-home>a{border:1px solid var(--border);background:var(--surface);padding:22px;display:flex;align-items:center;gap:17px;text-decoration:none;color:var(--ink);border-radius:21px;min-width:0}
.simple-settings>a>.ui-icon,.owner-settings .settings-home>a>.ui-icon{width:24px;height:24px;flex-shrink:0;color:var(--accent-strong)}
.simple-settings>a>.ui-icon,.owner-settings .settings-home>a>.ui-icon{width:38px;height:38px;padding:8px;box-sizing:content-box;background:var(--soft);border-radius:16px}
.simple-settings>a>span,.owner-settings .settings-home>a>span{display:grid;gap:6px}.simple-settings strong{font-size:16px}.simple-settings small{font-size:12px;color:var(--muted)}
.owner-settings{margin-top:26px}.owner-settings>summary{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:650}.owner-settings>p{font-size:13px;color:var(--muted)}
.personal-appearance{max-width:690px;padding:28px!important}.personal-appearance h2{font-size:25px;letter-spacing:-.6px;margin-bottom:8px}.personal-appearance>p{font-size:14px;color:var(--muted);max-width:440px;line-height:1.7}
.settings-illustration{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;color:var(--accent-strong);background:var(--soft);margin-bottom:20px}.settings-illustration>.ui-icon{width:29px;height:29px}
.personal-appearance fieldset{border:0;padding:0;margin:24px 0}.personal-appearance legend{font-size:13px;font-weight:650;margin-bottom:12px}.personal-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.personal-swatches button{display:grid;justify-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);padding:14px 7px;border-radius:15px;font-size:11px;min-height:84px;color:var(--muted)}
.personal-swatches button>span{width:28px;height:28px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #0001}.personal-swatches button[aria-pressed=true]{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong);color:var(--ink);font-weight:700}.personal-appearance input[type=color]{width:100%;max-width:160px;height:48px;padding:5px}
.personal-appearance label{max-width:350px;margin:18px 0}.personal-appearance>button.primary{margin-top:10px}
@media(max-width:760px){.calm-shell .calendar-unified .calendar-day.has-intimacy .day-numeral{width:34px;height:34px;min-height:34px;font-size:14px}.well-medal-art{width:92px;height:109px}.well-badges .well-badge{padding:18px 10px}.well-badge small{font-size:11px}.well-medal-peek{width:58px;height:67px}.well-medal-peek>.well-medal-art{width:54px;height:64px}.simple-settings>a,.owner-settings .settings-home>a{padding:18px;gap:14px}.personal-appearance{padding:22px!important}.personal-swatches{gap:5px}.personal-swatches button{padding:12px 4px;font-size:9px}.personal-swatches button>span{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.well-badge.earned>.well-medal-art{animation:none!important}}
@media(max-width:760px){.simple-settings>a>.ui-icon,.owner-settings .settings-home>a>.ui-icon{width:24px;height:24px;padding:10px}}

/* Keep the same cycle meaning in the diary, date shapes and legend. */
.daily-cycle-mini>button[data-fertility]{border-left-color:var(--muted)}
.daily-cycle-mini>button[data-fertility=central]{border-left-color:var(--v-green-line)}
.daily-cycle-mini>button[data-fertility=possible]{border-left-color:var(--v-yellow-line)}
.daily-cycle-mini>button[data-fertility=outside]{border-left-color:var(--v-blue-line)}
.daily-cycle-mini>button[data-fertility=central]>.ui-icon{color:var(--v-green-ink)}
.daily-cycle-mini>button[data-fertility=possible]>.ui-icon{color:var(--v-yellow-ink)}
.daily-cycle-mini>button[data-fertility=outside]>.ui-icon{color:var(--v-blue-ink)}
.calendar-profile{display:flex;align-items:center;gap:8px;margin:2px 0 12px;font-size:13px;color:var(--muted)}
.calendar-profile .ui-icon{width:19px;height:19px}.calendar-profile b{color:var(--ink)}
.daily-load-error{padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.daily-load-error p{margin:0 0 12px;font-size:14px}.daily-cycle-mini small{font-size:12px}
html{scroll-padding-block:24px 110px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{scroll-margin-block:24px 110px}

:root[data-theme] .text-button{color:var(--accent-strong)}
:root[data-theme=dark] .daily-tip:first-child{background:color-mix(in srgb,#407489 15%,var(--surface))}
