/* The Good Shelf — kids site. Warm picture-book shelf look. No external fonts, no trackers. */
:root{
  --paper:#fbf6ec; --paper-2:#f3ead8; --ink:#2b2a3d; --ink-soft:#5a5870;
  --navy:#1f2a4d; --mustard:#e8b04b; --coral:#e8735a; --sage:#7fa68a; --line:#e3d7bf;
  --radius:18px; --wrap:720px;
  --serif: "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 var(--sans)}
a{color:var(--navy);text-decoration-color:var(--mustard);text-decoration-thickness:2px;text-underline-offset:3px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}

/* header */
.site-head{background:var(--navy);color:#fff}
.site-head .wrap{max-width:1040px;display:flex;align-items:center;gap:16px;padding:12px 20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 21px/1 var(--serif)}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--mustard);display:grid;place-items:center;color:var(--navy);font-size:19px}
.nav{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto;font-size:15px}
.nav a{color:#f4ecdc;text-decoration:none}
.nav a:hover{color:var(--mustard)}
.btn-sub{display:inline-flex;align-items:center;gap:6px;background:var(--coral);color:#fff;text-decoration:none;border-radius:999px;padding:7px 14px;font:600 14px/1 var(--sans)}
.btn-sub:hover{filter:brightness(1.05)}

/* shelf stripe */
.shelf{height:10px;background:repeating-linear-gradient(90deg,var(--mustard) 0 28px,var(--coral) 28px 50px,var(--sage) 50px 80px,#9aa7d6 80px 104px);opacity:.85}

/* article */
.crumbs{font-size:14px;color:var(--ink-soft);margin:22px 0 4px}
.crumbs a{color:var(--ink-soft)}
h1{font:700 clamp(30px,6vw,42px)/1.15 var(--serif);color:var(--navy);margin:6px 0 14px;letter-spacing:-.3px}
h2{font:700 26px/1.25 var(--serif);color:var(--navy);margin:42px 0 10px}
h3{font:700 19px/1.3 var(--sans);margin:22px 0 6px}
.meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.chip{font-size:13px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:3px 11px;color:var(--ink-soft)}
.lead{font-size:20px}

/* video facade */
.video{position:relative;border-radius:var(--radius);overflow:hidden;background:#000;aspect-ratio:16/9;margin:22px 0 8px;box-shadow:0 10px 30px rgba(31,42,77,.18)}
.video button{all:unset;cursor:pointer;position:absolute;inset:0;display:block}
.video img{width:100%;height:100%;object-fit:cover}
.video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:rgba(232,115,90,.95);display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.3);transition:transform .15s}
.video button:hover .play,.video button:focus-visible .play{transform:translate(-50%,-50%) scale(1.07)}
.video .play::after{content:"";margin-left:6px;border-left:26px solid #fff;border-top:16px solid transparent;border-bottom:16px solid transparent}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-note{font-size:13px;color:var(--ink-soft);margin:0 0 6px}

/* lyrics */
.lyrics{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px 24px 18px}
.lyrics p{margin:14px 0}
.tag{display:inline-block;font:600 12px/1 var(--sans);letter-spacing:.4px;text-transform:uppercase;background:var(--paper-2);color:var(--ink-soft);border-radius:6px;padding:4px 8px;margin-top:14px}

/* use-it-tonight box */
.tonight{background:var(--navy);color:#f6efe1;border-radius:var(--radius);padding:6px 24px 18px;margin-top:42px}
.tonight h2,.tonight h3{color:#fff}
.tonight a{color:var(--mustard)}
.tonight li{margin:6px 0}

/* coloring */
.coloring{border:2px dashed var(--mustard);border-radius:var(--radius);padding:18px 22px;margin:34px 0;background:#fffaf0}
.coloring h2{margin-top:6px}
.dl{display:flex;gap:10px;flex-wrap:wrap}
.dl a{background:var(--mustard);color:var(--navy);text-decoration:none;font-weight:700;border-radius:12px;padding:10px 16px}
.dl a.bw{background:#fff;border:2px solid var(--navy)}
.pending{font-size:14px;color:var(--ink-soft)}

/* next */
.next{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-left:6px solid var(--coral);border-radius:14px;padding:16px 18px;margin:30px 0}
.next strong{display:block;font:700 19px/1.3 var(--serif);color:var(--navy)}

/* related */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:10px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.card small{display:block;color:var(--ink-soft);font-size:13px;margin-bottom:4px}
.card b{font:700 17px/1.3 var(--serif);color:var(--navy)}
.themes{margin-top:14px;font-size:15px}

/* fixed bottom area: request box + small subscribe */
.ask{background:var(--paper-2);border-top:1px solid var(--line);margin-top:56px;padding:34px 0}
.ask h2{margin-top:0}
.ask form{display:grid;gap:10px}
.ask textarea,.ask input[type=email]{width:100%;font:16px/1.4 var(--sans);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ask textarea{min-height:90px}
.ask label.check{display:flex;gap:8px;align-items:flex-start;font-size:15px}
.ask .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ask button{background:var(--navy);color:#fff;border:0;border-radius:12px;padding:12px 18px;font:700 16px var(--sans);cursor:pointer}
.ask .fine{font-size:13px;color:var(--ink-soft)}
.sub-small{font-size:15px;margin-top:16px}

.site-foot{background:var(--navy);color:#cfd5ea;font-size:14px;padding:26px 0}
.site-foot a{color:#fff}
.site-foot .wrap{max-width:1040px;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}

@media (max-width:560px){
  body{font-size:17px}
  .nav{width:100%;margin-left:0;gap:14px;overflow-x:auto}
  .next{flex-direction:column;align-items:flex-start}
}

.chip.jump{background:var(--mustard);border-color:var(--mustard);color:var(--navy);font-weight:700;text-decoration:none}
.hero{padding:6px 0 4px}.hero p{font-size:19px;max-width:640px}
.lead{font-size:18px;color:var(--ink-soft);max-width:640px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:12px 0 8px}
.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink)}
.tile img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.tile span{display:block;padding:12px 14px}
.tile small{display:block;color:var(--ink-soft);font-size:13px;margin-bottom:4px}
.tile b{font:700 17px/1.3 var(--serif);color:var(--navy)}
.tile:hover{border-color:var(--mustard)}
.ask-mail{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.btn-ask{background:var(--navy);color:#fff;border-radius:12px;padding:12px 18px;font:700 16px var(--sans);text-decoration:none}
.ask-mail span{color:var(--ink-soft)}
