/* October 19-23: the pond week. Cream paper, deep green ink, pond blue, lily pads, yellow pills.
   The same frame as the Oct 12 garden page: phone first, one column up to 560px, and a sideways phone gets two
   columns (prompt and picture on the left, controls on the right) so nothing hides below the fold. */
:root{--paper:#f3f4e6;--card:#fffaf0;--ink:#173f2a;--pond:#2f7f86;--pond2:#1f5f66;--water:#bfe3ea;--leaf:#2f6b3a;--leaf2:#3f8f4f;--soft:#e3eee6;--sun:#ffd65a;--sun2:#e9b73a;--line:#d6d3bd;--bad:#c9482b;--red:#e8523a;--blue:#3f7fd0;--r:22px;
  --font:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Nunito","Fredoka",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:700;line-height:1.3;min-height:100vh;min-height:100dvh;overflow-x:hidden}
button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:disabled{cursor:default}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;border-radius:12px;z-index:30}.skip:focus{left:10px;top:10px}
:focus-visible{outline:4px solid #1d6fd6;outline-offset:3px}
.reeds{position:fixed;width:clamp(74px,19vw,150px);height:auto;pointer-events:none;z-index:0}
.reeds.tl{left:0;top:0}.reeds.tr{right:0;top:0;transform:scaleX(-1)}
.reeds.bl{left:0;bottom:0;transform:scaleY(-1)}.reeds.br{right:0;bottom:0;transform:scale(-1,-1)}
.page{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 16px calc(26px + env(safe-area-inset-bottom))}

/* ---- hub ---- */
.week-head{text-align:center;padding:10px 46px 4px}
.eyebrow{margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#3f6a66}
.week-head h1{margin:2px 0 10px;font-size:clamp(30px,8.6vw,44px);font-weight:900;line-height:1.02;letter-spacing:-.01em}
.pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pill{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;font-size:15px}
.pill[aria-pressed="false"]{background:#ece6d3;color:#5d6f62}
.mission{display:flex;align-items:center;gap:14px;width:100%;margin:16px 0 6px;padding:16px 18px;border:0;border-radius:var(--r);background:var(--pond);color:#fff;text-align:left;box-shadow:0 6px 0 var(--pond2)}
.mission:active{transform:translateY(3px);box-shadow:0 3px 0 var(--pond2)}
.mission .m-art{flex:none;width:58px;height:58px;border-radius:50%;background:#fff7e0;display:grid;place-items:center;font-size:32px}
.mission small{display:block;font-size:14px;opacity:.92;font-weight:700}
.mission strong{display:block;font-size:22px;font-weight:900;line-height:1.1}
.mission b{margin-left:auto;font-size:26px}
.section-title{margin:20px 2px 8px;font-size:18px;font-weight:900}
.game-grid{display:grid;gap:12px}
.game-card{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:12px;width:100%;padding:12px 14px;border:2px solid var(--line);border-radius:var(--r);background:var(--card);text-align:left;box-shadow:0 4px 0 #dcd8c0}
.game-card:active{transform:translateY(2px);box-shadow:0 2px 0 #dcd8c0}
.game-card .frogstage{width:76px;height:84px}
.game-card strong{display:block;font-size:22px;font-weight:900;line-height:1.1}
.game-card small{display:block;font-size:15px;color:#3f6a66;margin-top:2px}
.lilydots{display:flex;gap:5px;margin-top:6px;align-items:center;font-size:13px;color:#3f6a66}
.lilydots i{width:16px;height:12px;border-radius:50%;background:#e1dcc7;clip-path:polygon(0 0,100% 0,100% 40%,55% 50%,100% 62%,100% 100%,0 100%)}.lilydots i.on{background:var(--leaf2)}
.lilydots span{margin-left:6px}
.together-grid{display:grid;gap:10px}
.tg-card{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;width:100%;padding:12px 14px;border:2px dashed #9cc4c8;border-radius:var(--r);background:#e9f3ef;text-align:left}
.tg-card .tg-pic{width:52px;height:52px;border-radius:16px;background:#fff7e0;display:grid;place-items:center;font-size:28px}
.tg-card strong{display:block;font-size:18px;font-weight:900}.tg-card small{display:block;font-size:14px;color:#3f6a66}
.tg-card.did{border-style:solid;border-color:var(--pond)}
.grownup{margin-top:16px;padding:12px 16px;border-radius:var(--r);background:#e8e8d6;font-weight:600;font-size:15px}
.grownup summary{font-weight:900;font-size:16px;cursor:pointer;line-height:44px}
.grownup p{margin:10px 0}
.quiet{min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid var(--line);background:#fff;font-size:15px}
footer{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:15px}
footer a{color:var(--pond2);padding:10px 2px}

/* ---- inside a game ---- */
.act-head{display:grid;grid-template-columns:1fr auto;align-items:start;gap:8px;padding:2px 0 0 0;min-height:60px}
.act-head h1{margin:0;padding:6px 6px 0 52px;font-size:clamp(26px,7.4vw,36px);font-weight:900;line-height:1.02;text-align:center}
.done{min-height:48px;padding:8px 20px;border-radius:999px;border:2px solid var(--sun2);background:var(--sun);font-size:18px;font-weight:900;box-shadow:0 3px 0 var(--sun2)}
#play{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding-top:8px}
.ask{margin:6px 0 0;font-size:clamp(24px,6.6vw,32px);font-weight:900;text-align:center;line-height:1.1}
.ask.riddle{font-size:clamp(20px,5.4vw,26px);line-height:1.2}
.say{margin:0;text-align:center;font-size:17px;color:#2f5a4a;min-height:22px}
.say.bad{color:var(--bad)}.say.good{color:var(--leaf)}
.say.cap{font-size:19px;min-height:48px;padding:6px 12px;border-radius:16px;background:var(--card);border:2px solid var(--line);display:flex;align-items:center;justify-content:center}
.row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.big{min-height:60px;padding:12px 28px;border:0;border-radius:999px;background:var(--leaf);color:#fff;font-size:24px;font-weight:900;box-shadow:0 5px 0 #1f4c28;width:min(100%,420px);align-self:center}
.big:active{transform:translateY(3px);box-shadow:0 2px 0 #1f4c28}
.big:disabled{background:#a9b9a3;box-shadow:0 5px 0 #8a9a85}
.row .big{width:auto}
.colL,.colR{display:contents}
.lessonrow{gap:12px}
.out{min-height:48px;padding:8px 22px;border-radius:999px;border:2px solid var(--leaf);background:var(--card);font-size:18px;font-weight:900}
.hear{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:10px 24px;border:0;border-radius:999px;background:var(--sun);font-size:20px;font-weight:900;box-shadow:0 4px 0 var(--sun2);align-self:center}
.hear svg{width:28px;height:28px}
.shake{animation:shake .32s}
@keyframes shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
.pop{animation:pop .34s}
@keyframes pop{50%{transform:scale(1.14)}}

/* equations */
.plate{align-self:center;min-width:min(100%,300px);padding:6px 22px;border-radius:20px;background:var(--soft);font-size:clamp(40px,12vw,60px);font-weight:900;text-align:center;line-height:1.05;white-space:nowrap}
.plate.small{font-size:clamp(30px,9vw,40px);min-width:0}
.plates{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-self:center}
.plate.flipped{background:#dcecf8}
.na{color:var(--red)}.nb{color:var(--blue)}.nc{color:var(--leaf)}
.plate .nc{display:inline-block}

/* flip-flop facts */
.cardbox{align-self:center;width:min(100%,340px);line-height:0}
.dots{display:block;width:100%;height:auto;font-family:var(--font)}
.blanks{display:flex;align-items:center;justify-content:center;gap:8px}
.blanks b{font-size:36px;font-weight:900}
.slot{width:74px;height:70px;border:3px dashed var(--pond);border-radius:16px;background:transparent;font-size:38px;font-weight:900;padding:0}
.slot.full{border-style:solid;background:var(--card)}
.slot.wrong{border-color:var(--bad);background:#fbe3da}
.slot.right{border-color:var(--leaf2);background:#e1f0d2}
.slot.right.na{color:var(--red)}.slot.right.nb{color:var(--blue)}.slot.right.nc{color:var(--leaf)}
.tray{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.tile{width:64px;height:60px;border:0;border-radius:14px;background:#fff7dc;box-shadow:0 4px 0 var(--sun2),inset 0 0 0 3px var(--sun2);font-size:32px;font-weight:900;padding:0}
.tile:disabled{opacity:.28}
.tile:active{transform:translateY(2px)}
.match{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(56px,20vw,140px);align-items:center}
.mcol{display:grid;gap:8px;align-content:center;position:relative;z-index:1}
.mfact{min-height:52px;padding:6px 10px;border:3px solid var(--line);border-radius:16px;background:var(--card);font-size:clamp(24px,7vw,30px);font-weight:900;white-space:nowrap}
.mfact.on{border-color:var(--pond);background:#dcecee}
.mfact.right{border-color:var(--leaf2);background:#d6ecc2;color:var(--ink)}
.mfact.wrong{border-color:var(--bad);background:#fbe3da}
.mfact:disabled{cursor:default}
.links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}

/* count back hop */
.pondbox{align-self:center;width:min(100%,540px);line-height:0}
.pond{display:block;width:100%;height:auto;font-family:var(--font);overflow:visible}
.pad.start ellipse{fill:#ffd65a;stroke:#c99a1e}
.pad.land ellipse{fill:#6cc15a;stroke:var(--leaf);stroke-width:4}
.hopdots{display:flex;gap:8px;justify-content:center;min-height:24px;flex-wrap:wrap}
.hopdots i{width:24px;height:24px;border-radius:50%;border:3px solid #e8823a;background:transparent}
.hopdots i.on{background:#e8823a}
.hopdots i.over{border-color:var(--bad);background:#fbe3da}
.hopcount{margin:0;text-align:center;font-size:18px;color:#8a4a1c}
.hopbtn{display:inline-flex;align-items:center;gap:8px;min-height:60px;padding:6px 22px 6px 12px;border:0;border-radius:999px;background:var(--pond);color:#fff;font-size:22px;font-weight:900;box-shadow:0 5px 0 var(--pond2)}
.hopbtn svg{width:48px;height:42px}
.hopbtn:disabled{background:#a9c4c6;box-shadow:0 5px 0 #8aa5a7}
.hopbtn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--pond2)}
.undo{display:inline-flex;align-items:center;gap:8px;min-height:56px;padding:8px 18px;border-radius:16px;border:3px solid var(--line);background:var(--card);font-size:19px;font-weight:900}
.undo:disabled{opacity:.45}
.nums{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.num{width:66px;height:66px;border:3px solid var(--line);border-radius:18px;background:var(--card);font-size:32px;font-weight:900;padding:0}
.nums.many .num{width:52px;height:54px;font-size:26px}
.nums.lily .num{border-radius:50% 50% 50% 50%/56% 56% 44% 44%;background:#c8e9b4;border-color:#5aa84f}
.num.on{border-color:var(--pond);background:#dcecee}
.nums.lily .num.on{background:#ffe9a6;border-color:var(--sun2)}
.num.right,.nums.lily .num.right{border-color:var(--leaf2);background:#9fd88a}
.num.wrong,.nums.lily .num.wrong{border-color:var(--bad);background:#fbe3da}

/* number of the day */
.today{display:flex;align-items:center;justify-content:center;gap:12px;align-self:center;padding:2px 16px 2px 20px;border-radius:999px;background:var(--card);border:2px solid var(--line)}
.today span{font-size:18px;color:#3f6a66}
.today b{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--sun);border:3px solid var(--sun2);font-size:32px;font-weight:900}
.framebox{align-self:center;width:min(100%,400px)}
.frame{display:grid;grid-template-columns:repeat(5,1fr);border:4px solid var(--ink);border-radius:12px;background:#fffdf5;overflow:hidden;cursor:pointer}
.frame.shake{animation:shake .32s}
.cell{aspect-ratio:1/1;border:2px solid var(--ink);display:grid;place-items:center;position:relative}
.cell svg{width:72%;height:72%}
.cell.lit{background:#fff1b8}
.cell.leaving svg{opacity:.45;outline:3px dashed var(--bad);outline-offset:-2px;border-radius:50%}
.cell b{position:absolute;right:4px;bottom:1px;font-size:15px;color:#2f5a4a}
.add{display:inline-flex;align-items:center;gap:8px;min-height:56px;padding:8px 18px;border-radius:16px;border:3px solid #a8321e;background:#fde0d9;font-size:19px;font-weight:900}
.add svg{width:30px;height:30px}
.add:disabled{opacity:.45}
.tallybox{align-self:center;width:min(100%,340px);line-height:0}
.tally{display:block;width:100%;height:auto;font-family:var(--font)}
.markbtn{display:inline-flex;align-items:center;gap:6px;min-height:56px;padding:6px 16px 6px 10px;border-radius:16px;border:3px solid var(--ink);background:var(--card);font-size:18px;font-weight:900}
.markbtn svg{width:30px;height:38px}
.markbtn.across{border-color:#c0601f;background:#ffe7d6}
.markbtn:disabled{opacity:.45}
.ladder{display:grid;gap:6px;align-self:center;width:min(100%,320px)}
.rung{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:2px 14px;border-radius:14px;border:2px solid var(--line);background:var(--card);font-size:26px;font-weight:900;color:#8a9a85}
.rung b{display:inline-grid;place-items:center;min-width:46px;height:38px;border-bottom:3px solid #8a9a85;color:var(--leaf)}
.rung.on{border-color:var(--pond);background:#dcecee;color:var(--ink)}
.rung.done{color:var(--ink)}.rung.done b{border-bottom-color:transparent}
.padhost{display:flex;justify-content:center}

/* the duck story */
.stagebox{align-self:center;width:min(100%,420px);line-height:0;border:3px solid var(--pond);border-radius:var(--r);overflow:hidden}
.duckpond{display:block;width:100%;height:auto}
.talk{padding:12px 14px;border-radius:var(--r);background:var(--card);border:2px solid var(--line)}
.talk p{margin:0 0 8px;font-size:19px}
.talk .steps{display:grid;gap:6px;margin:6px 0}
.talk label{display:flex;align-items:center;gap:12px;min-height:46px;padding:4px 12px;border-radius:14px;background:#e9f3ef;font-size:18px}
.talk input{width:28px;height:28px;accent-color:var(--leaf);flex:none}
.pickq{font-weight:900;color:var(--ink)}
.nums.pick .num{width:56px;height:56px;font-size:28px}
.nums.pick .num.on{background:#ffe9a6;border-color:var(--sun2)}
#play.tk>.ask{display:none}

/* mission end */
.finish{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border-radius:var(--r);background:var(--card);border:2px solid var(--line);text-align:center}
.finish .frogstage{width:120px;height:132px}
.finish h2{margin:0;font-size:28px;font-weight:900}
.finish p{margin:0;font-size:18px}
.note{margin:0;text-align:center;font-size:15px;color:#3f6a66;font-weight:600}
#celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:20}
.petal{position:absolute;top:-24px;width:16px;height:16px;border-radius:50% 0 50% 50%;animation:fall 1.5s ease-in forwards}
@keyframes fall{to{transform:translate(var(--dx),108vh) rotate(540deg);opacity:.2}}
.frogstage .new{transform-box:fill-box;transform-origin:50% 100%;animation:grow .8s cubic-bezier(.2,.9,.3,1.2)}
@keyframes grow{from{transform:scale(0)}}

@media (min-width:700px){
  .page{max-width:640px;padding-top:26px}
  .game-card strong{font-size:24px}
}
/* a short screen that is not sideways: an iPhone in Safari with its bars (about 660 px tall), a small phone,
   or a tablet on its side inside the browser. Everything tightens so no button falls below the screen. */
@media (min-height:521px) and (max-height:800px){
  #play{gap:10px}
}
@media (min-height:521px) and (max-height:700px){
  .page{padding-top:8px}
  .act-head{min-height:48px}.act-head h1{font-size:24px;padding-top:8px}
  .done{min-height:44px;padding:6px 16px;font-size:16px}
  #play{gap:8px;padding-top:2px}
  .ask{font-size:22px;margin:0}.ask.riddle{font-size:19px}
  .say{font-size:15px;min-height:18px}.say.cap{font-size:16px;min-height:44px;padding:4px 10px}
  .hear{min-height:46px;font-size:17px;padding:6px 18px}.hear svg{width:24px;height:24px}
  .big{min-height:50px;font-size:21px;padding:8px 22px}
  .out{min-height:44px;font-size:16px;padding:6px 18px}
  .plate{font-size:36px;padding:2px 16px}.plate.small{font-size:28px;padding:2px 14px}
  .cardbox{width:min(100%,290px)}
  .slot{width:62px;height:56px;font-size:32px}.blanks b{font-size:28px}
  .tile{width:56px;height:50px;font-size:28px}.tray{gap:8px}
  .mfact{min-height:46px;font-size:23px;padding:4px 8px}.mcol{gap:6px}
  .hopdots i{width:20px;height:20px}.hopcount{font-size:15px}
  .hopbtn{min-height:52px;font-size:19px}.hopbtn svg{width:40px;height:36px}
  .undo,.add,.markbtn{min-height:48px;font-size:16px;padding:6px 12px}
  .nums{gap:7px}.num{width:54px;height:54px;font-size:26px}.nums.many .num{width:46px;height:46px;font-size:22px}
  .today b{width:42px;height:42px;font-size:26px}.today span{font-size:16px}
  .framebox{width:min(100%,280px)}
  .tallybox{width:min(100%,250px)}
  .rung{min-height:36px;font-size:22px}.rung b{height:30px}
  .stagebox{width:min(100%,300px)}
  .talk{padding:8px 10px}.talk>p:first-child{display:none}.talk .note{display:none}.talk .steps{margin:0;gap:5px}.talk label{min-height:44px;font-size:16px;padding:2px 10px}
  .nums.pick .num{width:48px;height:48px;font-size:24px}
  .finish{padding:10px;gap:6px}.finish .frogstage{width:92px;height:100px}.finish h2{font-size:23px}.finish p{font-size:16px}
}
/* a phone held sideways: prompt and picture on the left, controls on the right, everything above the fold */
@media (orientation:landscape) and (max-height:520px){
  .page{max-width:none;padding:8px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}
  .reeds{width:64px}
  .act-head{min-height:46px;position:absolute;right:max(16px,env(safe-area-inset-right));top:6px;left:auto;z-index:3;display:block}
  .act-head h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .done{min-height:44px;padding:6px 18px}
  #play{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min-content;grid-auto-flow:row dense;column-gap:18px;row-gap:7px;align-items:center;padding-top:2px;min-height:calc(100dvh - 22px);align-content:center}
  #play>.wide{grid-column:1/-1}
  #play>.left{grid-column:1}
  #play>.right{grid-column:2}
  #play>.colL,#play>.colR{display:flex;flex-direction:column;justify-content:center;gap:7px;align-self:center;min-width:0}
  #play>.colL{grid-column:1}#play>.colR{grid-column:2}
  .noland,.pickq{display:none!important}
  .lesson .cardbox{width:min(100%,calc((100dvh - 190px) * 1.9))}
  .lesson .pondbox{width:min(100%,calc((100dvh - 230px) * 4))}
  .lesson .framebox{width:min(100%,calc((100dvh - 210px) * 2.4))}
  .lesson .tallybox{width:min(100%,calc((100dvh - 210px) * 2))}
  .ask{font-size:23px;margin:0;padding:0 100px;min-height:46px;display:flex;align-items:center;justify-content:center}
  .ask.riddle{font-size:18px}
  .say{font-size:15px;min-height:18px}.say.cap{font-size:15px;min-height:40px;padding:4px 10px}
  .hear{min-height:46px;font-size:17px;padding:6px 18px}
  .big{min-height:48px;font-size:20px;padding:6px 22px}
  .out{min-height:44px;font-size:15px;padding:4px 16px}
  .plate{font-size:34px;padding:2px 16px;min-width:0}.plate.small{font-size:26px;padding:2px 12px}
  .cardbox{width:min(100%,calc((100dvh - 120px) * 1.9))}
  .slot{width:58px;height:52px;font-size:30px}.blanks b{font-size:26px}
  .tile{width:54px;height:48px;font-size:27px}.tray{gap:7px}
  .match{column-gap:110px}.mcol{gap:5px}.mfact{min-height:44px;font-size:21px;padding:2px 8px}
  .pondbox{width:min(100%,calc((100dvh - 100px) * 3.4))}
  .hopdots i{width:18px;height:18px}.hopcount{font-size:15px}
  .hopbtn{min-height:48px;font-size:18px}.hopbtn svg{width:36px;height:32px}
  .undo,.add,.markbtn{min-height:46px;font-size:15px;padding:4px 10px}.markbtn svg{width:24px;height:30px}.add svg{width:24px;height:24px}
  .nums{gap:6px}.num{width:52px;height:50px;font-size:25px}.nums.many .num{width:44px;height:44px;font-size:21px}
  .today{padding:0 12px 0 16px}.today b{width:38px;height:38px;font-size:23px}.today span{font-size:15px}
  .framebox{width:min(100%,calc((100dvh - 150px) * 2.4))}
  .tallybox{width:min(100%,calc((100dvh - 150px) * 2))}
  .ladder{width:min(100%,280px);gap:4px}.rung{min-height:32px;font-size:20px}.rung b{height:26px;min-width:38px}
  .stagebox{width:min(100%,calc((100dvh - 190px) * 2.1))}
  #play.tk{align-content:start}
  #play.tk>.ask{display:flex}
  .talk{padding:6px 10px}.talk>p:first-child{display:none}.talk .note{display:none}.talk .steps{margin:0;gap:4px}.talk label{min-height:44px;font-size:15px;padding:2px 10px}
  .nums.pick .num{width:46px;height:46px;font-size:22px}
  .week-head{padding:0 60px}.week-head h1{font-size:28px;margin-bottom:6px}
  #hub{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;align-items:start}
  #hub>.week-head,#hub>.mission,#hub>.grownup,#hub>footer,#hub>.section-title{grid-column:1/-1}
  .mission{margin:8px 0 2px;padding:10px 16px}
  .section-title{margin:10px 2px 6px}
  .game-grid,.together-grid{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .game-card{grid-template-columns:56px 1fr;padding:8px 10px}.game-card .frogstage{width:56px;height:62px}.game-card strong{font-size:18px}.game-card small{font-size:13px}
  .finish{flex-direction:row;flex-wrap:wrap;justify-content:center}.finish .frogstage{width:84px;height:92px}
  .finish h2{font-size:22px}.finish p{font-size:15px}
}
@media (orientation:landscape) and (max-height:360px){
  #play{row-gap:5px}
  .ask{min-height:44px;font-size:20px}.ask.riddle{font-size:16px}
  .big{min-height:44px;font-size:19px}
  .hear{min-height:44px;font-size:16px}
  .plate{font-size:28px}.plate.small{font-size:23px}
  .slot{width:52px;height:46px;font-size:27px}
  .tile{width:50px;height:44px;font-size:24px}
  .mfact{min-height:44px;font-size:19px}
  .num{width:46px;height:44px;font-size:22px}.nums.many .num{width:44px;height:44px;font-size:20px}
  .say{font-size:14px;min-height:16px}
  .finish{padding:8px}.finish .frogstage{width:64px;height:70px}.finish h2{font-size:20px}.finish p{font-size:15px}
}
@media (prefers-reduced-motion:reduce){.shake,.pop,.petal,.frogstage .new,.frame.shake{animation:none}}
body.still .shake,body.still .pop,body.still .petal,body.still .frogstage .new{animation:none}
