/* LearnGDW shared theme — imported by every module + the hub.
   Palette, base layout, footer, and shared kbd / hint components.
   Page-specific styles live in each page's own stylesheet. */
:root{
  /* painting-style palette (see Reference-Images/PAINTING-STYLE.md) */
  --paper:#FBF7EF;
  --paper-2:#F3ECDD;
  --ink:#16403A;
  --ink-soft:#4A6B63;
  --jade:#DCEAE2;
  --persimmon:#E8643C;
  --persimmon-dim:#c9522d;
  --amber:#C2922B;
  --line:#E7DECC;
  --card:#FFFDF8;
  /* soft pastels pulled from the cover painting */
  --peach:#F6D6BC;
  --peach-deep:#EBB48E;
  --mint:#CFE7D7;
  --mint-deep:#A6CDB4;
  --sky:#CBDDEC;
  --sky-deep:#9EBFD6;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:'Quicksand',system-ui,sans-serif;
  background:radial-gradient(120% 70% at 50% -10%, var(--paper-2) 0%, var(--paper) 55%) fixed;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100svh;
  display:flex;justify-content:center;
  padding:max(20px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));
}
.wrap{width:100%;max-width:480px;margin:auto;display:flex;flex-direction:column;gap:18px}

/* ---------- shared keyboard hints ---------- */
kbd{
  font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.4;color:var(--ink);
  background:var(--paper-2);border:1px solid var(--line);border-bottom-width:2px;
  border-radius:6px;padding:1px 7px;
}
.hint{
  text-align:center;font-family:'Quicksand';font-weight:600;font-size:12px;
  color:var(--ink-soft);opacity:.85;margin:0;transition:opacity .15s ease;
}
.hint[hidden]{display:none}
/* shortcuts are inactive while a text box has focus -> dim hints then */
body.typing .hint{opacity:.28}

/* ---------- shared footer ---------- */
footer{
  text-align:center;font-family:'Quicksand';font-weight:500;font-size:12px;
  color:var(--ink-soft);opacity:.8;margin-top:4px;
}
footer .heart{color:var(--persimmon)}

@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
