.painting-today { padding-block: clamp(36px, 6vw, 80px) 64px; }
.painting-today [hidden] { display: none !important; }
.painting-today__intro { margin-bottom: 48px; }
.painting-today__intro h1 { font-size: clamp(42px, 6.8vw, 78px); line-height: 1.02; letter-spacing: -.055em; font-weight: 650; margin: 20px 0 24px; }
.painting-today__intro > p:last-child { font-size: clamp(17px, 2vw, 20px); color: var(--ink-muted); max-width: 52ch; }
.painting-today__workspace { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(32px, 5vw, 64px); align-items: start; }
.painting-today h2 { font-size: 24px; line-height: 1.2; letter-spacing: -.035em; font-weight: 600; margin: 0 0 20px; }
.painting-today__moods { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.painting-today button { font: inherit; cursor: pointer; border-radius: 0; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.painting-today__moods button { text-align: left; padding: 22px 16px; min-height: 118px; border: 1px solid var(--border); background: var(--paper); color: var(--ink); transition: background 140ms, border-color 140ms; }
.painting-today__moods strong { display: block; font-weight: 600; font-size: 20px; margin-bottom: 6px; }
.painting-today__moods span { display: block; color: var(--ink-muted); font-size: 13px; line-height: 1.4; max-width: 18ch; }
.painting-today__moods button[aria-pressed="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.painting-today__moods button[aria-pressed="true"] span { color: var(--paper); }
@media (hover: hover) { .painting-today__moods button:hover:not([aria-pressed="true"]) { border-color: var(--ink); background: var(--surface-muted); } }
.painting-today__note { font-size: 12px; color: var(--ink-muted); margin: 14px 0 0; }
.painting-today__aside { margin-top: 32px; color: var(--ink-muted); font-size: 13px; line-height: 1.6; max-width: 37ch; }
.painting-today__figure { margin: 0 0 26px; }
.painting-today__frame { display: grid; place-items: center; background: var(--surface-muted); padding: 20px; aspect-ratio: 1.16; }
.painting-today__frame img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.painting-today figcaption { font-size: 12px; color: var(--ink-muted); margin-top: 10px; overflow-wrap: anywhere; }
.painting-today__match { font-size: 13px; color: var(--ink-muted); margin-bottom: 10px; }
.painting-today__result h2 { font-size: clamp(26px, 3vw, 34px); margin-bottom: 14px; }
#painting-description { color: var(--ink-muted); max-width: 48ch; }
.painting-today__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.painting-today__actions button { min-height: 44px; padding: 11px 16px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); font-size: 13px; font-weight: 500; }
.painting-today__actions .button { background: var(--ink); color: var(--paper); }
.painting-today__actions button:disabled { opacity: .55; cursor: wait; }
.painting-today__status { font-size: 13px; margin-top: 12px; }
.painting-today__credits { border-top: 1px solid var(--border); padding-top: 14px; margin-top: 24px; font-size: 12px; color: var(--ink-muted); }
.painting-today__credits summary { cursor: pointer; min-height: 32px; }
.painting-today__credits p { margin: 10px 0; }
#painting-link-fallback { margin-top: 16px; }
#painting-link-fallback label { display: block; font-size: 13px; }
#painting-link { width: 100%; border: 1px solid var(--border); padding: 10px; color: var(--ink); background: var(--paper); font: inherit; font-size: 16px; }
#painting-error { border-left: 2px solid var(--ink); padding: 12px; font-size: 14px; }
.painting-today__about { border-top: 3px solid var(--ink); margin-top: 64px; padding-top: 28px; }
.painting-today__about p { max-width: 52ch; color: var(--ink-muted); }
.painting-today__about a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 500; }
@media (max-width: 720px) {
  .painting-today__workspace { grid-template-columns: 1fr; gap: 32px; }
  .painting-today__intro { margin-bottom: 32px; }
  .painting-today__desktop-break { display: none; }
  .painting-today__moods { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .painting-today__moods button { padding: 14px 10px; min-height: 104px; }
  .painting-today__moods strong { font-size: 17px; }
  .painting-today__moods span { font-size: 12px; }
  .painting-today__aside { margin-top: 18px; max-width: none; }
  .painting-today__frame { padding: 16px; }
}
@media (max-width: 360px) { .painting-today__moods { grid-template-columns: repeat(2, 1fr); } }
@media (prefers-reduced-motion: reduce) { .painting-today button { transition: none; } }
