:root{--opt:#e2f3e4;--opt-hover:#d2ecd6;--opt-edge:#b9dcbf}.panel{gap:clamp(16px,3vh,24px);padding:clamp(18px,4vw,32px)}.panel h1{font-size:clamp(1.9rem,5vw,2.6rem)}.info{margin-top:10px}.big-btn{font-size:clamp(1.6rem,5vw,2.1rem)}.choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.choices.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choices .chip{flex-direction:column;align-items:center;gap:3px;padding:10px 6px 8px;line-height:1.1;display:flex}.choices .chip small{font-family:var(--f-body);text-transform:uppercase;letter-spacing:.04em;opacity:.8;font-size:.68rem;font-weight:800}@media (width<=480px){.choices{grid-template-columns:repeat(2,minmax(0,1fr))}}.flags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.flags img{height:26px;box-shadow:0 0 0 1px var(--line);border-radius:4px}.postcard{flex-direction:column;gap:6px;display:flex}.photo{aspect-ratio:16/10;background:var(--slot);box-shadow:0 0 0 6px #fff, 0 0 0 8px var(--cream-deep), 0 14px 26px var(--shade);border-radius:20px;margin:8px;transition:transform .3s;position:relative;overflow:hidden;transform:rotate(-.8deg)}.photo.done{transform:rotate(0)}.photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s;display:block}.photo img.loaded{opacity:1}.stamp{background:var(--card);color:var(--jungle-deep);font-family:var(--f-display);border-radius:14px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:1.15rem;font-weight:800;line-height:1;animation:.3s ease-out pop;display:flex;position:absolute;bottom:12px;left:12px;box-shadow:0 6px 16px #00000040}.stamp img{opacity:1;width:auto;height:28px;box-shadow:0 0 0 1px var(--line);border-radius:4px}.credit{color:var(--ink-soft);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0 8px;font-size:.72rem;font-weight:700;overflow:hidden}.credit a{color:inherit}.question{font-family:var(--f-display);text-align:center;text-wrap:balance;color:var(--jungle-deep);margin:0;font-size:clamp(1.4rem,4.5vw,1.9rem);font-weight:800;line-height:1.15}.question b{color:var(--leaf)}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.opt{cursor:pointer;min-height:64px;font-family:var(--f-display);background:var(--opt);color:var(--jungle-deep);box-shadow:inset 0 -5px 0 var(--opt-edge);touch-action:manipulation;overflow-wrap:anywhere;border:0;border-radius:18px;padding:14px 10px 12px;font-size:clamp(1.2rem,4.2vw,1.6rem);font-weight:800;line-height:1.1;transition:background .15s,transform .1s}.opt:hover:not(:disabled){background:var(--opt-hover)}.opt:active:not(:disabled){transform:translateY(2px)}.opt kbd{display:none}@media (hover:hover) and (pointer:fine){.opt{position:relative}.opt kbd{font:800 .7rem var(--f-body);color:var(--leaf);opacity:.7;display:block;position:absolute;top:8px;left:10px}}.opt:disabled{cursor:default}.opt.dim{opacity:.45}.opt.right{background:var(--good);color:#fff;opacity:1;animation:.3s ease-out pop;box-shadow:inset 0 -5px #0000002e}.opt.wrong{background:var(--bad);color:#fff;opacity:1;animation:.4s shake;box-shadow:inset 0 -5px #0000002e}.opt.right kbd,.opt.wrong kbd{color:#ffffffb3}.feedback{text-align:center;border-radius:18px;padding:10px 14px;font-size:1.1rem;font-weight:800;animation:.25s ease-out pop}.feedback.ok{background:var(--good-soft);color:#0f8a50}.feedback.no{background:var(--bad-soft);color:#c81d39}.feedback span{color:var(--ink)}.missed{text-align:left;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.missed li{background:var(--slot);color:var(--ink-soft);border-radius:12px;align-items:center;gap:10px;padding:6px 10px;font-weight:700;display:flex}.missed img{height:22px;box-shadow:0 0 0 1px var(--line);border-radius:3px}.missed b{font-family:var(--f-display);color:var(--ink);margin-left:auto;font-size:1.25rem}@media (width<=600px){.app{gap:10px;padding-block:8px 16px}#play{border-radius:22px;gap:12px;padding:12px 14px}.photo{box-shadow:0 0 0 4px #fff, 0 0 0 6px var(--cream-deep), 0 10px 20px var(--shade);border-radius:16px;margin:4px}.stamp{padding:4px 10px 4px 4px;font-size:1rem;bottom:8px;left:8px}.stamp img{height:22px}.opt{border-radius:16px;min-height:56px;padding:10px 8px}.feedback{padding:8px 10px;font-size:1rem}#nextBtn{padding-block:12px;font-size:1.5rem}}
