/* deeds.css - Captain's Log: Deeds + Shipwright tabs (Nectar). Phone-first; every tap target >= 44 px; body scrolls between a fixed
   head and bottom bar (column layout, nothing overlaps). Shapes: rounded tabs, rounded cards, filled discs only; no dashes, rings or ticks. */
#dsRoot { position:fixed; inset:0; z-index:62; display:none; flex-direction:column; box-sizing:border-box; background:#081c28; color:#fff6dc;
  font:16px/1.35 system-ui,sans-serif;
  padding:calc(10px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px)); }
#dsRoot.show { display:flex; }
#dsRoot .btn { box-sizing:border-box; border-style:solid; touch-action:manipulation; min-height:48px; border-radius:24px; }
#dsRoot .btn.primary { background:#e3b25e; color:#071a26; border-color:#e3b25e; }
#dsRoot .btn.dsOff, #dsRoot .btn:disabled { opacity:.55; background:transparent; color:#fff6dc; border-color:#5b6f7a; }
#dsRoot .dsHead { flex:0 0 auto; }
#dsRoot .dsHead h1 { font-size:22px; margin:2px 0 8px; }
#dsRoot .dsTabs { display:flex; gap:8px; }
#dsRoot .dsTab { flex:1 1 0; font-size:16px; }
#dsRoot .dsTab.on { background:#e3b25e; color:#071a26; border-color:#e3b25e; }
#dsRoot .dsMsg { flex:0 0 auto; margin-top:8px; padding:8px 12px; border-radius:14px; background:#1d4a5e; font-size:14px; }
#dsRoot .dsBody { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:8px 2px; }
#dsRoot .dsBtns { flex:0 0 auto; display:flex; padding-top:10px; }
#dsRoot .dsBtns .btn { flex:1 1 0; min-height:56px; border-radius:28px; font-size:18px; }
#dsRoot .dsSec h2 { font-size:17px; color:#ffd479; margin:12px 2px 8px; }
#dsRoot .dsCard { border-radius:18px; background:#123447; padding:12px 14px; margin:0 0 10px; }
#dsRoot .dsCard.dsHidden { background:#0f2a39; opacity:.8; }
#dsRoot .dsCard.dsDone { opacity:.75; }
#dsRoot .dsCard.dsActive { background:#1b4a5f; }
#dsRoot .dsName { font-weight:700; font-size:17px; overflow-wrap:anywhere; }
#dsRoot .dsProg { font-size:14px; margin-top:2px; }
#dsRoot .dsSmall { font-size:13px; opacity:.85; margin-top:2px; }
#dsRoot .dsWhy { font-size:13px; color:#ffd9a8; margin-top:6px; flex:1 1 100%; }
#dsRoot .dsLans { display:flex; align-items:center; gap:8px; margin-top:8px; flex-wrap:wrap; }
#dsRoot .dsLan { display:inline-block; border-radius:50%; background:#3a5563; }
#dsRoot .dsLan.ready { background:#ffd479; }
#dsRoot .dsLan.claimed { background:#c99a45; opacity:.8; }
#dsRoot .dsClaim { margin-top:10px; width:100%; font-size:17px; }
#dsRoot .dsRow { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
#dsRoot .dsRow .btn { flex:1 1 140px; padding:0 14px; font-size:16px; }
#dsRoot .dsChipRow { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
#dsRoot .dsChip { padding:4px 10px; border-radius:14px; background:#1d4a5e; font-size:13px; }
#dsRoot .dsChip.dsSoft { opacity:.7; }
/* landscape phones (short screens): title and tabs share one row, slimmer gaps, so the scroll body gets the height */
@media (max-height:500px) and (orientation:landscape) {
  #dsRoot { padding-top:calc(6px + env(safe-area-inset-top,0px)); padding-bottom:calc(6px + env(safe-area-inset-bottom,0px)); }
  #dsRoot .dsHead { display:flex; align-items:center; gap:12px; }
  #dsRoot .dsHead h1 { margin:0; font-size:19px; white-space:nowrap; }
  #dsRoot .dsTabs { flex:1 1 auto; }
  #dsRoot .dsMsg { margin-top:4px; padding:6px 12px; }
  #dsRoot .dsBody { padding:4px 2px; }
  #dsRoot .dsBtns { padding-top:6px; }
  #dsRoot .dsBtns .btn { min-height:48px; }
}
#isBar #btnShipwright { padding:0 6px; }
/* narrow phones: with the Shipwright button shown the bar wraps, Shipwright on its own full row above the others; the tip moves up with it */
@media (max-width:600px) {
  body.dsShipOn #isBar { flex-wrap:wrap; }
  body.dsShipOn #isBar #btnShipwright { order:-1; flex:1 1 100%; min-height:52px; }
  body.dsShipOn #isTip { bottom:calc(154px + var(--sab)); }
  body.dsShipOn.landed #toast { bottom:calc(212px + var(--sab)); }
}
