#main:focus,.prose h2:focus,.prose h3:focus{outline:none}
.article-sidebar{max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c4af90 transparent;padding:0 5px 6px 0}
.toc-panel{flex-shrink:0}
.toc-links a[aria-current=location]{color:var(--accent);border-color:var(--accent);font-weight:700}
.album-empty-placeholder{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:15px;border:6px solid #fffdf7;background:linear-gradient(135deg,#e9e3d5,#eee9de);color:#9d9281;box-shadow:0 15px 30px #6d59472b;border-radius:4px}
.album-empty-placeholder svg{width:40px;height:40px;stroke-width:1}
.album-empty-placeholder small{font-size:12px;letter-spacing:2px}
.album-photos>.empty-state{grid-column:1/-1;width:100%}
.dark .album-empty-placeholder{background:linear-gradient(135deg,#50463c,#3f3931);border-color:#e2d8c5;color:#d4c3a8}
.calendar-day,.calendar-title button{touch-action:manipulation}
.small-control{min-height:32px;min-width:28px;touch-action:manipulation}
.lightbox .icon-button:focus-visible,.mobile-drawer a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.photo-tile img{background:#e9e2d8;aspect-ratio:4/3}
@media(max-width:767px){.article-sidebar{max-height:none;overflow:visible;padding:0;overscroll-behavior:auto}.toc-panel{max-height:290px;overflow:auto;scrollbar-width:thin}.toc-links a{padding-top:5px;padding-bottom:5px}.music-tabs button,.about-tabs button{min-height:40px}.player-controls .small-control{min-height:38px;min-width:34px}.album-empty-placeholder{border-width:4px}.album-empty-placeholder small{font-size:10px}.album-empty-placeholder svg{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.hero-wave path,.vinyl,.petal,.danmaku-line{animation:none!important}}
