/* Isolated from the outer calendar layout: header, HUD, then map and shop. */
.farm-dialog{inset:0;margin:auto;width:min(1480px,calc(100vw - 28px));height:calc(100vh - 28px);height:calc(100dvh - 28px);max-height:calc(100dvh - 28px);overflow:hidden}
.farm-dialog .dialog-close{position:absolute;top:12px;right:12px;float:none;margin:0}
#farmContent{height:100%;min-height:0}
#farmContent .winter-farm{display:flex;flex-direction:column;height:100%;min-height:0;margin:0;width:100%;padding:18px;gap:12px}
.winter-farm .farm-head,.winter-farm .farm-hud{flex:0 0 auto}
.winter-farm .farm-head{padding-right:52px;min-width:0}
.winter-farm .farm-title{min-width:0}
.winter-farm .farm-title h2{font-size:clamp(1.5rem,2.5vw,2rem)}
.winter-farm .farm-avatar{width:56px;height:56px}
.winter-farm .farm-hud{margin:0;flex-direction:row}
.winter-farm .farm-hud-box{min-width:100px;padding:8px 12px}
.winter-farm .farm-layout{flex:1 1 0;min-height:0;grid-template-columns:minmax(0,1fr) minmax(280px,330px);align-items:stretch;gap:14px}
.winter-farm .farm-field-side{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:9px}
.winter-farm .farm-board-hint{margin:0 2px}
.winter-farm .farm-field-scroll{min-height:0;height:100%;max-height:none;display:grid;align-items:center;justify-items:center;overflow:auto;overscroll-behavior:contain}
.winter-farm .farm-field{--farm-cell:56px;grid-template-columns:repeat(12,var(--farm-cell));grid-template-rows:repeat(10,var(--farm-cell));margin:0;flex:none}
.winter-farm .farm-tile{width:var(--farm-cell);height:var(--farm-cell)}
.winter-farm .farm-tile .farm-icon{width:calc(var(--farm-cell) - 6px);height:calc(var(--farm-cell) - 6px)}
.winter-farm .farm-tile-tag{overflow:hidden;text-overflow:ellipsis}
.winter-farm .farm-message{margin:0;min-height:0;padding:9px;line-height:1.35}
.winter-farm .farm-sidebar{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.winter-farm .farm-shop-heading p{margin-bottom:10px}
.winter-farm .farm-shop-list{min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
.winter-farm .farm-reward{max-height:40vh;max-height:40dvh;overflow:auto;padding:11px}
@media(max-width:860px),(max-height:699px){
 .farm-dialog{overflow:auto}
 #farmContent{height:auto;min-height:100%}
 #farmContent .winter-farm{height:auto;min-height:100%;padding:13px}
 .winter-farm .farm-layout{flex:0 0 auto;grid-template-columns:minmax(0,1fr)}
 .winter-farm .farm-field-side{grid-template-rows:auto auto minmax(220px,min(52vh,560px)) auto;grid-template-rows:auto auto minmax(220px,min(52dvh,560px)) auto}
 .winter-farm .farm-field-scroll{display:block}
 .winter-farm .farm-field{margin:auto}
 .winter-farm .farm-sidebar{grid-template-rows:auto auto auto auto}
 .winter-farm .farm-shop-list{max-height:360px;max-height:min(50dvh,360px)}
 .winter-farm .farm-reward{max-height:none}
 .winter-farm .farm-tool{min-height:44px}
}
@media(max-width:620px){
 .farm-dialog{width:100vw;height:100vh;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .winter-farm .farm-title h2{font-size:1.45rem}
 .winter-farm .farm-head{gap:8px}
 .winter-farm .farm-hud{gap:6px}
 .winter-farm .farm-hud-box{min-width:86px;padding:7px}
 .winter-farm .farm-hud-progress{min-width:140px}
}

/* Reward overlays preserve every underlying tile. */
.winter-farm .farm-field button.farm-world-gift{position:absolute;z-index:16;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;border:0;background:radial-gradient(ellipse,#ffe79a99,transparent 70%);cursor:pointer;touch-action:manipulation;color:#193e32;min-width:44px;min-height:44px}
.farm-world-gift[hidden]{display:none}.farm-world-gift>.farm-icon{width:90%;height:85%;pointer-events:none;filter:drop-shadow(0 0 4px #ffe6a0)}
.farm-world-gift .farm-gift-label{position:absolute;bottom:0;background:#fff1b8;border:1px solid #9b6d32;border-radius:5px;padding:1px 5px;font:bold 11px Georgia,serif;pointer-events:none}
.farm-world-gift:focus-visible{outline:3px solid #2a745e;outline-offset:2px}.farm-world-gift:disabled{cursor:wait}

.winter-farm .farm-field button.farm-world-gift:hover{background:radial-gradient(ellipse,#ffe79acc,transparent 70%);border:0}
