/*! TYPOWP — AGPL-3.0-or-later — (C) 2026 biostream. See LICENSE. */
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--token-canvas);color:var(--token-text);
    font-family:Georgia,"Times New Roman",serif;line-height:1.65;font-size:18px}
.site-header{border-bottom:1px solid var(--token-text-muted);padding:1em 1.2em;text-align:center;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.site-title{font-size:1.4em;font-weight:600;color:var(--token-text);text-decoration:none}
.theme-mode-control{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem;border:1px solid var(--token-border);border-radius:.45rem;background:var(--token-surface);color:var(--token-text)}
.theme-mode-control button{border:0;border-radius:.3rem;padding:.35rem .55rem;background:transparent;color:var(--token-text);font:inherit;font-size:.82rem;line-height:1.25;cursor:pointer}
.theme-mode-control button[aria-pressed="true"]{background:var(--token-brand);color:var(--token-on-brand);font-weight:700}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="auto"]{color-scheme:light dark}
.site-main{max-width:40em;margin:0 auto;padding:2em 1.2em}
.page h1{font-size:2em;margin-top:0;line-height:1.2}
.page-body p{margin:1em 0}
.site-footer{color:var(--token-text-muted);text-align:center;padding:2em 1em;font-size:.85em;border-top:1px solid var(--token-text-muted);margin-top:3em}
a{color:var(--token-text)}
code{background:var(--token-surface);color:var(--token-text);padding:.1em .4em;border-radius:3px;font-size:.95em}
.welcome{background:var(--token-surface);color:var(--token-text);border:1px solid var(--token-text-muted);border-radius:6px;padding:2em}

/* --- search results --- */
.search-page{max-width:42rem}
.search-header{margin-bottom:1.5rem}
.search-form{display:flex;gap:.5rem;margin-top:.6rem}
.search-form input[type=search]{flex:1;min-width:0;padding:.5rem .8rem;font:inherit;background:var(--token-canvas);color:var(--token-text);border:1px solid var(--token-text-muted);border-radius:4px}
.search-form button{padding:.5rem 1.2rem;cursor:pointer}
.search-hint{color:var(--token-text-muted);margin:1.2rem 0}
.search-meta{color:var(--token-text-muted);font-size:.93em;margin-bottom:1rem}
.search-results{list-style:none;padding:0;margin:0}
.search-result{padding:1rem 0;border-bottom:1px solid var(--token-text-muted)}
.search-result h2{margin:0 0 .3rem;font-size:1.15rem}
.search-result h2 a{color:var(--token-text);text-decoration:underline}
.search-result h2 a:hover{text-decoration-thickness:2px}
.search-snippet{color:var(--token-text);margin:.2rem 0 .3rem;line-height:1.45}
.search-url{color:var(--token-text-muted);font-size:.85em;margin:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* --- accessibility: skip-link + focus styles --- */
.skip-link{position:absolute;top:-100px;left:0;background:var(--token-brand);color:var(--token-on-brand);padding:.7em 1.1em;border-radius:0 0 4px 0;text-decoration:none;font-weight:600;z-index:9999;transition:top .15s}
.skip-link:focus{top:0;outline:2px solid var(--token-on-brand);outline-offset:0}
:focus-visible{outline:2px solid var(--token-focus-ring);outline-offset:2px;border-radius:2px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--token-focus-ring);outline-offset:2px}
main:focus{outline:none}


/* --- accessibility statement page --- */
.accessibility-statement{max-width:46em;overflow-wrap:anywhere}
.accessibility-statement h2{margin-top:1.8em;font-size:1.2rem}
.accessibility-statement ul{padding-left:1.4em;line-height:1.6}
.accessibility-statement .contact-list{list-style:none;padding:0}
.accessibility-statement .contact-list li{padding:.2em 0}
.accessibility-statement .muted{color:var(--token-text-muted);font-size:.92em}


/* --- BFSG: reduced motion, touch targets --- */
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* WCAG 2.2 Target Size (Minimum) 24x24 px fuer interaktive Elemente */
button,.btn,a.btn,.linklike,input[type=submit],input[type=button]{min-height:24px;min-width:24px}
/* Aria-current Visualisierung bekraeftigt */
[aria-current="page"]{font-weight:600}

@media (max-width:30rem) {
    .theme-mode-control{max-width:100%;flex-wrap:wrap;justify-content:center}
    .search-form{flex-direction:column}
    .search-form button{width:100%}
}

@media (forced-colors: active) {
    .theme-mode-control{border-color:ButtonText}
    .theme-mode-control button{border:1px solid transparent}
    .theme-mode-control button[aria-pressed="true"]{
        background:Highlight;color:HighlightText;border-color:Highlight
    }
    :focus-visible,
    button:focus-visible,a:focus-visible,input:focus-visible,
    select:focus-visible,textarea:focus-visible,summary:focus-visible,
    [tabindex]:focus-visible{outline-color:Highlight}
}
