/* A rosy club journal. Decorative flowers never cover or capture controls. */
:root{
  --paper:#fcfaf8;
  --surface:#fffdfc;
  --ink:#3f3025;
  --plum:#3f3025;
  --plum-deep:#35281f;
  --muted:#85654c;
  --line:#eae3d8;
  --accent:#89684e;
  --accent-hover:#6b513e;
  --coral:#dbcfbd;
  --rose:#ddd0bf;
  --rose-soft:#f6f0e8;
  --lavender:#f5eee5;
  --sage:#edf0dc;
  --lime:#e9edbf;
  --shadow:0 5px 19px #75594405;
  --bloom-flower:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23bc9872'%3E%3Cellipse cx='50' cy='24' rx='15' ry='22'/%3E%3Cellipse cx='50' cy='24' rx='15' ry='22' transform='rotate(60 50 50)'/%3E%3Cellipse cx='50' cy='24' rx='15' ry='22' transform='rotate(120 50 50)'/%3E%3Cellipse cx='50' cy='24' rx='15' ry='22' transform='rotate(180 50 50)'/%3E%3Cellipse cx='50' cy='24' rx='15' ry='22' transform='rotate(240 50 50)'/%3E%3Cellipse cx='50' cy='24' rx='15' ry='22' transform='rotate(300 50 50)'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='12' fill='%23fffdf8'/%3E%3C/svg%3E");
  --bloom-outline:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 34C24-4 3 34 32 46 0 61 28 96 44 64 51 101 85 82 64 56 102 61 90 19 61 36 77 1 40-7 50 34Z' fill='none' stroke='%239b7758' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='50' cy='49' r='10' fill='none' stroke='%239b7758' stroke-width='2'/%3E%3C/svg%3E");
}
body{background:var(--paper);color:var(--ink)}
::selection{background:#e7ded2;color:var(--ink)}
.mobile-brand>span:last-child,.brand-period,.accent-dot{color:#b39680}
.topbar{border-bottom-color:#eae3d8}
.icon-button,.icon-btn,.header-progress{background:#fefdfb;border-color:#e5dccf;color:#765a44}
.header-progress{background:#f3ece2}
.avatar-button{color:#f6f0e8;border-color:var(--paper);box-shadow:0 0 0 1px #ded2c1}
.sidebar{background:#443427;border-color:#634b39;box-shadow:0 8px 25px #6c523e20}
.navigation a{color:#f4eee5}
.navigation a[aria-current='page'],.navigation a[aria-current='page']:hover{background:#e5dcd0;color:#3b2d22}
.navigation a:hover{background:#5f4837;color:#fcfaf8}
.navigation a i{background:#dbcfbd}
.primary-button,.onboarding-content .primary-button{background:#dbcebb;border-color:#dbcebb;color:#3b2d22}
.primary-button:hover,.onboarding-content .primary-button:hover{background:#cdbaac;border-color:#cdbaac;color:#3b2d22}
.secondary-button,.button-secondary{background:#fefdfb;border-color:#dacdba;color:var(--ink)}
.secondary-button:hover,.button-secondary:hover{background:#f7f2eb;border-color:#bea592}
.text-button,.text-link,.back-button,.progress-back{color:#81624a}
.back-button{background:#fefdfb;border-color:var(--line)}
.small-label,.soft-pill{background:#f6f1e9;border-color:#e9e1d6;color:#87664d}
.eyebrow{color:#906d53}
.card,.energy-section,.recent-section,.progress-card{background:#fefdfb;border-color:var(--line)}
.utility-row{background:#fefdfb;border-color:var(--line)}
.utility-row>svg:first-child{color:#a58063}
.home-links .utility-row,.home-links .utility-row:first-child{background:transparent;border-bottom-color:#e7dfd3}
.home-links .utility-row:hover{background:#f5f0e880}
.icon-badge,.progress-mark{background:#f2eadf;color:#926f54}
.icon-badge.lavender{background:#f3ebe1;color:#916e53}
.icon-badge.sage,.progress-mark-lime{background:#f5f0e8;color:#957156}
.home-heading .eyebrow::after,.page-heading .eyebrow::after,.journal-hero .eyebrow::after,.onboarding-content>.eyebrow::after{
  content:'';display:inline-block;width:23px;height:23px;margin-left:10px;vertical-align:-7px;
  background:var(--bloom-flower) center/contain no-repeat;transform:rotate(7deg);pointer-events:none;
}
.session-card{background:#e6ddd0;border:1px solid #d8cab6;color:var(--ink);box-shadow:none}
.session-card::before,.week-card::after,.training-start::after{
  content:'';position:absolute;display:block;background:var(--bloom-outline) center/contain no-repeat;
  width:76px;height:76px;pointer-events:none;transform:rotate(9deg);z-index:0;
}
.session-card::before{right:14px;top:58px;opacity:.42}
.session-track{display:none}
.session-card h2{color:#3f3025}
.session-card .session-top,.session-card .session-top>svg{color:#745843}
.session-card>p,.session-content>p,.session-copy>p,.session-meta{color:#705541}
.session-meta>span::before{background:#a37c5f}
.session-card>.primary-button,.session-content>.primary-button,.session-copy>.primary-button{background:#48372a;border-color:#48372a;color:#fcfaf8}
.session-card>.primary-button:hover,.session-content>.primary-button:hover,.session-copy>.primary-button:hover{background:#5a4433;border-color:#5a4433;color:#fdfbf9}
.session-count{background:#f7f3ed;border-color:#c8b3a3;color:#6b513e}
.energy-option{background:#fcfaf8;border-color:#e8dfd3;color:#81624a}
.energy-option:hover{background:#f7f2ea;border-color:#bda592}
.energy-option[aria-pressed='true']{background:#ece5dc;border-color:#967257;color:#6f5440;box-shadow:inset 0 0 0 1px #967257}
.energy-meter i{background:#eae3d8}
.energy-meter[data-level='1'] i:nth-child(-n+1),.energy-meter[data-level='2'] i:nth-child(-n+2),.energy-meter[data-level='3'] i:nth-child(-n+3),.energy-meter[data-level='4'] i{background:#a8876d}
.energy-option[aria-pressed='true'] .energy-meter i{background:#c1aa98}
.energy-option[aria-pressed='true'] .energy-meter[data-level='1'] i:nth-child(-n+1),.energy-option[aria-pressed='true'] .energy-meter[data-level='2'] i:nth-child(-n+2),.energy-option[aria-pressed='true'] .energy-meter[data-level='3'] i:nth-child(-n+3),.energy-option[aria-pressed='true'] .energy-meter[data-level='4'] i{background:#916e54}
.week-card{position:relative;isolation:isolate;overflow:hidden;background:#f4ede4;border-color:#e4dbce}
.week-card>*{position:relative;z-index:1}
.week-card::after{width:55px;height:55px;right:6px;bottom:5px;opacity:.28;transform:rotate(-12deg)}
.week-card .section-heading h2,.week-card>p strong{color:#6d523e}
.week-card .small-label{background:#fcfaf8;color:#8a6950}
.week-day,.week-card>.fine,.week-card>p{color:#85654c}
.day{background:#fdfbf9;border-color:#ddd1c0;color:#8a694f}
.day.today{background:#e3d9cb;border-color:#a58063;color:#604937}
.day.done{background:#906d53;border-color:#906d53;color:#fcfaf8}
.note-strip{background:#f5f0e8;border-color:#e5dccf;color:#8a6950}
.note-strip .text-button{color:#80614a}
.training-start{position:relative;isolation:isolate;overflow:hidden;background:#f3ebe1;border-color:#e1d6c7;color:var(--ink)}
.training-start>*{position:relative;z-index:1}
.training-start::after{right:10px;bottom:13px;width:89px;height:89px;opacity:.28}
.training-start h2{color:#4f3c2e}.training-start>p{color:#81624a}
.training-start>.icon-badge{background:#fbf8f4;color:#a37c5e}
.training-start>.primary-button{background:#4c3a2c;border-color:#4c3a2c;color:#fcfaf8}
.timer-card{background:#f4ede3;border-color:#e2d8ca}
.timer-card .eyebrow,.timer-status,.timer-card>p,.timer-card>.help-text{color:#89684e}
.timer-display{color:#5d4635}
.timer-controls .secondary-button{background:#fcfaf7;border-color:#dcd0be;color:#89684e}
.draft-head,.workout-exercise,.saved-training-card,.history-card,.diary-card{background:#fefdfc;border-color:#e9e1d5}
.draft-actions{background:#f5f0e8;border-color:#e5dbce}
.draft-actions strong{color:#6a503d}.draft-actions p{color:#8c6b51}
.draft-add,.add-set-button{background:#f9f5ef;border-color:#d7c3b4;color:#89684f}
.draft-add:hover,.add-set-button:hover{background:#f3ebe1}
input,textarea,select{background:#fefefd;border-color:#ded2c1;color:var(--ink)}
input:focus,textarea:focus,select:focus{border-color:#a78265;box-shadow:0 0 0 3px #c5af9f20}
.set-row input{background:#fcfaf8;border-color:#e4dbce}
.set-row.done{background:#f5efe6}
.set-row.done input{background:#fcfaf8;border-color:#d8cab6}
.done-set{background:#f4eee5;border-color:#d9cbb8;color:#8c6a50}
.done-set[aria-pressed='true']{background:#916e54;border-color:#916e54;color:#fff}
.search-field,.journal-search,.progress-search{background:#fefdfb;border-color:#e1d6c7}
.search-field:focus-within{border-color:#ad8d76;box-shadow:0 0 0 3px #cbb8a91a}
.library-switch,.diary-tabs,.progress-tabs{background:#f3ece2;border-color:#e6ddd0}
.library-switch button[aria-pressed='true'],.diary-tabs button[aria-pressed='true']{background:#fdfcfa;border-color:#ded3c3;color:#775b45}
.progress-tabs>button[aria-pressed='true']{background:#d6c2b2;color:#3e2f24}
.progress-tabs>button:not([aria-pressed='true']):hover{background:#eae2d7}
.progress-periods button[aria-pressed='true']{background:#ece6dd;border-color:#b89d88}
.progress-periods button:hover{border-color:#b89d88}
.chip{background:#fefdfb;border-color:#e0d5c6;color:#83644c}
.chip:hover{background:#f5f0e8;border-color:#bfa693}
.chip[aria-pressed='true'],.chip.active{background:#9a7559;border-color:#9a7559;color:#fdfcfa}
.folder-card,.folder-card[data-tone='rose']{background:#f1e9de;border-color:#ddd1c1}
.folder-card[data-tone='plum']{background:#f1e9dd;border-color:#e0d4c4}
.folder-card[data-tone='sage']{background:#f6f1ea;border-color:#e5dcd0}
.folder-card[data-tone='sand']{background:#fbe8df;border-color:#eccfc3}
.folder-card h2,.folder-card[data-tone] h2{color:#5f4836}
.folder-card p,.folder-card small,.folder-card[data-tone] p,.folder-card[data-tone] small{color:#86664d}
.folder-icon{background:#fdfcfaaa;border-color:#fcfaf8;color:#a6846a}
.folder-card:hover,.exercise-row:hover,.history-card:hover,.diary-card:hover{border-color:#b99e8a}
.exercise-row{background:#fefdfc;border-color:#e9e1d5}
.focus-visual,.exercise-facts>div{background:#f7f2eb;border-color:#e6ddd0}
.focus-thumbnail{background:#f5efe6;border-color:#e6ddd1}
.focus-copy h3{color:#644c3a}
.favorite-button[aria-pressed='true']{color:#9f795c}
.favorite-button[aria-pressed='true'] svg{fill:#ece5db}
.journal-hero{border-bottom-color:#e3d9ca}.journal-hero h1 em{color:#a47f62}
.journal-tally{background:#f4ede4;border-color:#e0d5c5}
.journal-prompt,.diary-settings,.diary-score{background:#f5eee5;border-color:#e1d6c7}
.journal-prompt h2,.journal-prompt h3,.diary-score>strong{color:#755944}
.journal-prompt p,.diary-score p,.diary-score small,.diary-settings p,.diary-settings small,.diary-settings label{color:#89684e}
.diary-rating button{background:#fdfbf9;border-color:#ddd1c1;color:#89684e}
.diary-rating button:hover{background:#f3ebe1;border-color:#b69a85}
.diary-rating button[aria-pressed='true']{background:#967256;border-color:#967256;color:#fdfbf9}
.stat-card,.stat-card:nth-child(2),.stat-card:nth-child(3){background:#f5eee5;border-color:#e1d7c8}
.stat-card:nth-child(2){background:#f4ede4}.stat-card:nth-child(3){background:#fbe8e3}
.record-card,.growth-chart,.progress-detail{background:#fdfcfa;border-color:#e4dacc}
.record-card strong,.record-card .eyebrow{color:#81624a}
.growth-chart .bar{background:#e9e1d5}.growth-chart .bar.has-data{background:#b79c88}
.journal-score-summary{background:#f4ede4;border-color:#ddd1c0}
.progress-point-detail{background:#f9f5ef}
.progress-data-list button{background:#fefdfb;border-color:#e7ded2}
.progress-data-list button[aria-pressed='true'],.progress-choice-list>button[aria-pressed='true']{background:#f4ede4;border-color:#b39680}
.progress-data,.progress-summary-side{border-color:#e6ddd1}
.progress-chart-line,.progress-point-dot{stroke:#a37c5f}
.progress-chart-point[aria-pressed='true'] .progress-point-dot{fill:#ccb9ab;stroke:#7b5e47}
.progress-chart-point:focus-visible .progress-point-target{fill:#ece5db66;stroke:#5b4534}
.progress-gridline{stroke:#ede6dd}
.progress-one-point{background:#f6f1ea;color:#86664d}
.progress-search>button,.progress-metric-controls select{background:#f8f3ed;border-color:#e2d8ca}
.profile-progress-links .utility-row,.profile-progress-links .utility-row:nth-child(2),.exercise-progress-link{background:#f7f2ea;border-color:#e2d8ca}
.social-hero,.connection-self{background:#f1e9dd;border-color:#ddd1c1}
.social-pill{background:#fbf8f5;border-color:#d4bfae;color:#80614a}
.friend-card,.connection-card{background:#fdfcfb;border-color:#e3d9cc}
.notice-box{background:#f7f2ec;border-color:#e2d8c9;color:#83634b}
.profile-identity img,.profile-identity>.profile-initial{background:#ebe4da;color:#9a7558}
.sheet{background:#fdfcfa;border-color:#e5dbce}
.sheet-heading,.page-footer,.settings-section,.profile-identity{border-color:#e5dcd0}
.onboarding{background:radial-gradient(ellipse at 90% 9%,#ebe4db66,transparent 53%),var(--paper)}
.onboarding-content .profile-footnote{color:#916e53}
.toggle:checked{background:#a6846a;border-color:#a6846a}
.planner-flower i{background:#dacdbb}.planner-flower b{background:#ffedbb}
@keyframes bloom-planner{0%{rotate:-22deg}45%{rotate:13deg}75%{rotate:-4deg}100%{rotate:0deg}}
@keyframes bloom-arrive{0%{transform:rotate(-25deg) scale(.76);opacity:0}36%{transform:rotate(13deg) scale(1.04);opacity:1}70%{transform:rotate(1deg) scale(.99)}100%{transform:rotate(7deg) scale(1);opacity:1}}
@keyframes bloom-sway{0%{transform:rotate(-12deg) scale(.92)}40%{transform:rotate(16deg) scale(1.04)}75%{transform:rotate(2deg) scale(.99)}100%{transform:rotate(9deg) scale(1)}}
@keyframes bloom-tap{0%,100%{transform:rotate(7deg) scale(1)}45%{transform:rotate(24deg) scale(1.1)}}
@media(prefers-reduced-motion:no-preference){
  html:not(.motion-off) .home-heading .eyebrow::after,html:not(.motion-off) .page-heading .eyebrow::after,html:not(.motion-off) .journal-hero .eyebrow::after,html:not(.motion-off) .onboarding-content>.eyebrow::after{animation:bloom-arrive 2300ms cubic-bezier(.22,.68,.22,1) 100ms both}
  html:not(.motion-off) .session-card::before,html:not(.motion-off) .week-card::after,html:not(.motion-off) .training-start::after{animation:bloom-sway 2800ms ease-in-out 160ms both}
  html:not(.motion-off) .planner-flower{animation:bloom-planner 2600ms ease-in-out both}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  html:not(.motion-off) .page-heading:hover .eyebrow::after,html:not(.motion-off) .home-heading:hover .eyebrow::after{animation:bloom-tap 650ms ease-in-out both}
}
html.motion-off .home-heading .eyebrow::after,html.motion-off .page-heading .eyebrow::after,html.motion-off .journal-hero .eyebrow::after,html.motion-off .onboarding-content>.eyebrow::after,html.motion-off .session-card::before,html.motion-off .week-card::after,html.motion-off .training-start::after{animation:none!important}
html.motion-off .planner-flower{animation:none!important}
@media(prefers-reduced-motion:reduce){.home-heading .eyebrow::after,.page-heading .eyebrow::after,.journal-hero .eyebrow::after,.onboarding-content>.eyebrow::after,.session-card::before,.week-card::after,.training-start::after{animation:none!important}}
@media(prefers-reduced-motion:reduce){.planner-flower{animation:none!important}}
@media(max-width:359px){.home-heading .eyebrow::after,.page-heading .eyebrow::after,.journal-hero .eyebrow::after{width:20px;height:20px;margin-left:7px;vertical-align:-6px}.session-card::before{width:61px;height:61px;right:9px;opacity:.3}}

/* Small flowers sit behind content; their entrance follows the existing scroll observer. */
.energy-section,.recent-section,.diary-settings,.planner-quick-add{position:relative;isolation:isolate}
.energy-section::after,.recent-section::after,.diary-settings::after,.planner-quick-add::after{content:'';position:absolute;z-index:-1;pointer-events:none;right:10px;bottom:9px;width:42px;height:42px;background:var(--bloom-outline) center/contain no-repeat;opacity:.2;transform:rotate(8deg)}
.diary-settings::after{width:36px;height:36px;right:8px;bottom:7px}.planner-quick-add::after{right:4px;top:3px;bottom:auto;width:28px;height:28px;opacity:.13}
@keyframes bloom-soft-arrive{from{opacity:0;transform:translateY(6px) rotate(-12deg)}to{opacity:.2;transform:translateY(0) rotate(8deg)}}
@media(prefers-reduced-motion:no-preference){html:not(.motion-off) .energy-section.motion-arrived::after,html:not(.motion-off) .recent-section.motion-arrived::after,html:not(.motion-off) .diary-settings.motion-arrived::after{animation:bloom-soft-arrive 700ms ease-out both}}
html.motion-off .energy-section::after,html.motion-off .recent-section::after,html.motion-off .diary-settings::after{animation:none!important}
@media(prefers-reduced-motion:reduce){.energy-section::after,.recent-section::after,.diary-settings::after{animation:none!important}}
@media(max-width:359px){.energy-section::after,.recent-section::after{width:33px;height:33px;right:7px;bottom:7px}}

/* A little life in the margins. Forms and the planner grid keep a quiet surface. */
.journal-home,.overview-shell,.catalog-shell,.social-shell{position:relative;isolation:isolate}
.journal-home::before,.overview-shell::before,.catalog-shell::before,.social-shell::before{
  content:'';position:absolute;z-index:-1;pointer-events:none;right:2px;top:175px;width:104px;height:150px;
  background:var(--bloom-flower) right top/56px 56px no-repeat,var(--bloom-outline) left bottom/30px 30px no-repeat;
  opacity:.12;transform:rotate(9deg);
}
.overview-shell::before{top:360px;right:0;transform:rotate(-12deg)}
.catalog-shell::before{top:30px;width:80px;height:116px;opacity:.1}
.social-shell::before{top:155px;right:7px}
@keyframes bloom-margin-float{0%,100%{translate:0 0;rotate:0deg}30%{translate:-3px -7px;rotate:-7deg}70%{translate:2px -2px;rotate:5deg}}
@keyframes bloom-scroll-sway{0%{translate:0 9px;rotate:-7deg;opacity:.08}50%{translate:0 -4px;rotate:7deg;opacity:.18}100%{translate:0 -12px;rotate:12deg;opacity:.08}}
@media(prefers-reduced-motion:no-preference){
  html:not(.motion-off) .journal-home::before,html:not(.motion-off) .overview-shell::before,html:not(.motion-off) .catalog-shell::before,html:not(.motion-off) .social-shell::before{animation:bloom-margin-float 4800ms ease-in-out both}
  html:not(.motion-off) .energy-section.motion-arrived::after,html:not(.motion-off) .recent-section.motion-arrived::after{animation:bloom-soft-arrive 700ms ease-out both,bloom-margin-float 3500ms 700ms ease-in-out}
  @supports(animation-timeline:view()){
    html:not(.motion-off) .journal-home::before,html:not(.motion-off) .overview-shell::before,html:not(.motion-off) .social-shell::before{animation:bloom-scroll-sway linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  }
}
@media(max-width:359px){.journal-home::before,.overview-shell::before,.catalog-shell::before,.social-shell::before{width:70px;height:112px;background-size:44px 44px,23px 23px;opacity:.09}}
@media(prefers-reduced-motion:reduce){.journal-home::before,.overview-shell::before,.catalog-shell::before,.social-shell::before{animation:none!important}}
html.motion-off .journal-home::before,html.motion-off .overview-shell::before,html.motion-off .catalog-shell::before,html.motion-off .social-shell::before{animation:none!important}
