/* Calendar first: one month, one selected day, a separate search surface. */
.journey-page{max-width:800px;color:#183e4a}
.journey-page .page-top{margin-bottom:18px;flex-wrap:wrap}
.journey-page .page-top h1{font-size:clamp(2.125rem,4vw,2.875rem)}
.journey-header-actions{display:flex;align-items:center;gap:8px}
.journey-page .compact-new{border-radius:999px;padding:10px 18px;font-size:1rem;min-height:44px}
.journey-search-toggle{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:#244d5c}
.journey-search-toggle:hover,.journey-search-toggle[aria-pressed=true]{background:#e5edef}
.journey-search-toggle .icon{width:21px;height:21px}
.journey-page .journey-views{gap:28px;margin-bottom:22px;border-color:#dfe5e5}
.journey-page .journey-views button{font-size:1rem;font-weight:500}
.journey-calendar{max-width:420px;margin:0 auto 32px;padding:16px 20px 10px;background:#fff;border:1px solid #e2e9e9;border-radius:20px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.calendar-heading h2{font:500 1.125rem/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:0;margin:0;min-width:0}
.calendar-arrows{display:flex;flex-shrink:0}
.calendar-arrow{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:0;border-radius:50%;color:#496a77;padding:0;font:400 1.75rem/1 Arial,sans-serif}
.calendar-arrow:hover{background:#f0f5f5}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-weekdays{margin-bottom:4px}
.calendar-weekdays span{text-align:center;font-size:.8125rem;color:#6b7e87;line-height:1.5;padding:4px 0}
.calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:2.875rem;padding:2px 0 7px;border:0;border-radius:10px;background:transparent;font:400 1rem/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#254b59}
.calendar-day>.calendar-number{display:grid;place-items:center;min-width:2rem;min-height:2rem;padding:2px;box-sizing:border-box;border-radius:50%}
.calendar-day:hover{background:#f0f5f5}
.calendar-day.selected>.calendar-number{background:#214b5b;color:#fff}
.calendar-day.is-today:not(.selected)>.calendar-number{box-shadow:inset 0 0 0 1px #9cb7c0}
.calendar-dot{display:inline-block;flex-shrink:0;width:4px;height:4px;border-radius:50%;background:#6e939f}
.calendar-day .calendar-dot{position:absolute;bottom:3px;left:50%;transform:translateX(-50%)}
.calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.calendar-foot>span{display:flex;align-items:center;gap:7px;font-size:.8125rem;color:#617984}
.calendar-foot .quiet{padding:8px 0 8px 12px;min-height:44px;font-size:.875rem;color:#406a7a}
.journey-day-entries{margin:0 auto;max-width:640px}
.journey-day-entries h2{font-size:1.875rem;line-height:1.2;margin:0 0 8px;overflow-wrap:anywhere}
.journey-entry-list{min-width:0}
.journey-entry{display:flex;align-items:center;gap:18px;width:100%;min-width:0;border:0;border-bottom:1px solid #dce5e6;background:transparent;border-radius:0;color:#183e4a;text-align:left;padding:22px 0;cursor:pointer;transition:background .16s ease}
.journey-entry:hover{background:#ffffff70}
.journey-entry:active{background:#eaf1f2}
.journey-entry-copy{display:block;flex:1;min-width:0}
.journey-entry-meta{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:.8125rem;color:#627b87;line-height:1.6;margin-bottom:7px;overflow-wrap:anywhere}
.journey-entry strong{display:block;font:500 1.1875rem/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.01em;overflow-wrap:anywhere}
.journey-entry-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;color:#576e79;font-size:1rem;line-height:1.65;margin-top:7px}
.journey-entry-voice{display:block;font-size:.875rem;color:#557582;line-height:1.5;margin-top:8px}
.journey-chevron{font:400 1.375rem/1 Arial,sans-serif;color:#83969d;flex-shrink:0}
.journey-day-empty{margin:14px 0 28px;padding:0;color:#617780;font-size:1rem;line-height:1.6}
.journey-drafts{max-width:640px;margin:28px auto 0;border-top:1px solid #dce5e6;padding-top:10px}
.journey-drafts>summary{font-size:.875rem;color:#526e7b;cursor:pointer;padding:12px 0;min-height:44px;box-sizing:border-box}
.journey-drafts .draft-list>h2{display:none}
.journey-search{max-width:640px;margin:auto}
.journey-search>.back{padding-left:0;margin-bottom:18px;min-height:44px;font-size:.875rem}
.journey-search label{font-size:.875rem;font-weight:500;color:#5a727e;margin:20px 0 8px}
.journey-search select,.journey-search input[type=search]{width:100%;min-width:0;max-width:100%;min-height:48px;background:#fff;color:#183e4a;border:1px solid #d5dfe1;border-radius:12px;font:400 1rem/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:12px 16px;box-sizing:border-box}
.journey-search #journey-category{padding-right:34px;text-overflow:ellipsis}
.journey-search input[type=search]::placeholder{color:#627780;opacity:1}
.journey-more-filters{margin:12px 0}
.journey-more-filters>summary{font-size:.875rem;min-height:44px;padding:12px 0;box-sizing:border-box;cursor:pointer;color:#567581}
.journey-more-filters label{margin-top:6px}
.journey-more-filters .quiet{font-size:.875rem;min-height:44px;margin-top:8px}
.journey-results-status{font-size:.875rem;color:#617984;margin:24px 0 2px}
.journey-search-empty{padding:24px 0;color:#576e79;font-size:1rem;line-height:1.6}
.journey-search-empty p{margin:0 0 6px}
.journey-search-empty .quiet{padding-left:0;min-height:44px;font-size:.875rem}
.journey-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.journey-page :is(button,input,select,summary):focus-visible{outline:2px solid #4a798c;outline-offset:3px}
.calendar-day:focus-visible,.journey-entry:focus-visible{outline-offset:-2px}
@media(max-width:760px){.journey-page{padding-left:20px;padding-right:20px}.journey-page .page-top{margin-bottom:12px}.journey-page .journey-views{margin-bottom:18px}.journey-calendar{padding:12px 12px 4px;margin-bottom:28px;border-radius:18px}.calendar-heading{gap:6px;padding-left:4px}.journey-entry{gap:12px;padding:20px 0}.journey-day-entries h2{font-size:1.75rem}}
@media(max-width:380px){.journey-page .page-top h1{font-size:2rem}.journey-header-actions{gap:2px}.journey-page .compact-new{padding:9px 13px}.journey-calendar{padding-left:8px;padding-right:8px}.calendar-heading h2{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.journey-entry{transition:none}}

/* The same restrained accent follows each activity from its date to its entry. */
.activity-reflection{--activity-color:#3d758b}
.activity-body{--activity-color:#678367}
.activity-part{--activity-color:#897099}
.activity-session{--activity-color:#a78337}
.activity-support{--activity-color:#b77459}
.calendar-dot[class*=activity-]{background:var(--activity-color);width:5px;height:5px}
.calendar-dot.planned-dot.activity-part{background:transparent;box-shadow:none;border:1px solid var(--activity-color)}
.calendar-day .calendar-markers{position:absolute;bottom:2px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:2px;height:7px;min-width:0;min-height:0;padding:0;background:transparent;border-radius:0;box-shadow:none}
.calendar-day .calendar-markers .calendar-dot{position:static;transform:none;flex:0 0 5px;width:5px;height:5px}
.calendar-more{flex:0 0 6px;width:6px;height:6px;color:#526e7b;margin:0 1px}
.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 12px;margin-bottom:4px;border-bottom:1px solid #edf0f0}
.calendar-controls select{flex:1;min-width:0;width:0;max-width:215px;border:1px solid #dde5e6;border-radius:10px;background:#fafcfb;color:#355763;min-height:44px;padding:8px;font-size:1rem;text-overflow:ellipsis}
.calendar-controls .calendar-key-button{flex-shrink:0;font-size:.875rem;min-height:44px;padding:8px 0;color:#526e7b}
.calendar-key>p{font-size:1rem;line-height:1.65}
.calendar-key ul{list-style:none;margin:18px 0;padding:0}
.calendar-key li{display:flex;align-items:center;gap:14px;padding:12px 0;font-size:1rem}
.calendar-key .calendar-dot{width:8px;height:8px;flex:0 0 8px}
.calendar-key .calendar-key-planned{margin-top:10px;padding-top:20px;border-top:1px solid #d6dfdd}
.calendar-key p.small{font-size:.875rem}
.journey-type-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;align-self:flex-start;margin-top:1px;color:var(--activity-color)}
.journey-type-icon .icon{width:22px;height:22px;stroke-width:1.5}
.journey-entry-meta{font-size:.875rem}
.journey-plans .planned-label{display:inline-flex;align-items:center;gap:6px;font-size:.75rem}
.calendar-show-all{font-size:.875rem;min-height:44px}
@media(max-width:380px){.calendar-controls{gap:10px}.calendar-controls select{padding-left:6px;padding-right:4px}.journey-type-icon{flex-basis:24px;width:24px}.journey-entry{gap:10px}}
@media(forced-colors:active){.calendar-dot[class*=activity-]{background:CanvasText}.calendar-dot.planned-dot.activity-part{background:Canvas;border-color:CanvasText}.journey-type-icon{color:CanvasText}}

/* Resonance: the same body-awareness symbol at home and in dated entries. */
.journey-type-icon .body-map-icon{color:var(--navy);stroke-width:1.5}
.body-map-icon .body-map-accent{stroke:#a88760}
@media(forced-colors:active){.journey-type-icon .body-map-icon{color:CanvasText}.body-map-icon .body-map-accent{stroke:CanvasText}}
