/* Calendar and personal writing areas share Still's readable, quiet type scale. */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 22px 17px;border-bottom:1px solid var(--line)}
.calendar-switch{display:inline-flex;align-items:center;background:#f0f3eb;border-radius:8px;padding:3px;gap:3px}
.calendar-switch button{font-size:.875rem;color:var(--muted);padding:6px 13px;border-radius:5px;line-height:1.5}
.calendar-switch button.active{background:white;color:var(--accent-dark);box-shadow:0 1px 3px #25331b0a;font-weight:600}
.calendar-switch button:hover{color:var(--ink)}
.calendar-range{font-size:.875rem;color:var(--muted)}
.calendar-panel{min-width:0}
.calendar-panel .panel-header>.row{align-items:flex-start;flex-wrap:wrap;gap:12px}
.calendar-panel .panel-footer{flex-wrap:wrap;gap:10px}
.week-scroll{overflow:auto;max-height:690px;scrollbar-width:thin;scrollbar-color:#dfe6d5 transparent}
.week-layout{min-width:800px}
.week-header,.week-body{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr))}
.week-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line)}
.week-time-heading{font-size:.75rem;color:var(--muted);display:flex;align-items:center;justify-content:center}
.week-day-heading{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 4px;border-left:1px solid var(--line);color:var(--muted)}
.week-day-heading:hover{background:#f5f8f0}
.week-day-heading>span{font-size:.75rem}
.week-day-heading>strong{font-size:1.25rem;font-weight:500;color:var(--ink);width:34px;line-height:34px;border-radius:50%}
.week-day-heading>small{font-size:.75rem}
.week-day-heading.is-today>strong{color:#fff;background:var(--accent)}
.week-day-header{border-left:1px solid var(--line);padding-bottom:8px}
.week-day-header .week-day-heading{border-left:0;width:100%;padding-bottom:7px}
.week-add{display:flex;align-items:center;justify-content:center;gap:4px;margin:0 auto;padding:5px 10px;border:1px solid #dce5d1;border-radius:5px;color:var(--accent-dark);font-size:.75rem}
.week-add svg{width:13px;height:13px}.week-add:hover{background:#edf3e6}
.week-body{position:relative;margin-top:13px}
.week-hours{position:relative}
.week-hours>span{position:absolute;right:8px;transform:translateY(-50%);font-size:.75rem;color:var(--muted)}
.week-column{position:relative;border-left:1px solid var(--line);cursor:crosshair}
.week-column.is-today{background:#f9fbf5}
.week-hour-line{position:absolute;left:0;right:0;border-top:1px solid #edf1e7;pointer-events:none}
.week-block{position:absolute;left:4px;right:4px;border:1px solid #dce5d1;border-left:3px solid #adbd98;background:#f0f5e9;border-radius:6px;padding:7px 6px;text-align:left;overflow:hidden;color:#556846;cursor:grab}
.week-block[draggable="true"]{touch-action:none}
.week-block.drag-ready,.task-row.drag-ready{outline:2px solid #93a47c;outline-offset:1px}
.task-row[data-task]{touch-action:pan-y}
.week-block:hover{border-color:var(--accent)}
.week-block.active{border-left-color:var(--accent-dark);background:#e9f1de}
.week-block.completed{background:#f5f7f1;color:#7c8a6f;border-color:#e3eadc}
.week-block-time{display:block;white-space:nowrap;overflow:hidden;font-size:.75rem;line-height:1.4;margin-bottom:4px}
.week-block-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.875rem;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
.week-block-check{position:absolute;right:4px;bottom:3px}.week-block-check svg{width:11px;height:11px}
.week-block.tight{padding:4px 5px}.week-block.tight .week-block-time,.week-block.tight .week-block-check{display:none}.week-block.tight .week-block-title{-webkit-line-clamp:1;font-size:.75rem}
.week-block,.week-block.tight{padding:0}
.week-block-open{display:block;width:100%;height:100%;padding:7px 28px 7px 6px;text-align:left;color:inherit}
.week-block.tight .week-block-open{padding:4px 28px 4px 5px}
.week-edit{position:absolute;top:2px;right:2px;min-width:24px;height:24px;padding:4px;background:#f8fbf3;color:var(--accent-dark)}
.week-edit svg{width:13px;height:13px}
.task-extra{display:flex;position:static;align-self:center;flex-direction:column;background:none;box-shadow:none}
.task-extra .icon-btn{min-width:28px;height:28px}
.schedule-block{padding-right:44px}.schedule-block.compact{padding-right:40px}
.schedule-edit{position:absolute;right:5px;top:7px;min-width:28px;height:28px;padding:5px;background:#f8fbf3;color:var(--accent-dark)}
.schedule-edit svg{width:14px;height:14px}
.block-task-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px;font-size:.875rem}
.month-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#dfe6d5 transparent}
.month-grid{min-width:650px}
.month-weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.month-weekdays{background:#fafbf7;border-bottom:1px solid var(--line)}
.month-weekdays>span{text-align:center;padding:12px 4px;font-size:.75rem;color:var(--muted)}
.month-day{min-height:149px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 6px;display:flex;flex-direction:column;min-width:0}
.month-day:nth-child(7n){border-right:0}.month-day:nth-last-child(-n+7){border-bottom:0}
.month-day.outside-month{background:#fafbf8;color:#a0aa95}.month-day.is-today{background:#f8fbf2}
.month-day-number{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;font-size:.875rem;color:inherit}
.month-day-number:hover{background:#eaf0e1}.is-today>.row>.month-day-number{background:var(--accent);color:white}
.month-add{height:25px;min-width:25px;opacity:.45}.month-add:hover,.month-add:focus-visible{opacity:1}.month-add svg{width:13px;height:13px}
.month-blocks{display:flex;flex-direction:column;gap:4px;margin-top:7px}
.month-block{display:flex;align-items:center;gap:4px;max-width:100%;padding:4px 5px;text-align:left;border-radius:4px;background:#edf3e6;color:#667b51;font-size:.75rem;border-left:2px solid #a9bb95}
.month-block>span{font-variant-numeric:tabular-nums;flex-shrink:0}.month-block>strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.month-block.active{background:#e3ecd7;border-left-color:var(--accent)}.month-block.completed{background:#f1f4ec;border-left-color:#ccd6c0;color:#859675}
.month-block:hover{background:#e4edda}.month-more{text-align:left;font-size:.75rem;color:var(--accent-dark);padding:3px 5px}
.month-day-total{font-size:.75rem;color:var(--muted);padding:8px 4px 0;margin-top:auto}
.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px;padding:24px}
.mini-month{min-width:0}.mini-month-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;width:100%;text-align:left;margin-bottom:12px;padding:3px 0}
.mini-month-heading strong{font-size:1rem;font-weight:600}.mini-month-heading>span{font-size:.75rem;color:var(--muted)}.mini-month-heading:hover strong{color:var(--accent)}
.mini-weekdays,.mini-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.mini-weekdays span{text-align:center;font-size:.75rem;color:var(--muted);padding-bottom:7px}
.mini-day{position:relative;min-width:0;height:31px;border-radius:5px;font-size:.75rem;color:#6d7a62}
.mini-day:hover{background:#ecf2e3}.mini-day.has-blocks{background:#f0f5e9;color:#526a3c}.mini-day.is-today{outline:1px solid #9db585;outline-offset:-1px;color:#3f5a2e;font-weight:650}
.mini-day i{position:absolute;bottom:2px;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:#8da776}
.calendar-panel .panel-title{line-height:1.5}
.wellbeing-summary{display:flex;gap:40px;margin:8px 0 30px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.wellbeing-summary>div{display:flex;flex-direction:column;gap:6px}
.wellbeing-summary strong{font:500 1.75rem var(--heading);letter-spacing:-.8px}
.wellbeing-summary span{font-size:.875rem;color:var(--muted)}
.meditation-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.meditation-practice .panel-header{padding:24px}.meditation-practice .panel-header>.row{gap:12px;flex-wrap:wrap}
.meditation-setup{padding:2px 24px;display:flex;flex-direction:column;gap:17px}
.field-label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:.875rem}
.field-label select,.field-label input{font-size:1rem;color:var(--ink);border:1px solid #dfe5d6;border-radius:7px;background:#fff;padding:10px 12px;width:100%;line-height:1.5}
.field-label input::placeholder{color:#9da992}.field-label input:disabled,.field-label select:disabled{background:#f8faf4;color:#7e8b71}
.meditation-clock{padding:30px 24px 15px;display:flex;align-items:center;flex-direction:column}
.meditation-clock .timer-ring{width:240px;height:240px}.meditation-clock .timer-number{font-size:3.25rem}
.meditation-progress{stroke:#93a57b;stroke-width:2.3;stroke-linecap:round;transition:stroke-dashoffset .8s}
.meditation-durations{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:22px}
.meditation-durations button{font-size:.875rem;padding:7px 12px;border:1px solid var(--line);border-radius:6px;color:#80916c}
.meditation-durations button.active{background:#edf4e3;border-color:#d4e1c3;color:var(--accent-dark)}
.meditation-custom{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.875rem;color:var(--muted);margin-top:15px}
.meditation-custom input{font-size:1rem;border:1px solid var(--line);border-radius:5px;padding:5px 7px;width:65px;background:#fff;text-align:center}
.meditation-actions{display:flex;gap:10px;padding:15px 24px}.meditation-actions .btn{flex:1;min-height:42px}
.meditation-gentle{font-size:.875rem;color:var(--muted);line-height:1.8;text-align:center;padding:0 24px 22px}
.meditation-discard{display:block;margin:0 auto 20px;font-size:.75rem;color:var(--muted)}
.meditation-history .panel-header>.row{gap:12px;flex-wrap:wrap}
.meditation-entries{padding:0 24px 12px}.meditation-entry{padding:22px 0;border-top:1px solid var(--line)}
.meditation-entry>.row{align-items:flex-start;gap:12px}.meditation-entry h3{font-size:1rem;font-weight:550}.meditation-entry-date{font-size:.75rem;color:var(--muted);margin-top:5px;line-height:1.8}
.meditation-duration-label{font-size:.875rem;white-space:nowrap;color:var(--accent-dark)}
.meditation-intention-text{font-size:.875rem;color:#7c8b6d;margin-top:12px}
.meditation-note{font-size:1rem;color:#65765a;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px}
.meditation-entry .pill{font-size:.75rem;margin-top:12px}.history-more{display:block;margin:0 auto 20px}
.quiet-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:55px 14px;gap:12px;color:var(--muted)}
.quiet-empty>svg{width:32px;height:32px;color:#9aad84;margin-bottom:7px}.quiet-empty h3{font-size:1.125rem;color:#667b53}.quiet-empty p{font-size:.875rem;line-height:1.8;max-width:300px}
.meditation-form-intro{font-size:.875rem;color:var(--muted);line-height:1.8;margin-bottom:23px}
.recorded-duration{font-size:1rem;padding:10px 0;color:var(--accent-dark)}
.journal-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}
.journal-sidebar .panel-header{padding:22px 18px 16px}.journal-search{display:block;margin-top:16px}
.journal-search input{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#fafcf7;font-size:1rem}
#journal-list{max-height:690px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e0e6d8 transparent;padding:0 9px 12px}
.journal-entry-link{display:block;width:100%;padding:16px 12px;margin:3px 0;text-align:left;border-radius:7px;border:1px solid transparent;color:var(--ink)}
.journal-entry-link:hover{background:#f7faf2}.journal-entry-link.selected{border-color:#e1e9d7;background:#f0f5e9}
.journal-entry-link time{font-size:.75rem;color:var(--muted)}.journal-entry-link strong{font-size:1rem;line-height:1.5;display:block;margin:7px 0 5px;font-weight:550;overflow-wrap:anywhere}
.journal-entry-link p{font-size:.875rem;color:#859478;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.journal-entry-link>span{font-size:.75rem;color:var(--accent);display:block;margin-top:9px}
.journal-list-empty{padding:26px 16px;font-size:.875rem;color:var(--muted);line-height:1.8}
.journal-notebook{padding:30px 34px 22px;min-width:0}.journal-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.journal-date input{border:0;background:transparent;color:var(--muted);font-size:.875rem;max-width:155px;padding:5px 0}
.journal-mood select{border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:#fbfcf9;font-size:.875rem;color:var(--muted);max-width:190px}
.journal-title{border:0;outline:none;background:transparent;width:100%;font:550 1.625rem/1.5 var(--heading);letter-spacing:-.5px;padding:0;color:#3f5133}
.journal-title::placeholder{color:#a0ae93}.journal-writing-date{font-size:.875rem;color:#8c9a80;margin-top:8px;margin-bottom:24px}
.journal-prompts{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 25px}.journal-prompts[hidden]{display:none}
.journal-prompts>span{width:100%;font-size:.75rem;color:var(--muted);margin-bottom:4px}
.journal-prompts button{font-size:.75rem;padding:6px 9px;border:1px solid #e4ebdb;background:#f8faf4;color:#7b9068;border-radius:5px;text-align:left}
.journal-prompts button:hover{background:#edf4e3;color:#5c7547}
.journal-body{border:0;outline:none;resize:vertical;display:block;width:100%;min-height:400px;background:transparent;font:400 1rem/1.9 var(--font);color:#4e6042;padding:0;overflow-wrap:anywhere}
.journal-body::placeholder{color:#a3af99}.journal-body:focus-visible,.journal-title:focus-visible{outline:0}
.journal-editor-footer{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.journal-privacy{font-size:.75rem;color:var(--muted);margin:20px 2px;display:flex;align-items:flex-start;gap:8px;line-height:1.8}.journal-privacy svg{width:14px;height:14px;margin-top:3px}
@media(min-width:761px){
 .daily-grid:not([data-calendar=day]){grid-template-columns:270px minmax(0,1fr)}
 .daily-grid:not([data-calendar=day])>.right-column{display:none}
}
@media(max-width:1350px){.brand-tagline{display:none}.main-nav{gap:3px}.nav-btn{padding:9px 12px;min-width:92px}.saved-indicator{display:none}}
@media(max-width:1100px){.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-grid:not([data-calendar=day]){grid-template-columns:235px minmax(0,1fr)}.meditation-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}.journal-layout{grid-template-columns:235px minmax(0,1fr)}.journal-notebook{padding:26px}.meditation-entries{padding-left:20px;padding-right:20px}}
@media(max-width:760px){
 .main-nav .nav-btn{flex-direction:column;gap:5px;padding:8px 2px;font-size:.75rem;min-width:0}
 .main-nav .nav-btn svg{width:17px;height:17px}.topbar{gap:9px;padding-top:13px}
 .calendar-toolbar{padding:3px 17px 15px}.calendar-switch{width:100%}.calendar-switch button{flex:1;padding:7px 9px}
 .calendar-range{font-size:.875rem}.calendar-panel .panel-header{padding:20px 17px}
 .daily-grid:not([data-calendar=day]){display:block}.daily-grid[data-mobile=schedule]>.calendar-panel{display:block}
 .week-scroll{max-height:570px}.week-layout{min-width:770px}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;padding:20px 14px}
 .mini-month-heading{flex-direction:column;align-items:flex-start;gap:3px}.mini-day{height:29px}.mini-days,.mini-weekdays{gap:1px}
 .wellbeing-summary{gap:20px;justify-content:space-between;margin-bottom:23px}.wellbeing-summary strong{font-size:1.5rem}.wellbeing-summary span{font-size:.75rem}
 .meditation-layout,.journal-layout{grid-template-columns:1fr;gap:20px}.meditation-clock .timer-ring{width:220px;height:220px}.meditation-clock .timer-number{font-size:3rem}
 .meditation-practice .panel-header,.meditation-setup{padding-left:20px;padding-right:20px}.meditation-history .panel-header{padding:22px 20px}
 .meditation-gentle{font-size:.875rem}.journal-sidebar{order:2}.journal-notebook{order:1;padding:23px 20px 19px}.journal-body{min-height:350px}.journal-topline{gap:12px;margin-bottom:22px}
 .journal-title{font-size:1.375rem}.journal-writing-date{font-size:.75rem}.journal-mood select{max-width:170px;font-size:.75rem}.journal-topline .row{gap:3px}
 #journal-list{max-height:360px}.journal-notebook input,.journal-notebook textarea{min-width:0}
}
@media(max-width:370px){.year-grid{grid-template-columns:1fr;padding:20px}.mini-month-heading{flex-direction:row;align-items:center}.mini-day{height:32px}.wellbeing-summary{gap:12px}.meditation-durations button{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.meditation-progress{transition:none}}
