.cabin-stream-tabs { display: flex; gap: 8px; margin: 0 0 26px; padding: 5px; border: 1px solid var(--cabin-line); border-radius: 14px; background: var(--cabin-surface); }
.cabin-stream-tabs a { display: flex; justify-content: center; align-items: center; flex: 1; gap: 9px; padding: 10px; border-radius: 10px; color: var(--cabin-muted); font-size: 13px; }
.cabin-stream-tabs a[aria-current], .cabin-stream-tabs a:hover { background: var(--cabin-soft); color: var(--cabin-accent); }
.cabin-stream-tabs a span { font-size: 11px; opacity: .85; }
.cabin-practice-intro p:not(.cabin-eyebrow), .cabin-empty { margin: 10px 0 0; font-size: 13px; color: var(--cabin-muted); }
.cabin-heatmap { --heat-0: #edf1f7; --heat-1: #cedbf0; --heat-2: #9eb7dc; --heat-3: #728fbd; --heat-4: #4c6999; margin: 0 0 25px; padding: 22px 24px; border: 1px solid var(--cabin-line); border-radius: var(--cabin-radius); background: var(--cabin-surface); box-shadow: var(--cabin-shadow); }
[data-theme="dark"] .cabin-heatmap { --heat-0: #2c3649; --heat-1: #405674; --heat-2: #5b79a3; --heat-3: #85a3cd; --heat-4: #b0c9ee; }
.cabin-heatmap [hidden] { display: none !important; }
.cabin-heatmap-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.cabin-heatmap-heading .cabin-eyebrow { margin: 0 0 5px; font-size: 8px; letter-spacing: 1.8px; }
.cabin-heatmap-heading h2 { margin: 0; font-size: 20px; color: var(--cabin-ink); line-height: 1.5; }
.cabin-heatmap-heading label { color: var(--cabin-muted); font-size: 12px; white-space: nowrap; }
.cabin-heatmap-heading select { margin-left: 6px; padding: 6px 9px; border: 1px solid var(--cabin-line); border-radius: 8px; background: var(--cabin-surface); color: var(--cabin-ink); font: inherit; cursor: pointer; }
.cabin-heatmap-summary { margin: 14px 0 10px; font-size: 12px; color: var(--cabin-muted); }
.cabin-heatmap-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; padding: 4px 3px 8px; scrollbar-width: thin; }
.cabin-heatmap-chart { --cell: 10px; --gap: 3px; display: grid; grid-template-columns: 20px 1fr; grid-template-rows: 20px auto; width: max-content; min-width: 100%; }
.cabin-months { grid-column: 2; display: grid; grid-template-columns: repeat(var(--weeks), var(--cell)); gap: var(--gap); align-items: start; color: var(--cabin-muted); font-size: 9px; line-height: 1; }
.cabin-months span { white-space: nowrap; }
.cabin-weekdays { grid-column: 1; grid-row: 2; display: grid; grid-template-rows: repeat(7, var(--cell)); gap: var(--gap); font-size: 8px; line-height: var(--cell); color: var(--cabin-muted); }
.cabin-weekdays span:nth-child(2) { grid-row: 3; }
.cabin-weekdays span:nth-child(3) { grid-row: 5; }
.cabin-weekdays span:nth-child(4) { grid-row: 7; }
.cabin-days { grid-column: 2; grid-row: 2; display: grid; grid-template-rows: repeat(7, var(--cell)); grid-template-columns: repeat(var(--weeks), var(--cell)); grid-auto-flow: column; gap: var(--gap); }
.cabin-heatmap .cabin-day { display: block; width: var(--cell, 10px); height: var(--cell, 10px); min-width: 0; padding: 0; margin: 0; border: 0; border-radius: 2px; background: var(--heat-0); font-size: 0; }
.cabin-heatmap .cabin-day[data-level="1"] { background: var(--heat-1); }
.cabin-heatmap .cabin-day[data-level="2"] { background: var(--heat-2); }
.cabin-heatmap .cabin-day[data-level="3"] { background: var(--heat-3); }
.cabin-heatmap .cabin-day[data-level="4"] { background: var(--heat-4); }
.cabin-heatmap button.cabin-day { cursor: pointer; }
.cabin-heatmap .cabin-day:is(:focus-visible, [aria-pressed="true"]) { outline: 2px solid var(--cabin-accent); outline-offset: 1px; }
.cabin-heatmap .cabin-day.is-padding { visibility: hidden; }
.cabin-heatmap .cabin-day.is-future { opacity: .35; }
.cabin-heatmap-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 9px; font-size: 10px; color: var(--cabin-muted); }
.cabin-heatmap-legend { display: flex; align-items: center; gap: 4px; }
.cabin-heatmap-legend span { margin: 0 3px; }
.cabin-heatmap-note { margin: 9px 0 0; font-size: 10px; color: var(--cabin-muted); }
#cabin-day-detail > div { margin-top: 15px; border-top: 1px solid var(--cabin-line); padding-top: 12px; }
#cabin-day-detail h3 { margin: 0 0 8px; font-size: 13px; color: var(--cabin-ink); }
#cabin-day-detail ul { margin: 0; padding: 0; list-style: none; }
#cabin-day-detail li { display: flex; align-items: baseline; gap: 9px; padding: 3px 0; font-size: 12px; }
#cabin-day-detail li span { flex-shrink: 0; font-size: 10px; color: var(--cabin-muted); }
#cabin-day-detail a { overflow-wrap: anywhere; color: var(--cabin-accent); }
@media (max-width: 1000px) and (min-width: 768px) { #nav .menus_item > .site-page { padding: 8px 6px; font-size: 12px; } #nav #menus { gap: 4px; } #nav #search-button span { display: none; } }
@media (max-width: 767px) { .cabin-heatmap { padding: 17px 15px; border-radius: 16px; } .cabin-heatmap-heading h2 { font-size: 18px; } .cabin-stream-tabs a { padding: 9px 6px; font-size: 12px; } .cabin-heatmap-chart { --cell: 12px; --gap: 4px; } }
