
/* Clear, quiet controls with a stable surface against the detailed farm. */
.hud-top{background:linear-gradient(#183b38b8,#24433b2e);padding:12px 16px 6px;min-height:56px}
.day{font-size:14px;font-weight:500}.day small{font-size:11px;opacity:.85}
.icon-button,.text-tool{width:38px;height:40px;border-radius:12px}.icon-button:hover,.text-tool:hover{background:#f9edcf1a}
.text-tool{border:1px solid #f7ebc440;min-width:38px;height:30px;margin-right:3px;background:#23433782}
.icon-button .icon{width:20px;height:20px}.life-line{padding:1px 17px 9px;margin:0;font-size:12px;background:#26483c38}
.life-line>span{width:88px}.life-track{height:3px}.life-track b{top:-1px;height:5px;width:5px}
.needs{margin:0 12px;padding:10px 11px 9px;gap:15px;background:#213d34e8;border:1px solid #f4e6bd30;border-radius:13px;box-shadow:0 3px 14px #16352a1c;backdrop-filter:blur(12px)}
.need{display:grid;grid-template-columns:15px 1fr auto;gap:4px;font-size:11px;color:#fff0cc}.need>.icon{width:14px;height:14px}.need b{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}
.need-track{height:5px;grid-column:1/-1;margin:3px 0 0;border-radius:4px;background:#cdd6ad34}.need-track i{background:#d8dba8}
.family-label{display:table;margin:8px auto 0;padding:4px 11px;font-size:11px;border-radius:12px;background:#244534d9;border:1px solid #e7d8b526;opacity:1}
.family-label:empty{display:none}.story{top:24%;font-size:13px;color:#fff0cd;padding:9px 13px;border-radius:14px;background:#234638c9;border:1px solid #e9dfb929;line-height:1.8;text-shadow:none;backdrop-filter:blur(5px)}
.story.hint{font-size:12px}.bottom-ui{padding:10px 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#183729e8 16%,#162f26f5);border-radius:19px 19px 0 0}
.map-header{display:flex;justify-content:space-between;align-items:center;margin:0 0 3px;font-size:9px;color:#d9ddbc80}
.location-label{font-size:11px;color:#f6e8bf;letter-spacing:0;margin:0}
.mini-map{width:94%;height:29px;margin:0 auto 9px}.map-line{top:9px;background:#f3e8c74d}.map-marker{top:2px;height:15px;background:#1e392e;opacity:1;color:#f5e8c5cc}
.map-marker>.icon{width:14px;height:14px}.map-marker small{display:block;position:absolute;top:15px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;color:#dce0bd}
.map-player{width:7px;height:7px;top:6px;background:#ffe9aa;box-shadow:0 0 0 3px #f3e3b331}
.small-actions{margin:0 0 5px;gap:7px;min-height:45px}
.inventory{display:flex;align-items:center;gap:8px;flex:1;color:#fff0c8;min-width:85px}.inventory>.icon{width:23px;height:23px;color:#ecb49b}
.inventory span{display:flex;flex-direction:column;gap:1px}.inventory small{font-size:10px;color:#d2d5b5c4}.inventory strong{font-size:12px;font-weight:400;white-space:nowrap}.inventory b{font-size:19px;font-weight:500;margin-right:3px}
.pouch,.feed-btn{border:1px solid #e9dfbd88;border-radius:12px;min-height:43px;min-width:65px;justify-content:center;padding:8px 10px;font-size:12px;background:#38513b;color:#fff0c6;backdrop-filter:none;margin:0}
.feed-btn{background:#536043}.pouch:hover,.feed-btn:hover{background:#5b6849}.pouch:disabled,.feed-btn:disabled{opacity:.45;background:#294335;border-color:#d7ddbb33}
kbd{font:9px Tahoma,sans-serif;opacity:.5;border:1px solid #eee3bb66;border-radius:3px;padding:1px 3px}
.food-hint{font-size:10px;line-height:1.4;color:#edc49d;min-height:0;text-align:right;margin:0 0 4px}.food-hint:empty{display:none}
.interaction-help{padding:6px 0 9px;min-height:43px;display:flex;flex-direction:column;gap:2px}
.control-hint{font-size:11px;text-align:left;color:#f5e8c8;max-width:none;line-height:1.6;margin:0}
#action-status{font-size:9px;color:#c9d3afb0;line-height:1.4}
.controls{gap:12px;align-items:flex-start}.walk-controls{position:relative;gap:9px;padding-bottom:14px}
.walk-controls>span{position:absolute;bottom:-2px;font-size:9px;left:0;width:100%;text-align:center;color:#d9dfbba8}
.walk{width:61px;height:61px;background:#2d4938;border:1px solid #eee4bf82;backdrop-filter:none}
.walk.held,.walk:active{background:#72805a;box-shadow:inset 0 0 0 2px #f6e5b456}
.action-btn{width:109px;height:74px;border-radius:19px;background:#f8e6b5;color:#2f4833;gap:2px;box-shadow:0 3px 0 #a5a27b}
.action-btn>.icon{width:24px;height:24px}.action-btn>span{font-size:13px;font-weight:600}.action-btn>small{font-size:8px;opacity:.6}
.action-btn.busy{background:#ded4ab;box-shadow:none}.action-btn:disabled{opacity:.95;cursor:default}
.action-ring{display:none}
.action-btn:after{content:"";position:absolute;bottom:5px;left:12px;right:12px;height:3px;background:#4e6941;transform:scaleX(var(--action-progress,0));transform-origin:left;opacity:0;border-radius:3px}
.action-btn.busy:after{opacity:1}
.pause-screen{background:#162f28ed;backdrop-filter:blur(9px)}.pause-card{max-width:330px}
.help{font-size:12px;line-height:1.8;color:#e6e6c6c9;margin:20px 0}.help p{margin:10px 0}.pause-card>p{font-size:13px}
.title-content{top:17%}.title-content p{font-size:16px;text-shadow:0 2px 15px #183c33}.start-guide{font-size:11px}.title-footer{font-size:11px}
@media(max-width:600px){.hud-top{padding-top:max(10px,env(safe-area-inset-top))}.bottom-ui{padding-bottom:max(16px,env(safe-area-inset-bottom))}.pouch kbd,.feed-btn kbd,.action-btn>small{display:none}.action-btn{height:74px}.action-btn>.icon{width:28px;height:28px}}
@media(max-height:720px){.needs{padding-top:7px;padding-bottom:7px}.hud-top{min-height:49px;padding-top:6px}.life-line{padding-bottom:6px}.family-label{font-size:10px;padding:3px 8px;margin-top:6px}.bottom-ui{padding-top:6px;padding-bottom:12px}.mini-map{margin-bottom:8px}.small-actions{min-height:40px;margin-bottom:2px}.pouch,.feed-btn{min-height:39px}.interaction-help{padding:4px 0 7px;min-height:37px}.action-btn{height:67px}.walk{width:56px;height:56px}.control-hint{font-size:10px}.inventory b{font-size:17px}.inventory small{font-size:9px}.help{font-size:11px;margin:13px 0}.help p{margin:7px 0}}
@media(max-width:350px){.needs{gap:9px}.need{font-size:10px;grid-template-columns:12px 1fr auto;gap:2px}.need b{font-size:10px}.need>.icon{width:12px}.walk{width:54px;height:54px}.action-btn{width:101px}.pouch,.feed-btn{min-width:59px;padding:7px 8px}.control-hint{font-size:10px}}

/* The game owns touch input: holding controls must not select or magnify UI. */
html,body{touch-action:none;overscroll-behavior:none}
.game-frame,.game-frame *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}
.game-frame ::selection{background:transparent;color:inherit}
.pouch,.feed-btn{flex-direction:column;gap:2px;min-width:80px;min-height:48px}
.pouch{background:#f3dfac;color:#294332;border-color:#fff0bf}
.pouch small,.feed-btn small{font-size:9px;opacity:.8;border:0;padding:0;color:inherit}
.pouch:hover{background:#fff0c5}.pouch:disabled{color:#e7e3c4;background:#304b39}
.food-hint{text-align:left;min-height:15px}.food-hint.positive{color:#f6ecb6}
.need.gained{background:#dce9b724;border-radius:6px;box-shadow:0 0 0 5px #dce9b724}
.need.gained b{color:#edffb7}.need.gained .need-track i{background:#e8ffaf}
.title-content .title-save-note{font-size:11px;line-height:1.7;letter-spacing:0;margin:13px auto 0;max-width:290px;color:#fff0c9}
.title-content>.quiet-button{display:block;margin:3px auto 0;min-height:42px;color:#fff0c9}
.title-content .start-guide{margin-top:12px}
.pause-card>.save-status{font-size:10px;line-height:1.7;color:#dae6b8;opacity:1;margin:0 0 15px}
.pause-card>.save-error{color:#f5bd9e}
.restart-confirm{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:#17332aee;backdrop-filter:blur(9px);padding:24px}
.restart-card{text-align:center;width:100%;max-width:300px}
.restart-card h2{font-size:24px;font-weight:400;margin:0 0 15px}
.restart-card p{font-size:13px;line-height:1.9;color:#e4e4c4;margin:0 0 25px}
.restart-card button{display:block;margin:10px auto;min-height:46px}
@media(max-height:720px){.pouch,.feed-btn{min-height:43px}.pause-card>.save-status{margin-bottom:10px;font-size:9px}.help{margin:10px 0}.help p{margin:6px 0}.pause-card>p{margin-bottom:12px}.title-content{top:12%}.title-content .title-save-note{font-size:10px;margin-top:10px}}
@media(max-width:350px){.pouch,.feed-btn{min-width:72px;padding:6px}.inventory{gap:5px;min-width:78px}.inventory>.icon{width:18px}.pouch small,.feed-btn small{font-size:8px}.food-hint{font-size:9px}.need span{white-space:nowrap}}
.chapter-link{display:block;margin:14px auto 0;font-size:11px;line-height:1.8;color:#fff0c9;text-underline-offset:5px;max-width:260px;padding:4px 8px;pointer-events:auto}
.end-content .chapter-link{font-size:11px;margin-top:0}
@media(max-height:720px){.title-content .chapter-link{font-size:10px;margin-top:8px}}

