:root{color-scheme:light dark;--paper: #f3ead8;--ink: #2a2118;--wood: #8b5a2b;--wood-dark: #6e4520;--rust: #b5522a;--sage: #4f6b4c;--gold: #c9a227;--sky: #9ec5d8;--focus: #1d4f7a;--danger: #8a2b1c;--ok: #2f5d3a;--card: #fff8ec;--shadow: color-mix(in srgb, var(--ink) 18%, transparent);font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45;font-size:112.5%;background:var(--paper);color:var(--ink)}@media(prefers-color-scheme:dark){:root{--paper: #241c16;--ink: #f3ead8;--wood: #c4894a;--wood-dark: #8b5a2b;--rust: #e08a62;--sage: #9cbc96;--gold: #e0c36a;--sky: #4d6f82;--focus: #8ec5f2;--danger: #f0a090;--ok: #9dccab;--card: #31251c}}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 28%),var(--paper)}body{max-width:44rem;margin:0 auto;padding:1rem 1rem 3rem}.skip-link{position:absolute;left:.75rem;top:.75rem;background:var(--ink);color:var(--paper);padding:.6rem .9rem;min-height:44px;border-radius:.4rem;z-index:10}.skip-link:not(:focus){position:absolute!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important}.visually-hidden:where(:not(:focus-within,:active)){position:absolute!important;clip-path:inset(50%)!important;overflow:hidden!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;white-space:nowrap!important}header.app-bar{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.75rem}header.app-bar p{margin:0;color:var(--wood-dark);font-size:.95rem}main{background:var(--card);border:3px solid var(--wood);border-radius:1.1rem;padding:1rem;box-shadow:0 10px 0 var(--shadow)}h1,h2{font-size:1.35rem;line-height:1.25;margin:0 0 .6rem;text-wrap:balance;max-width:22ch}.kicker{letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;color:var(--wood);margin:0 0 .35rem}.banner{background:color-mix(in srgb,var(--gold) 28%,var(--card));border:2px solid var(--wood);border-radius:.7rem;padding:.7rem .8rem;margin-bottom:.8rem}.scene-wrap{background:color-mix(in srgb,var(--sky) 18%,var(--card));border:2px solid var(--wood-dark);border-radius:.9rem;overflow:hidden;margin:.4rem 0 .9rem}.scene{display:block}.sentence{font-size:1.12rem;max-width:36ch;margin:0 0 .9rem}.latin{font-style:italic}.controls,.options{display:grid;gap:.7rem}button,.btn{appearance:none;font:inherit;color:var(--paper);background:var(--rust);border:3px solid var(--ink);min-height:44px;min-width:44px;padding:.65rem .9rem;border-radius:.75rem;cursor:pointer}button.secondary{background:var(--sage)}button.quiet{background:transparent;color:var(--ink)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.options{grid-template-columns:1fr}.option{display:grid;gap:.35rem;text-align:start;background:var(--paper);color:var(--ink)}.option[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--ok)}.feedback{border-top:2px dashed var(--wood);margin-top:.8rem;padding-top:.8rem}.feedback.ok{border-color:var(--ok)}.feedback.bad{border-color:var(--danger)}.summary{display:grid;gap:.5rem;margin:0 0 1rem;padding:0;max-width:42ch}.summary li{list-style:none;padding:.55rem .7rem;background:color-mix(in srgb,var(--gold) 16%,var(--card));border-left:5px solid var(--wood)}.credit{margin-top:1.2rem;font-size:.85rem;max-width:42ch;color:color-mix(in srgb,var(--ink) 80%,var(--wood))}.box-lift{animation:lift 1.1s ease-out forwards}.box-push{animation:push 1.1s ease-out forwards}.box-pull{animation:pull 1.1s ease-out forwards}.walk{animation:walk 1.4s ease-in-out forwards}.cart{animation:cart 1.5s ease-in-out forwards}.box-glow{outline:4px solid var(--gold);outline-offset:3px}@keyframes lift{to{transform:translateY(-42px)}}@keyframes push{to{transform:translate(54px)}}@keyframes pull{to{transform:translate(42px)}}@keyframes walk{to{transform:translate(92px)}}@keyframes cart{to{transform:translate(70px)}}@media(prefers-reduced-motion:reduce){.box-lift,.box-push,.box-pull,.walk,.cart{animation:none}.box-lift{transform:translateY(-42px)}.box-push{transform:translate(54px)}.box-pull{transform:translate(42px)}.walk{transform:translate(92px)}.cart{transform:translate(70px)}}@media(min-width:720px){body{padding-top:1.5rem}.options{grid-template-columns:1fr 1fr 1fr}main{padding:1.3rem 1.4rem 1.5rem}}
