.fg-tools{position:fixed;inset:auto 8px max(8px,env(safe-area-inset-bottom));z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none;font-family:Nunito,system-ui,sans-serif}
@font-face{font-family:Fredoka;src:url('fonts/fredoka.ttf') format('truetype');font-weight:300 700;font-display:swap}@font-face{font-family:Nunito;src:url('fonts/nunito.ttf') format('truetype');font-weight:200 1000;font-display:swap}
.fg-tools[hidden]{display:none}.fg-tools button{pointer-events:auto;min-width:48px;min-height:44px;padding:8px;border:2px solid #e7c36a;border-radius:20px;background:#fff6e8;color:#6b4a86;font-weight:800;font-size:12px}.fg-tools .fg-share{margin:auto;max-width:160px}
.fg-dialog{box-sizing:border-box;width:min(430px,calc(100% - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:18px;border:2px solid #e7c36a;border-radius:24px;background:#fff6e8;color:#5b3a78;font:600 15px/1.5 Nunito,system-ui,sans-serif;box-shadow:0 14px 50px #45205840;overscroll-behavior:contain;overflow:auto;touch-action:pan-y;user-select:text;-webkit-user-select:text}
.fg-dialog::backdrop{background:#35164480}.fg-dialog-head{display:flex;align-items:center;gap:12px}.fg-dialog h2{flex:1;font:700 24px/1.15 Fredoka,Trebuchet MS,sans-serif;margin:0}.fg-dialog h3{font-size:17px}.fg-dialog button,.fg-dialog a.fg-action{box-sizing:border-box;min-height:44px;border:0;border-radius:18px;padding:10px 14px;background:#c45a8c;color:white;font:800 14px/1.4 Nunito,system-ui,sans-serif;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.fg-dialog .secondary{background:#cfe8ff;color:#493466}.fg-dialog button:disabled{opacity:.55}.fg-dialog .fg-close{min-width:44px;flex-shrink:0;background:#cfe8ff;color:#493466;padding:9px}.fg-dialog select,.fg-dialog textarea{box-sizing:border-box;display:block;width:100%;min-height:44px;margin:6px 0 14px;border:2px solid #cbaedf;border-radius:14px;padding:10px;background:white;color:#493466;font:600 16px/1.4 Nunito,system-ui,sans-serif;touch-action:pan-y;user-select:text;-webkit-user-select:text}.fg-dialog textarea{min-height:120px;resize:vertical}.fg-dialog label{display:block;font-weight:800}.fg-dialog p{margin:12px 0}.fg-dialog .fg-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.fg-dialog a{color:#6b4a86}.fg-status{font-size:14px;color:#6b4a86;min-height:1.5em}.fg-practice{display:block;width:100%;height:min(36dvh,270px);border-radius:18px;background:#e4c4f6;touch-action:none;outline-offset:3px}.fg-practice-note{font-size:12px;text-align:center}.fg-dialog :focus-visible,.fg-tools :focus-visible{outline:3px solid #593779;outline-offset:3px}.fg-practice-complete{color:#85335d;font-weight:800}@media(prefers-reduced-motion:reduce){.fg-dialog,.fg-tools{scroll-behavior:auto}}
.fg-practice{height:auto;aspect-ratio:21/16}.fg-dialog-head{position:sticky;top:-18px;z-index:1;background:#fff6e8;padding:8px 0}.fg-dialog [hidden]{display:none!important}@media(max-height:500px){.fg-practice{max-width:220px;margin:auto}.fg-dialog .fg-actions{position:sticky;bottom:-18px;padding:10px 0;background:#fff6e8}}
html.fg-overlay-open,html.fg-overlay-open body{touch-action:pan-y}#game{touch-action:none}
