.chronicle-days {
  width:min(1240px,calc(100% - 40px)); margin:40px auto; padding:clamp(20px,3vw,36px);
  border:1px solid #98733266; background:linear-gradient(135deg,#241b13f5,#100d09f5);
  color:#d8c9a9; scroll-margin-top:25px; box-sizing:border-box;
}
.chronicle-days h2 { margin:0 0 12px; color:#f0d598; font-size:clamp(28px,4vw,40px); font-weight:400; }
.chronicle-days h3 { font-size:25px; font-weight:400; color:#f0d598; margin:0 0 12px; }
.chronicle-days h4 { color:#e3cb95; margin:24px 0 14px; font-size:19px; }
.day-intro,.day-help,.day-calendar-legend { line-height:1.6; color:#bfb08f; }
.day-intro { margin:0 0 22px; }
.day-help { font:13px/1.6 Arial,sans-serif; }
.day-filters { display:flex; flex-wrap:wrap; gap:14px; align-items:end; margin-bottom:14px; }
.day-filters label:first-child { flex:2 1 240px; }
.day-filters label { flex:1 1 140px; }
.chronicle-days label { display:flex; flex-direction:column; gap:8px; font:13px/1.4 Arial,sans-serif; color:#d5bf91; }
.chronicle-days input:not([type=checkbox]),.chronicle-days select,.chronicle-days textarea {
  width:100%; min-width:0; box-sizing:border-box; padding:11px 12px; border:1px solid #8b6a376e;
  background:#100d09; color:#f0e1bd; font:15px/1.5 Arial,sans-serif; border-radius:2px; color-scheme:dark;
}
.chronicle-days textarea { resize:vertical; min-height:130px; }
.chronicle-days :focus-visible,.day-image-dialog :focus-visible { outline:2px solid #edc970; outline-offset:3px; }
.day-button { appearance:none; border:1px solid #a986438a; background:#3b2b16; color:#efd496; padding:11px 14px; cursor:pointer; font:600 12px/1.4 Arial,sans-serif; letter-spacing:.035em; }
.day-button:hover { background:#59411d; border-color:#dbb56b; }
.day-button:disabled { opacity:.5; cursor:default; }
.day-status { min-height:1.3em; color:#d2b16e; font:13px/1.5 Arial,sans-serif; overflow-wrap:anywhere; }
.day-status .day-button { margin-left:12px; }
.day-layout { display:grid; grid-template-columns:minmax(240px,340px) minmax(0,1fr); gap:28px; align-items:start; }
.day-navigation { min-width:0; }
.day-calendar { padding:16px; background:#07060466; border:1px solid #96703b55; }
.day-calendar-bar { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:14px; }
.day-calendar-bar strong { font:15px/1.4 Arial,sans-serif; text-align:center; }
.day-calendar-bar button { padding:4px 12px; font-size:23px; }
.day-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.day-weekday { text-align:center; font:11px/2 Arial,sans-serif; color:#aa9976; }
.day-calendar-date { position:relative; aspect-ratio:1; padding:0; background:#18140d; border:1px solid transparent; color:#817a68; font:13px Arial,sans-serif; cursor:pointer; }
.day-calendar-date:disabled { opacity:.35; cursor:default; }
.day-calendar-date.is-published { background:#62491e; color:#ffdfa3; border-color:#b28a39; }
.day-calendar-date.is-draft { background:#203747; color:#b8dfef; border-color:#4b8ba5; }
.day-calendar-date.is-recorded { background:#302d26; color:#e0d6bd; border-color:#716650; }
.day-calendar-date.has-draft::after { content:''; position:absolute; bottom:2px; left:calc(50% - 2px); width:4px; height:4px; background:#9fdaff; border-radius:50%; }
.day-calendar-date[aria-pressed=true] { outline:2px solid #fff1bf; outline-offset:1px; }
.day-calendar-legend { margin:14px 0 0; font:11px/1.6 Arial,sans-serif; }
.day-results { max-height:310px; overflow-y:auto; margin-top:14px; overscroll-behavior:contain; }
.day-result { display:flex; flex-direction:column; gap:5px; width:100%; text-align:left; padding:14px 10px; background:transparent; border:0; border-bottom:1px solid #9a784b44; color:#d6c59f; cursor:pointer; }
.day-result:hover { background:#71502333; }
.day-result strong { font:13px/1.4 Arial,sans-serif; color:#e4c783; }
.day-result span { font-size:17px; }
.day-result small { font:11px/1.5 Arial,sans-serif; color:#ae9d7b; }
.day-details { min-width:0; padding:22px; background:#0e0b08a6; border:1px solid #96703b55; }
.day-detail-summary { margin-bottom:22px; font:13px/1.6 Arial,sans-serif; color:#bfa878; }
.day-memory-label { margin-top:20px; }
.chronicle-days .day-check-label { display:flex; flex-direction:row; align-items:start; gap:10px; margin:12px 0; }
.day-check-label input { flex:none; width:17px; height:17px; accent-color:#c69d4a; }
.day-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
.day-photo { min-width:0; margin:0; }
.day-photo-open { display:block; width:100%; padding:0; background:#0b0906; border:1px solid #a9864366; cursor:zoom-in; }
.day-photo-open img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.day-photo figcaption { margin-top:7px; font:12px/1.5 Arial,sans-serif; color:#dac99f; overflow-wrap:anywhere; }
.day-private { display:block; margin:5px 0; color:#c1ac87; font:11px/1.4 Arial,sans-serif; }
.day-photo-editor { border-top:1px solid #8c693c55; padding:16px 0; }
.day-photo-editor .day-button { margin:0 8px 8px 0; }
.day-upload-label { margin-top:22px; }
.day-image-dialog { box-sizing:border-box; max-width:calc(100vw - 32px); max-height:calc(100svh - 32px); width:min(1400px,calc(100vw - 32px)); overflow:auto; padding:18px; border:1px solid #d2ac60; background:#100d09; color:#ead7a8; }
.day-image-dialog::backdrop { background:#000e; }
.day-image-dialog img { display:block; width:auto; height:auto; max-width:100%; max-height:calc(100svh - 170px); margin:16px auto; object-fit:contain; }
.day-image-controls { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.day-image-caption { white-space:pre-wrap; overflow-wrap:anywhere; text-align:center; }
.post-player-memory { margin:20px 0; padding:16px 20px; border-left:2px solid #c6a15e; background:#100c08aa; }
.post-player-memory strong { font:12px/1.5 Arial,sans-serif; color:#d3b678; }
.post-player-memory p { white-space:pre-wrap; }
.story-composer-dialog { width:min(100%,1160px); max-height:92svh; }
.story-composer-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:0; overflow:auto; overscroll-behavior:contain; }
.story-composer-prose { padding:24px 28px; min-width:0; }
.story-composer-prose h3,.story-day-composer h3 { margin:0 0 12px; color:#efd496; font-size:25px; font-weight:400; }
.story-composer-prose .story-draft-editor { width:100%; box-sizing:border-box; margin:10px 0 0; min-height:440px; resize:vertical; }
.story-post-tools { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.story-post-tools [hidden] { display:none; }
.story-day-composer.chronicle-days { width:auto; margin:0; padding:24px 28px; border:0; border-left:1px solid #96703b55; background:#0c090550; }
.composer-fields { border:0; padding:0; margin:0; min-width:0; }
.composer-fields:disabled { opacity:.6; }
.composer-photo { padding:12px 0; border-bottom:1px solid #96703b55; }
.composer-photo .day-gallery { display:block; width:min(100%,240px); margin:0 0 12px; }
.composer-photo .day-private { display:none; }
.story-composer-dialog .story-draft-top,.story-composer-dialog .story-draft-actions { flex:none; }
@media(max-width:760px) {
  .story-composer-content { grid-template-columns:minmax(0,1fr); }
  .story-composer-prose,.story-day-composer.chronicle-days { padding:20px; }
  .story-day-composer.chronicle-days { border-left:0; border-top:1px solid #96703b55; }
  .story-composer-prose .story-draft-editor { min-height:290px; }
  .chronicle-days { width:calc(100% - 24px); margin:24px auto; padding:18px; }
  .day-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  .day-calendar-date { min-height:36px; }
  .day-results { max-height:210px; }
  .day-details { padding:16px; }
  .day-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .day-filters .day-button { flex:1 1 100%; }
}
