:root{color:#4f5646;font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#eee4ce;font-family:Microsoft YaHei,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}button,a{-webkit-tap-highlight-color:transparent;touch-action:none}button{font:inherit;cursor:pointer;color:#435b42;background:#f5f3e8;border:1px solid #cdd3be;border-radius:5px;min-height:44px}button:hover{background:#e4e9d5}button:active{background:#c5d3aa}button:disabled{opacity:.42;cursor:default}select{color:#544d3e;width:100%;min-height:44px;font:inherit;touch-action:manipulation;background:#f1e5cc;border:1px solid #bcad8d;border-radius:4px;padding:7px 10px}.crop-label{color:#827254;margin-bottom:7px;font-size:12px;display:block}#crop-info{margin:9px 0 14px}.offering-actions{border-top:1px solid #d5c4a2;gap:8px;margin-top:14px;padding-top:14px;display:grid}.offering-actions label{color:#877b5f;margin-top:4px;font-size:12px}#offer{color:#fff0d3;background:#8a5d54;border-color:#8a5d54}#gift{background:#e9ddc2}button:focus-visible,a:focus-visible,canvas:focus-visible{outline-offset:-3px;outline:3px solid #be9855}.masthead{background:linear-gradient(100deg,#ede2c9,#f9f1dc 45%,#e8dcc4);border-bottom:1px solid #caba99;flex:0 0 58px;justify-content:space-between;align-items:center;gap:12px;padding:0 24px;display:flex}.wordmark{white-space:nowrap;letter-spacing:-1px;font:700 27px STKaiti,KaiTi,Georgia,serif}.wordmark>span{color:#b17764}.wordmark small{letter-spacing:2px;color:#829074;margin-left:8px;font:11px Microsoft YaHei,sans-serif}nav{align-items:center;gap:7px;display:flex}nav button{min-height:38px;padding:0 14px;font-size:12px}.save-status{color:#758468;white-space:nowrap;text-overflow:ellipsis;max-width:235px;margin-right:10px;font-size:11px;overflow:hidden}.game-shell{flex:1;grid-template-rows:auto minmax(0,1fr) 30px 62px 34px;width:min(1280px,100%);min-height:0;margin:0 auto;padding:0 20px;display:grid}.status-strip{justify-content:space-between;align-items:center;gap:10px;padding:10px 4px;font-size:12px;display:flex}.day-stats{white-space:nowrap}.day-stats b{margin:0 3px;font:20px Georgia,serif}#clock{font-variant-numeric:tabular-nums;padding:0 9px}#phase{color:#8b865a;font-size:11px}.resources{color:#7b866b;gap:22px;font-size:11px;display:flex}.resources b{color:#435a40;font-variant-numeric:tabular-nums;font-size:15px;font-weight:500}.play-stage{background:#394e44;border:1px solid #a0ad81;border-radius:6px;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.area-label{color:#6e5a43;letter-spacing:1px;pointer-events:none;background:#f0e3c8eb;border-left:3px solid #aa7660;padding:5px 9px;font:13px KaiTi,Microsoft YaHei,serif;position:absolute;top:10px;left:12px}#game{width:100%;min-width:0;height:100%;min-height:0;overflow:hidden}#game canvas{image-rendering:pixelated;touch-action:none;display:block}.target-bar{color:#778366;align-items:center;gap:7px;min-width:0;padding:0 4px;font-size:11px;display:flex}.target-bar>span:first-child{color:#b6a568}#target{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reach-note{white-space:nowrap;color:#92977f;margin-left:auto;font-size:10px}.toolbelt{justify-content:center;gap:8px;padding:5px 0 8px;display:flex}.tool{min-width:96px;padding:0 14px;font-size:12px;position:relative}.tool>span{vertical-align:middle;margin-right:4px;font-size:20px}.tool kbd{color:#949c7c;margin-right:5px}.tool.selected{background:#e0e8cd;border:2px solid #7b915c}.sleep{color:#faf5df;background:#496448;border-color:#496448;margin-left:12px;padding:0 16px;font-size:12px}.sleep:hover{background:#36563b}.sleep kbd{opacity:.6;margin-left:8px}kbd{font:10px Segoe UI,sans-serif}.message{color:#8c7955;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;padding:3px 6px 4px;font-size:12px;line-height:16px;display:-webkit-box;overflow:hidden}.touch-controls{display:none}#joystick{touch-action:none;background:radial-gradient(circle,#aaab84 0,#8c9474 64%,#68785e 65%);border:2px solid #d2bd8e;border-radius:50%;width:86px;height:86px;position:relative;box-shadow:inset 0 0 0 7px #ede1be22}#joystick-knob{pointer-events:none;background:#e7d7ae;border:2px solid #c6b380;border-radius:50%;width:38px;height:38px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 8px #1c332a55}.stick-arrows{color:#e9dcba66;pointer-events:none;place-items:center;font-size:68px;line-height:1;display:grid;position:absolute;inset:0}.dpad{text-align:center;width:144px}.dpad>div{gap:4px;display:flex}.dpad button{background:#e1e8d0;width:44px;height:42px;min-height:42px;padding:0;font-size:20px}.dpad>button{margin-bottom:4px}.dpad button:active{background:#acc68e}.touch-action{flex-direction:column;align-items:center;gap:8px;display:flex}.touch-action>span{color:#a4b092;font-size:10px}#interact{color:#654d2e;background:#e4c37c;border-color:#d1b066;border-radius:50px;min-width:94px;min-height:54px;font-size:16px}#interact small{opacity:.55;font-size:10px}dialog{color:#3e543f;background:linear-gradient(110deg,#efe0c2,#fbf0d8 70%,#eee1c9);border:1px solid #bba782;border-radius:10px;width:min(460px,100vw - 24px);max-height:calc(100dvh - 24px);padding:0;overflow:hidden;box-shadow:0 20px 70px #14261966}dialog::backdrop{background:#162d2380}.modal-head{border-bottom:1px solid #dedfcb;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.modal-head h2{margin:0;font-size:17px;font-weight:500}.modal-head button{background:0 0;border:0;width:44px;padding:0;font-size:26px}.modal-body{overscroll-behavior:contain;touch-action:pan-y;max-height:calc(100dvh - 92px);padding:18px;overflow:auto}.eyebrow{color:#889373;letter-spacing:2px;margin:0 0 12px;font-size:10px}.inventory{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px;display:grid}.inventory div{background:#ebeeda;border-radius:4px;padding:14px 10px}.inventory dt{color:#788368;margin-bottom:8px;font-size:12px}.inventory dd{margin:0;font-size:12px}.inventory b{margin-right:3px;font:24px Georgia,serif}.market-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.market-actions button{color:#fff4d7;background:#466247;border-color:#466247;flex-direction:column;gap:4px;padding:10px 6px;font-size:12px;display:flex}.market-actions small{opacity:.7;font-size:10px}.note{color:#7a846c;margin:12px 0 0;font-size:12px;line-height:1.85}.modal-body a{color:#8c835a;margin-top:14px;font-size:11px;display:inline-block}.tasks{margin:0 0 18px;padding:0;list-style:none}.tasks li{padding:7px 0 7px 25px;font-size:12px;position:relative}.tasks li:before{content:"";border:1px solid #a3b08b;border-radius:2px;width:11px;height:11px;position:absolute;top:9px;left:0}.tasks li.done:before{content:"✓";color:#fff;background:#77915f;border-color:#77915f;font-size:10px;line-height:11px}.dialogue-text{min-height:90px;margin:0 0 20px;font-size:16px;line-height:1.9}.dialogue-footer{justify-content:space-between;align-items:center;display:flex}.dialogue-footer>span{color:#879475;font-size:12px}.dialogue-footer button{color:#fff4d7;background:#466247;padding:0 24px}.dialogue-footer kbd{opacity:.5;margin-left:10px}.dialogue-choices{gap:8px;margin-bottom:16px;display:grid}.dialogue-choices button{text-align:left;padding:10px}.tasks ul{padding:6px 0 0;list-style:none}.tasks strong{font-weight:500}@media (any-pointer:coarse),(width<=700px){.play-stage{grid-template-rows:minmax(0,1fr) 98px}.touch-controls{background:#263f33;justify-content:space-between;align-items:center;padding:5px 12px 7px;display:flex}.reach-note,.tool kbd,.sleep kbd{display:none}.tool{flex:1;min-width:0;padding:0 5px}.tool>span{margin-right:1px;font-size:18px}.sleep{margin-left:3px;padding:0 12px}}@media (width<=700px){.masthead{flex-basis:48px;gap:4px;padding:0 10px}.wordmark{font-size:22px}.wordmark small{display:none}nav{gap:4px}nav button{min-height:36px;padding:0 10px;font-size:11px}.save-status{display:none}.game-shell{grid-template-rows:auto minmax(0,1fr) 27px 56px 38px;padding:0 7px}.status-strip{flex-wrap:wrap;justify-content:center;gap:5px;padding:6px 2px}.day-stats{font-size:11px}.day-stats b{font-size:16px}.resources{gap:10px}.resources b{font-size:13px}.resources span{white-space:nowrap}.message{font-size:11px}.sleep{padding:0 8px;font-size:11px}.tool{font-size:11px}}@media (width<=360px){.resources{gap:6px;font-size:10px}.tool>span{display:none}.sleep{padding:0 5px}.masthead nav button{padding:0 7px}.wordmark{font-size:20px}}@media (height<=500px) and (orientation:landscape){.masthead{flex-basis:40px;padding:0 12px}.wordmark{font-size:22px}.wordmark small,.save-status{display:none}nav button{min-height:32px}.game-shell{grid-template-rows:31px minmax(0,1fr) 23px 48px 28px;padding:0 6px}.status-strip{flex-wrap:nowrap;justify-content:space-between;padding:3px 8px}.day-stats b{font-size:16px}.resources{gap:10px}.area-label{padding:3px 5px;font-size:10px;top:5px;left:163px}.play-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:156px minmax(0,1fr) 120px;position:relative}#game{grid-column:2}.touch-controls{pointer-events:none;background:0 0;justify-content:space-between;align-items:center;padding:4px 6px;display:flex;position:absolute;inset:0}.touch-controls>*{pointer-events:auto}.touch-action>span{display:none}.toolbelt{padding:2px 0 3px}.tool{min-width:85px}.tool kbd{display:none}.message{padding-top:1px;font-size:10px;line-height:13px}.dialogue-text{min-height:56px;font-size:14px}.modal-head{padding-top:4px;padding-bottom:4px}.modal-body{padding:12px 18px}.note{font-size:11px}}
