/* Original little coffee-and-note illustration, with compact paper and chat shapes. */
section.rest-humor{margin-top:28px;padding:26px 28px;background:linear-gradient(120deg,#fff8e9,#f9f7ee 70%,#f0f4e9);border:1px solid #e4d5ba;border-radius:22px;scroll-margin-top:24px;display:grid;grid-template-columns:185px minmax(0,1fr);column-gap:28px}
section.rest-humor>*{grid-column:2;min-width:0}
.rest-humor>.humor-heading{grid-column:1;grid-row:1 / 7;display:flex;flex-direction:column;align-items:start;gap:8px}
.humor-heading .rest-eyebrow{font-size:.8rem;letter-spacing:.02em;color:#51745d}
.humor-heading h2{margin:8px 0 6px;color:#264d42}
.humor-byline,.humor-meta,.humor-note{color:#655f52;font-size:.82rem}
.humor-byline{margin:0!important}
.humor-art{width:136px;max-width:100%;margin:14px 0 0;transform:rotate(-3deg)}
.humor-art svg{display:block;width:100%;height:auto}
.humor-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 16px;padding:22px 24px;background:#fffefa;border:1px solid #ebe1cc;border-radius:18px;box-shadow:0 4px 0 #dbc9a31a;min-width:0}
.humor-card>.humor-meta,.humor-card>h3{grid-column:1 / -1;min-width:0}
.humor-card>.humor-lines{grid-column:1;min-width:0}
.humor-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.humor-meta span:first-child{padding:4px 10px;background:#edf3e9;color:#3d634d;border-radius:30px}
.humor-meta span:last-child{font-size:.78rem;color:#746654}
.humor-card h3{font-size:1.16rem;margin:0 0 12px;color:#294a41}
.humor-lines{max-width:66ch}
.humor-lines p{margin:0 0 7px;line-height:1.65;overflow-wrap:anywhere}
.humor-dialogue p{display:table;width:fit-content;max-width:100%;padding:7px 13px;background:#f3f1e8;border-radius:12px 12px 12px 3px}
.humor-dialogue p:nth-child(even){margin-left:18px;background:#eef2ea;border-radius:12px 12px 3px 12px;max-width:calc(100% - 18px)}
.humor-lines .humor-punchline{font-weight:600;color:#285d45}
.humor-dialogue .humor-punchline{background:#f9e9c9}
.humor-smile{grid-column:2;grid-row:3;align-self:end;justify-self:end;margin-top:3px;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 14px;border:1px solid #ccd8c3;background:#f6f8ef;border-radius:24px;font:inherit;font-size:.88rem;color:#335b43;cursor:pointer}
.humor-smile:before{content:"";width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23f4d797'/%3E%3Cpath d='M7 9q2-3 4 0m2 0q2-3 4 0M8 14q4 5 8 0' fill='none' stroke='%23416449' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;flex-shrink:0}
.humor-smile:hover{background:#edf3e5;border-color:#7a9679}
.humor-smile[aria-pressed=true]{background:#e4efdf;color:#285d45;border-color:#91ad83}
.humor-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 6px}
.humor-controls .rest-text-button{min-height:44px;padding:9px 16px;border:1px solid #cbd5c2;border-radius:24px;background:#fffdf5;text-decoration:none;font-size:.9rem!important;color:#335b43!important}
section.rest-humor .humor-controls [data-humor-another]{background:#32674f;color:#fff!important;border-color:#32674f}
section.rest-humor .humor-controls [data-humor-another]:hover{background:#254f3d}
section.rest-humor .humor-controls [data-humor-another]:disabled{background:#e3e8df;border-color:#d2dacb;color:#65785f!important;cursor:default}
.humor-controls [data-humor-today]:hover{background:#eef2e7}
.humor-note{margin:10px 0 0;line-height:1.65}
#humor-message:empty{display:none}
#humor-message:not(:empty){margin:10px 0 0;color:#456d52}
.humor-history{margin-top:8px;border-top:1px solid #dddbcb;padding-top:6px}
.humor-history summary{width:fit-content;min-height:44px;padding:10px 0;color:#335b43;cursor:pointer;font-size:.9rem}
.humor-history summary::marker{color:#799374}
.humor-history ul{list-style:none;padding:3px 0 0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.humor-history .rest-text-button{text-align:left;width:100%;min-height:44px;display:flex;gap:12px;align-items:center;padding:9px 12px;border:1px solid #e2ddcd;border-radius:10px;background:#fffcf5;text-decoration:none;font-size:.9rem;overflow-wrap:anywhere}
.humor-history .rest-text-button:hover{border-color:#b3c2a5;background:#f4f5e9}
.humor-history button span{flex-shrink:0;color:#857157;font-size:.75rem;padding:2px 6px;border-radius:6px;background:#f4eddd}
section.rest-humor :is(button,summary):focus-visible{outline:3px solid #2765b0;outline-offset:3px}
.rest-home-item.rest-humor{margin:0;background:#fffaf0;border-color:#e7dbc4}
.large-text .humor-lines{font-size:1.1875rem}
.large-text .humor-card h3{font-size:1.3rem}
.large-text :is(.humor-byline,.humor-meta,.humor-meta span:last-child,.humor-note,.humor-smile,.humor-controls .rest-text-button,.humor-history .rest-text-button,.humor-history summary){font-size:1rem!important}
@media(max-width:760px){section.rest-humor{display:block;padding:20px}.rest-humor>.humor-heading{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:2px 10px;margin-bottom:16px}.humor-heading>div:first-child,.humor-heading>.humor-byline{grid-column:1}.humor-heading>.humor-art{grid-column:2;grid-row:1 / 3;width:86px;margin:0;align-self:center}.humor-heading h2{font-size:1.5rem}.humor-card{display:block;padding:18px}.humor-smile{display:flex;margin:8px 0 0 auto;width:fit-content}}
@media(max-width:560px){section.rest-humor{padding:18px 14px;border-radius:18px}.humor-card{padding:16px 13px}.humor-history ul{grid-template-columns:1fr}.humor-controls{gap:8px}.humor-controls .rest-text-button{font-size:.84rem!important;padding:8px 13px}.humor-dialogue p:nth-child(even){margin-left:12px;max-width:calc(100% - 12px)}.humor-meta{gap:6px}.humor-art{width:80px}.humor-note{font-size:.77rem}.large-text .humor-heading h2{font-size:1.65rem}}

.humor-bonus{margin-top:18px;border-top:1px solid #dfd3bd;padding-top:18px}.humor-bonus h3{margin:0 0 8px}.humor-bonus-story{margin-top:10px;padding:12px 16px;background:#fffdf7;border:1px solid #e4d5ba;border-radius:12px}.humor-bonus-story summary{cursor:pointer;font-weight:700;color:#264d42}.humor-bonus-story .humor-lines{padding-top:12px}
