@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0b1715;--panel:#132b25;--line:#2f463b;--gold:#ffca62;--cream:#f5f4e4;--muted:#a7b8a4;--green:#c9e776}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#223e31,var(--bg) 65%);color:var(--cream);font:16px/1.5 'DM Sans',system-ui,sans-serif;min-height:100vh}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #fff;outline-offset:4px}button:disabled{cursor:default}h1,h2,p{margin:0}.game{max-width:1250px;padding:25px 28px 15px;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.brand{display:flex;gap:12px;align-items:center}.brand-icon{font-size:34px}.brand h1{font:800 34px/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:1.7px}.brand div>span{font-size:12px;letter-spacing:2px;color:var(--muted);display:block;margin-top:5px}.wallet{min-width:160px;text-align:right}.wallet span{font-size:12px;letter-spacing:2px;color:var(--gold);display:block}.wallet strong{font:700 36px/1.15 'Barlow Condensed',Impact,sans-serif}.layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.farm-panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 20px 50px #0003}.vista{height:245px;position:relative;background:url('farm.jpg') center 38%/cover}.vista-shade{position:absolute;inset:0;background:linear-gradient(90deg,#051911d9,transparent 85%),linear-gradient(0deg,#112a24e6,transparent 60%)}.farm-title{position:absolute;left:28px;top:32px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:var(--gold)}.farm-title h2{font:700 42px/1.08 'Barlow Condensed',Impact,sans-serif;margin-top:10px;text-shadow:0 2px 12px #0004}.level{position:absolute;bottom:18px;left:28px;right:28px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px}.level span{background:#10251fd9;border:1px solid #8aab6f66;border-radius:40px;padding:6px 13px}.level strong{font-size:14px}.field-head{padding:21px 25px 16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.field-head h2,.section-head h2{font:700 27px/1.2 'Barlow Condensed',Impact,sans-serif}.field-head p{font-size:14px;color:var(--muted);margin-top:4px}.ready-count{background:#33462d;color:var(--green);font-size:13px;white-space:nowrap;padding:6px 10px;border-radius:30px}.plots{padding:0 25px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.plot{position:relative;min-height:113px;border-radius:12px;background:#253a2b;border:1px solid #587044;padding:12px 5px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .15s,background .2s;overflow:hidden}.plot:hover:not(:disabled){transform:translateY(-3px)}.plot .crop{font-size:35px;line-height:1.2;display:block;margin-bottom:7px}.plot .plot-label{font-size:13px;font-weight:700;position:relative}.plot.empty{border:1px dashed #688456;background:#1d3127}.plot.empty .crop{opacity:.65;font-size:28px}.plot.growing{background:#284329}.plot.ripe{background:#53472b;border-color:#c9a64b;box-shadow:inset 0 0 18px #ffbd4217}.plot.ripe .crop{animation:sway 2.5s ease-in-out infinite}.plot.ripe .plot-label{color:var(--gold)}.plot.locked{background:#11231c;border-color:#273a2b;color:#788b78}.plot.locked .crop{font-size:23px;opacity:.65}.plot .growth{position:absolute;bottom:0;left:0;height:3px;background:var(--green);transition:width .2s linear}.field-actions{padding:18px 25px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary,.secondary{border-radius:10px;padding:12px 15px;font-weight:700;min-height:48px;border:1px solid #688353}.primary{background:var(--gold);border-color:var(--gold);color:#252619;box-shadow:0 3px 0 #b48432}.primary:active{transform:translateY(2px);box-shadow:none}.secondary{background:#253f2e;color:#e0e7d0}.primary:disabled,.secondary:disabled{opacity:.45;box-shadow:none}.stats{display:flex;justify-content:space-between;gap:12px;background:#0f231d;border-top:1px solid var(--line);padding:16px 25px}.stats span{display:block;font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:14px;margin-top:3px;color:var(--green)}.sidebar{display:flex;flex-direction:column;gap:18px}.george{display:flex;align-items:center;gap:14px;padding:15px;background:#1c332a;border:1px solid var(--line);border-radius:15px}.george img{height:78px;width:78px;object-fit:cover;border-radius:50%;border:2px solid var(--gold);flex-shrink:0}.george .eyebrow{font-size:11px}.george p{font-size:14px;margin-top:4px;line-height:1.4}.upgrades{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#12291f}.section-head{padding:18px 18px 13px;display:flex;justify-content:space-between;align-items:center;gap:10px}.section-head>span{font-size:10px;letter-spacing:1px;color:var(--muted);max-width:60px;text-align:right}.upgrade{display:flex;align-items:center;text-align:left;width:100%;gap:12px;border:0;border-top:1px solid #2b4033;background:transparent;padding:17px 16px;transition:background .2s}.upgrade:hover:not(:disabled){background:#2b422e}.upgrade:disabled{opacity:.6}.upgrade.purchased{opacity:1;background:#19382b}.upgrade-icon{font-size:27px}.upgrade-copy{flex:1;min-width:0}.upgrade-copy>strong{display:block;font-size:15px}.upgrade-copy small{font-size:10px;color:var(--muted);display:block;font-weight:500;letter-spacing:1px;margin-top:2px}.upgrade-copy>span{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:5px}.upgrade-copy>b{display:block;color:var(--gold);font-size:14px;margin-top:6px}.buy-label{font-size:11px;font-weight:700;padding:6px 8px;border:1px solid #5f754b;border-radius:7px;color:var(--green)}.goal{border:1px solid #647046;background:linear-gradient(135deg,#33412a,#1a2c23);border-radius:15px;padding:19px}.goal strong{display:block;font:700 25px 'Barlow Condensed',Impact,sans-serif;margin-top:4px}.goal p{font-size:13px;color:#c2cdb8;margin:5px 0 14px}.goal progress{width:100%;height:8px;display:block;accent-color:var(--gold);border:none;border-radius:10px;overflow:hidden;background:#0b1c15}.goal progress::-webkit-progress-bar{background:#0b1c15}.goal progress::-webkit-progress-value{background:var(--gold);border-radius:10px}.goal>span{font-size:12px;color:var(--muted);display:block;text-align:right;margin-top:7px}footer{text-align:center;font-size:12px;color:#829584;margin:22px 0 8px}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--gold);color:#223020;padding:12px 20px;border-radius:12px;box-shadow:0 8px 30px #0005;font-weight:700;text-align:center;z-index:10;transition:opacity .2s,transform .2s;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes sway{50%{transform:rotate(8deg)}}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 310px}.game{padding:20px}.plots{grid-template-columns:repeat(3,1fr)}.field-head,.stats{padding-left:18px;padding-right:18px}.plots{padding:0 18px}.field-actions{padding:18px}.vista{height:225px}}@media(max-width:740px){.game{padding:16px 13px}.top{margin-bottom:17px}.brand h1{font-size:28px}.brand div>span{font-size:10px;letter-spacing:1.4px}.brand-icon{font-size:27px}.wallet{min-width:80px}.wallet strong{font-size:31px}.layout{grid-template-columns:1fr;gap:18px}.vista{height:190px;background-position:center 37%}.farm-title{top:22px;left:20px}.farm-title h2{font-size:34px}.farm-title .eyebrow{font-size:10px}.level{left:20px;right:20px;bottom:12px}.level span{padding:4px 9px;font-size:12px}.level strong{font-size:12px}.plot{min-height:98px}.plot .crop{font-size:31px}.field-head p{font-size:12px}.field-head{gap:8px}.ready-count{font-size:12px}.stats{gap:8px;padding:14px 16px}.stats strong{font-size:13px}.stats span{font-size:11px}.sidebar{gap:15px}.upgrade-copy small{display:inline;margin-left:7px}.upgrade-copy>span{font-size:13px}.upgrade{padding:16px 18px}.george img{height:64px;width:64px}.george p{font-size:14px}.section-head>span{max-width:none}.plot .plot-label{font-size:12px}footer{font-size:11px;padding:0 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Cozy farm playfield */
:root{color-scheme:light;--bg:#203b32;--panel:#fff1cc;--line:#98754b;--gold:#ffd26a;--cream:#352b20;--muted:#706344;--green:#406d32}body{background:#23473d;color:var(--cream)}.top{color:#fff3ca}.brand div>span{color:#ded49b}.wallet span{color:#ffd26a}.game{max-width:1400px}.layout{grid-template-columns:minmax(0,1fr) 330px}.farm-panel{border:4px solid #7b5232;border-radius:6px;box-shadow:0 5px 0 #14291e}.field-head{background:#fff1cc;padding:17px 20px}.field-head h2{font-family:Georgia,serif;font-size:25px}.ready-count{background:#d4e8a4;color:#34532d;border-radius:4px}.farm-map{position:relative;aspect-ratio:3/2;background:#85ad4e url('farm-map.png') center/100% 100%;image-rendering:pixelated;border-top:3px solid #7b5232;border-bottom:3px solid #7b5232}.map-caption{position:absolute;left:3%;top:3%;right:3%;display:flex;justify-content:space-between;gap:6px;color:#fff6d7;font-size:14px;text-shadow:1px 2px #324329}.map-caption span,.map-caption strong{background:#30452de0;padding:5px 9px;border:2px solid #dec896;border-radius:3px}.plots{position:absolute;left:35%;top:42%;width:50%;height:45%;padding:0;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);gap:3px}.plot{min-height:0;padding:2px;border:2px solid #6b442a;border-radius:2px;background:#956039d9;box-shadow:inset 0 -3px #5a352733;overflow:visible}.plot .crop{font-size:clamp(17px,2.5vw,33px);margin:0;line-height:1}.plot .plot-label{font-size:12px;line-height:1.1;color:#fff5cf;background:#53311fc9;position:absolute;bottom:-7px;padding:1px 3px;border-radius:2px;z-index:1;white-space:nowrap;opacity:0;pointer-events:none}.plot:hover .plot-label,.plot:focus-visible .plot-label{opacity:1}.plot.empty{background:#8e5e38b3;border:2px solid #68472f}.plot.empty .crop{font-size:22px;color:#ebd39f}.plot.growing{background:#815633bb;border-color:#624326}.plot.ripe{background:#a77d3bc9;border-color:#ffdd76;box-shadow:0 0 0 1px #715028}.plot.locked{background:#48642d80;border:1px dashed #d9d39177;color:#fff8cd}.plot.locked .crop{font-size:14px}.plot .growth{height:3px;background:#b7df62}.crop-picker{display:flex;align-items:center;gap:12px;padding:14px 20px;flex-wrap:wrap;border-bottom:1px solid #d0b27b;font-size:14px}.crop-picker label{font-weight:700}.crop-picker select{background:#fff9e7;border:2px solid #ad8955;border-radius:4px;font:inherit;max-width:100%;padding:8px;color:#352b20}.crop-picker>span{font-size:14px;color:#706344}.field-actions{padding:15px 20px}.primary,.secondary{border-radius:4px;border:2px solid #8e6b39}.secondary{background:#d9e3a8;color:#33462a}.primary{color:#473016}.stats{background:#ead5a4;border-color:#b3945c;padding:13px 20px}.stats span{font-size:14px}.stats strong{font-size:15px;color:#3b612e}.george{background:#fff1cc;border:3px solid #7b5232;border-radius:5px}.george .eyebrow{color:#8a5b2b}.george img{border-radius:6px;border-color:#967442}.upgrades{background:#fff1cc;border:3px solid #7b5232;border-radius:5px}.section-head>span{font-size:12px;max-width:75px;color:#79643e}.upgrade{border-color:#d3b57e}.upgrade:hover:not(:disabled){background:#f4dfab}.upgrade:disabled{opacity:.7}.upgrade.purchased{background:#d9e5b1}.upgrade-copy small{font-size:12px;color:#73603b}.upgrade-copy>span{font-size:14px;color:#766344}.upgrade-copy>b{color:#775020}.buy-label{color:#3c5b2c;border-color:#9f9a62;font-size:12px}.goal{background:#ecd9a5;border:3px solid #7b5232;border-radius:5px}.goal .eyebrow{color:#865322}.goal p,.goal>span{font-size:14px;color:#6c5938}.goal progress{height:12px}.goal progress::-webkit-progress-bar{background:#92764b}footer{color:#c9d4b7;font-size:14px}#toast{border:3px solid #76542f;border-radius:4px}.brand h1{font-family:Georgia,serif;font-size:28px;letter-spacing:1px}@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 300px}.plots{grid-template-columns:repeat(6,1fr)}.plot .crop{font-size:22px}}@media(max-width:740px){.layout{grid-template-columns:1fr}.game{padding:14px 10px}.brand h1{font-size:23px}.brand div>span{font-size:12px;letter-spacing:0}.farm-map{aspect-ratio:3/2}.plots{grid-template-columns:repeat(6,1fr);gap:2px}.plot{min-height:0}.plot .crop{font-size:20px}.plot.locked .crop{font-size:12px}.plot.empty .crop{font-size:17px}.map-caption{font-size:12px}.map-caption span,.map-caption strong{padding:3px 5px}.field-head{padding:14px}.field-head p{font-size:14px}.field-head h2{font-size:22px}.stats span{font-size:14px}.stats strong{font-size:14px}.crop-picker{padding:12px 14px;gap:8px}.crop-picker>span{width:100%}.crop-picker select{flex:1}.upgrade-copy small{display:block;margin-left:0}.field-actions{padding:14px}.ready-count{font-size:14px}}
.farm-map{background-image:url('farm-neglected.png');isolation:isolate}.repair-layer{position:absolute;inset:0;background:url('farm-map.png') center/100% 100%;opacity:0;transition:opacity 1.4s;pointer-events:none}.repair-fence{clip-path:polygon(0 27%,32% 27%,32% 62%,100% 62%,100% 100%,0 100%)}.repair-house{clip-path:polygon(0 0,42% 0,42% 42%,0 42%)}.repair-barn{clip-path:polygon(42% 0,100% 0,100% 62%,42% 62%)}.repair-pond{clip-path:polygon(0 42%,35% 42%,35% 100%,0 100%)}.restored-fence .repair-fence,.restored-house .repair-house,.restored-barn .repair-barn,.restored-pond .repair-pond{opacity:1}.daylight{position:absolute;inset:0;pointer-events:none;transition:background 4s;z-index:3}.phase-0{background:#ffd94a09}.phase-1{background:transparent}.phase-2{background:#e77b3b22}.map-caption{z-index:6}.plots{z-index:4}.walking-george{position:absolute;left:29%;top:57%;width:5%;min-width:26px;aspect-ratio:1;object-fit:cover;border:2px solid #ffe3a2;border-radius:50%;box-shadow:0 4px 0 #0004;z-index:7;transform:translate(-50%,-50%);transition:left .65s ease,top .65s ease;pointer-events:none}.walking-george.working{animation:work-hop .3s 2}.effects{position:absolute;inset:0;pointer-events:none;z-index:9}.harvest-pop{position:absolute;color:#fff6b7;font-weight:800;font-size:20px;text-shadow:0 2px #473513,2px 0 #473513;animation:reward-rise 1.5s forwards;white-space:nowrap;transform:translateX(-50%)}.golden-pop{color:#ffdf52;font-size:25px}.golden-crop{outline:2px solid #ffe983;animation:golden-glow 1.3s infinite alternate}.plot.ripe .crop{animation:sway 2s ease-in-out infinite}.harvest-bounce .crop{animation:crop-pop .4s!important}.farm-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 18px;background:#3b5840;color:#fff4cc;font-size:14px}.farm-toolbar #combo{color:#ffe198}.farm-toolbar button{background:#263f30;border:1px solid #93a572;border-radius:4px;padding:7px 9px;white-space:nowrap;font-size:14px}.restoration{margin:16px 18px 0;background:#fff9e5;border:2px solid #cfb17a;border-radius:6px;padding:15px;display:grid;grid-template-columns:1fr auto;gap:10px 15px;box-shadow:0 3px 0 #bda36c55}.restoration .eyebrow{color:#8c6634;font-size:12px}.restoration h2{font-family:Georgia,serif;font-size:23px;margin-top:4px}.restoration p{font-size:14px;color:#786344;margin-top:4px}.order-action{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px}.order-action span{font-size:14px;font-weight:700;color:#53733a}.order-action button{font-size:14px;min-height:42px;padding:8px 12px}.restoration progress{grid-column:1/-1;width:100%;height:12px;accent-color:#79a94b}.restoration progress::-webkit-progress-bar{background:#e4d3a9;border-radius:5px}.restoration progress::-webkit-progress-value{background:#79a94b;border-radius:5px}.layout{grid-template-columns:minmax(0,1fr) 300px}.george p{font-size:16px}.upgrade{padding:13px 14px}.section-head h2{font-family:Georgia,serif;font-size:23px}@keyframes reward-rise{0%{opacity:1;translate:0 0}80%{opacity:1}100%{opacity:0;translate:0 -65px}}@keyframes crop-pop{40%{transform:scale(1.5) rotate(-12deg)}100%{transform:scale(1)}}@keyframes work-hop{50%{margin-top:-5px}}@keyframes golden-glow{to{box-shadow:0 0 14px #ffe55d}}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.george{grid-column:1/-1}.farm-map .crop{font-size:30px}}@media(max-width:540px){.sidebar{display:flex}.farm-toolbar{flex-wrap:wrap;gap:6px;padding:10px 12px}.farm-toolbar #combo{order:3;width:100%;font-size:14px}.restoration{margin:12px 12px 0;padding:12px;grid-template-columns:1fr}.restoration h2{font-size:22px}.order-action{flex-direction:row;align-items:center;justify-content:space-between}.farm-map .crop{font-size:20px}.harvest-pop{font-size:16px}.plot:focus-visible .plot-label{opacity:1}.stats{flex-wrap:wrap}.map-caption{font-size:12px}.walking-george{min-width:24px}.farm-map{aspect-ratio:1.25}.plots{height:45%}}@media(prefers-reduced-motion:reduce){.walking-george,.repair-layer,.daylight{transition:none}.harvest-pop{animation:none;opacity:1}}
.season-strip{margin:14px 18px 0;border:2px solid #8da86a;background:#e6edc9;padding:12px 14px;border-radius:6px}.season-strip>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.season-strip strong{font:700 20px Georgia,serif}.season-strip p{font-size:15px;margin-top:5px;color:#425b32}.season-strip span{font-size:14px;color:#5d6547}.season-strip #activeEffect{display:block;margin-top:5px}.farm-map:before{content:'';position:absolute;inset:0;background:url('farm-neglected.png') center/100% 100%;z-index:-1;transition:filter 2s}.farm-map{background-image:none}.farm-map[data-season='spring']:before,.farm-map[data-season='spring'] .repair-layer{filter:saturate(1.08)}.farm-map[data-season='summer']:before,.farm-map[data-season='summer'] .repair-layer{filter:saturate(1.2) brightness(1.08)}.farm-map[data-season='autumn']:before,.farm-map[data-season='autumn'] .repair-layer{filter:sepia(.55) saturate(1.4) hue-rotate(-18deg)}.farm-map[data-season='winter']:before,.farm-map[data-season='winter'] .repair-layer{filter:saturate(.22) brightness(1.3) contrast(.82)}.repair-layer{transition:opacity 1.4s,filter 2s}.farm-map[data-season='winter']{background:#dce9e5}.farm-map[data-season='autumn']{background:#a97839}#farmEvent{width:min(520px,calc(100% - 28px));max-height:85dvh;padding:0;border:4px solid #85603e;border-radius:12px;background:#fff4d4;color:#352b20;box-shadow:0 20px 70px #0006}#farmEvent::backdrop{background:#10271dcc;backdrop-filter:blur(4px)}.event-card{padding:25px}.event-card .eyebrow{color:#875b31;font-size:12px}.event-card h2{font:700 28px Georgia,serif;margin-top:10px}.event-card>p{font-size:16px;margin-top:12px;line-height:1.5}#eventChoices{display:grid;gap:12px;margin-top:20px}.event-choice{display:block;width:100%;text-align:left;padding:15px;border:2px solid #9aab70;border-radius:7px;background:#e7edc6;color:#34452a;min-height:75px}.event-choice strong{display:block;font-size:17px}.event-choice span{display:block;font-size:14px;margin-top:5px;line-height:1.5}.event-choice:hover:not(:disabled){background:#d6e6a3;border-color:#597842}.event-choice:disabled{opacity:.55;cursor:not-allowed}.event-card .event-note{font-size:14px;color:#786b4a;margin-top:18px}@media(max-width:540px){.season-strip{margin:12px 12px 0;padding:11px}.season-strip>div{flex-wrap:wrap;gap:3px}.season-strip strong{font-size:19px}.event-card{padding:18px}.event-card h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.farm-map:before,.repair-layer{transition:none}}
[hidden]{display:none!important}.helper-card{overflow:hidden;border:3px solid #7b5232;border-radius:6px;background:#fff1cc}.helper-card>img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover;object-position:center 40%}.helper-card>div{padding:14px}.helper-card h2{font:700 22px Georgia,serif;margin:6px 0}.helper-card p{font-size:15px;color:#67573b}.helper-card .eyebrow{color:#a6436c;font-size:12px}.helper-marker{position:absolute;width:5%;min-width:26px;aspect-ratio:1;object-fit:cover;object-position:50% 36%;border-radius:50%;border:2px solid #ff93c4;z-index:7;transform:translate(-50%,-50%);left:39%;top:49%;transition:left .7s,top .7s;pointer-events:none}.farm-activities{margin:0 18px 18px;border-top:2px solid #d1b984;padding-top:17px}.activities-heading h2{font:700 25px Georgia,serif}.activities-heading p{font-size:15px;color:#786344;margin-top:4px}.inventory{margin:12px 0;padding:11px 12px;border:1px solid #c6ae77;border-radius:5px;background:#f8e5b5;font-size:15px;font-weight:700;white-space:pre-wrap;line-height:1.8}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.activity{padding:15px;background:#fff9e7;border:2px solid #cdb17b;border-radius:6px}.activity h3,.project-card h3,.supply-order h3{font:700 21px Georgia,serif;margin:0}.activity p,.project-card p,.supply-order p{font-size:14px;color:#73633f;margin:8px 0;line-height:1.5}.activity>button{width:100%;margin-top:7px}.activity #fishResult,.activity #forageResult{min-height:42px}.fishing-meter{height:28px;background:#a8c9d2;position:relative;border:2px solid #526f64;border-radius:5px;overflow:hidden;margin:13px 0;opacity:.55}.fishing-meter.casting{opacity:1}.fishing-meter>span{position:absolute;left:36%;width:28%;height:100%;background:#6b9f41;border-left:2px solid #e4ed9c;border-right:2px solid #e4ed9c}.fishing-meter>b{position:absolute;left:0;top:0;width:5px;height:100%;background:#fff7cf;box-shadow:0 0 0 1px #4d5143}.forage-spots{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}.forage-spots button{flex:1;background:#dce8b8;border:1px solid #859c62;border-radius:4px;font-size:14px;padding:10px 6px;min-height:44px}.project-card{padding:16px;border:2px solid #b39b64;background:#eadbb0;border-radius:6px;margin-top:12px}.project-card .eyebrow{color:#8b6430;font-size:12px}.project-card h3{margin-top:5px}.project-card button{margin-right:5px}.supply-order{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;margin-top:12px;background:#e1e6bf;border:2px solid #a0ad76;border-radius:6px}.supply-order button{font-size:14px;flex-shrink:0}.farm-activities button:disabled{opacity:.5}@media(max-width:540px){.activity-grid{grid-template-columns:1fr}.farm-activities{margin:0 12px 14px}.supply-order{flex-direction:column;align-items:stretch}.activity #fishResult,.activity #forageResult{min-height:0}.helper-card>img{max-height:300px}.inventory{font-size:14px}.activity h3,.project-card h3,.supply-order h3{font-size:21px}}@media(prefers-reduced-motion:reduce){.helper-marker{transition:none}}
#gameControls{border:0;padding:0;margin:0;min-width:0}#gameControls:disabled{opacity:.55}.save-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:-8px 0 15px;color:#e1edc5;font-size:14px}.save-bar button{background:#fff1cc;color:#4b3c25;border:1px solid #cdb680;border-radius:4px;padding:7px 12px}.layout{grid-template-columns:minmax(0,1fr) 285px}.farm-activities{padding:10px 0;margin-bottom:8px;border:0}.farm-activities .activities-heading,.farm-activities .activity-grid{display:none}.inventory{margin:0;font-size:14px}.world-sprite{position:absolute;background-image:url('farm-sprites.png');background-size:300% 200%;width:17%;aspect-ratio:1;z-index:5;pointer-events:none;image-rendering:pixelated}.dock-sprite{left:12%;top:57%;background-position:0 0}.stand-sprite{left:45%;top:22%;background-position:50% 0}.coop-sprite{left:70%;top:22%;background-position:100% 0}.chicken{width:4%;z-index:6}.chicken-one{left:83%;top:34%;background-position:0 100%;animation:chicken-roam 9s ease-in-out infinite alternate}.chicken-two{left:77%;top:33%;background-position:50% 100%;animation:chicken-roam 12s ease-in-out infinite alternate-reverse}.map-place{position:absolute;z-index:8;background:#fff3d3ed;color:#42331e;border:2px solid #8e7549;border-radius:7px;padding:7px 10px;font-size:14px;min-height:44px;box-shadow:0 3px #624b2d66;white-space:nowrap;touch-action:manipulation}.map-place:hover{background:#ffdf8e;transform:translateY(-2px)}.pond-place{left:5%;top:73%}.woods-place{left:7%;top:32%}.workshop-place{left:33%;top:24%}.town-place{left:49%;top:34%}.coop-place{left:74%;top:34%}#activityDialog{width:min(560px,calc(100% - 24px));max-height:85dvh;overflow:auto;border:3px solid #805d38;border-radius:10px;background:#fff3d1;color:#382f21;padding:20px;box-shadow:0 15px 70px #0007}#activityDialog::backdrop{background:#10271dbb;backdrop-filter:blur(3px)}.place-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.place-header h2{font:700 25px Georgia,serif}.place-header button{background:#dce8b9;border:2px solid #91a165;border-radius:5px;padding:9px 12px;font-size:14px;min-height:44px}#placeContent .activity,#placeContent .project-card,#placeContent .supply-order{margin:0;padding:15px}#placeContent .project-card button{display:block;width:100%;margin-top:10px}#placeContent .supply-order{display:block}#placeContent .supply-order button{width:100%;margin-top:10px}.farm-map{aspect-ratio:1.5}.plots{gap:4px}@keyframes chicken-roam{0%{translate:0 0}50%{translate:12px -5px}100%{translate:-8px 7px}}@media(max-width:900px){.layout{grid-template-columns:1fr}}@media(max-width:540px){.farm-map{aspect-ratio:1.1}.map-place{font-size:12px;padding:5px 7px}.woods-place{left:2%;top:29%}.workshop-place{left:29%;top:23%}.town-place{left:48%;top:32%}.coop-place{left:76%;top:32%}.pond-place{left:2%;top:74%}.plots{left:35%;top:45%;height:43%;gap:2px}.map-caption{top:2%}.world-sprite{width:19%}.chicken{width:5%}#activityDialog{padding:14px}.save-bar{margin-top:0}.inventory{line-height:1.8}.helper-card>img{max-height:260px}}@media(prefers-reduced-motion:reduce){.chicken{animation:none}}
.farm-task{margin:14px 18px 0;padding:14px 16px;background:#f9e1a1;border:2px solid #b88c47;border-radius:7px;display:grid;grid-template-columns:1fr auto;gap:10px;box-shadow:0 3px 0 #d0af7055}.farm-task .eyebrow{color:#8a5c28;font-size:12px}.farm-task h2{font:700 22px Georgia,serif;margin-top:5px}.farm-task p{font-size:15px;color:#705b35;margin-top:5px}.farm-task>div:nth-child(2){display:flex;flex-direction:column;gap:6px;align-items:stretch}.farm-task #taskCount{font-size:14px;font-weight:700;text-align:right}.farm-task button{font-size:14px;padding:7px 10px;min-height:40px}.farm-task progress{grid-column:1/-1;width:100%;height:10px;accent-color:#709843}.animal-care,.crafting{margin-top:12px;padding:15px;background:#fff9e7;border:2px solid #cdb17b;border-radius:6px}.animal-care h3,.crafting h3{font:700 22px Georgia,serif;margin:0}.animal-care p,.crafting p{font-size:15px;line-height:1.5;color:#706141;margin:10px 0}.animal-care button{display:block;width:100%;margin-top:10px}.crafting button{display:block;width:100%;padding:14px;text-align:left;border:2px solid #9eac76;border-radius:6px;background:#e7edc6;color:#34452a;margin-top:10px;min-height:64px}.crafting button strong{display:block;font-size:16px}.crafting button span{display:block;font-size:14px;margin-top:5px;line-height:1.5}.crafting button:disabled{opacity:.55}.crafting button.crafted{background:#cbdca6;opacity:1}.crafting button:hover:not(:disabled){background:#d5e7a8}.animal-care button:disabled{opacity:.55}#placeContent .crafting{margin-top:12px}@media(max-width:540px){.farm-task{margin:12px 12px 0;grid-template-columns:1fr;padding:12px}.farm-task>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;align-items:center}.farm-task #taskCount{grid-column:1/-1;text-align:left}.farm-task h2{font-size:21px}.animal-care,.crafting{padding:12px}}
/* Seasonal world and illustrated farm characters */
.farm-map{--season-position:0% 0%}.farm-map[data-season='spring']{--season-position:0% 0%}.farm-map[data-season='summer']{--season-position:100% 0%}.farm-map[data-season='autumn']{--season-position:0% 100%}.farm-map[data-season='winter']{--season-position:100% 100%}.farm-map:before{background-image:url('seasonal-farm.png');background-size:200% 200%;background-position:var(--season-position);filter:none!important}.repair-layer{background-image:url('farm-neglected.png');opacity:1}.restored-fence .repair-fence,.restored-house .repair-house,.restored-barn .repair-barn,.restored-pond .repair-pond{opacity:0}.repair-fence{clip-path:polygon(0 90%,100% 90%,100% 100%,0 100%)}.repair-house{clip-path:polygon(7% 1%,36% 1%,36% 28%,7% 28%)}.repair-barn{clip-path:polygon(64% 1%,86% 1%,86% 29%,64% 29%)}.repair-pond{clip-path:polygon(1% 44%,29% 44%,29% 79%,1% 79%)}.walking-george,.helper-marker{width:9%;min-width:48px;aspect-ratio:1;background-image:url('farm-characters.png');background-size:200% 200%;background-repeat:no-repeat;border:0;border-radius:0;box-shadow:none;image-rendering:pixelated;transform:translate(-50%,-82%);transition:left .7s ease-in-out,top .7s ease-in-out;z-index:7}.character-george{background-position:0 0}.character-helper{background-position:100% 0}.character-george.working{background-position:0 100%;animation:character-work .4s 2}.character-helper.working{background-position:100% 100%;animation:character-work .4s 3}.walking-george.walking{animation:character-walk .22s 3}.farm-toolbar{flex-wrap:wrap}.farm-toolbar #farmMood{width:100%;font-size:14px;color:#d6e5bc;border-top:1px solid #ffffff20;padding-top:7px}.plot.growing .plot-label{opacity:1;bottom:4px;background:#3a321ad9;font-size:12px;padding:3px 4px}.plot.empty .plot-label{opacity:1;bottom:3px;font-size:12px;background:transparent;color:#ffeac0}.plot.locked{opacity:.55;box-shadow:none}.plot.growing .crop{margin-bottom:9px}.plot .growth{height:5px}.plot.ripe{animation:ready-pulse 2.5s ease-in-out infinite}.farm-map[data-season='winter'] .map-place{background:#eef7f3ee;border-color:#748f91}.farm-map[data-season='autumn'] .map-place{background:#ffebc6ee;border-color:#98632b}@keyframes character-walk{50%{translate:0 -3px}}@keyframes character-work{50%{translate:0 -2px;rotate:-3deg}}@keyframes ready-pulse{50%{box-shadow:0 0 0 2px #ffe98566}}@media(max-width:540px){.walking-george,.helper-marker{min-width:42px;width:10%}.plot.growing .plot-label{font-size:12px;padding:2px;bottom:2px}.plot .crop{font-size:21px}.plot.growing .crop{margin-bottom:12px}.farm-toolbar #farmMood{font-size:14px}.plot.empty .plot-label{opacity:0}.plots{height:44%}}@media(prefers-reduced-motion:reduce){.walking-george,.helper-marker{animation:none!important;transition:none}.plot.ripe{animation:none}}
/* Retain the original repair stages, reveal the seasonal homestead on completion. */
.farm-map:before{background-image:url('farm-neglected.png');background-size:100% 100%;background-position:center}.farm-map[data-season='spring']:before{filter:saturate(1.08)!important}.farm-map[data-season='summer']:before{filter:saturate(1.2) brightness(1.08)!important}.farm-map[data-season='autumn']:before{filter:sepia(.55) saturate(1.4) hue-rotate(-18deg)!important}.farm-map[data-season='winter']:before{filter:saturate(.22) brightness(1.3) contrast(.82)!important}.repair-layer{background-image:url('farm-map.png');opacity:0}.restored-fence .repair-fence,.restored-house .repair-house,.restored-barn .repair-barn,.restored-pond .repair-pond{opacity:1}.repair-fence{clip-path:polygon(0 27%,32% 27%,32% 62%,100% 62%,100% 100%,0 100%)}.repair-house{clip-path:polygon(0 0,42% 0,42% 42%,0 42%)}.repair-barn{clip-path:polygon(42% 0,100% 0,100% 62%,42% 62%)}.repair-pond{clip-path:polygon(0 42%,35% 42%,35% 100%,0 100%)}.seasonal-world{position:absolute;inset:0;background-image:url('seasonal-farm.png');background-size:200% 200%;background-position:var(--season-position);opacity:0;transition:opacity 1.5s;pointer-events:none;z-index:2}.restored-pond .seasonal-world{opacity:1}.plots{left:44%;width:40%;top:46%;height:41%}.restored-pond .map-caption span{border-color:#ffe4a3}@media(max-width:540px){.plots{left:44%;width:40%;top:46%;height:41%}.plot.growing .plot-label{font-size:12px}.plot .crop{font-size:18px}}@media(prefers-reduced-motion:reduce){.seasonal-world{transition:none}}
.map-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#b6bc7b #3b5840}.map-viewport.zoomed .farm-map{min-width:900px;aspect-ratio:1.5}.map-viewport.zoomed .crop{font-size:28px}.map-viewport.zoomed .map-place{font-size:14px}.map-viewport.zoomed .walking-george,.map-viewport.zoomed .helper-marker{width:7%}.map-viewport.zoomed .plot .plot-label{font-size:14px}@media(max-width:540px){.map-viewport.zoomed .farm-map{min-width:720px}.map-viewport.zoomed .crop{font-size:25px}}
.mastery-card{background:#edf0cf;border:3px solid #7b5232;border-radius:6px;padding:16px}.mastery-card .eyebrow{color:#765b32;font-size:12px}.mastery-card h2{font:700 22px Georgia,serif;margin-top:6px}.mastery-card>div{margin-top:14px;border-top:1px solid #c6cb9b;padding-top:11px}.mastery-card strong{display:block;font-size:15px}.mastery-card progress{width:100%;height:9px;accent-color:#638e47;margin-top:6px}.mastery-card p{font-size:14px;line-height:1.4;color:#626342;margin-top:5px}.contracts{background:#fff8df;border:2px solid #c8ad73;border-radius:6px;padding:15px;margin-bottom:12px}.contracts .eyebrow{color:#866132;font-size:12px}.contracts h3{font:700 23px Georgia,serif;margin:6px 0}.contracts p{font-size:15px;color:#73613f;line-height:1.5;margin:9px 0}.contracts h4{font:700 21px Georgia,serif;margin:10px 0}.contracts #contractOffers{display:grid;gap:10px;margin-top:13px}.contracts #contractOffers>button{display:block;width:100%;text-align:left;border:2px solid #91a76d;border-radius:6px;background:#e3ebc0;padding:13px;color:#36462a}.contracts #contractOffers strong{display:block;font-size:16px}.contracts #contractOffers span{display:block;font-size:14px;line-height:1.5;margin-top:6px}.contracts #contractOffers>button:hover{background:#d4e6a5}.contracts #activeContract>button{display:block;width:100%;margin:8px 0}.contracts #activeContract>button:disabled{opacity:.5}.contracts #contractNeeds{font-weight:700;background:#eee4ba;padding:10px;border-radius:4px}.contracts #contractsCount{font-size:14px;color:#5c713e}.sidebar{gap:14px}@media(max-width:900px){.mastery-card{grid-column:1/-1}.mastery-card>div{display:inline-block;vertical-align:top;width:31%;margin-right:2%}.mastery-card>div:last-child{margin-right:0}}@media(max-width:540px){.mastery-card>div{display:block;width:100%;margin-right:0}.contracts{padding:12px}}
.start-menu{position:relative;isolation:isolate;border:4px solid #755332;border-radius:12px;overflow:hidden;min-height:560px;background:#284432;box-shadow:0 18px 50px #0004}.menu-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,#13291df5 0%,#183323d9 45%,#203a2555 100%),url('farm-map.png') center/cover;z-index:-1}.menu-content{max-width:860px;padding:44px 40px;color:#fff2cb}.menu-content>.eyebrow{font-size:14px;letter-spacing:1.6px;color:#ffdb78}.menu-content>h2{font:700 54px/1.08 Georgia,serif;margin:14px 0;text-shadow:0 3px 10px #0003}.menu-content>p{font-size:18px;line-height:1.6;max-width:490px;color:#e3e9c8;margin-bottom:24px}.continue-card{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px;background:#fff0cde8;border:2px solid #c8b073;border-radius:7px;margin-bottom:14px;color:#3d3421}.continue-card strong{display:block;font:700 23px Georgia,serif}.continue-card span{display:block;font-size:14px;line-height:1.5;color:#655d3d;margin-top:5px}.continue-card button{flex-shrink:0}.menu-content>#showFarmSetup{min-width:210px}.menu-button{border:2px solid #9eaa70;background:#3c573a;border-radius:5px;padding:9px 14px;color:#fff1cb;font-size:14px;margin-left:auto;margin-right:22px}.menu-content #farmSetup{background:#fff1d4f5;border:2px solid #b69760;border-radius:8px;padding:20px;color:#40351f}.menu-content #farmSetup>label:first-child{display:block;font-size:16px;font-weight:700;margin-bottom:7px}.menu-content #farmName{display:block;width:100%;padding:12px 13px;font:16px system-ui;border:2px solid #a78e59;border-radius:5px;background:#fffdf3;color:#40351f;min-height:46px}.farm-choices{border:0;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-width:0}.farm-choices legend{font-size:17px;font-weight:700;margin-bottom:12px}.farm-choice{position:relative;display:flex;align-items:flex-start;gap:8px;padding:14px 11px;background:#fff9e7;border:2px solid #cbb77e;border-radius:6px;cursor:pointer}.farm-choice:has(input:checked){background:#e2ebbb;border-color:#628347;box-shadow:0 0 0 1px #628347}.farm-choice input{margin:5px 0 0;accent-color:#628347;min-width:16px;min-height:16px}.farm-choice strong{display:block;font-size:17px;line-height:1.3}.farm-choice b{display:block;font-size:14px;line-height:1.5;margin-top:8px;color:#536537}.farm-choice small{display:block;font-size:14px;line-height:1.5;margin-top:6px;color:#766546}.farm-choice-note{font-size:14px;color:#746545;margin:13px 0}.replace-notice{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.5;background:#ffe0ba;border:1px solid #c89254;border-radius:5px;padding:12px;margin-top:12px}.replace-notice input{margin-top:4px;min-width:18px;min-height:18px;accent-color:#8b5e33}.setup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.menu-content button:disabled{opacity:.55}.start-menu:has(#farmSetup:not([hidden])) .menu-content>h2{font-size:36px}.start-menu:has(#farmSetup:not([hidden])) .menu-content>p{display:none}.start-menu:has(#farmSetup:not([hidden])) .menu-content{max-width:1000px}.start-menu:has(#farmSetup:not([hidden])){min-height:0}@media(max-width:740px){.menu-content{padding:32px 22px}.menu-content>h2{font-size:43px}.start-menu{min-height:510px}.farm-choices{grid-template-columns:1fr}.farm-choice{padding:13px}.farm-choice b{margin-top:4px}.farm-choice small{margin-top:3px}.continue-card{flex-direction:column;align-items:stretch;gap:12px}.menu-button{margin-right:10px;padding:8px;font-size:14px}.top{flex-wrap:wrap;gap:10px}.menu-content #farmSetup{padding:16px}.menu-backdrop{background-position:center right}.setup-actions button{flex:1}.start-menu:has(#farmSetup:not([hidden])) .menu-content>h2{font-size:30px}.menu-content>p{font-size:16px}}
.farm-nav{display:flex;gap:7px;flex-wrap:wrap;padding:12px;background:#e9d7a5;border-top:2px solid #a58a55;border-bottom:2px solid #a58a55}.farm-nav button,.farm-nav .nav-place{position:static;min-height:46px;flex:1;padding:10px 11px;border:2px solid #8c9b65;border-radius:6px;background:#fff4d4;color:#403a25;box-shadow:0 2px #a68e56;font-size:15px;white-space:nowrap;transform:none}.farm-nav button[aria-pressed='true']{background:#d2e6a5;border-color:#54773d}.farm-nav button:hover{background:#e1edbe}.map-viewport{touch-action:pan-x pan-y}.pan-hint{display:none;color:#6f6747;font-size:14px}.field-head{flex-wrap:wrap}.field-head .pan-hint{width:100%;order:3}#activityDialog{position:static;width:auto;max-height:none;overflow:visible;border:0;border-bottom:2px solid #a98e56;border-radius:0;box-shadow:none;margin:0;background:#fff1d0;padding:16px}#activityDialog .place-header{position:sticky;top:0;background:#fff1d0;padding:5px 0;z-index:10}#activityDialog .place-header h2{font-size:24px}#placeContent{max-width:850px;margin:auto}.calendar-goals{padding:14px;background:#fff9e8;border:2px solid #cbb078;border-radius:6px}.calendar-goals>h3{font:700 25px Georgia,serif;margin:0}.calendar-goals>p{font-size:14px;line-height:1.5;color:#75633f}.goal-period{margin-top:18px}.goal-period h4{font:700 21px Georgia,serif;margin:8px 0}.calendar-goal-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:12px 0;border-top:1px solid #d7c695}.calendar-goal-row span{font-size:15px}.calendar-goal-row progress{grid-column:1;grid-row:2;width:100%;height:10px;accent-color:#719b47}.calendar-goal-row button{grid-column:2;grid-row:1/3;font-size:14px;min-height:44px;padding:9px 12px;background:#dce8b9;border:2px solid #8fa369;border-radius:5px;color:#3c512f}.calendar-goal-row button:disabled{opacity:.6}.portrait{background-image:url('neighbor-portraits.png');background-size:200% 200%;background-repeat:no-repeat;aspect-ratio:1;border:3px solid #b39759;border-radius:9px}.portrait-george{background-position:0 0}.portrait-helper{background-position:100% 0}.portrait-mae{background-position:0 100%}.portrait-theo{background-position:100% 100%}.conversation-portraits{display:flex;gap:14px;margin-bottom:18px}.conversation-portraits>div{flex:1;max-width:170px}.conversation-portraits .portrait{width:100%}.conversation-portraits strong{display:block;text-align:center;margin-top:5px;font-size:15px}.conversation-portraits>div:last-child{max-width:115px;align-self:end;opacity:.9}#neighborDialog{width:min(510px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:4px solid #85603e;border-radius:10px;background:#fff2cf;color:#3c321f;padding:20px}#neighborDialog::backdrop{background:#14302399}.neighbor-closeup{display:grid;grid-template-columns:1fr .7fr;gap:12px;align-items:end}#neighborDialog h2{font:700 26px Georgia,serif;margin:15px 0 8px}#neighborDialog p{font-size:16px;line-height:1.5;margin:0 0 16px}#neighborDialog>button{width:100%}.farm-preview{display:block!important;width:100%;aspect-ratio:1.5;border-radius:5px;margin:9px 0;background-size:200% 200%;background-position:0 0;border:1px solid #aa9766}.preview-crop{background-image:url('seasonal-farm.png')}.preview-riverside{background-image:url('riverside-farm.png')}.preview-woodland{background-image:url('woodland-farm.png')}.farm-map[data-farm='riverside']{--farm-art:url('riverside-farm.png')}.farm-map[data-farm='woodland']{--farm-art:url('woodland-farm.png')}.farm-map[data-farm='crop']{--farm-art:url('seasonal-farm.png')}.farm-map:not([data-farm='crop']):before{background-image:var(--farm-art);background-size:200% 200%;background-position:var(--season-position);filter:none!important}.farm-map:not([data-farm='crop']) .repair-layer{display:none}.seasonal-world{background-image:var(--farm-art,url('seasonal-farm.png'))}.farm-choices .farm-choice>span{min-width:0;width:100%}#farmEvent{max-height:90dvh}.event-card{padding:18px}.event-card h2{font-size:25px}.event-card .event-note{font-size:14px}@media(max-width:740px){.game{padding:10px 8px 20px}.top{gap:8px;margin-bottom:10px}.brand h1{font-size:22px}.brand-icon{font-size:24px}.brand div>span{font-size:12px}.wallet strong{font-size:28px}.menu-button{min-height:44px}.farm-panel{border-width:2px}.field-head{padding:12px}.field-head h2{font-size:21px}.field-head p{font-size:14px}.pan-hint{display:block}.field-actions{padding:10px;gap:10px}.field-actions button{min-height:48px}.farm-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:9px;gap:6px}.farm-nav button{font-size:14px;padding:9px 3px;white-space:normal;min-width:0;box-shadow:none}.farm-nav .nav-place{font-size:14px;padding:9px 3px}.farm-toolbar{padding:10px;gap:8px}.farm-toolbar #combo{display:none}.farm-toolbar #farmMood{font-size:14px}.sidebar .george,.sidebar .helper-card,.sidebar .goal{display:none}.sidebar:empty{display:none}#activityDialog{padding:12px}.place-header h2{font-size:22px!important}.place-header button{min-height:44px}.calendar-goals{padding:12px}.calendar-goal-row{gap:8px}.calendar-goal-row button{padding:8px;font-size:14px;min-width:86px}.event-card h2{font-size:23px}.conversation-portraits>div{max-width:155px}.conversation-portraits>div:last-child{max-width:110px}.event-choice{padding:12px;min-height:66px}.event-choice span{font-size:14px}.save-bar{font-size:13px}.start-menu{border-width:2px}.menu-content{padding:26px 17px}.menu-content>h2{font-size:38px}.menu-content #farmSetup{padding:12px}.farm-choice strong{font-size:18px}.farm-choice input{min-width:20px;min-height:20px}.farm-choices .farm-preview{aspect-ratio:2.1}.map-caption{font-size:14px}.map-viewport.zoomed .map-caption{font-size:14px}.map-viewport.zoomed .plot{min-height:44px}.map-viewport.zoomed .plot .crop{font-size:26px}.map-viewport.zoomed .plot.growing .plot-label{font-size:14px}.walking-george,.helper-marker{min-width:50px}.map-viewport.zoomed .walking-george,.map-viewport.zoomed .helper-marker{width:8%}.crop-picker select{font-size:16px;min-height:44px}.inventory{font-size:14px}.farm-task h2,.restoration h2{font-size:21px}.stats{font-size:14px}.calendar-goal-row span{font-size:15px}#toast{bottom:max(12px,env(safe-area-inset-bottom));font-size:15px;padding:12px;max-width:calc(100% - 20px)}footer{font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:540px){.top{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.top .brand{grid-column:1;grid-row:1;gap:0}.top .brand-icon,.top .brand div>span{display:none}.top .brand h1{font-size:19px;letter-spacing:.4px;white-space:nowrap}.top .wallet{grid-column:3;grid-row:1;min-width:65px}.top .wallet strong{font-size:27px}.top .wallet span{font-size:12px;letter-spacing:1px}.top .menu-button{grid-column:2;grid-row:1;margin:0;padding:8px;font-size:14px}.top:has(.menu-button[hidden]){grid-template-columns:1fr auto}.top:has(.menu-button[hidden]) .wallet{grid-column:2}.save-bar{margin:8px 0 12px}.farm-nav{position:relative;z-index:0}}
/* A village beyond the farm gate, with visits kept below the scene. */
.town-header{padding:16px 20px;background:#fff1cc;display:flex;gap:15px;justify-content:space-between;align-items:center}.town-header .eyebrow{color:#80572c}.town-header h2{font:700 26px Georgia,serif;margin:4px 0 6px}.town-header p{font-size:15px;color:#706344}.town-header button{flex-shrink:0}.town-map{position:relative;aspect-ratio:3/2;background:#9cbd6a url('town-square.png') center/100% 100%;border-block:3px solid #7b5232;overflow:hidden;cursor:pointer}.town-map .walking-george{left:50%;top:76%;width:7%;min-width:35px}.town-resident.portrait{position:absolute;width:6%;min-width:32px;aspect-ratio:1;border:2px solid #ffdfa3;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 4px 8px #0005;pointer-events:none;background-size:200% 200%}.town-resident.portrait-helper{border-color:#f4a3ce}.town-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:14px;background:#ead5a4}.town-nav button{min-height:48px;border:2px solid #a37b47;border-radius:5px;background:#fff7df;color:#45301e;font-size:15px;font-weight:700;padding:8px}.town-nav button:hover{background:#dcebb6}#townStatus{padding:0 16px 14px;background:#ead5a4;font-size:15px}.town-shop,.town-cafe,.town-neighbors{padding:16px;background:#fff6df;border:2px solid #c7a56c;border-radius:5px}.town-shop h3,.town-cafe h3,.town-neighbors h3{font:700 23px Georgia,serif;margin:0 0 8px}.town-shop p,.town-cafe p,.town-neighbors>p{margin:0 0 14px;font-size:16px}.shop-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shop-items button{padding:14px;text-align:left;border:2px solid #a58450;background:#fffdf0;color:#47351f;border-radius:5px;min-height:78px}.shop-items strong,.shop-items span{display:block}.shop-items strong{font-size:16px}.shop-items span{font-size:14px;margin-top:5px}.shop-items button:disabled{opacity:.5}.neighbor-card{display:flex;gap:14px;border-top:1px solid #ccb280;padding:16px 0;align-items:start}.neighbor-card .portrait{width:100px;flex-shrink:0;border:2px solid #a47f4a;border-radius:6px}.neighbor-card h4{margin:0 0 6px;font-size:17px}.neighbor-card p{margin:0 0 10px;font-size:14px}.neighbor-card button{margin:0 5px 6px 0;font-size:14px;min-height:44px;padding:8px 10px}.helper-assignments{padding:12px 16px;background:#f4dfab;border-block:1px solid #b39157;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.helper-assignments label{font-weight:700}.helper-assignments select{font:inherit;padding:9px;background:#fff8e4;color:#47351f;border:2px solid #9b7a4b;border-radius:4px;max-width:100%}.helper-assignments p{width:100%;font-size:14px;color:#695634}#townMap .walking-george{transition:left .65s,top .65s}#farmMap{cursor:pointer}#coffeeStatus{margin:12px 0 0}.farm-nav button[data-place="town"]{background:#ffe3a3}
@media(max-width:540px){.town-header{padding:14px;flex-wrap:wrap}.town-header h2{font-size:23px}.town-header button{min-height:44px}.town-map{aspect-ratio:1.15;background-size:cover;background-position:center}.town-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px}.town-nav button{font-size:14px}.town-nav button:last-child{grid-column:span 2}.shop-items{grid-template-columns:1fr}.neighbor-card .portrait{width:78px}.neighbor-card{gap:10px}.neighbor-card button{width:100%;margin-right:0}.town-shop,.town-cafe,.town-neighbors{padding:12px}.helper-assignments select{font-size:16px;flex:1}#townStatus{font-size:14px}.town-map .walking-george{min-width:36px}}
@media(prefers-reduced-motion:reduce){#townMap .walking-george{transition:none}}
.in-town>.field-head,.in-town>.farm-nav,.in-town>.helper-assignments,.in-town>.farm-toolbar,.in-town>.farm-task,.in-town>.season-strip,.in-town>.restoration,.in-town>.crop-picker,.in-town>.stats,.in-town>.farm-activities{display:none!important}.layout:has(.in-town){grid-template-columns:minmax(0,1fr)}.layout:has(.in-town)>.sidebar{display:none}.town-resident.portrait{padding:0;cursor:pointer;pointer-events:auto;min-width:44px}.town-resident:hover{outline:3px solid #ffe8a1}.town-map:focus-visible{outline:3px solid #ffca62;outline-offset:-3px}
.portrait-chip,.portrait-nate,.portrait-annoyed{background-image:url('pest-portraits.png')}.portrait-chip{background-position:100% 0}.portrait-nate{background-position:0 100%}.portrait-annoyed{background-position:0 0}.farm-visitor.portrait{position:absolute;left:8%;top:58%;width:7%;min-width:44px;aspect-ratio:1;border:3px solid #e8bd75;border-radius:50%;z-index:8;transform:translate(-50%,-50%);transition:left .8s ease;pointer-events:none}.visitor-settings{background:#fff8e4;border:2px solid #bfa06b;border-radius:5px;padding:16px;margin-top:15px}.visitor-settings h3{font:700 23px Georgia,serif;margin:0 0 8px}.visitor-settings p{font-size:15px;margin:0 0 12px}.visitor-settings>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #d6c29a;padding:12px 0}.visitor-settings span{flex:1;font-size:14px}.visitor-settings button{font-size:14px;min-height:44px}#eventGeorgeName{line-height:1.3}@media(prefers-reduced-motion:reduce){.farm-visitor.portrait{transition:none}}
.sign-in-farm{display:inline-block;text-decoration:none;margin:12px 0;color:#473016;text-align:center;min-height:48px}
/* Keep the playable grid centered inside each background's soil patch. */
.farm-map{--field-left:34%;--field-top:39%;--field-width:54%;--field-height:47%}.farm-map[data-farm='crop'].restored-pond{--field-left:41%;--field-top:44%;--field-width:50%;--field-height:43%}.farm-map[data-farm='riverside']{--field-left:48%;--field-top:44.5%;--field-width:43%;--field-height:43%}.farm-map[data-farm='woodland']{--field-left:46%;--field-top:44%;--field-width:45%;--field-height:42%}.farm-map .plots{left:var(--field-left);top:var(--field-top);width:var(--field-width);height:var(--field-height);padding:0;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}

.fish-book{margin-top:22px;border-top:2px solid #d3dcb7;padding-top:18px}.fish-book>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.fish-book h4{margin:0;font-size:18px}.fish-book>div>strong{font-size:14px;white-space:nowrap}.fish-book>p{font-size:14px;line-height:1.6;margin:12px 0}.fish-book ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0;margin:14px 0}.fish-book li{padding:12px;border:1px solid #8da06c;border-radius:10px;background:#f0f1e5}.fish-book li.discovered{background:#d8edb3;border-color:#557d36}.fish-book li strong,.fish-book li span{display:block}.fish-book li strong{font-size:15px}.fish-book li span{font-size:13px;line-height:1.5;margin-top:5px}.trail-discovery{border:2px solid #8da06c;border-radius:14px;padding:18px;margin-top:16px;background:#f1f5df}.trail-discovery h4{font-size:19px;margin:0}.trail-discovery p{font-size:16px;line-height:1.5}.trail-discovery>div{display:grid;gap:10px}.trail-discovery button{text-align:left;min-height:48px;white-space:normal;line-height:1.5}.fish-book .collection-note{font-size:13px}@media(max-width:500px){.fish-book ul{grid-template-columns:1fr}.fish-book>div{align-items:start;flex-direction:column;gap:6px}}

.fishing-stage{display:block;font-size:16px;margin:16px 0 8px;color:#294e3c}.fishing-meter{height:52px;opacity:.8;border-radius:10px;margin:12px 0;background:#9dc6d2}.fishing-meter>span{background:#8cb951;border-color:#eaffaf}.fishing-meter>b{width:8px;border-radius:4px;background:#fff9e7;transform:translateX(-50%);box-shadow:0 0 0 2px #314935}.fishing-meter.in-zone.reeling{border-color:#437c35;background:#b4d4bc}.fishing-meter.bite{border:3px solid #c77b22;background:#ffe09a}.reel-progress{margin:12px 0 16px}.reel-progress label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}.reel-progress progress{width:100%;height:16px;accent-color:#568a35}.activity #fishAction{min-height:58px;font-size:18px;touch-action:none;user-select:none;-webkit-user-select:none}.activity #fishAction.hook-ready{background:#f8cc5c;color:#3f4526;border-color:#947029;box-shadow:0 0 0 3px #fff1b6}.activity .reel-hint{font-size:14px;line-height:1.6;padding:10px 12px;background:#e8f0d8;border-radius:8px}.activity #fishResult{font-size:16px;line-height:1.6}.fishing-meter:not(.reeling):not(.bite):not(.casting){opacity:.55}

/* A familiar farmhand and a small, readable flock. */
.portrait-helper{background-position:100% 100%}.helper-marker,.character-helper.working{background-image:url('neighbor-portraits.png');background-size:200% 200%;background-position:100% 100%;border:2px solid #ddc08c;border-radius:50%;width:7%;min-width:36px;aspect-ratio:1;box-shadow:0 2px 5px #241b1955}.helper-card>.portrait{width:100%;height:auto;aspect-ratio:1.5;background-position:100% 100%;background-size:200% 200%;border-radius:0;border:0}.helper-card .eyebrow{color:#6c7137}.town-resident.portrait-helper{border-color:#ddc08c}
.flock-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:10px}.flock-list li{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #c6a775;border-radius:8px;background:#fff6da}.flock-icon{font-size:32px}.flock-list li>div{flex:1;min-width:0;display:grid;gap:4px}.flock-list strong{font-size:17px}.flock-list li span:not(.flock-icon){font-size:14px;color:#695637}.flock-list button{min-height:46px;font-size:14px;max-width:140px}.animal-care>button{min-height:48px;margin:6px 5px 6px 0}.animal-care p{font-size:16px;line-height:1.5;margin:10px 0}.flock-expansion{padding:12px;border:1px solid #c6a775;border-radius:8px;margin:12px 0}.flock-expansion summary{font-size:17px;font-weight:700;cursor:pointer;padding:6px 0}.flock-expansion button{display:block;width:100%;margin-top:10px;min-height:48px}.flock-map-button{position:absolute;left:76%;top:42%;z-index:9;padding:4px 7px;min-height:36px;border:2px solid #795734;border-radius:8px;background:#fff1cc;font-size:14px;color:#4b381e}.animal-care #animalResult:empty{display:none}@media(max-width:440px){.flock-list li{gap:8px;padding:10px}.flock-list button{max-width:110px;padding:8px}.flock-icon{font-size:27px}}

.land-panel{padding:16px;border:2px solid #b99a63;border-radius:8px;background:#fff5d6}.land-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.land-heading h3{font:700 23px Georgia,serif}.land-heading strong{font-size:14px;color:#655131}.land-scene{position:relative;width:100%;max-width:480px;margin-inline:auto;aspect-ratio:1;background-image:url('land-parcels.webp');background-size:200% 200%;border:2px solid #85643c;border-radius:9px;overflow:hidden;image-rendering:auto}.land-scene[data-season="winter"]{filter:saturate(.55)}.land-scene[data-season="autumn"]{filter:saturate(1.15)}.land-scene>span{position:absolute;left:10px;right:10px;bottom:10px;padding:10px;background:#fff1d3ed;border:1px solid #9d7946;border-radius:6px;font-size:16px;color:#473821}.land-panel h4{font:700 22px Georgia,serif;margin:16px 0 8px}.land-panel p{font-size:16px;line-height:1.5;margin:10px 0;color:#655131}.land-actions{display:grid;gap:9px;margin:12px 0}.land-actions button{width:100%;min-height:50px;font-size:16px}.land-panel progress{width:100%;height:14px;accent-color:#577d33}.land-purchase{border:1px solid #b69962;border-radius:8px;padding:12px;margin:16px 0;background:#efdfb1}.land-purchase summary{font-size:18px;font-weight:700;padding:6px 0;cursor:pointer}.land-purchase label{display:block;font-size:16px;margin:12px 0 8px}.land-purchase select{width:100%;min-height:48px;font-size:16px}.land-purchase button{min-height:50px;width:100%;font-size:16px}.land-owned{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.land-owned button{display:flex;align-items:center;gap:10px;text-align:left;min-height:80px;background:#fff3ce;border:2px solid #b69962;border-radius:8px;padding:10px;color:#483b22}.land-owned button[aria-pressed="true"]{border-color:#537332;background:#e4ebbd}.land-thumb{flex-shrink:0;width:54px;height:54px;background-image:url('land-parcels.webp');background-size:200% 200%;border-radius:6px}.land-row-copy{display:grid;gap:5px;min-width:0}.land-row-copy strong{font-size:16px}.land-row-copy>span{font-size:14px;color:#655131}#landResult:empty{display:none}@media(max-width:520px){.land-owned{grid-template-columns:1fr}.land-heading{display:block}.land-heading strong{display:block;margin-top:6px}.land-panel{padding:12px}} 

/* Farm growth is visible without adding more management screens. */
.roaming-chicken{animation:chicken-roam 10s ease-in-out infinite alternate}.young-chicken{scale:.7;filter:sepia(.35) saturate(1.2)}.coop-sprite{transform-origin:center bottom;transition:transform .3s ease}.mobile-farm-dock{display:none}.mobile-picker,.mobile-activity{color:#4a3b23;background:#fff1d0;border:2px solid #886239;border-radius:18px 18px 0 0}.mobile-picker::backdrop,.mobile-activity::backdrop{background:#142919aa;backdrop-filter:blur(2px)}.mobile-picker{width:min(560px,100%);max-height:70dvh;margin:auto auto 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));}.picker-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.picker-header h2{font:700 23px Georgia,serif}.picker-header button,.mobile-activity .place-header button{min-height:44px;padding:9px 12px;font-size:14px}.mobile-picker .farm-nav{padding:16px 0 0;border:0;background:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mobile-picker .farm-nav button{min-height:58px;font-size:16px}.mobile-activity{width:min(600px,100%);max-height:82dvh;margin:auto auto 0;padding:0 16px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.mobile-activity .place-header{position:sticky;top:0;z-index:12;padding:12px 0;background:#fff1d0;display:flex;gap:8px;border-bottom:1px solid #bba16b;margin-bottom:12px}.mobile-activity .place-header h2{flex:1;font:700 20px/1.15 Georgia,serif}.mobile-activity .place-header button{flex-shrink:0}.mobile-activity .calendar-goals>.farm-task,.mobile-activity .calendar-goals>.restoration{margin-top:16px}.mobile-activity .helper-assignments{margin:12px 0;border:1px solid #b99b65;padding:12px;border-radius:8px}.mobile-activity .helper-assignments select{font-size:16px;width:100%;min-height:48px}.mobile-activity .land-scene{max-width:400px}.mobile-activity .land-panel{padding:10px}.mobile-activity #toast{position:sticky;bottom:10px;left:auto;right:auto;transform:none;margin:12px auto 0;max-width:100%;width:fit-content;pointer-events:none}.mobile-activity #toast:not(.visible){display:none}
@media(max-width:700px){body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.mobile-farm-dock{position:fixed;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));left:0;right:0;bottom:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:7px;background:#345442f5;border-top:2px solid #a1b57d;z-index:25;box-shadow:0 -3px 14px #10261b22}.mobile-farm-dock button{display:grid;align-content:center;gap:3px;min-height:54px;border:1px solid #9dab70;border-radius:10px;background:#f4e7c1;color:#45391f;font-size:16px;font-weight:700}.mobile-farm-dock button[aria-pressed="true"]{background:#d0e6a3;border-color:#d9edab}.mobile-farm-dock small{font-size:12px;font-weight:400}.field-head p,.field-head .pan-hint{display:none}.field-head{padding:10px 12px}.field-actions{padding:10px}.farm-toolbar{padding:10px}.season-strip{margin:10px;padding:10px}.crop-picker{margin:10px;padding:10px}.mobile-picker .farm-nav{display:grid}.mobile-activity .upgrades{border:0}.mobile-activity .mastery-card{margin-top:14px}#toast{bottom:calc(82px + env(safe-area-inset-bottom));top:auto;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.roaming-chicken{animation:none}.coop-sprite{transition:none}}

/* Keep the touch target fixed throughout casting, hooking and reeling. */
.activity #fishAction{min-height:64px;-webkit-touch-callout:none;overflow-anchor:none}
.activity #fishAction.reel-held{background:#548647;color:#fff;border-color:#355b2e;box-shadow:inset 0 3px 0 #355b2e}
.activity #reelProgressRow{min-height:44px}
.activity #reelHint{min-height:66px}
.activity #fishResult{min-height:78px}
.activity #fishingStage{min-height:48px}

@media(pointer:coarse){.reel-keyboard-hint{display:none}}
@media(max-width:700px){[data-panel="pond"]>h3{display:none}}

.activity #fishAction:active{transform:none}

.portrait-gus,.portrait-june,.portrait-milo,.town-resident.portrait-gus,.town-resident.portrait-june,.town-resident.portrait-milo{background-image:url('town-neighbors.webp');background-size:300% 100%}
.portrait-gus{background-position:0 50%}.portrait-june{background-position:50% 50%}.portrait-milo{background-position:100% 50%}
.neighbor-card>div:last-child{min-width:0;flex:1}.neighbor-card .neighbor-about{font-size:14px;line-height:1.5;color:#715f42}

.farm-decorations{position:absolute;inset:0;z-index:5;pointer-events:none}.farm-decoration{position:absolute;width:15%;aspect-ratio:1;transform:translate(-50%,-65%);background-image:url('farm-decorations.webp');background-size:200% 200%;background-repeat:no-repeat;pointer-events:none}
.decoration-panel{padding:16px;margin:14px 0;background:#fff8e5;border:2px solid #c7a56c;border-radius:7px}.decoration-panel h3{font:700 23px Georgia,serif;margin:0 0 8px}.decoration-panel p{font-size:16px;line-height:1.5}.decoration-panel label{display:block;font-weight:700;font-size:16px;margin-bottom:8px}.decoration-panel select{width:100%;font:inherit;font-size:16px;min-height:48px;padding:10px;background:#fff4ce;border:2px solid #a58b57;border-radius:5px;color:#483b29}.decor-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.decor-choices button{display:flex;align-items:center;gap:8px;padding:10px;text-align:left;border:2px solid #a1915f;border-radius:6px;background:#edf0ce;color:#403a25;min-height:90px}.decor-thumb{flex-shrink:0;width:56px;aspect-ratio:1;background-image:url('farm-decorations.webp');background-size:200% 200%;background-repeat:no-repeat}.decor-choices strong,.decor-choices button span span{display:block}.decor-choices strong{font-size:16px}.decor-choices button span span{font-size:14px;line-height:1.5;margin-top:5px}.decor-choices button:disabled{opacity:.6}.decor-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.decor-actions button{flex:1;min-height:48px}.decoration-panel #decorResult{min-height:48px;color:#67573b}@media(max-width:540px){.decor-choices{grid-template-columns:1fr}.decor-thumb{width:60px}.decor-choices button{min-height:82px}}

.fishing-meter.bite{background:#a4cbd8;border:2px solid #527460}.fishing-meter #fishPerfect{position:absolute;top:0;height:100%;background:#ffd466;border-inline:2px solid #b78025;box-sizing:border-box}.activity .tap-fishing-hint{font-size:14px;line-height:1.5;margin:10px 0}.activity #fishAction{touch-action:manipulation;min-height:64px}.activity #fishAction:disabled{opacity:.7;cursor:default}.neighbor-closeup:has(#conversationGeorge[hidden]){grid-template-columns:1fr}.neighbor-closeup:has(#conversationGeorge[hidden])>.portrait{max-width:210px}
