@property --sky-left { syntax: '<color>'; inherits: true; initial-value: #f4a69c; }
@property --sky-right { syntax: '<color>'; inherits: true; initial-value: #c4a0d4; }
/* Global appearance tokens; Rhythm data and identity remain unchanged. */
:root {
  --rhythm-display: system-ui, sans-serif; --rhythm-body: system-ui, sans-serif;
  --rhythm-caption: var(--rhythm-body); --rhythm-numeric: var(--rhythm-body);
  --sky-accent: #a63962; --sky-accentSecondary: #785196;
  --sky-partnerAAtmosphere: #f4a69c; --sky-partnerBAtmosphere: #c4a0d4;
  --rhythm-press: 150ms; --rhythm-settle: 280ms; --rhythm-morph: 450ms;
  font-family: var(--rhythm-body); color: #382d3b;
}
#rhythmCalendar { overflow: visible; position: relative; isolation: isolate; border: 1px solid rgba(255,255,255,.8); border-radius: 28px; background: var(--sky-surfaceTint,#fff2e9); box-shadow: 0 15px 40px #553a5010; transition: background-color var(--rhythm-morph), --sky-left var(--rhythm-morph), --sky-right var(--rhythm-morph); padding-bottom: 14px; }
#rhythmCalendar h2, #rhythmCalendar h3, #rhythmCalendar h4, #rhythmSheet h2, #rhythmSheet h4 { font-family: var(--rhythm-display); letter-spacing: -.025em; }
.rhythm-heading { display:flex; justify-content:space-between; align-items:center; padding:20px 16px 8px; gap:12px; }
.rhythm-heading h2 { font-size:1.7rem; margin:0; }
.rhythm-kicker { margin:0 0 4px; font-size:.78rem; color:#725564; }
.rhythm-menu { position:relative; z-index:5; }
.rhythm-menu > summary { display:grid; place-items:center; width:44px; height:44px; cursor:pointer; list-style:none; border:1px solid #ffffffb0; border-radius:50%; background:#ffffff50; }
.rhythm-menu > summary::-webkit-details-marker { display:none; }
.rhythm-menu-panel { position:absolute; right:0; top:48px; width:230px; padding:8px; border:1px solid #e3d5df; background:#fff9f5; box-shadow:0 12px 32px #37223820; border-radius:18px; }
.rhythm-menu-panel button { display:block; min-height:44px; width:100%; text-align:left; background:transparent; border:0; padding:8px; color:inherit; border-radius:10px; font:inherit; font-size:.85rem; }
.rhythm-menu-panel button:disabled { color:#817780; cursor:default; }
.rhythm-sky { position:relative; overflow:hidden; isolation:isolate; margin:8px; border-radius:22px; padding:64px 16px 14px; display:grid; grid-template-columns:1fr 1fr; gap:10px; background:#eee2e4; }
.rhythm-sky::before { content:""; position:absolute; inset:-15%; z-index:-2; background:radial-gradient(ellipse at 15% 30%,var(--sky-left) 0%,transparent 65%),radial-gradient(ellipse at 85% 20%,var(--sky-right) 0%,transparent 65%),var(--sky-skyDay,#fff3e8); transition:background var(--rhythm-morph); }
.rhythm-sky::after { content:""; position:absolute; inset:25% -10% -30%; z-index:-1; background:linear-gradient(transparent,#fff6e6e8 65%); border-radius:50%; }
.rhythm-sky > div { display:flex; flex-direction:column; font-size:.78rem; line-height:1.5; min-width:0; overflow-wrap:anywhere; }
.rhythm-sky > div:nth-of-type(2) { text-align:right; }
.rhythm-sky strong { font-size:1rem; }
.rhythm-sky p { grid-column:1/-1; margin:6px 0 0; font-size:.72rem; text-align:center; color:#715765; }
.rhythm-orb { position:absolute; top:calc(43px - var(--orb-height,0px)); left:15%; width:23px; height:23px; border-radius:50%; background:#fff1b4; box-shadow:0 0 20px 9px #fff0ab70; transition:top var(--rhythm-morph); }
.rhythm-orb.is-partner { left:auto; right:15%; }
.rhythm-orb[data-night="true"] { background:#fff7e1; box-shadow:inset -7px -2px 0 #beb8d8,0 0 15px #efebff50; }
.rhythm-design { margin:8px 16px 14px; font-size:.8rem; }
.rhythm-design summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--sky-accent); }
.rhythm-design label { display:grid; gap:4px; margin:10px 0; }
.rhythm-design select { width:100%; min-height:44px; border:1px solid #cdb8c7; border-radius:12px; background:#ffffff90; padding:8px; font:inherit; color:#382d3b; }
.rhythm-design small { display:block; line-height:1.5; }
#rhythmCalendar .rhythm-filter { background:#ffffff50; border-color:#ffffffc0; box-shadow:0 2px 6px #66446308; transition:background var(--rhythm-settle),box-shadow var(--rhythm-settle),transform var(--rhythm-press); }
#rhythmCalendar .rhythm-filter[aria-pressed="true"] { color:var(--sky-accent); background:#fff9f5; border-color:var(--sky-accent); box-shadow:0 3px 10px #70405218; }
#rhythmCalendar button:active { transform:scale(.96); }
#rhythmCalendar .rhythm-day { min-height:68px; border-radius:15px; transition:background var(--rhythm-settle),transform var(--rhythm-press); gap:5px; font-family:var(--rhythm-numeric); }
#rhythmCalendar .rhythm-day[aria-pressed="true"] { border-color:var(--sky-accent); background:#fffafaac; box-shadow:inset 0 1px 0 white; }
#rhythmCalendar .rhythm-markers { gap:0; height:24px; align-items:center; }
.rhythm-avatar-slot { width:21px; height:24px; display:flex; align-items:center; justify-content:center; }
.rhythm-person-token { display:inline-flex; position:relative; align-items:center; justify-content:center; flex-shrink:0; }
.rhythm-face { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--sky-partnerAAtmosphere); border:2px solid #fff; box-shadow:0 0 0 1px #a6396220,0 3px 10px #76556618; overflow:hidden; font-size:1rem; color:#382d3b; }
.is-partner .rhythm-face { background:var(--sky-partnerBAtmosphere); }
.rhythm-face img { width:100%; height:100%; object-fit:cover; }
.is-mini .rhythm-face { width:20px; height:20px; font-size:.58rem; border-width:1px; box-shadow:0 1px 4px #53364a18; }
.is-quiet .rhythm-face { filter:grayscale(.8); opacity:.45; box-shadow:none; }
.rhythm-count { position:absolute; right:-4px; top:-5px; border-radius:8px; min-width:14px; padding:0 2px; font-size:.65rem; font-family:var(--rhythm-numeric); line-height:1.35; background:#fff; color:#382d3b; box-shadow:0 1px 3px #4c234520; }
.is-mini .rhythm-count { top:-5px; right:-1px; font-size:.55rem; min-width:10px; padding:0 1px; }
.rhythm-day-preview { padding:8px; }
.rhythm-memory { border-top:1px solid #b98da32b; padding:16px 0; }
.rhythm-memory h4 { margin:0 0 12px; font-size:1rem; font-weight:600; }
.rhythm-people { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rhythm-person { display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; text-align:center; overflow-wrap:anywhere; }
.rhythm-person strong { font-size:.86rem; font-weight:600; }
.rhythm-person-state, .rhythm-time { font-size:.78rem; color:#705869; }
.rhythm-time { font-variant-numeric:tabular-nums; }
.rhythm-together-copy { font-size:.78rem; color:var(--sky-accent); margin:-5px 0 16px; }
.rhythm-quiet-copy { padding:12px 0; color:#78596e; }
#rhythmSheet { background:#fff8f2; }
#rhythmSheet .rhythm-memory { padding-block:20px; }
#rhythmSheet details { margin-top:14px; font-size:.8rem; }
#rhythmCalendar :focus-visible, #rhythmSheet :focus-visible { outline:2px solid #754266; outline-offset:2px; }
#rhythmCalendar .rhythm-day:focus-visible { outline-offset:-3px; }
@media (min-width:700px) { .rhythm-sky { padding-inline:32px; } #rhythmCalendar .rhythm-day { min-height:84px; } .is-mini .rhythm-face { width:24px; height:24px; font-size:.7rem; } .rhythm-avatar-slot { width:27px; } }
@media (prefers-reduced-motion:reduce) { #rhythmCalendar *, #rhythmCalendar *::before, #rhythmCalendar *::after { transition:none!important; animation:none!important; } #rhythmCalendar button:active { transform:none; } }

.rhythm-person-token { transition:transform var(--rhythm-settle); }
.rhythm-day:has(.is-current):has(.is-partner):active .is-current { transform:translateX(2px); }
.rhythm-day:has(.is-current):has(.is-partner):active .is-partner { transform:translateX(-2px); }
@media (prefers-reduced-motion:reduce) { #rhythmCalendar { transition:none; } .rhythm-day:active .rhythm-person-token { transform:none!important; } }

/* Signature Reaction sandbox: preview-local state, no history writes. */
.signature-preview { margin:8px 16px; font: .82rem/1.5 var(--rhythm-body); }
.signature-preview > summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--sky-accent); }
.signature-preview label { display:block; margin:10px 0; }
.signature-preview input:not([type="checkbox"]) { display:block; width:100%; min-height:44px; padding:8px; border:1px solid #cdb8c7; border-radius:12px; color:#382d3b; background:#fff8; font:inherit; }
.signature-preview .signature-none { display:flex; align-items:center; gap:8px; min-height:44px; }
.signature-moment { position:relative; margin-top:16px; padding:12px; border-radius:20px; background:#ffffff70; border:1px solid #ffffffc0; }
.signature-entry { display:flex; align-items:center; width:100%; gap:12px; padding:8px 0; text-align:left; border:0; background:transparent; color:inherit; font:inherit; min-height:60px; }
.signature-entry strong,.signature-entry small { display:block; }
.signature-avatar { width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--sky-partnerBAtmosphere);border:2px solid white;flex-shrink:0; }
.signature-actions { display:flex; gap:12px; align-items:center; }
.signature-actions button { min-width:48px;min-height:44px;background:#fff9;border:1px solid #d9c6d5;border-radius:20px;font:inherit;color:inherit; }
.signature-pop { position:absolute;pointer-events:none;font-size:1.8rem;opacity:0;transform:translate(-50%,-50%); }
.signature-hint,#signatureSettingHint { color:#725564;font-size:.75rem; }
#signatureComments p { overflow-wrap:anywhere; padding:8px 12px;background:#fff8;border-radius:14px; }
#signatureCommentForm button { margin-top:8px; }
#signatureStatus { min-height:1.5em; }

/* Full Our History flow lives in the normal Together page scroll. */
.together-main > .together-up-next { order:1; }
.together-main > .together-todos { order:2; }
.together-main > .together-future-row { order:3; }
.together-main > #rhythmFull { order:4; }
.together-main > .together-status,.together-main > .together-retry { order:5; }
#rhythmFull { box-sizing:border-box; display:block; position:relative; width:100%; max-width:none; margin:var(--space-2) 0 0; padding:0; overflow:visible; border:0; background:transparent; color:var(--color-ink); }
#rhythmFull #rhythmCalendar { width:100%; margin:0 auto; min-width:0; }
#rhythmFull .rhythm-sky { min-height:100px; }
#rhythmHomeSummary { margin:.35rem 0 0; color:var(--color-ink-soft); font-size:.875rem; }
#rhythmActivityDescription { margin:0 var(--space-4); }
#rhythmLogHeading,#rhythmLog,.rhythm-day-preview,#rhythmPrototypeHint { margin:var(--space-4); }
.rhythm-log-day h4 { padding:.6rem; background:var(--surface-raised); border-radius:var(--radius-sm); }
.rhythm-log-entry { display:grid; grid-template-columns:auto 1fr; gap:.3rem .6rem; padding:var(--space-3) 0; border-bottom:1px solid var(--surface-border); }
.rhythm-log-content { display:grid; gap:.25rem; min-width:0; }
.rhythm-log-content small { color:var(--color-ink-soft); font-variant-numeric:tabular-nums; }
.rhythm-log-main { display:grid; gap:.25rem; width:100%; min-width:0; padding:0; border:0; color:inherit; background:transparent; text-align:left; font:inherit; }
.rhythm-log-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.2rem; }
.rhythm-log-actions button { min-height:44px; padding:.35rem .75rem; border:1px solid var(--surface-border); border-radius:var(--radius-pill); color:inherit; background:var(--surface-soft); font:inherit; font-size:.8rem; }
.rhythm-log-message,.rhythm-log-comments p { margin:0; overflow-wrap:anywhere; }
.rhythm-log-message { line-height:var(--leading-copy); }
.rhythm-log-reaction { justify-self:start; padding:.2rem .55rem; border:1px solid var(--surface-border); border-radius:var(--radius-pill); background:var(--surface-soft); font-size:.75rem; }
.rhythm-log-comments { display:grid; gap:.3rem; margin-top:.2rem; padding-left:.65rem; border-left:2px solid var(--surface-border); color:var(--color-ink-soft); font-size:.8rem; }
.rhythm-log-section { margin:var(--space-4); }
.rhythm-composer { display:grid; gap:.4rem; margin-top:var(--space-4); }
.rhythm-composer > div { display:flex; gap:.5rem; }
.rhythm-composer input { min-width:0; flex:1; padding:.7rem .8rem; border:1px solid var(--surface-border); border-radius:var(--radius-md); color:inherit; background:var(--surface-raised); font:inherit; }
.rhythm-composer p { min-height:1.25rem; margin:0; color:var(--color-ink-soft); font-size:.8rem; }
.rhythm-adjust-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:var(--space-3) 0; border-bottom:1px solid var(--surface-border); }
.rhythm-adjust-row > div { display:flex; align-items:center; gap:.7rem; }
.rhythm-adjust-row button { width:44px; height:44px; border:1px solid var(--surface-border); border-radius:50%; color:inherit; background:var(--surface-raised); font-size:1.25rem; }
.rhythm-adjust-row.is-partner { color:var(--color-ink-soft); }
#rhythmAdjust,#rhythmExportDialog select { margin-top:.7rem; }
#rhythmExportDialog select { width:100%; min-height:44px; padding:.6rem; border:1px solid var(--surface-border); border-radius:var(--radius-md); background:var(--surface-raised); }
#rhythmConversationBody { display:grid; gap:.5rem; margin:var(--space-3) 0; }
.rhythm-comment { padding:.6rem .75rem; border-radius:var(--radius-md); background:var(--surface-soft); }
.rhythm-comment small { display:block; color:var(--color-ink-soft); }
.rhythm-face { overflow:hidden; flex-shrink:0; background:var(--sky-surfaceTint); }
.rhythm-face img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
body h1,body h2,body h3,body h4 { font-family:var(--rhythm-display,var(--font-sans)); }
:root[data-theme] .shared-horizon { background:radial-gradient(ellipse at 10% 25%,var(--sky-partnerAAtmosphere),transparent 68%),radial-gradient(ellipse at 90% 55%,var(--sky-partnerBAtmosphere),transparent 70%),var(--surface-canvas); }
:root[data-theme] .shared-horizon::before,:root[data-theme] .shared-horizon::after { opacity:.22; }
:root[data-theme="Rose Horizon"] { --radius-lg:1.75rem; --surface-border:#eec4d280; --shadow-soft:0 8px 28px #a6396210; }
:root[data-theme="Electric Horizon"],:root[data-theme="Solar Pop"] { --radius-lg:1rem; --surface-border:color-mix(in srgb,var(--sky-accent) 22%,transparent); --shadow-soft:0 4px 0 color-mix(in srgb,var(--sky-accent) 10%,transparent); }
:root[data-theme="Moonstone"] { --surface-border:#b1c6d780; --shadow-soft:0 10px 35px #26354e14; }
:root[data-theme="Sand & Sky"] { --radius-lg:.875rem; --glass-fill:#e6c99833; }
:root[data-density="compact"] { --space-4:.75rem; --space-5:1rem; --space-6:1.125rem; --space-8:1.5rem; --space-10:2rem; }
:root[data-density] button,:root[data-density] select,:root[data-density] input:not([type="checkbox"]),:root[data-density] summary { min-height:44px; }
:root[data-density="compact"] #rhythmCalendar .rhythm-day { min-height:54px; }
@media(max-width:350px) { #rhythmFull .rhythm-grid { gap:0; } }

/* The visible History module directly preserves the original Tracker hierarchy. */
#rhythmFull { display:grid; grid-template-columns:minmax(0,1fr); gap:0; width:100%; overflow:visible; color:var(--color-ink); font-family:var(--rhythm-body,var(--font-sans)); }
#rhythmFull > .history-tools-header,
#rhythmFull > .activity-bar,
#rhythmFull > .calendar-card,
#rhythmFull > .detail-card { width:100%; max-width:420px; margin-inline:auto; }
.history-tools-header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-3); margin-bottom:var(--space-3); }
.history-tools-header > div:first-child { display:grid; gap:.2rem; min-width:0; }
.history-tools-header span { color:var(--color-ink-muted); font-size:var(--text-xs); font-weight:var(--weight-semibold); letter-spacing:.035em; }
.history-tools-header h2 { color:var(--color-ink); font-size:var(--text-lg); }
#rhythmActivityDescription { margin:0; color:var(--color-ink-soft); font-size:var(--text-sm); overflow-wrap:anywhere; }
.history-tools-actions { display:flex; gap:.35rem; }
.history-tools-actions .help-btn,#rhythmAdjust.help-btn { width:44px; height:44px; min-width:44px; border-color:var(--surface-border); color:var(--color-accent-strong); background:var(--surface-raised); }
.history-tools-actions button:disabled,#rhythmAdjust:disabled { opacity:.4; }
#rhythmFull .activity-bar { align-items:center; max-width:420px; padding:5px 5px 15px; }
#rhythmSelector { display:contents; }
#rhythmFull .act-tab { min-height:44px; border-color:var(--surface-border); color:var(--color-accent-strong); background:var(--surface-raised); box-shadow:var(--shadow-soft); font-family:inherit; }
#rhythmFull .act-tab.active { border-color:transparent; color:white; background:linear-gradient(135deg,var(--color-accent-strong),var(--color-accent)); box-shadow:0 6px 15px color-mix(in srgb,var(--color-accent) 28%,transparent); }
#rhythmFull .act-tab-add { background:var(--surface-soft); border-color:var(--color-accent); }
@keyframes rhythm-chip-jiggle { from { rotate:-.35deg; } to { rotate:.35deg; } }
#rhythmFull .activity-bar.is-editing { overflow:visible; }
#rhythmFull .activity-bar.is-editing .act-tab:not(.act-tab-add) { outline:1px dashed color-mix(in srgb,var(--color-accent) 55%,transparent); animation:rhythm-chip-jiggle .18s ease-in-out infinite alternate; }
#rhythmFull .activity-bar.is-editing .act-tab:nth-child(even) { animation-direction:alternate-reverse; }
#rhythmFull .activity-bar.is-editing .act-tab.is-dragging { position:relative; z-index:5; animation:none; will-change:transform; box-shadow:0 12px 18px color-mix(in srgb,var(--color-accent) 22%,transparent); }
#rhythmFull .activity-bar.is-editing .act-tab-add { pointer-events:none; opacity:.45; }
#rhythmFull #rhythmCalendar,#rhythmFull .detail-card { max-width:420px; padding:18px; border:1px solid var(--surface-border); border-radius:25px; background:var(--surface-raised); box-shadow:var(--shadow-soft); }
#rhythmFull .calendar-header { gap:.4rem; }
#rhythmFull .month-title { min-width:0; color:var(--color-accent-strong); }
#rhythmFull .month-title select { min-width:0; padding:.4rem; border:1px solid var(--surface-border); border-radius:10px; color:var(--color-ink); background:var(--surface-soft); font:inherit; font-weight:var(--weight-semibold); }
#rhythmMonthSelect { flex:1 1 5rem; }
#rhythmYearSelect { flex:0 1 5.2rem; }
#rhythmFull .nav-btn { width:44px; height:44px; flex:0 0 44px; color:var(--color-accent-strong); background:var(--surface-soft); }
#rhythmFull .weekdays { color:var(--color-ink-muted); }
#rhythmFull .days-grid { gap:6px 4px; }
#rhythmFull .day-cell { min-width:0; min-height:50px; height:50px; padding:4px 0 0; border:2px solid transparent; color:var(--color-ink-soft); background:var(--surface-soft); font:inherit; font-weight:var(--weight-semibold); }
#rhythmFull .day-cell.today { border-color:var(--color-accent); color:var(--color-accent-strong); }
#rhythmFull .day-cell.selected { border-color:var(--color-accent-strong); background:var(--surface-raised); }
#rhythmFull .day-cell:focus-visible { outline:2px solid var(--color-accent-strong); outline-offset:1px; }
.count-avatar { display:grid; place-items:center; width:18px; height:18px; overflow:hidden; border:1px solid var(--surface-raised); border-radius:50%; background:var(--surface-soft); font-size:8px; }
.count-avatar img,.log-avatar img,.reply-avatar img,.adjust-avatar img { width:100%; height:100%; object-fit:cover; }
#rhythmStatus,#rhythmPrototypeHint,#rhythmNoteStatus { min-height:1.2rem; margin:.45rem 0 0; color:var(--color-ink-soft); font-size:var(--text-xs); }
#rhythmFull .detail-card { position:relative; margin-top:var(--space-6); margin-bottom:0; }
#rhythmFull .detail-card::before { content:""; position:absolute; left:8%; right:8%; top:calc(var(--space-6) * -0.55); height:1px; background:linear-gradient(90deg,transparent,var(--surface-border),transparent); }
#rhythmFull .detail-header { display:grid; grid-template-columns:minmax(0,1fr) auto 44px; gap:.5rem; color:var(--color-accent-strong); }
#rhythmFull .timeline { gap:.35rem; max-height:6.5rem; margin-bottom:.5rem; padding:.15rem .1rem; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; }
#rhythmFull .timeline.is-expanded { max-height:13rem; }
.rhythm-log-toggle { margin:.15rem 0 .55rem; }
.rhythm-log-toggle[hidden] { display:none; }
.rhythm-selected-counts { display:flex; align-items:center; gap:.4rem; }
.rhythm-selected-counts .count-badge { display:inline-grid; place-items:center; margin-inline:.15rem; }
#rhythmFull .log-item { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:.4rem; padding:.35rem .45rem; border-color:var(--surface-border); border-radius:12px; background:var(--surface-soft); }
#rhythmFull .history-log-main { display:grid; gap:.35rem; width:100%; min-width:0; padding:0; border:0; color:inherit; background:transparent; text-align:left; font:inherit; }
#rhythmFull .log-avatar { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; overflow:hidden; border-radius:50%; background:var(--surface-raised); font-size:1rem; }
#rhythmFull .log-content { min-width:0; }
#rhythmFull .log-meta { gap:.25rem; margin:0; color:var(--color-accent-strong); line-height:1.2; }
#rhythmFull .action-badge { padding:.12rem .35rem; border-color:var(--surface-border); color:var(--color-ink); background:var(--surface-raised); }
#rhythmFull .log-msg,#rhythmFull .reply-item { padding:.25rem .4rem; color:var(--color-ink); background:var(--surface-raised); }
#rhythmFull .replies-container { margin-top:.25rem; border-color:var(--surface-border); }
.reply-avatar { display:inline-grid; place-items:center; width:18px; height:18px; overflow:hidden; border-radius:50%; vertical-align:middle; }
.history-log-actions { display:flex; gap:.2rem; margin:0; }
.history-log-actions button,#rhythmFull .history-log-actions .reaction-badge { position:static; min-width:44px; min-height:44px; padding:.25rem .45rem; border:1px solid var(--surface-border); border-radius:var(--radius-pill); color:var(--color-ink); background:var(--surface-raised); box-shadow:none; font:inherit; animation:none; }
#rhythmFull .input-container { border-color:var(--surface-border); background:var(--surface-raised); }
#rhythmFull .reply-banner { color:var(--color-accent-strong); background:var(--surface-soft); }
#rhythmFull .msg-input { min-width:0; border-color:var(--surface-border); color:var(--color-ink); background:var(--surface-soft); }
#rhythmFull .btn-send { min-width:64px; background:linear-gradient(135deg,var(--color-accent-strong),var(--color-accent)); }
.adjust-avatar { display:inline-grid; place-items:center; width:30px; height:30px; overflow:hidden; border-radius:50%; vertical-align:middle; background:var(--surface-soft); }
#rhythmAdjuster .rhythm-adjust-row { padding:var(--space-3) 0; }
#rhythmAdjuster #rhythmAdjustClose { width:100%; margin-top:var(--space-4); }
.pdf-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.5rem; margin-top:16px; padding-top:12px; border-top:2px solid color-mix(in srgb,var(--color-accent) 30%,#ddd); text-align:center; font-size:14px; }
.pdf-summary b,.pdf-summary strong,.pdf-summary small { display:block; }
.pdf-summary strong { color:#ff8fa3; font-size:24px; }
.pdf-summary small { color:#888; font-size:11px; }
@media(max-width:350px) { #rhythmFull #rhythmCalendar,#rhythmFull .detail-card { padding:12px 10px; } #rhythmFull .days-grid { gap:5px 2px; } #rhythmFull .month-title { gap:3px; font-size:.9rem; } }
@media(prefers-reduced-motion:reduce) { #rhythmFull .activity-bar.is-editing .act-tab:not(.act-tab-add) { animation:none; } }
