/* Calendar proportion pass — 2026-10-18
   Keep calendar behaviour untouched; only make its visual rhythm match the airy home page. */

.app[data-route="calendar"] .cal2{
  gap:11px;
}

.app[data-route="calendar"] .cal2>.cal2-eyebrow+.cal2-hero{
  margin-top:-6px;
}

.app[data-route="calendar"] .cal2-eyebrow{
  padding-inline:6px;
  font-size:.68rem;
  letter-spacing:.065em;
  opacity:.7;
}

/* Header: keep the editorial date, but stop it from dominating the page. */
.app[data-route="calendar"] .cal2-hero{
  gap:9px;
  padding:0 5px;
}

.app[data-route="calendar"] .cal2-hero-num{
  min-width:1em;
  font-size:clamp(2.45rem,10vw,2.85rem);
  line-height:.9;
  font-weight:300;
}

.app[data-route="calendar"] .cal2-hero-meta{
  gap:3px;
}

.app[data-route="calendar"] .cal2-hero-date{
  font-size:.86rem;
  line-height:1.15;
  font-weight:500;
}

.app[data-route="calendar"] .cal2-hero-count{
  min-height:.65rem;
  font-size:.66rem;
  opacity:.68;
}

.app[data-route="calendar"] .cal2-add{
  width:32px;
  height:32px;
  border-color:rgba(var(--accent-rgb),.09);
  background:rgba(var(--glass-rgb),calc(var(--glass-alpha) + .03));
  box-shadow:0 5px 15px rgba(var(--shadow-rgb),.045),inset 0 1px 0 rgba(255,255,255,.34);
}

.app[data-route="calendar"] .cal2-add svg{
  width:14px;
  height:14px;
}

/* Todo: retain the three-row auto ticker, with a smaller and quieter measure. */
.app[data-route="calendar"] .cal2-todos-card.card{
  gap:2px;
  margin-left:3px;
  padding:2px 3px 0 14px;
}

.app[data-route="calendar"] .cal2-todos-card.card::after{
  top:7px;
  bottom:7px;
  border-left-width:1px;
  opacity:.72;
}

.app[data-route="calendar"] .cal2-todo-head{
  padding:0 3px 7px;
  border-bottom-color:rgba(var(--accent-rgb),.075);
}

.app[data-route="calendar"] .cal2-todo-head h3{
  gap:6px;
  font-size:.9rem;
  font-weight:500;
  letter-spacing:.018em;
}

.app[data-route="calendar"] .cal2-todo-head h3::before{
  font-size:.66rem;
  opacity:.72;
}

.app[data-route="calendar"] .cal2-todo-toggle{
  gap:2px;
  padding:3px 0 3px 6px;
  font-size:.66rem;
  opacity:.82;
}

.app[data-route="calendar"] .cal2-todo-toggle svg{
  width:12px;
  height:12px;
}

.app[data-route="calendar"] .cal2-todo-window.ticker{
  height:132px;
}

.app[data-route="calendar"] .cal2-todo-window.ticker .cal2-todo-row{
  height:44px;
}

.app[data-route="calendar"] .cal2-todo-row{
  grid-template-columns:27px minmax(0,1fr) auto;
  column-gap:8px;
  padding:6px 3px;
}

.app[data-route="calendar"] .cal2-check-well{
  width:27px;
  height:27px;
  background:rgba(255,255,255,.1);
}

.app[data-route="calendar"] .cal2-check{
  width:14px;
  height:14px;
  border-width:1px;
  opacity:.48;
}

.app[data-route="calendar"] .cal2-check::after{
  left:4.4px;
  top:1.6px;
  width:3.5px;
  height:7px;
}

.app[data-route="calendar"] .cal2-todo-main{
  gap:2px;
}

.app[data-route="calendar"] .cal2-todo-row-text{
  font-size:.8rem;
  line-height:1.28;
  font-weight:500;
}

.app[data-route="calendar"] .cal2-todo-main small{
  font-size:.59rem;
  opacity:.62;
}

.app[data-route="calendar"] .cal2-todo-pill{
  font-size:.57rem;
  opacity:.5;
}

.app[data-route="calendar"] .cal2-todo-add{
  gap:6px;
  margin-top:1px;
  padding:0 2px 0 3px;
  border-top-color:rgba(var(--accent-rgb),.065);
}

.app[data-route="calendar"] .cal2-todo-add input{
  padding:7px 0 6px;
  font-size:.74rem;
}

.app[data-route="calendar"] .cal2-todo-add button{
  width:25px;
  height:25px;
}

/* Week strip: smaller circles and quieter navigation create the same breathing room as home. */
.app[data-route="calendar"] .cal2-month{
  padding:0 3px;
}

.app[data-route="calendar"] .cal2-month-nav{
  padding:0 3px;
}

