/* Discovery, friends and hands-on activities share the existing day/night palette. */
[hidden]{display:none!important}
button,input,select{font:inherit}
button{cursor:pointer}
button.button{border:0}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--darkblue);outline-offset:4px}
button:disabled{opacity:.55;cursor:default}
.discovery{padding:30px;background:var(--panel);border:1px solid var(--border);border-radius:26px}
.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.filter-grid label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:700;min-width:0}
.filter-grid input,.filter-grid select{width:100%;min-width:0;background:var(--paper);color:var(--ink);border:1px solid var(--border);border-radius:12px;padding:12px;font-size:16px;min-height:50px}
.filter-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:24px}
.filter-actions p{margin:0;color:var(--muted);font-size:15px}
.quiet-button{background:transparent;color:var(--darkblue);border:0;padding:12px 0;text-decoration:underline;text-underline-offset:4px;font-size:15px}
.discovery .small,.print-controls .small{font-size:14px;color:var(--muted);margin:18px 0 0}
.empty-state{padding:30px;background:var(--panel);border-radius:20px;margin-top:24px}
.discovery-home{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:36px;background:var(--panel);border-radius:28px;margin-block:30px}
.discovery-home p:not(.eyebrow){color:var(--muted)}
.discovery-links{display:grid;gap:18px;align-content:center}
.discovery-links a{padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--art-panel)}
.discovery-links strong,.discovery-links span{display:block}
.discovery-links span{font-size:15px;margin-top:8px;color:var(--muted)}
.portrait-pair{display:flex;justify-content:center;gap:12px}.portrait-pair img{max-width:43%}
.reading-tools{margin-block:28px}
.story-activity{border:1px solid var(--border);border-radius:18px;margin-block:28px;padding:20px 24px;background:var(--art-panel);font-size:17px}
.story-activity summary{cursor:pointer;font-weight:700}
.story-activity h2{font-size:21px;letter-spacing:0;margin:22px 0 8px}
.story-activity p{margin-bottom:10px}.story-activity .small{font-size:14px;color:var(--muted)}
.friend-links{font-size:15px;margin-block:25px}.friend-links a,.friend-stories a{text-decoration:underline;text-underline-offset:4px}
.friend-jumps{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:15px}.friend-jumps a{text-decoration:underline;text-underline-offset:4px}
.friend-world{margin-block:48px}.friend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.friend-card{background:var(--panel);border:1px solid var(--border);padding:30px;border-radius:26px;scroll-margin-top:24px}
.friend-card>img{display:block;margin:auto;max-height:200px}
.friend-card h3{font-size:30px;margin:18px 0 10px;line-height:1.2}
.friend-card p,.friend-card dd{font-size:16px;color:var(--muted)}
.friend-card dl{border-block:1px solid var(--border);padding-block:16px}.friend-card dl>div+div{margin-top:14px}
.friend-card dt{font-size:13px;font-weight:800;letter-spacing:.5px}.friend-card dd{margin:3px 0 0}
.friend-card h4{font-size:17px;margin-bottom:12px}.friend-stories{padding-left:20px;font-size:15px;display:grid;gap:10px}
.blue-friend{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:center;padding:36px;background:var(--panel);border-radius:28px;margin-block:32px}
.blue-friend>img{margin:auto}.blue-friend p{color:var(--muted)}
.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.activity-tile{background:var(--panel);border:1px solid var(--border);padding:24px;border-radius:22px;text-align:center}
.activity-tile img{display:block;background:white;border-radius:16px;margin:0 auto 16px}
.activity-tile strong,.activity-tile span{display:block}.activity-tile span{font-size:14px;color:var(--muted)}
.activity-tile:hover,.friend-jumps a:hover{color:var(--darkblue)}
.print-controls{background:var(--panel);border-radius:24px;padding:30px;margin-bottom:30px}
.download-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.colouring-sheet,.bookmark-sheet{background:white;color:#222;max-width:800px;margin:25px auto;padding:30px;text-align:center;border:1px solid #ddd}
.colouring-sheet h2{font-size:26px;letter-spacing:0}.colouring-sheet>img{width:100%;max-width:600px}.colouring-sheet p{font-size:17px}.colouring-sheet small{font-size:13px}
.bookmark-sheet{max-width:740px}.bookmark-sheet img{display:block;width:100%;height:auto}
.header nav{column-gap:20px}
@media(max-width:850px){.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-home{gap:24px;padding:26px}}
@media(max-width:650px){.filter-grid,.discovery-home,.friend-grid,.blue-friend{grid-template-columns:1fr}.discovery{padding:22px}.filter-actions{gap:14px}.friend-card{padding:24px}.blue-friend{padding:25px;gap:20px}.activity-grid{grid-template-columns:1fr 1fr;gap:12px}.activity-tile{padding:14px 10px;font-size:15px}.print-controls{padding:24px}.print-controls h1{font-size:32px}.colouring-sheet,.bookmark-sheet{padding:15px}.colouring-sheet h2{font-size:21px}.friend-links{line-height:1.9}.header nav{column-gap:18px}}
@page{size:A4;margin:15mm}
@media print{
  :root,:root[data-theme=night]{--ink:#222;--muted:#444;--paper:white;--panel:white;--darkblue:#222;--page-ground:white}
  html,body{background:white!important;color:#222!important;font-size:11pt}
  .header,.footer,.skip,.sky,.sky-controls,.reading-back,.reading-tools,.story-sequence,.story-activity,.friend-links,.goodnight,.print-controls{display:none!important}
  .reading{width:auto;max-width:none;margin:0;padding:0;background:white;border-radius:0}
  .reading h1{font-size:26pt;letter-spacing:-.5pt}.reading .intro{margin-bottom:20pt}.reading .intro img{width:24mm}
  .reading .intro .eyebrow{font-size:8pt}.prose{font-size:12pt;line-height:1.6}.prose p{orphans:3;widows:3;margin-bottom:10pt}
  h1,h2,h3{break-after:avoid}img{break-inside:avoid}
  .printable-page{width:180mm!important;margin:0!important;padding:0!important}
  .colouring-sheet,.bookmark-sheet{width:180mm;max-width:none;height:260mm;margin:0;padding:0;border:0;break-inside:avoid}
  .colouring-sheet{display:flex;flex-direction:column;align-items:center;justify-content:center}
  .colouring-sheet>img{width:165mm;max-width:none;max-height:205mm}
  .colouring-sheet h2{font-size:18pt}.colouring-sheet p{font-size:12pt}
  .bookmark-sheet img{width:180mm;height:260mm}
}
