/* Batch 3: colour themes, new content blocks, 404 and fixes. Loaded last. */
:root{--rc-bg:#f8f4e9;--rc-text:#173d3b;--rc-link:#165b58;--rc-head:#123d3b;--rc-card:#fffdf5;--rc-line:#bdc9b8;--rc-accent:#b05a2c;--rc-btn:#102f39;--rc-btn-text:#fff;--rc-foot:#102f39;--rc-foot-text:#fff9e6;--rc-chip:#eef2ea}
html[data-theme="magpie"]{--rc-bg:#f7f7f4;--rc-text:#15181d;--rc-link:#1d4f91;--rc-head:#15181d;--rc-card:#fff;--rc-line:#c9ced6;--rc-accent:#1d4f91;--rc-btn:#15181d;--rc-foot:#15181d;--rc-chip:#e9eef6}
html[data-theme="moonflower"]{--rc-bg:#f2f7fb;--rc-text:#10304d;--rc-link:#0f5b8f;--rc-head:#0e3d66;--rc-card:#fff;--rc-line:#b9cfe1;--rc-accent:#c98a1c;--rc-btn:#0e3d66;--rc-foot:#0e3d66;--rc-chip:#e2eef7}
html[data-theme="marble"]{--rc-bg:#fbf4ec;--rc-text:#3d2417;--rc-link:#9a3f1c;--rc-head:#7a3418;--rc-card:#fffaf4;--rc-line:#e0c7b2;--rc-accent:#2f6b5f;--rc-btn:#7a3418;--rc-foot:#4a2414;--rc-chip:#f5e6d8}
html[data-theme="night"]{--rc-bg:#0f1a1d;--rc-text:#e6efe9;--rc-link:#8fd3c4;--rc-head:#08100f;--rc-card:#172628;--rc-line:#2f4a4a;--rc-accent:#e7b46a;--rc-btn:#e6efe9;--rc-btn-text:#0f1a1d;--rc-foot:#08100f;--rc-foot-text:#e6efe9;--rc-chip:#1e3134;color-scheme:dark}
html[data-theme="contrast"]{--rc-bg:#fff;--rc-text:#000;--rc-link:#0000c8;--rc-head:#000;--rc-card:#fff;--rc-line:#000;--rc-accent:#000;--rc-btn:#000;--rc-foot:#000;--rc-foot-text:#fff;--rc-chip:#fff}

/* apply the palette to the shared layer */
html[data-theme] body.b2{background:var(--rc-bg)!important;color:var(--rc-text)!important}
html[data-theme] body.b2 a{color:var(--rc-link)}
html[data-theme] body.b2 .b2-header{background:var(--rc-head)!important}
html[data-theme] body.b2 #b2-nav a,html[data-theme] body.b2 .b2-brand{color:#fff!important}
html[data-theme] body.b2 .b2-main h1,html[data-theme] body.b2 .b2-main h2,html[data-theme] body.b2 .b2-main h3,html[data-theme] body.b2 summary,html[data-theme] body.b2 .b2-article-heading h1{color:var(--rc-text)!important;background:transparent!important}
html[data-theme] body.b2 .b2-main :is(p,li,dt,dd,td,th,label,small,figcaption,span,b,strong,em){color:inherit}
html[data-theme] body.b2 .b2-main{color:var(--rc-text)}
html[data-theme] body.b2 :is(.b2-cards>article,.b2-article details,.read-books,.b3-file,.card,.case-card,.personal-progress,.booking-box,.spoiler-key,.cast-grid>article,.card-grid>article,.grid>article,.facts,.record,.detail-hero>div,.news-story,.news-side,.episode-board article,.marble-section,.spoiler-panel,.b3-theme-panel){background:var(--rc-card)!important;color:var(--rc-text)!important;border-color:var(--rc-line)!important}
html[data-theme] body.b2 .book-button{background:var(--rc-btn)!important;color:var(--rc-btn-text)!important}
html[data-theme] body.b2 .site-footer{background:var(--rc-foot)!important;color:var(--rc-foot-text)!important}
html[data-theme] body.b2 .b2-breadcrumb,html[data-theme] body.b2 .b2-breadcrumb *{color:var(--rc-text)}
html[data-theme] body.b2 .b2-home-hero{background:linear-gradient(90deg,color-mix(in srgb,var(--rc-head) 92%,transparent),color-mix(in srgb,var(--rc-head) 55%,transparent)),url('assets/banner-home.webp') center/cover!important}
html[data-theme] body.b2 .b2-home-hero :is(h1,h2,p,a,span){color:#fff!important}
/* Keep hero action text paired with its themed button background. */
html[data-theme] body.b2 .b2-home-hero a.book-button{color:var(--rc-btn-text)!important}
html[data-theme="night"] body.b2 img{filter:brightness(.92)}
html[data-theme="night"] body.b2 .duck-business-card{background:#172628!important;color:#e6efe9!important}
html[data-theme="night"] body.b2 :is(input,select,textarea){background:#172628;color:#e6efe9;border-color:#2f4a4a}
html[data-theme="contrast"] body.b2 a{text-decoration:underline!important}
html[data-theme="contrast"] body.b2 .b2-cards>article,html[data-theme="contrast"] body.b2 .b3-file{border-width:2px!important}

/* theme switcher */
body.b2 .b3-theme{position:relative;flex:none;z-index:12}
body.b2 .b3-theme-button{min-height:44px;background:#f8f4e9;color:#173d3b;border:1px solid #b2c5b8;border-radius:999px;padding:9px 14px;font:700 15px Georgia,serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
body.b2 .b3-theme-button::before{content:"";width:16px;height:16px;border-radius:50%;background:conic-gradient(#123d3b 0 25%,#1d4f91 0 50%,#b05a2c 0 75%,#e7b46a 0);flex:none}
body.b2 .b3-theme-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(300px,calc(100vw - 32px));background:#fffdf5;color:#173d3b;padding:16px 18px;border-radius:10px;box-shadow:0 8px 30px #0003;border:1px solid #bdc9b8}
body.b2 .b3-theme-panel h2{font-size:19px;margin:0 0 4px;color:inherit}
body.b2 .b3-theme-panel p{font:13px/1.5 system-ui,sans-serif;margin:0 0 10px}
body.b2 .b3-swatch{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:8px;cursor:pointer;min-height:44px}
body.b2 .b3-swatch:hover{background:#0000000d}
body.b2 .b3-swatch input{margin:0;accent-color:#123d3b}
body.b2 .b3-swatch b{display:block;font:700 15px Georgia,serif}
body.b2 .b3-swatch small{display:block;font:12px system-ui,sans-serif;opacity:.8}
body.b2 .b3-chip{width:26px;height:26px;border-radius:50%;flex:none;border:2px solid #fff;box-shadow:0 0 0 1px #0004}
.b3-swatch-classic .b3-chip{background:linear-gradient(135deg,#123d3b 50%,#f8f4e9 50%)}
.b3-swatch-magpie .b3-chip{background:linear-gradient(135deg,#15181d 50%,#1d4f91 50%)}
.b3-swatch-moonflower .b3-chip{background:linear-gradient(135deg,#0e3d66 50%,#f2f7fb 50%)}
.b3-swatch-marble .b3-chip{background:linear-gradient(135deg,#7a3418 50%,#fbf4ec 50%)}
.b3-swatch-night .b3-chip{background:linear-gradient(135deg,#0f1a1d 50%,#e7b46a 50%)}
.b3-swatch-contrast .b3-chip{background:linear-gradient(135deg,#000 50%,#fff 50%)}
@media(max-width:600px){body.b2 .b3-theme{margin-left:auto}body.b2 .b3-theme-button{padding:9px 11px;font-size:14px}body.b2 .spoiler-control{margin-left:8px!important}}

/* skip link: hidden until focused (some legacy rules left it visible) */
body.b2 .skip-link{position:fixed!important;left:1rem!important;top:-6rem!important;z-index:999!important;background:#fff!important;color:#081b24!important;padding:.8rem 1rem!important;border:3px solid #081b24!important;border-radius:6px!important}
body.b2 .skip-link:focus{top:1rem!important}

/* new content blocks */
body.b2 .b3-file{max-width:900px;margin:28px auto;padding:18px 22px;background:var(--rc-card);border:1px solid var(--rc-line);border-left:5px solid var(--rc-accent);border-radius:8px}
body.b2 .b3-file h2{font-size:22px!important;margin:0 0 10px}
body.b2 .b3-file dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;font-size:16px;line-height:1.6}
body.b2 .b3-file dt{font:700 13px/1.9 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.05em;opacity:.8}
body.b2 .b3-file dd{margin:0}
body.b2 .b3-file ul{margin:0 0 8px;padding-left:20px;line-height:1.7}
body.b2 .b3-eps a{display:inline-block;margin:0 10px 4px 0;white-space:nowrap}
body.b2 .b3-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
body.b2 .b3-chips a{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:999px;background:var(--rc-chip);border:1px solid var(--rc-line);text-decoration:none;font:600 14px/1.3 system-ui,sans-serif}
body.b2 .b3-chips a:hover{text-decoration:underline}
body.b2 .b3-more{max-width:900px;margin:32px auto}
body.b2 .b3-more h3{font-size:18px!important;margin:18px 0 4px}
body.b2 .b3-books small{font-weight:400;font-size:.8em}
body.b2 .b3-note,body.b2 .b3-source{font:13px/1.6 system-ui,sans-serif;opacity:.85}
body.b2 .b3-home{max-width:1160px;margin:40px auto}
body.b2 .b3-home p{font-size:17px;line-height:1.75;max-width:900px}
body.b2 .b3-home.b3-faq details{background:var(--rc-card);border:1px solid var(--rc-line);border-radius:8px;padding:14px 18px;margin:10px 0;max-width:900px}
body.b2 .b3-home.b3-faq summary{font-size:18px}
body.b2 .b3-stay{display:inline-block;margin-top:6px;font:600 15px system-ui,sans-serif}
body.b2 .b3-news{background:var(--rc-card);border:1px solid var(--rc-line);border-left:5px solid var(--rc-accent);border-radius:8px;padding:16px 20px;margin:0 0 24px}
body.b2 .b3-eyebrow{font:700 12px/1.4 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a8762e}
@media(max-width:600px){body.b2 .b3-file dl{grid-template-columns:1fr;gap:2px}body.b2 .b3-file dd{margin-bottom:8px}}

/* 404: comical duck detective */
body.b2.b3-404 .b2-main{max-width:none;padding:0}
body.b2.b3-404 .b3-404-hero{min-height:560px;display:flex;align-items:center;padding:48px max(24px,5%);background:linear-gradient(90deg,#0b1730 0,#0b1730f2 34%,#0b173000 62%),url('/assets/duck-detective-404.webp') right center/cover no-repeat;color:#f3ead2}
body.b2.b3-404 .b3-404-hero>div{max-width:560px}
body.b2.b3-404 .b3-404-hero h1{color:#fff!important;background:none!important;font-size:clamp(34px,4.4vw,56px);line-height:1.08;margin:8px 0 18px}
body.b2.b3-404 .b3-404-hero p{font-size:18px;line-height:1.7;color:#f3ead2}
body.b2.b3-404 .b3-eyebrow{color:#f2c14e}
body.b2.b3-404 .b3-404-links{display:flex;flex-wrap:wrap;gap:10px}
body.b2.b3-404 .b3-404-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;background:#f2c14e;color:#0b1730!important;font:700 15px system-ui,sans-serif;text-decoration:none}
body.b2.b3-404 .b3-404-links a:hover{background:#fff}
@media(max-width:700px){body.b2.b3-404 .b3-404-hero{min-height:0;padding:260px 20px 36px;background:linear-gradient(180deg,#0b173000 0,#0b1730 250px),url('/assets/duck-detective-404.webp') 72% top/auto 300px no-repeat,#0b1730}}
body.b2.b3-404 .spoiler-button{border-radius:999px;font:700 15px Georgia,serif}
@media(max-width:600px){body.b2 .b3-theme{position:static}body.b2 .b3-theme-panel{position:absolute;left:16px;right:16px;top:calc(100% + 6px);width:auto;max-height:75vh;overflow:auto}}
body.b2 .b2-main .wrap{width:auto!important;max-width:100%!important;margin-left:auto;margin-right:auto}

/* Batch 4: put the answer on the first phone screen. */
@media(max-width:600px){body.b2 .b2-banner>img{height:150px;object-fit:cover}body.b2 .b2-photos figure{max-height:220px;overflow:auto}body.b2 .b2-photos figure img{max-height:175px;object-fit:cover}}

body.b2 :is(.b3-theme-panel,.spoiler-panel) .panel-title{font:700 19px/1.3 Georgia,serif;margin:0 0 4px;color:inherit}
/* Batch4 live mobile QA: remove legacy bottom anchoring of header panel. */
body.b2 .b2-header .spoiler-panel{bottom:auto!important;height:auto!important;max-height:calc(100dvh - 160px);}
