/* Optional V70 lobby HUD and map layout. Real game controls retain their
   original listeners, focus order and data attributes. Other scenes are not
   repositioned. */
#cc-game:has(#g-world[data-scene="lobby"]) .g-location{
  top:20px;left:22px;z-index:91;max-width:min(310px,calc(100% - 270px));
  padding:8px 14px;border:2px solid #d5ae71;border-radius:11px;
  background:linear-gradient(145deg,#755b3ded,#4e3829ef);color:#fff6dd;
  box-shadow:inset 0 0 0 1px #a47a4a,0 4px 12px #34221950;
  font-weight:700;line-height:1.35;letter-spacing:.03em
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-clock{
  color:#f3dfb8;font-size:11px;font-weight:500;letter-spacing:.01em
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-environment{
  top:20px;left:auto;right:22px;z-index:91;max-width:min(250px,calc(100% - 310px));
  padding:10px 15px;border:2px solid #a27946;border-radius:11px;
  background:linear-gradient(#fff6e4f5,#ead6b3f2);color:#5b422b;
  box-shadow:inset 0 0 0 1px #fff8e9,0 3px 10px #3422193e;
  font-size:13px;font-weight:700;line-height:1.35;text-overflow:ellipsis
}
#cc-game:has(#g-world[data-scene="lobby"]) .g-navwrap{
  inset:0;z-index:92;pointer-events:none
}
#cc-game:has(#g-world[data-scene="lobby"]) .g-navbuttons{
  position:absolute;left:calc(50% - 296px);bottom:17px;pointer-events:auto
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navtoggle{
  width:94px;min-width:94px;min-height:62px;justify-content:center;
  border:2px solid #d2a66a;border-radius:12px;padding:6px;
  background:linear-gradient(#fff8e8,#e8d5b4);color:#543d2b;
  box-shadow:inset 0 0 0 2px #fffaf0,0 3px 0 #6f4e32,0 5px 13px #3c281e4d;
  font-size:14px;font-weight:800
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navtoggle[aria-expanded="true"]{
  background:linear-gradient(#eaf1dd,#c7dabb);border-color:#75956f;color:#39563b
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navtoggle kbd{display:none}
#cc-game:has(#g-world[data-scene="lobby"]) #g-work-dock{
  left:calc(50% - 195px);right:auto;top:auto;bottom:17px;
  width:491px;max-width:491px;height:62px;min-height:62px;
  display:flex;flex-direction:row;align-items:stretch;gap:5px;
  padding:5px;border:2px solid #d4aa73;border-radius:13px;
  background:linear-gradient(#77543a,#513624);box-shadow:inset 0 0 0 2px #8d6647,0 5px 14px #3824176b;
  overflow:visible
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-work-dock button{
  flex:1 1 0;min-width:0;min-height:46px;padding:5px 6px;
  border:1px solid #b89769;border-radius:9px;
  background:linear-gradient(#fff8e8,#e7d4b1);color:#543d2b;
  box-shadow:inset 0 1px #fffdf5,0 2px 0 #94714d;
  font-size:13px;font-weight:800;line-height:1.2;white-space:normal
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-work-dock button:first-child{
  background:linear-gradient(#e1ebd5,#b6cba7);border-color:#839878;color:#39533a
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-work-dock button[data-unread="true"]{
  border-color:#b9744b;background:linear-gradient(#fff4df,#f1cfa8);color:#704329
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-work-dock button:hover:not(:disabled){
  background:linear-gradient(#fffdf1,#e4dfc6);color:#39533a
}
#cc-game:has(#g-world[data-scene="lobby"]) .g-hudbottom{
  left:auto;right:20px;bottom:91px;display:block;max-width:min(226px,calc(100% - 40px));z-index:7
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-journal summary{
  display:grid;gap:5px;width:226px;max-width:100%;min-height:136px;
  padding:11px 13px;border:2px solid #9a7249;border-radius:12px;
  background:linear-gradient(145deg,#fff7e9f7,#f0dfc0f5);color:#563e2b;
  box-shadow:inset 0 0 0 2px #fffaf0,0 5px 13px #39281d45;
  font-size:12px;line-height:1.35
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-journal[open] summary{
  border-color:#6b875f;background:linear-gradient(#f4f8eafa,#e4eddafa)
}
#cc-game:has(#g-world[data-scene="lobby"]) .v70-note-heading{
  display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:800
}
#cc-game:has(#g-world[data-scene="lobby"]) .v70-note-heading kbd{font-size:10px}
#cc-game:has(#g-world[data-scene="lobby"]) .v70-note-lines{
  display:grid;gap:2px;max-height:38px;overflow:hidden;font-size:11px;color:#69523a
}
#cc-game:has(#g-world[data-scene="lobby"]) .v70-note-lines span{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
#cc-game:has(#g-world[data-scene="lobby"]) .v70-note-track{
  display:block;height:8px;border-radius:99px;background:#d8c4a3;overflow:hidden
}
#cc-game:has(#g-world[data-scene="lobby"]) .v70-note-track i{
  display:block;width:var(--v70-note-progress,0%);height:100%;background:#6d8c63
}
#cc-game:has(#g-world[data-scene="lobby"]) .v70-note-count{
  font-size:11px;color:#6f5840;font-weight:700
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-journal .g-journal-pages{
  left:auto;right:0;bottom:calc(100% + 8px);max-height:calc(100dvh - 280px)
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-interact{
  left:28px;bottom:96px;transform:none;max-width:min(240px,calc(100% - 290px));
  white-space:normal;border-color:#d7ac70;background:#403023e8;color:#fff6df
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-interact kbd{
  background:#f5dfb1;color:#513b25;border-color:#c6a16d;font-weight:800
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel{
  position:absolute;left:clamp(18px,4vw,56px);top:88px;bottom:auto;
  width:min(520px,calc(100% - 36px));max-height:calc(100% - 180px);
  margin:0;padding:17px 20px;border:3px solid #9e744a;border-radius:17px;
  background:linear-gradient(145deg,#fff8e9f5,#efdcc0f3);
  box-shadow:inset 0 0 0 3px #fff9ea,inset 0 0 0 5px #d7bc91,0 15px 35px #35231875;
  color:#4c3a29;pointer-events:auto;overflow:auto
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-heading{
  top:-17px;margin:-7px -5px 9px;padding:13px 5px 10px;
  background:linear-gradient(#fff8eefa,#f3e5cbfa);border-color:#ccb18b
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-heading strong{
  font:800 20px/1.4 "Songti SC","STSong",serif
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-section h3{
  color:#7c5a36;font-size:13px;font-weight:800
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-grid{
  gap:8px 11px
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-grid button{
  min-height:54px;padding:8px 12px;border:1px solid #c2a47d;border-radius:10px;
  background:#fffaf0e8;color:#4f3b2b;text-align:left;font-size:14px;font-weight:700;
  box-shadow:inset 0 1px #fffdf5
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-grid button[aria-current="location"]{
  background:#e6f0dd;border-color:#77936d;color:#395b3b
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-grid button:disabled{
  background:#e5ddcf;border-color:#b6aa96;color:#686054
}
#cc-game:has(#g-world[data-scene="lobby"]) #g-toast{
  bottom:181px;border:2px solid #b58b59;background:#fff5e2f5
}
/* The existing NPC dialog is below the opt-in HUD stack. Remove lobby chrome
   from both hit testing and paint while that modal is open. */
#cc-game:has(#g-world[data-scene="lobby"]):has(#g-overlay:not([hidden]))
  :is(.g-location,#g-environment,.g-navwrap,.g-hudbottom,#g-interact,#g-work-dock){
  visibility:hidden;pointer-events:none
}
@media(max-width:700px){
  #cc-game:has(#g-world[data-scene="lobby"]) .g-location{
    top:11px;left:10px;max-width:calc(100% - 166px);padding:5px 8px;
    font-size:12px;line-height:1.25;white-space:normal
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-clock{font-size:9px}
  #cc-game:has(#g-world[data-scene="lobby"]) #g-environment{
    top:11px;right:10px;left:auto;max-width:145px;padding:6px 8px;
    font-size:11px;line-height:1.25;white-space:normal
  }
  #cc-game:has(#g-world[data-scene="lobby"]) .g-navbuttons{
    left:10px;bottom:10px;transform:none
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-navtoggle{
    width:66px;min-width:66px;min-height:56px;padding:4px;font-size:11px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-work-dock{
    top:auto;bottom:10px;left:82px;right:10px;width:auto;max-width:none;
    height:56px;min-height:56px;gap:2px;padding:3px;border-radius:10px;overflow:visible
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-work-dock button{
    flex:1 1 0;min-width:0;min-height:46px;padding:3px 1px;
    font-size:10px;line-height:1.15;overflow-wrap:anywhere
  }
  #cc-game:has(#g-world[data-scene="lobby"]) .g-hudbottom{
    right:10px;bottom:80px;max-width:176px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-journal summary{
    width:176px;min-height:114px;padding:8px 10px;gap:3px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) .v70-note-heading{font-size:13px}
  #cc-game:has(#g-world[data-scene="lobby"]) .v70-note-lines{
    max-height:28px;font-size:9px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) .v70-note-count{font-size:9px}
  #cc-game:has(#g-world[data-scene="lobby"]) #g-journal .g-journal-pages{
    right:0;left:auto;width:min(286px,calc(100vw - 20px));
    max-height:calc(100dvh - 270px)
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-interact{
    left:10px;bottom:84px;max-width:155px;padding:5px 7px;
    font-size:10px;gap:4px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel{
    left:10px;top:72px;width:calc(100% - 20px);max-height:calc(100% - 156px);
    padding:12px 13px;border-width:2px;border-radius:13px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-heading{
    top:-12px;margin:-4px -2px 8px;padding:9px 2px 7px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-heading strong{
    font-size:17px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-navpanel .g-nav-grid button{
    min-height:48px;padding:6px 8px;font-size:12px
  }
  #cc-game:has(#g-world[data-scene="lobby"]) #g-toast{bottom:207px}
}