.app[data-route="calendar"] .cal2-month-nav button{
  width:31px;
  height:31px;
  opacity:.84;
}

.app[data-route="calendar"] .cal2-month-nav svg{
  width:15px;
  height:15px;
}

.app[data-route="calendar"] .cal2-month-title{
  font-size:.98rem;
  letter-spacing:.018em;
}

.app[data-route="calendar"] .cal2-weekdays{
  margin:5px 0 1px;
  font-size:.58rem;
  letter-spacing:.045em;
  opacity:.76;
}

.app[data-route="calendar"] .cal2-grid{
  row-gap:2px;
}

.app[data-route="calendar"] .cal2-day{
  min-height:38px;
  gap:1px;
}

.app[data-route="calendar"] .cal2-day::before{
  width:30px;
  height:30px;
  box-shadow:none;
}

.app[data-route="calendar"] .cal2-day-num{
  font-size:.78rem;
}

.app[data-route="calendar"] .cal2-day.today::after{
  width:31px;
  height:31px;
  border-color:rgba(255,255,255,.52);
}

.app[data-route="calendar"] .cal2-day.active::before{
  box-shadow:0 0 0 1px rgba(255,255,255,.72),0 4px 11px rgba(var(--accent-rgb),.1);
}

.app[data-route="calendar"] .cal2-dot{
  bottom:2px;
  width:3px;
  height:3px;
}

/* Timeline: reduce headline weight and vertical bulk without hiding any entry. */
.app[data-route="calendar"] .cal2-timeline{
  gap:18px;
  padding:8px 2px 0;
}

.app[data-route="calendar"] .cal2-dayblock{
  gap:6px;
}

.app[data-route="calendar"] .cal2-dayhead{
  gap:8px;
  padding:0 6px 0 2px;
  font-size:.88rem;
  line-height:1.15;
  font-weight:500;
  letter-spacing:.02em;
}

.app[data-route="calendar"] .cal2-dayhead small{
  font-size:.68rem;
  opacity:.8;
}

.app[data-route="calendar"] .cal2-dayhead .cal2-dayhead-n{
  font-size:.64rem;
  opacity:.7;
}

.app[data-route="calendar"] .cal2-items{
  gap:4px;
}

.app[data-route="calendar"] .cal2-items::before{
  left:6px;
  top:11px;
  bottom:11px;
  opacity:.42;
}

.app[data-route="calendar"] .cal2-item{
  grid-template-columns:56px minmax(0,1fr);
  gap:6px;
}

.app[data-route="calendar"] .cal2-rail{
  gap:5px;
  padding-top:10px;
}

.app[data-route="calendar"] .cal2-node{
  width:7px;
  height:7px;
  margin-left:2.5px;
  border-width:1px;
  box-shadow:0 0 0 1px rgba(var(--glass-rgb),.22);
}

.app[data-route="calendar"] .cal2-rail time{
  font-size:.62rem;
  opacity:.76;
}

.app[data-route="calendar"] .cal2-card{
  border-left-width:1px;
  border-left-color:rgba(255,255,255,.58);
}

.app[data-route="calendar"] .cal2-card-head{
  min-height:41px;
  gap:5px;
  padding:5px 5px 5px 9px;
}

.app[data-route="calendar"] .cal2-card-main{
  gap:3px;
}

.app[data-route="calendar"] .cal2-card-title{
  font-size:.8rem;
  line-height:1.32;
  font-weight:550;
}

.app[data-route="calendar"] .cal2-card-label{
  font-size:.6rem;
  opacity:.76;
}

.app[data-route="calendar"] .cal2-card-chev{
  width:16px;
  height:16px;
}

.app[data-route="calendar"] .cal2-card-chev svg{
  width:11px;
  height:11px;
}

.app[data-route="calendar"] .cal2-card-pad{
  padding:3px 8px 10px 9px;
  font-size:.78rem;
  line-height:1.62;
}

.app[data-route="calendar"] .cal2-mini .cal2-card-head{
  min-height:38px;
  padding:5px 2px 5px 0;
}

.app[data-route="calendar"] .cal2-mini .cal2-card-title{
  font-size:.76rem;
  font-weight:500;
}

.app[data-route="calendar"] .cal2-feed-loading,
.app[data-route="calendar"] .cal2-feed-empty{
  padding:20px 8px;
  font-size:.78rem;
  opacity:.78;
}

.app[data-route="calendar"] .cal2-older{
  margin-top:2px;
  padding:8px 15px;
  font-size:.75rem;
  opacity:.85;
}

@media (max-width:380px){
  .app[data-route="calendar"] .cal2{gap:9px}
  .app[data-route="calendar"] .cal2-hero-num{font-size:2.35rem}
  .app[data-route="calendar"] .cal2-todo-row-text{font-size:.76rem}
  .app[data-route="calendar"] .cal2-month-title{font-size:.92rem}
}
