:root {
  --bg: #f3f6ee;
  --paper: #fffef9;
  --ink: #203b32;
  --muted: #617368;
  --green: #245c46;
  --line: #dce4d7;
  --gold: #e5bd74;
  --red: #ad4d44;
  --button-bg: #FEEFC7;
  --button-ink: #204C53;
  --shadow: 0 18px 54px #28442d0b, 0 2px 8px #28442d04;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--ink);
  background: var(--bg);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 0; }
button { font: inherit; cursor: pointer; touch-action: manipulation; }
button:disabled { cursor: default; }
button:focus-visible { outline: 3px solid #bc851d; outline-offset: 5px; }
button, img { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; height: auto; }
button, div, p, h1, h2, h3 { overflow-wrap: anywhere; }
p, h1, h2, h3 { margin: 0; }
h1, h2, h3 { font-weight: 700; }
svg { display: block; flex-shrink: 0; }
::selection { background: #d8e6b9; color: var(--ink); }
.shell { width: min(1240px, calc(100% - 96px)); margin: auto; }
.page-glow {
  position: absolute; z-index: -1; top: 0; right: 0;
  width: 100%; height: 920px; pointer-events: none;
  background: radial-gradient(ellipse at 86% 26%, #e2ecd0 0, transparent 54%),
    radial-gradient(ellipse at 4% 56%, #fcf2db80 0, transparent 46%);
}
@keyframes rise-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes picture-in { from { opacity: 0; transform: rotate(0deg) translateY(14px); } to { opacity: 1; transform: rotate(1.2deg); } }
@keyframes answer-in { from { transform: scale(.985); } to { transform: scale(1); } }

