/* Patchlog — same paper and ink as the rest of Rilvaris. */
.pl-page { min-height: 100dvh; --surface: #fff9ed; --text: #142b43; --muted: #706a5e; --line: #d5c5a0; --accent: #275f9b; }
.dh-shell.dh-premium.pl-page { overflow: clip; }
.pl-page > .dh-nav { border-bottom: 1px solid #d5c5a0; padding-block: 9px; }
.pl-hero { max-width: 940px; margin: auto; padding: 46px 24px 22px; }
.pl-eyebrow { color: #927037; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; }
.pl-hero h1 { font: 800 clamp(36px,5vw,60px)/1.04 'Fraunces',Georgia,serif; letter-spacing: -.04em; margin: 14px 0; color: #142b43; }
.pl-hero h1 em { color: #275e96; font-style: normal; }
.pl-hero p { font-size: 13px; line-height: 1.7; color: #756f62; max-width: 520px; }
.pl-main { max-width: 940px; margin: auto; padding: 8px 24px 70px; display: grid; gap: 18px; }
.pl-patch { border: 1px solid #cfbc96; background: #fffaf0; }
.pl-patch summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; padding: 20px 24px; cursor: pointer; list-style: none; }
.pl-patch summary::-webkit-details-marker { display: none; }
.pl-patch summary::after { content: "▾"; margin-left: auto; color: #927037; transition: transform .2s; }
.pl-patch details[open] summary::after { transform: rotate(180deg); }
.pl-version { padding: 4px 11px; background: #163958; color: #ffe1a0; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pl-title { font: 900 clamp(19px,2.6vw,26px) 'Fraunces',Georgia,serif; color: #142b43; }
.pl-patch time { font-size: 11px; color: #856c44; font-weight: 700; }
.pl-summary { margin: 0; padding: 0 24px 14px; font-size: 13px; line-height: 1.75; color: #5f584a; }
.pl-counts { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 24px 18px; border-bottom: 1px solid #decdb0; }
.pl-count { padding: 5px 11px; font-size: 11px; font-weight: 700; border: 1px solid currentColor; background: #fff; }
.pl-count b { font-size: 14px; }
.pl-section { padding: 18px 24px 4px; }
.pl-section h3 { margin: 0 0 10px; font: 900 18px 'Fraunces',Georgia,serif; color: #173e61; }
.pl-section ul { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 9px; }
.pl-item { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 14px; align-items: start; padding: 11px 14px; background: #fff; border: 1px solid #e1d3b3; border-left-width: 4px; }
.pl-item strong { display: block; font-size: 14px; color: #142b43; }
.pl-item p { margin: 4px 0 0; font-size: 12.5px; line-height: 1.65; color: #5f584a; }
.pl-tag { display: inline-block; padding: 4px 0; text-align: center; font-size: 10px; font-weight: 900; letter-spacing: .1em; color: #fff; }
.pl-nerf { color: #b3392f; } .pl-item.pl-nerf { border-left-color: #b3392f; } .pl-item.pl-nerf .pl-tag { background: #b3392f; }
.pl-buff { color: #2b8a4f; } .pl-item.pl-buff { border-left-color: #2b8a4f; } .pl-item.pl-buff .pl-tag { background: #2b8a4f; }
.pl-rework { color: #a8741a; } .pl-item.pl-rework { border-left-color: #c8901f; } .pl-item.pl-rework .pl-tag { background: #b9831a; }
.pl-new { color: #275f9b; } .pl-item.pl-new { border-left-color: #275f9b; } .pl-item.pl-new .pl-tag { background: #275f9b; }
.pl-fix { color: #6a5a8c; } .pl-item.pl-fix { border-left-color: #7a68a8; } .pl-item.pl-fix .pl-tag { background: #7a68a8; }
.pl-item p, .pl-item strong { color: #142b43; } .pl-item p { color: #5f584a; }
@media(max-width:560px) { .pl-hero { padding: 30px 16px 14px; } .pl-main { padding: 6px 16px 50px; } .pl-patch summary, .pl-summary, .pl-counts, .pl-section { padding-inline: 14px; } .pl-item { grid-template-columns: 1fr; gap: 6px; } .pl-tag { justify-self: start; padding: 3px 10px; } }
