:root{--page-bg:#fff;--panel-bg:#f3f6f9;--border:#dce2e8;--link:#92526b}
:root[data-theme=dark]{color-scheme:dark;--page-bg:#181c23;--panel-bg:#252c36;--ink:#edf0f5;--muted:#b7c2d0;--accent:#a0bddf;--border:#45505e;--link:#e0acc3}
body{background:var(--page-bg);color:var(--ink)}a{color:var(--link)}header a{color:white}
:root[data-theme=dark] .card,:root[data-theme=dark] footer,:root[data-theme=dark] .career-role,:root[data-theme=dark] .link-grid article{border-color:var(--border)}
:root[data-theme=dark] .notice,:root[data-theme=dark] pre{background:var(--panel-bg)!important;color:var(--ink)}
:root[data-theme=dark] .page-links a{color:var(--accent)!important}
input,textarea,select{background:var(--page-bg);color:var(--ink)}
.theme-control{display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;padding:10px 0 16px;color:var(--muted)}.theme-control select{font:inherit;padding:6px;border:1px solid var(--border);border-radius:5px;min-height:36px}
.resource-search{max-width:560px;margin:0 auto 18px}.resource-search label{display:block;margin-bottom:6px}.resource-search input{width:100%;padding:12px;font:inherit;border:1px solid var(--border);border-radius:6px}.resource-search p{font-size:14px;margin:6px 0}
[hidden]{display:none!important}.link-grid>article.search-last{grid-column:1 / -1!important;width:calc((100% - 40px)/2)!important;justify-self:center}.link-grid>article.search-regular{grid-column:auto!important;width:auto!important}
.copy-command{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:13px;margin:6px 0}.copy-command button,.morse-player button{font:inherit;cursor:pointer;min-height:44px}.copy-command button{padding:6px 14px;border:1px solid var(--border);border-radius:5px;background:var(--panel-bg);color:var(--ink)}
.morse-player{max-width:760px;margin:18px auto;text-align:center;padding:22px;border:1px solid var(--border);border-radius:10px;background:var(--panel-bg)}.morse-player h2{margin-bottom:12px}.morse-player label{display:block;font-size:15px}.morse-player input{font:inherit;border:1px solid var(--border);border-radius:5px;padding:9px;max-width:100%;min-height:44px}.morse-text{width:100%;text-transform:uppercase}.morse-settings{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin:16px 0}.morse-settings input{width:100px}.morse-player .morse-code{overflow-wrap:anywhere;letter-spacing:.1em;font-family:monospace}.morse-status{min-height:1.65em}.morse-player button:disabled{opacity:.5;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c3a459;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){a,button,input,select{transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.button:hover{box-shadow:0 3px 12px #0002}}
@media(max-width:700px){.link-grid>article.search-last{width:100%!important}.morse-player{padding:18px 14px}.morse-settings{gap:12px}.theme-control{padding-bottom:16px}}

.morse-player label,.morse-player input,.morse-player .quiet{text-align:center}

/* Keyboard access, control contrast and touch targets. */
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-160%);padding:12px 20px;background:#fff;color:#20242a;border:2px solid #20242a;border-radius:4px}
.skip-link:focus{transform:translateY(0)}
.button{background:#496887}.button:hover{background:#3e5974}
.page-links a{color:#496887!important}
.morse-player input,.resource-search input,.theme-control select,.copy-command button{border-color:#778393}
:root[data-theme=dark] .morse-player input,:root[data-theme=dark] .resource-search input,:root[data-theme=dark] .theme-control select,:root[data-theme=dark] .copy-command button{border-color:#91a0b3}
:root[data-theme=dark] .contact-form .errorlist{color:#ffb4b8}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #496887;outline-offset:4px}
:root[data-theme=dark] :focus-visible,header :focus-visible{outline-color:#e4c870}
.nav-dropdown summary{width:44px;min-height:44px}
.theme-control select{min-height:44px}
.station-lightbox button,.smartunlink-lightbox button{min-height:44px;min-width:44px}

/* Shared download sections: anchors and buttons have the same geometry. */
main .download-section{text-align:center}
main .download-section>p{max-width:78ch;margin-left:auto;margin-right:auto}
main .download-section .button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:220px;max-width:100%;height:52px;min-height:52px;padding:10px 16px;border:0;border-radius:4px;font-family:inherit;font-size:16px;font-weight:400;line-height:1.25;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer}
main .download-section .download-actions,main .download-section .button-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}
main .download-section .download-actions>.button,main .download-section .button-row>.button{margin:0}
main .download-section pre{text-align:left;max-width:100%;overflow:auto}
main .download-section .station-download-grid .button{width:100%;max-width:none;height:52px;min-height:52px;font-size:14px;padding:8px}
main .download-section .station-platform-label{align-self:end;font-size:14px;font-weight:600;line-height:1.4;text-align:center}
@media(max-width:480px){main .download-section .download-actions,main .download-section .button-row{flex-direction:column}main .download-section .button{max-width:100%}}

/* Center instruction lists as a block, not their contents. */
main section > ol{box-sizing:border-box;width:min(100%,78ch);margin:20px auto;padding-left:1.8em;text-align:left;list-style-position:outside}
main section > ol li{text-align:left;padding-left:.25em;margin-bottom:.6em;overflow-wrap:break-word}
