/* Store layout D: top categories, three landscape shelves, fixed departure actions.
   Keep the existing store palette, item quality colors and interaction rules. */
#ui .st-wrap {
  inset:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);
  padding:8px 12px;
}
#ui .st-top {
  width:100%; height:76px; min-height:76px; padding:0 150px;
  align-items:center; position:relative;
}
#ui .st-title { font-size:27px; text-align:center; }
#ui .st-sub { font-size:12px; text-align:center; }
#ui .st-money { position:absolute; right:4px; top:3px; margin:0; }
#ui .st-money b { font-size:22px; }
#ui .st-sheet {
  width:100%; min-height:0; display:grid;
  grid-template-columns:minmax(0,1fr); grid-template-rows:58px minmax(0,1fr) 65px;
  border-bottom:2px solid var(--panel-edge); border-radius:16px; overflow:hidden;
}
#ui .st-tabs { min-width:0; padding:8px 10px; gap:8px; }
#ui .st-tab { min-height:44px; font-size:18px; padding:5px 8px; letter-spacing:2px; }
#ui .st-sheet .st-list {
  min-width:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:max-content; align-content:start; gap:10px;
  padding:8px 12px 16px; overflow-x:hidden; overflow-y:auto;
  scrollbar-width:none; touch-action:pan-y;
}
#ui .st-sheet .st-list .st-card {
  display:flex; flex-direction:column; align-items:stretch;
  min-width:0; padding:16px; gap:14px;
}
#ui .st-sheet .st-icw { width:100%; height:58px; flex:none; }
#ui .st-sheet .st-ic.w { width:96px; max-width:100%; height:42px; object-fit:contain; }
#ui .st-sheet .st-mid { gap:5px; }
#ui .st-sheet .st-name { font-size:18px; }
#ui .st-sheet .st-st { font-size:13px; grid-template-columns:32px minmax(12px,1fr) 66px; }
#ui .st-sheet .st-list .st-card>div:last-child { margin-top:auto; }
#ui .st-sheet .st-act { width:100%; min-width:0; min-height:44px; }
#ui .st-sheet .st-note { grid-column:1/-1; margin:0; line-height:1.3; }
#ui .st-sheet .st-list .st-card.i>.st-icw { width:64px; height:58px; align-self:center; }
#ui .st-sheet .st-list .st-card.i .st-ic { width:32px; height:40px; }
#ui .st-sheet .st-list .st-card.i .st-desc { color:#a9c9d7; font-size:13px; line-height:1.45; }
#ui .st-foot { flex-direction:row; justify-content:flex-end; gap:24px; padding:8px 12px; min-width:0; }
#ui .st-foot small { order:-1; margin-right:auto; }
#ui .st-departure-actions { width:340px; max-width:55%; gap:10px; }
#ui .st-departure-actions .btn { font-size:20px; padding:7px 10px; min-height:44px; }
#ui .toasts.st-toasts { top:calc(var(--safe-top) + 58px); }
@media (max-width:760px) {
  #ui .st-wrap { padding-inline:8px; }
  #ui .st-top { padding-inline:105px; }
  #ui .st-title { font-size:22px; }
  #ui .st-sub { font-size:10px; }
  #ui .st-money { padding:4px 8px; }
  #ui .st-money b { font-size:18px; min-width:40px; }
  #ui .st-sheet { border-radius:12px; }
  #ui .st-sheet .st-list .st-card { padding:10px; gap:10px; }
  #ui .st-sheet .st-name { font-size:16px; }
  #ui .st-sheet .st-st { font-size:11px; grid-template-columns:25px minmax(8px,1fr) 58px; gap:3px; }
  #ui .st-sheet .st-st em { font-size:11px; }
}
@media (orientation:landscape) and (max-height:440px) {
  #ui .st-wrap { padding-block:6px; }
  #ui .st-top { height:52px; min-height:52px; }
  #ui .st-title { font-size:22px; }
  #ui .st-sheet { grid-template-rows:50px minmax(0,1fr) 54px; }
  #ui .st-tabs { padding:3px 8px; }
  #ui .st-tab { font-size:16px; }
  #ui .st-sheet .st-list { padding:5px 8px 12px; gap:8px; }
  #ui .st-sheet .st-list .st-card { padding:8px; gap:6px; }
  #ui .st-sheet .st-icw { height:32px; }
  #ui .st-sheet .st-ic.w { width:72px; height:32px; }
  #ui .st-sheet .st-mid { gap:3px; }
  #ui .st-sheet .st-name { font-size:16px; }
  #ui .st-sheet .st-list .st-card.i { display:grid; grid-template-columns:44px minmax(0,1fr); align-content:start; }
  #ui .st-sheet .st-list .st-card.i>.st-icw { width:44px; height:44px; align-self:start; }
  #ui .st-sheet .st-list .st-card.i .st-ic { width:26px; height:32px; }
  #ui .st-sheet .st-list .st-card.i .st-desc { font-size:12px; line-height:1.35; }
  #ui .st-foot { padding:5px 10px; }
  #ui .st-foot small { display:none; }
  #ui .st-departure-actions { max-width:100%; }
}
@media (orientation:portrait) {
  #ui .st-top { padding:0 12px; height:96px; min-height:96px; }
  #ui .st-title { font-size:24px; }
  #ui .st-money { top:44px; right:4px; }
  #ui .st-sheet .st-list { grid-template-columns:minmax(0,1fr); }
  #ui .st-foot small { display:none; }
  #ui .st-departure-actions { max-width:100%; }
}

/* Selected card layout B: upper-left artwork, information on the right,
   full-width action underneath. Only equipment and supplies use this layout. */
