@charset "UTF-8";
/* User supplied UI parts, laid out against the 1280 × 720 reference. */
:root{--h:clamp(.72px,min(.078125vw,.138889dvh),1.5px);--ui-cream:#fffef0;--ui-mint:#70cbb5;--ui-pale:#c8efe1;--ui-ink:#826a67;--ui-gold:#e2bb6c;--ui-clay:#b86e45;--ink:var(--ui-ink);--muted:#668d82;--cream:var(--ui-cream);--line:#c9d3b4;--green:#648e7f;--gold:#ffa51d;color:var(--ui-ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}
button{color:var(--ui-ink)}button.primary,.primary{background:#628e7e;border-color:#628e7e;color:var(--ui-cream)}
.game-hud{inset:0;display:block;gap:0;pointer-events:none}
.hud-resources{position:absolute;left:0;top:0;width:calc(296 * var(--h));height:calc(94 * var(--h));display:flex;align-items:flex-start;gap:calc(18 * var(--h));padding:calc(16 * var(--h)) calc(20 * var(--h));background:url("../assets/ui-user/hud-resources.png") left top / 100% 100% no-repeat}
.hud-resources .hud-pill{height:calc(60 * var(--h));min-height:44px;min-width:0;width:calc(114 * var(--h));padding:calc(6 * var(--h)) calc(9 * var(--h));gap:calc(5 * var(--h));border:0;border-radius:50px;background:url("../assets/ui-user/resource-pill.png") center / 100% 100% no-repeat;box-shadow:none;justify-content:flex-start}
.hud-resources .hud-icon{width:calc(44 * var(--h));height:calc(44 * var(--h));max-height:100%}.hud-resources .potion-pill .hud-icon{width:calc(34 * var(--h));height:calc(44 * var(--h))}
.hud-resources strong{font-size:clamp(17px,calc(26 * var(--h)),39px);line-height:1;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.5px;min-width:0}.hud-resources .potion-pill{justify-content:center}.hud-resources .potion-pill strong{font-size:clamp(17px,calc(26 * var(--h)),39px)}
.garden-status{position:absolute;top:calc(33 * var(--h));left:50%;transform:translateX(-50%);width:calc(423 * var(--h));min-width:0;height:calc(61 * var(--h));min-height:0;display:flex;justify-content:flex-start;padding:0 calc(26 * var(--h)) 0 calc(89 * var(--h));border:0;border-radius:45px;background:url("../assets/ui-user/hud-goal.png") center / 100% 100% no-repeat;box-shadow:none;color:var(--ui-gold);font-size:clamp(15px,calc(22 * var(--h)),33px);font-weight:900;white-space:normal}
.goal-emblem{position:absolute;left:0;top:calc(-12 * var(--h));width:calc(79 * var(--h));height:calc(83 * var(--h));display:grid;place-items:center;background:url("../assets/ui-user/goal-icon-bg.png") center / 100% 100% no-repeat;border-radius:50%}.goal-emblem img{width:calc(75 * var(--h));height:calc(82 * var(--h));transform:translateY(calc(-5 * var(--h)))}
.goal-copy{width:100%;min-width:0;display:grid;align-content:center;gap:calc(6 * var(--h));line-height:1.25}#garden-summary{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-progress{display:flex;gap:calc(12 * var(--h));width:100%}.goal-progress>span{height:calc(7 * var(--h));min-height:4px;flex:1;background:var(--ui-pale)}.goal-progress>span.done{background:#518a4a}
.hud-system{position:absolute;top:calc(17 * var(--h));right:calc(14 * var(--h));display:flex;flex-direction:column;align-items:center;gap:calc(12 * var(--h));width:calc(69 * var(--h))}
.hud-system .square-button{width:calc(69 * var(--h));height:calc(69 * var(--h));min-width:44px;min-height:44px;padding:calc(5 * var(--h));border:0;border-radius:50%;background:url("../assets/ui-user/system-button.png") center / contain no-repeat;box-shadow:none}.hud-system .square-button.active{outline:3px solid var(--gold);outline-offset:2px}.hud-system .square-button img{width:100%;height:100%}
#save-status{display:block;min-width:0;width:max-content;max-width:calc(150 * var(--h));min-height:0;margin-top:calc(2 * var(--h));padding:4px 8px;border:0;border-radius:16px;background:#fffef0d9;color:#527a69;font-size:clamp(11px,calc(12 * var(--h)),16px);font-weight:700;line-height:1.4;white-space:normal;text-align:center;align-self:flex-end;box-shadow:none}#save-status.save-error{max-width:calc(210 * var(--h));background:#fff2da;color:#a24b34;box-shadow:0 0 0 2px #e1a074}
.quest-board{left:0;top:calc(124 * var(--h));width:calc(254 * var(--h));min-height:calc(231 * var(--h));padding:calc(78 * var(--h)) calc(30 * var(--h)) calc(22 * var(--h));background:url("../assets/ui-user/hud-record.png") center / 100% 100% no-repeat;filter:none;color:var(--ui-ink)}
.quest-header{position:absolute;left:0;top:0;width:calc(222 * var(--h));height:calc(55 * var(--h));display:flex;align-items:center;justify-content:center;gap:0;padding:0;border:0;background:url("../assets/ui-user/record-title.png") left center / 100% 100% no-repeat;font-size:clamp(18px,calc(30 * var(--h)),45px);font-weight:900;letter-spacing:calc(7 * var(--h));color:#ffdc86;white-space:nowrap}.quest-header strong{padding-left:calc(7 * var(--h))}
.quest-item,.quest-reward{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:0;height:calc(44 * var(--h));margin:0 0 calc(24 * var(--h));padding:0 calc(15 * var(--h)) 0 calc(48 * var(--h));gap:0;border:0;border-radius:30px;background:url("../assets/ui-user/record-value.png") center / 100% 100% no-repeat;font-size:clamp(17px,calc(26 * var(--h)),39px);line-height:1;font-weight:900;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.quest-reward{margin-bottom:0}
.record-emblem{position:absolute;left:calc(-10 * var(--h));top:50%;transform:translateY(-50%);width:calc(62 * var(--h));height:calc(62 * var(--h));display:grid;place-items:center;border-radius:50%;background:url("../assets/ui-user/record-icon-bg.png") center / 100% 100% no-repeat}.record-emblem img{width:calc(43 * var(--h));height:calc(46 * var(--h))}.quest-board>small{position:absolute;left:calc(30 * var(--h));right:calc(30 * var(--h));bottom:calc(9 * var(--h));margin:0;color:#fffef0;text-shadow:0 1px 3px #304d32;font-size:clamp(11px,calc(12 * var(--h)),16px);font-weight:700}
.quickbar{left:50%;bottom:env(safe-area-inset-bottom,0px);gap:calc(10 * var(--h));width:max-content;max-width:100%;z-index:30}
#garden-hint{max-width:min(80vw,calc(580 * var(--h)));padding:5px 15px;background:#526e55c9;border:0;border-radius:20px;color:var(--ui-cream);text-shadow:none;font-size:clamp(12px,calc(14 * var(--h)),19px);font-weight:700}
.seed-dock{isolation:isolate;position:relative;display:flex;align-items:flex-start;gap:calc(16 * var(--h));padding:calc(4 * var(--h)) calc(24 * var(--h)) calc(5 * var(--h));border-radius:0;background:none;pointer-events:auto}.seed-dock:before{content:"";position:absolute;inset:calc(29 * var(--h)) 0 0;z-index:-1;background:url("../assets/ui-user/hud-hotbar.png") center top / 100% 100% no-repeat;pointer-events:none}
.seed-slot{width:calc(96 * var(--h));height:calc(125 * var(--h));min-width:44px;min-height:44px;display:flex;flex-direction:column;gap:calc(1 * var(--h));padding:0;border:0;border-radius:50%;background:none;box-shadow:none;overflow:visible}.slot-art{position:relative;width:100%;height:calc(96 * var(--h));min-height:44px;border:0;border-radius:50%;background:url("../assets/ui-user/slot-bg.png") center / 100% 100% no-repeat;box-shadow:none}.seed-slot.active .slot-art{border:0;background:url("../assets/ui-user/slot-selected.png") center / 100% 100% no-repeat;box-shadow:none;transform:scale(1.12)}
.slot-art .seed-icon{width:85%;height:92%;margin:0;background:none;transform:none}.slot-art .seed-icon>.crop-icon{width:100%;height:100%;margin:0}.slot-art>.crop-icon{width:74%;height:79%}.slot-art .harvest-icon{width:84%;height:84%}.slot-art .harvest-icon .crop-icon{width:100%;height:100%}.slot-art .reference-icon{mix-blend-mode:normal}
.slot-art .harvest-icon .reference-icon{mix-blend-mode:multiply}
.slot-key{position:absolute;width:1px;height:1px;min-width:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0;border:0}.seed-quantity{position:absolute;left:calc(-5 * var(--h));right:auto;top:calc(-2 * var(--h));width:calc(38 * var(--h));height:calc(38 * var(--h));display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:url("../assets/ui-user/count-bg.png") center / 100% 100% no-repeat;font-size:clamp(17px,calc(31 * var(--h)),46px);font-weight:900;line-height:1;color:var(--ui-ink);text-shadow:none;font-variant-numeric:tabular-nums}.seed-slot.active .seed-quantity{background-image:url("../assets/ui-user/count-selected.png")}.seed-quantity:empty{display:none}.seed-name{position:relative;z-index:2;max-width:calc(108 * var(--h));font-size:clamp(13px,calc(23 * var(--h)),34px);line-height:1.15;font-weight:900;color:var(--ui-gold);text-shadow:1px 1px var(--ui-cream),-1px 1px var(--ui-cream),1px -1px var(--ui-cream),-1px -1px var(--ui-cream);white-space:nowrap}.empty-plus{width:60%;height:60%;overflow:hidden;font-size:0;background:url("../assets/ui/empty-slot-plus.png") center / contain no-repeat}
.game-actions{right:calc(19 * var(--h));bottom:calc(15 * var(--h));gap:calc(10 * var(--h))}.game-actions button{width:calc(49 * var(--h));height:calc(61 * var(--h));min-width:44px;min-height:44px;gap:2px;padding:5px 3px;border:0;border-radius:25px 25px 17px 17px;background:#fffef0ed;box-shadow:none;font-size:clamp(11px,calc(12 * var(--h)),16px);font-weight:800}.game-actions img,.game-actions svg{width:calc(32 * var(--h));height:calc(34 * var(--h))}.game-actions button.active{border:0;outline:3px solid var(--gold);outline-offset:2px;box-shadow:none}.game-actions b{background:var(--ui-clay);border-color:var(--ui-cream)}
#movement-help{left:calc(14 * var(--h));bottom:calc(15 * var(--h));max-width:none;gap:3px;padding:7px 10px;border-radius:20px;background:#526e5599;color:var(--ui-cream);font-size:clamp(10px,calc(11 * var(--h)),15px)}#movement-help .help-divider{height:14px;margin:0 3px}#movement-help kbd{padding:0 2px}
#station-prompt{border:0;border-radius:24px;background:#fffef0f2;color:#668b7c;box-shadow:0 2px 10px #344d3820}.station-marker{background:#fffef0ef;color:#668b7c;border:0;border-radius:20px}.station-marker:after{background:var(--ui-cream);border:0}
#game-window{background-image:none;background-color:var(--ui-cream);border-color:#bcccae;color:var(--ui-ink)}.window-header{border-bottom-color:#d2ddc2}.panel-intro,.panel-note{color:#6c9382}#panel-close{min-width:44px;min-height:44px;color:var(--ui-ink);background:#e7f1d8;border-color:transparent}.panel-tabs button.active,.panel-tabs button[aria-pressed="true"]{background:#668e7d;border-color:#668e7d;color:var(--ui-cream)}.feature-card,.note-box{background:#eef1dc;border-color:#d6ddc5}.feature-card p,.setting-row select{color:#668b7b}
@media(max-width:1100px){#movement-help{display:none}.game-actions{bottom:calc(143 * var(--h))}.hud-system{right:12px}.seed-name{font-size:calc(22 * var(--h))}}
@media(max-width:760px){
 :root{--h:.76px}.hud-resources{width:225px;height:78px;padding:12px 13px;gap:12px}.hud-resources .hud-pill{width:94px;height:48px;padding:5px 7px;gap:5px}.hud-resources .hud-icon{width:34px;height:35px}.hud-resources .potion-pill .hud-icon{width:28px;height:35px}.hud-resources strong,.hud-resources .potion-pill strong{font-size:21px}
 .garden-status{display:flex;top:91px;left:calc(50% - 18px);width:276px;height:46px;padding:0 15px 0 64px;font-size:16px;max-width:calc(100vw - 95px)}.goal-emblem{width:58px;height:62px;top:-8px}.goal-emblem img{width:56px;height:62px}.goal-copy{gap:5px}.goal-progress{gap:8px}.goal-progress>span{height:5px}
 .hud-system{top:12px;right:12px;gap:8px;width:49px}.hud-system .square-button{width:49px;height:49px;padding:4px}#save-status{font-size:11px;max-width:90px;margin-top:1px}
 .quest-board{display:none}.quickbar{bottom:env(safe-area-inset-bottom,0px);gap:5px}.seed-dock{gap:6px;padding:4px 9px 5px}.seed-dock:before{top:18px}.seed-slot{width:clamp(44px,calc((100vw - 52px)/6),62px);height:calc(clamp(44px,calc((100vw - 52px)/6),62px) + 22px);gap:3px}.slot-art{height:clamp(44px,calc((100vw - 52px)/6),62px)}.seed-quantity{left:-2px;top:-4px;width:25px;height:25px;font-size:21px}.seed-name{max-width:65px;font-size:13px;line-height:17px}#garden-hint{max-width:90vw;font-size:12px;padding:5px 11px}
 .game-actions{right:14px;bottom:127px;gap:8px}.game-actions button{width:46px;height:57px;padding:5px 3px;font-size:11px}.game-actions img,.game-actions svg{width:29px;height:31px}#joystick{left:18px;bottom:132px;width:86px;height:86px}
 #station-prompt{max-width:90vw;top:48%;font-size:14px}#panel-overlay{z-index:35;padding:15px 10px 115px;align-items:stretch}#game-window,#game-window[data-panel="bag"],#game-window[data-panel="garden"],#game-window[data-panel="settings"],#game-window[data-panel="tools"]{max-height:100%;height:100%}#app:has(#panel-overlay:not([hidden])) #touch-controls{visibility:hidden}#toast{top:145px;font-size:13px}
}
@media(max-height:550px) and (min-width:571px){
 :root{--h:.65px}.hud-resources{width:210px;height:65px;padding:8px 11px;gap:9px}.hud-resources .hud-pill{width:90px;height:44px;min-height:44px;padding:4px 7px}.hud-resources .hud-icon{width:32px;height:34px}.hud-resources .potion-pill .hud-icon{width:26px;height:33px}.hud-resources strong,.hud-resources .potion-pill strong{font-size:20px}
 .garden-status{top:15px;left:52%;width:270px;height:43px;padding-left:62px;padding-right:16px;font-size:15px}.goal-emblem{top:-6px;width:56px;height:57px}.goal-emblem img{width:55px;height:59px}.goal-copy{gap:4px}.goal-progress{gap:8px}.goal-progress>span{height:5px}.hud-system{top:9px;right:10px;width:46px;gap:7px}.hud-system .square-button{width:46px;height:46px;padding:4px}#save-status{max-width:90px;font-size:11px}.quest-board{display:none}
 .quickbar{left:50%;bottom:env(safe-area-inset-bottom,0px);gap:4px}.seed-dock{gap:8px;padding:3px 14px 3px}.seed-dock:before{top:20px}.seed-slot{width:52px;height:72px;gap:2px}.slot-art{height:52px}.seed-quantity{left:-2px;top:-2px;width:26px;height:26px;font-size:22px}.seed-name{font-size:13px;line-height:17px}#garden-hint{max-width:60vw;font-size:11px;padding:3px 10px}
 .game-actions{right:12px;bottom:9px;gap:6px}.game-actions button{width:44px;height:53px;min-width:44px;min-height:44px;font-size:10px;gap:1px;padding:4px}.game-actions img,.game-actions svg{width:28px;height:30px}#joystick{left:17px;bottom:20px;width:78px;height:78px}
 #panel-overlay{z-index:35;padding:10px 70px 88px;align-items:stretch}#game-window,#game-window[data-panel="bag"],#game-window[data-panel="garden"],#game-window[data-panel="settings"],#game-window[data-panel="tools"]{height:100%;max-height:100%}#app:has(#panel-overlay:not([hidden])) #touch-controls{visibility:hidden}#toast{top:65px}#panel-close{min-width:44px;min-height:44px}
}
@media(max-width:570px) and (max-height:550px){.garden-status{display:none}.game-actions{bottom:112px}#panel-overlay{padding-bottom:105px}}
@media(min-width:761px){html[lang="en"] .seed-name{font-size:calc(16 * var(--h))}html[lang="en"] .quest-header{font-size:calc(23 * var(--h));letter-spacing:0}html[lang="en"] .garden-status{font-size:calc(18 * var(--h))}}

/* Compact only the three world HUD groups; modal windows keep their own scale. */
@media(min-width:761px) and (min-height:551px){
 .hud-resources,.quest-board,.quickbar{--h:clamp(.5616px,min(.0609375vw,.10833342dvh),1.17px)}
 .hud-resources .coin-pill{width:calc(143 * var(--h))}
 .hud-resources .potion-pill{width:calc(95 * var(--h))}
 .hud-resources strong,.hud-resources .potion-pill strong{font-size:clamp(14px,calc(22 * var(--h)),33px)}
 .quest-item,.quest-reward{font-size:clamp(15px,calc(26 * var(--h)),31px)}
}
@media(max-width:760px){
 .hud-resources{width:200px;height:66px;padding:8px 10px;gap:8px}
 .hud-resources .coin-pill{width:106px;height:44px;padding:5px 7px;gap:4px}
 .hud-resources .potion-pill{width:66px;height:44px;padding:5px;gap:4px}
 .hud-resources .hud-icon{width:29px;height:31px}
 .hud-resources .potion-pill .hud-icon{width:24px;height:31px}
 .hud-resources strong,.hud-resources .potion-pill strong{font-size:18px}
 .seed-slot{width:clamp(44px,calc((100vw - 52px)/7.7),50px);height:calc(clamp(44px,calc((100vw - 52px)/7.7),50px) + 22px)}
 .slot-art{height:clamp(44px,calc((100vw - 52px)/7.7),50px)}
 .seed-quantity{width:22px;height:22px;font-size:18px}
 .seed-name{font-size:12px}
}
@media(max-height:550px) and (min-width:571px){
 .hud-resources{width:200px;height:60px;padding:8px 10px;gap:8px}
 .hud-resources .coin-pill{width:106px;height:44px;padding:5px 7px;gap:4px}
 .hud-resources .potion-pill{width:66px;height:44px;padding:5px;gap:4px}
 .hud-resources .hud-icon{width:29px;height:31px}
 .hud-resources .potion-pill .hud-icon{width:24px;height:31px}
 .hud-resources strong,.hud-resources .potion-pill strong{font-size:18px}
 .seed-dock{gap:6px;padding:3px 10px}
 .seed-slot{width:44px;height:66px}.slot-art{height:44px}
 .seed-quantity{width:22px;height:22px;font-size:18px}.seed-name{font-size:12px}
}

/* Reference 1910 x 873: edge offsets use viewport percentages; sizes use height only. */
#touch-controls{display:block}
#joystick{display:grid;left:9.84%;right:auto;top:auto;bottom:5.15%;width:30.7dvh;height:30.7dvh;border-width:.23dvh;user-select:none;-webkit-user-select:none}
#joystick-knob{width:12dvh;height:12dvh;border-width:.23dvh}
#interact-button{position:fixed;z-index:31;left:auto;right:12.9%;top:auto;bottom:24.1%;width:27.8dvh;height:14.4dvh;min-width:0;min-height:0;padding:1.3dvh 2.8dvh;border:.23dvh solid #e2bb6c;border-radius:7.2dvh;background:#fffef0f5;color:#648875;font-size:3.2dvh;box-shadow:0 .35dvh 1.4dvh #344d3833;touch-action:manipulation}
#interact-button kbd{position:absolute;right:-.45dvh;top:-1.15dvh;display:grid;place-items:center;width:3.5dvh;height:3.5dvh;border:.23dvh solid #fffef0;border-radius:.9dvh;background:#648875;color:#fffef0;font:700 2.2dvh system-ui}
#app:has(#panel-overlay:not([hidden])) #touch-controls,#app:has(dialog[open]) #touch-controls{visibility:hidden}
/* Slot identity stays top-left; quantity belongs to the item, bottom-right. */
.seed-slot .slot-key{display:grid;place-items:center;left:-2%;top:-2%;width:27%;height:auto;aspect-ratio:1;min-width:0;overflow:visible;clip:auto;padding:0;border:0;border-radius:50%;background:#fffef0;color:var(--ui-ink);font-family:inherit;font-size:clamp(11px,2.6dvh,26px);line-height:1;z-index:3}
.seed-slot .slot-art{position:relative;overflow:visible}
.seed-slot .seed-quantity{left:auto;right:-3%;top:auto;bottom:-3%;width:32%;height:32%;font-size:clamp(12px,2.6dvh,26px);z-index:3}

/* Resize around the established control centres. */
#joystick{left:calc(9.84% + 5.116667dvh);bottom:calc(5.15% + 5.116667dvh);width:20.466667dvh;height:20.466667dvh}
#joystick-knob{width:8dvh;height:8dvh}
#interact-button{right:calc(12.9% + 4.633333dvh);bottom:calc(24.1% + 2.4dvh);width:18.533333dvh;height:9.6dvh;padding:.866667dvh 1.866667dvh;border-radius:4.8dvh;font-size:2.133333dvh}
#interact-button kbd{right:-.3dvh;top:-.766667dvh;width:2.333333dvh;height:2.333333dvh;border-radius:.6dvh;font-size:1.466667dvh}
.game-actions{transform:scale(1.5);transform-origin:bottom right}

#joystick,#joystick-knob,#interact-button,#interact-button kbd{border-width:.153333dvh}

#interact-button[data-action-type=unlockBed]{font-size:1.7dvh;line-height:1.35;white-space:normal;padding:.7dvh 1dvh}

/* Centres follow reference percentages; only dimensions scale with viewport height.
   At narrow portrait widths keep the complete hit target within the safe area. */
#joystick{left:clamp(calc(10.233333dvh + env(safe-area-inset-left,0px)),16.86%,calc(100% - 10.233333dvh - env(safe-area-inset-right,0px)));top:79.55%;bottom:auto;transform:translate(-50%,-50%)}
#interact-button{left:clamp(calc(9.266667dvh + env(safe-area-inset-left,0px)),80.74%,calc(100% - 9.266667dvh - env(safe-area-inset-right,0px)));top:68.7%;right:auto;bottom:auto;transform:translate(-50%,-50%)}
#interact-button[data-action-type=unlockBed] #interact-label{white-space:pre-line}

/* A single currency display and lifetime garden records. */
.hud-resources{width:max-content;height:auto;padding:calc(14 * var(--h)) calc(18 * var(--h));gap:0;background:transparent;border-radius:0}
#garden-record{display:block;width:calc(300 * var(--h));min-width:180px;padding-left:calc(15 * var(--h));padding-right:calc(15 * var(--h))}
#garden-record .quest-item,#garden-record .quest-reward{justify-content:space-between;padding:0 calc(12 * var(--h));gap:8px;margin-bottom:calc(20 * var(--h))}
#garden-record .record-label{font-size:clamp(11px,calc(19 * var(--h)),26px);white-space:nowrap}
#garden-record .quest-item strong,#garden-record .quest-reward strong{font-size:clamp(14px,calc(24 * var(--h)),32px)}
#garden-record .record-best{display:flex;flex-direction:column;gap:calc(8 * var(--h));padding:calc(10 * var(--h)) calc(12 * var(--h));background:#d6f3dfd9;border-radius:calc(16 * var(--h));color:#426b57}
#record-best{font-size:clamp(11px,calc(18 * var(--h)),25px);line-height:1.5;overflow-wrap:anywhere}
/* Action identity, luminous harvest rewards and decorative orbiting motes. */
#interact-button{isolation:isolate;overflow:visible}
#interact-button[data-action-type=plant]{background:linear-gradient(#91dc72,#389850);border-color:#d5ffa8;color:#173f24;box-shadow:0 .4dvh 1.5dvh #244e4055,inset 0 .25dvh .5dvh #e9ffc080}
#interact-button[data-action-type=potion]{background:linear-gradient(#fff,#eef4fa);border-color:#fff;color:#52657b;box-shadow:0 .3dvh 1.5dvh #52657b44,inset 0 0 1dvh #fff}
#interact-button[data-action-type=harvest]{--harvest-glow:#ffc838;background:linear-gradient(135deg,#fff1a6,#efbd3b 60%,#ffdb70);border-color:#fff2b3;color:#74430b;box-shadow:0 0 2dvh #ffd74b88,inset 0 .3dvh .5dvh #fff5cc;animation:harvest-breathe 1.8s ease-in-out infinite}
#interact-button[data-action-type=harvest][data-exotic=true]{--harvest-glow:#cf86ff;background:linear-gradient(125deg,#522d87,#9347b1 55%,#dbad55);border-color:#ffe28b;color:#fff0b0;text-shadow:0 .12dvh .35dvh #3e175f;box-shadow:0 0 2dvh #b86dff99,inset 0 0 .8dvh #f0c96a99}
#interact-button[data-action-type=harvest]::before{content:'';position:absolute;inset:-3dvh;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,var(--harvest-glow),transparent 70%);filter:blur(.6dvh);opacity:.55;animation:harvest-backlight 1.8s ease-in-out infinite}
#interact-button[data-action-type=harvest][data-exotic=true]::after{content:'';position:absolute;inset:-2.5dvh;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 50% 3%,#fff8c7 0 .22dvh,transparent .45dvh),radial-gradient(circle at 88% 22%,#ffdc6a 0 .18dvh,transparent .4dvh),radial-gradient(circle at 96% 65%,#f1c3ff 0 .24dvh,transparent .48dvh),radial-gradient(circle at 50% 97%,#fff8c7 0 .22dvh,transparent .45dvh),radial-gradient(circle at 12% 78%,#ffdc6a 0 .18dvh,transparent .4dvh),radial-gradient(circle at 4% 35%,#f1c3ff 0 .24dvh,transparent .48dvh);filter:drop-shadow(0 0 .5dvh #ffe29f);animation:harvest-orbit 5s linear infinite}
@keyframes harvest-breathe{0%,100%{scale:1;filter:brightness(1)}50%{scale:1.055;filter:brightness(1.18)}}
@keyframes harvest-backlight{0%,100%{opacity:.4;scale:.9}50%{opacity:.8;scale:1.12}}
@keyframes harvest-orbit{to{rotate:360deg}}
#interact-button[data-reduced=true],#interact-button[data-reduced=true]::before,#interact-button[data-reduced=true]::after{animation:none}
@media(prefers-reduced-motion:reduce){#interact-button,#interact-button::before,#interact-button::after{animation:none!important}}
.harvest-flight-layer{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}
.harvest-flight-icon{position:absolute;left:0;top:0;width:5.5dvh;height:5.5dvh;will-change:transform;filter:drop-shadow(0 .3dvh .4dvh #503a2866)}
.harvest-flight-icon .crop-icon{width:100%;height:100%;object-fit:contain}
.harvest-arrival-particle{position:absolute;left:0;top:0;width:.9dvh;height:.9dvh;background:#ffe28a;box-shadow:0 0 .8dvh #fff3a8;will-change:transform,opacity}

.seed-slot:has(.empty-plus) .slot-art{background:#c8efe1}

.harvest-flight-icon{width:8.25dvh;height:8.25dvh}
#interact-button{transform:none;translate:-50% -50%;transform-origin:50% 50%}

#camera-zoom-control{position:fixed;right:max(14px,2vw);top:34%;z-index:32;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px;border-radius:25px;background:#fff8e7d9;color:#638876;box-shadow:0 3px 12px #253d3222;touch-action:none}
#camera-zoom-control[hidden],.catalysis-mode #camera-zoom-control{display:none}
#camera-zoom-control>span{font-size:22px;font-weight:900;line-height:1}
#camera-zoom{writing-mode:vertical-lr;direction:ltr;appearance:auto;accent-color:#70bba5;width:24px;height:clamp(90px,21dvh,220px);min-width:0;min-height:0;margin:0;padding:0;cursor:pointer;touch-action:none}

#seed-dock .seed-slot.active .slot-art{outline:3px solid #ff941f;outline-offset:-2px}

#camera-zoom-control{background:none;box-shadow:none;backdrop-filter:none;color:#fff}
#camera-zoom{accent-color:#fff}
#sowing-label{position:fixed;z-index:14;transform:translateX(-50%);pointer-events:none;white-space:nowrap;color:#fff8db;font:bold 16px/1.4 "Microsoft YaHei",sans-serif;text-shadow:0 2px 3px #263321,-1px -1px 2px #263321}
#sowing-label[hidden]{display:none}

.hud-resources .coin-pill{width:calc(228 * var(--h))}
@media(max-width:760px),(max-height:550px){.hud-resources .coin-pill{width:212px}}
.hud-system .square-button{background:none;filter:drop-shadow(0 2px 3px #28483155)}
.hud-system .square-button:focus-visible{outline:3px solid #ffce65;outline-offset:2px}
