/* Educating Edgar shared styles */
@font-face {
  font-family: "EduFoundation";
  src: url("fonts/EduNSWACTFoundation.woff2") format("woff2");
  font-weight: 400 700; font-display: block;
}
:root {
  --bg: #FFF4E0; --bg2: #FFE7C2; --ink: #4A3B32; --orange: #FF9F43; --coral: #FF7B6B;
  --teal: #2EC4B6; --sun: #FFD166; --grape: #9B7BE5; --leaf: #7BC96F; --sky: #5DB7E8;
  --safe-t: env(safe-area-inset-top, 0px); --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-l: env(safe-area-inset-left, 0px); --safe-r: env(safe-area-inset-right, 0px);
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body {
  margin: 0; height: 100%; width: 100%; overflow: hidden; position: fixed; inset: 0;
  overscroll-behavior: none; background: var(--bg); color: var(--ink);
  font-family: "EduFoundation", "Andika", "Comic Sans MS", system-ui, sans-serif;
  -webkit-user-select: none; user-select: none; -webkit-touch-callout: none;
  touch-action: none; -webkit-text-size-adjust: 100%;
}
img, svg { -webkit-user-drag: none; user-select: none; pointer-events: none; }
button { font: inherit; color: inherit; border: 0; cursor: pointer; touch-action: none; }
.screen {
  position: absolute; inset: 0;
  padding: calc(var(--safe-t) + 16px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);
  background: radial-gradient(circle at 20% 10%, #FFF9EE 0, var(--bg) 40%, var(--bg2) 100%);
}
/* Big round icon buttons (home etc.) */
.round-btn {
  width: 96px; height: 96px; border-radius: 50%; background: #fff; display: grid; place-items: center;
  box-shadow: 0 6px 0 rgba(74,59,50,.18), 0 10px 24px rgba(74,59,50,.12); transition: transform .12s;
}
.round-btn:active { transform: translateY(4px) scale(.96); box-shadow: 0 2px 0 rgba(74,59,50,.18); }
.round-btn svg { width: 60px; height: 60px; }
.home-btn { position: absolute; z-index: 20; top: calc(var(--safe-t) + 16px); left: calc(var(--safe-l) + 16px); }
.hidden { display: none !important; }
@keyframes pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }
@keyframes wiggle { 0%,100% { transform: translateX(0) rotate(0); } 20% { transform: translateX(-12px) rotate(-6deg); } 40% { transform: translateX(10px) rotate(5deg); } 60% { transform: translateX(-8px) rotate(-3deg); } 80% { transform: translateX(5px) rotate(2deg); } }
@keyframes pop { 0% { transform: scale(1); } 40% { transform: scale(1.18); } 100% { transform: scale(1); } }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.wiggle { animation: wiggle .5s ease-in-out; }
.pop { animation: pop .45s ease-out; }
#confetti { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 40; }
@media (prefers-reduced-motion: reduce) { .float { animation: none !important; } }

/* shared game chrome (used by games via Edgar.gameButtons) */
#game-view .again-btn { position: absolute; z-index: 20; top: calc(var(--safe-t) + 16px); right: calc(var(--safe-r) + 16px); }
#game-view .stars { position: absolute; top: calc(var(--safe-t) + 30px); left: 50%; transform: translateX(-50%); display: flex; gap: 6px; height: 64px; z-index: 5; pointer-events: none; }
#game-view .stars svg { width: 56px; height: 56px; }

/* ---------- parent feedback form (grown-ups corner + /feedback/) ---------- */
.fb-form { font-family: system-ui, -apple-system, sans-serif; display: grid; gap: 10px; -webkit-user-select: text; user-select: text; }
.fb-form fieldset { border: 0; padding: 0; margin: 0; }
.fb-form legend { font-size: 18px; font-weight: 600; padding: 0 0 4px; }
.fb-form .fb-cats label { display: flex; align-items: center; gap: 12px; min-height: 48px; font-size: 18px; }
.fb-form input[type=radio] { width: 28px; height: 28px; accent-color: var(--orange); }
.fb-form .fb-block, #panel .fb-form .fb-block { display: grid; gap: 6px; font-size: 18px; padding: 4px 0; align-items: stretch; }
.fb-form textarea, .fb-form input[type=email] { font: 18px system-ui, sans-serif; padding: 12px; border: 2px solid #e8d6c0; border-radius: 14px; width: 100%; background: #fffdf9; color: var(--ink); touch-action: manipulation; -webkit-user-select: text; user-select: text; }
.fb-form textarea:focus, .fb-form input:focus { outline: 3px solid var(--orange); border-color: transparent; }
.fb-form .fb-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fb-form .fb-send, .fb-page .btn, #fb-open { touch-action: manipulation; padding: 14px 22px; border-radius: 14px; background: var(--orange); color: #fff; font-size: 18px; font-weight: 600; min-height: 56px; justify-self: start; }
#fb-open { background: #f3e7d8; color: var(--ink); }
.fb-form .fb-send:disabled { opacity: .6; }
.fb-status { min-height: 1.4em; margin: 0; font-size: 18px; }
.fb-status.ok { color: #2e7d4f; font-weight: 600; } .fb-status.warn { color: #a3501b; }
.fb-note { font-family: system-ui, sans-serif; font-size: 18px; }
.fb-page .small, .fb-form .small { color: #8a786a; font-size: 14px; }
