.game-heading { padding-block: 0 20px; }
.game-heading h1 { font-size: clamp(2.1rem, 4vw, 3.6rem); margin-bottom: 12px; }
.game-heading .eyebrow { margin-bottom: 10px; }
.game-heading p { margin: 0; }
.game-shell { max-width: 1000px; border: 1px solid var(--line); border-radius: 20px; background: white; padding: 28px; margin-bottom: 40px; }
.mission-shell { max-width: 1300px; }
.game-hud { display: flex; flex-wrap: wrap; gap: 12px 28px; justify-content: space-between; color: var(--forest); font-size: .95rem; }
.game-hud strong { font-size: 1.25rem; }
#lives { color: #7c3b30; }
.game-progress { margin-block: 20px 26px; }
.game-progress label { display: block; font-size: .9rem; margin-bottom: 7px; }
progress { display: block; width: 100%; height: 10px; border: none; border-radius: 10px; overflow: hidden; accent-color: var(--green); background: var(--cream); }
progress::-webkit-progress-bar { background: var(--cream); }
progress::-webkit-progress-value { background: var(--green); border-radius: 10px; transition: width .3s; }
.game-panel h2 { font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.25; letter-spacing: -.025em; }
.game-panel p, .game-panel li { font-size: 1rem; }
.start-panel { padding: 12px 10px 22px; }
.start-panel ul { padding-left: 22px; color: var(--muted); margin-bottom: 28px; }
.start-panel li { margin-bottom: 8px; }
.game-emblem { float: right; display: grid; place-items: center; width: 90px; height: 90px; margin-left: 18px; border-radius: 24px; background: var(--cream); color: var(--green); font-size: 4rem; }
.game-shell .button { border: 1px solid #a6bf72; min-height: 48px; font-size: 1rem; }
.answer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.answer-button { display: block; width: 100%; border: 1px solid #bbc9b0; border-radius: 12px; padding: 16px 18px; min-height: 58px; background: #fafbf7; text-align: left; font-size: 1rem; line-height: 1.5; transition: background .15s, border-color .15s; }
.answer-button:hover:not(:disabled) { background: #edf3e3; border-color: var(--green); }
.answer-button:disabled { opacity: .8; }
.answer-button.is-correct { background: #e4efcf; border-color: #42692f; opacity: 1; }
.answer-button.is-incorrect { background: #faeee4; border-color: #9b6541; opacity: 1; }
.matching { grid-template-columns: 1fr; }
.matching>div { display: grid; grid-template-columns: 1fr 1.3fr; gap: 16px; align-items: center; }
.matching label { font-weight: 600; }
.matching select { width: 100%; min-width: 0; min-height: 48px; padding: 10px; font: inherit; border: 1px solid #a6b895; border-radius: 8px; background: var(--paper); color: var(--ink); }
.matching select:focus-visible { outline: 3px solid #749c24; outline-offset: 3px; }
#check-match { margin-top: 18px; }
.game-feedback { padding: 17px 20px; border-left: 4px solid var(--green); background: var(--cream); margin: 22px 0; border-radius: 0 10px 10px 0; line-height: 1.65; }
.game-feedback.retry { border-color: #895238; background: #faf0e7; }
.game-note { font-size: .875rem; margin: 22px 0 0; }
.result-panel { padding-block: 15px 25px; }
.result-stars { font-size: 3rem; letter-spacing: .1em; color: #83601d; }
.result-panel .text-link { display: block; margin-top: 22px; }
.mission-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; align-items: start; }
.mission-land { min-width: 0; position: sticky; top: 120px; }
.farm-scene { display: block; width: 100%; height: auto; border-radius: 18px; }
.farm-scene [data-feature]:not([hidden]) { animation: grow-in .6s ease-out; transform-origin: center; }
@keyframes grow-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
#scene-status { font-size: .875rem; color: var(--forest); padding: 12px 0; margin: 0; }
.mission-milestones { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; padding: 0; margin: 0; }
.mission-milestones li { border: 1px solid var(--line); padding: 5px 9px; border-radius: 7px; font-size: .8rem; color: var(--muted); }
.mission-milestones .complete { color: var(--forest); background: #edf3df; }
.mission-milestones [aria-current] { border-color: var(--green); font-weight: 700; }
.decision-list { display: grid; gap: 10px; }
.game-panel h2 { scroll-margin-top: 120px; }
.game-panel h2:focus { outline: none; }
@media(max-width:980px) { .mission-layout { grid-template-columns: 1fr; } .mission-land { position: static; } .farm-scene { max-height: 350px; } .mission-milestones { margin-bottom: 8px; } }
@media(max-width:700px) { .game-shell { padding: 20px; } .game-heading h1 { font-size: 2.1rem; } .answer-grid, .matching>div { grid-template-columns: 1fr; } .matching>div { gap: 5px; } .game-hud { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; font-size: .875rem; } .game-hud strong { font-size: 1.1rem; } .game-emblem { float: none; width: 56px; height: 56px; font-size: 2.4rem; margin: 0 0 20px; } .start-panel { padding-inline: 0; } .game-panel .button { width: 100%; } .mission-milestones { gap: 5px; } .mission-milestones li { font-size: .75rem; } .answer-button { padding: 13px; } }
@media(prefers-reduced-motion:reduce) { .farm-scene [data-feature], progress::-webkit-progress-value { animation: none!important; transition: none!important; } }
