/* なぞほん(/nazohon/)だけの見た目(2026/10/19 ★ハミルトン T16)。色・フォントは island.css の :root(--ink/--sky/--pink/--yellow/--cream/--green/--purple・M PLUS Rounded 1c)を使う。island.css・arcade.css は変えない
   作り: 上に空色の帯(題)→ クリームの上に白いページ(濃い枠・ずらした影)→ 下に丸い前後ボタンとページ数。ページ幅は最大 440px。スマホは画面幅に収める
   ブランド色 #005bac は「保護者の方へ」用なので、ここでは使わない。演出は色が変わるだけ(大きな動きなし)。色だけで意味を伝えない(文字・枠・位置でも分かる) */
.nz{font-weight:700;color:var(--ink)}
.nz-hero{background:var(--sky);color:#fff;padding:120px 20px 110px;text-align:center}
.nz-hero-inner{max-width:440px;margin:auto}
.nz-eyebrow{font-size:12px;letter-spacing:.2em;font-weight:900;margin:0 0 12px;color:#fff9df}
.nz-hero h1{font-size:clamp(40px,9vw,60px);line-height:1.2;margin:0;letter-spacing:.04em;paint-order:stroke fill;-webkit-text-stroke:8px var(--ink);text-shadow:4px 6px 0 var(--ink)}
.nz-lead{font-size:16px;margin:18px 0 0;line-height:1.8}
.nz-sub{display:inline-block;margin:12px 0 0;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);border-radius:50px;padding:6px 16px;font-size:12px;font-weight:900;line-height:1.5}
.nz-book{background:var(--cream);padding:0 16px 70px}
.nz-inner{max-width:440px;margin:-80px auto 0}
.nz-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px}
.nz-state{margin:0;background:#fff;border:3px solid var(--ink);border-radius:50px;padding:8px 18px;font-size:14px;font-weight:900;box-shadow:0 4px 0 var(--ink);min-height:44px;display:flex;align-items:center}
#nz-toc-toggle{background:#fffdf0;border:3px solid var(--ink);border-radius:50px;padding:8px 16px;font-weight:900;font-size:13px;box-shadow:0 4px 0 var(--ink);min-height:44px;display:flex;align-items:center;gap:8px}
#nz-toc-toggle b{font-size:17px}
#nz-toc-toggle[aria-expanded="true"]{background:var(--yellow)}
.nz-toc{background:#fff7d4;border:3px solid var(--ink);border-radius:20px;padding:14px 16px;margin:0 0 14px;box-shadow:5px 5px #1c3b5350}
.nz-toc ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.nz-toc button{width:100%;text-align:left;background:#fff;border:2px solid var(--ink);border-radius:12px;padding:10px 14px;font-weight:700;font-size:14px;min-height:44px}
.nz-toc button[aria-current="page"]{background:var(--yellow);font-weight:900}
.nz-toc button[aria-current="page"]::before{content:"▶ "}
.nz-stage{position:relative;outline-offset:8px}
.nz-stage:focus-visible{outline:4px solid #152f78}
.nz-page{background:#fff;border:4px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 var(--ink);overflow:hidden;position:relative}
.nz-book:not(.is-ready) .nz-page{margin-bottom:28px}
.nz-book:not(.is-ready) .nz-top,.nz-book:not(.is-ready) .nz-controls,.nz-book:not(.is-ready) .nz-hint{display:none}
.nz-figure{margin:0;aspect-ratio:4/5;background:#fff}
.nz-figure img{width:100%;height:100%;object-fit:contain}
.nz-page.is-loading .nz-figure img{visibility:hidden}
.nz-sheet{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:30px 22px 34px;text-align:center}
.nz-sheet-head{margin:0;background:var(--sky);color:#fff;border:3px solid var(--ink);border-radius:50px;padding:6px 20px;font-size:15px;font-weight:900}
.nz-answer .nz-sheet-head{background:var(--pink)}
.nz-text{margin:0;font-size:clamp(18px,5vw,22px);line-height:1.9;font-weight:700;overflow-wrap:anywhere}
.nz-think{margin:0;font-size:13px;line-height:1.8;color:#4b5b76}
.nz-answer-word{margin:0;font-size:clamp(46px,15vw,66px);line-height:1.3;font-weight:900;letter-spacing:.08em;background:linear-gradient(transparent 62%,var(--yellow) 62%);padding:0 10px}
.nz-letters{margin:0;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;font-weight:900;font-size:17px}
.nz-letters span{background:#fff7d4;border:2px solid var(--ink);border-radius:12px;padding:6px 12px;letter-spacing:.06em}
.nz-letters b{font-size:22px}
.nz-loading,.nz-error{margin:0;position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;padding:16px;font-size:14px;font-weight:900}
.nz-retry{display:inline-flex;align-items:center;margin:10px auto 0;background:var(--yellow);border:3px solid var(--ink);border-radius:50px;padding:8px 18px;font-weight:900;font-size:14px;box-shadow:0 4px 0 var(--ink);min-height:44px}
.nz-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}
.nz-round{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;min-width:56px;border-radius:50px;border:4px solid var(--ink);background:#fff;font-weight:900;font-size:16px;padding:12px 20px;box-shadow:0 6px 0 var(--ink);transition:transform .2s,box-shadow .2s;white-space:nowrap}
.nz-round:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 9px 0 var(--ink)}
.nz-round:disabled{opacity:.4;box-shadow:0 6px 0 var(--ink)}
.nz-next{background:var(--yellow)}
.nz-count{margin:0;font-weight:900;font-size:16px;white-space:nowrap}
.nz-hint{margin:16px 0 0;text-align:center;font-size:12px;color:#4b5b76}
.nz-back{text-align:center;margin:34px 0 0;font-size:14px}
.nz-back a{font-weight:900;border-bottom:2px solid;padding-bottom:2px}
@media(prefers-reduced-motion:reduce){.nz-round{transition:none}.nz-round:hover:not(:disabled){transform:none}}
.motion-off .nz-round{transition:none}
@media(max-width:480px){.nz-hero{padding:100px 16px 100px}.nz-round{font-size:14px;padding:12px 14px}.nz-hint{display:block}}
@media(min-width:481px){.nz-hint{display:none}}
