#cc-game [data-cyber-enter][hidden]{display:none!important}
#cc-game .cyber-launch-hint{font-size:14px;line-height:1.8;max-width:32em;margin-inline:auto}
#cc-game .living118-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}
#cc-game .living118-controls button{min-height:44px;padding:8px 12px;border:1px solid #8c8c7790;border-radius:12px;background:#f7f3e8;color:#38493e;font:500 14px/1.4 system-ui;cursor:pointer}
#cc-game .living118-overlay{position:absolute;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:20px;background:#23352b88;backdrop-filter:blur(3px)}
#cc-game .living118-overlay[hidden]{display:none}
#cc-game .living118-guide{width:min(540px,100%);max-height:calc(var(--living118-height,100dvh) - 100px);overflow:auto;overscroll-behavior:contain;background:#fbf7ee;color:#37483d;border:1px solid #d8d6c4;border-radius:22px;padding:24px;box-shadow:0 20px 64px #14291b40;font:15px/1.75 system-ui}
#cc-game .living118-guide header{display:flex;align-items:center;gap:16px}
#cc-game .living118-guide canvas{width:70px;height:84px;object-fit:contain;border-radius:16px;background:#edf0e2}
#cc-game .living118-eyebrow{font-size:12px;letter-spacing:1px;color:#61745b;margin:0 0 6px}
#cc-game .living118-guide h2{font-size:24px;line-height:1.35;margin:0;font-weight:650}
#cc-game .living118-copy{margin:18px 0;line-height:1.8}
#cc-game .living118-cards{display:grid;gap:10px}
#cc-game .living118-cards article{background:#f0efdf;border-left:3px solid #82966c;padding:12px 15px;border-radius:8px}
#cc-game .living118-cards h3{margin:0 0 3px;font-size:15px}#cc-game .living118-cards p{margin:0;color:#5b6655;font-size:14px}
#cc-game .living118-guide footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}
#cc-game .living118-guide footer span{margin-right:auto;color:#687563;font-size:13px}
#cc-game .living118-guide button{min-height:44px;padding:10px 15px;border:1px solid #b1b9a2;border-radius:12px;background:transparent;color:#405439;font:600 14px system-ui;cursor:pointer}
#cc-game .living118-guide button.living118-primary{background:#496345;color:#fff;border-color:#496345}
#cc-game :is(.living118-guide,.living118-controls) button:focus-visible{outline:3px solid #5979a5;outline-offset:3px}
#cc-game :is(.g-dialog,.g-nav,.farm25-dialog,.cwork40-dialog,.cmail39-dialog,.friends118-dialog) :is(button,select){min-height:44px}
@media(max-width:700px){
 #cc-game .living118-overlay{padding:12px}
 #cc-game .living118-guide{padding:18px;border-radius:18px;max-height:calc(var(--living118-height,100dvh) - 70px)}
 #cc-game .living118-guide h2{font-size:21px}
 #cc-game .g-dialog{max-height:calc(var(--living118-height,100dvh) - 28px);font-size:14px;overscroll-behavior:contain}
 #cc-game :is(.g-dialog,.g-nav,.farm25-dialog,.cwork40-dialog,.cmail39-dialog,.friends118-dialog) :is(input,textarea,select){font-size:16px;min-height:44px}
 #cc-game :is(.sv-note,.sv-field label,.g-nav button,.g-choice){font-size:14px;line-height:1.5}
 #cc-game :is(#g-close,#g-navtoggle,#g-return,#g-interact,#g-quicktoggle){min-width:44px;min-height:44px}
 #cc-game .living118-controls{gap:6px;margin-left:0}#cc-game .living118-controls button{padding:8px 10px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){#cc-game .living118-overlay{backdrop-filter:none}}
/* Reserve enough room for the real 44px footer buttons. */
body #cc-game .g-stage{height:calc(100dvh - 60px)}
body #cc-game .g-footer{height:60px;box-sizing:border-box;flex-wrap:nowrap;gap:12px;padding:7px 12px;font-size:12px;overflow:visible}
body #cc-game .living118-controls{flex:0 0 auto;flex-wrap:nowrap}
@media(max-width:700px){
 body #cc-game .g-stage{height:calc(100dvh - 60px)}
 body #cc-game .g-footer{height:60px;padding:6px 8px;gap:6px}
 body #cc-game .g-footer>span:first-child{display:none}
 body #cc-game #g-discoveries{font-size:12px;line-height:1.4;flex:1;min-width:0;max-height:48px;overflow:hidden}
 body #cc-game .living118-controls{margin-left:auto}
}
@media(max-width:700px){
 body #cc-game .g-dialog,
 body #cc-game .g-dialog:has(.sv-character-layout){max-height:min(100%,calc(var(--living118-height,100dvh) - 84px))}
 body #cc-game .g-dialoghead,
 body #cc-game .g-dialog:has(.sv-character-layout) .g-dialoghead{top:0}
}

body .fv25-hud{bottom:64px}
body #cc-game[data-comfort-scene="farm"] #g-return{min-height:44px;min-width:74px}
@media(max-width:700px){
 body:has(#g-world[data-farm-camera="mobile"]) .fv33-hud{bottom:64px}
 body #cc-game[data-comfort-scene="farm"] #g-discoveries{display:none}
 body #cc-game[data-comfort-scene="farm"] .living118-controls{margin-inline:auto}
}
body #cc-game .g-stage{height:calc(var(--living118-height,100dvh) - 60px)}
body:has(.living118-overlay:not([hidden])) .fv25-hud{visibility:hidden;pointer-events:none}

/* Place brief mobile farm/lake notices above the current visible HUD. */
@media(max-width:700px){
 body #cc-game:has(#g-world):is([data-comfort-scene="farm"],[data-comfort-scene="fishing"]) #g-toast{
  top:auto!important;bottom:var(--living118-toast-bottom,152px);width:min(420px,calc(100% - 24px));max-width:calc(100% - 24px);box-sizing:border-box;
  padding:6px 10px;font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;overflow:visible;max-height:none;
 }
}

/* A brief notice can meet the fixed resource strip in a shortened viewport.
   Keep the notice readable, restoring the strip when the notice leaves. */
.fv33-resources[data-living118-toast-obscured="true"]{visibility:hidden}
