:root{color-scheme:light;--cream:#faf6f0;--paper:#fffaf1;--ink:#2b1d0f;--muted:#6b5235;--gold:#b8802a;--border:#d4c49a}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Segoe UI",system-ui,sans-serif;line-height:1.55}
a{color:var(--muted)}
.site-header{max-width:920px;margin:auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}
.brand{font-family:Georgia,serif;font-size:25px;text-decoration:none;color:var(--ink)}
main{max-width:820px;margin:auto;padding:26px 22px 32px}
.eyebrow{font-size:13px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;color:var(--muted)}
h1{font-family:Georgia,serif;font-size:clamp(30px,6vw,44px);line-height:1.15;margin:10px 0 16px}
.reference{font-weight:700;color:var(--muted)}
.question{padding:16px;background:var(--paper);border-left:4px solid var(--gold);border-radius:0 10px 10px 0}
.controls{margin:24px 0}
fieldset{border:0;margin:0;padding:0}
legend{font-weight:700;margin-bottom:10px}
.choices{display:flex;gap:12px;flex-wrap:wrap}
.choices label{flex:1;min-width:230px;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--paper);cursor:pointer}
.choices input{width:20px;height:20px;accent-color:var(--gold);flex-shrink:0}
.choices small{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.choices label:has(input:checked){border:2px solid var(--gold);padding:13px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
button,.button{font:inherit;font-weight:700;min-height:46px;padding:10px 16px;border:1px solid var(--gold);border-radius:10px;background:var(--gold);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.button,.secondary{background:var(--paper);color:var(--ink)}
button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid #2559a7;outline-offset:4px}
.print-tip,#page-status{font-size:14px;color:var(--muted)}
#page-status{min-height:1.55em}
[hidden]{display:none!important}
#manual-copy label{display:block;font-weight:700;margin-bottom:6px}
#share-link{width:100%;min-height:46px;font:inherit;padding:10px;border:1px solid var(--border);border-radius:8px}
#scene-choice{margin-bottom:18px}
#scene-choice label{display:block;font-weight:700;margin-bottom:6px}
#coloring-scene{min-height:46px;max-width:100%;font:inherit;padding:10px;background:var(--paper);color:var(--ink);border:1px solid var(--border);border-radius:8px}
.print-sheet{margin:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 30px #2b1d0f18;overflow:hidden}
.print-sheet img{width:100%;height:auto;display:block}
figcaption{padding:12px 16px;color:var(--muted);font-size:14px;background:var(--paper)}
footer{text-align:center;max-width:820px;margin:auto;padding:22px;color:var(--muted);font-size:13px}
@media(max-width:420px){main{padding:22px 14px}.site-header{padding:16px 14px;font-size:14px}.actions>*{flex:1 1 145px}.choices label{min-width:100%}}
@page{size:portrait;margin:10mm}
@media print{
  html,body{background:#fff;margin:0;padding:0}
  .site-header,.page-intro,.controls,footer,figcaption{display:none!important}
  main{max-width:none;margin:0;padding:0}
  .print-sheet{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible;break-inside:avoid;page-break-inside:avoid}
  .print-sheet img{display:block;width:auto;height:auto;max-width:190mm;max-height:250mm;object-fit:contain;margin:0 auto}
}
