/* ===== 星星洗衣店 / STAR LAUNDRY ===== */
* { margin:0; padding:0; box-sizing:border-box; }
html,body{
  width:100%; height:100%;
  background:#0d0a1f;
  overflow:hidden;
  font-family: "PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  color:#fff;
  -webkit-user-select:none; user-select:none;
}
.site-return{position:fixed;z-index:10;top:16px;left:16px;padding:10px 14px;border-radius:10px;background:#ff4937;color:#111;text-decoration:none;font:800 14px Arial,"Microsoft YaHei",sans-serif;box-shadow:3px 4px 0 #a02b22}
.game-home{position:fixed;z-index:11;top:16px;right:16px;padding:10px 14px;border:1px solid #c9ff39;background:#0a0a0a;color:#c9ff39;text-decoration:none;font:700 12px Arial,sans-serif;letter-spacing:1px}
#stage{
  position:fixed; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(ellipse at 50% 40%, #2a2150 0%, #15102e 60%, #0a0820 100%);
}
#game{
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  background:#1a1430;
  width:min(100vw, calc(100vh * (640/360)));
  height:min(100vh, calc(100vw * (360/640)));
  box-shadow:0 0 0 2px #000, 0 0 40px rgba(180,160,255,0.25), 0 0 80px rgba(80,60,140,0.4);
  border-radius:2px;
  touch-action:none;
  cursor:default;
}
/* 操作提示条 */
.hint{
  position:absolute; left:50%; bottom:14px; transform:translateX(-50%);
  font-size:12px; letter-spacing:1px;
  background:rgba(20,16,40,0.7);
  border:1px solid rgba(255,220,180,0.25);
  padding:6px 14px; border-radius:10px;
  color:#ffe6c2; pointer-events:none;
  white-space:nowrap;
  text-shadow:0 1px 0 #000;
  transition:opacity .25s;
}
.hint.hidden{ opacity:0; }
/* 全屏弹窗(用于结局文字等) */
.overlay{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(8,6,20,0.85);
  pointer-events:auto;
}
.overlay.hidden{ display:none; }
.overlay .card{
  max-width:80%;
  text-align:center;
  padding:24px 28px;
  background:linear-gradient(180deg,#2a2350,#1a1530);
  border:2px solid #ffe1a8;
  border-radius:14px;
  box-shadow:0 0 30px rgba(255,200,120,0.35);
}
.overlay h1{
  font-size:22px; color:#ffe1a8; letter-spacing:3px; margin-bottom:10px;
  text-shadow:0 2px 0 #000;
}
.overlay .sub{
  font-size:13px; color:#c9b6ff; letter-spacing:2px; margin-bottom:14px;
}
.overlay p{
  font-size:14px; color:#fff; line-height:1.8; white-space:pre-line;
}
.overlay .btn{
  margin-top:14px; display:inline-block;
  padding:8px 18px; cursor:pointer;
  background:linear-gradient(180deg,#ffc987,#ff9d5c);
  color:#3a1a00; font-weight:bold; letter-spacing:2px;
  border:2px solid #fff1d6; border-radius:10px;
  box-shadow:0 2px 0 #b56a2a;
  font-family:inherit;
}
.overlay .btn:active{ transform:translateY(1px); }
@media(max-width:600px){.game-home{top:10px;right:10px;padding:8px 10px;font-size:10px}}

/* Keep navigation outside the playable 16:9 scene, including phone landscape. */
body{padding:60px 8px 16px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.site-return,.game-home{top:12px;min-height:34px;padding:8px 12px;border:1px solid #494949;border-radius:0;background:#111;color:#efefea;box-shadow:none;font:700 11px/18px 'Microsoft YaHei',sans-serif;letter-spacing:0}
.site-return{left:12px}.game-home{right:12px;color:#c9ff39;border-color:#7b972f}
.site-return:hover,.game-home:hover{background:#c9ff39;color:#080808}
.site-return:focus-visible,.game-home:focus-visible{outline:2px solid #c9ff39;outline-offset:3px}
#wrap{height:100%;background:transparent}
#stage{position:relative;inset:auto;flex:none;width:min(calc(100vw - 16px),calc((100svh - 76px) * 16 / 9));height:auto;aspect-ratio:16/9;max-width:none;max-height:none;margin:auto;border-radius:2px}
#game{width:100%;height:100%;aspect-ratio:16/9;box-shadow:none}
#stage>.hint{bottom:5px;max-width:96%;white-space:normal;text-align:center;font-size:10px;line-height:1.4;padding:3px 8px;letter-spacing:0}
.start-inner{padding:8px}.start-inner .title{font-size:40px;letter-spacing:4px;margin-bottom:2px}.start-inner .sub{font-size:13px;letter-spacing:3px;margin-bottom:10px}.start-inner .time{font-size:15px;letter-spacing:2px;margin-bottom:12px}.start-inner .hint{font-size:10px;margin-top:10px;letter-spacing:0}.start-inner .btn-main{font-size:14px;padding:8px 20px;letter-spacing:1px}
@media(max-width:600px),(max-height:600px){
 #inspect-panel{position:fixed;inset:56px 8px 8px;overflow:auto;align-items:center;z-index:30}
 .inspect-box{width:min(400px,100%);max-height:100%;overflow:auto;padding:12px}
 #inspect-canvas{max-width:100%;width:160px;height:120px;margin:0 auto 8px}
 .inspect-title{margin-bottom:6px}.inspect-desc{font-size:12px;min-height:0;margin-bottom:8px}
 .inspect-btns{gap:6px;flex-wrap:wrap;justify-content:center}.inspect-btns button{padding:7px 12px!important;font-size:12px!important}
 .ending-title{font-size:24px;margin-bottom:14px}.ending-text{font-size:13px;margin-bottom:10px}
}
@media(max-width:400px){.start-inner .title{font-size:26px}.start-inner .sub{font-size:10px;margin-bottom:6px}.start-inner .time{font-size:12px;margin-bottom:8px}.start-inner .hint{font-size:8px;margin-top:7px}.start-inner .btn-main{font-size:12px;padding:6px 16px}}
