/* Settings stay in one place; accessibility applies to every page. */
.settings-trigger{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;border:1px solid #96b4d5;border-radius:14px;background:#13233f;color:#fff7ed;font-weight:700}
.settings-trigger:hover{background:#203858;border-color:#ffe39c}
.settings-trigger>span:first-child{font-size:1.4rem;line-height:1}
.settings-dialog{width:min(490px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #819bc0;border-radius:24px;background:#0d1b32;color:#fff7ed;overflow:auto}
.settings-dialog::backdrop{background:#020615b8;backdrop-filter:blur(5px)}
.settings-panel{padding:24px}
.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.settings-heading h2{margin:0;font-size:1.6rem}
.settings-close{width:48px;height:48px;flex:none;border:1px solid #7d9bbd;background:#1a2d4a;border-radius:50%;color:#fff;font-size:1.7rem}
.settings-panel fieldset{border:0;border-top:1px solid #6e86a3;margin:24px 0 0;padding:14px 0 0;min-width:0}
.settings-panel legend{font-weight:700;color:#ffe39c;padding-right:12px}
.settings-switch,.settings-select{display:flex!important;align-items:center;justify-content:space-between;gap:18px;min-height:58px;margin:0!important;font-size:1rem!important;color:#fff7ed!important}
.settings-switch input{display:block!important;width:25px!important;height:25px;flex:none;accent-color:#ffd66e;margin:0!important;cursor:pointer}
.settings-select select{min-height:46px;min-width:140px;max-width:60%;border:1px solid #a3b8d3;border-radius:10px;padding:8px 12px;background:#142842;color:#fff;font:inherit}
.settings-note{font-size:.86rem;line-height:1.6;color:#c4d7ea;margin:12px 0 0}
.settings-reset{min-height:44px;margin-top:24px;background:none;border:0;color:#ffe39c;text-decoration:underline;text-underline-offset:4px;padding:8px 0;font:inherit}
.skip-link{position:fixed;top:8px;left:12px;z-index:100;background:#fff8e6;color:#081323;padding:14px 20px;border-radius:12px;font-weight:700;transform:translateY(-180%)}
.skip-link:focus{transform:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #76fff1;outline-offset:4px;box-shadow:0 0 0 6px #06101d}
main:focus{outline:0}
button,.button,input:not([type=checkbox]),select,summary{min-height:44px}
.close,.peek-arrow,.ship-detail-navigation button,.map-direction-buttons button{min-width:44px;min-height:44px}
.footer-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px}
html{scroll-padding-top:110px}
header.mission-navigation nav a{display:block;padding:13px 16px;border-radius:30px;color:#e0e7f1;text-decoration:none;font-family:var(--font-display);font-weight:700;min-height:44px}
header.mission-navigation nav a[aria-current]{background:#fff7ed;color:#142238}
.book-tile,.back-link,.series-neighbour,.book-page-next a,.friend-book-picture,.friend-story-link,.map-open-book,.footer-link{text-decoration:none}
.book-tile{display:block;color:inherit}
.back-link{display:inline-flex;align-items:center}
.book-page-next a{display:inline-flex;align-items:center;background:none;border:1px solid #7e9eb6;border-radius:30px;color:#fff;padding:15px 20px;font:inherit;min-height:44px}
.book-page-next a:hover{border-color:#ffd654;color:#ffd654}
.friend-story-link{display:inline-flex;align-items:center;min-height:44px}
.friend-book-picture{display:block}
.map-zoom-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;color:#fff}
.map-zoom-controls button{width:44px;flex:none;border:1px solid #91afce;background:#172b46;color:#fff;border-radius:50%;font-size:1.4rem}
html[data-text-size='large']{font-size:20px}
html[data-text-size='large'] p{line-height:1.85}
html[data-contrast='high'] body{background:#020813;color:#fff}
html[data-contrast='high'] body:before,html[data-contrast='high'] body:after{opacity:.08;animation:none}
html[data-contrast='high'] .site-masthead,html[data-contrast='high'] .mission-navigation{background:#020813}
html[data-contrast='high'] p,html[data-contrast='high'] .small,html[data-contrast='high'] small,html[data-contrast='high'] .eyebrow{color:#fff}
html[data-contrast='high'] .colour-title,html[data-contrast='high'] h1 em{background:none;color:#ffe681;-webkit-text-fill-color:#ffe681}
html[data-contrast='high'] .book-page-hero:before{background:#061020;opacity:1}
html[data-contrast='high'] .destination-preview,html[data-contrast='high'] .friend-profile,html[data-contrast='high'] .ship-object-detail,html[data-contrast='high'] .contact-option,html[data-contrast='high'] .settings-dialog{background:#061020;border-color:#bcd9f6}
html[data-contrast='high'] a,html[data-contrast='high'] .back-link,html[data-contrast='high'] .footer-link{color:#ffe681}
html[data-contrast='high'] .button,html[data-contrast='high'] a[aria-current]{color:#061020}
html[data-contrast='high'] .button.secondary{background:#172b46;color:#fff;border-color:#fff}
html[data-contrast='high'] .play-tabs .button{background:#061020;color:#fff;border-color:#bcd9f6}
html[data-contrast='high'] .play-tabs .button[aria-pressed='true']{background:#ffe681;color:#061020;border-color:#ffe681}
html[data-contrast='high'] .book-tile,html[data-contrast='high'] .art-card{background:#061020;border-color:#bcd9f6}
html[data-motion='off'] *,html[data-motion='off'] *:before,html[data-motion='off'] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:901px){header.mission-navigation{top:164px;max-height:calc(100dvh - 164px);overflow-y:auto}body:has(.site-masthead.is-compact) header.mission-navigation{top:82px;max-height:calc(100dvh - 82px)}header.mission-navigation nav{width:100%}.nav-tools{width:100%}}
@media(max-width:900px){.settings-trigger{width:auto;margin:0 auto}.map-zoom-controls{margin:0}header.mission-navigation nav a{padding:10px 8px}}
@media(max-width:700px){header.mission-navigation nav a{padding:10px 5px;font-size:.82rem;text-align:center;border-radius:14px;line-height:1.4}.settings-panel{padding:20px}.settings-select{flex-wrap:wrap;gap:8px;padding:8px 0}.settings-select select{max-width:100%}.settings-dialog{border-radius:18px}html[data-text-size='large'] .book-page h1{font-size:2.3rem}html[data-text-size='large'] .book-page-hero{padding:20px}html[data-text-size='large'] .colouring-grid{gap:16px}html[data-text-size='large'] .settings-heading h2{font-size:1.25rem}}
