/* ficklestudio26 · Easy games: big buttons, big text, high contrast, no timers (builds on /timer/timer.css) */
.timer { padding:clamp(14px,3vw,28px); }
.e-bar { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; align-items:center; margin:0 0 14px; }
.e-btn { min-height:60px; padding:12px 26px; border:3px solid #1d1d22; border-radius:16px; background:#fff; font:800 22px system-ui,sans-serif; color:#1d1d22; cursor:pointer; }
.e-btn:hover { background:#fff4e6; } .e-btn.primary { background:#e8590c; border-color:#e8590c; color:#fff; } .e-btn.primary:hover { background:#d9480f; }
.e-sel { min-height:60px; padding:10px 14px; border:3px solid #1d1d22; border-radius:16px; font:700 20px system-ui,sans-serif; background:#fff; color:#1d1d22; }
.e-lab { display:flex; gap:10px; align-items:center; font:800 20px system-ui,sans-serif; }
.e-status { font:800 clamp(22px,4vw,30px) system-ui,sans-serif; text-align:center; margin:10px 0; min-height:1.4em; }
.e-win { margin:16px auto; padding:20px; background:#d3f9d8; border:4px solid #2f9e44; border-radius:20px; text-align:center; max-width:640px; }
.e-win strong { display:block; font:800 clamp(26px,5vw,38px) system-ui,sans-serif; color:#1f6b30; margin-bottom:12px; }
.e-note { font:700 20px system-ui,sans-serif; color:#1d1d22; text-align:center; margin:6px 0 12px; }
.e-hint { font:700 24px system-ui,sans-serif; color:#5b5b66; }
/* memory */
.e-grid { display:grid; grid-template-columns:repeat(var(--cols,4),1fr); gap:clamp(8px,2vw,16px); max-width:640px; margin:0 auto; }
.e-card { aspect-ratio:1; position:relative; border:4px solid #1d1d22; border-radius:18px; background:#e8590c; color:#fff; cursor:pointer; padding:0; font-size:clamp(34px,10vw,72px); }
.e-card .f, .e-card .b { position:absolute; inset:0; display:grid; place-items:center; border-radius:14px; }
.e-card .f { background:#fff; opacity:0; } .e-card .b { font-weight:800; font-size:.65em; }
.e-card.up .f, .e-card.done .f { opacity:1; } .e-card.up .b, .e-card.done .b { opacity:0; } .e-card.done { border-color:#2f9e44; } .e-card.done .f { background:#d3f9d8; }
/* jigsaw */
.e-board { display:grid; grid-template-columns:repeat(var(--cols,3),1fr); gap:3px; max-width:640px; margin:0 auto; background:#1d1d22; padding:3px; border-radius:12px; }
.e-piece { border:4px solid transparent; padding:0; cursor:pointer; background-repeat:no-repeat; aspect-ratio:4/3; }
.e-piece.ok { border-color:#40c057; } .e-piece.sel { border-color:#e8590c; outline:4px solid #fff; outline-offset:-8px; transform:scale(.96); }
.e-ref { display:block; max-width:320px; width:100%; margin:12px auto; border:4px solid #1d1d22; border-radius:12px; }
/* bingo */
.e-callbox { min-height:250px; display:grid; place-items:center; background:#fff4e6; border:4px solid #e8590c; border-radius:24px; margin:0 auto 14px; max-width:520px; text-align:center; }
.e-letter { display:block; font:800 clamp(48px,12vw,90px)/1 system-ui,sans-serif; color:#5b5b66; } .e-num { display:block; font:800 clamp(110px,32vw,220px)/1 system-ui,sans-serif; color:#d9480f; }
.e-bingo { max-width:760px; margin:14px auto 0; } .e-row { display:grid; grid-template-columns:34px repeat(15,1fr); gap:3px; margin:3px 0; align-items:center; }
.e-row b { font:800 22px system-ui,sans-serif; text-align:center; } .e-bn { text-align:center; padding:6px 0; border:2px solid #dee2e6; border-radius:6px; font:700 clamp(11px,2.2vw,18px) system-ui,sans-serif; color:#868e96; background:#fff; }
.e-bn.on { background:#2f9e44; border-color:#1f6b30; color:#fff; } .e-bn.last { background:#e8590c; border-color:#d9480f; color:#fff; }
@media (max-width:620px) { .e-row { grid-template-columns:22px repeat(15,1fr); gap:2px; } .e-bn { padding:3px 0; font-size:10px; } }
/* sudoku */
.e-sgrid { display:grid; grid-template-columns:repeat(var(--n),1fr); max-width:min(100%,560px); margin:0 auto; border:4px solid #1d1d22; background:#1d1d22; gap:2px; }
.e-cell { aspect-ratio:1; border:0; background:#fff; font:700 clamp(24px,7vw,46px) system-ui,sans-serif; color:#1971c2; cursor:pointer; padding:0; }
.e-cell.given { color:#1d1d22; background:#f1f3f5; font-weight:800; } .e-cell.sel { background:#ffe066; } .e-cell.wrong { background:#ffc9c9; color:#c92a2a; }
.e-cell.rb { margin-right:3px; } .e-cell.bb { margin-bottom:3px; }
.e-pad { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin:14px auto; max-width:760px; }
.e-num-btn { min-width:60px; min-height:64px; border:3px solid #1d1d22; border-radius:14px; background:#fff; font:800 28px system-ui,sans-serif; cursor:pointer; } .e-num-btn.erase { font-size:20px; padding:0 14px; } .e-num-btn:hover { background:#fff4e6; }
/* tic-tac-toe */
.e-ttt { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; max-width:420px; margin:0 auto; background:#1d1d22; padding:8px; border-radius:16px; }
.e-t { aspect-ratio:1; border:0; background:#fff; font:800 clamp(56px,16vw,110px) system-ui,sans-serif; cursor:pointer; border-radius:8px; } .e-t.X { color:#e8590c; } .e-t.O { color:#1971c2; }
/* hangman */
.e-fig { width:min(100%,280px); display:block; margin:0 auto; } .e-fig .g { stroke:#1d1d22; stroke-width:8; stroke-linecap:round; } .e-fig .p { stroke:#c92a2a; stroke-width:7; stroke-linecap:round; fill:none; }
.e-word { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:14px 0; } .e-l { min-width:clamp(34px,9vw,58px); text-align:center; font:800 clamp(34px,9vw,56px) system-ui,sans-serif; border-bottom:6px solid #1d1d22; padding:0 4px; }
.e-kb { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; max-width:560px; margin:0 auto; } .e-key { min-height:58px; border:3px solid #1d1d22; border-radius:12px; background:#fff; font:800 26px system-ui,sans-serif; cursor:pointer; }
.e-key.good { background:#d3f9d8; border-color:#2f9e44; color:#1f6b30; } .e-key.bad { background:#ffe3e3; border-color:#c92a2a; color:#c92a2a; } .e-key:disabled { cursor:default; }
/* sliding puzzle */
.e-slide { display:grid; grid-template-columns:repeat(var(--n),1fr); gap:8px; max-width:440px; margin:0 auto; background:#1d1d22; padding:8px; border-radius:16px; }
.e-tile { aspect-ratio:1; border:0; background:#ffd8a8; font:800 clamp(44px,13vw,84px) system-ui,sans-serif; color:#1d1d22; border-radius:10px; cursor:pointer; } .e-tile:hover { background:#ffc078; } .e-gap { background:#343a40; border-radius:10px; }
/* keep adverts well away from the play area (older players can tap them by mistake) */
.ad-slot { margin:72px 0 !important; padding-top:12px; border-top:2px dashed #dee2e6; }
.hub-g { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; }
.hub-g a { display:block; padding:22px; background:#fff4e6; border:3px solid #e8590c; border-radius:20px; text-decoration:none; color:#1d1d22; text-align:left; }
.hub-g strong { display:block; font:800 26px system-ui,sans-serif; color:#d9480f; } .hub-g span { font:600 18px/1.4 system-ui,sans-serif; }
