*{box-sizing:border-box}body{margin:0;color:#3b2418;font-family:Georgia,serif;background:#c9a77a}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #32745a;outline-offset:4px}button:disabled{cursor:default;opacity:.65}#app{min-height:100svh;background-size:cover;background-position:center;background-attachment:fixed}.wrap{width:min(100%,530px);margin:auto;padding:16px 14px 36px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px}.logo{width:100px;height:100px;object-fit:contain;border-radius:50%;background:white;box-shadow:0 3px 9px #39210c66}.wood,.sound,.back{border:2px solid #73431d;background:repeating-linear-gradient(0deg,#ffffff08 0 2px,#60320c08 3px 4px),linear-gradient(105deg,#f8dfa9,#eac286 50%,#f7db9f);box-shadow:inset 0 0 0 2px #ffefc099,0 4px 0 #704021,0 7px 12px #3e240a33}.sound,.back{border-radius:18px;padding:12px 15px;font-weight:bold;min-height:46px}.sign{position:relative;margin:20px 0 16px;padding:18px 12px;border-radius:22px;text-align:center}.sign:before,.sign:after{content:'';position:absolute;top:-14px;height:24px;width:7px;border:2px solid #644322;border-radius:6px;background:#b18b58}.sign:before{left:26px}.sign:after{right:26px}h1{font-size:clamp(25px,6.7vw,34px);line-height:1.12;margin:0;text-transform:uppercase;letter-spacing:.4px}.progress,.instruction,.fact,.msg:not(:empty){background:#fff1d6e8;border:2px solid #9b642c;border-radius:14px;box-shadow:0 3px 7px #35200d33}.progress{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 16px;margin-bottom:20px;font-weight:bold;font-size:18px}.stars{color:#8e5d18;white-space:nowrap;letter-spacing:3px}.cards{display:grid;gap:15px}.card{display:block;position:relative;width:100%;padding:0;border:2px solid #76421b;border-radius:18px;background:#eed2a2;box-shadow:0 4px 8px #3a200a66;overflow:hidden}.card img{display:block;width:100%;height:auto}.status{position:absolute;left:10px;top:9px;background:#396c39;color:white;border:2px solid #fff5d9;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font:bold 18px system-ui}.screen{display:none}.screen.on{display:block}.screen-head{display:flex;align-items:center;gap:12px;margin:4px 0 20px}.screen-head h2{flex:1;font-size:25px;margin:0;padding:13px 10px;text-align:center;border-radius:18px}.back{font-size:25px;padding:7px 13px}.instruction{font:600 16px/1.45 system-ui;padding:12px 14px;text-align:center;margin:12px 0}.stage{position:relative;width:100%;aspect-ratio:1.14;margin:14px 0 8px;touch-action:none;user-select:none}.stage svg{width:100%;height:100%;overflow:visible}.horse-art{filter:drop-shadow(0 7px 4px #3a261455)}.dirt{position:absolute;width:9%;height:7%;border-radius:45% 55% 40% 60%;background:radial-gradient(#634b26,#755c37d0 60%,#755c3700 70%);touch-action:none}.target{position:absolute;border:2px dashed #fff0;border-radius:20px;pointer-events:none}.target.show{border-color:#fff1b3;background:#ffd36333}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.step{min-width:0;border:2px solid #916033;border-radius:13px;background:linear-gradient(#fff4d9,#ebcca0);padding:7px 3px;font:700 12px/1.2 system-ui;touch-action:none}.step svg{display:block;width:100%;height:70px;margin-bottom:5px}.step.active{box-shadow:0 0 0 3px #e9b63f}.step.done{background:#d9e5bb}.msg{font:700 16px/1.4 system-ui;text-align:center;margin:13px 0;padding:10px}.msg:empty{display:none}.green{border:2px solid #31552e;border-radius:16px;background:linear-gradient(#648b45,#426a32);color:white;padding:12px 20px;font:bold 16px system-ui;min-height:46px}.actions{text-align:center;margin:15px 0}.breed-art{width:100%;height:auto;aspect-ratio:1.3;display:block;filter:drop-shadow(0 6px 3px #34241444)}.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice{background:#fff0d5ed;border:2px solid #946030;border-radius:13px;padding:12px 7px;min-height:54px;font-weight:bold}.choice.correct{background:#dceac5;border-color:#4d793b}.choice.wrong{background:#f6d3bc}.fact{font:15px/1.5 system-ui;padding:13px;margin:14px 0}.tabs{display:flex;gap:7px;margin:15px 0}.tabs button{flex:1;min-width:0;border:2px solid #875527;border-radius:13px;background:#f1d8aa;padding:11px 5px;font:bold 13px system-ui;min-height:48px}.tabs .active{background:#74421e;color:#fff4db}.saddles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.saddle{border:2px solid #956030;border-radius:17px;background:#fff0d6e8;padding:10px;min-width:0;text-align:center}.saddle svg{width:100%;height:170px}.saddle h3{font-size:19px;margin:8px 0}.saddle p{font:14px/1.5 system-ui;margin:0}.parts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.parts button{border:2px solid #966332;border-radius:12px;padding:13px 6px;background:#fff0d6;font-weight:bold}.leaf{position:fixed;top:-35px;pointer-events:none;z-index:0;color:#a55719;font-size:22px;animation:fall 16s linear infinite}.wrap{position:relative;z-index:1}@keyframes fall{to{transform:translate(60px,110vh) rotate(260deg)}}@media(prefers-reduced-motion:reduce){.leaf{display:none}}@media(max-width:360px){.wrap{padding:12px 9px}.logo{width:82px;height:82px}.sound{font-size:14px;padding:10px}.screen-head h2{font-size:22px}.step{font-size:11px}.step svg{height:55px}.stars{letter-spacing:0}.saddle svg{height:135px}}

.stage .fitted-gear{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.restart-row{text-align:right;margin:-8px 0 18px}.restart-row button{font-size:15px;padding:9px 14px;min-height:44px}

.card.seasonal-card img{position:absolute;left:0;width:100%;height:auto;max-width:none}.card.seasonal-card .status{z-index:1}

.audio-credit{text-align:center;font:12px system-ui;margin:22px 0 0}.audio-credit a{color:#3b2418;background:#fff1d6e8;border-radius:8px;padding:6px 10px}
