/* StarSea · 本地躲猫猫。只使用现有主题变量、字体与卡片语汇。 */
.hs-shell{padding:.72rem;max-width:800px;margin:0 auto;color:var(--text2);padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}
.hs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:.7rem}
.hs-title{font-family:'JH',serif;font-size:1.05rem;color:var(--text3)}
.hs-sub{font-size:.6rem;color:var(--text-m);margin-top:.18rem;line-height:1.55}
.hs-card{background:var(--card);border:1px solid var(--card-b);border-radius:14px;padding:.72rem;box-shadow:0 1px 1px rgba(255,255,255,.12) inset}
.hs-section-title{font-family:'JH',serif;color:var(--text3);font-size:.78rem;margin:0 0 .52rem}
.hs-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr);gap:.65rem;align-items:start}
.hs-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:.65rem}
.hs-status{background:color-mix(in srgb,var(--accent) 7%,var(--card));border:1px solid var(--card-b);border-radius:12px;padding:.55rem;text-align:center;min-width:0}
.hs-status span{display:block;color:var(--text-m);font-size:.52rem;margin-bottom:.15rem}
.hs-status b{display:block;color:var(--text3);font-family:'JH',serif;font-size:.72rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:'entry living kitchen balcony' '. bedroom bathroom .' '. wardrobe . .';gap:.42rem;position:relative}
.hs-room{min-height:58px;border:1px solid var(--card-b);background:color-mix(in srgb,var(--card) 88%,transparent);color:var(--text-m);border-radius:12px;padding:.42rem .3rem;font-family:'JH',serif;font-size:.65rem;line-height:1.25;cursor:pointer;transition:transform .16s,box-shadow .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
.hs-room:active{transform:scale(.97)}
.hs-room[data-room="entry"]{grid-area:entry}.hs-room[data-room="living"]{grid-area:living}.hs-room[data-room="kitchen"]{grid-area:kitchen}.hs-room[data-room="balcony"]{grid-area:balcony}.hs-room[data-room="bedroom"]{grid-area:bedroom}.hs-room[data-room="bathroom"]{grid-area:bathroom}.hs-room[data-room="wardrobe"]{grid-area:wardrobe}
.hs-room.is-selected,.hs-room.is-hider{border-color:var(--accent);color:var(--text3);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}
.hs-room.is-seeker:after{content:'柏源';display:block;color:var(--accent2);font-family:'Noto Sans SC',sans-serif;font-size:.46rem;margin-top:.18rem}
.hs-room.is-hider:before{content:'阿淮 · ';color:var(--accent)}
.hs-room.is-neighbor{border-style:dashed}
.hs-spots{display:flex;flex-wrap:wrap;gap:.38rem;min-height:38px}
.hs-spot{border:1px solid var(--card-b);background:var(--bg);color:var(--text-m);border-radius:999px;padding:.42rem .62rem;font-size:.6rem;cursor:pointer;line-height:1.2}
.hs-spot.is-selected{background:color-mix(in srgb,var(--accent) 18%,var(--card));border-color:var(--accent);color:var(--text3)}
.hs-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem}
.hs-action{min-height:44px;border-radius:12px!important;font-size:.66rem!important}
.hs-action[disabled]{opacity:.46;cursor:not-allowed}
.hs-action-wide{grid-column:1/-1}
.hs-run-box{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.48rem 0}
.hs-select{width:100%;min-height:42px;border:1px solid var(--card-b);border-radius:11px;background:var(--bg);color:var(--text2);padding:.42rem .5rem;font-size:.62rem}
.hs-story{min-height:110px;display:flex;flex-direction:column;gap:.45rem}
.hs-bell{font-family:'JH',serif;color:var(--accent2);font-size:.72rem;line-height:1.65}
.hs-clue{font-size:.61rem;color:var(--text-m);line-height:1.65}
.hs-reaction{font-family:'JH',serif;color:var(--text3);font-size:.72rem;line-height:1.7;padding:.55rem .6rem;border-left:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:0 10px 10px 0}
.hs-thought{font-size:.6rem;font-style:italic;color:var(--text-m);line-height:1.6;min-height:0}
.hs-log{display:flex;flex-direction:column;gap:.45rem;max-height:320px;overflow-y:auto}
.hs-log-row{border-bottom:1px dashed var(--card-b);padding:0 0 .45rem;font-size:.58rem;color:var(--text-m);line-height:1.65}
.hs-log-row b{color:var(--text3);font-weight:500;margin-right:.35rem}
.hs-empty{text-align:center;padding:1.2rem .5rem;color:var(--text-m);font-size:.62rem;line-height:1.7}
.hs-notice{min-height:1.2rem;color:var(--accent2);font-size:.58rem;line-height:1.5;margin:.4rem 0}
.hs-history{margin-top:.65rem}.hs-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.hs-history-row{background:color-mix(in srgb,var(--card) 86%,transparent);border:1px solid var(--card-b);border-radius:11px;padding:.55rem;font-size:.56rem;color:var(--text-m);line-height:1.55}
.hs-history-row b{display:block;color:var(--text3);font-family:'JH',serif;font-size:.66rem;font-weight:500;margin-bottom:.12rem}
.hs-shell.fx-near .hs-story{animation:hs-near .55s ease}.hs-shell.fx-wrong .hs-story{animation:hs-wrong .4s ease}.hs-shell.fx-caught{animation:hs-caught .8s ease}
@keyframes hs-near{50%{box-shadow:0 0 20px color-mix(in srgb,var(--accent) 30%,transparent)}}
@keyframes hs-wrong{25%,75%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
@keyframes hs-caught{40%{filter:brightness(1.14);transform:scale(1.006)}}
@media(prefers-reduced-motion:reduce){.hs-shell,.hs-story,.hs-room{animation:none!important;transition:none!important}}
@media(max-width:768px){
  .hs-shell{padding:.62rem .58rem max(1.2rem,calc(env(safe-area-inset-bottom,0px) + .8rem))}
  .hs-grid{grid-template-columns:1fr}.hs-status-grid{gap:.35rem}.hs-status{padding:.5rem .28rem}
  .hs-map{grid-template-columns:repeat(4,minmax(54px,1fr));gap:.32rem;overflow:visible}
  .hs-room{min-height:54px;font-size:.59rem;padding:.35rem .2rem}
  .hs-history-list{grid-template-columns:1fr}.hs-action{min-height:46px}
}
@media(max-width:380px){.hs-map{grid-template-columns:repeat(4,minmax(48px,1fr))}.hs-room{font-size:.54rem}.hs-status b{font-size:.64rem}}
