/* Standard desktop chrome. Phone geometry lives in concept-std.css. */
@media (min-width: 1024px) {
  /* #app is needed: game.css lays #app out as a flex column by id, and an id outranks any number of
     classes; without it the sidebar stacks above the top bar. Mint's rule carries #app for the same reason. */
  #app.concept-std.concept-std--desk {
    --st-size-topbar: 40px;
    --st-size-sidebar: 208px;
    --st-size-th: 27px;
    --st-size-control: 28px;
    --st-size-row: var(--st-size-row-desktop, 28px);
    display: flex; flex-direction: row; overflow: hidden;
  }
  .concept-std--desk .st-side {
    flex: 0 0 var(--st-size-sidebar); width: var(--st-size-sidebar);
    display: flex; flex-direction: column; min-height: 0;
    border-right: 1px solid var(--st-line); background: var(--st-bg-1);
  }
  .concept-std--desk .st-side > .brand { display: flex; align-items: center; gap: 8px; padding: 12px; flex: none; font-size: 14px; font-weight: 700; }
  .concept-std--desk .st-side > .brand img { width: 26px; height: 26px; }
  .concept-std--desk .st-side__identity { margin-top: auto; padding: 12px; color: var(--st-muted); font-size: 12px; }
  .concept-std--desk .st-side__identity .empire-id { display: flex; width: 100%; height: auto; min-height: 44px; min-width: 0; }
  .concept-std--desk .st-side__identity .empire-id__name { white-space: normal; }
  .concept-std--desk .st-nav--side { display: flex; flex-direction: column; padding: 8px; gap: 4px; overflow-y: auto; min-height: 0; }
  .concept-std--desk .st-nav__item { flex-direction: row; justify-content: flex-start; min-height: 32px; padding: 0 8px; gap: 8px; flex: none; }
  .concept-std--desk .st-nav__item[aria-current="page"] { background: var(--st-accent-bg); }
  .concept-std--desk .st-nav__item::after { display: none; }
  .concept-std--desk .st-nav--side > .sub-tabbar {
    position: static; display: flex; flex-direction: column; align-items: stretch; gap: 4px;
    margin: 0 0 4px 20px; padding: 0; border: 0; background: none;
    min-height: 84px; overflow-y: auto; mask-image: none; -webkit-mask-image: none;
  }
  .concept-std--desk .st-nav--side > .sub-tabbar a {
    flex: none; min-height: 28px; padding: 4px 8px; border: 0; border-radius: 0;
    color: var(--st-muted); font-size: 12px; white-space: nowrap;
  }
  .concept-std--desk .st-nav--side > .sub-tabbar a[aria-current="page"] { color: var(--st-accent); background: var(--st-accent-bg); }
  .concept-std--desk .st-desk { flex: 1; display: flex; flex-direction: column; min-width: 0; min-height: 0; }
  .concept-std--desk .st-desk__body { flex: 1; display: flex; flex-direction: column; min-height: 0; min-width: 0; }
  /* Working screens draw no hero art (spec §2.1): the shared desktop page backdrop stays off under Standard. */
  .concept-std--desk .st-desk__body > main.game-main { background-image: none; }
  .concept-std--desk .st-desk__body > main.game-main {
    flex: 1; width: 100%; max-width: none; min-width: 0; min-height: 0;
    margin: 0; padding: 12px; box-sizing: border-box; overflow: auto;
  }
  .concept-std--desk .shell-header--game { gap: 8px; }
  .concept-std--desk .shell-header--game .menu-btn { display: none; }
  .concept-std--desk .shell-header--game .st-breadcrumb { display: block; order: 0; margin-right: auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
  .concept-std--desk .shell-header--game .st-tick { flex-direction: row; align-items: baseline; gap: 8px; margin-right: 0; }
  .concept-std--desk .st-tick__context { font-size: 11px; }
  .concept-std--desk .st-detail-tabs { margin: 0 0 8px; }
  .concept-std--desk .st-detail-tabs a { box-shadow: none; }
  .concept-std--desk .st-detail-tabs a[aria-current="page"] { box-shadow: inset 0 -2px var(--st-accent); }
  .concept-std--desk .st-two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .concept-std--desk .st-two-up > * { min-width: 0; }
  .concept-std--desk main.game-main .st-tile__value,
  .concept-std--desk .st-figure-strip__value { font-size: 16px; }
  .concept-std--desk table tbody tr:hover { background: var(--st-hover, var(--st-panel-raised)); }
  .concept-std--desk [data-cm-fade="down"] { mask-image: linear-gradient(to bottom, var(--st-text) calc(100% - 18px), transparent); }
  .concept-std--desk [data-cm-fade="up"] { mask-image: linear-gradient(to top, var(--st-text) calc(100% - 18px), transparent); }
  .concept-std--desk [data-cm-fade="both"] { mask-image: linear-gradient(to bottom, transparent, var(--st-text) 18px, var(--st-text) calc(100% - 18px), transparent); }
  #app.concept-std.concept-std--desk.st-print { display: block; }
  .concept-std--desk.st-print .st-desk { height: 100%; }
}