#ui .st-sheet .st-list .st-card:is(.g,.i) {
  display:grid; grid-template-columns:68px minmax(0,1fr); grid-template-rows:auto auto;
  gap:7px 10px; padding:10px; min-height:0; align-content:start; align-items:start;
}
#ui .st-sheet .st-list .st-card:is(.g,.i)>.st-icw {
  grid-area:1/1; justify-self:start; align-self:start; width:68px; height:68px;
  min-height:44px; padding:0; border:1px solid var(--quality); border-radius:8px;
}
#ui .st-sheet .st-list .st-card:is(.g,.i) .st-ic.g {
  width:auto; height:auto; max-width:28px; max-height:26px; transform:scale(1.65); object-fit:contain;
}
#ui .st-sheet .st-list .st-card:is(.g,.i)>.st-mid {
  grid-area:1/2; gap:5px; align-self:start; min-height:44px; justify-content:flex-start;
}
#ui .st-sheet .st-list .st-card:is(.g,.i) .st-name { font-size:17px; gap:4px; line-height:1.15; }
#ui .st-sheet .st-list .st-card:is(.g,.i) .st-val { font-size:13px; white-space:normal; line-height:1.3; }
#ui .st-sheet .st-list .st-card:is(.g,.i) .st-desc { font-size:12px; line-height:1.35; color:#9fbfce; }
/* Reserve two description lines and align upgrade actions within each shelf row. */
#ui .st-sheet .st-list .st-card.g { grid-template-rows:1fr auto; }
#ui .st-sheet .st-list .st-card.g .st-desc { min-height:2.7em; min-height:2lh; }
#ui .st-sheet .st-list .st-card:is(.g,.i)>div:last-child { grid-area:2/1/3/-1; align-self:end; margin:0; }
#ui .st-sheet .st-list .st-card:is(.g,.i) .st-act { width:100%; min-height:44px; flex-direction:row; gap:10px; font-size:15px; padding:5px 8px; }
#ui .st-sheet .st-list .st-card:is(.g,.i) .st-act .pr { font-size:15px; }
#ui .st-sheet .st-list .st-card:is(.g,.i) .st-source { min-height:44px; display:grid; place-items:center; padding:4px 0; }
#ui .st-card.g,.st-gear-detail { cursor:pointer; }
.st-gear-detail:focus-visible { outline:2px solid #fff; outline-offset:2px; border-radius:6px; }
.exp-gear-facts { margin:12px 0; text-align:left; }
.exp-gear-facts>div { display:flex; justify-content:space-between; gap:16px; padding:6px 0; border-bottom:1px solid #9fefff22; }
.exp-gear-facts dt { color:#9fbfce; }
.exp-gear-facts dd { margin:0; color:#fff; text-align:right; }
@media (orientation:landscape) and (min-width:600px) {
  .exp-dialog.exp-gear-dialog { width:min(600px,100%); padding:12px; }
  .exp-gear-dialog .exp-body { display:grid; grid-template-columns:112px minmax(0,1fr); gap:8px 16px; text-align:left; }
  .exp-gear-dialog .exp-item-detail { grid-column:1; grid-row:1/4; text-align:center; }
  .exp-gear-dialog .exp-item-detail h3 { font-size:19px; }
  .exp-gear-dialog .exp-item-detail>span { font-size:12px; }
  .exp-gear-dialog .exp-body>p,.exp-gear-dialog .exp-gear-facts { grid-column:2; margin:0; font-size:13px; line-height:1.4; }
  .exp-gear-dialog .exp-gear-facts>div { padding:4px 0; }
  .exp-gear-dialog .exp-error:empty { display:none; }
}
@media (orientation:landscape) {
  #ui .st-wrap:has(.st-card.g,.st-card.i) .st-top { height:52px; min-height:52px; }
  #ui .st-wrap:has(.st-card.g,.st-card.i) .st-sheet { grid-template-rows:52px minmax(0,1fr) 58px; }
  #ui .st-wrap:has(.st-card.g,.st-card.i) .st-tabs { padding-block:4px; }
  #ui .st-sheet .st-list:has(.st-card.g,.st-card.i) { gap:8px; padding:5px 10px 9px; }
}
@media (max-width:900px) {
  #ui .st-sheet .st-list .st-card:is(.g,.i) { grid-template-columns:46px minmax(0,1fr); gap:6px; padding:8px; }
  #ui .st-sheet .st-list .st-card:is(.g,.i)>.st-icw { width:46px; height:46px; }
  #ui .st-sheet .st-list .st-card:is(.g,.i) .st-name { font-size:15px; }
  #ui .st-sheet .st-list .st-card:is(.g,.i) .st-val { font-size:12px; }
}
@media (orientation:landscape) and (max-height:440px) {
  #ui .st-wrap:has(.st-list.exp-store-grid) { padding-block:4px; }
  #ui .st-wrap:has(.st-list.exp-store-grid) .st-sheet { grid-template-rows:48px minmax(0,1fr) 50px; }
  #ui .st-wrap:has(.st-list.exp-store-grid) .st-tabs { padding-block:2px; }
  #ui .st-wrap:has(.st-list.exp-store-grid) .st-foot { padding-block:3px; }
  #ui .st-sheet .st-list.exp-store-grid:has(.st-card.i) { gap:4px 6px; padding:2px 8px 3px; }
  #ui .st-sheet .st-list .st-card.i { padding:3px; gap:3px 6px; }
  #ui .st-sheet .st-list .st-card.i .st-name { font-size:14px; padding-right:12px; }
  #ui .st-sheet .st-list .st-card.i>.st-mid { gap:3px; }
  #ui .st-sheet .st-list .st-card.i>.st-icw { width:44px; height:44px; }
  #ui .st-sheet .st-list .st-card.i .st-desc { font-size:11px; line-height:1.25; }
}
