:root{--cream:#f6edda;--ink:#253226;--gold:#d4a75b;--glass:rgba(20,28,21,.78)}
*{box-sizing:border-box}html,body,#game{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:Georgia,"Times New Roman",serif;background:#101811;color:var(--cream)}button{font:inherit}
.screen{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .7s ease}.screen.active{opacity:1;pointer-events:auto}
.chapter-video{position:absolute;z-index:60;inset:0;background:#070a08;display:grid;place-items:center}
.chapter-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chapter-video video[controls]{object-fit:contain}
.chapter-video #skip-video{position:absolute;z-index:2;right:22px;bottom:22px;border:1px solid #fff7}
.chapter-video #play-video{position:relative;z-index:3}
.chapter-video .video-choice{position:absolute;z-index:4;left:50%;bottom:12%;transform:translateX(-50%);min-width:min(78vw,280px);animation:choice-in .25s ease-out}
.video-quiz{position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,760px);max-height:88vh;overflow:auto;padding:1.45rem 1.6rem;background:rgba(19,29,23,.94);border:1px solid rgba(232,196,119,.75);border-radius:20px;box-shadow:0 24px 80px #000c;backdrop-filter:blur(10px)}
.video-quiz>small{color:#e8c477;letter-spacing:.18em}.video-quiz h2{margin:.45rem 0 1rem;font-size:clamp(1.15rem,2.6vw,1.75rem);line-height:1.3}
.video-quiz-options{display:grid;gap:.55rem}.video-quiz-option{width:100%;padding:.75rem 1rem;border:1px solid #fff5;border-radius:12px;background:#fff1;color:#fff;text-align:left;font:inherit;line-height:1.35;cursor:pointer;transition:.2s}.video-quiz-option:hover,.video-quiz-option:focus-visible{background:#fff2;border-color:#e8c477;outline:none}.video-quiz-option.correct{background:#506d48;border-color:#cde2b8}.video-quiz-option.wrong{background:#7b443c;border-color:#e4aaa0}.video-quiz-option:disabled{cursor:default;opacity:.72}.video-quiz-option.correct:disabled{opacity:1}
.video-quiz-feedback{margin-top:1rem;padding:1rem;border-left:3px solid #e8c477;background:#fff1;border-radius:0 12px 12px 0}.video-quiz-feedback strong{color:#f0d794}.video-quiz-feedback p{margin:.4rem 0 .9rem;line-height:1.45}.video-quiz-feedback .primary{padding:.65rem 1.15rem}
@keyframes choice-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
#title-screen{display:grid;place-items:center;background:#17251d}.cover,.background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,14,.74),rgba(12,20,14,.12) 64%,rgba(12,20,14,.38))}
.title-copy{position:relative;width:min(90vw,1100px);animation:rise 1.2s both}.title-copy small,.hud small,.objective small,.journal small,.credits-copy small{letter-spacing:.22em}.title-copy h1{font-size:clamp(3rem,9vw,7rem);line-height:.86;margin:.15em 0;text-shadow:0 8px 30px #000}.title-copy p{font-size:clamp(1rem,2vw,1.35rem);margin:0 0 2rem}
.primary{border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;background:#9a6d35;padding:1rem 1.55rem;letter-spacing:.12em;box-shadow:0 10px 35px #0008;cursor:pointer;transition:.2s}.primary:hover,.primary:focus-visible{transform:translateY(-3px);background:#b68546;outline:3px solid #fff7}.primary:active{transform:scale(.97)}.icon-button{position:absolute;top:24px;right:24px;z-index:20;border:1px solid #fff6;border-radius:99px;background:#17251dbb;color:#fff;padding:.7rem 1rem;cursor:pointer}
.background{background-size:cover;background-position:center;transition:background-image .7s,filter .8s,transform 5s;transform:scale(1.035)}.background.pan{transform:scale(1.08) translateX(-1.5%)}.background.prologue{background-image:url("assets/cover-art.png")}.background.chapter1{background-image:url("assets/chapter-1.png")}.background.chapter2{background-image:url("assets/chapter-2.png")}.background.chapter3{background-image:url("assets/chapter-3.png")}.background.chapter4{background-image:url("assets/chapter-4.png")}.background.quiet{filter:saturate(.68) brightness(.8)}
.stage{position:absolute;inset:0}.actor{position:absolute;bottom:7%;transform-origin:50% 100%;transition:left 1.4s cubic-bezier(.2,.8,.2,1),bottom .8s,filter .5s,opacity .5s,transform .5s}.actor img{width:100%;height:100%;object-fit:contain}.actor.hidden{opacity:0;transform:translateY(20px)}.emma{left:70%;width:min(22vw,270px);height:min(67vh,650px)}.luna{left:40%;width:min(34vw,440px);height:min(42vh,390px);animation:breathe 3s ease-in-out infinite}.luna.walking{animation:walk .55s ease-in-out infinite}.luna.hesitant{transform:translateX(35px) rotate(1deg)}.luna.relaxed{animation:relaxed 2.8s ease-in-out infinite}.luna.tired{animation:tired 1.6s ease-in-out infinite;filter:saturate(.65)}.luna.jump{animation:jump .72s cubic-bezier(.2,.8,.3,1)}.traveller{left:12%;width:min(18vw,210px);height:min(57vh,530px)}
.hud{position:absolute;z-index:10;left:0;right:0;top:0;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#101810bb,transparent);text-shadow:0 2px 8px #000}.hud div:first-child{display:flex;flex-direction:column}.hud strong{font-size:clamp(1rem,2vw,1.45rem)}#chapter-marks{display:flex;gap:8px}#chapter-marks i{width:28px;height:3px;background:#fff4}#chapter-marks i.on{background:#f1c36f}.quiet{border:0;background:#18251dbb;color:#fff;border-radius:99px;padding:.55rem .9rem;cursor:pointer}
.objective{position:absolute;z-index:11;left:24px;top:92px;max-width:min(80vw,370px);padding:.75rem 1rem;border-left:3px solid var(--gold);background:var(--glass);backdrop-filter:blur(7px);border-radius:0 12px 12px 0}.objective b{display:block;margin-top:.2rem}.prompt{position:absolute;z-index:11;left:50%;bottom:22px;transform:translateX(-50%);white-space:nowrap;background:var(--glass);backdrop-filter:blur(8px);padding:.8rem 1.2rem;border-radius:99px;animation:pulse 1.7s infinite}.dialogue{position:absolute;z-index:12;left:50%;bottom:7%;transform:translateX(-50%);width:min(90vw,650px);background:rgba(249,240,220,.94);color:var(--ink);border-radius:17px;padding:1rem 1.3rem;box-shadow:0 16px 50px #0008}.dialogue p{margin:.3rem 0 0;font-size:1.1rem}.controls{position:absolute;z-index:15;inset:0;pointer-events:none}.controls button{pointer-events:auto;position:absolute;border:1px solid #fff9;color:#fff;background:#6a4a2dcc;border-radius:50%;width:68px;height:68px;font-weight:bold;box-shadow:0 8px 25px #0007;cursor:grab;touch-action:none}.controls button:active{cursor:grabbing;transform:scale(.94)}
.meter{position:absolute;z-index:12;right:25px;top:92px;width:190px;background:var(--glass);padding:.7rem 1rem;border-radius:12px}.meter div{height:7px;background:#fff2;border-radius:10px;overflow:hidden;margin-top:.35rem}.meter i{display:block;height:100%;width:30%;background:linear-gradient(90deg,#cf8b4c,#f6d481);transition:width .5s}
.journal{position:absolute;z-index:40;inset:0;display:grid;place-items:center;background:#101810bb;backdrop-filter:blur(8px)}.journal-book{position:relative;width:min(88vw,650px);min-height:360px;padding:70px 70px 55px;background:linear-gradient(90deg,#e8d3a9,#fff7e7 48%,#e9d5ae 51%,#fff8e8);color:#3c3023;border-radius:8px 18px 18px 8px;box-shadow:0 28px 80px #000;transform-origin:left;animation:openBook .8s both}.journal-book:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:#7c633633}.journal-book p{font-size:clamp(1.7rem,4vw,2.7rem);font-style:italic;line-height:1.35;min-height:120px}.journal-book p.writing{overflow:hidden;white-space:nowrap;animation:write 2.2s steps(38,end) both}.journal-book .primary{position:relative;z-index:2}
.curtain{position:absolute;z-index:50;inset:0;display:grid;place-content:center;text-align:center;background:#162019;color:#fff;opacity:0;pointer-events:none;transition:opacity .65s}.curtain.show{opacity:1}.curtain h2{font-size:clamp(2.3rem,7vw,5rem);margin:.15em}.curtain p{font-size:1.15rem}
#props .supply,#props .fence,#props .beat{position:absolute;z-index:6}.supply{font-size:46px;filter:drop-shadow(0 5px 4px #0007);cursor:pointer}.settlement{position:absolute;right:9%;bottom:8%;width:160px;height:100px;border:3px dashed #ffe1a4;border-radius:18px;background:#2c251c66}.settlement:after{content:"SUPPLIES";position:absolute;inset:auto 0 8px;text-align:center;font-size:.72rem}.controls button.action-button{position:absolute;z-index:18;left:50%;bottom:28px;transform:translateX(-50%);width:auto;height:auto;min-width:190px;border:1px solid #fff9;border-radius:999px;padding:1rem 1.35rem;background:#80552ee8;color:#fff;box-shadow:0 12px 38px #0009;letter-spacing:.08em;cursor:pointer;animation:actionIn .45s both}.controls button.action-button:hover,.controls button.action-button:focus-visible{background:#a8753c;outline:3px solid #fff6}.fence{right:-120px;bottom:12%;width:75px;height:90px;border-left:8px solid #fff;border-right:8px solid #fff;background:repeating-linear-gradient(#b04436 0 10px,#fff 10px 20px);animation:fence 2.2s linear}.fence.cleared{filter:drop-shadow(0 0 10px #f6d481)}.beat{width:54px;height:54px;border:3px solid #fff;border-radius:50%;background:#d4a75b99;animation:beat 1.2s both;cursor:pointer}
#credits{background:linear-gradient(#d9815f,#e9ae79 48%,#483c35);display:grid;place-items:center;text-align:center}.credits-copy{position:relative;z-index:3}.credits-copy h2{font-size:clamp(2.2rem,6vw,4.6rem);margin:.3em;text-shadow:0 6px 25px #0008}.credits-walk{position:absolute;left:-30%;bottom:4%;display:flex;align-items:flex-end;animation:creditsWalk 14s linear infinite}.credits-walk img{width:330px}.credits-person{width:35px;height:95px;background:#28352b;border-radius:20px 20px 8px 8px;margin-left:-40px}
.hidden{display:none!important}
@keyframes rise{from{opacity:0;transform:translateY(28px)}}@keyframes breathe{50%{transform:scaleY(1.015) translateY(-2px)}}@keyframes relaxed{50%{transform:translateY(-2px) rotate(-.4deg)}}@keyframes walk{50%{transform:translateY(-8px) rotate(.5deg)}}@keyframes tired{50%{transform:translateY(8px) rotate(1.5deg)}}@keyframes jump{40%{transform:translateY(-150px) rotate(-5deg)}70%{transform:translateY(-60px) rotate(3deg)}}@keyframes pulse{50%{transform:translateX(-50%) translateY(-5px)}}@keyframes actionIn{from{opacity:0;transform:translate(-50%,15px)}}@keyframes openBook{from{transform:perspective(900px) rotateY(-88deg);opacity:0}}@keyframes write{from{width:0}to{width:100%}}@keyframes fence{to{right:110%}}@keyframes beat{from{transform:scale(.4);opacity:0}50%{transform:scale(1.15)}to{transform:scale(.75);opacity:.65}}@keyframes creditsWalk{to{left:110%}}
@media(max-width:700px){.hud{padding:12px}.hud small{font-size:.55rem}.hud strong{font-size:.82rem}.hud #chapter-marks{display:none}.objective{left:12px;top:72px}.luna{width:55vw;height:33vh;bottom:9%}.emma{width:34vw;height:52vh}.traveller{width:28vw;height:43vh;bottom:4%}.journal-book{padding:50px 28px}.journal-book p.writing{white-space:normal;animation:none}.prompt{font-size:.82rem;bottom:14px}.meter{top:auto;bottom:70px;right:12px;width:150px}}
@media(max-width:700px){.video-quiz{padding:1rem;max-height:92vh}.video-quiz h2{margin:.35rem 0 .7rem}.video-quiz-option{padding:.58rem .7rem;font-size:.78rem}.video-quiz-feedback{padding:.7rem;font-size:.78rem}}

/* Chapter III Olympic venue exploration */
.chapter3-hub{position:absolute;z-index:14;left:50%;top:51%;transform:translate(-50%,-50%);width:min(88vw,780px);display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.arena-card{min-height:150px;padding:1rem;border:1px solid #e8c477;border-radius:16px;background:rgba(54,70,52,.92);color:#fff;box-shadow:0 14px 38px #0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center;cursor:pointer;transition:.25s}
.arena-card:hover,.arena-card:focus-visible{transform:translateY(-5px);background:rgba(128,85,46,.96);outline:3px solid #fff6}
.arena-card strong{font-size:clamp(.9rem,1.7vw,1.2rem);letter-spacing:.08em;line-height:1.3}
.arena-card span{font-size:.7rem;letter-spacing:.12em;color:#f0d794}
.arena-card.completed{background:rgba(73,94,65,.88);border-color:#cde2b8;cursor:default}
.arena-card.completed span{color:#dcefd1}.arena-card:disabled{opacity:.82}
.discipline-lesson{position:absolute;z-index:14;left:50%;top:45%;transform:translate(-50%,-50%);width:min(88vw,650px);padding:1.6rem 1.8rem;background:rgba(246,237,218,.96);color:#293226;border:1px solid #d4a75b;border-radius:18px;box-shadow:0 20px 70px #000b;text-align:center}
.discipline-lesson small{color:#8b5d2f;letter-spacing:.17em}.discipline-lesson h2{margin:.4rem 0 .65rem}.discipline-lesson p{margin:0;line-height:1.55}
@media(max-width:700px){.chapter3-hub{top:50%;grid-template-columns:1fr;gap:.55rem;width:min(88vw,430px)}.arena-card{min-height:82px;padding:.7rem}.discipline-lesson{top:43%;padding:1.15rem}.discipline-lesson p{font-size:.88rem}.chapter3-hub+.action-button{bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Chapter IV horse welfare decision journey */
.welfare-lesson,.welfare-decision,.domains-panel,.domain-explanation{position:absolute;z-index:14;left:50%;top:47%;transform:translate(-50%,-50%);width:min(88vw,680px);max-height:72vh;overflow:auto;padding:1.5rem 1.7rem;background:rgba(246,237,218,.97);color:#293226;border:1px solid #d4a75b;border-radius:18px;box-shadow:0 22px 75px #000b;text-align:center}
.welfare-lesson small,.welfare-decision small,.domains-panel>small,.domain-explanation small{color:#8b5d2f;letter-spacing:.17em}.welfare-lesson h2,.welfare-decision h2,.domains-panel h2,.domain-explanation h2{margin:.4rem 0 .7rem}.welfare-lesson p,.welfare-decision p,.domains-panel p,.domain-explanation p{line-height:1.55}
.welfare-options,.domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem}.welfare-options button,.domain-grid button,.decision-feedback button,.domains-complete button,.domain-explanation button{border:1px solid #b98a4d;border-radius:12px;padding:.8rem 1rem;background:#40523d;color:#fff;font-weight:700;cursor:pointer}.welfare-options button:hover,.domain-grid button:hover{background:#80552e}.welfare-options button:disabled{opacity:.78;cursor:default}.welfare-options button.correct{background:#527347;border-color:#bfe0ac}.welfare-options button.incorrect{background:#914a42;border-color:#f0b0a9}.decision-feedback,.domains-complete{margin-top:1rem;padding:1rem;border-radius:12px;background:#e2d3b5}.decision-feedback button,.domains-complete button,.domain-explanation button{display:block;margin:.8rem auto 0;background:#80552e}.domain-grid button{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem}.domain-grid button span{font-size:.65rem;letter-spacing:.1em;color:#f0d794}.domain-grid button.checked{background:#637551;border-color:#cde2b8}.domain-explanation{z-index:30;width:min(84vw,560px)}
@media(max-width:700px){.welfare-lesson,.welfare-decision,.domains-panel,.domain-explanation{top:48%;max-height:68vh;padding:1rem;font-size:.82rem}.welfare-options,.domain-grid{grid-template-columns:1fr;gap:.45rem}.welfare-options button{padding:.6rem .7rem}.domain-grid{grid-template-columns:1fr 1fr}.domain-grid button{min-height:70px;padding:.55rem}.controls button.action-button{bottom:18px;max-width:88vw}}

/* V16: visible tack fitting states and a guaranteed Chapter IV continuation */
.controls button.action-button.chapter-next{bottom:92px;background:#9a6735;box-shadow:0 0 0 4px #f0c97955,0 14px 40px #000b;animation:actionIn .45s both,pulseNext 1.4s ease-in-out infinite}
.luna .tack-layer{position:absolute;z-index:3;display:none;pointer-events:none}
.luna.tack-pad .saddle-pad-layer{display:block;left:22%;top:30%;width:42%;height:30%;border:2px solid #c3a36e;border-radius:45% 28% 24% 35%;background:repeating-linear-gradient(45deg,#ead9b8 0 8px,#d4bd93 9px 10px),repeating-linear-gradient(-45deg,transparent 0 8px,#cbb181 9px 10px);box-shadow:0 3px 4px #0005;transform:rotate(2deg)}
.luna.tack-saddle .saddle-layer{display:block;left:25%;top:23%;width:35%;height:25%;border:3px solid #4b2c19;border-radius:55% 32% 40% 28%;background:linear-gradient(155deg,#9a673d 0 42%,#5c351f 44% 72%,#2f1c13 74%);box-shadow:inset -7px -7px #3b2216,0 5px 6px #0007;transform:rotate(2deg)}
.luna.tack-saddle .saddle-layer:after{content:"";position:absolute;right:8%;top:-28%;width:38%;height:48%;border:7px solid #58331f;border-bottom:0;border-radius:70% 70% 0 0;transform:rotate(12deg)}
.luna.tack-girth .girth-layer{display:block;left:51%;top:43%;width:6%;height:34%;border-radius:999px;background:linear-gradient(90deg,#3b2418,#835434 45%,#352116);transform:rotate(-8deg);box-shadow:1px 2px 3px #0007}
.tack-info{position:absolute;z-index:30;left:50%;top:46%;transform:translate(-50%,-50%);width:min(86vw,520px);padding:1.5rem 1.7rem;background:rgba(247,238,219,.97);color:#293226;border:2px solid #d4a75b;border-radius:18px;box-shadow:0 24px 80px #000c;text-align:left}
.tack-info small{color:#8b5d2f;letter-spacing:.16em}.tack-info h3{margin:.35rem 0 .55rem;font-size:1.45rem}.tack-info p{line-height:1.5;margin:0 0 1rem}.tack-info button{display:block;margin-left:auto;border:0;border-radius:999px;padding:.75rem 1.15rem;background:#80552e;color:#fff;font-weight:700;cursor:pointer}
@keyframes pulseNext{50%{filter:brightness(1.2);box-shadow:0 0 0 8px #f0c97922,0 16px 45px #000c}}

/* V7 interactive story scenes */
.luna.alert{transform:translateY(-9px) rotate(-1deg);filter:contrast(1.08)}
.controls button.story-item{width:104px;height:104px;border-radius:18px;padding:.65rem;font-size:.72rem;line-height:1.15;background:rgba(88,61,39,.9);transition:.25s}
.controls button.story-item:hover{transform:translateY(-5px);background:#9c7044}.controls button.story-item.used{opacity:.28;transform:scale(.86)}.controls button.story-item.rejected{background:#8d4b3f;animation:shake .35s}
.journal-token{position:absolute;z-index:7;left:52%;bottom:22%;width:150px;height:96px;border:2px solid #e7c57b;border-radius:6px 14px 14px 6px;background:linear-gradient(90deg,#7b542f,#b58a4b 48%,#6f4728 51%,#aa7c43);color:#fff4d3;box-shadow:0 0 26px #f0c975aa,0 14px 30px #0008;cursor:pointer}.journal-token:before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:1px;background:#f7dfaa66}.journal-token span{position:relative;font-size:.68rem;letter-spacing:.12em}
.distant-settlement{position:absolute;z-index:5;right:7%;bottom:17%;width:250px;height:110px;filter:drop-shadow(0 8px 6px #0007)}.tent-shape{position:absolute;left:5px;bottom:0;width:90px;height:65px;background:#846139;clip-path:polygon(50% 0,100% 100%,0 100%)}.tent-shape:after{content:"";position:absolute;left:43px;top:24px;width:4px;height:42px;background:#3d2c1f}.herd-shape{position:absolute;bottom:12px;width:60px;height:27px;border-radius:55% 45% 35% 35%;background:#49392b}.herd-shape:before{content:"";position:absolute;right:-12px;top:-7px;width:21px;height:19px;border-radius:45%;background:#49392b;transform:rotate(-18deg)}.herd-shape:after{content:"";position:absolute;left:10px;bottom:-22px;width:5px;height:25px;background:#49392b;box-shadow:29px 0 #49392b}.herd-one{left:125px}.herd-two{left:190px;transform:scale(.76)}
.apple-basket{position:absolute;left:38%;bottom:14%;width:92px;height:52px;border:5px solid #815833;border-radius:8px 8px 28px 28px;background:repeating-linear-gradient(0deg,#a77a47 0 5px,#8e643b 5px 9px);filter:drop-shadow(0 8px 5px #0008);transition:left .8s}.apple-basket:before{content:"";position:absolute;left:18px;top:-35px;width:48px;height:43px;border:5px solid #815833;border-bottom:0;border-radius:40px 40px 0 0}.apple-shape{position:absolute;left:33px;top:-13px;width:28px;height:25px;border-radius:48% 48% 55% 55%;background:#a84031}.apple-shape:after{content:"";position:absolute;left:14px;top:-7px;width:10px;height:7px;border-radius:100% 0;background:#42613b;transform:rotate(-25deg)}
.supply-scene{position:absolute;right:9%;bottom:12%;width:190px;height:95px;display:flex;align-items:flex-end;gap:8px}.supply-scene i{display:block;width:74px;height:62px;border:4px solid #5b3d25;background:linear-gradient(35deg,transparent 46%,#6f4d2e 48% 52%,transparent 54%),linear-gradient(-35deg,transparent 46%,#6f4d2e 48% 52%,transparent 54%),#a47a48;box-shadow:0 8px 14px #0006}.supply-scene span{position:absolute;left:0;right:0;bottom:-25px;text-align:center;font-size:.66rem;letter-spacing:.15em;color:#fff}.supply-scene.delivered{right:5%;opacity:.82}
.feed-station{position:absolute;z-index:7;left:50%;bottom:8%;transform:translateX(-50%);width:min(76vw,680px);height:118px}.trough{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:330px;height:84px;border:6px solid #4e321f;border-radius:10px 10px 25px 25px;background:linear-gradient(#705034,#3d291c);box-shadow:0 15px 28px #0008}.trough:after{content:"";position:absolute;left:28px;right:28px;top:14px;height:38px;border-radius:50%;background:#241b14;box-shadow:inset 0 6px 9px #000}.trough>span{position:absolute;z-index:3;left:0;right:0;bottom:7px;text-align:center;font-size:.58rem;letter-spacing:.16em;color:#ead3a8}.trough-food{position:absolute;z-index:2;left:70px;right:70px;top:13px;height:42px;display:flex;align-items:center;justify-content:center;gap:5px}.trough-portion{display:block;width:48px;height:25px;border-radius:50%}.portion-hay{background:repeating-linear-gradient(25deg,#caaa58 0 3px,#886b32 3px 5px)}.portion-oats{background:radial-gradient(ellipse at center,#d9bd78 0 36%,transparent 40%) 0 0/10px 7px}.portion-apple{background:radial-gradient(circle,#ad4939 0 55%,transparent 58%) 0 0/18px 18px}
.controls button.food-choice{top:auto;bottom:25%;width:126px;height:112px;border-radius:14px;padding:9px;background:linear-gradient(#f2e3c5,#d1ad76);border:2px solid #694a2f;color:#3d2a1c;box-shadow:0 12px 25px #0008;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.controls button.food-choice:nth-child(1){left:8%}.controls button.food-choice:nth-child(2){left:24%}.controls button.food-choice:nth-child(3){right:24%}.controls button.food-choice:nth-child(4){right:8%}.food-choice span{font-size:.72rem;letter-spacing:.1em}.food-art{display:block;width:62px;height:48px;position:relative}.food-hay .food-art{background:repeating-linear-gradient(72deg,#b99942 0 4px,#d4b45d 4px 7px);clip-path:polygon(10% 100%,22% 23%,38% 68%,53% 4%,65% 64%,82% 17%,94% 100%)}.food-oats .food-art{background:radial-gradient(ellipse at center,#b88c49 0 38%,transparent 41%) 0 0/15px 10px}.food-apple .food-art:before{content:"";position:absolute;left:15px;top:7px;width:35px;height:34px;border-radius:48% 48% 55% 55%;background:#a63d31;box-shadow:inset -7px -5px #7f2c28}.food-apple .food-art:after{content:"";position:absolute;left:33px;top:0;width:16px;height:9px;border-radius:100% 0;background:#43603a;transform:rotate(-25deg)}.food-potato .food-art:before{content:"";position:absolute;left:10px;top:9px;width:45px;height:31px;border-radius:48% 55% 45% 58%;background:#a77a4e;box-shadow:inset -7px -5px #805936}.controls button.food-choice.used{opacity:.3;transform:scale(.9)}.controls button.food-choice.rejected{background:#c9927e;animation:shake .35s}
.care-checklist{position:absolute;z-index:8;left:50%;bottom:12%;transform:translateX(-50%);width:min(88vw,620px);padding:1rem 1.15rem;background:rgba(31,39,29,.9);border:1px solid #d4a75b;border-radius:15px;box-shadow:0 16px 42px #0009;display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;color:#f6edda}.care-checklist b{grid-column:1/-1;text-align:center;letter-spacing:.16em;font-size:.72rem;color:#e8c477}.care-checklist span{position:relative;padding:.62rem .4rem .62rem 1.55rem;border:1px solid #fff3;border-radius:9px;font-size:.7rem;background:#fff1;transition:.3s}.care-checklist span:before{content:"";position:absolute;left:.55rem;top:50%;width:.55rem;height:.55rem;border:1px solid #e8c477;border-radius:50%;transform:translateY(-50%)}.care-checklist span.done{background:#637551;color:#fff}.care-checklist span.done:before{background:#e8c477;box-shadow:0 0 0 3px #e8c47733}.tack-checklist{grid-template-columns:repeat(5,1fr)}
.heritage,.eventing-map,.welfare-orbit,.discipline-stamp{position:absolute;z-index:14;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(246,237,218,.94);color:#293226;border:1px solid #d4a75b;border-radius:18px;box-shadow:0 20px 70px #0009}
.heritage{width:min(86vw,720px);padding:2rem;display:grid;grid-template-columns:100px 1fr;gap:1rem;opacity:0;transform:translate(-45%,-50%);transition:1s}.heritage.reveal{opacity:1;transform:translate(-50%,-50%)}.heritage b{font-size:2rem;color:#8b5d2f}.heritage i{grid-column:1/-1;text-align:center;border-block:1px solid #9a744a;padding:.7rem}
.discipline-stamp{padding:1.4rem 2rem;text-align:center;font-size:2rem;letter-spacing:.12em}.discipline-stamp small{font-size:.72rem;letter-spacing:.08em}
.eventing-map{width:min(90vw,680px);padding:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;text-align:center}.eventing-map b,.eventing-map small{grid-column:1/-1}.eventing-map b{font-size:2rem}.eventing-map span{background:#e7cf9f;padding:1rem .4rem;border-radius:12px}.eventing-map small{margin-top:.6rem;font-style:italic}
.welfare-orbit{width:min(88vw,620px);padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem;text-align:center}.welfare-orbit b{grid-column:1/-1;font-size:2rem}.welfare-orbit span{background:#dfe6d2;padding:.8rem;border-radius:12px}
.force-contrast{position:absolute;z-index:14;right:7%;top:28%;width:min(34vw,330px);padding:1rem 1.2rem;background:rgba(82,35,27,.88);border-left:3px solid #d9a07c;border-radius:10px;color:#fff;display:flex;flex-direction:column;gap:.35rem;animation:shake .5s}.force-contrast i{font-size:.78rem;opacity:.8}.force-contrast b{font-size:1rem}
@keyframes shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@media(max-width:700px){.journal-book p{font-size:1.25rem}.prompt{font-size:.75rem;max-width:94vw;white-space:normal;text-align:center}.controls button.story-item{width:76px;height:76px;font-size:.58rem}.heritage{grid-template-columns:70px 1fr;padding:1.2rem;font-size:.8rem}.eventing-map{padding:1.2rem;gap:.4rem}.eventing-map span{font-size:.72rem;padding:.7rem .2rem}.care-checklist,.tack-checklist{grid-template-columns:1fr 1fr;bottom:16%;padding:.7rem}.care-checklist span{font-size:.6rem;padding:.5rem .3rem .5rem 1.3rem}.care-checklist b{grid-column:1/-1}}
