/* A compact farm title, real-photo signposts, and one consistent cel-art vocabulary. */
:root{--farm-outline:#355d31;--farm-paper:#fff8db;--farm-gold:#ffd369}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #19634c;outline-offset:4px}
.farm-opening{gap:14px;margin-top:0}.farm-opening h1{display:block;line-height:1.25;letter-spacing:0}.farm-opening .painted-title{width:min(100%,340px);aspect-ratio:1100/245;min-height:0;display:flex}.farm-opening .title-fallback{font-size:clamp(24px,3vw,35px);line-height:1.8;letter-spacing:0}.farm-opening .title-map{display:block;margin:5px 0 0;font-size:16px}.farm-opening .opening-speech{padding:12px 16px}.farm-opening .welcome-instruction{font-size:19px}.farm-opening .guide-subline{font-size:15px}
/* End pieces retain their proportions while the middle of the wood plaque grows with its label. */
.filter-row button,.game-pin .game-pin-label{background:none!important;border-style:solid!important;border-color:transparent!important;border-image-source:url('/app/assets/control-wood.webp');border-image-slice:60 135 fill;border-image-width:14px 26px;border-image-repeat:stretch}
.filter-row button{min-height:48px;padding:10px 16px;font-size:14px}.filter-row button[aria-pressed=true]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.game-map .game-pin{animation:none;padding:0 2px;min-height:92px;transform:translate(-50%,-55%)}.game-map .game-pin:hover{transform:translate(-50%,-55%) translateY(-3px)}.game-map .game-pin:active{transform:translate(-50%,-55%) scale(.96)}
.pin-snapshot{display:block;width:48px;height:48px;margin:0 auto -6px;position:relative;z-index:1;border:3px solid #fff6d0;outline:2px solid #4d7137;border-radius:50%;overflow:hidden;box-shadow:0 3px 0 #52723c;pointer-events:none}.pin-snapshot img{display:block;width:100%;height:100%;object-fit:cover}.game-pin .game-pin-label{min-width:120px;min-height:48px;padding:12px 13px!important;justify-content:center;font-size:14px;line-height:1.45}.game-pin .pin-saved{top:1px;right:13px}.game-pin .pin-status{max-width:90px;margin:0 auto;font-size:12px}.pin-closed .pin-snapshot{filter:saturate(.55)}
.game-map .map-tools button{width:44px;height:44px;min-width:44px}.game-map .map-title-badge{font-size:14px;max-width:180px;line-height:1.5}.game-map .map-foot{line-height:1.8}.map-help-dock{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:16px 0 26px;border-top:2px dashed #afc589;padding-top:14px}.map-help-dock>span{font-size:14px;color:#5c7146}.map-help-dock button{display:flex;align-items:center;gap:7px;border:2px solid #87a562;border-radius:8px 19px 8px 19px;background:#fff5d3;color:#3d6135;min-height:46px;padding:8px 12px;font-family:inherit;font-weight:800;font-size:14px}.map-help-dock svg{width:24px;height:24px}
.discovery-ribbon .ribbon-copy{min-width:0}.discovery-ribbon b{font-size:18px;line-height:1.65}.discovery-ribbon small{font-size:14px;line-height:1.75}.discovery-ribbon strong{font-size:23px}.discovery-ribbon .ribbon-icon{width:58px;height:58px}.basket-button{background-size:contain!important;min-height:106px!important;max-width:360px;width:100%;margin-inline:auto;padding:43px 24px 18px!important;aspect-ratio:800/276}.stamp-button{background-image:none;border:2px solid transparent!important;border-image:url('/app/assets/control-stamp.webp') 65 145 fill / 17px 38px / 0 stretch!important;min-height:62px;padding:15px 20px;line-height:1.7;overflow-wrap:anywhere}.album-entry>.stamp-button{min-height:54px;max-width:300px}
.field-observation{position:relative;background:#e8f3c7;border:2px solid #90ae61;border-radius:6px 22px 22px 22px;margin:17px 0 3px;padding:18px 20px;box-shadow:0 4px 0 #cfdfaa}.field-observation>span{font-size:14px;color:#5d713f;font-weight:800}.field-observation h4{font-size:22px;line-height:1.5;color:#365b2d;margin:6px 0 8px}.field-observation p{font-size:16px;line-height:1.9;color:#3b5931}.field-observation small{display:block;font-size:13px;line-height:1.75;color:#637349;margin-top:9px}
.visit-comparison{margin:34px 0 0;padding:24px 21px;background:#eef6d8;border:2px solid #9ab779;border-radius:22px;text-align:left}.visit-comparison h3{font-size:22px;line-height:1.6;color:#3f6334;margin-bottom:17px}.visit-comparison>p{font-size:16px;line-height:1.85;color:#546d42;margin:15px 0}.visit-comparison>p>b{display:block;font-size:14px;margin-bottom:4px;color:#765824}.comparison-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.comparison-day{background:#fffbee;border:2px solid #d5cd93;border-radius:6px 17px 6px 17px;padding:16px 9px;text-align:center;min-width:0}.comparison-day>span{display:block;font-size:14px;font-weight:800;color:#647749}.comparison-day time{display:block;font-size:24px;font-weight:900;margin:5px 0;color:#426433}.comparison-day small{font-size:13px;line-height:1.6}.comparison-photos{display:flex;justify-content:center;gap:6px;margin:13px 0}.comparison-photos img{width:calc(50% - 6px);max-width:80px;aspect-ratio:1;height:auto;object-fit:cover;border:2px solid #fff;border-radius:10px}.comparison-day b{display:block;font-size:15px;line-height:1.6}.visit-comparison>.secondary-button{width:100%;font-size:15px;min-height:48px;margin-top:4px}.card-date-picker{scroll-margin-top:90px}
.farm-fx-missions>img{position:absolute;width:48%;height:55%;object-fit:contain;top:13%;left:0;transform:rotate(-15deg)}.farm-fx-missions>img:nth-child(2){left:26%;top:1%;transform:rotate(0)}.farm-fx-missions>img:nth-child(3){left:52%;top:13%;transform:rotate(15deg)}.farm-fx-album>img{width:100%;height:82%}.farm-fx-count{position:absolute;left:-10%;right:-10%;bottom:8%;padding:7px 8px;background:#fff5cb;border:3px solid #55783a;border-radius:7px 19px 7px 19px;color:#6a451f;font-size:20px;font-weight:900;line-height:1.5;text-align:center;box-shadow:0 4px 0 #b79342;white-space:nowrap}.farm-fx>i{position:absolute;top:45%;left:50%;width:10px;height:10px;background:#ffb12c;border:2px solid #6b892d;border-radius:3px;transform:rotate(calc(var(--i)*1turn/var(--n))) translateY(-90px);animation:field-spark 1.1s ease-out both}.farm-fx>i:nth-of-type(even){background:#9ed757}.farm-fx-album>i{width:12px;height:12px}.farm-fx-album .farm-fx-count{bottom:0}
@keyframes field-spark{0%,20%{opacity:0;scale:.2}45%{opacity:1;scale:1}100%{opacity:0;scale:1.25}}
.first-map .opening-title{animation-duration:.55s}.first-map .guide-character{animation-duration:.55s;animation-delay:.08s}.first-map .opening-speech{animation-duration:.35s;animation-delay:.18s}.map-arrival{animation-duration:.65s}.map-arrival .game-pin{animation-name:photo-sign-land;animation-duration:.42s;animation-delay:calc(.2s + var(--pin-delay))}
@keyframes photo-sign-land{from{opacity:.2;transform:translate(-50%,-70%) scale(.8)}65%{transform:translate(-50%,-51%) scale(1.04)}to{opacity:1;transform:translate(-50%,-55%)}}
@media(max-width:760px){
 main{padding:13px 14px 128px}.app-header{height:64px}.farm-opening{grid-template-columns:minmax(0,1fr) 72px;gap:0 8px;margin:0 0 10px}.farm-opening .painted-title{width:min(100%,260px);aspect-ratio:1100/245;min-height:0}.farm-opening .title-fallback{font-size:clamp(23px,6.6vw,30px)}.farm-opening .title-map{font-size:14px;margin-top:2px}.farm-opening .guide-character{width:72px;height:81px}.farm-opening .eyebrow{font-size:12px;line-height:1.6;margin:0 0 2px}.farm-opening .opening-speech{margin-top:5px;padding:8px 12px}.farm-opening .welcome-instruction{font-size:16px;line-height:1.6}.farm-opening .guide-subline{font-size:14px;line-height:1.6;margin-top:0}.filter-row{margin-bottom:5px;gap:5px;padding-bottom:6px}.filter-row button{min-height:48px;padding:10px 13px}.game-map .map-tools{padding:8px;gap:4px}.game-map .map-title-badge{font-size:12px;max-width:124px;padding:6px 8px}.game-map .map-tools button{width:42px;min-width:42px;height:44px}.game-map .map-tools button[data-zoom=reset]{min-width:44px}.game-map .game-pin{min-height:90px;padding:0 1px}.pin-snapshot{width:42px;height:42px;margin-bottom:-5px}.game-pin .game-pin-label{min-width:112px;min-height:48px;padding:12px 10px!important;font-size:14px}.game-map .map-foot{padding:7px 10px;gap:1px 8px}.game-pin .pin-saved{top:-1px;right:10px}.map-accuracy{margin:15px 3px}.discovery-ribbon{padding:12px;gap:9px}.discovery-ribbon b{font-size:16px}.discovery-ribbon small{font-size:14px}.discovery-ribbon .ribbon-icon{width:42px;height:46px}.discovery-ribbon strong{font-size:20px}.field-observation{padding:16px}.field-observation h4{font-size:20px}.basket-button{aspect-ratio:auto;min-height:101px!important;padding:41px 16px 16px!important}.visit-comparison{padding:21px 15px}.visit-comparison h3{font-size:20px}.comparison-pair{gap:10px}.comparison-day{padding:14px 6px}.comparison-day time{font-size:22px}.comparison-day b{font-size:14px}.bottom-nav button{min-height:60px}.bottom-nav .nav-icon{width:32px;height:29px}.bottom-nav{padding-top:7px}.album-entry>.stamp-button{font-size:14px;padding-inline:9px}
}
@media(max-width:370px){.farm-opening .eyebrow{font-size:12px;letter-spacing:0}.farm-opening{grid-template-columns:minmax(0,1fr) 62px}.farm-opening .guide-character{width:62px;height:75px}.game-pin .game-pin-label{min-width:104px;padding:12px 9px!important}.game-map .map-title-badge{max-width:106px}.game-map .map-tools>div{gap:4px}.discovery-ribbon{flex-wrap:wrap}.discovery-ribbon .ribbon-copy{flex:1}.discovery-ribbon strong{margin-left:51px}.comparison-photos{gap:4px}.comparison-day time{font-size:20px}}
@media(min-width:761px){.farm-opening .opening-title{max-width:400px}.farm-opening{grid-template-columns:minmax(260px,370px) 96px minmax(0,1fr)}.farm-opening .guide-character{width:96px;height:105px}}
@media(prefers-reduced-motion:reduce){.game-map .game-pin:hover{transform:translate(-50%,-55%)}.farm-fx{display:none}*,*::before,*::after{animation:none!important;transition:none!important}}
