:root {
    --ink: #22251f;
    --muted: #746f61;
    --paper: #efe2ca;
    --red: #b82f29;
    --rule: #b5ab93;
    --paper-texture: url('../images/design/paper-fibers-v5.svg');
    color-scheme: light;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: #ecdcc3;
}
* { box-sizing: border-box; }
html { min-height: 100%; overflow-y: scroll; scrollbar-gutter: stable; }
body {
    display: flow-root;
    margin: 0;
    min-width: 320px;
    min-height: 100vh;
    background: #ecdcc3 url('../images/rauten-farbmix-v5-70prozent.svg') center top / cover fixed no-repeat;
    font-size: 16px;
    line-height: 1.55;
}
body::before, body::after { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; mix-blend-mode: multiply; }
body::before { display: none; }
body::after { background: url('../images/design/hintergrund-faserlack-nahtlos-v7.svg') 62% 43% / 2000px 2000px repeat; opacity: .55; -webkit-mask: url('../images/design/lackstruktur-breite-zonen-v6.svg') center / 100% 100% no-repeat; mask: url('../images/design/lackstruktur-breite-zonen-v6.svg') center / 100% 100% no-repeat; }
button, input, textarea, select { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
a { color: var(--red); text-underline-offset: 4px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 5px; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .65; }
[hidden] { display: none !important; }
.icon { display: block; width: 32px; height: 32px; flex-shrink: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; top: -80px; left: 20px; z-index: 20; padding: 10px 18px; background: var(--paper); }
.skip-link:focus { top: 12px; }
.page-frame {
    position: relative;
    width: calc(100% - 330px);
    max-width: 1020px;
    z-index: 1;
    margin: 52px 0 0 52px;
    filter: drop-shadow(0 1px 1.5px #49361d40) drop-shadow(3px 7px 10px #49361d2b);
}
.paper-sheet { position: relative; isolation: isolate; min-height: calc(100vh - 52px); padding: 0 42px 42px; }
.paper-sheet::before { content: ''; position: absolute; inset: 52px 37px 0; z-index: -1; pointer-events: none; background: url('../images/design/papier-feste-mitte-v4.svg') center top / 100% 976px repeat-y; }
.paper-top { position: absolute; top: -18px; left: -23px; right: -23px; height: 70px; z-index: -1; background: url('../images/design/papier-feste-oberkante-v4.svg') center / 100% 100% no-repeat; pointer-events: none; }
.paper-edge { position: absolute; top: 52px; bottom: 0; width: 60px; z-index: -1; pointer-events: none; background-repeat: repeat-y; background-size: 60px 1952px; }
.paper-edge-left { left: -23px; background-image: url('../images/design/papier-feste-kante-links-v4.svg'); }
.paper-edge-right { right: -23px; background-image: url('../images/design/papier-feste-kante-rechts-v4.svg'); }
.paper-corner, .paper-patina { display: none; }
.paper-tape {
    display: none;
    position: absolute; top: -16px; z-index: 4;
    width: 125px; height: 62px;
    background: url('../images/design/klebestreifen-links-v1.png') center / 100% 100% no-repeat;
    filter: drop-shadow(0 1px .6px #4e271a55) drop-shadow(1px 2px 2px #4e271a38);
    pointer-events: none;
}
.tape-left { left: -53px; transform: rotate(-44deg); }
.tape-right { right: -53px; top: -20px; height: 70px; background-image: url('../images/design/klebestreifen-rechts-v1.png'); transform: rotate(44deg); }
.siteHeader { position: relative; height: 213px; border-bottom: 1px solid transparent; background: url('../images/design/ink-rule-v5.svg') center bottom / 100% 3px no-repeat; }
.brand { position: relative; display: block; height: 100%; color: var(--ink); }
.brand-speakers { position: absolute; left: 0; bottom: -50px; width: auto; height: 228px; clip-path: inset(0 0 52px 0); filter: drop-shadow(1px 2px .8px #3436262b); }
.brand-heading { position: absolute; top: 73px; left: 221px; width: 530px; max-width: calc(100% - 221px); bottom: 0; display: flex; flex-direction: column; }
.brand-wordmark { display: block; width: 100%; height: auto; flex-shrink: 0; }
.brand-wordmark--spray { aspect-ratio: 1983 / 430; object-fit: cover; object-position: 50% 64%; transform: rotate(-1.4deg); transform-origin: center; }
.nav-rail { position: absolute; left: calc(100% - 52px); top: 148px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; z-index: -2; filter: drop-shadow(1px 2px 1px #49361d24); }
.nav-tab { --tab-width: 300px; --tab-peek: 132px; --icon-size: 42px; --icon-right: calc((var(--tab-peek) - 52px - var(--icon-size)) / 2); position: relative; display: block; flex-shrink: 0; width: var(--tab-width); height: 79px; margin: 0; padding: 0; color: var(--ink); text-decoration: none; white-space: nowrap; background: var(--paper) url('../images/design/papier-vorlage-raster-v2.png') center / 500px 500px; -webkit-mask: url('../images/design/paper-tab-mask-v5.svg') center / 100% 100% no-repeat; mask: url('../images/design/paper-tab-mask-v5.svg') center / 100% 100% no-repeat; transform: translateX(calc(var(--tab-peek) - var(--tab-width))); transition: transform .28s linear; }
.nav-icon { position: absolute; right: var(--icon-right); top: 50%; transform: translateY(-50%); display: block; width: var(--icon-size); height: var(--icon-size); object-fit: contain; }
.nav-label { position: absolute; left: 80px; right: calc(var(--icon-right) + var(--icon-size) + 14px); top: 50%; transform: translateY(-50%); display: block; overflow: hidden; font-size: 15px; font-weight: 700; }
.nav-tab:hover, .nav-tab:focus-visible { transform: translateX(0); }
.nav-tab.is-active { color: #fff2dc; background-color: var(--red); background-image: url('../images/design/ink-wear-v5.svg'); background-size: 241px 233px; }
.nav-tab.is-active .nav-icon { filter: brightness(0) invert(1); }
.nav-tab:focus-visible { outline-offset: -5px; }
.siteHeader, .sitecontent, .siteFooter { position: relative; z-index: 1; }
.sitecontent { padding-top: 34px; outline: none; }
.eyebrow { color: var(--red); font-size: 13px; font-weight: 700; letter-spacing: .065em; text-transform: uppercase; margin: 0 0 7px; }
h1, h2, h3, p { overflow-wrap: break-word; }
h1 { margin: 0 0 9px; font-size: clamp(23px, 2.1vw, 29px); line-height: 1.28; font-weight: 700; letter-spacing: -.025em; }
h2 { font-size: 22px; line-height: 1.35; margin: 30px 0 16px; letter-spacing: -.015em; }
h3 { font-size: 18px; line-height: 1.35; }
p { margin: 0 0 18px; }
.match-date { margin: 0; font-size: 15px; color: #4a4d42; }
.bluesky-share { display: inline-block; font-size: 12px; color: var(--muted); text-decoration: none; }
.bluesky-share:hover { color: var(--red); text-decoration: underline; }
.playlist-share { margin-top: 8px; font-size: 13px; }
.opponentForm { max-width: 680px; }
.team-logo { position: relative; display: inline-grid; place-items: center; width: 58px; height: 58px; vertical-align: middle; }
.team-logo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.team-logo-fallback { display: block; width: 37px; height: 43px; }
.opponent-current-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; font-size: 13px; color: var(--muted); }
.opponent-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.opponent-actions form { margin: 0; }
.opponent-table-scroll { overflow-x: auto; }
.opponent-table td, .opponent-table th { padding: 12px 10px; text-align: left; }
.opponent-table { width: 100%; border-collapse: collapse; }
.opponent-table tr { border-bottom: 1px solid #b8ad9570; }
.opponent-table button { padding: 7px 12px; font-size: 13px; }
.page-intro { margin-bottom: 29px; }
.track-list { margin: 0; padding: 0; list-style: none; }
.playlist-period { margin-top: 32px; }
.playlist-period > h2 { margin: 0; padding: 0 0 12px; color: var(--red); font-size: 17px; font-weight: 700; background: url('../images/design/ink-rule-v5.svg') center bottom / 100% 3px no-repeat; }
.phase-spray { display: block; width: auto; height: 28px; max-width: 100%; object-fit: cover; }
.phase-spray--prematch { aspect-ratio: 2056 / 420; object-position: 50% 54%; }
.phase-spray--halftime { aspect-ratio: 2073 / 380; object-position: 50% 48%; }
.phase-spray--postmatch { aspect-ratio: 2172 / 430; object-position: 50% 53%; }
.playlist-period .period-empty { padding: 20px 0 8px; margin: 0; font-size: 14px; }
.track-row { position: relative; display: grid; grid-template-columns: 30px 70px minmax(0,1fr) 54px 42px; align-items: center; column-gap: 20px; padding: 15px 9px 15px 3px; min-height: 99px; }
.track-row:target { background: #b82f2909; scroll-margin-top: 24px; }
.track-row::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: url('../images/design/ink-rule-v5.svg') center / 100% 2px no-repeat; opacity: .32; }
.track-row:last-child::after { display: none; }
.track-number { font-size: 14px; color: var(--muted); font-variant-numeric: tabular-nums; }
.record-cover { display: block; width: 70px; height: 70px; filter: drop-shadow(.5px 1px .7px #46321e35); }
.track-row > .record-cover { filter: drop-shadow(1px 2px 1.8px #46321e40); }
.track-row:nth-child(3n+1) > .record-cover { transform: rotate(-1.8deg); }
.track-row:nth-child(3n+2) > .record-cover { transform: rotate(1.7deg); }
.track-info { min-width: 0; }
.track-title { margin: 0 0 2px; font-size: 18px; line-height: 1.3; font-weight: 700; letter-spacing: -.02em; }
.track-artist { color: #6b6b60; font-size: 15px; line-height: 1.45; }
.track-time { color: #4f5249; text-align: right; font-size: 14px; font-variant-numeric: tabular-nums; }
.likeForm { margin: 0; }
.likeButton { display: grid; place-items: center; width: 42px; height: 44px; padding: 9px; border: 0; background: none; color: var(--ink); transition: color .15s, transform .15s; }
.likeButton .icon { width: 25px; height: 25px; stroke-width: 1.9; }
.likeButton:hover { color: var(--red); transform: scale(1.08); }
.likeButton[aria-pressed="true"] { color: var(--red); }
.likeButton[aria-pressed="true"] .icon { fill: currentColor; }
.like-error { color: var(--red); font-size: 13px; }
.period-empty { padding: 40px 0; color: var(--muted); }
.empty-state { padding: 63px 18px 65px; text-align: center; max-width: 570px; margin: 0 auto; }
.empty-state > .record-cover { width: 100px; height: 100px; margin: 0 auto 28px; transform: rotate(-5deg); }
.empty-state h2 { font-size: 23px; margin: 0 0 12px; }
.empty-state p { color: #6b6b5d; max-width: 430px; margin: 0 auto 24px; }
.text-link { display: inline-flex; gap: 9px; align-items: center; text-decoration: none; font-weight: 700; font-size: 14px; }
.text-link .icon { width: 20px; height: 20px; }
.seasonTitle { border-bottom: 1px solid var(--rule); padding: 10px 0 14px; margin-top: 34px; }
.archive-list { margin: 0; padding: 0; list-style: none; }
.archive-entry { display: grid; grid-template-columns: 90px minmax(0,1fr) 108px 26px; align-items: center; gap: 18px; border-bottom: 1px solid #b8ad9559; padding: 22px 0; color: var(--ink); text-decoration: none; }
.archive-entry:hover .archive-opponent { color: var(--red); }
.archive-day, .archive-date { font-size: 13px; color: var(--muted); }
.archive-opponent { font-size: 18px; font-weight: 700; }
.archive-entry > .icon { width: 23px; color: var(--red); }
input:not([type=checkbox]):not([type=hidden]), textarea, select { display: block; width: 100%; min-height: 44px; padding: 10px 12px; color: var(--ink); background: #fbf3e470; border: 1px solid #b9ae97; border-radius: 1px; }
textarea { resize: vertical; min-height: 130px; }
label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 7px; }
label small, .field-help { font-size: 12px; color: var(--muted); font-weight: 400; }
input[type=checkbox] { accent-color: var(--red); width: 17px; height: 17px; vertical-align: middle; margin-right: 7px; }
.feedbackForm, .loginForm { max-width: 620px; margin: 28px 0 0; }
button:not(.likeButton), .primary-button { border: 0; border-radius: 1px; padding: 12px 22px; background: var(--red); color: #fff4e0; font-weight: 700; font-size: 14px; }
button:not(.likeButton):hover { background: #982721; }
.formRow { margin-bottom: 22px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.form-grid .formRow { min-width: 0; }
.songRequest { margin: 0; }
.feedback-message { color: var(--muted); max-width: 580px; }
.feedbackEntry { padding: 22px 0; border-bottom: 1px solid #b8ad9570; }
.feedbackEntry header { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.feedbackEntry small { color: var(--muted); font-size: 12px; }
.feedbackEntry p:last-child { margin-bottom: 0; }
.feedbackList { margin: 14px 0 35px; }
.feedbackError, .loginError { border-left: 3px solid var(--red); padding: 12px 16px; color: #8d2923; }
.feedbackSuccess { border-left: 3px solid #73866a; padding: 12px 16px; color: #425139; }
.request-heading { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-top: 45px; }
.siteFooter { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 18px; padding-top: 34px; margin-top: 50px; border-top: 1px solid #b6ac9480; font-size: 11px; color: var(--muted); }
.footer-brand { color: #474b3f; font-weight: 800; letter-spacing: -.04em; font-size: 12px; text-decoration: none; }
.footer-brand span { color: var(--red); }
.footer-links { display: flex; gap: 23px; }
.footer-links a { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); text-decoration: none; }
.footer-links a:hover { color: var(--red); }
.footer-links .icon { width: 12px; height: 12px; }
.admin-menu { flex-basis: 100%; font-size: 13px; }
.admin-menu summary { cursor: pointer; }
.admin-menu nav { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 14px; }
table { border-collapse: collapse; width: 100%; font-size: 14px; }
th, td { border-bottom: 1px solid #b8ad9570; padding: 12px 10px; text-align: left; vertical-align: top; }
th { font-weight: 700; }
.formTable { max-width: 760px; }
.formTable td:first-child { width: 170px; }
.formTable td { border: none; padding: 10px 8px 10px 0; }
.admin form { margin: 25px 0; }
.admin input, .admin textarea, .admin select { max-width: 550px; }
.admin button { margin: 5px 8px 5px 0; }
.admin small { color: var(--muted); }
.debugBox { padding: 16px; border: 1px dashed var(--rule); font-size: 13px; }
address { font-style: normal; }
.impressum h2 { font-size: 18px; margin-top: 30px; }
.impressum small { color: var(--muted); }
.newsheader { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; border-bottom: 1px solid var(--rule); margin-bottom: 18px; }
.newsheader h2 { margin-bottom: 13px; }
.newsdate { color: var(--muted); font-size: 12px; }
.newsentry { margin-bottom: 40px; }
.currenttrack { display: flex; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--rule); margin-bottom: 30px; }
.tracklabel { margin-bottom: 4px; text-transform: uppercase; color: var(--red); font-size: 12px; font-weight: 700; }
.trackshare { font-size: 13px; margin: 8px 0 0; }
@media (min-width: 1150px) { .playlist-heading { white-space: nowrap; } }
@media (max-width: 1150px) {
    .page-frame { width: calc(100% - 270px); }
    .paper-sheet { padding-left: 32px; padding-right: 32px; }
    .brand-heading { left: 186px; max-width: calc(100% - 186px); top: 68px; }
    .brand-speakers { height: 215px; }
    .siteHeader { height: 200px; }
    .track-row { gap: 14px; }
}
@media (max-width: 760px) {
    body { font-size: 15px; }
    .page-frame { width: calc(100% - 98px); margin: 34px 64px 0 34px; }
    .paper-sheet { padding: 0 22px 28px; min-height: calc(100vh - 34px); }
    .paper-corner { width: 105px; height: 100px; }
    .paper-tape { width: 86px; height: 43px; }
    .tape-left { left: -34px; top: -11px; }
    .tape-right { right: -33px; top: -14px; height: 48px; }
    .siteHeader { height: 144px; }
    .brand-speakers { height: 153px; left: -6px; }
    .brand-heading { left: 115px; max-width: calc(100% - 111px); top: 58px; }
    .sitecontent { padding-top: 27px; }
    h1 { font-size: 23px; }
    .eyebrow { font-size: 11px; }
    .match-date { font-size: 13px; }
    .track-row { grid-template-columns: 53px minmax(0,1fr) 33px; gap: 12px; padding: 15px 0; min-height: 84px; }
    .track-number { display: none; }
    .record-cover { width: 53px; height: 53px; }
    .track-title { font-size: 15px; }
    .track-artist { font-size: 13px; }
    .track-time { display: none; }
    .likeButton { width: 33px; height: 44px; padding: 6px; }
    .likeButton .icon { width: 22px; height: 22px; }
    .archive-entry { grid-template-columns: 1fr 22px; gap: 6px 12px; padding: 18px 0; }
    .archive-day { grid-row: 1; }
    .archive-opponent { grid-column: 1; font-size: 16px; }
    .archive-date { grid-column: 1; }
    .archive-entry > .icon { grid-row: 1 / 4; grid-column: 2; }
    .form-grid { display: block; }
    .siteFooter { margin-top: 35px; gap: 14px; }
    .footer-links { gap: 15px; }
    .empty-state { padding: 45px 0; }
    .empty-state h2 { font-size: 21px; }
    .feedbackEntry header, .newsheader { display: block; }
    .formTable, .formTable tbody, .formTable tr, .formTable td { display: block; width: 100% !important; }
    .formTable td { padding: 7px 0; }
    .admin table:not(.formTable) { display: block; overflow-x: auto; }
}
@media (max-width: 430px) {
    .paper-sheet { padding-left: 15px; padding-right: 15px; }
    .siteHeader { height: 120px; }
    .brand-speakers { height: 130px; left: -12px; }
    .brand-heading { left: 87px; max-width: calc(100% - 83px); top: 51px; }
    .track-row { grid-template-columns: 44px minmax(0,1fr) 29px; gap: 9px; }
    .record-cover { width: 44px; height: 44px; }
    .track-title { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }



@media (max-width: 1150px) and (min-width: 761px) {
 .nav-rail { left: calc(100% - 52px); }
 .nav-tab { --tab-width: 268px; --tab-peek: 122px; --icon-size: 36px; height: 71px; }
}
@media (max-width: 760px) {
 .paper-sheet::before { left: 11px; right: 11px; }
 .paper-edge { width: 34px; background-size: 34px 1952px; }
}




.admin-toolbar { position: sticky; top: 10px; z-index: 8; display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin: 18px 0 0; padding: 10px 12px; border: 1px solid #aa92715c; background: #f0e3cfee; box-shadow: 0 2px 6px #49361d16; font-size: 13px; }
.admin-toolbar > a { text-decoration: none; font-weight: 700; }
.admin-toolbar .quick-track { background: var(--red); color: #fff4e0; padding: 9px 13px; }
.admin-toolbar details { position: relative; margin-left: auto; }
.admin-toolbar summary { cursor: pointer; font-weight: 700; }
.admin-dropdown { position: absolute; right: 0; top: calc(100% + 12px); min-width: 210px; display: grid; background: #f3e7d3; padding: 10px; border: 1px solid #b8a68b; box-shadow: 2px 5px 12px #49361d33; }
.admin-dropdown a { padding: 8px 10px; text-decoration: none; }
.admin-dropdown a:hover { background: #b82f2910; }
.bsky-worker-status { flex-basis: 100%; font-size: 12px; }
.bsky-worker-status:empty { display: none; }
.track-row { grid-template-columns: 30px 70px minmax(0,1fr) 54px 84px; }
.track-actions { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.bluesky-button { display: grid; place-items: center; width: 40px; height: 44px; color: var(--ink); }
.bluesky-button .icon { width: 25px; height: 25px; }
.bluesky-button:hover { color: #087cbc; }
.track-edit-card { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 18px; border-bottom: 1px solid #b8ad9570; padding: 20px 0; scroll-margin-top: 95px; }
.track-edit-fields label { display: block; margin: 8px 0 4px; font-size: 13px; }
.track-edit-fields .form-grid { margin-bottom: 10px; }
.track-edit-actions { display: flex; flex-wrap: wrap; gap: 5px; }
button.secondary-button { background: #574e3c; }
.playlist-picker select { display: inline-block; width: min(100%, 470px); margin-right: 10px; }
.bsky-jobs article { padding: 14px 0; border-bottom: 1px solid #b8ad9570; }
@media(max-width:760px) {
 .track-row { grid-template-columns: 53px minmax(0,1fr) 68px; }
 .bluesky-button { width: 33px; }
 .bluesky-button .icon { width: 22px; height: 22px; }
 .admin-toolbar { font-size: 12px; gap: 10px; padding: 9px; }
 .track-edit-card { grid-template-columns: 44px minmax(0,1fr); gap: 10px; }
 .track-edit-cover .record-cover { width:44px; height:44px; }
}
@media(max-width:430px) { .track-row { grid-template-columns: 44px minmax(0,1fr) 62px; } .bluesky-button { width:29px; } }
.admin-toolbar { display: block; }
.admin-toolbar-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; }
.admin-toolbar-row > a { text-decoration: none; font-weight: 700; }
.admin-toolbar button.quick-track { margin: 0; padding: 9px 13px; font-size: 13px; }
.quick-track-panel { border-top: 1px solid #b8ad9570; margin-top: 12px; padding-top: 10px; max-height: calc(100dvh - 140px); overflow-y: auto; }
.quick-track-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 170px auto; align-items: end; gap: 10px; margin: 0; }
.quick-track-form label { margin: 0 0 4px; font-size: 12px; }
.quick-track-form input { min-width: 0; font-size: 14px; }
.quick-track-form button { margin: 0; min-height: 44px; }
.quick-track-status { grid-column: 1 / -1; margin: 0; font-size: 12px; }
.quick-track-status:empty { display: none; }
.mobile-navigation { display: none; }
.bsky-worker-status { display: block; margin-top: 8px; }
.bluesky-button .icon { width: 20px; height: 25px; }
@media(max-width:760px) {
 .admin-toolbar-row { gap: 9px 12px; }
 .quick-track-form { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .quick-track-form > div:nth-of-type(3) { grid-column: 1 / -1; }
 .quick-track-form button { grid-column: 1 / -1; }
 .bluesky-button .icon { width: 17px; height: 22px; }
}

/* Background wear can be enabled again independently of the paper. */
body::before, body::after { display: none; }
/* Preserve the supplied Bluesky SVG's original 600:530 proportions. */
.bluesky-button .icon { width: 23px; height: auto; aspect-ratio: 600 / 530; object-fit: contain; transform: none; }
.bluesky-button:hover .icon, .bluesky-button:focus-visible .icon { filter: brightness(0) saturate(100%) invert(43%) sepia(97%) saturate(3136%) hue-rotate(196deg) brightness(103%) contrast(100%); }
.admin-toolbar { background: #f0e3cf; }
.quick-track-panel { padding: 10px 7px 7px; }
.quick-track-form { gap: 14px; }
.quick-track-form > div { min-width: 0; }
.quick-track-form input { min-height: 38px; padding: 7px 9px; }
.quick-track-form input:focus-visible { outline-offset: 2px; }
.quick-track-form button { min-height: 38px; padding: 7px 12px; }
.footer-links { flex-wrap: wrap; align-items: center; }
.cookie-settings-link { display: inline; padding: 0; margin: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.footer-links .cookie-settings-link { color: var(--muted); text-decoration: none; }
.cookie-panel { position: fixed; inset: auto 18px 18px; margin: 0 auto; width: min(680px, calc(100% - 36px)); max-height: calc(100dvh - 36px); overflow: auto; padding: 25px; border: 1px solid #b5a486; color: var(--ink); background: #f1e6d2; box-shadow: 0 8px 36px #241c2040; font-size: 15px; }
.cookie-panel::backdrop { background: #191b172b; }
.cookie-panel h2 { margin: 0 0 14px; }
.cookie-panel p { margin-bottom: 14px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.cookie-actions button { flex: 1 1 160px; margin: 0; padding: 10px 12px; background: #efe0c5; color: #24261f; border: 1px solid #8d7b5b; font-size: 14px; font-weight: 700; }
.cookie-actions button:hover { background: #e2cda7; }
.cookie-panel input[type=checkbox], .publication-consent input { width: auto; display: inline; margin-right: 6px; }
.cookie-status:empty { display: none; }
.cookie-noscript { position: relative; margin: 20px 32px; }
.legal-page address, .impressum address { font-style: normal; }
@media(max-width:760px) {
 .page-frame { width: calc(100% - 70px); margin: 26px 38px 0 32px; }
 .paper-sheet { min-height: calc(100vh - 26px); }
 .brand-speakers { height: 159px; bottom: -28px; clip-path: inset(0 0 30px 0); }
 .nav-rail { display: none; }
 .mobile-navigation { display: flex; position: fixed; right: -4px; top: 166px; flex-direction: column; gap: 5px; z-index: 6; }
 .mobile-nav-tab { position: relative; display: grid; place-items: center; width: 46px; height: 54px; color: var(--ink); }
 .mobile-nav-tab::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--paper) url('../images/design/papier-vorlage-raster-v2.png') center / 500px 500px; mask: url('../images/design/paper-tab-mask-v5.svg') center / 100% 100% no-repeat; -webkit-mask: url('../images/design/paper-tab-mask-v5.svg') center / 100% 100% no-repeat; transform: scaleX(-1); }
 .mobile-nav-tab.is-active::before { background-color: var(--red); background-image: url('../images/design/ink-wear-v5.svg'); }
 .mobile-nav-tab img { width: 27px; height: 27px; margin-right: 4px; object-fit: contain; }
 .mobile-nav-tab.is-active img { filter: brightness(0) invert(1); }
 .mobile-nav-tab:focus-visible { outline-offset: -5px; }
 .bluesky-button .icon { width: 20px; height: auto; }
 .cookie-panel { inset: auto 10px 10px; width: calc(100% - 20px); max-height: calc(100dvh - 20px); padding: 20px; font-size: 14px; }
}
@media(max-width:430px) {
 .siteHeader { height: 128px; }
 .brand-speakers { height: 143px; left: -12px; bottom: -25px; clip-path: inset(0 0 27px 0); }
 .brand-heading { top: 49px; }
}
