/* My Simple Health — Cycle layer */
:root{--msh-cycle-clay:#9a5f54;--msh-cycle-clay-soft:#eadbd4;--msh-cycle-blue:#73878d;--msh-cycle-blue-soft:#e5ecea}
[data-theme="dark"]{--msh-cycle-clay:#d19688;--msh-cycle-clay-soft:#513a35;--msh-cycle-blue:#9eb5b8;--msh-cycle-blue-soft:#314143}
.msh-calendar-main{max-width:1180px}.msh-cycle-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:12px 0 34px;border-bottom:1px solid var(--msh-border)}.msh-cycle-hero>div:first-child{max-width:720px}.msh-cycle-hero h1{margin:0 0 13px;color:var(--msh-heading);font:400 clamp(40px,5vw,60px)/1.04 Georgia,serif}.msh-cycle-hero>div>p:last-child,.msh-cycle-content>header>p:last-child{color:var(--msh-text-muted);font-size:16px;line-height:1.65}.msh-cycle-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.msh-cycle-tabs{display:flex;gap:4px;margin:28px 0 20px;padding:4px;border:1px solid var(--msh-border);border-radius:999px;background:var(--msh-surface-alt);width:max-content;max-width:100%}.msh-cycle-tabs button{min-height:38px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--msh-text-muted);cursor:pointer}.msh-cycle-tabs button[aria-selected="true"]{background:var(--msh-surface);color:var(--msh-heading);box-shadow:0 2px 9px var(--msh-shadow-color)}
.msh-cycle-calendar-panel,.msh-cycle-content{padding:28px;border:1px solid var(--msh-border);border-radius:22px;background:var(--msh-surface);box-shadow:var(--msh-shadow)}.msh-calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:15px}.msh-calendar-toolbar h2{margin:0;text-align:center;color:var(--msh-heading);font:400 30px Georgia,serif}.msh-calendar-toolbar button{height:42px;border:1px solid var(--msh-border);border-radius:50%;background:var(--msh-surface-alt);color:var(--msh-heading);cursor:pointer}.msh-cycle-legend{display:flex;flex-wrap:wrap;gap:16px;margin:7px 0 24px;color:var(--msh-text-muted);font-size:11px}.msh-cycle-legend span{display:flex;align-items:center;gap:7px}.msh-cycle-legend span:before{content:"";width:10px;height:10px;border-radius:50%;border:1px solid var(--msh-border-strong)}.msh-cycle-legend .recorded:before{background:var(--msh-cycle-clay);border-color:var(--msh-cycle-clay)}.msh-cycle-legend .predicted:before{background:var(--msh-cycle-clay-soft);border-color:var(--msh-cycle-clay)}.msh-cycle-legend .fertile:before{background:var(--msh-cycle-blue-soft);border-color:var(--msh-cycle-blue)}.msh-cycle-legend .today:before{background:transparent;border:2px solid var(--msh-forest)}
.msh-calendar-weekdays,.msh-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.msh-calendar-weekdays{margin-bottom:5px}.msh-calendar-weekdays span{padding:8px;text-align:center;color:var(--msh-text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.msh-calendar-day,.msh-calendar-empty{aspect-ratio:1.28;min-width:0}.msh-calendar-day{position:relative;display:flex;align-items:flex-start;justify-content:flex-end;padding:10px;border:1px solid var(--msh-border);border-radius:11px;background:var(--msh-surface-alt);color:var(--msh-text);cursor:pointer;overflow:hidden}.msh-calendar-day:hover,.msh-calendar-day.is-selected{border-color:var(--msh-focus)}.msh-calendar-day.is-today span{display:grid;width:28px;height:28px;margin:-4px;border:2px solid var(--msh-forest);border-radius:50%;place-items:center}.msh-calendar-day.is-recorded-period{background:var(--msh-cycle-clay);border-color:var(--msh-cycle-clay);color:#fff4ed}.msh-calendar-day.is-predicted-period:not(.is-recorded-period){background:var(--msh-cycle-clay-soft);border-style:dashed;border-color:var(--msh-cycle-clay)}.msh-calendar-day.is-estimated-fertile:not(.is-recorded-period):not(.is-predicted-period){background:var(--msh-cycle-blue-soft);border-color:var(--msh-cycle-blue)}.msh-calendar-day i{position:absolute;left:9px;bottom:6px;font-style:normal;letter-spacing:2px}.msh-cycle-estimate-note{margin:20px 0 0;padding-top:17px;border-top:1px solid var(--msh-border);color:var(--msh-text-muted);font-size:11px;line-height:1.6}
.msh-cycle-content>header{max-width:750px;margin-bottom:28px}.msh-cycle-content h2{margin:6px 0 10px;color:var(--msh-heading);font:400 clamp(32px,4vw,46px)/1.1 Georgia,serif}.msh-cycle-toggle{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--msh-text);font-size:13px}.msh-cycle-timeline article{display:grid;grid-template-columns:94px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--msh-border)}.msh-cycle-timeline time{color:var(--msh-accent);font-size:12px}.msh-cycle-timeline strong{font:400 20px Georgia,serif}.msh-cycle-timeline p{margin:7px 0;color:var(--msh-text-muted)}.msh-cycle-stat-grid,.msh-cycle-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.msh-cycle-stat-grid article,.msh-cycle-summary article,.msh-patterns article{padding:22px;border:1px solid var(--msh-border);border-radius:14px;background:var(--msh-surface-alt)}.msh-cycle-stat-grid span{display:block;color:var(--msh-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.msh-cycle-stat-grid strong{display:block;margin:11px 0 7px;font:400 29px Georgia,serif}.msh-cycle-stat-grid p,.msh-cycle-summary p,.msh-patterns p{color:var(--msh-text-muted);line-height:1.55}.msh-patterns{margin-top:34px}.msh-patterns h3,.msh-cycle-summary h3{font:400 25px Georgia,serif}.msh-patterns article{margin-top:10px}.msh-patterns article p{margin:0 0 7px;color:var(--msh-text)}.msh-patterns small{color:var(--msh-text-muted)}.msh-cycle-summary{grid-template-columns:1fr 1fr}
.msh-cycle-privacy{margin-top:18px;border:1px solid var(--msh-border);border-radius:14px;background:var(--msh-surface)}.msh-cycle-privacy summary{padding:18px 20px;color:var(--msh-heading);cursor:pointer;font-weight:600}.msh-cycle-privacy>div{padding:0 20px 20px}.msh-cycle-privacy p{max-width:720px;color:var(--msh-text-muted);line-height:1.55}.msh-cycle-privacy label{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:13px}
.msh-sheet-backdrop{position:fixed;inset:0;z-index:110;background:rgba(18,27,21,.35);backdrop-filter:blur(2px)}.msh-cycle-sheet{position:fixed;z-index:120;top:6vh;right:clamp(12px,4vw,58px);bottom:4vh;width:min(540px,calc(100vw - 24px));overflow:auto;padding:28px;border:1px solid var(--msh-border);border-radius:22px;background:var(--msh-surface);box-shadow:0 24px 75px rgba(0,0,0,.2)}.msh-cycle-sheet>header{display:flex;justify-content:space-between;gap:20px}.msh-cycle-sheet h2{margin:0 0 20px;font:400 31px/1.1 Georgia,serif}.msh-cycle-sheet>header>button{width:40px;height:40px;flex:none;border:1px solid var(--msh-border);border-radius:50%;background:var(--msh-surface-alt);color:var(--msh-text);font-size:22px;cursor:pointer}.msh-cycle-sheet fieldset{margin:0 0 17px;padding:0;border:0}.msh-cycle-sheet legend,.msh-cycle-sheet details summary{margin-bottom:10px;color:var(--msh-heading);font-weight:600}.msh-cycle-sheet details{padding:16px 0;border-top:1px solid var(--msh-border)}.msh-cycle-sheet details summary{cursor:pointer}.msh-cycle-sheet details>p{color:var(--msh-text-muted);font-size:12px}.msh-cycle-chips{display:flex;flex-wrap:wrap;gap:8px}.msh-cycle-chips label{position:relative}.msh-cycle-chips input{position:absolute;opacity:0}.msh-cycle-chips span{display:inline-flex;min-height:40px;align-items:center;padding:0 13px;border:1px solid var(--msh-border-strong);border-radius:999px;background:var(--msh-surface-alt);font-size:12px;cursor:pointer}.msh-cycle-chips input:checked+span{border-color:var(--msh-focus);background:var(--msh-selected);color:var(--msh-heading)}.msh-cycle-chips input:focus-visible+span{outline:3px solid var(--msh-focus);outline-offset:2px}.msh-cycle-field{display:grid;gap:7px;margin:14px 0;color:var(--msh-text-muted);font-size:12px}.msh-cycle-field input,.msh-cycle-field textarea{width:100%;padding:12px;border:1px solid var(--msh-border-strong);border-radius:10px;font:inherit}.msh-cycle-sheet footer{position:sticky;bottom:-28px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px -28px -28px;padding:17px 28px;border-top:1px solid var(--msh-border);background:var(--msh-surface)}
@media(max-width:900px){.msh-cycle-hero{align-items:flex-start;flex-direction:column}.msh-cycle-actions{justify-content:flex-start}.msh-cycle-stat-grid{grid-template-columns:1fr}.msh-calendar-day{aspect-ratio:1;padding:7px}.msh-calendar-day.is-today span{width:24px;height:24px}}
@media(max-width:600px){.msh-calendar-main{width:100%;padding:34px 12px 88px;overflow:hidden}.msh-cycle-hero{padding-inline:6px}.msh-cycle-hero h1{font-size:38px}.msh-cycle-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.msh-cycle-actions .msh-button:first-child{grid-column:1/-1}.msh-cycle-tabs{width:100%;overflow-x:auto}.msh-cycle-tabs button{flex:1;padding-inline:12px}.msh-cycle-calendar-panel,.msh-cycle-content{padding:17px 10px;border-radius:17px}.msh-calendar-toolbar{margin-inline:6px}.msh-calendar-toolbar h2{font-size:25px}.msh-cycle-legend{gap:8px 12px;padding-inline:4px}.msh-calendar-weekdays,.msh-calendar-grid{gap:3px}.msh-calendar-weekdays span{padding:5px 0;font-size:8px}.msh-calendar-day{padding:5px;border-radius:8px;font-size:12px}.msh-calendar-day i{left:5px;bottom:2px}.msh-calendar-day.is-today span{width:21px;height:21px;margin:-3px}.msh-cycle-summary{grid-template-columns:1fr}.msh-cycle-sheet{top:auto;left:0;right:0;bottom:0;width:100%;max-height:90vh;padding:23px 18px;border-radius:22px 22px 0 0}.msh-cycle-sheet footer{bottom:-23px;margin:20px -18px -23px;padding:14px 18px}.msh-cycle-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.msh-cycle-chips label{flex:none}}
@media(prefers-reduced-motion:reduce){.msh-cycle-sheet,.msh-calendar-day{scroll-behavior:auto;transition:none!important}}
/* Cycle Intelligence V2 */
.msh-demo-banner{display:flex;align-items:center;gap:14px;margin:-24px 0 30px;padding:12px 16px;border:1px solid #b88b55;border-radius:12px;background:color-mix(in srgb,#c99c58 12%,var(--msh-surface));color:var(--msh-text);font-size:12px}.msh-demo-banner span{flex:1}.msh-demo-banner a,.msh-privacy-entry{color:var(--msh-forest);font-weight:700;text-decoration:none}.msh-information-key{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:18px;color:var(--msh-text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.msh-information-key span:before,.msh-information-label:before{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%}.msh-information-key .recorded:before{background:var(--msh-cycle-clay)}.msh-information-key .estimated:before,.msh-information-label.estimated:before{border:1px dashed var(--msh-cycle-blue)}.msh-information-key .education:before{background:#b59658}.msh-information-key .observation:before{background:var(--msh-accent)}
.msh-cycle-intelligence{display:grid;grid-template-columns:250px 1fr;gap:34px;align-items:center;margin:28px 0 18px;padding:30px;border:1px solid var(--msh-border);border-radius:22px;background:linear-gradient(135deg,var(--msh-surface),var(--msh-surface-alt));box-shadow:var(--msh-shadow)}.msh-cycle-ring{display:grid;width:210px;aspect-ratio:1;margin:auto;border-radius:50%;place-items:center;background:conic-gradient(var(--msh-cycle-clay) 0 14%,var(--msh-accent) 14% 47%,var(--msh-cycle-blue) 47% 64%,#9b8559 64% var(--cycle-angle),var(--msh-border) var(--cycle-angle) 100%);position:relative}.msh-cycle-ring:before{content:"";position:absolute;inset:16px;border-radius:50%;background:var(--msh-surface)}.msh-cycle-ring>div{z-index:1;display:grid;text-align:center}.msh-cycle-ring span,.msh-cycle-ring small{color:var(--msh-text-muted);font-size:10px}.msh-cycle-ring strong{margin:5px 0;color:var(--msh-heading);font:400 32px Georgia,serif}.msh-cycle-phase-story h2{margin:5px 0 10px;font:400 clamp(29px,4vw,42px) Georgia,serif}.msh-cycle-phase-story>p{color:var(--msh-text-muted);line-height:1.6}.msh-cycle-phase-story details{margin-top:16px;padding-top:14px;border-top:1px solid var(--msh-border)}.msh-cycle-phase-story summary{cursor:pointer;color:var(--msh-heading);font-weight:700}.msh-cycle-phase-story details p{line-height:1.6}.msh-cycle-boundary,.msh-uncertainty{font-size:11px!important}.msh-hormone-illustration{margin:16px 0;padding:14px;border:1px solid var(--msh-border);border-radius:12px;background:var(--msh-surface)}.msh-hormone-illustration svg{width:100%;height:70px;fill:none;stroke:var(--msh-accent);stroke-width:2}.msh-hormone-illustration path+path{stroke:var(--msh-cycle-clay)}.msh-hormone-illustration small{color:var(--msh-text-muted)}
.msh-cycle-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.msh-cycle-charts>article{padding:22px;border:1px solid var(--msh-border);border-radius:14px;background:var(--msh-surface)}.msh-cycle-charts h3{margin-top:0;font:400 22px Georgia,serif}.msh-length-chart{display:flex;height:150px;align-items:end;gap:10px}.msh-length-chart>span{display:flex;height:100%;flex:1;flex-direction:column;justify-content:flex-end}.msh-length-chart i{height:var(--bar);max-height:90px;border-radius:6px 6px 0 0;background:var(--msh-accent)}.msh-length-chart small{display:grid;margin-top:7px;color:var(--msh-text-muted);font-size:9px}.msh-length-chart b{color:var(--msh-text)}.msh-frequency-chart p{display:grid;grid-template-columns:110px 1fr 22px;gap:8px;align-items:center;margin:9px 0;font-size:11px}.msh-frequency-chart i{height:7px;border-radius:9px;background:var(--msh-border);overflow:hidden}.msh-frequency-chart b{display:block;height:100%;background:var(--msh-cycle-clay)}.msh-cycle-summary{grid-template-columns:repeat(3,1fr)}.msh-privacy-entry{display:inline-block;margin-top:18px;padding:10px 0}.msh-cycle-picture-choice span{min-width:84px;min-height:82px!important;flex-direction:column;justify-content:center;gap:5px;border-radius:14px!important}.msh-cycle-picture-choice i{display:grid;width:34px;height:34px;border:1px solid var(--msh-border-strong);border-radius:50%;place-items:center}.msh-cycle-picture-choice svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4}.msh-cycle-field select{width:100%;padding:12px;border:1px solid var(--msh-border-strong);border-radius:10px;background:var(--msh-surface);color:var(--msh-text)}
@media(max-width:760px){.msh-cycle-intelligence{grid-template-columns:1fr;padding:22px 17px}.msh-cycle-ring{width:180px}.msh-cycle-charts,.msh-cycle-summary{grid-template-columns:1fr}.msh-demo-banner{align-items:flex-start;flex-wrap:wrap}.msh-demo-banner span{flex-basis:65%}}
@media(prefers-reduced-motion:reduce){.msh-cycle-ring{transition:none!important}}

/* Calendar — health in time */
.msh-calendar-hero{align-items:center}.msh-calendar-today{display:grid;min-width:min(330px,100%);gap:7px;padding:20px 24px;border:1px solid var(--msh-border);border-radius:18px;background:color-mix(in srgb,var(--msh-surface) 86%,transparent);box-shadow:var(--msh-shadow)}.msh-calendar-today span,.msh-calendar-today small{color:var(--msh-text-muted);font-size:11px;line-height:1.45}.msh-calendar-today strong{color:var(--msh-heading);font:400 23px/1.2 Georgia,serif}
.msh-calendar-layers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;border:0}.msh-calendar-layers legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.msh-calendar-layers label{position:relative}.msh-calendar-layers input{position:absolute;opacity:0}.msh-calendar-layers span{display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:0 12px;border:1px solid var(--msh-border);border-radius:10px;background:var(--msh-surface-alt);color:var(--msh-text-muted);font-size:11px;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.msh-calendar-layers span:after{content:"○";margin-left:10px;color:var(--msh-text-muted)}.msh-calendar-layers input:checked+span{border-color:color-mix(in srgb,var(--msh-accent) 55%,var(--msh-border));background:var(--msh-selected);color:var(--msh-heading)}.msh-calendar-layers input:checked+span:after{content:"●";color:var(--msh-accent)}.msh-calendar-layers input:focus-visible+span{outline:3px solid var(--msh-focus);outline-offset:2px}
.msh-calendar-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.75fr);gap:18px;align-items:start}.msh-calendar-workspace .msh-cycle-calendar-panel{min-width:0}.msh-date-inspector{min-height:420px;padding:28px;border:1px solid var(--msh-border);border-radius:22px;background:linear-gradient(150deg,var(--msh-surface),var(--msh-surface-alt));box-shadow:var(--msh-shadow)}.msh-date-inspector h2{margin:8px 0 18px;color:var(--msh-heading);font:400 clamp(27px,3vw,38px)/1.1 Georgia,serif}.msh-date-empty{color:var(--msh-text-muted);line-height:1.65}.msh-date-inspector>.msh-button-secondary{margin-top:24px}.msh-date-events{border-top:1px solid var(--msh-border)}.msh-date-events article{position:relative;display:grid;gap:5px;padding:17px 0 17px 16px;border-bottom:1px solid var(--msh-border)}.msh-date-events article:before{content:"";position:absolute;top:20px;left:0;width:7px;height:7px;border-radius:50%;background:var(--msh-event-color,var(--msh-accent))}.msh-date-events article.is-cycle{--msh-event-color:var(--msh-cycle-clay)}.msh-date-events article.is-practice{--msh-event-color:#748b6f}.msh-date-events article.is-project{--msh-event-color:#a0854d}.msh-date-events article.is-care,.msh-date-events article.is-medication,.msh-date-events article.is-measurement{--msh-event-color:#708891}.msh-date-events article.is-symptom{--msh-event-color:#9a6e5e}.msh-date-events article.is-sexualHealth{--msh-event-color:#7c6c83}.msh-date-events article.is-life,.msh-date-events article.is-note{--msh-event-color:#8a7668}.msh-date-events article.is-predicted:before{background:transparent;border:1px dashed var(--msh-cycle-blue)}.msh-date-events span,.msh-cycle-timeline article span{color:var(--msh-text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.msh-date-events strong{color:var(--msh-heading);font:400 18px Georgia,serif}.msh-date-events p,.msh-date-events small{margin:0;color:var(--msh-text-muted);font-size:11px;line-height:1.5}
.msh-cycle-legend .health:before{background:var(--msh-accent);border-color:var(--msh-accent)}.msh-calendar-day.is-recorded-period{background:var(--msh-cycle-clay-soft);border-color:var(--msh-cycle-clay);color:var(--msh-heading)}.msh-calendar-event-dots{display:flex!important;gap:3px;align-items:center;letter-spacing:0!important}.msh-calendar-event-dots b{display:block;width:6px;height:6px;border-radius:50%;background:var(--msh-accent)}.msh-calendar-event-dots .is-cycle{background:var(--msh-cycle-clay)}.msh-calendar-event-dots .is-practice{background:#748b6f}.msh-calendar-event-dots .is-project{background:#a0854d}.msh-calendar-event-dots .is-care,.msh-calendar-event-dots .is-medication,.msh-calendar-event-dots .is-measurement{background:#708891}.msh-calendar-event-dots .is-symptom{background:#9a6e5e}.msh-calendar-event-dots .is-sexualHealth{background:#7c6c83}.msh-calendar-event-dots .is-life,.msh-calendar-event-dots .is-note{background:#8a7668}
.msh-cycle-timeline article{position:relative}.msh-cycle-timeline article:before{content:"";position:absolute;top:23px;left:76px;width:7px;height:7px;border-radius:50%;background:var(--msh-event-color,var(--msh-accent))}.msh-cycle-timeline article.is-cycle{--msh-event-color:var(--msh-cycle-clay)}.msh-cycle-timeline article.is-practice{--msh-event-color:#748b6f}.msh-cycle-timeline article.is-project{--msh-event-color:#a0854d}.msh-cycle-timeline article.is-care,.msh-cycle-timeline article.is-medication,.msh-cycle-timeline article.is-measurement{--msh-event-color:#708891}.msh-cycle-timeline article.is-symptom{--msh-event-color:#9a6e5e}.msh-cycle-timeline article.is-sexualHealth{--msh-event-color:#7c6c83}.msh-cycle-timeline article.is-life,.msh-cycle-timeline article.is-note{--msh-event-color:#8a7668}.msh-cycle-timeline article>div{display:grid;gap:5px}
@media(max-width:920px){.msh-calendar-workspace{grid-template-columns:1fr}.msh-date-inspector{min-height:0}.msh-calendar-hero{align-items:flex-start}.msh-calendar-today{width:100%;min-width:0}}
.msh-calendar-hero>.msh-kinetic-symbol{flex:0 0 auto;width:76px}
@media(max-width:700px){.msh-calendar-hero>.msh-kinetic-symbol{width:60px}}
@media(max-width:600px){.msh-date-inspector{padding:22px 18px}.msh-calendar-today{padding:17px 18px}.msh-calendar-event-dots{left:5px!important}.msh-cycle-timeline article:before{left:68px}}
@media(prefers-reduced-motion:reduce){.msh-calendar-layers span{transition:none}}

/* Movement is one Calendar event type, with reflection recorded only after the event. */
.msh-date-events article.is-movement,.msh-cycle-timeline article.is-movement{--msh-event-color:#527768}.msh-date-events article.is-movement small,.msh-cycle-timeline article.is-movement small{display:block;margin-top:4px;color:var(--msh-text-muted);font-size:11px;line-height:1.5}.msh-date-events article.is-movement .msh-text-button{justify-self:start;margin-top:7px}.msh-calendar-event-dots .is-movement{background:#527768}.msh-date-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.msh-date-actions .msh-button,.msh-date-actions .msh-button-secondary{margin:0}.msh-movement-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.msh-movement-boundary{padding:12px 14px;border-left:2px solid color-mix(in srgb,var(--msh-accent) 55%,transparent);background:color-mix(in srgb,var(--msh-surface-alt) 78%,transparent);color:var(--msh-text-muted);font-size:12px;line-height:1.55}.msh-rpe-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.msh-rpe-scale label{position:relative}.msh-rpe-scale input{position:absolute;opacity:0}.msh-rpe-scale span{display:grid;min-height:38px;place-items:center;border:1px solid var(--msh-border-strong);border-radius:9px;background:var(--msh-surface-alt);color:var(--msh-text-muted);cursor:pointer}.msh-rpe-scale input:checked+span{border-color:var(--msh-focus);background:var(--msh-selected);color:var(--msh-heading)}.msh-rpe-scale input:focus-visible+span{outline:3px solid var(--msh-focus);outline-offset:2px}.msh-rpe-field>p{display:grid;gap:3px}.msh-rpe-field output{color:var(--msh-heading);font-weight:600}.msh-rpe-field small{color:var(--msh-text-muted);line-height:1.45}.msh-attribution-choices{margin-top:12px}
@media(max-width:600px){.msh-movement-fields{grid-template-columns:1fr}.msh-date-actions{display:grid}.msh-date-actions>*{width:100%}.msh-rpe-scale{grid-template-columns:repeat(5,1fr)}}

/* Movement Directory: type first, browse second. */
.msh-movement-entry{margin-bottom:6px}.msh-movement-entry input{min-height:50px;border-radius:14px;background:var(--msh-surface-alt);color:var(--msh-heading);font-size:16px}.msh-movement-search-note{margin:6px 0 12px;color:var(--msh-text-muted);font-size:11px;line-height:1.5}.msh-movement-search-results{display:grid;margin:0 0 14px;border:1px solid var(--msh-border);border-radius:14px;overflow:hidden}.msh-movement-search-results button{display:flex;justify-content:space-between;gap:16px;min-height:48px;align-items:center;padding:9px 13px;border:0;border-bottom:1px solid var(--msh-border);background:var(--msh-surface);color:var(--msh-heading);text-align:left;cursor:pointer}.msh-movement-search-results button:last-child{border-bottom:0}.msh-movement-search-results button:hover,.msh-movement-search-results button:focus-visible{background:var(--msh-selected)}.msh-movement-search-results button:focus-visible{outline:3px solid var(--msh-focus);outline-offset:-3px}.msh-movement-search-results small{color:var(--msh-text-muted);font-size:9px;text-align:right}.msh-movement-directory{margin:10px 0 20px!important;padding:15px 0!important;border-top:1px solid var(--msh-border);border-bottom:1px solid var(--msh-border)}.msh-movement-directory>summary{margin:0!important}.msh-movement-directory>p{margin:8px 0 12px;max-width:46ch}.msh-movement-directory>div>details{padding:9px 0;border-top:1px solid color-mix(in srgb,var(--msh-border) 70%,transparent)}.msh-movement-directory>div>details>summary{display:flex;justify-content:space-between;margin:0!important;font-size:12px}.msh-movement-directory summary span{color:var(--msh-text-muted);font-size:10px;font-weight:400}.msh-directory-items{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:9px}.msh-directory-items button{min-height:40px;padding:8px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--msh-text);text-align:left;cursor:pointer}.msh-directory-items button:hover,.msh-directory-items button:focus-visible{border-color:var(--msh-border-strong);background:var(--msh-selected);color:var(--msh-heading)}.msh-directory-items button:focus-visible{outline:3px solid var(--msh-focus);outline-offset:2px}
@media(max-width:600px){.msh-directory-items{grid-template-columns:1fr}.msh-movement-search-results button{align-items:flex-start}.msh-movement-search-results small{max-width:42%;white-space:normal}}

/* Native iPhone Calendar density refinements. */
@media(max-width:600px){
  html.msh-native-embedded .msh-calendar-main{padding-top:18px}
  html.msh-native-embedded .msh-date-inspector h2{margin:6px 0 14px;font-size:25px;line-height:1.12}
  html.msh-native-embedded .msh-date-events{border-top-color:color-mix(in srgb,var(--msh-border) 55%,transparent)}
  html.msh-native-embedded .msh-date-events article{border-bottom-color:color-mix(in srgb,var(--msh-border) 55%,transparent)}
  html.msh-native-embedded .msh-date-events article.is-movement{gap:3px;padding-top:13px;padding-bottom:13px}
  html.msh-native-embedded .msh-date-events article.is-movement small{margin-top:2px;line-height:1.4}
  html.msh-native-embedded .msh-date-actions{margin-top:18px}
  html.msh-native-embedded .msh-date-actions .msh-button{min-height:42px;padding-block:7px}
}

/* Calendar accent personalization is intentionally separate from semantic colors. */
.msh-calendar-view-controls{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.msh-calendar-view-controls .msh-cycle-tabs{flex:none}.msh-calendar-customization{position:relative;margin:28px 0 20px}.msh-calendar-customization>summary{display:flex;min-height:46px;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--msh-border);border-radius:999px;background:var(--msh-surface-alt);color:var(--msh-text-muted);font-size:11px;cursor:pointer;list-style:none}.msh-calendar-customization>summary::-webkit-details-marker{display:none}.msh-calendar-customization>summary:after{content:"⌄";font-size:13px}.msh-calendar-customization[open]>summary{border-color:var(--msh-border-strong);color:var(--msh-heading)}.msh-calendar-color-preview,.msh-calendar-color-presets i{display:block;width:17px;height:17px;border:1px solid color-mix(in srgb,var(--swatch) 60%,var(--msh-border));border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--msh-surface) 72%,transparent)}.msh-calendar-customization-menu{position:absolute;z-index:40;top:calc(100% + 8px);right:0;display:grid;width:min(720px,calc(100vw - 24px));grid-template-columns:1.08fr .92fr;gap:24px;padding:22px;border:1px solid var(--msh-border-strong);border-radius:19px;background:var(--msh-surface);box-shadow:0 18px 48px var(--msh-shadow-color)}.msh-calendar-customization-menu section+section{padding-left:24px;border-left:1px solid var(--msh-border)}.msh-calendar-customization-menu h2{margin:4px 0 7px;color:var(--msh-heading);font:400 22px Georgia,serif}.msh-calendar-customization-menu section>p:not(.msh-calendar-customize-label){margin:0;color:var(--msh-text-muted);font-size:11px;line-height:1.55}.msh-calendar-customize-label{margin:0;color:var(--msh-accent);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.msh-calendar-color-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:18px}.msh-calendar-color-presets button{display:flex;min-height:44px;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--msh-border);border-radius:10px;background:var(--msh-surface-alt);color:var(--msh-text);cursor:pointer}.msh-calendar-color-presets button[aria-pressed="true"]{border-color:var(--msh-focus);background:var(--msh-selected);color:var(--msh-heading);font-weight:700}.msh-calendar-color-presets button[aria-pressed="true"]:after{content:"✓";margin-left:auto}.msh-calendar-custom-color{display:grid;grid-template-columns:44px 1fr;grid-template-rows:22px 18px;column-gap:10px;align-items:center;margin:12px 0;padding:8px 0;border-top:1px solid var(--msh-border);border-bottom:1px solid var(--msh-border);color:var(--msh-heading);font-size:12px}.msh-calendar-custom-color input{grid-row:1/3;width:44px;height:44px;padding:3px;border:1px solid var(--msh-border-strong);border-radius:10px;background:var(--msh-surface);cursor:pointer}.msh-calendar-custom-color small{color:var(--msh-text-muted);font-size:10px}.msh-calendar-appearance>.msh-text-button{min-height:40px}.msh-calendar-appearance>.msh-text-button:disabled{opacity:.48;cursor:not-allowed}
.msh-calendar-main.has-calendar-accent{--msh-calendar-accent-soft:color-mix(in srgb,var(--msh-calendar-accent) 14%,var(--msh-surface))}.msh-calendar-main.has-calendar-accent :where(a,button,input,textarea,select,summary):focus-visible{outline-color:var(--msh-calendar-accent)}.msh-calendar-main.has-calendar-accent .msh-cycle-tabs button[aria-selected="true"]{background:var(--msh-calendar-accent-soft);box-shadow:inset 0 0 0 1px var(--msh-calendar-accent),0 2px 9px var(--msh-shadow-color)}.msh-calendar-main.has-calendar-accent .msh-calendar-day.is-selected:not(.is-recorded-period):not(.is-predicted-period):not(.is-estimated-fertile){border-color:var(--msh-calendar-accent);box-shadow:inset 0 0 0 1px var(--msh-calendar-accent)}.msh-calendar-main.has-calendar-accent .msh-calendar-day.is-today span{border-color:var(--msh-calendar-accent)}
@media(max-width:600px){.msh-calendar-view-controls{align-items:stretch;flex-direction:column;gap:0}.msh-calendar-view-controls .msh-cycle-tabs{margin-bottom:8px}.msh-calendar-customization{align-self:flex-start;margin:0 0 18px}.msh-calendar-customization-menu{right:auto;left:0;width:min(92vw,430px);max-height:70vh;overflow:auto;grid-template-columns:1fr;gap:22px}.msh-calendar-customization-menu section+section{padding:22px 0 0;border-top:1px solid var(--msh-border);border-left:0}.msh-calendar-layers{grid-template-columns:1fr}.msh-calendar-color-presets{grid-template-columns:1fr 1fr}}
