@font-face{font-family:FarmSerif;src:local('Georgia')}*{box-sizing:border-box} :root{color-scheme:dark;--bg:#151c18;--panel:#1d2620;--ink:#f0ecdd;--muted:#b2b7a6;--gold:#dcbd78;--line:#465043;--sage:#9ebc8e;--red:#e79680}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,a,input,textarea{touch-action:manipulation}button{font:inherit;color:var(--ink);background:#263129;border:1px solid #56614e;border-radius:5px;padding:10px 16px;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#384732;border-color:var(--gold)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.48;cursor:default}.primary{background:var(--gold);border-color:var(--gold);color:#20261c;font-weight:650}.primary:hover:not(:disabled){background:#ecd29a;color:#111b13}.quiet{background:transparent;border-color:transparent;color:var(--muted)}.large{padding:15px 24px;min-width:220px}.large span{float:right;margin-left:30px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400}h2{font-size:32px;line-height:1.2;margin-bottom:16px}p{margin-bottom:16px}.eyebrow,.section-label{font-size:10px;letter-spacing:2.1px;font-weight:650;color:var(--gold)}.section-label{color:var(--muted);margin:28px 0 8px}.muted,.small{color:var(--muted)}.small{font-size:13px}.topbar{height:82px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #62674a55;background:#141c17;position:relative;z-index:5}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink);font-family:Georgia,serif;letter-spacing:3px;font-size:16px;white-space:nowrap}.brandmark{width:40px;height:44px;display:grid;place-items:center;border:1px solid #b69757;color:var(--gold);font-size:16px;letter-spacing:-1px;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);background:#293021}.brand small{display:block;letter-spacing:2.8px;font-family:inherit;font-size:9px;color:var(--gold);margin-top:4px}.chapter-label{color:var(--muted);font-size:10px;letter-spacing:2px}.topbar nav{display:flex;gap:7px}.topbar nav button{background:transparent;border-color:#46504380;padding:8px 12px;font-size:12px}.topbar nav button span{background:#435039;border-radius:3px;padding:1px 5px;margin-left:5px}.title-screen{position:relative;min-height:calc(100svh - 82px);background:url('assets/art/farm.png') center/cover;overflow:hidden}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111d17f5 0%,#142018cf 28%,#131e1750 65%,#17211610),linear-gradient(0deg,#131c17 0%,transparent 35%)}.title-copy{position:relative;z-index:1;padding:65px 6vw 110px;max-width:640px}.title-copy h1{font-size:clamp(72px,8vw,122px);line-height:.88;letter-spacing:-4px;margin:30px 0 25px}.title-copy h1 em{color:var(--gold);font-weight:400}.subtitle{font-family:Georgia,serif;font-size:24px;font-style:italic;color:#e1dcc9}.intro-copy{color:#d4d7c8;font-size:16px;line-height:1.8;margin:25px 0}.title-actions{display:flex;flex-wrap:wrap;gap:12px}.edition{font-size:10px;letter-spacing:1.9px;color:var(--gold);margin:27px 0 0}.edition span{color:#c5c8b5;font-size:11px;letter-spacing:1px}.title-footer{position:absolute;bottom:24px;left:6vw;right:6vw;display:flex;gap:30px;color:#aeb69f;font-size:11px}.title-footer span+span:before{content:'·';margin-right:30px;color:var(--gold)}#playShell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100svh - 82px)}.sidebar{padding:30px 22px;background:linear-gradient(140deg,#263124,#17211b);border-right:1px solid #465043;display:flex;flex-direction:column}.sidebar h1{font-size:30px;line-height:1.13;margin:12px 0 16px}.sidebar>p{font-size:13px;color:var(--muted)}.sidebar .objective{color:var(--ink);font-size:14px}.quest-list{display:flex;flex-direction:column;gap:8px}.quest{display:flex;text-align:left;align-items:center;gap:10px;padding:10px;background:#151f1880;border-color:#48523f;font-size:13px}.quest .check{width:21px;height:21px;display:grid;place-items:center;border:1px solid #738063;border-radius:50%;color:var(--gold);flex-shrink:0}.quest small{display:block;font-size:11px;color:var(--muted)}.quest.done{border-color:#667953}.quest.done .check{background:#74825b;color:#111a13}.profile{margin-top:auto;padding-top:30px}.profile strong,.profile>span{display:block}.profile strong{font-family:Georgia,serif;font-weight:400;font-size:20px;margin:6px 0}.profile>span{font-size:12px;color:var(--gold)}.save-status{font-size:10px;color:#9fac91;margin-top:13px}.world-column{background:#101713;display:flex;flex-direction:column;justify-content:center;min-width:0}.world-frame{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;background:#313a2c}canvas{width:100%;height:100%;display:block;touch-action:none}.location{position:absolute;top:19px;left:22px;display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px;color:#f2edd7;text-shadow:0 1px 4px #000;background:#172016b8;border:1px solid #d0bf7f44;padding:8px 12px;border-radius:3px;pointer-events:none}.location-dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}.task-banner{position:absolute;top:18px;right:20px;max-width:50%;background:#182117ec;border:1px solid #9f9a68;padding:10px 15px;font-size:13px}.interact-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%)}.interact-hint button{background:#1b261be8;border-color:var(--gold);white-space:nowrap;box-shadow:0 4px 20px #0008}.world-message{position:absolute;top:68px;left:50%;transform:translateX(-50%);background:#172318e8;color:#eee6c8;max-width:80%;text-align:center;padding:8px 16px;font-size:13px;border-radius:4px;pointer-events:none}.world-message:empty{display:none}.controlbar{padding:18px 20px;display:flex;gap:15px;justify-content:space-between;align-items:center;border-top:1px solid #495039;font-size:11px;min-height:79px}.controlbar>div{display:flex;align-items:center;flex-wrap:wrap;gap:9px}kbd{border:1px solid #6c715750;border-radius:3px;padding:3px 6px;color:#dad8bd;font:10px/1.4 inherit;white-space:nowrap}.primary kbd{color:#24341c;border-color:#394f2b50}.actions button{font-size:12px;white-space:nowrap}.overlay{position:fixed;inset:82px 0 0;z-index:15;display:flex;align-items:center;justify-content:center;padding:25px;background:#0a140e8a;backdrop-filter:blur(5px);overflow:auto}.modal{background:#1b271f;border:1px solid #a7966575;box-shadow:0 28px 100px #0009;width:min(670px,100%);max-height:100%;overflow:auto;border-radius:8px;padding:32px;outline:none}.modal.story-modal{max-width:800px;width:800px;align-self:flex-end;margin-bottom:12px;background:#142019f5}.story-layout{display:grid;grid-template-columns:95px 1fr;gap:23px}.portrait{height:108px;background:radial-gradient(ellipse,#52604466,transparent 72%);overflow:hidden}.portrait svg{height:100%;width:100%}.story-modal h2{font-size:27px;margin:4px 0 11px}.story-text{font-family:Georgia,serif;font-size:20px;line-height:1.6;letter-spacing:.1px;color:#f2efdc}.story-kind{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#b9c69e}.story-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.audio-status{font-size:12px;color:var(--muted)}.story-actions{display:flex;gap:8px}.story-actions button{font-size:12px}.audio-track{height:2px;background:#5865445a;margin-top:20px}.audio-fill{height:2px;background:var(--gold);width:0}.modal .buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.modal .eyebrow{margin-bottom:10px}.answers{display:flex;flex-direction:column;gap:9px;margin:23px 0 12px}.answer{padding:15px;text-align:left;line-height:1.45}.answer.correct{border-color:#c1d995;background:#31482b}.answer.wrong{border-color:#d99479;background:#4b3328}.feedback{padding:15px;background:#101c14;border-left:3px solid var(--gold);font-size:14px;margin:17px 0}.reward{font-size:48px;font-family:Georgia,serif;color:var(--gold);margin:15px 0}.reward small{font:12px -apple-system,sans-serif;margin-left:8px}.mini-board{position:relative;min-height:190px;margin:20px 0;background:#111d16;border:1px solid #4c5b3f;border-radius:6px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px;padding:25px}.object-choice{width:125px;height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.object-choice svg{width:60px;height:60px}.egg{display:block;width:36px;height:48px;background:radial-gradient(ellipse at 28% 20%,#fff0c9,#ad9b78);border-radius:48% 48% 43% 43%;box-shadow:0 6px 12px #0006}.nest{display:flex;gap:6px;border-bottom:8px solid #756340;border-radius:50%;padding:10px}.care-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.care-row small{display:block;color:var(--muted)}.counter{display:flex;align-items:center;gap:15px}.counter button{padding:4px 11px;font-size:20px}.counter span{min-width:12px;text-align:center}.token-count{color:var(--gold);font-family:Georgia,serif;font-size:24px}.journal-entry{border-top:1px solid var(--line);padding:16px 0}.journal-entry h3{margin:3px 0 6px;font-size:22px}.journal-entry p{font-size:14px;margin:0;color:#d0d7c1}.journal-entry small{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase}textarea{width:100%;min-height:100px;font:14px/1.5 inherit;background:#111c15;border:1px solid #596848;color:var(--ink);padding:12px;border-radius:4px}label.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}label.setting small{display:block;max-width:430px;color:var(--muted);font-size:12px}input[type=checkbox]{width:21px;height:21px;accent-color:var(--gold);flex-shrink:0}input[type=range]{accent-color:var(--gold);width:130px}.meter{height:7px;background:#121b15;margin:7px 0 16px;border-radius:4px;overflow:hidden}.meter>div{height:100%;background:#adbe8b;width:100%}.meter.energy>div{background:#cbb16f}.meter-label{font-size:11px;color:#c1c9b4;display:flex;justify-content:space-between}.battle-phase{position:absolute;bottom:20px;right:20px;padding:8px 15px;background:#192117dc;font-family:Georgia,serif;border:1px solid #b69c6760}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:30;padding:14px 22px;background:#d8c08a;color:#1b2818;border-radius:5px;box-shadow:0 6px 30px #0007;max-width:90%;text-align:center;font-size:14px}.danger{border-color:#c58b71;color:#f0bea7}body.barn #world{filter:brightness(.85)}.end-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.end-stat{background:#121e16;padding:15px;text-align:center;border:1px solid #46543c}.end-stat strong{display:block;font:27px Georgia,serif;color:var(--gold)}.end-stat small{color:var(--muted);font-size:11px}[hidden]{display:none!important}body.reduced-motion *{transition:none!important;scroll-behavior:auto!important}@media(min-width:1500px){.world-frame{max-height:calc(100svh - 180px);aspect-ratio:auto;flex:1}.world-frame canvas{object-fit:contain}.world-column{justify-content:center}}@media(max-width:1000px){.topbar{padding:0 18px;height:70px}.chapter-label{display:none}#playShell{grid-template-columns:215px minmax(0,1fr);min-height:calc(100svh - 70px)}.sidebar{padding:22px 16px}.sidebar h1{font-size:25px}.sidebar>p{font-size:12px}.topbar nav button{font-size:11px;padding:7px 9px}.overlay{inset:70px 0 0;padding:18px}.controlbar .muted{display:none}.controlbar{padding:13px;flex-wrap:wrap}.task-banner{font-size:11px;padding:8px;top:55px;max-width:65%}.story-text{font-size:18px}.title-screen{min-height:calc(100svh - 70px)}}@media(max-width:700px){.topbar{height:65px;padding:0 12px;gap:8px}.brand{font-size:12px;letter-spacing:2px;gap:8px}.brandmark{width:28px;height:32px;font-size:12px}.brand small{font-size:7px;letter-spacing:1.8px}.topbar nav{gap:3px}.topbar nav button{padding:7px 6px;font-size:10px}#playShell{display:flex;flex-direction:column;min-height:calc(100svh - 65px)}.sidebar{padding:16px;display:block;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.eyebrow{font-size:9px}.sidebar h1{font-size:25px;margin:5px 0}.sidebar>p:not(.objective),.sidebar>.section-label,.profile{display:none}.sidebar .objective{margin:4px 0 12px;font-size:12px}.quest-list{flex-direction:row;overflow-x:auto;gap:6px}.quest{min-width:130px;font-size:11px;padding:7px}.quest small{font-size:9px}.quest .check{width:17px;height:17px}.world-column{flex:1;justify-content:flex-start}.world-frame{min-height:230px;aspect-ratio:16/10}.world-frame canvas{object-fit:cover}.controlbar{font-size:10px;padding:11px;gap:8px}.controlbar .quiet{padding:5px;font-size:11px}.actions button{font-size:11px;padding:10px}.overlay{inset:65px 0 0;padding:12px}.modal{padding:23px 20px}.modal.story-modal{align-self:center;margin:0}.story-layout{grid-template-columns:55px 1fr;gap:12px}.portrait{height:75px}.story-text{font-size:16px;line-height:1.55}.story-modal h2{font-size:23px}.story-footer{flex-wrap:wrap;margin-top:13px}.story-actions{margin-left:auto}.story-actions button{padding:9px 12px}.title-copy{padding:48px 28px 110px}.title-copy h1{font-size:80px}.title-copy .eyebrow{font-size:8px;letter-spacing:1.6px}.title-footer{left:28px;gap:12px;flex-wrap:wrap;font-size:10px}.title-footer span+span:before{display:none}.title-screen{min-height:calc(100svh - 65px)}.intro-copy{font-size:15px}.location{top:10px;left:10px;font-size:8px;padding:6px}.interact-hint{bottom:12px}.interact-hint button{padding:7px 12px;font-size:12px}.task-banner{top:10px;right:10px;max-width:55%;font-size:10px}.world-message{top:45px;font-size:11px;width:80%}.meter-label{display:inline-flex;width:30%;margin-right:3%;font-size:10px}.meter{display:inline-block;width:30%;margin-right:3%;height:5px}.sidebar #battlePanel{display:flex;flex-wrap:wrap}.sidebar #battleHint{display:none}.battle-phase{font-size:11px;bottom:10px;right:10px}.object-choice{width:85px;height:115px}.mini-board{gap:10px;padding:15px}.end-grid{gap:7px}.end-stat{padding:10px}.end-stat strong{font-size:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Fit the running game to the viewport; only the journal and sidebar scroll. */
.topbar{position:sticky;top:0}body.in-game{overflow:hidden}body.in-game #playShell{height:calc(100svh - 82px);min-height:0}.sidebar{overflow-y:auto}.world-column{overflow:hidden}.world-frame{max-height:calc(100svh - 161px);flex:0 1 auto}.world-frame canvas{object-fit:fill}.profile{padding-top:22px}@media(min-width:1500px){.world-frame{aspect-ratio:16/9;flex:0 1 auto;max-height:calc(100svh - 161px)}}@media(max-width:1000px){body.in-game #playShell{height:calc(100svh - 70px)}.world-frame{max-height:calc(100svh - 150px)}}@media(max-width:700px){body.in-game{overflow:auto}body.in-game #playShell{height:auto;min-height:calc(100svh - 65px)}.sidebar{overflow:visible}.world-frame{aspect-ratio:16/9;min-height:0;max-height:none}.world-frame canvas{object-fit:fill}}
.overlay:has(.story-modal){backdrop-filter:none;background:linear-gradient(0deg,#0c160dd9,transparent 75%)}
/* Farm life: tactile activities against the original painted world. */
.theme-links{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0}.theme-links button{border-radius:20px;font-size:10px;padding:5px 10px;color:#d7dfbb;border-color:#7f91605e;background:#61724425}.theme-explanation{font:19px/1.65 Georgia,serif}.modal.activity-modal{width:min(1000px,100%);padding:27px;background:linear-gradient(145deg,#263729,#14231b)}.activity-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.activity-heading h2{margin-bottom:9px}.activity-heading .eyebrow{margin-bottom:5px}.resource{border:1px solid #9e956757;border-radius:5px;padding:10px 14px;color:#efd79b;white-space:nowrap;font-family:Georgia,serif;font-size:19px}.search-map{height:300px;background:linear-gradient(#16271b20,#16271b50),url('assets/art/farm.png') center/cover;border:1px solid #b19c6566;border-radius:7px;position:relative;overflow:hidden}.map-pin{position:absolute;display:flex;align-items:center;gap:9px;background:#18271ded;font-size:12px;box-shadow:0 5px 15px #0005}.map-pin b{display:grid;place-items:center;border-radius:50%;width:26px;height:26px;background:var(--gold);color:#253320}.pin-0{left:8%;top:61%}.pin-1{left:28%;top:35%}.pin-2{right:5%;top:17%}.map-home{position:absolute;left:44%;top:12%;background:#273823ce;padding:7px;font-size:10px}.duck-parade{display:flex;gap:5px;position:absolute;bottom:12px;right:20px;min-height:35px}.duck-parade svg{width:45px;height:38px}.small-parade{position:static;justify-content:flex-end;min-height:0}.clue{color:#e1d4af;border-left:2px solid var(--gold);padding-left:13px}.search-section{position:relative;height:290px;border-radius:7px;overflow:hidden;border:1px solid #9e916055;background:linear-gradient(0deg,#16241dc9,#121c1330),url('assets/art/farm.png');background-size:cover}.area-henhouse{background-position:0 80%;background-size:160%}.area-straw{background-position:45% 55%;background-size:170%}.area-barn{background-image:linear-gradient(0deg,#16241dc9,#121c1350),url('assets/art/barn.png');background-position:center}.search-spots{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:absolute;inset:35px 28px 20px;align-items:end}.hiding-place{height:175px;background:#172519bb;border:1px solid #d1bb6c88;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:15px;font-size:12px}.hiding-place.searched{border-style:dashed}.hiding-place.searched:not(:disabled){background:#3d4c3299}.prop-picture{height:105px;width:100%;display:grid;place-items:center}.prop-picture svg{width:90px;height:90px}.straw-bale{width:95px;height:70px;display:block;transform:rotate(-6deg);background:repeating-linear-gradient(7deg,#b18b44 0 3px,#ccaa60 3px 5px);box-shadow:inset 5px 0 #806a33,inset -5px 0 #806a33;border:3px solid #9b7b3c;border-radius:8px}.wood-crate{width:84px;height:75px;background:repeating-linear-gradient(0deg,#6c5137 0 19px,#ae89574d 20px 23px);border:6px solid #9b7447;transform:rotate(5deg);box-shadow:0 8px 10px #0005}.feed-sacks{display:block;width:65px;height:95px;border-radius:25% 25% 20% 20%;background:repeating-linear-gradient(85deg,#aa956977 0 2px,transparent 2px 5px),linear-gradient(90deg,#7d6545,#d1ba8c,#8c704a);box-shadow:25px 9px 0 -9px #b09a69;transform:rotate(-8deg)}#searchFeedback{min-height:24px;margin:12px 0 0;color:#e4d7b6}.haul-route{padding:3px 10px;display:flex;justify-content:space-between;flex-wrap:wrap;color:#bebc9f;font-size:11px}.route-track{width:100%;height:53px;position:relative;border-bottom:2px dashed #948655;margin:0 0 18px}.hay-cart{position:absolute;left:0;bottom:1px;width:50px;height:35px;background:repeating-linear-gradient(4deg,#ad8b4a 0 2px,#d0b16b 2px 5px);border:3px solid #785938;border-radius:6px 6px 1px 1px;transition:left .4s}.hay-cart:before,.hay-cart:after{content:'';position:absolute;bottom:-7px;width:12px;height:12px;border:3px solid #b4965b;background:#2e3020;border-radius:50%}.hay-cart:before{left:2px}.hay-cart:after{right:2px}.haul-layout{display:grid;grid-template-columns:360px 1fr;gap:40px;align-items:center}.precision-dial{width:290px;height:290px;position:relative;margin:20px auto 20px}.dial-ring{position:absolute;inset:20px;border:5px solid #6d795249;border-radius:50%}.precision-zone{position:absolute;inset:18px;border-radius:50%;background:conic-gradient(from -34deg,#a2bf8588 0deg 21deg,#edcf7bdd 21deg 47deg,#a2bf8588 47deg 68deg,transparent 68deg);mask:radial-gradient(transparent 58%,#000 59% 70%,transparent 71%)}.haul-needle{position:absolute;inset:0;pointer-events:none}.haul-needle i{position:absolute;left:calc(50% - 7px);top:12px;width:14px;height:29px;background:#f8edc8;clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 0 4px #fff)}.dial-centre{position:absolute;inset:65px 40px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:9px}.dial-centre small{letter-spacing:2px;color:var(--muted);font-size:9px}.dial-centre strong{font:24px Georgia,serif;max-width:160px;line-height:1.1}.dial-centre strong.ready{color:#d6e8a3}.dial-centre span{font-size:11px;color:var(--muted)}.grip{position:absolute;border-radius:50%;width:44px;height:44px;padding:0;z-index:2;box-shadow:0 3px 10px #0005}.grip-0{left:calc(50% - 22px);top:-23px}.grip-1{right:-23px;top:calc(50% - 22px)}.grip-2{left:calc(50% - 22px);bottom:-23px}.grip-3{left:-23px;top:calc(50% - 22px)}.grip.active{background:var(--gold);color:#1e301b;border-color:#f6e3ab;font-weight:700;box-shadow:0 0 20px #dec57a4d}.haul-instructions{font-size:14px;max-width:340px}.haul-instructions h3{font-size:26px;margin-bottom:10px}#pullFeedback{color:var(--gold);min-height:60px;border-top:1px solid var(--line);padding-top:15px}.medal{margin:25px auto;width:105px;height:105px;border-radius:50%;display:grid;place-items:center;font:48px Georgia,serif;border:8px double #edcf7f;box-shadow:0 0 0 5px #927a4555;background:#7b632b;color:#f8eac6}.medal.silver{border-color:#d4ded5;background:#65756e;color:#f3f5f1}.medal.bronze{border-color:#cd9e72;background:#6c4a30;color:#f5d7b5}.activity-modal.result{text-align:center;width:560px}.result .buttons{justify-content:center}.song-credit{padding:13px 16px;background:#0e1e16;border-left:2px solid #b8b08c;font-size:12px;color:#b9c7aa}.rhythm-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.lyrics-window{height:285px;overflow:hidden;position:relative;mask-image:linear-gradient(transparent,#000 20%,#000 70%,transparent)}#lyricsScroll{position:relative;transition:transform .45s ease;text-align:center;padding:0 14px}#lyricsScroll p{font:22px/1.4 Georgia,serif;margin:0 0 27px;color:#8fa080;min-height:62px;transition:color .2s}#lyricsScroll p.active{color:#f2d898}.rhythm-instrument{background:#102017;border:1px solid #6e7c5255;border-radius:7px;overflow:hidden}#noteHighway{width:100%;height:auto;aspect-ratio:540/340}.rhythm-pads{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 10px}.rhythm-pads button{font-weight:bold;padding:14px}.rhythm-pads button:nth-child(1){border-color:#dfc789}.rhythm-pads button:nth-child(2){border-color:#b1ce9b}.rhythm-pads button:nth-child(3){border-color:#d0adcc}.rhythm-pads .pressed{background:#b3ad72;color:#112219}#rhythmFeedback{height:21px;margin:3px 0 10px;text-align:center;font-size:12px;color:var(--gold)}.rhythm-stats{text-align:right;min-width:75px}.rhythm-stats b{font:28px Georgia;color:var(--gold);display:block}.rhythm-stats span{font-size:11px;color:var(--muted)}.song-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.practice-lyric{padding:55px 15px;font:26px Georgia,serif;text-align:center;color:var(--gold)}.resource-strip{display:flex;flex-wrap:wrap;gap:6px;background:#101d15;padding:10px;border:1px solid #63734b77;border-radius:6px;margin:10px 0 14px}.resource-strip span{flex:1;min-width:68px;color:#b5c2a6;font-size:10px;letter-spacing:.5px}.resource-strip b{display:block;color:#e4d298;font-size:19px;font-weight:400;font-family:Georgia,serif}.farm-layout{display:grid;grid-template-columns:1fr 235px;gap:18px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:radial-gradient(ellipse,#65714066,#243721);padding:12px;border:1px solid #667144;border-radius:7px}.field{min-width:0;min-height:137px;padding:9px 5px;background:linear-gradient(145deg,#5b5031cc,#342a1ecc);border-color:#a5986166;display:flex;flex-direction:column;align-items:center;justify-content:center}.field-art{width:100%;height:90px;display:grid;place-items:center}.field-art svg{height:90px;max-width:110px}.field b{font-weight:400;font-size:11px}.field small{font-size:9px;color:#c1c7a8;display:block;margin-top:3px}.field.watered{background:#3e5145;border-color:#82a5a7}.field.ripe{border-color:#e6c677;box-shadow:inset 0 0 20px #d6b04720}.furrows,.stubble{display:block;width:90%;height:65px;background:repeating-linear-gradient(-25deg,#302719 0 6px,#7c633c 8px 13px);transform:scaleY(.6);border-radius:50%}.stubble{background:repeating-linear-gradient(65deg,#8b6d38 0 3px,#483b29 3px 14px)}.farm-workshop .section-label{margin:0 0 6px;font-size:8px;letter-spacing:1.5px}.farm-workshop button{font-size:11px;padding:8px}.farm-workshop small{display:block;font-size:9px;color:#bbc7a4}.farm-workshop>button{width:100%;margin-bottom:7px;text-align:left}.crop-choice,.farm-tools{display:flex;gap:5px;margin-bottom:12px}.crop-choice>button{flex:1}.farm-tools>button{flex:1;padding:7px 5px}.farm-workshop [aria-pressed=true]{background:#a4ae7460;border-color:var(--gold)}.farm-feedback{padding:10px 14px;margin:12px 0;background:#101d16;color:#e1d6b3;border-left:2px solid #cdb272;font-size:12px;min-height:40px}.farm-day-footer{display:flex;gap:20px;justify-content:space-between;align-items:center}.farm-day-footer p{margin:0;max-width:500px;font-size:11px}.farm-day-footer button{white-space:nowrap}.medal-journal{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.medal-chip{font-size:11px;border:1px solid #b39c5f;padding:5px 10px;border-radius:15px}.medal-chip.silver{border-color:#a1b3aa}.medal-chip.bronze{border-color:#bc8b5a}.activity-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.activity-picker button{text-align:left}.activity-picker small{display:block;color:var(--muted);font-size:11px}.modal.cinema-modal{width:min(1100px,100%);padding:0;overflow:hidden;background:#09100c}.cinema-stage{position:relative;aspect-ratio:16/9;background:#171b13}.cinema-stage video,.cinema-stage>img{width:100%;height:100%;object-fit:cover}.cinema-caption{position:absolute;bottom:0;left:0;right:0;padding:45px 35px 22px;background:linear-gradient(transparent,#071009f5);text-align:center}.cinema-caption .eyebrow{font-size:9px}.cinema-caption blockquote{font:clamp(20px,2.3vw,32px)/1.35 Georgia,serif;margin:10px auto;color:#ffefc7;max-width:850px}.cinema-tools{padding:15px 23px;display:flex;gap:15px;align-items:center;justify-content:space-between}.cinema-tools .theme-links{margin:0}.cinema-actions{display:flex;gap:7px;flex-shrink:0}.cinema-actions button{font-size:12px}.cinema-progress{height:3px;background:#394527}.cinema-progress div{height:3px;background:var(--gold);width:0}.cinema-status{padding:0 23px 13px;font-size:10px;color:#a5b597}.overlay:has(.cinema-modal){background:#061109c9;backdrop-filter:none}
@media(max-width:700px){.modal.activity-modal{padding:17px}.activity-heading{gap:10px}.activity-heading h2{font-size:25px}.activity-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.activity-modal>p{font-size:12px}.resource{font-size:16px;padding:7px}.search-map{height:280px}.map-pin{font-size:10px;padding:7px;max-width:175px}.pin-0{left:4%;top:65%}.pin-1{left:7%;top:38%}.pin-2{right:4%;top:12%}.map-home{display:none}.search-section{height:240px}.search-spots{gap:7px;inset:30px 9px 20px}.hiding-place{height:170px;padding:10px 5px;font-size:10px}.straw-bale{width:67px;height:65px}.wood-crate{width:58px;height:60px}.feed-sacks{width:45px;height:78px}.prop-picture svg{width:65px}.haul-layout{grid-template-columns:1fr;gap:15px}.precision-dial{width:250px;height:250px;margin:22px auto}.haul-instructions{max-width:none;font-size:12px}.haul-instructions h3{display:none}.haul-instructions>p:first-of-type{display:none}#pullFeedback{min-height:0;padding-top:0;border:0;margin:0 0 10px}.rhythm-layout{grid-template-columns:1fr;gap:8px}.lyrics-window{height:105px}#lyricsScroll p{font-size:18px;min-height:40px;margin-bottom:20px}#lyricsScroll{margin-top:-64px}.rhythm-instrument{max-width:420px;width:100%;margin:auto}#noteHighway{max-height:230px}.rhythm-pads button{padding:10px}.song-bottom{gap:10px}.song-bottom .small{font-size:10px}.farm-layout{grid-template-columns:1fr;gap:12px}.fields{gap:6px;padding:8px}.field{min-height:116px}.field-art,.field-art svg{height:65px}.farm-workshop{display:grid;grid-template-columns:1fr 1fr;gap:7px}.farm-workshop .section-label{display:none}.crop-choice,.farm-tools{margin:0}.farm-workshop>button{margin:0}.farm-day-footer{align-items:flex-start;gap:10px}.farm-day-footer button{white-space:normal;font-size:11px;padding:8px}.farm-feedback{font-size:11px}.resource-strip{gap:5px;padding:8px}.resource-strip span{min-width:42px;font-size:8px}.resource-strip b{font-size:17px}.activity-picker{grid-template-columns:1fr}.cinema-stage{aspect-ratio:4/3}.cinema-caption{padding:25px 17px 15px}.cinema-caption blockquote{font-size:21px}.cinema-tools{padding:12px;flex-wrap:wrap}.cinema-tools .theme-links{width:100%}.cinema-actions{margin-left:auto}.cinema-status{padding:0 12px 12px}.theme-explanation{font-size:17px}}
/* The continuous farm is the play surface. */
body.live-farm #playShell{display:block;height:calc(100svh - 82px)}body.live-farm .sidebar{display:none}body.live-farm .world-column{height:100%;display:block}body.live-farm .world-frame{width:100%;height:100%;max-height:none;aspect-ratio:auto}body.live-farm .controlbar,body.live-farm .location,body.live-farm .task-banner,body.live-farm .world-message,body.live-farm .interact-hint{display:none}body.live-farm #world{height:100%;width:100%;cursor:grab}body.live-farm #world:active{cursor:grabbing}#farmWorldUI{position:absolute;inset:0;pointer-events:none;font-size:13px;color:#2e3f2b}#farmWorldUI button{pointer-events:auto;color:#35412b;background:#f1e6c3;border-color:#aa9b6a;border-radius:7px;box-shadow:0 2px 3px #3a4b282e}#farmWorldUI button:hover{background:#fff5d6;border-color:#626f3f}#farmWorldUI .primary{background:#c4cf83;border-color:#829750}.farm-resources{position:absolute;left:230px;top:16px;right:90px;display:flex;justify-content:center;gap:7px;z-index:4}.farm-resources>span{display:grid;grid-template-columns:23px 1fr;column-gap:6px;min-width:80px;background:#f5eacadd;border:1px solid #b7a87b;border-radius:10px;padding:6px 10px;box-shadow:0 3px 0 #3e50231c}.farm-resources i{grid-row:span 2;font-style:normal;font-size:25px;line-height:34px;color:#7b713a}.farm-resources b{font:19px/1 Georgia,serif}.farm-resources small{font-size:9px;color:#67714c}.resource-water i{color:#57847f}.resource-eggs i{color:#c9ae69}.resource-timber i{color:#95704b}.farm-identity{position:absolute;top:18px;left:22px;z-index:5;text-shadow:0 1px #c4d297}.farm-identity>span{font-size:8px;letter-spacing:1.7px;font-weight:bold}.farm-identity h2{font:31px Georgia;margin:4px 0;color:#253e2c}.farm-identity small{font-size:11px}.farm-goals{position:absolute;left:20px;top:120px;width:188px;background:#f4e9cbe8;border:1px solid #b3a779;padding:15px;border-radius:12px;box-shadow:0 8px 20px #30432222;z-index:5;pointer-events:auto}.farm-goals .eyebrow{font-size:8px;color:#6d743c;letter-spacing:1.4px}.farm-goals>p{font-size:12px;line-height:1.5;margin:8px 0 12px}.farm-goals h3{margin:8px 0;font-size:23px}.animal-chips{display:flex;flex-wrap:wrap;gap:5px}.animal-chips button{padding:5px 7px;font-size:10px}.farm-goals>button{font-size:11px;width:100%;margin-top:10px;padding:9px 6px}.world-hotspots{position:absolute;inset:0;pointer-events:none;z-index:2}#farmWorldUI .map-hit{position:absolute;border:0;box-shadow:none;background:transparent;border-radius:15%;padding:0;opacity:1;pointer-events:auto;touch-action:none}#farmWorldUI .map-hit:hover{background:#f8e7a228;outline:2px solid #fff2ba99}#farmWorldUI .map-hit:focus-visible{outline:3px solid #fbe193;background:#ead57433}#farmWorldUI .plot-hit{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.farm-tools-bar{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:8px;background:#e5d3a1ed;border:1px solid #968d5c;border-radius:14px;box-shadow:0 8px 24px #2b3e253b;z-index:6;pointer-events:auto}.farm-tools-bar button{width:64px;min-height:62px;padding:5px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.farm-tools-bar button>b{font:27px/1 Georgia;color:#827342}.farm-tools-bar button>small{font-size:10px}.farm-tools-bar>span{width:5px}.farm-tools-bar button[aria-pressed=true]{background:#c1cc7e!important;border-color:#697a36!important;box-shadow:inset 0 0 0 2px #e8e9b0!important}.farm-info{position:absolute;bottom:102px;left:50%;transform:translateX(-50%);max-width:60%;font-size:11px;line-height:1.4;padding:8px 16px;background:#213c26de;color:#fff0c5;border:1px solid #e0cea166;border-radius:20px;text-align:center;z-index:5}.map-controls{position:absolute;top:18px;right:20px;display:flex;flex-direction:column;gap:5px;z-index:5}.map-controls button{width:37px;height:35px;font:20px Georgia;padding:0}.world-panel{pointer-events:auto;position:absolute;right:22px;top:123px;width:253px;background:#f2e8cceb;border:1px solid #ac9b6a;border-radius:12px;padding:20px;box-shadow:0 12px 40px #2c392b40;z-index:7}.world-panel .eyebrow{font-size:8px;color:#73834d}.world-panel h3{font-size:25px;line-height:1.1;margin:8px 0 14px}.world-panel p{font-size:12px;line-height:1.55;margin-bottom:12px}.world-panel .small{font-size:10px;color:#647145}.world-panel>button:not(.panel-close){display:block;width:100%;margin-top:8px;text-align:left;font-size:11px;padding:10px}.world-panel .panel-close{position:absolute;right:9px;top:8px;padding:0!important;width:24px;height:24px;background:transparent!important;border:0!important;box-shadow:none!important;font-size:22px}.stock-list{display:flex;flex-direction:column;gap:5px;padding:10px;background:#dbd4b377;border-radius:6px;margin-bottom:13px}.stock-list>span{display:flex;justify-content:space-between;font-size:12px;text-transform:capitalize}.world-haul{position:absolute;right:22px;bottom:135px;width:220px;background:#f3e7cbea;border:1px solid #aa9764;border-radius:13px;padding:15px;pointer-events:auto;z-index:7}.world-haul .eyebrow{color:#747645;font-size:8px;letter-spacing:1.2px}.small-dial{position:relative;width:124px;height:124px;border:5px solid #8f976b44;border-radius:50%;margin:10px auto;display:grid;place-items:center}.small-dial strong{font-size:13px;max-width:60px;text-align:center}.dial-green{position:absolute;inset:-7px;background:conic-gradient(from -34deg,#8fac5688 0deg 21deg,#cfb251 21deg 47deg,#8fac5688 47deg 68deg,transparent 68deg);border-radius:50%;mask:radial-gradient(transparent 55%,#000 56% 68%,transparent 69%)}#worldNeedle{position:absolute;inset:-6px;pointer-events:none}#worldNeedle i{position:absolute;left:calc(50% - 5px);top:0;width:10px;height:22px;clip-path:polygon(0 0,100% 0,50% 100%);background:#425332}.world-grips{display:flex;gap:6px;justify-content:center}.world-grips button{padding:6px 10px!important}.world-grips button.active{background:#b8c57c!important;outline:2px solid #718044}.world-haul p{margin:9px 0 0;font-size:10px;text-align:center;min-height:30px}
@media(max-width:1000px){body.live-farm #playShell{height:calc(100svh - 70px)}.farm-resources{left:190px;right:70px;gap:4px}.farm-resources>span{min-width:60px;padding:5px 6px;grid-template-columns:17px 1fr;column-gap:4px}.farm-resources i{font-size:21px}.farm-identity{left:16px}.farm-identity h2{font-size:25px}.farm-goals{left:12px;width:165px;top:110px;padding:12px}.world-panel{right:12px;width:225px}.farm-info{max-width:65%}.farm-tools-bar button{width:57px}.map-controls{right:12px}}
@media(max-width:700px){body.live-farm{overflow:hidden}body.live-farm #playShell{height:calc(100svh - 65px);min-height:0}.farm-identity{top:11px;left:12px}.farm-identity h2{font-size:21px;margin:2px 0}.farm-identity>span{font-size:7px}.farm-identity small{font-size:8px}.farm-resources{left:12px;right:12px;top:76px;gap:4px}.farm-resources>span{min-width:0;flex:1;grid-template-columns:1fr;text-align:center;padding:4px 2px;border-radius:6px}.farm-resources i{display:none}.farm-resources b{font-size:17px}.farm-resources small{font-size:8px}.map-controls{top:12px;flex-direction:row}.map-controls button{width:28px;height:29px}.farm-goals{top:131px;left:10px;width:145px;padding:10px;background:#f4e9cbeb}.farm-goals .eyebrow{font-size:7px}.farm-goals>p{font-size:10px;margin:5px 0 8px}.animal-chips{gap:4px}.animal-chips button{font-size:9px;padding:4px 6px}.farm-tools-bar{left:7px;right:7px;bottom:10px;transform:none;justify-content:space-between;gap:3px;padding:6px}.farm-tools-bar button{width:auto;flex:1;padding:4px 2px;min-height:47px}.farm-tools-bar button>b{font-size:20px}.farm-tools-bar button>small{font-size:8px}.farm-tools-bar>span{width:1px}.farm-info{bottom:75px;max-width:92%;width:92%;font-size:10px;padding:7px 11px;border-radius:9px}.world-panel{right:10px;top:136px;width:min(235px,65%);padding:16px;max-height:calc(100% - 240px);overflow:auto}.world-panel h3{font-size:22px}.world-panel p{font-size:11px}.world-haul{right:10px;bottom:130px;width:180px;padding:11px}.world-haul .eyebrow{font-size:7px}.small-dial{width:105px;height:105px}}
/* Keep the film, clickable themes and playback controls together in the viewport. */
.modal.cinema-modal{width:min(1100px,100%,calc((100svh - 255px)*1.7778));overflow:auto}
@media(max-width:700px){.modal.cinema-modal{width:100%}}


/* Cinematic start menu: artwork has its own identity; farm gameplay keeps its existing landscape. */
#titleScreen{background-image:url('assets/art/menu-ensemble-20260925.png');background-position:center right;background-color:#101b18}
#titleScreen .title-shade{background:linear-gradient(90deg,#101b18e6 0%,#101b18b8 27%,#101b1826 55%,transparent 78%),linear-gradient(0deg,#101b18 0%,transparent 24%)}
#titleScreen .title-copy{max-width:610px;text-shadow:0 2px 14px #0008}
@media(max-width:700px){
 #titleScreen{background-size:auto 390px;background-position:76% top;background-repeat:no-repeat}
 #titleScreen .title-shade{background:linear-gradient(0deg,#101b18 0%,#101b18  calc(100% - 390px),transparent calc(100% - 260px))}
 #titleScreen .title-copy{padding:325px 24px 100px;max-width:none}
 #titleScreen .title-copy h1{font-size:66px;line-height:.94;margin:20px 0 16px}
 #titleScreen .title-copy .intro-copy{margin:18px 0;font-size:15px}
 #titleScreen .title-actions{flex-direction:column;align-items:stretch}
 #titleScreen .title-actions button{width:100%;min-width:0}
 #titleScreen .title-footer{left:24px;right:24px;bottom:18px}
}
