/* TITI Planner 8.9 · Diary Book editorial rebuild, iPhone 14 first.
   Existing data, gestures, Notion API and persistence are untouched. */
:root {
  color-scheme:light;
  --paper:#f3f2f0; --soft:#f7f6f4; --line:#c6c5c3;
  --strong:#1d1d1c;--ink:#373736;--muted:#939290;
  --editorial-paper:#f9f8f6; --editorial-rule:#bdbcba;
  --time-hour:66px;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Apple SD Gothic Neo",sans-serif;
}
html {background:#f0efed}
body {background:#f0efed;color:var(--ink);font-size:12px}
button {color:inherit}
.app-shell {
  width:100%;max-width:430px;min-height:100dvh;margin:0 auto;
  padding:0 44px 0 0!important;
  background:#f0efed;
  box-shadow:none;
  position:relative;
}
/* Outer cover and its narrow, genuine button index. */
.app-header {height:46px;padding:16px 12px 0 14px;display:block;border:0;background:transparent}
.branding {font-size:10px;font-weight:490;letter-spacing:-.14px;color:#252524;gap:0;display:block}
.branding .brand-name {font-weight:520}
.brand-symbol,.brand-light,.brand-separator {display:none!important}
.header-controls {
  position:absolute;right:6px;top:13px;z-index:25;
  width:33px;display:flex;flex-direction:column;gap:12px;
}
.header-controls button {
  border:1px solid #dad9d7;border-radius:50%;width:31px;height:31px;
  padding:0;display:grid;place-items:center;min-width:31px;
  color:#353534;background:rgba(248,240,242,.66);font-size:0;
  box-shadow:none;
}
#settingsBtn{order:-1;background:#222221;color:#fff;border:0;border-radius:50%;height:30px;width:30px}
#settingsBtn svg{display:none}
#settingsBtn::after{content:' ';display:block;width:6px;height:6px;border-radius:50%;background:#faf9f7}
#cloudSyncBtn{order:0;font-size:21px;font-weight:300}
#jumpToday{order:1}
#jumpToday::after{content:'⌂';font-size:15px;line-height:1;font-weight:400}
#notionRefBtn{order:2}
#notionRefBtn::after{content:'···';font-size:18px;line-height:1;transform:translateY(-3px)}
/* Page stock is inset from the cover, without a floating card treatment. */
.page-heading,.main-view,.secondary-controls {
  width:calc(100% - 13px);margin-left:13px;
  background:var(--editorial-paper);
}
.page-heading {
  position:relative;min-height:59px;
  padding:14px 11px 11px 12px;gap:3px;
  display:flex;align-items:flex-start;justify-content:space-between;
  border:0;
}
.page-heading::after {
  content:'';position:absolute;bottom:0;left:11px;right:10px;
  height:1px;background:#949391;
}
.heading-copy {display:flex;align-items:baseline;gap:6px;white-space:nowrap;flex:0 1 auto;min-width:0}
.page-heading h1 {font-size:20px;line-height:1.13;letter-spacing:-.52px;font-weight:610;color:#212120;margin:0}
.page-heading h1#headingText {white-space:nowrap}
.subtext {margin:0;color:#c2c1bf;font-size:9px;line-height:1;letter-spacing:.13px;text-transform:none;white-space:nowrap}
.heading-actions {gap:0;padding:3px 0 0;min-width:0;flex:0 0 auto}
.date-navigation{gap:11px;min-height:15px;height:15px;padding:0;background:transparent;align-items:center}
.nav-arrow {font-size:8px;height:16px;color:#5e5e5d;letter-spacing:.9px;min-width:0}
.nav-arrow span{font-size:8px}
#chatBtn {
  position:absolute;right:-35px;top:163px;z-index:26;
  width:28px;min-width:28px;height:28px;
  border-radius:50%;border:1px solid #d3d2d0;
  background:rgba(248,240,242,.66);padding:0;
  color:#323231;display:grid;place-items:center;
}
#chatBtn svg{width:15px;height:15px}
.overline,.nav-title {display:none!important}
.main-view{min-height:0;padding:0;margin-bottom:0}
/* A real, printed-looking book index, not a smartphone navigation bar. */
.tab-bar {
  position:fixed;z-index:35;
  left:max(0px,calc((100vw - 430px) / 2));right:auto;bottom:0;transform:none;
  width:min(calc(100vw - 44px),386px);max-width:none;
  min-height:53px;
  background:#f3f2f0;border-top:0;
  padding:8px 11px calc(12px + env(safe-area-inset-bottom,0px));
  display:flex;justify-content:flex-start;align-items:flex-start;gap:0;
  box-shadow:none;backdrop-filter:none;
}
.tab-bar::after {
  position:absolute;left:13px;bottom:4px;
  content:'TITI  /  PERSONAL DIARY';
  font-size:6.5px;letter-spacing:1.1px;color:#b9b8b6;
}
.tab {
  min-height:27px;height:27px;width:auto;min-width:46px;
  border:0;border-radius:0;background:transparent;
  padding:3px 2px;display:grid;place-items:center;
  font-weight:480;font-size:8px;letter-spacing:.52px;
  color:#b0afad;box-shadow:none;
}
.tab::before {content:none}
.tab+.tab{border-left:1px solid #e2e1df}
.tab span {padding:4px 6px;line-height:1.15;white-space:nowrap}
.tab.active {background:transparent;border:0;color:#fff}
.tab.active span {background:#222221;color:#fff;font-weight:620}
.tab[data-view="pinboard"] {min-width:64px}
.quick-add {
  position:fixed;right:max(6px,calc((100vw - 430px) / 2 + 7px));
  bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:27;
  width:31px;height:31px;border-radius:50%;border:0;
  background:#222221;color:#fff;font-size:22px;
  box-shadow:none;
}
.quick-add span{transform:translateY(-2px)}
/* MONTH: the phone shows a four-column window of a full seven-day paper spread.
   Swiping sideways is the mobile adaptation of turning to the facing page. */
.month-folio-scroll {
  overflow:auto hidden;scrollbar-width:none;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  background:var(--editorial-paper);
}
.month-folio-scroll::-webkit-scrollbar{display:none}
.month-weekdays,.month-grid {
  width:100%;min-width:0;
  grid-template-columns:repeat(7,minmax(0,1fr));
  background:var(--editorial-paper)
}
.month-weekdays {border-bottom:1px solid #b0afad;margin:0;padding:0}
.month-weekdays span {
  padding:10px 0 8px;
  font-size:8px;letter-spacing:1.15px;color:#5a5a59;
  border-right:1px solid #e2e1df;font-weight:450;
}
.month-weekdays span:last-child {border-right:0}
.month-grid {border-left:0}
.month-cell {
  background:var(--editorial-paper);height:94px;
  border-right:1px solid #cac9c7;
  border-bottom:1px solid #cac9c7;
  padding:5px 4px;
}
.month-cell:nth-child(7n){border-right:0}
.month-cell.other{background:#f5f4f2}
.month-cell .date-num {
  width:auto;height:16px;min-width:14px;
  padding:1px 3px;display:inline-grid;margin:0 0 5px;
  font-size:9px;font-weight:490;color:#555554;
}
.month-cell .date-num.today{background:#222221;color:#fff;border-radius:0;font-weight:600}
.month-cell .date-num.picked:not(.today){box-shadow:inset 0 0 0 .8px #50504f}
.month-entry,.month-entry.category-important,.month-entry.multiday {
  display:block;width:100%;margin:2px 0 0;
  background:transparent;border:0;border-radius:0;
  padding:1px 0 1px 2px;
  border-left:1px solid #82817f;
  color:#424241;font-size:8px;font-weight:450;
  line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.month-entry.multiday{font-weight:600;border-left:2px solid #5a5a59}
.month-more{color:#999896;font-size:7px;margin-top:3px}
.month-folio-footer {
  padding:7px 11px;display:flex;justify-content:space-between;gap:9px;
  background:var(--editorial-paper);color:#9a9997;
  font-size:8px;letter-spacing:1.35px;
}
.month-folio-footer .folio-accent{color:#c1c0be;font-size:7px}
/* DAY: text, lines and rhythm, no massive stacked cards. */
.day-view,.timeline-shell,.timeline-track,.hour-scale,.timeline-scroll {background:var(--editorial-paper)}
.day-fixed-events,.day-items-strip {
  background:var(--editorial-paper);padding:8px 11px 7px;
  min-height:0;border-bottom:1px solid var(--editorial-rule);
}
.day-fixed-events:has(.day-all-list){padding-bottom:8px}
.day-items-strip.items-empty {padding:6px 11px;min-height:25px}
.day-section-label {
  color:#545453;font-size:8px;font-weight:560;
  letter-spacing:1.15px;line-height:1.25;
}
.day-section-label::before{content:'•';font-size:7px;margin-right:5px;color:#343433}
.day-items-add {
  min-width:23px;min-height:18px;
  font-size:15px;line-height:1;color:#464645;
}
.day-fixed-events .day-all-list,.day-items-strip .day-all-list {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 9px;margin-top:4px;
}
.day-fixed-events .day-all-list{grid-template-columns:1fr}
.day-fixed-events .all-day-item,
.day-items-strip .all-day-item,
.all-day-item.check-card,
.all-day-item.event-card {
  border:0;border-bottom:1px solid #dedddb;
  border-radius:0;background:transparent;
  padding:5px 2px;color:#3c3c3b;
  min-width:0;min-height:27px;
  font-size:10px;box-shadow:none;
}
.all-day-item input {accent-color:#242423;width:12px;height:12px;min-width:12px;margin-top:3px}
.all-day-item .item-type {font-size:7px;letter-spacing:.75px;color:#91908e;margin-bottom:1px;font-weight:460}
.all-day-item .all-text {font-size:10px;color:#484847;font-weight:450;line-height:1.3}
.all-day-item .all-text small{font-size:8px;color:#898886}
.time-block.event-card,
.time-block.check-card {
  border:0;border-left:2px solid #7f7e7c;
  border-radius:0;background:#ecebe9;
  padding:4px 5px;box-shadow:none;
}
.time-block.check-card {background:#f5f4f2;border-left-color:#aaa9a7}
.time-block.kind-log{background:#f1f0ee;border-left-color:#989795}
.time-block.kind-wish{background:#f4f3f1;border-left-color:#acaba9}
.time-block.kind-shopping{background:#f2f1ef;border-left-color:#aeadab}
.time-block .item-type {font-size:7px;letter-spacing:.7px;opacity:.75}
.time-block .block-title {font-size:10px;font-weight:550;line-height:1.2}
.time-block .block-time {font-size:8px}
.timeline-hint.toolbar-minimal {
  background:var(--editorial-paper);
  min-height:24px;padding:1px 9px;
  border-bottom:1px solid #cecdcb;
  border-top:0;
}
.zoom-buttons{gap:4px}
.zoom-buttons button,.zoom-buttons button[data-zoom=fit] {
  min-width:22px;height:22px;border:0;border-radius:0;
  background:transparent;color:#62615f;
  font-size:12px;font-weight:400;padding:0 3px;
}
.zoom-buttons button[data-zoom=fit]{font-size:8px;letter-spacing:.6px;min-width:31px}
.day-timeline-grid {grid-template-columns:34px minmax(0,1fr)}
.week-header,.all-day-row,.timeline-body-grid {grid-template-columns:34px repeat(7,minmax(0,1fr))}
.time-lane,.time-lane.current-lane{
  background-color:var(--editorial-paper);
  background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent calc(var(--time-hour) - 1px),#cfcecc calc(var(--time-hour) - 1px),#cfcecc var(--time-hour));
  border-left:1px solid #cfcecc;
}
.hour-label,.day-timeline-grid .hour-label,.week-track .hour-scale .hour-label {
  right:3px;color:#939290;font-size:8px;font-weight:450;
  font-variant-numeric:tabular-nums;
}
.now-line{background:#6c6b69;height:1px}
.now-line:before{background:#6c6b69}
/* WEEK: quiet, fine grid and concise date index. */
.timeline-week-pills {
  padding:0 6px;gap:0;border-bottom:1px solid #aeadab;
  background:var(--editorial-paper);
}
.weekday-pill {
  border:0;border-right:1px solid #e4e3e1;border-radius:0;
  background:transparent;padding:7px 1px 8px;gap:2px;
  color:#7c7b79;
}
.weekday-pill:last-child{border-right:0}
.weekday-pill small{font-size:8px;letter-spacing:.45px}
.weekday-pill b{font-size:12px;font-weight:490;color:#474746}
.weekday-pill.selected{background:transparent}
.weekday-pill.selected:after{height:1px;left:18%;right:18%;background:#323231}
.week-header{background:var(--editorial-paper);border-bottom:1px solid #bfbebc}
.week-header .corner{font-size:7px;color:#9d9c9a}
.week-header .lane-header{font-size:8px;font-weight:490;background:var(--editorial-paper);border-left:1px solid #cfcecc;color:#61605e;padding:5px 2px}
.week-header .lane-header.current{background:#efeeec;color:#212120}
.all-day-row{background:var(--editorial-paper);border-bottom:1px solid #cfcecc}
.all-day-row .all-label{font-size:7px;color:#8c8b89}
.all-day-cell{border-left:1px solid #cfcecc;padding:3px 2px}
.all-day-item {border-radius:0}
.week-track .all-day-item {font-size:8px}
/* PINBOARD: a Notes folio, with ruled paper instead of cards. */
.pin-wrap{padding:10px 11px 64px;background:var(--editorial-paper)}
.pin-intro{margin:0 0 13px;font-size:9px;line-height:1.6;color:#91908e}
.pin-intro::before{content:'NOTES INDEX  ·  ';letter-spacing:1px;color:#595958;font-size:8px}
.capture-card{background:transparent;border:0;border-top:1px solid #abaaa8;border-bottom:1px solid #abaaa8;padding:8px 0 9px;border-radius:0;box-shadow:none}
.capture-card textarea{
  border:0;min-height:110px;width:100%;outline:none;resize:vertical;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 28px,#dedddb 29px,#dedddb 30px);
  font-size:12px;line-height:30px;color:#373736;padding:0 4px;
}
.capture-card textarea::placeholder{font-size:10px;line-height:30px;color:#a7a6a4}
.capture-foot{border:0;padding:7px 0 0;align-items:flex-end}
.capture-foot small{font-size:8px;color:#9e9d9b;line-height:1.35}
.capture-foot button{border:0;border-radius:0;background:#282827;color:white;font-size:9px;padding:7px 8px;font-weight:510;white-space:nowrap}
.pin-segment{margin:13px 0 9px;gap:0;border-bottom:1px solid #bebdbb;padding-bottom:4px}
.pin-segment button{
  border:0;border-right:1px solid #dfdedc;border-radius:0;
  background:transparent;color:#908f8d;font-size:9px;
  padding:4px 7px;letter-spacing:.1px;
}
.pin-segment button.active{background:#242423;color:#fff;border-color:#242423;font-weight:600}
.pin-card,.collection-item{
  border:0;border-bottom:1px solid #cac9c7;border-radius:0;
  background:transparent;box-shadow:none;
  padding:10px 1px;margin:0;
}
.pin-meta{font-size:8px;color:#a2a19f;letter-spacing:.1px}
.pin-card .pin-text{font-size:11px;line-height:1.6;margin:7px 0}
.pin-status {background:transparent;color:#7f7e7c;font-size:8px;padding:1px 3px}
.pin-card .pin-actions button{border:0;background:transparent;font-size:9px;border-radius:0;padding:5px 6px}
.pin-card .pin-actions .primary-action{background:#ebeae8;color:#292928;border:0}
.pin-collection h3{font-size:10px;font-weight:500;letter-spacing:1px;color:#666563}
/* Editors, settings, and confirmation dialogs retain reliable, accessible controls. */
.modal-card{background:#f9f8f6}
.toast{background:#252524;border-radius:1px}
@media(max-width:430px){
 .app-shell{width:100%;max-width:430px;padding-right:44px!important}
 .page-heading,.main-view,.secondary-controls{width:calc(100% - 13px);margin-left:13px}
 .page-heading{padding:14px 11px 11px 12px;min-height:59px}
 .page-heading h1{font-size:20px}
 .heading-actions{gap:0;padding:3px 0 0}
 .date-navigation{gap:10px}
 .nav-arrow{font-size:8px;letter-spacing:.3px}
 .month-weekdays,.month-grid{min-width:548px;grid-template-columns:repeat(7,78.2857px)}
 .month-cell{height:94px;padding:5px 5px}
 .month-weekdays span{font-size:8px}
 .tab-bar{width:calc(100% - 44px)}
 .tab{min-height:27px;height:27px;font-size:8px;letter-spacing:.3px}
 .tab span{padding:4px 6px}
 .day-timeline-grid{grid-template-columns:34px minmax(0,1fr)}
 .week-header,.all-day-row,.timeline-body-grid{grid-template-columns:34px repeat(7,minmax(0,1fr))}
 .timeline-scroll{max-height:none;min-height:0}
 .day-view .timeline-scroll{max-height:none;min-height:0}
 .week-track{min-width:650px}
 .week-track.overview{min-width:100%}
 .quick-add{right:7px;bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 .pin-wrap{padding:10px 11px 64px}
}
@media(max-width:370px){
  .app-shell{padding-right:40px!important}
  .header-controls{right:4px}
  .page-heading h1{font-size:19px}
  .date-navigation{gap:5px}
  .nav-arrow{font-size:7px}
  .page-heading,.main-view,.secondary-controls{width:calc(100% - 10px);margin-left:10px}
  .month-weekdays,.month-grid{min-width:510px;grid-template-columns:repeat(7,72.857px)}
  .tab-bar{width:calc(100% - 40px)}
}
@media(min-width:431px){
  .app-shell {border-left:1px solid #e0dfdd;border-right:1px solid #e0dfdd}
  .month-weekdays,.month-grid {min-width:100%}
}
@media(display-mode:standalone) {
 .app-shell{padding-bottom:0}
 .tab-bar{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
}

/* v8.10 · camera-aware neutral paper and true single-viewport layout */

:root{
  color-scheme:light;
  --paper:#faf9f7;
  --soft:#f4f2ef;
  --line:#d8d5d0;
  --editorial-paper:#faf9f7;
  --editorial-rule:#d4d0cb;
  --strong:#242424;
  --ink:#343330;
  --muted:#92908c;
  --accent:#595855;
  --accentdark:#363534;
}
html, body {
  width:100%;height:100%;max-height:100%;overflow:hidden!important;
  overscroll-behavior:none!important;
  margin:0;background:#f1efec;color:var(--ink);
}
/* The app fills exactly one visual viewport; only the content pane may scroll. */
.app-shell {
  display:flex!important;flex-direction:column!important;
  width:100%!important;max-width:430px!important;
  height:100dvh!important;min-height:0!important;max-height:100dvh!important;
  overflow:hidden!important;overscroll-behavior:none;
  padding:0!important;margin:0 auto!important;
  background:#f1efec!important;
}
.app-header {
  display:flex!important;flex:0 0 44px!important;
  width:100%;height:44px!important;min-height:44px;
  padding:5px 12px 4px!important;
  align-items:center!important;justify-content:space-between!important;
  gap:5px;border:0;background:transparent;
}
.branding {min-width:0;white-space:nowrap;font-size:10px;letter-spacing:.05px;color:#55524e}
.header-controls {
  position:static!important;display:flex!important;flex-direction:row!important;
  align-items:center!important;justify-content:flex-end!important;
  gap:5px!important;width:auto!important;min-width:0!important;
  height:36px;z-index:auto!important;
}
.header-controls button,#chatBtn {
  position:static!important;right:auto!important;top:auto!important;
  flex:0 0 29px;width:29px!important;height:29px!important;min-width:29px!important;
  border:1px solid #d9d6d1!important;border-radius:50%!important;
  background:#f8f7f4!important;color:#373634!important;
  padding:0!important;display:grid!important;place-items:center!important;
  box-shadow:none!important;font-size:0!important;
}
#settingsBtn {order:0;background:#282827!important;color:#fff!important;border-color:#282827!important}
#settingsBtn svg {display:block!important;width:15px;height:15px;stroke:#fff}
#settingsBtn::after{content:none!important}
#cloudSyncBtn {order:1;font-size:18px!important;line-height:1!important}
#jumpToday{order:2}
#jumpToday::after{content:'⌂';font-size:15px;line-height:1}
#notionRefBtn {order:3}
#notionRefBtn::after{content:'···';font-size:17px;line-height:1;transform:translateY(-2px)}
#chatBtn{order:4!important}
#chatBtn svg{width:15px;height:15px}
.page-heading,.main-view,.secondary-controls{
  width:auto!important;margin-left:12px!important;margin-right:12px!important;
  background:var(--editorial-paper)!important;
}
.page-heading{
  flex:0 0 66px!important;min-height:66px!important;height:66px!important;
  padding:16px 13px 10px!important;
  align-items:flex-start!important;
}
.page-heading::after{left:13px;right:13px;background:#b8b3ac;height:1px}
.page-heading h1{font-size:21px!important;color:#242424;font-weight:610}
.subtext{color:#b2aea8;font-size:9px}
.date-navigation{border:0;background:transparent!important}
.nav-arrow{color:#66625e;font-size:9px!important}
.main-view{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;
  min-width:0!important;min-height:0!important;height:auto!important;
  overflow:hidden!important;padding:0!important;
  margin-bottom:0!important;
}
.main-view:has(.month-grid),.main-view:has(.pin-wrap){padding-bottom:0!important}
.secondary-controls[hidden]{display:none!important}
/* Navigation is an inline book index, no fixed floating overlay, no dead bottom gap. */
.tab-bar{
  position:relative!important;left:auto!important;right:auto!important;
  top:auto!important;bottom:auto!important;transform:none!important;
  flex:0 0 46px!important;min-height:46px!important;height:46px!important;
  width:auto!important;max-width:none!important;
  margin:0 12px!important;padding:8px 10px!important;
  border:0!important;display:flex!important;justify-content:flex-start!important;
  align-items:center!important;gap:0!important;
  background:#f1efec!important;box-shadow:none!important;backdrop-filter:none!important;
}
.tab-bar::after{content:none!important}
.tab{flex:0 0 auto;min-width:48px;height:26px!important;padding:2px 2px!important;background:transparent!important;color:#a29e99!important}
.tab span{padding:4px 6px}
.tab.active{background:transparent!important;color:#fff!important}
.tab.active span{background:#282827!important;color:#fff!important}
/* Floating plus sits on paper corner, never outside the narrow content. */
.quick-add{
  right:max(17px,calc((100vw - 430px) / 2 + 17px))!important;
  bottom:calc(58px + env(safe-area-inset-bottom,0px))!important;
  width:36px;height:36px;border-radius:50%;background:#282827!important;
}
/* Months: fill the entire available paper area with evenly spaced weeks. */
.month-folio-scroll{
  display:flex!important;flex-direction:column!important;flex:1 1 auto!important;
  min-height:0!important;height:auto!important;max-height:100%!important;
  width:100%;overflow-x:auto!important;overflow-y:hidden!important;
  background:var(--editorial-paper)!important;
}
.month-weekdays{
  flex:0 0 31px!important;height:31px!important;min-height:31px!important;
  position:relative!important;top:auto!important;z-index:2;
  background:var(--editorial-paper)!important;
  border-bottom:1px solid #d4d0cb!important;
}
.month-weekdays span{padding:8px 0 7px!important;color:#67645e}
.month-grid{
  flex:1 1 0%!important;min-height:0!important;height:0!important;
  grid-auto-rows:minmax(0,1fr)!important;
  align-content:stretch!important;
  background:var(--editorial-paper)!important;
}
.month-weekdays,.month-grid{
  width:548px!important;min-width:548px!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
}
.month-cell{
  height:auto!important;min-height:0!important;
  border-right:1px solid #dedbd6!important;
  border-bottom:1px solid #dedbd6!important;
  padding:5px 5px!important;
  background:var(--editorial-paper)!important;
}
.month-cell.other{background:#f7f6f3!important}
.month-entry {color:#4c4a46!important}
.month-folio-footer{
  flex:0 0 23px!important;min-height:23px!important;height:23px!important;
  padding:6px 12px!important;
  background:var(--editorial-paper)!important;
  color:#9e9b96!important;
}
.month-folio-footer .folio-accent{color:#b0aca7!important}
/* Vertical timeline only scrolls inside its own bounded area. */
.day-view,.timeline-shell{
  display:flex!important;flex-direction:column!important;
  height:100%!important;min-height:0!important;max-height:100%!important;
  flex:1 1 0%!important;overflow:hidden!important;
  background:var(--editorial-paper)!important;
}
.timeline-week-pills,.timeline-hint.toolbar-minimal,.day-fixed-events,.day-items-strip{
  flex:0 0 auto!important;background:var(--editorial-paper)!important;
}
.timeline-scroll{
  flex:1 1 0%!important;min-height:0!important;
  max-height:none!important;overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  background:var(--editorial-paper)!important;
}
.timeline-track,.hour-scale,.time-lane{background-color:var(--editorial-paper)!important}
.day-timeline-grid{grid-template-columns:33px minmax(0,1fr)!important}
.week-header,.all-day-row,.timeline-body-grid{grid-template-columns:33px repeat(7,minmax(0,1fr))!important}
.hour-label,.day-timeline-grid .hour-label,.week-track .hour-scale .hour-label{right:2px;font-size:8px;color:#88847d!important}
.time-lane,.time-lane.current-lane{
  background-color:var(--editorial-paper)!important;
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--time-hour) - 1px),#e4e1db calc(var(--time-hour) - 1px),#e4e1db var(--time-hour))!important;
  border-left:1px solid #dedbd6!important;
}
.time-block.check-card{background:#f2f1ed!important;border-left:2px solid #a7a49f!important;color:#3c3a37!important}
.time-block.event-card{background:#e9e7e3!important;border-left:2px solid #5c5955!important;color:#343230!important}
.day-fixed-events,.day-items-strip{border-bottom:1px solid #d6d2cc!important}
.day-section-label,.item-type{color:#7f7b75!important}
.week-track{min-width:650px}
.week-track.overview{min-width:100%}
.pin-wrap{
  flex:1 1 auto;min-height:0;max-height:100%;overflow:auto!important;
  padding:10px 12px 20px!important;background:var(--editorial-paper)!important;
  overscroll-behavior:contain;
}
/* Dialogs remain independently scrollable while the diary itself stays fixed. */
.modal-layer{overscroll-behavior:contain}
.modal-card{max-height:min(92dvh,900px);overflow-y:auto}
@media(max-width:370px){
  .app-header{padding:5px 9px 4px!important}
  .header-controls{gap:3px!important}
  .header-controls button,#chatBtn{flex-basis:26px;width:26px!important;min-width:26px!important;height:26px!important}
  .page-heading,.main-view{margin-left:9px!important;margin-right:9px!important}
  .page-heading{padding:16px 9px 10px!important}
  .page-heading h1{font-size:19px!important}
  .date-navigation{gap:5px!important}
  .month-weekdays,.month-grid{width:525px!important;min-width:525px!important}
  .tab-bar{margin:0 9px!important;padding-inline:6px!important}
}
@supports not(height:100dvh){.app-shell{height:100vh!important;max-height:100vh!important}}
/* iPhone 14 PWA display: reserve the real notch and home-indicator safe areas,
   without introducing another scrollable page outside the planner. */
.app-shell{
  padding-top:env(safe-area-inset-top,0px)!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
}

.month-cell .date-num.picked {box-shadow:inset 0 0 0 1px #8b8882!important}
.month-cell .date-num.today{background:#292827!important;color:#fff!important}
