body {
    background: #1a0f22 url("../images/myspleen-backgr.jpg") center top / cover fixed no-repeat;
    color: #fff;
    min-height: 100vh;
}

a { color: #00b9e7; }
a:hover { color: #77dfff; }
.site-navbar { background: #564e95; box-shadow: 0 0 10px #000; }
.site-banner { padding-top: 1.5rem; padding-bottom: 2rem; }
.site-logo { display: block; width: min(100%, 400px); height: 140px; object-fit: contain; object-position: left center; }
.tagline { font-weight: 700; margin-left: 1.4rem; }
.site-main { min-height: 55vh; }
.spleen-card, .form-card, .counter-card { color: #34303a; border: 0; border-radius: 0; background: #fff; }
.spleen-author { color: #564e95; font-size: 1.1rem; margin-top: .35rem; }
.spleen-text { font-size: 1.05rem; font-weight: 600; white-space: normal; }
.spleen-full-text { white-space: normal; }
.read-more-toggle { border: 0; padding: 0; background: none; color: #00b9e7; text-decoration: underline; }
.spleen-shortcuts { display: flex; align-items: center; gap: .75rem; }
.spleen-shortcut { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: .25rem; color: #00b9e7; font-size: 1.2rem; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.spleen-shortcut:hover, .spleen-shortcut:focus-visible, .spleen-shortcut.active { background: #008fb8; color: #fff; }
.counter-card { padding: 2rem 1rem; font-size: 1.4rem; }
.counter-card strong { display: block; font-size: 2rem; }
.prose-page { max-width: 760px; line-height: 1.65; }
.prose-page h1, .prose-page h2 { margin: 1.5rem 0 .75rem; }
.comment-item { border-bottom: 1px solid #ddd; padding: 1rem 0 .5rem; }
.captcha-options { border: 0; padding: 0; }
.captcha-choice { display: block; cursor: pointer; padding: 4px; border: 2px solid transparent; }
.captcha-choice:has(input:checked) { border-color: #198754; background: #e9f5ee; }
.captcha-choice input { position: absolute; opacity: 0; }
.captcha-choice img { width: 42px; height: 42px; object-fit: contain; }
.ad-slot { display: flex; align-items: center; justify-content: center; min-height: 90px; overflow: hidden; }
.ad-leaderboard { display: flex; justify-content: flex-end; min-height: 160px; overflow: hidden; }
.ad-unit { display: block; width: 100%; min-height: 250px; }
.ad-unit-leaderboard { width: 750px; min-height: 160px; }
.ad-square { min-height: 250px; }
.ad-skyscraper { min-height: 600px; }
.site-footer { padding-top: 3rem; padding-bottom: 2rem; margin-top: 2rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-bottom: 1rem; }
.footer-links a { text-decoration: none; }
.admin-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 2rem; }
.admin-menu { background: rgba(20, 12, 30, .8); padding: 1rem; }
.admin-menu a { display: block; padding: .65rem; text-decoration: none; }
.admin-item { background: #fff; color: #34303a; padding: 1rem; margin-bottom: 1rem; }
@media (max-width: 767px) {
    .site-logo { height: 100px; }
    .admin-layout { grid-template-columns: 1fr; }
    .ad-skyscraper { min-height: 250px; }
}
