body[data-page="frontier-fort"] main {
  max-width:1320px;
}

body[data-page="frontier-fort"] .page-content {
  padding:0;
  overflow:hidden;
  border-radius:8px;
  background:#101820;
  color:#eef6f8;
}

.fort-app {
  min-height:720px;
  background:linear-gradient(135deg, rgba(103, 215, 181, .14), transparent 34%), linear-gradient(180deg, #15212b 0%, #0e171f 100%);
}

.fort-hero {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.25rem;
  border-bottom:1px solid rgba(255, 255, 255, .12);
}

body[data-page="frontier-fort"] .fort-kicker {
  margin:0 0 .35rem;
  color:#67d7b5;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0;
}

body[data-page="frontier-fort"] .fort-hero h1#page-title {
  margin:0;
  color:#f7fbff;
  font-size:clamp(1.8rem, 4vw, 3.25rem);
  letter-spacing:0;
  text-shadow:0 2px 18px rgba(0, 0, 0, .32);
}

body[data-page="frontier-fort"] .fort-intro {
  max-width:72ch;
  margin:.6rem 0 0;
  color:#eef6f8;
}

.fort-live {
  flex:0 1 360px;
  min-width:260px;
  max-width:min(100%, 360px);
  padding:.9rem 1rem;
  border:2px solid rgba(103, 215, 181, .82);
  border-radius:8px;
  background:rgba(6, 14, 20, .72);
  text-align:right;
  box-shadow:0 0 0 4px rgba(103, 215, 181, .12), 0 14px 34px rgba(0, 0, 0, .24);
}

.fort-live span,
.fort-status-grid span {
  display:block;
  color:#d7e6ee;
  font-size:.88rem;
  overflow-wrap:anywhere;
}

.fort-live strong,
.fort-status-grid strong {
  display:block;
  color:#fff;
  font-size:1.15rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.fort-live strong {
  margin-top:.35rem;
  color:#67d7b5;
}

.fort-start,
.fort-game {
  padding:1.25rem;
}

.fort-start-grid,
.fort-status-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.fort-status-grid {
  grid-template-columns:repeat(10, minmax(0, 1fr));
  margin-bottom:1rem;
}

.fort-start label {
  display:block;
  min-width:0;
  margin:0;
  color:#e7f0f5;
  font-weight:700;
}

.fort-start select {
  width:100%;
  min-height:48px;
  margin-top:.45rem;
  padding:.7rem .8rem;
  border:1px solid rgba(255, 255, 255, .22);
  border-radius:8px;
  background:#f7fbff;
  color:#10202d;
}

.fort-primary,
.fort-actions button,
.fort-build-button,
.fort-selection button,
.fort-dialog-actions button {
  min-height:48px;
  border:1px solid rgba(255, 255, 255, .18);
  border-radius:8px;
  background:#0a84ff;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.fort-primary {
  width:100%;
  margin-top:1rem;
  font-size:1.2rem;
}

.fort-primary:hover,
.fort-primary:focus,
.fort-actions button:hover,
.fort-actions button:focus,
.fort-build-button:hover,
.fort-build-button:focus,
.fort-selection button:focus,
.fort-dialog-actions button:hover,
.fort-dialog-actions button:focus {
  background:#006fe0;
}

.fort-status-grid div,
.fort-field-wrap,
.fort-controls,
.fort-log,
.fort-selection {
  border:1px solid rgba(255, 255, 255, .2);
  border-radius:8px;
  background:rgba(4, 10, 16, .58);
}

.fort-status-grid div {
  min-width:0;
  padding:.8rem;
}

.fort-layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 280px;
  gap:1rem;
  align-items:start;
}

.fort-field-wrap {
  position:relative;
  overflow:hidden;
  background:#081018;
}

.fort-field {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:12 / 7;
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  cursor:pointer;
}

.fort-controls {
  position:sticky;
  top:132px;
  padding:1rem;
  background:rgba(4, 10, 16, .78);
}

.fort-controls h2,
.fort-selection h2 {
  margin:0 0 .8rem;
  color:#fff;
  font-size:1.15rem;
}

.fort-build-list,
.fort-actions {
  display:grid;
  gap:.6rem;
}

.fort-build-button {
  display:grid;
  grid-template-columns:1fr auto;
  gap:.25rem .75rem;
  padding:.7rem .8rem;
  text-align:left;
  background:#22394d;
}

.fort-build-button span,
.fort-build-button small {
  min-width:0;
  overflow-wrap:anywhere;
}

.fort-build-button small {
  color:#d7e6ee;
  font-weight:700;
}

.fort-build-button strong {
  color:#67d7b5;
}

.fort-build-button.is-selected {
  border-color:#67d7b5;
  background:#145a43;
  box-shadow:0 0 0 4px rgba(103, 215, 181, .12);
}

.fort-actions {
  margin-top:1rem;
}

.fort-actions button[data-start-wave] {
  background:#145a43;
}

.fort-actions button[data-pause-game] {
  background:#3d5366;
}

.fort-actions button[data-fullscreen] {
  background:#0f5f73;
}

.fort-actions button[data-new-game] {
  background:#143d35;
}

.fort-actions button:disabled,
.fort-build-button:disabled,
.fort-selection button:disabled {
  cursor:not-allowed;
  opacity:.55;
}

.fort-selection {
  margin-top:1rem;
  padding:1rem;
}

.fort-selection p {
  margin:0;
  color:#dce9ef;
  font-weight:650;
}

.fort-selection dl {
  display:grid;
  grid-template-columns:1fr;
  gap:.45rem;
  margin:0 0 .8rem;
}

.fort-selection dl div {
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  padding:.45rem .55rem;
  border:1px solid rgba(255, 255, 255, .1);
  border-radius:7px;
  background:rgba(255, 255, 255, .045);
}

.fort-selection dt {
  color:#d7e6ee;
}

.fort-selection dd {
  margin:0;
  color:#fff;
  font-weight:900;
}

.fort-selection button {
  width:100%;
  margin-top:.55rem;
  background:#145a43;
}

.fort-selection button[data-sell-unit] {
  background:#72512a;
}

.fort-log {
  margin-top:1rem;
  padding:1rem;
}

.fort-log ol {
  min-height:80px;
  max-height:150px;
  margin:0;
  padding-left:0;
  list-style:none;
  overflow:auto;
  color:#dce9ef;
}

.fort-log li + li {
  margin-top:.45rem;
}

.fort-log li {
  padding:.55rem .65rem;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:7px;
  background:rgba(255, 255, 255, .045);
}

.fort-dialog {
  position:fixed;
  inset:0;
  z-index:1100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  background:rgba(3, 8, 12, .82);
}

.fort-dialog[hidden] {
  display:none;
}

.fort-dialog-panel {
  width:min(560px, 100%);
  padding:1.25rem;
  border:1px solid rgba(103, 215, 181, .52);
  border-radius:8px;
  background:linear-gradient(180deg, #12202a 0%, #0c151d 100%);
  color:#fff;
  box-shadow:0 22px 70px rgba(0, 0, 0, .36);
}

.fort-dialog-panel h2 {
  margin-bottom:.75rem;
  color:#67d7b5;
}

.fort-dialog-panel dl {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
  margin:1rem 0;
}

.fort-dialog-panel dl div {
  padding:.75rem;
  border:1px solid rgba(255, 255, 255, .16);
  border-radius:8px;
  background:rgba(255, 255, 255, .045);
}

.fort-dialog-panel dt {
  color:#d7e6ee;
  font-size:.9rem;
}

.fort-dialog-panel dd {
  margin:0;
  font-size:1.45rem;
  font-weight:900;
}

.fort-seo-text {
  margin:1.25rem;
  padding:1.25rem;
  border:1px solid rgba(255, 255, 255, .2);
  border-radius:8px;
  background:rgba(4, 10, 16, .52);
  color:#eef6f8;
}

.fort-seo-text h2 {
  margin-bottom:.75rem;
  color:#fff;
}

.fort-app:fullscreen {
  width:100vw;
  height:100vh;
  min-height:100vh;
  overflow:auto;
  background:#0e171f;
}

.fort-app.is-fullscreen .fort-hero {
  padding:.45rem .65rem;
}

.fort-app.is-fullscreen .fort-kicker,
.fort-app.is-fullscreen .fort-intro,
.fort-app.is-fullscreen .fort-seo-text,
.fort-app.is-fullscreen .fort-log {
  display:none;
}

.fort-app.is-fullscreen .fort-game {
  padding:.5rem;
}

@media (max-width:1100px) {
  .fort-layout {
    grid-template-columns:1fr;
  }

  .fort-controls {
    position:static;
  }
}


@media (max-width:760px) {
  body[data-page="frontier-fort"] main {
    padding-right:.5rem;
    padding-left:.5rem;
  }

  .fort-hero {
    flex-direction:column;
  }

  .fort-live {
    flex:0 0 auto;
    min-width:0;
    width:100%;
    text-align:left;
  }

  .fort-start,
  .fort-game,
  .fort-hero {
    padding:.75rem;
  }

  .fort-start-grid,
  .fort-status-grid,
  .fort-dialog-panel dl {
    grid-template-columns:1fr;
  }

  .fort-field {
    aspect-ratio:1 / 1;
  }

  .fort-build-list {
    grid-template-columns:1fr;
  }

  .fort-actions {
    grid-template-columns:1fr 1fr;
  }

  .fort-actions button[data-fullscreen],
  .fort-actions button[data-new-game] {
    grid-column:1 / -1;
  }

  .fort-dialog {
    align-items:flex-start;
    padding:.75rem .75rem calc(5rem + env(safe-area-inset-bottom));
    overflow:auto;
  }
}

/* Rasterversie: breed speelveld, compacte bediening en geen pagina-scroll in fullscreen. */
.fort-build-list {
  max-height:360px;
  overflow:auto;
  padding-right:.2rem;
}

.fort-field {
  aspect-ratio:16 / 10;
}

.fort-field-wrap {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
}

.fort-app:fullscreen,
.fort-app.is-fullscreen {
  width:100vw;
  height:100vh;
  min-height:100vh;
  overflow:hidden;
  background:#0e171f;
}

.fort-app.is-fullscreen .fort-game {
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  height:calc(100vh - 76px);
  padding:.45rem;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-status-grid {
    grid-template-columns:repeat(10, minmax(0, 1fr));
gap:.35rem;
  margin-bottom:.45rem;
}

.fort-app.is-fullscreen .fort-status-grid div {
  padding:.45rem .55rem;
}

.fort-app.is-fullscreen .fort-layout {
  grid-template-columns:minmax(0, 1fr) 300px;
  min-height:0;
  height:100%;
  align-items:stretch;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-field-wrap,
.fort-app.is-fullscreen .fort-controls {
  min-height:0;
  height:100%;
}

.fort-app.is-fullscreen .fort-field {
  width:100%;
  height:100%;
  object-fit:contain;
}

.fort-app.is-fullscreen .fort-controls {
  position:static;
  overflow:auto;
  padding:.75rem;
}

.fort-app.is-fullscreen .fort-build-list {
  max-height:28vh;
}

.fort-app.is-fullscreen .fort-build-button,
.fort-app.is-fullscreen .fort-actions button,
.fort-app.is-fullscreen .fort-selection button {
  min-height:42px;
}

.fort-app.is-fullscreen .fort-actions {
  margin-top:.65rem;
  gap:.45rem;
}

.fort-app.is-fullscreen .fort-selection {
  margin-top:.65rem;
  padding:.75rem;
}


@media (max-width:760px) {
  .fort-field {
    aspect-ratio:16 / 10;
  }

  .fort-build-list {
    max-height:none;
  }

  .fort-app.is-fullscreen .fort-game {
    height:calc(100vh - 58px);
  }

  .fort-app.is-fullscreen .fort-layout {
    grid-template-columns:1fr;
    grid-template-rows:minmax(0, 46vh) minmax(0, 1fr);
  }

  .fort-app.is-fullscreen .fort-controls {
    overflow:auto;
  }
}

.fort-actions button[data-next-rank] { background:#7a4e13; }
.fort-actions button[data-show-stats] { background:#263d63; }
.fort-selection button[data-combine-super] { background:#7a4e13; }
@media (max-width:1100px) {
  .fort-status-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
/* Houd de canvaspositie stabiel: geen layout shift door verschijnende scrollbars. */
body[data-page="frontier-fort"] {
  overflow-y:scroll;
  scrollbar-gutter:stable;
}

body[data-page="frontier-fort"] .page-content,
.fort-app,
.fort-game,
.fort-layout,
.fort-field-wrap {
  scrollbar-gutter:stable;
}

.fort-controls {
  min-height:560px;
  contain:layout paint;
}

.fort-selection {
  min-height:220px;
}

.fort-log ol {
  height:120px;
}

.fort-field-wrap {
  aspect-ratio:16 / 10;
}

.fort-field {
  max-height:min(72vh, 600px);
}

@media (max-width:1100px) {
  .fort-controls {
    min-height:0;
    contain:layout;
  }

  .fort-selection {
    min-height:180px;
  }
}

.fort-app.is-fullscreen {
  scrollbar-gutter:auto;
}
/* Speelmodus: canvas en muiscoordinaten blijven stabiel doordat de document-scroll verdwijnt. */
body[data-page="frontier-fort"].fort-playing {
  overflow:hidden;
}

body[data-page="frontier-fort"].fort-playing main {
  max-width:100vw;
}

.fort-app.is-playing {
  height:calc(100vh - 18px);
  min-height:0;
  overflow:hidden;
}

.fort-app.is-playing .fort-hero {
  min-height:86px;
  padding:.65rem .9rem;
}

.fort-app.is-playing .fort-kicker {
  margin-bottom:.15rem;
}

.fort-app.is-playing .fort-intro {
  display:none;
}

.fort-app.is-playing .fort-game {
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) 118px;
  height:calc(100% - 86px);
  overflow:hidden;
  padding:.65rem;
}

.fort-app.is-playing .fort-status-grid {
  grid-template-columns:repeat(10, minmax(0, 1fr));
  gap:.5rem;
  margin-bottom:.55rem;
}

.fort-app.is-playing .fort-status-grid div {
  min-height:74px;
  padding:.55rem .65rem;
}

.fort-app.is-playing .fort-layout {
  min-height:0;
  height:100%;
  overflow:hidden;
  align-items:stretch;
}

.fort-app.is-playing .fort-field-wrap {
  height:100%;
  min-height:0;
}

.fort-app.is-playing .fort-field {
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
}

.fort-app.is-playing .fort-controls {
  position:static;
  min-height:0;
  height:100%;
  overflow:auto;
}

.fort-app.is-playing .fort-log {
  min-height:0;
  margin-top:.65rem;
  overflow:hidden;
}

.fort-app.is-playing .fort-log ol {
  height:82px;
  min-height:0;
  max-height:none;
}

.fort-stats-panel > p {
  margin:0 0 .75rem;
  color:#d7e6ee;
  font-weight:700;
}

.fort-stats-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.55rem;
}

.fort-stats-grid div {
  min-width:0;
  padding:.7rem;
  border:1px solid rgba(103, 215, 181, .28);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(103, 215, 181, .12), rgba(255, 255, 255, .04));
}

.fort-stats-grid span {
  display:block;
  color:#d7e6ee;
  font-size:.8rem;
  font-weight:800;
}

.fort-stats-grid strong {
  display:block;
  margin-top:.2rem;
  color:#fff;
  font-size:1.25rem;
}

@media (max-width:1100px) {
  .fort-app.is-playing {
    height:auto;
    overflow:visible;
  }

  body[data-page="frontier-fort"].fort-playing {
    overflow:auto;
  }

  .fort-app.is-playing .fort-game {
    height:auto;
    overflow:visible;
  }

  .fort-app.is-playing .fort-status-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
/* Herstel normale paginaflow: alleen de bouwlijst rechts scrollt intern. */
body[data-page="frontier-fort"].fort-playing {
  overflow-y:auto;
  overflow-x:hidden;
}

body[data-page="frontier-fort"].fort-playing main {
  max-width:1320px;
}

.fort-app.is-playing {
  height:auto;
  min-height:0;
  overflow:visible;
}

.fort-app.is-playing .fort-hero {
  min-height:0;
  padding:1rem 1.25rem;
}

.fort-app.is-playing .fort-intro {
  display:block;
}

.fort-app.is-playing .fort-game {
  display:block;
  height:auto;
  overflow:visible;
  padding:1rem 1.25rem 1.25rem;
}

.fort-app.is-playing .fort-status-grid,
.fort-status-grid {
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:1rem;
}

.fort-app.is-playing .fort-status-grid div {
  min-height:0;
  padding:.8rem;
}

.fort-app.is-playing .fort-layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 300px;
  height:auto;
  min-height:0;
  align-items:start;
  overflow:visible;
}

.fort-app.is-playing .fort-field-wrap {
  height:auto;
  min-height:0;
  aspect-ratio:16 / 10;
}

.fort-app.is-playing .fort-field {
  width:100%;
  height:auto;
  max-height:none;
  object-fit:initial;
}

.fort-controls,
.fort-app.is-playing .fort-controls {
  position:sticky;
  top:1rem;
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 2rem);
  min-height:0;
  overflow:hidden;
}

.fort-build-list,
.fort-app.is-playing .fort-build-list {
  max-height:32vh;
  min-height:170px;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.fort-actions,
.fort-selection {
  flex:0 0 auto;
}

.fort-app.is-playing .fort-log {
  min-height:0;
  margin-top:1rem;
  overflow:visible;
}

.fort-app.is-playing .fort-log ol {
  height:120px;
  min-height:80px;
  max-height:150px;
}

@media (max-width:1100px) {
  .fort-app.is-playing .fort-layout {
    grid-template-columns:1fr;
  }

  .fort-controls,
  .fort-app.is-playing .fort-controls {
    position:static;
    max-height:none;
    overflow:visible;
  }

  .fort-build-list,
  .fort-app.is-playing .fort-build-list {
    max-height:none;
    min-height:0;
  }
}
/* Layoutcorrectie: bouwen rechts, acties en selectie onder het speelveld. */
.fort-layout,
.fort-app.is-playing .fort-layout {
  grid-template-columns:minmax(0, 1fr) 300px;
  align-items:start;
}

.fort-play-column {
  display:grid;
  gap:1rem;
  min-width:0;
}

.fort-under-board {
  display:grid;
  grid-template-columns:minmax(260px, .9fr) minmax(320px, 1.1fr);
  gap:1rem;
  align-items:start;
}

.fort-under-board .fort-actions {
  margin-top:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.65rem;
  padding:1rem;
  border:1px solid rgba(255, 255, 255, .2);
  border-radius:8px;
  background:rgba(4, 10, 16, .58);
}

.fort-under-board .fort-selection {
  margin-top:0;
  min-height:0;
}

.fort-controls,
.fort-app.is-playing .fort-controls {
  position:sticky;
  top:1rem;
  max-height:calc(100vh - 2rem);
  padding:1rem;
  overflow:hidden;
}

.fort-build-list,
.fort-app.is-playing .fort-build-list {
  display:grid;
  gap:.7rem;
  max-height:calc(100vh - 7rem);
  min-height:0;
  overflow-y:auto;
  padding-right:.35rem;
}

.fort-build-button {
  min-height:0;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  gap:.3rem .75rem;
  padding:.85rem .9rem;
  line-height:1.25;
}

.fort-build-button span {
  font-size:1rem;
  line-height:1.2;
}

.fort-build-button strong {
  white-space:nowrap;
}

.fort-build-button small {
  grid-column:1 / -1;
  display:block;
  line-height:1.35;
}

@media (max-width:1100px) {
  .fort-layout,
  .fort-app.is-playing .fort-layout,
  .fort-under-board {
    grid-template-columns:1fr;
  }

  .fort-controls,
  .fort-app.is-playing .fort-controls {
    position:static;
    max-height:none;
    overflow:visible;
  }

  .fort-build-list,
  .fort-app.is-playing .fort-build-list {
    max-height:none;
    overflow:visible;
  }
}

@media (max-width:640px) {
  .fort-under-board .fort-actions {
    grid-template-columns:1fr;
  }
}

/* Desktop hover in de bouwlijst wordt door JS gestuurd, zodat scrollen geen oude kaart laat oplichten. */
.fort-build-button > * {
  pointer-events:none;
}

.fort-build-button:hover:not(.is-selected),
.fort-build-button:focus:not(.is-selected) {
  background:#22394d;
}

@media (hover:hover) and (pointer:fine) {
  .fort-build-button.is-hover:not(.is-selected) {
    border-color:rgba(103, 215, 181, .72);
    background:#2b4760;
    box-shadow:0 0 0 3px rgba(103, 215, 181, .08);
  }
}
/* Bouwlijst mag de pagina laten scrollen; kaarten tonen altijd hun volledige tekst. */
.fort-layout,
.fort-app.is-playing .fort-layout {
  grid-template-columns:minmax(0, 1fr) minmax(320px, 360px);
}

.fort-controls,
.fort-app.is-playing .fort-controls {
  position:static;
  max-height:none;
  height:auto;
  overflow:visible;
  align-self:start;
}

.fort-build-list,
.fort-app.is-playing .fort-build-list {
  max-height:none;
  min-height:0;
  overflow:visible;
  padding-right:0;
}

.fort-build-button {
  min-height:0;
  height:auto;
  overflow:visible;
  white-space:normal;
}

.fort-build-button span,
.fort-build-button small {
  overflow:visible;
  white-space:normal;
  text-overflow:clip;
}

.fort-build-button span small {
  display:block;
  margin-top:.15rem;
}

@media (max-width:1180px) {
  .fort-layout,
  .fort-app.is-playing .fort-layout {
    grid-template-columns:1fr;
  }
}
/* Bouwlijst: standaard vijf volledige keuzes zichtbaar, daarna intern scrollen. */
.fort-controls,
.fort-app.is-playing .fort-controls {
  position:sticky;
  top:1rem;
  max-height:calc(100vh - 2rem);
  overflow:hidden;
}

.fort-build-list,
.fort-app.is-playing .fort-build-list {
  --fort-visible-builds:5;
  --fort-build-row:7.2rem;
  --fort-build-gap:.7rem;
  max-height:calc((var(--fort-visible-builds) * var(--fort-build-row)) + ((var(--fort-visible-builds) - 1) * var(--fort-build-gap)));
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:.35rem;
  scrollbar-gutter:stable;
}

.fort-build-button {
  min-height:var(--fort-build-row);
}
.fort-build-button em {
  grid-column:1 / -1;
  display:block;
  margin-top:.12rem;
  color:#d7e6ee;
  font-size:.78rem;
  font-style:normal;
  line-height:1.25;
}

@media (max-width:1180px) {
  .fort-controls,
  .fort-app.is-playing .fort-controls {
    position:static;
    max-height:none;
    overflow:visible;
  }

  .fort-build-list,
  .fort-app.is-playing .fort-build-list {
    max-height:calc((5 * var(--fort-build-row)) + (4 * var(--fort-build-gap)));
    overflow-y:auto;
  }
}
/* Fullscreen: alles binnen beeld, canvas volledig zichtbaar en panelen apart scrollbaar. */
.fort-app:fullscreen,
.fort-app.is-fullscreen {
  width:100vw;
  height:100vh;
  min-height:100vh;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-hero {
  min-height:0;
  padding:.45rem .65rem;
}

.fort-app.is-fullscreen .fort-live {
  padding:.55rem .7rem;
}

.fort-app.is-fullscreen .fort-live span,
.fort-app.is-fullscreen .fort-intro {
  display:none;
}

.fort-app.is-fullscreen .fort-game {
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  height:calc(100vh - 64px);
  min-height:0;
  padding:.5rem;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-status-grid {
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:.4rem;
  margin-bottom:.5rem;
}

.fort-app.is-fullscreen .fort-status-grid div {
  min-height:0;
  padding:.45rem .55rem;
}

.fort-app.is-fullscreen .fort-status-grid span {
  font-size:.74rem;
}

.fort-app.is-fullscreen .fort-status-grid strong {
  font-size:.92rem;
}

.fort-app.is-fullscreen .fort-layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(270px, 320px);
  gap:.6rem;
  height:100%;
  min-height:0;
  overflow:hidden;
  align-items:stretch;
}

.fort-app.is-fullscreen .fort-play-column {
  display:grid;
  grid-template-rows:minmax(0, 1fr) auto;
  gap:.55rem;
  min-height:0;
}

.fort-app.is-fullscreen .fort-field-wrap {
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-field {
  width:100%;
  height:100%;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
}

.fort-app.is-fullscreen .fort-under-board {
  grid-template-columns:minmax(220px, .9fr) minmax(260px, 1.1fr);
  gap:.55rem;
  min-height:0;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions {
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.45rem;
  padding:.55rem;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions button,
.fort-app.is-fullscreen .fort-selection button {
  min-height:38px;
  padding:.45rem .55rem;
  font-size:.88rem;
}

.fort-app.is-fullscreen .fort-selection {
  max-height:22vh;
  min-height:0;
  padding:.65rem;
  overflow:auto;
}

.fort-app.is-fullscreen .fort-controls {
  position:static;
  max-height:none;
  height:100%;
  min-height:0;
  overflow:hidden;
  padding:.75rem;
}

.fort-app.is-fullscreen .fort-build-list {
  --fort-build-row:6.55rem;
  max-height:calc(100vh - 9.2rem);
  overflow-y:auto;
}

.fort-app.is-fullscreen .fort-log,
.fort-app.is-fullscreen .fort-seo-text {
  display:none;
}

@media (max-width:900px), (orientation:portrait) {
  .fort-app.is-fullscreen .fort-game {
    height:calc(100vh - 52px);
    overflow:auto;
  }

  .fort-app.is-fullscreen .fort-status-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .fort-app.is-fullscreen .fort-layout {
    grid-template-columns:1fr;
    grid-template-rows:minmax(0, 52vh) minmax(210px, 1fr);
    overflow:visible;
  }

  .fort-app.is-fullscreen .fort-play-column {
    grid-template-rows:minmax(0, 1fr);
  }

  .fort-app.is-fullscreen .fort-under-board {
    display:none;
  }

  .fort-app.is-fullscreen .fort-controls {
    height:auto;
    overflow:visible;
  }

  .fort-app.is-fullscreen .fort-build-list {
    max-height:18rem;
  }
}
/* Fullscreen herindeling: speelveld, selectie/acties en bouwen naast elkaar. */
.fort-app.is-fullscreen .fort-layout {
  grid-template-columns:minmax(0, 1fr) minmax(260px, 310px) minmax(270px, 320px);
  grid-template-rows:minmax(0, 1fr);
  gap:.6rem;
  align-items:stretch;
}

.fort-app.is-fullscreen .fort-play-column {
  display:contents;
}

.fort-app.is-fullscreen .fort-field-wrap {
  grid-column:1;
  grid-row:1;
  align-self:stretch;
}

.fort-app.is-fullscreen .fort-under-board {
  grid-column:2;
  grid-row:1;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0, 1fr);
  gap:.6rem;
  min-height:0;
  align-self:stretch;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions {
  grid-template-columns:1fr;
  gap:.45rem;
  padding:.65rem;
  align-content:start;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions button {
  min-height:36px;
  padding:.42rem .55rem;
  font-size:.82rem;
  line-height:1.15;
}

.fort-app.is-fullscreen .fort-selection {
  max-height:none;
  height:100%;
  min-height:0;
  overflow:auto;
}

.fort-app.is-fullscreen .fort-controls {
  grid-column:3;
  grid-row:1;
}

.fort-app.is-fullscreen .fort-build-list {
  --fort-build-row:6.25rem;
  max-height:calc(100vh - 9rem);
}

@media (max-width:1200px) and (orientation:landscape) {
  .fort-app.is-fullscreen .fort-layout {
    grid-template-columns:minmax(0, 1fr) minmax(230px, 270px) minmax(240px, 280px);
  }

  .fort-app.is-fullscreen .fort-status-grid {
    grid-template-columns:repeat(6, minmax(0, 1fr));
  }

  .fort-app.is-fullscreen .fort-build-button {
    padding:.6rem .65rem;
  }
}

@media (max-width:900px), (orientation:portrait) {
  .fort-app.is-fullscreen .fort-layout {
    grid-template-columns:1fr;
    grid-template-rows:minmax(0, 48vh) auto minmax(0, 1fr);
    overflow:auto;
  }

  .fort-app.is-fullscreen .fort-play-column {
    display:contents;
  }

  .fort-app.is-fullscreen .fort-field-wrap {
    grid-column:1;
    grid-row:1;
  }

  .fort-app.is-fullscreen .fort-under-board {
    grid-column:1;
    grid-row:2;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
  }

  .fort-app.is-fullscreen .fort-under-board .fort-actions {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .fort-app.is-fullscreen .fort-selection {
    max-height:none;
    overflow:visible;
  }

  .fort-app.is-fullscreen .fort-controls {
    grid-column:1;
    grid-row:3;
  }
}
/* Compacte HUD: alleen kerninformatie boven het speelveld. */
.fort-status-grid--compact,
.fort-app.is-playing .fort-status-grid--compact {
  grid-template-columns:minmax(110px, .75fr) minmax(120px, .85fr) minmax(230px, 1.4fr) minmax(120px, .8fr) minmax(240px, 1.5fr);
}

.fort-status-grid--compact div.is-primary {
  border-color:rgba(103, 215, 181, .42);
  background:linear-gradient(180deg, rgba(103, 215, 181, .13), rgba(4, 10, 16, .62));
}

.fort-status-grid--compact div.is-primary strong {
  color:#67d7b5;
  font-size:1.35rem;
}

.fort-log {
  margin-top:0;
}

.fort-log h2 {
  margin:0 0 .65rem;
  color:#fff;
  font-size:1.05rem;
}

.fort-log ol {
  height:auto;
  min-height:0;
  max-height:10.5rem;
}

.fort-log li {
  line-height:1.35;
}

.fort-app.is-fullscreen .fort-status-grid--compact {
  grid-template-columns:minmax(90px, .7fr) minmax(100px, .75fr) minmax(210px, 1.5fr) minmax(100px, .75fr) minmax(220px, 1.55fr);
}

.fort-app.is-fullscreen .fort-under-board {
  grid-template-rows:auto minmax(0, 1fr) minmax(8rem, auto);
}

.fort-app.is-fullscreen .fort-log {
  display:block;
  min-height:0;
  padding:.65rem;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-log ol {
  max-height:13rem;
  overflow:auto;
}

@media (max-width:900px), (orientation:portrait) {
  .fort-status-grid--compact,
  .fort-app.is-playing .fort-status-grid--compact,
  .fort-app.is-fullscreen .fort-status-grid--compact {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .fort-status-grid--compact div:nth-child(3),
  .fort-status-grid--compact div:nth-child(5) {
    grid-column:1 / -1;
  }
}
/* Gids- en meldingenpanelen. */
.fort-guide-panel > p,
.fort-stats-panel > p {
  margin:0 0 .85rem;
  color:#d7e6ee;
  line-height:1.45;
}

.fort-guide-grid {
  display:grid;
  gap:.75rem;
}

.fort-guide-card {
  padding:.8rem;
  border:1px solid rgba(103, 215, 181, .28);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(103, 215, 181, .10), rgba(255, 255, 255, .035));
}

.fort-guide-card h3 {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.75rem;
  margin:0 0 .55rem;
  color:#fff;
  font-size:1rem;
}

.fort-guide-card h3 span {
  color:#67d7b5;
  font-size:.78rem;
}

.fort-guide-card dl {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:.4rem;
  margin:0 0 .65rem;
}

.fort-guide-card dl div {
  padding:.45rem;
  border-radius:7px;
  background:rgba(4, 10, 16, .45);
}

.fort-guide-card dt {
  color:#d7e6ee;
  font-size:.72rem;
}

.fort-guide-card dd {
  margin:0;
  color:#fff;
  font-weight:900;
}

.fort-guide-card p {
  margin:.35rem 0 0;
  color:#eaf4f7;
  line-height:1.35;
}

.fort-log {
  border-color:rgba(103, 215, 181, .24);
  background:linear-gradient(180deg, rgba(103, 215, 181, .08), rgba(4, 10, 16, .62));
}

.fort-log ol {
  display:grid;
  gap:.55rem;
  padding:0;
  list-style:none;
}

.fort-log li {
  margin:0;
  padding:.7rem .8rem;
  border-color:rgba(103, 215, 181, .18);
  background:rgba(4, 10, 16, .55);
  box-shadow:inset 3px 0 0 rgba(103, 215, 181, .48);
}

@media (max-width:640px) {
  .fort-guide-card dl {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
/* Desktop hover voor selectie-acties wordt door JS gestuurd, net als de bouwlijst. */
.fort-selection button[data-action-hover]:hover:not(.is-hover):not(:focus) {
  background:#145a43;
}

.fort-selection button[data-sell-unit]:hover:not(.is-hover):not(:focus) {
  background:#72512a;
}

.fort-selection button[data-combine-super]:hover:not(.is-hover):not(:focus) {
  background:#7a4e13;
}

@media (hover:hover) and (pointer:fine) {
  .fort-selection button.is-hover:not(:disabled) {
    border-color:rgba(103, 215, 181, .72);
    background:#1c7a5c;
    box-shadow:0 0 0 3px rgba(103, 215, 181, .10);
  }

  .fort-selection button[data-combine-super].is-hover:not(:disabled) {
    background:#9b6418;
  }

  .fort-selection button[data-sell-unit].is-hover:not(:disabled) {
    background:#8b6535;
  }
}
/* Compacte brede meldingen direct onder het speelveld. */
.fort-play-column > .fort-log {
  width:100%;
  margin:.65rem 0 .75rem;
  padding:.62rem .8rem;
  border:1px solid rgba(103, 215, 181, .28);
  border-radius:8px;
  background:linear-gradient(90deg, rgba(103, 215, 181, .16), rgba(4, 10, 16, .70));
  box-shadow:0 10px 26px rgba(0, 0, 0, .18);
  overflow:hidden;
}

.fort-play-column > .fort-log h2 {
  margin:0 0 .32rem;
  color:#67d7b5;
  font-size:.86rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.fort-play-column > .fort-log ol {
  display:grid;
  gap:.25rem;
  min-height:0;
  max-height:none;
  margin:0;
  padding:0;
  overflow:visible;
  list-style:none;
}

.fort-play-column > .fort-log li {
  margin:0;
  padding:.1rem 0 .1rem .72rem;
  border:0;
  border-left:3px solid rgba(103, 215, 181, .72);
  background:transparent;
  box-shadow:none;
  color:#eef7f7;
  font-size:.92rem;
  line-height:1.28;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.fort-play-column > .fort-log li:nth-child(n+3) {
  display:none;
}

.fort-play-column > .fort-log li:first-child {
  animation:fortNoticePulse .9s ease-out;
}

@keyframes fortNoticePulse {
  0% { background:rgba(103, 215, 181, .20); }
  100% { background:transparent; }
}

.fort-under-board,
.fort-app.is-playing .fort-under-board {
  grid-template-columns:minmax(250px, .9fr) minmax(320px, 1.1fr);
  align-items:start;
}

/* Vijandengids modal. */
.fort-guide-dialog {
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:clamp(.75rem, 3vw, 2rem);
}

.fort-guide-dialog[hidden] {
  display:none;
}

.fort-guide-backdrop {
  position:absolute;
  inset:0;
  background:rgba(2, 8, 13, .72);
}

.fort-guide-modal {
  position:relative;
  z-index:1;
  width:min(980px, 100%);
  max-height:min(86vh, 760px);
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  border:1px solid rgba(103, 215, 181, .35);
  border-radius:10px;
  background:#07131b;
  color:#fff;
  box-shadow:0 24px 80px rgba(0, 0, 0, .55);
  overflow:hidden;
}

.fort-guide-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  border-bottom:1px solid rgba(103, 215, 181, .20);
  background:linear-gradient(90deg, rgba(103, 215, 181, .16), rgba(255, 184, 77, .10));
}

.fort-guide-header p {
  margin:0 0 .15rem;
  color:#67d7b5;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
}

.fort-guide-header h2 {
  margin:0;
  color:#fff;
  font-size:1.25rem;
}

.fort-guide-header button {
  width:2.5rem;
  height:2.5rem;
  border:1px solid rgba(255, 255, 255, .24);
  border-radius:8px;
  background:#10202d;
  color:#fff;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}

.fort-guide-header button:hover,
.fort-guide-header button:focus {
  background:#1c7a5c;
}

.fort-guide-content {
  min-height:0;
  overflow:auto;
  padding:1rem;
}

.fort-guide-content .fort-guide-panel > p {
  margin:0 0 1rem;
}

.fort-guide-content .fort-guide-grid {
  grid-template-columns:repeat(2, minmax(0, 1fr));
}


@media (max-width:760px) {
  .fort-under-board,
  .fort-app.is-playing .fort-under-board {
    grid-template-columns:1fr;
  }

  .fort-play-column > .fort-log li {
    font-size:.86rem;
    -webkit-line-clamp:2;
  }

  .fort-guide-content .fort-guide-grid {
    grid-template-columns:1fr;
  }
}

.fort-app.is-fullscreen .fort-play-column > .fort-log {
  margin:.45rem 0 .55rem;
  padding:.5rem .7rem;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log h2 {
  display:none;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log li {
  font-size:.82rem;
  line-height:1.2;
  -webkit-line-clamp:1;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log li:nth-child(n+2) {
  display:none;
}
/* Meldingen zijn niet interactief: geen hover-state, geen scroll-flicker. */
.fort-play-column > .fort-log,
.fort-play-column > .fort-log * {
  pointer-events:none;
}

.fort-play-column > .fort-log:hover,
.fort-play-column > .fort-log li:hover {
  border-color:rgba(103, 215, 181, .28);
  background:linear-gradient(90deg, rgba(103, 215, 181, .16), rgba(4, 10, 16, .70));
  box-shadow:0 10px 26px rgba(0, 0, 0, .18);
}
/* Logboek en finale fullscreen-layout. */
.fort-log-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin:0 0 .35rem;
}

.fort-log-head h2 {
  margin:0;
}

.fort-log-head button {
  min-height:2rem;
  padding:.35rem .7rem;
  border:1px solid rgba(103, 215, 181, .32);
  border-radius:7px;
  background:#10202d;
  color:#fff;
  font-weight:900;
  cursor:pointer;
  pointer-events:auto;
}

.fort-log-head button:hover,
.fort-log-head button:focus {
  background:#1c7a5c;
}

.fort-log-current p {
  margin:0;
  color:#eef7f7;
  font-size:.92rem;
  line-height:1.28;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.fort-log-current span {
  display:block;
  margin-top:.18rem;
  color:#67d7b5;
  font-size:.72rem;
  font-weight:900;
}

.fort-log-dialog {
  position:fixed;
  inset:0;
  z-index:12001;
  display:grid;
  place-items:center;
  padding:clamp(.75rem, 3vw, 2rem);
}

.fort-log-dialog[hidden] {
  display:none;
}

.fort-log-backdrop {
  position:absolute;
  inset:0;
  background:rgba(2, 8, 13, .70);
}

.fort-log-modal {
  position:relative;
  z-index:1;
  width:min(760px, 100%);
  max-height:min(82vh, 680px);
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  border:1px solid rgba(103, 215, 181, .35);
  border-radius:10px;
  background:#07131b;
  color:#fff;
  box-shadow:0 24px 80px rgba(0, 0, 0, .55);
  overflow:hidden;
}

.fort-log-modal-header {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  border-bottom:1px solid rgba(103, 215, 181, .20);
  background:linear-gradient(90deg, rgba(103, 215, 181, .16), rgba(255, 184, 77, .10));
}

.fort-log-modal-header p {
  margin:0 0 .15rem;
  color:#67d7b5;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
}

.fort-log-modal-header h2 {
  margin:0;
  color:#fff;
}

.fort-log-modal-header button {
  width:2.5rem;
  height:2.5rem;
  border:1px solid rgba(255, 255, 255, .24);
  border-radius:8px;
  background:#10202d;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.fort-log-history {
  min-height:0;
  margin:0;
  padding:1rem;
  overflow:auto;
  list-style:none;
}

.fort-log-history li {
  display:grid;
  gap:.22rem;
  padding:.72rem .8rem;
  border-left:3px solid rgba(103, 215, 181, .62);
  background:rgba(255, 255, 255, .045);
}

.fort-log-history li + li {
  margin-top:.55rem;
}

.fort-log-history strong {
  color:#fff;
  line-height:1.3;
}

.fort-log-history span {
  color:#67d7b5;
  font-size:.78rem;
  font-weight:900;
}

.fort-enemy-icon {
  display:inline-grid;
  place-items:center;
  flex:0 0 2.35rem;
  width:2.35rem;
  height:2.35rem;
  border:2px solid rgba(255, 255, 255, .75);
  border-radius:50%;
  background:var(--enemy-color, #67d7b5);
  color:#061017;
  font-weight:1000;
}

.fort-guide-card h3 span {
  display:grid;
  gap:.12rem;
}

.fort-guide-card h3 small {
  color:#67d7b5;
  font-size:.72rem;
}

.fort-guide-card dl {
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.fort-app.is-fullscreen {
  max-width:none;
  width:100vw;
  height:100vh;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-game {
  min-height:0;
  height:calc(100vh - 6.7rem);
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-layout {
  min-height:0;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0, 1fr) clamp(19rem, 18vw, 23rem);
  gap:.55rem;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-play-column {
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0, 1fr) auto auto;
  gap:.45rem;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-field-wrap {
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-controls {
  min-width:0;
  min-height:0;
  max-height:none;
  overflow:hidden;
  position:static;
}

.fort-app.is-fullscreen .fort-build-list {
  max-height:calc(100vh - 10.5rem);
  overflow:auto;
}

.fort-app.is-fullscreen .fort-under-board {
  min-height:0;
  display:grid;
  grid-template-columns:minmax(18rem, .8fr) minmax(20rem, 1.2fr);
  gap:.5rem;
  overflow:hidden;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions {
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.38rem;
}

.fort-app.is-fullscreen .fort-selection {
  min-height:0;
  max-height:8.8rem;
  overflow:auto;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log {
  margin:0;
  padding:.45rem .6rem;
}

.fort-app.is-fullscreen .fort-log-head {
  margin:0;
}

.fort-app.is-fullscreen .fort-log-head h2 {
  display:none;
}

.fort-app.is-fullscreen .fort-log-current p {
  font-size:.82rem;
  -webkit-line-clamp:1;
}

.fort-app.is-fullscreen .fort-log-current span {
  display:none;
}

@media (max-width:900px), (orientation:portrait) {
  .fort-app.is-fullscreen {
    overflow:auto;
  }

  .fort-app.is-fullscreen .fort-game {
    height:auto;
    overflow:visible;
  }

  .fort-app.is-fullscreen .fort-layout {
    height:auto;
    grid-template-columns:1fr;
    overflow:visible;
  }

  .fort-app.is-fullscreen .fort-play-column,
  .fort-app.is-fullscreen .fort-under-board {
    overflow:visible;
  }

  .fort-app.is-fullscreen .fort-under-board {
    grid-template-columns:1fr;
  }

  .fort-app.is-fullscreen .fort-build-list {
    max-height:24rem;
  }

  .fort-guide-card dl {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
/* Contextueel logboek: zoeken, filteren en meerregelige meldingen. */
.fort-log-tools {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(10rem, .45fr);
  gap:.75rem;
  padding:.8rem 1rem;
  border-bottom:1px solid rgba(103, 215, 181, .18);
  background:rgba(255, 255, 255, .035);
}

.fort-log-tools label {
  display:grid;
  gap:.25rem;
  color:#67d7b5;
  font-size:.78rem;
  font-weight:900;
}

.fort-log-tools input,
.fort-log-tools select {
  min-height:2.35rem;
  width:100%;
  border:1px solid rgba(255, 255, 255, .22);
  border-radius:7px;
  background:#07131b;
  color:#fff;
  padding:.45rem .6rem;
}

.fort-log-current p,
.fort-log-history strong {
  white-space:pre-line;
}

.fort-log-current p strong {
  color:#67d7b5;
}

.fort-log-history li[hidden] {
  display:none;
}

@media (max-width:640px) {
  .fort-log-tools {
    grid-template-columns:1fr;
  }
}
/* Fullscreen refinement: logboekknop zit bij acties; selectie-info blijft leesbaar zonder kleine interne scroll. */
.fort-log-head button {
  display:none;
}

.fort-app.is-fullscreen .fort-layout {
  grid-template-columns:minmax(0, 1fr) clamp(20rem, 20vw, 25rem);
}

.fort-app.is-fullscreen .fort-under-board {
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0, 1fr);
  align-content:start;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions {
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.fort-app.is-fullscreen .fort-selection {
  max-height:none;
  overflow:visible;
  align-self:start;
}

.fort-app.is-fullscreen .fort-selection dl {
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.32rem;
}

.fort-app.is-fullscreen .fort-selection dl div {
  padding:.42rem .5rem;
}

.fort-app.is-fullscreen .fort-selection h2 {
  font-size:1rem;
}

.fort-app.is-fullscreen .fort-selection p,
.fort-app.is-fullscreen .fort-selection dt,
.fort-app.is-fullscreen .fort-selection dd {
  font-size:.78rem;
}

@media (max-width:1180px) and (orientation:landscape) {
  .fort-app.is-fullscreen .fort-selection {
    max-height:none;
    overflow:visible;
  }
}
/* Mobile HUD, touch scrolling and colored message categories. */
.fort-mobile-hud {
  display:none;
}

.fort-log-current p,
.fort-log-current span,
.fort-log-history li {
  border-left:4px solid rgba(103, 215, 181, .55);
}

.fort-log-current p {
  padding-left:.65rem;
}

.fort-log-current span {
  display:block;
  padding-left:.65rem;
}

.fort-log-history li {
  background:rgba(8, 16, 24, .92);
}

.is-log-category--upgrade,
.is-log-category--bouwen,
.is-log-category--verkoop {
  border-color:#39d98a !important;
}

.is-log-category--waarschuwing {
  border-color:#ff5d6c !important;
}

.is-log-category--info,
.is-log-category--wave {
  border-color:#2f9bff !important;
}

.is-log-category--economie,
.is-log-category--beloning {
  border-color:#ffd166 !important;
}

.is-log-category--vijand {
  border-color:#ff9f43 !important;
}

.is-log-category--boss {
  border-color:#b58cff !important;
}

.fort-log-current p.is-log-category--upgrade strong,
.fort-log-current p.is-log-category--bouwen strong,
.fort-log-current p.is-log-category--verkoop strong,
.fort-log-history li.is-log-category--upgrade span,
.fort-log-history li.is-log-category--bouwen span,
.fort-log-history li.is-log-category--verkoop span { color:#67d7b5; }
.fort-log-current p.is-log-category--waarschuwing strong,
.fort-log-history li.is-log-category--waarschuwing span { color:#ff8b96; }
.fort-log-current p.is-log-category--info strong,
.fort-log-current p.is-log-category--wave strong,
.fort-log-history li.is-log-category--info span,
.fort-log-history li.is-log-category--wave span { color:#72c7ff; }
.fort-log-current p.is-log-category--economie strong,
.fort-log-current p.is-log-category--beloning strong,
.fort-log-history li.is-log-category--economie span,
.fort-log-history li.is-log-category--beloning span { color:#ffd166; }
.fort-log-current p.is-log-category--vijand strong,
.fort-log-history li.is-log-category--vijand span { color:#ffb36b; }
.fort-log-current p.is-log-category--boss strong,
.fort-log-history li.is-log-category--boss span { color:#cdb3ff; }


@media (max-width:760px) {
  .fort-status-grid--compact {
    display:none;
  }

  .fort-mobile-hud {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.4rem;
    min-height:2.4rem;
    margin:0 0 .45rem;
    padding:.45rem .55rem;
    border:1px solid rgba(103, 215, 181, .34);
    border-radius:8px;
    background:linear-gradient(180deg, rgba(18, 48, 45, .96), rgba(7, 16, 24, .98));
    box-shadow:0 0 0 1px rgba(0, 0, 0, .22) inset;
    color:#f7fbff;
    font-size:.78rem;
    line-height:1;
    white-space:nowrap;
  }

  .fort-mobile-hud span {
    display:flex;
    align-items:center;
    gap:.25rem;
    min-width:0;
  }

  .fort-mobile-hud b {
    color:#67d7b5;
    font-weight:900;
  }

  .fort-mobile-hud strong {
    color:#67d7b5;
    font-size:.95rem;
  }

  .fort-play-column {
    gap:.55rem;
  }

  .fort-field {
    touch-action:pan-y;
    -webkit-user-select:none;
    user-select:none;
    -webkit-touch-callout:none;
  }

  .fort-selection dl {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .fort-selection h2 {
    font-size:1rem;
  }

  .fort-selection p,
  .fort-selection dt,
  .fort-selection dd {
    font-size:.82rem;
  }
}

.fort-app.is-fullscreen .fort-mobile-hud {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  min-height:2.25rem;
  margin:0 0 .35rem;
  padding:.4rem .55rem;
  border:1px solid rgba(103, 215, 181, .34);
  border-radius:8px;
  background:rgba(7, 16, 24, .92);
  font-size:.78rem;
  line-height:1;
}

.fort-app.is-fullscreen .fort-status-grid--compact {
  display:none;
}
/* Stable fullscreen columns: selection content may not resize the side panels. */
.fort-app.is-fullscreen .fort-layout {
  grid-template-columns:minmax(0, 1fr) 24rem !important;
  align-items:stretch;
}

.fort-app.is-fullscreen .fort-controls {
  width:24rem;
  max-width:24rem;
}

.fort-app.is-fullscreen .fort-under-board {
  grid-template-columns:minmax(0, 18rem) minmax(0, 1fr) !important;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions,
.fort-app.is-fullscreen .fort-selection,
.fort-app.is-fullscreen .fort-selection * {
  min-width:0;
  max-width:100%;
}

.fort-app.is-fullscreen .fort-selection {
  contain:layout paint;
  overflow:auto;
}

@media (max-width:900px), (orientation:portrait) {
  .fort-app.is-fullscreen .fort-layout,
  .fort-app.is-fullscreen .fort-under-board {
    grid-template-columns:1fr !important;
  }
  .fort-app.is-fullscreen .fort-controls {
    width:auto;
    max-width:none;
  }
}
/* Stable fullscreen board size: clicks/selections must not resize the playfield. */
.fort-app.is-fullscreen .fort-play-column {
  display:grid !important;
  grid-template-rows:2.35rem minmax(0, 1fr) 2.35rem 10rem !important;
  gap:.4rem !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-mobile-hud {
  height:2.35rem !important;
  min-height:2.35rem !important;
  margin:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-field-wrap {
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  contain:size layout paint !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-field {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log {
  height:2.35rem !important;
  min-height:2.35rem !important;
  max-height:2.35rem !important;
  margin:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-under-board {
  height:10rem !important;
  min-height:10rem !important;
  max-height:10rem !important;
  grid-template-rows:1fr !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-selection {
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:auto !important;
}

@media (max-width:900px), (orientation:portrait) {
  .fort-app.is-fullscreen .fort-play-column {
    grid-template-rows:2.35rem minmax(0, 48vh) 2.35rem auto !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-under-board {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
}
/* Mobile logbook: keep history readable, hide search/filter controls. */

@media (max-width:760px) {
  .fort-log-tools {
    display:none !important;
  }

  .fort-log-modal {
    grid-template-rows:auto minmax(0, 1fr) !important;
  }

  .fort-log-history {
    padding:.75rem !important;
  }
}
/* Fullscreen recovery: stable responsive game layout, no collapsed canvas. */
.fort-app.is-fullscreen {
  display:grid !important;
  grid-template-rows:auto minmax(0, 1fr) !important;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  min-height:0 !important;
  padding:.45rem !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-hero {
  min-height:0 !important;
  padding:0 0 .35rem !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.fort-app.is-fullscreen .fort-hero h1 {
  margin:0 !important;
  font-size:clamp(1.25rem, 2.1vw, 2rem) !important;
  line-height:1 !important;
}

.fort-app.is-fullscreen .fort-game {
  display:grid !important;
  grid-template-rows:minmax(0, 1fr) !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-status-grid--compact {
  display:none !important;
}

.fort-app.is-fullscreen .fort-layout {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) clamp(18rem, 17vw, 22rem) !important;
  grid-template-rows:minmax(0, 1fr) !important;
  gap:.55rem !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  align-items:stretch !important;
}

.fort-app.is-fullscreen .fort-play-column {
  display:grid !important;
  grid-template-rows:2.35rem minmax(18rem, 1fr) 2.25rem minmax(8.5rem, 10rem) !important;
  gap:.4rem !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-mobile-hud,
.fort-app.is-fullscreen .fort-play-column > .fort-log {
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-field-wrap {
  height:100% !important;
  min-height:18rem !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  contain:layout paint !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-field {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
}

.fort-app.is-fullscreen .fort-under-board {
  display:grid !important;
  grid-template-columns:minmax(13rem, 17rem) minmax(0, 1fr) !important;
  grid-template-rows:minmax(0, 1fr) !important;
  gap:.45rem !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions {
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  align-content:start !important;
}

.fort-app.is-fullscreen .fort-selection {
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  contain:layout paint !important;
}

.fort-app.is-fullscreen .fort-controls {
  width:auto !important;
  max-width:none !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-build-list {
  max-height:calc(100dvh - 5rem) !important;
  overflow:auto !important;
}

@media (max-width:1100px), (orientation:portrait) {
  .fort-app.is-fullscreen {
    overflow:auto !important;
  }

  .fort-app.is-fullscreen .fort-game,
  .fort-app.is-fullscreen .fort-layout,
  .fort-app.is-fullscreen .fort-play-column {
    height:auto !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-layout {
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
  }

  .fort-app.is-fullscreen .fort-play-column {
    grid-template-rows:auto minmax(18rem, 58dvh) auto auto !important;
  }

  .fort-app.is-fullscreen .fort-under-board {
    grid-template-columns:1fr !important;
  }

  .fort-app.is-fullscreen .fort-controls {
    height:auto !important;
  }
}
/* Fullscreen hard reset: one predictable game layout wins over older fullscreen patches. */
.fort-app.is-fullscreen {
  display:grid !important;
  grid-template-rows:auto minmax(0, 1fr) !important;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:.5rem !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.fort-app.is-fullscreen .fort-hero {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  min-height:2.25rem !important;
  padding:0 0 .4rem !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.fort-app.is-fullscreen .fort-hero h1 {
  margin:0 !important;
  font-size:clamp(1.35rem, 2vw, 2rem) !important;
  line-height:1 !important;
}

.fort-app.is-fullscreen .fort-kicker,
.fort-app.is-fullscreen .fort-intro,
.fort-app.is-fullscreen .fort-seo-text,
.fort-app.is-fullscreen .fort-status-grid--compact {
  display:none !important;
}

.fort-app.is-fullscreen .fort-game {
  display:block !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-layout {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) clamp(18rem, 18vw, 22rem) !important;
  grid-template-rows:minmax(0, 1fr) !important;
  gap:.6rem !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  align-items:stretch !important;
}

.fort-app.is-fullscreen .fort-play-column {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) !important;
  grid-template-rows:minmax(0, 1fr) 2.25rem 9.5rem !important;
  gap:.45rem !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-mobile-hud {
  display:none !important;
}

.fort-app.is-fullscreen .fort-field-wrap {
  grid-row:1 !important;
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  contain:layout paint !important;
}

.fort-app.is-fullscreen .fort-field {
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:fill !important;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log {
  grid-row:2 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:.35rem .55rem !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-log-head {
  display:none !important;
}

.fort-app.is-fullscreen .fort-log-current p {
  margin:0 !important;
  font-size:.78rem !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-line-clamp:1 !important;
}

.fort-app.is-fullscreen .fort-log-current span {
  display:none !important;
}

.fort-app.is-fullscreen .fort-under-board {
  grid-row:3 !important;
  display:grid !important;
  grid-template-columns:minmax(13rem, 16rem) minmax(0, 1fr) !important;
  grid-template-rows:minmax(0, 1fr) !important;
  gap:.45rem !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions {
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:.35rem !important;
  min-width:0 !important;
  min-height:0 !important;
  align-content:start !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions button,
.fort-app.is-fullscreen .fort-selection button {
  min-height:2rem !important;
  padding:.35rem .45rem !important;
  font-size:.76rem !important;
  line-height:1.1 !important;
}

.fort-app.is-fullscreen .fort-selection {
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  overflow:auto !important;
  contain:layout paint !important;
}

.fort-app.is-fullscreen .fort-selection h2 {
  margin:0 0 .25rem !important;
  font-size:.95rem !important;
}

.fort-app.is-fullscreen .fort-selection p,
.fort-app.is-fullscreen .fort-selection dt,
.fort-app.is-fullscreen .fort-selection dd {
  font-size:.76rem !important;
  line-height:1.2 !important;
}

.fort-app.is-fullscreen .fort-selection dl {
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:.3rem !important;
}

.fort-app.is-fullscreen .fort-controls {
  position:static !important;
  width:auto !important;
  max-width:none !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-controls h2 {
  margin:0 0 .4rem !important;
  font-size:1rem !important;
}

.fort-app.is-fullscreen .fort-build-list {
  max-height:calc(100dvh - 5.5rem) !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
}

@media (max-width:1100px), (orientation:portrait) {
  .fort-app.is-fullscreen {
    overflow:auto !important;
  }

  .fort-app.is-fullscreen .fort-game,
  .fort-app.is-fullscreen .fort-layout,
  .fort-app.is-fullscreen .fort-play-column {
    height:auto !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-layout {
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
  }

  .fort-app.is-fullscreen .fort-play-column {
    grid-template-rows:2.25rem minmax(18rem, 58dvh) 2.25rem auto !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud {
    display:flex !important;
  }

  .fort-app.is-fullscreen .fort-under-board {
    grid-template-columns:1fr !important;
    height:auto !important;
  }

  .fort-app.is-fullscreen .fort-field-wrap {
    min-height:18rem !important;
  }

  .fort-app.is-fullscreen .fort-controls {
    height:auto !important;
  }
}
/* Fullscreen final alignment: board left, action/selection rail center, build rail right. */
.fort-app.is-fullscreen .fort-layout {
  grid-template-columns:minmax(0, 1fr) clamp(18rem, 18vw, 22rem) !important;
}

.fort-app.is-fullscreen .fort-play-column {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) clamp(20rem, 25vw, 32rem) !important;
  grid-template-rows:minmax(0, 1fr) 2.25rem !important;
  gap:.5rem !important;
}

.fort-app.is-fullscreen .fort-field-wrap {
  grid-column:1 !important;
  grid-row:1 !important;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log {
  grid-column:1 !important;
  grid-row:2 !important;
}

.fort-app.is-fullscreen .fort-under-board {
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto minmax(0, 1fr) !important;
  gap:.5rem !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-under-board .fort-actions {
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  align-content:start !important;
}

.fort-app.is-fullscreen .fort-selection {
  height:100% !important;
  min-height:0 !important;
  overflow:auto !important;
}

@media (max-width:1350px) and (orientation:landscape) {
  .fort-app.is-fullscreen .fort-play-column {
    grid-template-columns:minmax(0, 1fr) clamp(17rem, 23vw, 24rem) !important;
  }
}

@media (max-width:1100px), (orientation:portrait) {
  .fort-app.is-fullscreen .fort-play-column {
    grid-template-columns:1fr !important;
    grid-template-rows:2.25rem minmax(18rem, 58dvh) 2.25rem auto !important;
  }

  .fort-app.is-fullscreen .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
  }

  .fort-app.is-fullscreen .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
  }

  .fort-app.is-fullscreen .fort-under-board {
    grid-column:1 !important;
    grid-row:4 !important;
    height:auto !important;
  }
}
/* Mobile selection readability: keep long values inside cards. */

@media (max-width:760px) {
  .fort-selection {
    padding:.85rem !important;
  }

  .fort-selection dl {
    grid-template-columns:1fr !important;
    gap:.45rem !important;
  }

  .fort-selection dl div {
    display:grid !important;
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr) !important;
    align-items:start !important;
    gap:.45rem !important;
    min-width:0 !important;
  }

  .fort-selection dt,
  .fort-selection dd {
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    hyphens:auto !important;
  }

  .fort-selection dd {
    text-align:right !important;
    white-space:normal !important;
  }

  .fort-selection button {
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.18 !important;
    min-height:3rem !important;
  }
}
/* Mobile landscape: account for fixed header and keep the full 16:10 board visible. */
@media (max-width:950px) and (max-height:520px) and (orientation:landscape) {
  body[data-page="frontier-fort"] {
    padding-top:4.25rem !important;
  }

  body[data-page="frontier-fort"] .navbar {
    min-height:4.25rem !important;
    padding-top:.3rem !important;
    padding-bottom:.3rem !important;
  }

  body[data-page="frontier-fort"] .navbar > .container {
    min-height:3.65rem !important;
    align-items:center !important;
  }

  body[data-page="frontier-fort"] .navbar-brand {
    width:auto !important;
    margin-right:auto !important;
    font-size:clamp(1.35rem, 5vw, 2rem) !important;
    text-align:left !important;
    justify-content:flex-start !important;
  }

  body[data-page="frontier-fort"] .navbar-toggler {
    width:3.3rem !important;
    height:2.65rem !important;
    padding:.35rem !important;
  }

  body[data-page="frontier-fort"] main {
    padding-top:.35rem !important;
  }

  body[data-page="frontier-fort"] .fort-start,
  body[data-page="frontier-fort"] .fort-game,
  body[data-page="frontier-fort"] .fort-hero {
    padding:.45rem !important;
  }

  body[data-page="frontier-fort"] .fort-layout,
  body[data-page="frontier-fort"].fort-playing .fort-layout {
    grid-template-columns:1fr !important;
    gap:.45rem !important;
  }

  body[data-page="frontier-fort"] .fort-play-column {
    gap:.35rem !important;
  }

  body[data-page="frontier-fort"] .fort-mobile-hud {
    min-height:1.75rem !important;
    padding:.28rem .45rem !important;
    margin:0 0 .25rem !important;
    font-size:.72rem !important;
  }

  body[data-page="frontier-fort"] .fort-field-wrap,
  body[data-page="frontier-fort"].fort-playing .fort-field-wrap {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:min(calc(100dvh - 7.25rem), calc(100vw * .625)) !important;
    min-height:0 !important;
    max-height:calc(100dvh - 7.25rem) !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"] .fort-field,
  body[data-page="frontier-fort"].fort-playing .fort-field {
    width:auto !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    aspect-ratio:16 / 10 !important;
    object-fit:contain !important;
    margin:0 auto !important;
  }

  body[data-page="frontier-fort"] .fort-play-column > .fort-log {
    padding:.3rem .45rem !important;
  }

  body[data-page="frontier-fort"] .fort-under-board,
  body[data-page="frontier-fort"] .fort-controls {
    margin-top:.45rem !important;
  }
}
/* Mobile fullscreen fallback for browsers without Fullscreen API, notably iPhone Safari. */
body[data-page="frontier-fort"].fort-mobile-focus {
  padding-top:0 !important;
  overflow:hidden !important;
}

body[data-page="frontier-fort"].fort-mobile-focus .navbar,
body[data-page="frontier-fort"].fort-mobile-focus footer,
body[data-page="frontier-fort"].fort-mobile-focus .site-footer {
  display:none !important;
}

body[data-page="frontier-fort"].fort-mobile-focus main {
  padding:0 !important;
  margin:0 !important;
}

.fort-app.is-mobile-focus {
  position:fixed !important;
  inset:0 !important;
  z-index:5000 !important;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  margin:0 !important;
  padding:.35rem !important;
  border-radius:0 !important;
  overflow:auto !important;
  background:#071017 !important;
  box-sizing:border-box !important;
}

.fort-app.is-mobile-focus .fort-hero {
  display:none !important;
}

.fort-app.is-mobile-focus .fort-game {
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
}

.fort-app.is-mobile-focus .fort-status-grid--compact {
  display:none !important;
}

.fort-app.is-mobile-focus .fort-layout {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:.35rem !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}

.fort-app.is-mobile-focus .fort-play-column {
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto auto auto !important;
  gap:.3rem !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}

.fort-app.is-mobile-focus .fort-mobile-hud {
  display:flex !important;
  min-height:1.65rem !important;
  margin:0 !important;
  padding:.25rem .4rem !important;
}

.fort-app.is-mobile-focus .fort-field-wrap {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:min(calc(100dvh - 2.4rem), calc(100vw * .625)) !important;
  min-height:0 !important;
  max-height:calc(100dvh - 2.4rem) !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
}

.fort-app.is-mobile-focus .fort-field {
  width:auto !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  aspect-ratio:16 / 10 !important;
  object-fit:contain !important;
}

.fort-app.is-mobile-focus .fort-play-column > .fort-log {
  padding:.25rem .4rem !important;
  max-height:2rem !important;
  overflow:hidden !important;
}

.fort-app.is-mobile-focus .fort-under-board,
.fort-app.is-mobile-focus .fort-controls {
  margin-top:.35rem !important;
}

@media (orientation:landscape) and (max-height:520px) {
  .fort-app.is-mobile-focus {
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus .fort-layout {
    grid-template-columns:minmax(0, 1fr) minmax(13rem, 17rem) !important;
    height:100% !important;
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus .fort-play-column {
    grid-template-rows:auto minmax(0, 1fr) 1.8rem !important;
    height:100% !important;
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus .fort-field-wrap {
    height:100% !important;
    max-height:none !important;
  }

  .fort-app.is-mobile-focus .fort-under-board {
    display:none !important;
  }

  .fort-app.is-mobile-focus .fort-controls {
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus .fort-build-list {
    max-height:calc(100dvh - 2.5rem) !important;
    overflow:auto !important;
  }
}
/* Mobile/fullscreen focus polish: keep notifications readable and remove ads while playing full screen. */
body[data-page="frontier-fort"].fort-mobile-focus .ad-slot,
body[data-page="frontier-fort"].fort-mobile-focus .adsbygoogle,
body[data-page="frontier-fort"].fort-mobile-focus ins.adsbygoogle,
body[data-page="frontier-fort"].fort-mobile-focus .google-auto-placed,
body[data-page="frontier-fort"].fort-mobile-focus [id^="google_ads"],
body[data-page="frontier-fort"].fort-mobile-focus iframe[src*="google"] {
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.fort-app.is-mobile-focus .fort-play-column > .fort-log {
  max-height:none !important;
  min-height:2.75rem !important;
  padding:.42rem .5rem !important;
  overflow:hidden !important;
}

.fort-app.is-mobile-focus .fort-play-column > .fort-log h2,
.fort-app.is-mobile-focus .fort-log-head {
  display:none !important;
}

.fort-app.is-mobile-focus .fort-log-current {
  min-width:0 !important;
}

.fort-app.is-mobile-focus .fort-log-current p {
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  margin:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  overflow-wrap:anywhere !important;
  line-height:1.22 !important;
  font-size:.78rem !important;
}

.fort-app.is-mobile-focus .fort-log-current span {
  display:none !important;
}

@media (orientation:landscape) and (max-height:520px) {
  .fort-app.is-mobile-focus .fort-play-column {
    grid-template-rows:auto minmax(0, 1fr) minmax(2.75rem, auto) !important;
  }

  .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    min-height:2.55rem !important;
    padding:.32rem .45rem !important;
  }

  .fort-app.is-mobile-focus .fort-log-current p {
    font-size:.68rem !important;
    line-height:1.18 !important;
  }
}

.fort-app.is-fullscreen .fort-log-current p,
.fort-app:fullscreen .fort-log-current p,
.fort-app:-webkit-full-screen .fort-log-current p {
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

/* Fullscreen notifications need enough room for contextual costs on desktop too. */
.fort-app.is-fullscreen .fort-play-column {
  grid-template-rows:minmax(0, 1fr) minmax(2.85rem, auto) !important;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log,
.fort-app:fullscreen .fort-play-column > .fort-log,
.fort-app:-webkit-full-screen .fort-play-column > .fort-log {
  min-height:2.85rem !important;
  max-height:3.25rem !important;
  padding:.42rem .55rem !important;
}

.fort-app.is-fullscreen .fort-log-current p,
.fort-app:fullscreen .fort-log-current p,
.fort-app:-webkit-full-screen .fort-log-current p {
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.2 !important;
}

/* Notification readability: three mobile lines, clearer desktop card. */
.fort-play-column > .fort-log {
  background:linear-gradient(90deg, rgba(18, 57, 51, .88), rgba(7, 16, 24, .96)) !important;
  border-color:rgba(103, 215, 181, .34) !important;
  box-shadow:0 0 0 1px rgba(0, 0, 0, .18) inset, 0 10px 24px rgba(0, 0, 0, .18) !important;
}

.fort-log-current p {
  margin:0 !important;
  padding:.15rem 0 .15rem .7rem !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  line-height:1.32 !important;
}

.fort-log-current p strong {
  display:inline-block !important;
  margin-right:.35rem !important;
  font-size:.78em !important;
  letter-spacing:.02em !important;
}

.fort-log-current span {
  margin-top:.15rem !important;
  opacity:.72 !important;
}

.fort-app.is-mobile-focus .fort-play-column {
  grid-template-rows:auto minmax(0, 1fr) minmax(3.85rem, auto) auto !important;
}

.fort-app.is-mobile-focus .fort-play-column > .fort-log {
  min-height:3.85rem !important;
  max-height:none !important;
  padding:.48rem .55rem !important;
  overflow:visible !important;
}

.fort-app.is-mobile-focus .fort-log-current p {
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  min-height:calc(3 * 1.2em) !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.2 !important;
  font-size:.78rem !important;
}

.fort-app.is-fullscreen .fort-play-column {
  grid-template-rows:minmax(0, 1fr) minmax(3.35rem, auto) !important;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log,
.fort-app:fullscreen .fort-play-column > .fort-log,
.fort-app:-webkit-full-screen .fort-play-column > .fort-log {
  min-height:3.35rem !important;
  max-height:none !important;
  padding:.5rem .65rem !important;
  overflow:visible !important;
}

.fort-app.is-fullscreen .fort-log-current p,
.fort-app:fullscreen .fort-log-current p,
.fort-app:-webkit-full-screen .fort-log-current p {
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.24 !important;
}


@media (max-width:760px) {
  body[data-page="frontier-fort"] .fort-play-column > .fort-log {
    min-height:3.85rem !important;
    max-height:none !important;
    padding:.48rem .55rem !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"] .fort-log-current p {
    display:block !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:initial !important;
    min-height:calc(3 * 1.2em) !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.2 !important;
    font-size:.78rem !important;
  }
}

@media (orientation:landscape) and (max-height:520px) {
  .fort-app.is-mobile-focus .fort-play-column {
    grid-template-rows:auto minmax(0, 1fr) minmax(3.45rem, auto) !important;
  }

  .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    min-height:3.45rem !important;
    padding:.35rem .45rem !important;
    overflow:visible !important;
  }

  .fort-app.is-mobile-focus .fort-log-current p {
    min-height:calc(3 * 1.12em) !important;
    line-height:1.12 !important;
    font-size:.66rem !important;
  }
}

/* Mobile landscape focus: use width-based board scaling and keep the page scrollable. */
@media (orientation:landscape) and (max-width:950px), (orientation:landscape) and (hover:none) and (pointer:coarse) {
  body[data-page="frontier-fort"].fort-mobile-focus {
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus {
    height:100dvh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
  }

  .fort-app.is-mobile-focus .fort-game,
  .fort-app.is-mobile-focus .fort-layout,
  .fort-app.is-mobile-focus .fort-play-column {
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .fort-app.is-mobile-focus .fort-layout {
    grid-template-columns:1fr !important;
    gap:.45rem !important;
  }

  .fort-app.is-mobile-focus .fort-play-column {
    grid-template-rows:auto auto auto auto !important;
    gap:.45rem !important;
  }

  .fort-app.is-mobile-focus .fort-field-wrap {
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 10 !important;
    display:block !important;
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus .fort-field {
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    aspect-ratio:16 / 10 !important;
    object-fit:contain !important;
  }

  .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    min-height:3.45rem !important;
    overflow:visible !important;
  }

  .fort-app.is-mobile-focus .fort-under-board,
  .fort-app.is-mobile-focus .fort-controls {
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .fort-app.is-mobile-focus .fort-build-list {
    max-height:18rem !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
}

/* Edge-to-edge mobile fullscreen board: no side gutters around the playfield. */
body[data-page="frontier-fort"].fort-mobile-focus main {
  padding-left:0 !important;
  padding-right:0 !important;
}

body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus {
  padding:0 !important;
}

.fort-app.is-mobile-focus .fort-mobile-hud,
.fort-app.is-mobile-focus .fort-play-column > .fort-log,
.fort-app.is-mobile-focus .fort-under-board,
.fort-app.is-mobile-focus .fort-controls {
  width:auto !important;
  margin-left:.35rem !important;
  margin-right:.35rem !important;
}

.fort-app.is-mobile-focus .fort-field-wrap {
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
}

.fort-app.is-mobile-focus .fort-field {
  width:100vw !important;
  max-width:100vw !important;
  border-radius:0 !important;
}

@media (orientation:landscape) and (max-width:950px), (orientation:landscape) and (hover:none) and (pointer:coarse) {
  .fort-app.is-mobile-focus .fort-field-wrap,
  .fort-app.is-mobile-focus .fort-field {
    width:100vw !important;
    max-width:100vw !important;
  }
}

/* Horizontal mobile fullscreen: make the board truly full-bleed, portrait rules stay untouched. */
@media (orientation:landscape) and (max-width:950px), (orientation:landscape) and (hover:none) and (pointer:coarse) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus {
    padding:0 !important;
  }

  .fort-app.is-mobile-focus .fort-layout,
  .fort-app.is-mobile-focus .fort-play-column {
    width:100vw !important;
    max-width:100vw !important;
  }

  .fort-app.is-mobile-focus .fort-field-wrap {
    width:100vw !important;
    max-width:100vw !important;
    margin-left:0 !important;
    margin-right:0 !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
  }

  .fort-app.is-mobile-focus .fort-field {
    width:100vw !important;
    max-width:100vw !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    border-radius:0 !important;
  }

  .fort-app.is-mobile-focus .fort-mobile-hud,
  .fort-app.is-mobile-focus .fort-play-column > .fort-log,
  .fort-app.is-mobile-focus .fort-under-board,
  .fort-app.is-mobile-focus .fort-controls {
    margin-left:.35rem !important;
    margin-right:.35rem !important;
    width:calc(100vw - .7rem) !important;
    max-width:calc(100vw - .7rem) !important;
  }
}

/* Desktop fullscreen: use available side space for larger, clearer panels. */
@media (min-width:1200px) and (min-height:700px) and (hover:hover) and (pointer:fine) {
  .fort-app.is-fullscreen .fort-layout {
    grid-template-columns:minmax(0, 1fr) clamp(25rem, 26vw, 34rem) !important;
    gap:.75rem !important;
  }

  .fort-app.is-fullscreen .fort-play-column {
    grid-template-columns:minmax(0, 1fr) clamp(26rem, 31vw, 40rem) !important;
    gap:.75rem !important;
  }

  .fort-app.is-fullscreen .fort-under-board {
    gap:.75rem !important;
  }

  .fort-app.is-fullscreen .fort-under-board .fort-actions {
    gap:.5rem !important;
  }

  .fort-app.is-fullscreen .fort-under-board .fort-actions button,
  .fort-app.is-fullscreen .fort-selection button {
    min-height:2.35rem !important;
    padding:.48rem .65rem !important;
    font-size:.9rem !important;
    line-height:1.15 !important;
  }

  .fort-app.is-fullscreen .fort-selection,
  .fort-app.is-fullscreen .fort-controls {
    padding:1rem !important;
  }

  .fort-app.is-fullscreen .fort-selection h2,
  .fort-app.is-fullscreen .fort-controls h2 {
    font-size:1.18rem !important;
    line-height:1.2 !important;
  }

  .fort-app.is-fullscreen .fort-selection p,
  .fort-app.is-fullscreen .fort-selection dt,
  .fort-app.is-fullscreen .fort-selection dd {
    font-size:.92rem !important;
    line-height:1.35 !important;
  }

  .fort-app.is-fullscreen .fort-selection dl {
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.5rem !important;
  }

  .fort-app.is-fullscreen .fort-selection dl div {
    min-height:2.65rem !important;
    padding:.55rem .65rem !important;
  }

  .fort-app.is-fullscreen .fort-build-list {
    max-height:calc(100dvh - 6.5rem) !important;
    padding-right:.35rem !important;
  }

  .fort-app.is-fullscreen .fort-build-card {
    min-height:5.8rem !important;
    padding:.8rem 1rem !important;
    gap:.32rem !important;
  }

  .fort-app.is-fullscreen .fort-build-card strong {
    font-size:1.08rem !important;
    line-height:1.15 !important;
  }

  .fort-app.is-fullscreen .fort-build-card span,
  .fort-app.is-fullscreen .fort-build-card small,
  .fort-app.is-fullscreen .fort-build-card p {
    font-size:.9rem !important;
    line-height:1.28 !important;
  }

  .fort-app.is-fullscreen .fort-build-card .fort-build-cost,
  .fort-app.is-fullscreen .fort-build-card [data-build-cost] {
    font-size:1.05rem !important;
  }
}

/* Final mobile landscape full-bleed fix: remove every wrapper gutter around the board. */
@media (orientation:landscape) and (max-width:950px), (orientation:landscape) and (hover:none) and (pointer:coarse) {
  body[data-page="frontier-fort"].fort-mobile-focus,
  body[data-page="frontier-fort"].fort-mobile-focus main,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-game,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-layout,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-play-column {
    width:100dvw !important;
    max-width:100dvw !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-layout,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-play-column {
    gap:.4rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-field-wrap {
    position:relative !important;
    left:50% !important;
    right:auto !important;
    width:100dvw !important;
    max-width:100dvw !important;
    min-width:100dvw !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:translateX(-50%) !important;
    display:block !important;
    box-sizing:border-box !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-field {
    display:block !important;
    width:100dvw !important;
    max-width:100dvw !important;
    min-width:100dvw !important;
    height:auto !important;
    margin:0 !important;
    border-radius:0 !important;
  }
}

/* iPhone Safari landscape focus: force the board to viewport width even when pointer media queries fail. */
@media (orientation:landscape) and (max-height:620px) {
  body[data-page="frontier-fort"].fort-mobile-focus,
  body[data-page="frontier-fort"].fort-mobile-focus main,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-game,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-layout,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-play-column {
    width:100dvw !important;
    max-width:100dvw !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus {
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-layout,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-play-column {
    display:grid !important;
    grid-template-columns:1fr !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-play-column {
    grid-template-rows:auto auto auto auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-field-wrap {
    position:relative !important;
    left:auto !important;
    transform:none !important;
    display:block !important;
    width:100dvw !important;
    min-width:100dvw !important;
    max-width:100dvw !important;
    height:62.5dvw !important;
    min-height:62.5dvw !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    aspect-ratio:auto !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-field {
    display:block !important;
    width:100dvw !important;
    min-width:100dvw !important;
    max-width:100dvw !important;
    height:62.5dvw !important;
    min-height:62.5dvw !important;
    max-height:none !important;
    margin:0 !important;
    aspect-ratio:auto !important;
    object-fit:fill !important;
    border-radius:0 !important;
  }
}

/* Mobile landscape fit mode: full board + notification visible before the rest scrolls. */
@media (orientation:landscape) and (max-height:620px) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-play-column {
    gap:.28rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-mobile-hud {
    min-height:2.1rem !important;
    padding:.25rem .45rem !important;
    margin:.25rem .35rem .25rem !important;
    width:calc(100dvw - .7rem) !important;
    max-width:calc(100dvw - .7rem) !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-field-wrap {
    width:min(100dvw, calc((100dvh - 7.25rem) * 1.6)) !important;
    min-width:0 !important;
    max-width:100dvw !important;
    height:min(62.5dvw, calc(100dvh - 7.25rem)) !important;
    min-height:0 !important;
    max-height:calc(100dvh - 7.25rem) !important;
    margin:0 auto !important;
    aspect-ratio:16 / 10 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-field {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    aspect-ratio:16 / 10 !important;
    object-fit:contain !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-play-column > .fort-log {
    min-height:3.25rem !important;
    max-height:3.6rem !important;
    margin:.25rem .35rem .35rem !important;
    padding:.35rem .5rem !important;
    width:calc(100dvw - .7rem) !important;
    max-width:calc(100dvw - .7rem) !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-log-current p {
    min-height:0 !important;
    line-height:1.15 !important;
    font-size:.68rem !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
}

/* Normal mobile play: keep the board stable while Safari browser chrome changes during scroll. */

@media (max-width:760px) {
  body[data-page="frontier-fort"]:not(.fort-mobile-focus) .fort-app:not(.is-fullscreen) .fort-play-column,
  body[data-page="frontier-fort"]:not(.fort-mobile-focus) .fort-app:not(.is-fullscreen) .fort-field-wrap,
  body[data-page="frontier-fort"]:not(.fort-mobile-focus) .fort-app:not(.is-fullscreen) .fort-field {
    overflow-anchor:none !important;
  }

  body[data-page="frontier-fort"]:not(.fort-mobile-focus) .fort-app:not(.is-fullscreen) .fort-field-wrap,
  body[data-page="frontier-fort"]:not(.fort-mobile-focus).fort-playing .fort-app:not(.is-fullscreen) .fort-field-wrap {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 10 !important;
    contain:layout paint !important;
    transform:translateZ(0) !important;
  }

  body[data-page="frontier-fort"]:not(.fort-mobile-focus) .fort-app:not(.is-fullscreen) .fort-field,
  body[data-page="frontier-fort"]:not(.fort-mobile-focus).fort-playing .fort-app:not(.is-fullscreen) .fort-field {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 10 !important;
    object-fit:contain !important;
    transform:translateZ(0) !important;
  }
}

@media (orientation:landscape) and (max-height:620px) {
  body[data-page="frontier-fort"]:not(.fort-mobile-focus) .fort-app:not(.is-fullscreen) .fort-field-wrap,
  body[data-page="frontier-fort"]:not(.fort-mobile-focus).fort-playing .fort-app:not(.is-fullscreen) .fort-field-wrap,
  body[data-page="frontier-fort"]:not(.fort-mobile-focus) .fort-app:not(.is-fullscreen) .fort-field,
  body[data-page="frontier-fort"]:not(.fort-mobile-focus).fort-playing .fort-app:not(.is-fullscreen) .fort-field {
    height:auto !important;
    max-height:none !important;
    aspect-ratio:16 / 10 !important;
  }
}

/* Current notification shows only the latest message; metadata stays in the Logboek. */
.fort-log-current span {
  display:none !important;
}

.fort-log-current p {
  border-left-width:5px !important;
  border-radius:6px !important;
  padding:.45rem .65rem .45rem .8rem !important;
  background:rgba(47, 155, 255, .08) !important;
}

.fort-log-current p.is-log-category--waarschuwing {
  background:rgba(255, 93, 108, .12) !important;
  box-shadow:inset 0 0 0 1px rgba(255, 93, 108, .12) !important;
}

.fort-log-current p.is-log-category--upgrade,
.fort-log-current p.is-log-category--bouwen,
.fort-log-current p.is-log-category--verkoop {
  background:rgba(57, 217, 138, .11) !important;
  box-shadow:inset 0 0 0 1px rgba(57, 217, 138, .1) !important;
}

.fort-log-current p.is-log-category--economie,
.fort-log-current p.is-log-category--beloning {
  background:rgba(255, 209, 102, .12) !important;
  box-shadow:inset 0 0 0 1px rgba(255, 209, 102, .1) !important;
}

.fort-log-current p.is-log-category--vijand {
  background:rgba(255, 159, 67, .12) !important;
  box-shadow:inset 0 0 0 1px rgba(255, 159, 67, .1) !important;
}

.fort-log-current p.is-log-category--boss {
  background:rgba(181, 140, 255, .13) !important;
  box-shadow:inset 0 0 0 1px rgba(181, 140, 255, .1) !important;
}

/* Inline money/status highlights inside the latest notification and logbook. */
.fort-log-current p .fort-log-token,
.fort-log-history strong .fort-log-token {
  display:inline !important;
  padding:.05rem .22rem !important;
  border-radius:4px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.fort-log-current p .fort-log-token.is-available,
.fort-log-history strong .fort-log-token.is-available {
  color:#67d7b5 !important;
  background:rgba(57, 217, 138, .12) !important;
}

.fort-log-current p .fort-log-token.is-shortage,
.fort-log-history strong .fort-log-token.is-shortage {
  color:#ff8b96 !important;
  background:rgba(255, 93, 108, .14) !important;
}

.fort-log-current p .fort-log-token.is-cost,
.fort-log-history strong .fort-log-token.is-cost {
  color:#ffd166 !important;
  background:rgba(255, 209, 102, .12) !important;
}

/* Desktop logbook: toolbar and log entries are separate rows, never overlapping. */
.fort-log-modal {
  grid-template-rows:auto auto minmax(0, 1fr) !important;
  width:min(860px, calc(100vw - 2rem)) !important;
  max-height:min(86dvh, 760px) !important;
}

.fort-log-modal-header {
  grid-row:1 !important;
}

.fort-log-tools {
  grid-row:2 !important;
  position:relative !important;
  z-index:2 !important;
  align-items:end !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

.fort-log-tools label,
.fort-log-tools input,
.fort-log-tools select {
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

.fort-log-history {
  grid-row:3 !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  position:relative !important;
  z-index:1 !important;
  padding:1rem !important;
  margin:0 !important;
}

.fort-log-history li:first-child {
  margin-top:0 !important;
}


@media (max-width:760px) {
  .fort-log-modal {
    grid-template-rows:auto minmax(0, 1fr) !important;
  }

  .fort-log-history {
    grid-row:2 !important;
  }
}

/* Fullscreen HUD: keep lives, coins and wave visible on desktop and mobile. */
.fort-app.is-fullscreen .fort-mobile-hud,
.fort-app:fullscreen .fort-mobile-hud,
.fort-app:-webkit-full-screen .fort-mobile-hud {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:2.35rem !important;
  margin:0 !important;
  padding:.45rem .7rem !important;
  border:1px solid rgba(103, 215, 181, .36) !important;
  border-radius:8px !important;
  background:linear-gradient(90deg, rgba(18, 57, 51, .92), rgba(7, 16, 24, .96)) !important;
  color:#f7fbff !important;
  font-size:.9rem !important;
  line-height:1 !important;
}

.fort-app.is-fullscreen .fort-mobile-hud strong,
.fort-app:fullscreen .fort-mobile-hud strong,
.fort-app:-webkit-full-screen .fort-mobile-hud strong {
  color:#67d7b5 !important;
  font-size:1.1rem !important;
}

@media (min-width:1200px) and (hover:hover) and (pointer:fine) {
  .fort-app.is-fullscreen .fort-mobile-hud {
    font-size:1rem !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud strong {
    font-size:1.22rem !important;
  }
}

/* Final fullscreen structure: HUD above board, full latest message below board. */
.fort-app.is-fullscreen .fort-play-column,
.fort-app:fullscreen .fort-play-column,
.fort-app:-webkit-full-screen .fort-play-column {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) clamp(24rem, 30vw, 40rem) !important;
  grid-template-rows:auto minmax(0, 1fr) auto !important;
  gap:.65rem !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.fort-app.is-fullscreen .fort-mobile-hud,
.fort-app:fullscreen .fort-mobile-hud,
.fort-app:-webkit-full-screen .fort-mobile-hud {
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  display:flex !important;
  margin:0 !important;
  min-height:2.45rem !important;
}

.fort-app.is-fullscreen .fort-field-wrap,
.fort-app:fullscreen .fort-field-wrap,
.fort-app:-webkit-full-screen .fort-field-wrap {
  grid-column:1 !important;
  grid-row:2 !important;
  min-height:0 !important;
}

.fort-app.is-fullscreen .fort-play-column > .fort-log,
.fort-app:fullscreen .fort-play-column > .fort-log,
.fort-app:-webkit-full-screen .fort-play-column > .fort-log {
  grid-column:1 !important;
  grid-row:3 !important;
  min-height:0 !important;
  max-height:none !important;
  height:auto !important;
  padding:.55rem .7rem !important;
  overflow:visible !important;
}

.fort-app.is-fullscreen .fort-log-current p,
.fort-app:fullscreen .fort-log-current p,
.fort-app:-webkit-full-screen .fort-log-current p {
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.28 !important;
  max-height:none !important;
}

.fort-app.is-fullscreen .fort-under-board,
.fort-app:fullscreen .fort-under-board,
.fort-app:-webkit-full-screen .fort-under-board {
  grid-column:2 !important;
  grid-row:2 / span 2 !important;
  min-height:0 !important;
  overflow:hidden !important;
}

@media (max-width:1050px), (orientation:portrait) {
  .fort-app.is-fullscreen .fort-play-column,
  .fort-app:fullscreen .fort-play-column,
  .fort-app:-webkit-full-screen .fort-play-column {
    grid-template-columns:1fr !important;
    grid-template-rows:auto minmax(18rem, 58dvh) auto auto !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-under-board,
  .fort-app:fullscreen .fort-under-board,
  .fort-app:-webkit-full-screen .fort-under-board {
    grid-column:1 !important;
    grid-row:4 !important;
    overflow:visible !important;
  }
}

/* Leesbare contextmeldingen: geldinfo staat als aparte feitenrij onder de melding. */
.fort-log-current p {
  color:#f6fbff !important;
  font-size:clamp(.86rem, .78rem + .25vw, 1rem) !important;
  line-height:1.42 !important;
  padding:.72rem .85rem !important;
  border:1px solid rgba(103, 215, 181, .22) !important;
  background:linear-gradient(90deg, rgba(22, 94, 73, .34), rgba(7, 16, 23, .94)) !important;
  box-shadow:inset 4px 0 0 rgba(103, 215, 181, .85) !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.fort-log-current p.is-log-category--waarschuwing {
  border-color:rgba(255, 95, 109, .55) !important;
  background:linear-gradient(90deg, rgba(85, 24, 38, .82), rgba(24, 13, 24, .96)) !important;
  box-shadow:inset 4px 0 0 #ff5f6d !important;
}

.fort-log-current p.is-log-category--upgrade,
.fort-log-current p.is-log-category--bouwen {
  border-color:rgba(103, 215, 181, .55) !important;
  box-shadow:inset 4px 0 0 #67d7b5 !important;
}

.fort-log-current p.is-log-category--economie,
.fort-log-current p.is-log-category--beloning {
  border-color:rgba(255, 209, 102, .55) !important;
  background:linear-gradient(90deg, rgba(94, 65, 19, .64), rgba(7, 16, 23, .94)) !important;
  box-shadow:inset 4px 0 0 #ffd166 !important;
}

.fort-log-current p > strong,
.fort-log-history strong > strong {
  display:inline-block !important;
  margin-right:.45rem !important;
  color:#7df2cf !important;
  font-weight:900 !important;
}

.fort-log-current p.is-log-category--waarschuwing > strong,
.fort-log-history li.is-log-category--waarschuwing strong > strong {
  color:#ff9aa4 !important;
}

.fort-log-facts {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.45rem !important;
  margin-top:.52rem !important;
  align-items:stretch !important;
}

.fort-log-fact {
  display:inline-grid !important;
  grid-template-columns:auto auto !important;
  gap:.38rem !important;
  align-items:center !important;
  min-height:2rem !important;
  padding:.32rem .55rem !important;
  border-radius:7px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.08) !important;
  color:#f7fbff !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.fort-log-fact b {
  color:rgba(247,251,255,.86) !important;
  font-size:.72rem !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}

.fort-log-fact em {
  color:#ffffff !important;
  font-style:normal !important;
  font-size:.95rem !important;
  line-height:1 !important;
}

.fort-log-fact.is-cost {
  border-color:rgba(255, 209, 102, .55) !important;
  background:rgba(255, 209, 102, .16) !important;
}

.fort-log-fact.is-available {
  border-color:rgba(103, 215, 181, .55) !important;
  background:rgba(103, 215, 181, .15) !important;
}

.fort-log-fact.is-shortage {
  border-color:rgba(255, 95, 109, .72) !important;
  background:rgba(255, 95, 109, .2) !important;
}

.fort-log-history .fort-log-facts {
  margin-top:.4rem !important;
}


@media (max-width:760px) {
  body[data-page="frontier-fort"] .fort-log-current p {
    font-size:.82rem !important;
    line-height:1.28 !important;
    padding:.62rem .68rem !important;
  }

  body[data-page="frontier-fort"] .fort-log-facts {
    gap:.35rem !important;
    margin-top:.45rem !important;
  }

  body[data-page="frontier-fort"] .fort-log-fact {
    min-height:1.85rem !important;
    padding:.28rem .42rem !important;
  }

  body[data-page="frontier-fort"] .fort-log-fact b {
    font-size:.64rem !important;
  }

  body[data-page="frontier-fort"] .fort-log-fact em {
    font-size:.82rem !important;
  }
}

/* Speluitleg modal: compacte scanbare uitlegblokken. */
.fort-help-panel .fort-help-sections {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.8rem;
  margin:0 0 1rem;
}

.fort-help-panel .fort-help-heading {
  margin:1rem 0 .75rem;
  color:#67d7b5;
  font-size:1.05rem;
}

.fort-help-panel .fort-guide-card dt {
  color:#67d7b5;
  font-weight:900;
}

.fort-help-panel .fort-guide-card dd {
  color:#f7fbff;
}


@media (max-width:760px) {
  .fort-help-panel .fort-help-sections {
    grid-template-columns:1fr;
  }
}

/* Server-highscores en tablet-fullscreen stabilisatie. */
.fort-start-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
  justify-content:center;
  margin:1rem 0;
}

.fort-secondary {
  border:1px solid rgba(103, 215, 181, .45);
  background:#213d53;
  color:#f7fbff;
  border-radius:8px;
  padding:.85rem 1.15rem;
  font-weight:900;
  cursor:pointer;
}

.fort-highscores {
  width:min(100%, 52rem);
  margin:1rem auto 0;
  border:1px solid rgba(103, 215, 181, .32);
  border-radius:10px;
  background:linear-gradient(135deg, rgba(12, 38, 35, .92), rgba(5, 13, 20, .96));
  padding:1rem;
}

.fort-highscores-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.75rem;
}

.fort-highscores h2,
.fort-highscores h3 {
  margin:0;
  color:#f7fbff;
  font-size:1.05rem;
}

.fort-highscores-head span {
  color:#7df2cf;
  font-size:.82rem;
  font-weight:800;
}

.fort-highscores ol,
.fort-score-history {
  display:grid;
  gap:.45rem;
  margin:0;
  padding:0;
  list-style:none;
}

.fort-highscore-filters {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.5rem;
  margin:.75rem 0 .55rem;
}

.fort-highscore-filters button {
  border:1px solid rgba(103, 215, 181, .38);
  border-radius:8px;
  background:#10263a;
  color:#f7fbff;
  padding:.55rem .65rem;
  font:inherit;
  font-weight:950;
  cursor:pointer;
  text-align:left;
}

.fort-highscore-filters button small {
  display:block;
  margin-top:.15rem;
  color:#cfe1ee;
  font-size:.72rem;
  font-weight:800;
}

.fort-highscore-filters button.is-active {
  background:#126243;
  border-color:#67d7b5;
  box-shadow:0 0 0 2px rgba(103, 215, 181, .16) inset;
}

.fort-highscore-count {
  margin:0 0 .75rem;
  color:#7df2cf;
  font-size:.88rem;
  font-weight:900;
}

.fort-score-history {
  max-height:min(65dvh, 34rem);
  overflow:auto;
  padding-right:.25rem;
}


@media (max-width:760px) {
  .fort-start-actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .fort-highscores {
    padding:.75rem;
  }

  .fort-highscores-head {
    align-items:flex-start;
    flex-direction:column;
    gap:.35rem;
  }

  .fort-highscores li,
  .fort-score-history li {
    grid-template-columns:1.9rem minmax(0, 1fr) auto;
    padding:.5rem;
  }
}

@media (hover:none) and (pointer:coarse) and (min-width:768px) {
  .fort-app.is-fullscreen,
  .fort-app:fullscreen,
  .fort-app:-webkit-full-screen {
    min-height:100dvh !important;
    height:100dvh !important;
    overflow:auto !important;
  }

  .fort-app.is-fullscreen .fort-game,
  .fort-app:fullscreen .fort-game,
  .fort-app:-webkit-full-screen .fort-game {
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-layout,
  .fort-app:fullscreen .fort-layout,
  .fort-app:-webkit-full-screen .fort-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(18rem, 24rem) !important;
    gap:.75rem !important;
    align-items:start !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-play-column,
  .fort-app:fullscreen .fort-play-column,
  .fort-app:-webkit-full-screen .fort-play-column {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) !important;
    grid-template-rows:auto auto auto auto !important;
    gap:.55rem !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-field-wrap,
  .fort-app:fullscreen .fort-field-wrap,
  .fort-app:-webkit-full-screen .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 10 !important;
    min-height:0 !important;
    max-height:calc(100dvh - 9rem) !important;
  }

  .fort-app.is-fullscreen .fort-field,
  .fort-app:fullscreen .fort-field,
  .fort-app:-webkit-full-screen .fort-field {
    width:100% !important;
    height:100% !important;
  }

  .fort-app.is-fullscreen .fort-play-column > .fort-log,
  .fort-app:fullscreen .fort-play-column > .fort-log,
  .fort-app:-webkit-full-screen .fort-play-column > .fort-log,
  .fort-app.is-fullscreen .fort-under-board,
  .fort-app:fullscreen .fort-under-board,
  .fort-app:-webkit-full-screen .fort-under-board {
    grid-column:1 !important;
    grid-row:auto !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-controls,
  .fort-app:fullscreen .fort-controls,
  .fort-app:-webkit-full-screen .fort-controls {
    width:100% !important;
    min-width:0 !important;
    max-height:calc(100dvh - 4rem) !important;
    overflow:hidden !important;
  }

  .fort-app.is-fullscreen .fort-build-list,
  .fort-app:fullscreen .fort-build-list,
  .fort-app:-webkit-full-screen .fort-build-list {
    max-height:calc(100dvh - 8rem) !important;
    overflow-y:auto !important;
  }
}

@media (hover:none) and (pointer:coarse) and (min-width:768px) and (orientation:portrait) {
  .fort-app.is-fullscreen .fort-layout,
  .fort-app:fullscreen .fort-layout,
  .fort-app:-webkit-full-screen .fort-layout {
    grid-template-columns:minmax(0, 1fr) !important;
  }

  .fort-app.is-fullscreen .fort-controls,
  .fort-app:fullscreen .fort-controls,
  .fort-app:-webkit-full-screen .fort-controls {
    max-height:none !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-build-list,
  .fort-app:fullscreen .fort-build-list,
  .fort-app:-webkit-full-screen .fort-build-list {
    max-height:24rem !important;
  }
}
/* Verfijnd startscherm: compacte game-lobby met scorebord. */
.fort-start {
  max-width:1120px;
  margin:0 auto;
  padding:clamp(1rem, 2vw, 1.6rem) !important;
}

.fort-start-grid {
  position:relative;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.85rem;
  padding:1rem;
  border:1px solid rgba(103, 215, 181, .28);
  border-radius:10px;
  background:linear-gradient(135deg, rgba(10, 27, 35, .92), rgba(6, 14, 20, .72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 18px 40px rgba(0,0,0,.18);
}
.fort-start-grid--combo {
  grid-template-columns:minmax(0, 1fr);
}

.fort-start label {
  display:grid;
  gap:.45rem;
  padding:.75rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:#7df2cf;
  font-size:.82rem;
  font-weight:950;
  text-transform:uppercase;
}

.fort-start select {
  min-height:3.1rem;
  margin:0;
  border:1px solid rgba(103, 215, 181, .32);
  border-radius:7px;
  background:#eef5f8;
  color:#071017;
  font-weight:900;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}

.fort-start-actions {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:stretch;
  gap:.85rem;
  width:min(100%, 760px);
  margin:1.25rem auto 0 !important;
}

.fort-start-actions .fort-primary,
.fort-start-actions .fort-secondary {
  min-height:3.35rem;
  margin:0 !important;
  border-radius:9px;
  font-size:1rem;
  letter-spacing:0;
  box-shadow:0 14px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.16);
}

.fort-start-actions .fort-primary {
  width:auto;
  border-color:rgba(103, 215, 181, .42);
  background:linear-gradient(135deg, #147fdc, #1386ff 45%, #0f6ed6);
}

.fort-start-actions .fort-secondary {
  min-width:12rem;
  border-color:rgba(103, 215, 181, .42);
  background:linear-gradient(135deg, rgba(37, 70, 91, .98), rgba(19, 46, 60, .96));
  color:#f7fbff;
}

.fort-start-actions .fort-primary:hover,
.fort-start-actions .fort-primary:focus,
.fort-start-actions .fort-secondary:hover,
.fort-start-actions .fort-secondary:focus {
  transform:translateY(-1px);
  filter:brightness(1.06);
}

.fort-start > .fort-highscores {
  width:min(100%, 760px);
  margin:1rem auto 0;
  padding:1rem;
  border-radius:10px;
  border-color:rgba(103, 215, 181, .38);
  background:linear-gradient(145deg, rgba(9, 39, 35, .96), rgba(5, 13, 20, .96) 72%);
  box-shadow:0 18px 46px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}

.fort-start > .fort-highscores .fort-highscores-head {
  margin:0 0 .8rem;
  padding:0 0 .65rem;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.fort-start > .fort-highscores h2 {
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:1rem;
}

.fort-start > .fort-highscores h2::before {
  content:'\2605';
  display:grid;
  place-items:center;
  width:1.65rem;
  height:1.65rem;
  border-radius:999px;
  background:#67d7b5;
  color:#061219;
  font-size:.9rem;
  box-shadow:0 0 0 3px rgba(103, 215, 181, .14);
}

.fort-start > .fort-highscores .fort-highscores-head span {
  padding:.28rem .55rem;
  border:1px solid rgba(103, 215, 181, .24);
  border-radius:999px;
  background:rgba(103, 215, 181, .08);
  color:#7df2cf;
}

.fort-start > .fort-highscores li {
  min-height:3rem;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);
}

.fort-start > .fort-highscores li.is-empty {
  padding:.85rem 1rem;
  color:#f3f8fb;
  text-align:center;
  border-style:dashed;
  background:rgba(255,255,255,.04);
}

@media (max-width:900px) {
  .fort-start-grid {
    grid-template-columns:1fr;
  }

  .fort-start-actions {
    grid-template-columns:1fr;
  }

  .fort-start-actions .fort-secondary {
    min-width:0;
  }
}

@media (max-width:560px) {
  .fort-start {
    padding:.85rem !important;
  }

  .fort-start-grid {
    padding:.7rem;
  }

  .fort-start-actions .fort-primary,
  .fort-start-actions .fort-secondary {
    min-height:3.1rem;
  }

  .fort-start > .fort-highscores {
    padding:.75rem;
  }
}

/* iPad/tablet fullscreen: gebruik dezelfde brede game-indeling als desktop. */
@media (hover:none) and (pointer:coarse) and (min-width:900px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus {
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .site-header,
  body[data-page="frontier-fort"].fort-mobile-focus .site-footer,
  body[data-page="frontier-fort"].fort-mobile-focus .ad-slot,
  body[data-page="frontier-fort"].fort-mobile-focus [id^="google_ads"],
  body[data-page="frontier-fort"].fort-mobile-focus ins.adsbygoogle {
    display:none !important;
  }

  .fort-app.is-mobile-focus,
  .fort-app.is-fullscreen,
  .fort-app:fullscreen,
  .fort-app:-webkit-full-screen {
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    padding:.45rem !important;
    overflow:hidden !important;
    border-radius:0 !important;
  }

  .fort-app.is-mobile-focus .fort-hero,
  .fort-app.is-fullscreen .fort-hero,
  .fort-app:fullscreen .fort-hero,
  .fort-app:-webkit-full-screen .fort-hero {
    min-height:0 !important;
    margin:0 0 .35rem !important;
    padding:.15rem .35rem .35rem !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:.75rem !important;
  }

  .fort-app.is-mobile-focus .fort-hero h1,
  .fort-app.is-fullscreen .fort-hero h1,
  .fort-app:fullscreen .fort-hero h1,
  .fort-app:-webkit-full-screen .fort-hero h1 {
    font-size:clamp(1.35rem, 2.3vw, 2rem) !important;
    line-height:1 !important;
    margin:0 !important;
    white-space:nowrap !important;
  }

  .fort-app.is-mobile-focus .fort-kicker,
  .fort-app.is-mobile-focus .fort-intro,
  .fort-app.is-mobile-focus .fort-seo-text,
  .fort-app.is-mobile-focus .fort-status-grid--compact,
  .fort-app.is-fullscreen .fort-kicker,
  .fort-app.is-fullscreen .fort-intro,
  .fort-app.is-fullscreen .fort-seo-text,
  .fort-app.is-fullscreen .fort-status-grid--compact {
    display:none !important;
  }

  .fort-app.is-mobile-focus .fort-live,
  .fort-app.is-fullscreen .fort-live,
  .fort-app:fullscreen .fort-live,
  .fort-app:-webkit-full-screen .fort-live {
    min-width:18rem !important;
    max-width:24rem !important;
    min-height:2.75rem !important;
    padding:.45rem .7rem !important;
    font-size:1.05rem !important;
  }

  .fort-app.is-mobile-focus .fort-game,
  .fort-app.is-fullscreen .fort-game,
  .fort-app:fullscreen .fort-game,
  .fort-app:-webkit-full-screen .fort-game {
    height:calc(100dvh - 3.65rem) !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus .fort-layout,
  .fort-app.is-fullscreen .fort-layout,
  .fort-app:fullscreen .fort-layout,
  .fort-app:-webkit-full-screen .fort-layout {
    height:100% !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(23rem, 31vw, 35rem) !important;
    gap:.55rem !important;
    align-items:stretch !important;
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus .fort-play-column,
  .fort-app.is-fullscreen .fort-play-column,
  .fort-app:fullscreen .fort-play-column,
  .fort-app:-webkit-full-screen .fort-play-column {
    height:100% !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(15rem, 21vw, 21rem) !important;
    grid-template-rows:auto minmax(0, 1fr) auto !important;
    gap:.45rem !important;
    overflow:hidden !important;
  }

  .fort-app.is-mobile-focus .fort-mobile-hud,
  .fort-app.is-fullscreen .fort-mobile-hud,
  .fort-app:fullscreen .fort-mobile-hud,
  .fort-app:-webkit-full-screen .fort-mobile-hud {
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    display:grid !important;
    min-height:2.35rem !important;
    margin:0 !important;
    padding:.2rem .55rem !important;
    font-size:.95rem !important;
  }

  .fort-app.is-mobile-focus .fort-field-wrap,
  .fort-app.is-fullscreen .fort-field-wrap,
  .fort-app:fullscreen .fort-field-wrap,
  .fort-app:-webkit-full-screen .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 10 !important;
    margin:0 !important;
  }

  .fort-app.is-mobile-focus .fort-field,
  .fort-app.is-fullscreen .fort-field,
  .fort-app:fullscreen .fort-field,
  .fort-app:-webkit-full-screen .fort-field {
    width:100% !important;
    height:100% !important;
  }

  .fort-app.is-mobile-focus .fort-play-column > .fort-log,
  .fort-app.is-fullscreen .fort-play-column > .fort-log,
  .fort-app:fullscreen .fort-play-column > .fort-log,
  .fort-app:-webkit-full-screen .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
    min-height:3.2rem !important;
    max-height:4.7rem !important;
    overflow:hidden !important;
    margin:0 !important;
  }

  .fort-app.is-mobile-focus .fort-under-board,
  .fort-app.is-fullscreen .fort-under-board,
  .fort-app:fullscreen .fort-under-board,
  .fort-app:-webkit-full-screen .fort-under-board {
    grid-column:2 !important;
    grid-row:2 / span 2 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:.45rem !important;
    min-height:0 !important;
    overflow:auto !important;
    margin:0 !important;
  }

  .fort-app.is-mobile-focus .fort-under-board .fort-actions,
  .fort-app.is-fullscreen .fort-under-board .fort-actions {
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.35rem !important;
  }

  .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  .fort-app.is-fullscreen .fort-under-board .fort-actions button,
  .fort-app.is-mobile-focus .fort-selection button,
  .fort-app.is-fullscreen .fort-selection button {
    min-height:2.25rem !important;
    padding:.35rem .45rem !important;
    font-size:.82rem !important;
    line-height:1.05 !important;
  }

  .fort-app.is-mobile-focus .fort-selection,
  .fort-app.is-fullscreen .fort-selection {
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    font-size:.92rem !important;
  }

  .fort-app.is-mobile-focus .fort-controls,
  .fort-app.is-fullscreen .fort-controls,
  .fort-app:fullscreen .fort-controls,
  .fort-app:-webkit-full-screen .fort-controls {
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    padding:.7rem !important;
    font-size:1.05rem !important;
  }

  .fort-app.is-mobile-focus .fort-build-list,
  .fort-app.is-fullscreen .fort-build-list,
  .fort-app:fullscreen .fort-build-list,
  .fort-app:-webkit-full-screen .fort-build-list {
    max-height:calc(100dvh - 6rem) !important;
    overflow-y:auto !important;
    gap:.6rem !important;
  }

  .fort-app.is-mobile-focus .fort-build-card,
  .fort-app.is-fullscreen .fort-build-card {
    min-height:5.4rem !important;
    padding:.75rem .85rem !important;
  }

  .fort-app.is-mobile-focus .fort-build-card strong,
  .fort-app.is-fullscreen .fort-build-card strong {
    font-size:1.05rem !important;
  }

  .fort-app.is-mobile-focus .fort-build-card span,
  .fort-app.is-mobile-focus .fort-build-card small,
  .fort-app.is-mobile-focus .fort-build-card p,
  .fort-app.is-fullscreen .fort-build-card span,
  .fort-app.is-fullscreen .fort-build-card small,
  .fort-app.is-fullscreen .fort-build-card p {
    font-size:.8rem !important;
    line-height:1.25 !important;
  }
}
/* Finale iPad landscape fullscreen: dezelfde compositie als desktop, zonder mobiele stapelkolom. */
@media (min-width:900px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus {
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .site-header,
  body[data-page="frontier-fort"].fort-mobile-focus .site-footer,
  body[data-page="frontier-fort"].fort-mobile-focus .ad-slot,
  body[data-page="frontier-fort"].fort-mobile-focus [id^="google_ads"],
  body[data-page="frontier-fort"].fort-mobile-focus ins.adsbygoogle {
    display:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus {
    position:fixed !important;
    inset:0 !important;
    display:flex !important;
    flex-direction:column !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:.45rem !important;
    overflow:hidden !important;
    border-radius:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero {
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:2.8rem !important;
    margin:0 0 .35rem !important;
    padding:.1rem .35rem .35rem !important;
    gap:.75rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero h1 {
    margin:0 !important;
    font-size:clamp(1.25rem, 2vw, 1.85rem) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live {
    min-width:17rem !important;
    max-width:22rem !important;
    min-height:2.45rem !important;
    padding:.35rem .65rem !important;
    font-size:.95rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-kicker,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-intro,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-seo-text,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-status-grid--compact {
    display:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-game {
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(18rem, 24vw, 26rem) !important;
    gap:.55rem !important;
    align-items:stretch !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(15rem, 22vw, 22rem) !important;
    grid-template-rows:auto minmax(0, 1fr) auto !important;
    gap:.45rem !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud {
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    align-items:center !important;
    min-height:2rem !important;
    margin:0 !important;
    padding:.15rem .45rem !important;
    font-size:.82rem !important;
    line-height:1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud div {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:.25rem !important;
    min-width:0 !important;
    white-space:nowrap !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud div:first-child {
    justify-content:flex-start !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud div:last-child {
    justify-content:flex-end !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud strong {
    font-size:.95rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    display:block !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    aspect-ratio:16 / 10 !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field {
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
    min-height:3rem !important;
    max-height:4.5rem !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board {
    grid-column:2 !important;
    grid-row:2 / span 2 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:.45rem !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    overflow:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.35rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection button {
    min-height:2.1rem !important;
    padding:.3rem .4rem !important;
    font-size:.74rem !important;
    line-height:1.05 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection {
    min-height:0 !important;
    max-height:none !important;
    padding:.65rem !important;
    overflow:visible !important;
    font-size:.78rem !important;
    line-height:1.25 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection h2 {
    font-size:.95rem !important;
    margin:0 0 .35rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls {
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.65rem !important;
    overflow:hidden !important;
    font-size:.86rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls h2 {
    font-size:1rem !important;
    margin:0 0 .45rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-list {
    display:grid !important;
    grid-auto-rows:auto !important;
    gap:.5rem !important;
    max-height:calc(100dvh - 6.25rem) !important;
    padding-right:.25rem !important;
    overflow-y:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    align-items:start !important;
    min-height:0 !important;
    height:auto !important;
    padding:.55rem .65rem !important;
    gap:.18rem .5rem !important;
    line-height:1.15 !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button strong {
    font-size:.86rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button em {
    font-size:.86rem !important;
    line-height:1.1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button span,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button small {
    grid-column:1 / -1 !important;
    display:block !important;
    font-size:.68rem !important;
    line-height:1.2 !important;
    white-space:normal !important;
    overflow:visible !important;
  }
}
/* iPad echte fullscreen: requestFullscreen gebruikt is-fullscreen, niet is-mobile-focus. */
@media (min-width:760px) and (max-width:1400px) and (orientation:landscape) {
  .fort-app.is-fullscreen,
  .fort-app:fullscreen,
  .fort-app:-webkit-full-screen {
    position:fixed !important;
    inset:0 !important;
    display:flex !important;
    flex-direction:column !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:.45rem !important;
    overflow:hidden !important;
    border-radius:0 !important;
  }

  .fort-app.is-fullscreen .fort-hero,
  .fort-app:fullscreen .fort-hero,
  .fort-app:-webkit-full-screen .fort-hero {
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:2.8rem !important;
    margin:0 0 .35rem !important;
    padding:.1rem .35rem .35rem !important;
    gap:.75rem !important;
  }

  .fort-app.is-fullscreen .fort-hero h1,
  .fort-app:fullscreen .fort-hero h1,
  .fort-app:-webkit-full-screen .fort-hero h1 {
    margin:0 !important;
    font-size:clamp(1.25rem, 2vw, 1.85rem) !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .fort-app.is-fullscreen .fort-live,
  .fort-app:fullscreen .fort-live,
  .fort-app:-webkit-full-screen .fort-live {
    min-width:17rem !important;
    max-width:22rem !important;
    min-height:2.45rem !important;
    padding:.35rem .65rem !important;
    font-size:.95rem !important;
  }

  .fort-app.is-fullscreen .fort-kicker,
  .fort-app.is-fullscreen .fort-intro,
  .fort-app.is-fullscreen .fort-seo-text,
  .fort-app.is-fullscreen .fort-status-grid--compact,
  .fort-app:fullscreen .fort-kicker,
  .fort-app:fullscreen .fort-intro,
  .fort-app:fullscreen .fort-seo-text,
  .fort-app:fullscreen .fort-status-grid--compact,
  .fort-app:-webkit-full-screen .fort-kicker,
  .fort-app:-webkit-full-screen .fort-intro,
  .fort-app:-webkit-full-screen .fort-seo-text,
  .fort-app:-webkit-full-screen .fort-status-grid--compact {
    display:none !important;
  }

  .fort-app.is-fullscreen .fort-game,
  .fort-app:fullscreen .fort-game,
  .fort-app:-webkit-full-screen .fort-game {
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .fort-app.is-fullscreen .fort-layout,
  .fort-app:fullscreen .fort-layout,
  .fort-app:-webkit-full-screen .fort-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(18rem, 24vw, 26rem) !important;
    gap:.55rem !important;
    align-items:stretch !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  .fort-app.is-fullscreen .fort-play-column,
  .fort-app:fullscreen .fort-play-column,
  .fort-app:-webkit-full-screen .fort-play-column {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(15rem, 22vw, 22rem) !important;
    grid-template-rows:auto minmax(0, 1fr) auto !important;
    gap:.45rem !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud,
  .fort-app:fullscreen .fort-mobile-hud,
  .fort-app:-webkit-full-screen .fort-mobile-hud {
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    align-items:center !important;
    min-height:2rem !important;
    margin:0 !important;
    padding:.15rem .45rem !important;
    font-size:.82rem !important;
    line-height:1 !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud span,
  .fort-app:fullscreen .fort-mobile-hud span,
  .fort-app:-webkit-full-screen .fort-mobile-hud span {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:.25rem !important;
    min-width:0 !important;
    white-space:nowrap !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud span:first-child,
  .fort-app:fullscreen .fort-mobile-hud span:first-child,
  .fort-app:-webkit-full-screen .fort-mobile-hud span:first-child {
    justify-content:flex-start !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud span:last-child,
  .fort-app:fullscreen .fort-mobile-hud span:last-child,
  .fort-app:-webkit-full-screen .fort-mobile-hud span:last-child {
    justify-content:flex-end !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud strong,
  .fort-app:fullscreen .fort-mobile-hud strong,
  .fort-app:-webkit-full-screen .fort-mobile-hud strong {
    font-size:.95rem !important;
  }

  .fort-app.is-fullscreen .fort-field-wrap,
  .fort-app:fullscreen .fort-field-wrap,
  .fort-app:-webkit-full-screen .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    display:block !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    aspect-ratio:16 / 10 !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .fort-app.is-fullscreen .fort-field,
  .fort-app:fullscreen .fort-field,
  .fort-app:-webkit-full-screen .fort-field {
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
  }

  .fort-app.is-fullscreen .fort-play-column > .fort-log,
  .fort-app:fullscreen .fort-play-column > .fort-log,
  .fort-app:-webkit-full-screen .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
    min-height:3rem !important;
    max-height:4.5rem !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  .fort-app.is-fullscreen .fort-under-board,
  .fort-app:fullscreen .fort-under-board,
  .fort-app:-webkit-full-screen .fort-under-board {
    grid-column:2 !important;
    grid-row:2 / span 2 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:.45rem !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    overflow:auto !important;
  }

  .fort-app.is-fullscreen .fort-under-board .fort-actions,
  .fort-app:fullscreen .fort-under-board .fort-actions,
  .fort-app:-webkit-full-screen .fort-under-board .fort-actions {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.35rem !important;
  }

  .fort-app.is-fullscreen .fort-under-board .fort-actions button,
  .fort-app.is-fullscreen .fort-selection button,
  .fort-app:fullscreen .fort-under-board .fort-actions button,
  .fort-app:fullscreen .fort-selection button,
  .fort-app:-webkit-full-screen .fort-under-board .fort-actions button,
  .fort-app:-webkit-full-screen .fort-selection button {
    min-height:2.1rem !important;
    padding:.3rem .4rem !important;
    font-size:.74rem !important;
    line-height:1.05 !important;
  }

  .fort-app.is-fullscreen .fort-selection,
  .fort-app:fullscreen .fort-selection,
  .fort-app:-webkit-full-screen .fort-selection {
    min-height:0 !important;
    max-height:none !important;
    padding:.65rem !important;
    overflow:visible !important;
    font-size:.78rem !important;
    line-height:1.25 !important;
  }

  .fort-app.is-fullscreen .fort-selection h2,
  .fort-app:fullscreen .fort-selection h2,
  .fort-app:-webkit-full-screen .fort-selection h2 {
    font-size:.95rem !important;
    margin:0 0 .35rem !important;
  }

  .fort-app.is-fullscreen .fort-controls,
  .fort-app:fullscreen .fort-controls,
  .fort-app:-webkit-full-screen .fort-controls {
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.65rem !important;
    overflow:hidden !important;
    font-size:.86rem !important;
  }

  .fort-app.is-fullscreen .fort-controls h2,
  .fort-app:fullscreen .fort-controls h2,
  .fort-app:-webkit-full-screen .fort-controls h2 {
    font-size:1rem !important;
    margin:0 0 .45rem !important;
  }

  .fort-app.is-fullscreen .fort-build-list,
  .fort-app:fullscreen .fort-build-list,
  .fort-app:-webkit-full-screen .fort-build-list {
    display:grid !important;
    grid-auto-rows:auto !important;
    gap:.5rem !important;
    max-height:calc(100dvh - 6.25rem) !important;
    padding-right:.25rem !important;
    overflow-y:auto !important;
  }

  .fort-app.is-fullscreen .fort-build-button,
  .fort-app:fullscreen .fort-build-button,
  .fort-app:-webkit-full-screen .fort-build-button {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    align-items:start !important;
    min-height:0 !important;
    height:auto !important;
    padding:.55rem .65rem !important;
    gap:.18rem .5rem !important;
    line-height:1.15 !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-build-button strong,
  .fort-app:fullscreen .fort-build-button strong,
  .fort-app:-webkit-full-screen .fort-build-button strong {
    font-size:.86rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .fort-app.is-fullscreen .fort-build-button em,
  .fort-app:fullscreen .fort-build-button em,
  .fort-app:-webkit-full-screen .fort-build-button em {
    font-size:.86rem !important;
    line-height:1.1 !important;
  }

  .fort-app.is-fullscreen .fort-build-button span,
  .fort-app.is-fullscreen .fort-build-button small,
  .fort-app:fullscreen .fort-build-button span,
  .fort-app:fullscreen .fort-build-button small,
  .fort-app:-webkit-full-screen .fort-build-button span,
  .fort-app:-webkit-full-screen .fort-build-button small {
    grid-column:1 / -1 !important;
    display:block !important;
    font-size:.68rem !important;
    line-height:1.2 !important;
    white-space:normal !important;
    overflow:visible !important;
  }
}
/* iPad fullscreen noodrem: directe desktopachtige 3-koloms grid zonder samengeperst canvas. */
@media (min-width:900px) and (max-width:1400px) and (orientation:landscape) {
  .fort-app.is-fullscreen,
  .fort-app:fullscreen,
  .fort-app:-webkit-full-screen {
    position:fixed !important;
    inset:0 !important;
    display:flex !important;
    flex-direction:column !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:.35rem !important;
    overflow:hidden !important;
    border-radius:0 !important;
  }

  .fort-app.is-fullscreen .fort-hero,
  .fort-app:fullscreen .fort-hero,
  .fort-app:-webkit-full-screen .fort-hero {
    flex:0 0 auto !important;
    min-height:2.55rem !important;
    margin:0 0 .35rem !important;
    padding:0 .35rem .25rem !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  .fort-app.is-fullscreen .fort-hero h1,
  .fort-app:fullscreen .fort-hero h1,
  .fort-app:-webkit-full-screen .fort-hero h1 {
    margin:0 !important;
    font-size:1.55rem !important;
    line-height:1 !important;
  }

  .fort-app.is-fullscreen .fort-kicker,
  .fort-app.is-fullscreen .fort-intro,
  .fort-app.is-fullscreen .fort-seo-text,
  .fort-app.is-fullscreen .fort-status-grid--compact,
  .fort-app:fullscreen .fort-kicker,
  .fort-app:fullscreen .fort-intro,
  .fort-app:fullscreen .fort-seo-text,
  .fort-app:fullscreen .fort-status-grid--compact,
  .fort-app:-webkit-full-screen .fort-kicker,
  .fort-app:-webkit-full-screen .fort-intro,
  .fort-app:-webkit-full-screen .fort-seo-text,
  .fort-app:-webkit-full-screen .fort-status-grid--compact {
    display:none !important;
  }

  .fort-app.is-fullscreen .fort-live,
  .fort-app:fullscreen .fort-live,
  .fort-app:-webkit-full-screen .fort-live {
    min-width:18rem !important;
    max-width:24rem !important;
    min-height:2.35rem !important;
    padding:.35rem .65rem !important;
    font-size:.95rem !important;
  }

  .fort-app.is-fullscreen .fort-game,
  .fort-app:fullscreen .fort-game,
  .fort-app:-webkit-full-screen .fort-game {
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .fort-app.is-fullscreen .fort-layout,
  .fort-app:fullscreen .fort-layout,
  .fort-app:-webkit-full-screen .fort-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(14.5rem, 20vw, 18rem) clamp(19rem, 27vw, 23rem) !important;
    grid-template-rows:auto minmax(0, 1fr) auto !important;
    gap:.45rem !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    align-items:stretch !important;
  }

  .fort-app.is-fullscreen .fort-play-column,
  .fort-app:fullscreen .fort-play-column,
  .fort-app:-webkit-full-screen .fort-play-column {
    display:contents !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud,
  .fort-app:fullscreen .fort-mobile-hud,
  .fort-app:-webkit-full-screen .fort-mobile-hud {
    grid-column:1 / 3 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    align-items:center !important;
    min-height:2rem !important;
    margin:0 !important;
    padding:.15rem .5rem !important;
    font-size:.9rem !important;
    line-height:1 !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud span,
  .fort-app:fullscreen .fort-mobile-hud span,
  .fort-app:-webkit-full-screen .fort-mobile-hud span {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:.25rem !important;
    min-width:0 !important;
    white-space:nowrap !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud span:first-child,
  .fort-app:fullscreen .fort-mobile-hud span:first-child,
  .fort-app:-webkit-full-screen .fort-mobile-hud span:first-child {
    justify-content:flex-start !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud span:last-child,
  .fort-app:fullscreen .fort-mobile-hud span:last-child,
  .fort-app:-webkit-full-screen .fort-mobile-hud span:last-child {
    justify-content:flex-end !important;
  }

  .fort-app.is-fullscreen .fort-mobile-hud strong,
  .fort-app:fullscreen .fort-mobile-hud strong,
  .fort-app:-webkit-full-screen .fort-mobile-hud strong {
    font-size:1rem !important;
  }

  .fort-app.is-fullscreen .fort-field-wrap,
  .fort-app:fullscreen .fort-field-wrap,
  .fort-app:-webkit-full-screen .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    display:block !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    overflow:hidden !important;
    aspect-ratio:16 / 10 !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .fort-app.is-fullscreen .fort-field,
  .fort-app:fullscreen .fort-field,
  .fort-app:-webkit-full-screen .fort-field {
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
  }

  .fort-app.is-fullscreen .fort-play-column > .fort-log,
  .fort-app:fullscreen .fort-play-column > .fort-log,
  .fort-app:-webkit-full-screen .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
    min-height:3.1rem !important;
    max-height:4.7rem !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  .fort-app.is-fullscreen .fort-under-board,
  .fort-app:fullscreen .fort-under-board,
  .fort-app:-webkit-full-screen .fort-under-board {
    grid-column:2 !important;
    grid-row:2 / 4 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:.45rem !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    overflow:auto !important;
  }

  .fort-app.is-fullscreen .fort-under-board .fort-actions,
  .fort-app:fullscreen .fort-under-board .fort-actions,
  .fort-app:-webkit-full-screen .fort-under-board .fort-actions {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.35rem !important;
  }

  .fort-app.is-fullscreen .fort-under-board .fort-actions button,
  .fort-app.is-fullscreen .fort-selection button,
  .fort-app:fullscreen .fort-under-board .fort-actions button,
  .fort-app:fullscreen .fort-selection button,
  .fort-app:-webkit-full-screen .fort-under-board .fort-actions button,
  .fort-app:-webkit-full-screen .fort-selection button {
    min-height:2.15rem !important;
    padding:.3rem .4rem !important;
    font-size:.72rem !important;
    line-height:1.08 !important;
  }

  .fort-app.is-fullscreen .fort-selection,
  .fort-app:fullscreen .fort-selection,
  .fort-app:-webkit-full-screen .fort-selection {
    min-height:0 !important;
    max-height:none !important;
    padding:.6rem !important;
    overflow:visible !important;
    font-size:.76rem !important;
    line-height:1.22 !important;
  }

  .fort-app.is-fullscreen .fort-selection h2,
  .fort-app:fullscreen .fort-selection h2,
  .fort-app:-webkit-full-screen .fort-selection h2 {
    font-size:.95rem !important;
    margin:0 0 .35rem !important;
  }

  .fort-app.is-fullscreen .fort-controls,
  .fort-app:fullscreen .fort-controls,
  .fort-app:-webkit-full-screen .fort-controls {
    grid-column:3 !important;
    grid-row:1 / 4 !important;
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.65rem !important;
    overflow:hidden !important;
    font-size:.82rem !important;
  }

  .fort-app.is-fullscreen .fort-controls h2,
  .fort-app:fullscreen .fort-controls h2,
  .fort-app:-webkit-full-screen .fort-controls h2 {
    font-size:1rem !important;
    margin:0 0 .45rem !important;
  }

  .fort-app.is-fullscreen .fort-build-list,
  .fort-app:fullscreen .fort-build-list,
  .fort-app:-webkit-full-screen .fort-build-list {
    display:grid !important;
    grid-auto-rows:auto !important;
    gap:.45rem !important;
    max-height:calc(100dvh - 5.6rem) !important;
    padding-right:.25rem !important;
    overflow-y:auto !important;
  }

  .fort-app.is-fullscreen .fort-build-button,
  .fort-app:fullscreen .fort-build-button,
  .fort-app:-webkit-full-screen .fort-build-button {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    align-items:start !important;
    min-height:0 !important;
    height:auto !important;
    padding:.5rem .6rem !important;
    gap:.15rem .45rem !important;
    line-height:1.12 !important;
    overflow:visible !important;
  }

  .fort-app.is-fullscreen .fort-build-button strong,
  .fort-app:fullscreen .fort-build-button strong,
  .fort-app:-webkit-full-screen .fort-build-button strong {
    font-size:.82rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .fort-app.is-fullscreen .fort-build-button em,
  .fort-app:fullscreen .fort-build-button em,
  .fort-app:-webkit-full-screen .fort-build-button em {
    font-size:.82rem !important;
    line-height:1.1 !important;
  }

  .fort-app.is-fullscreen .fort-build-button span,
  .fort-app.is-fullscreen .fort-build-button small,
  .fort-app:fullscreen .fort-build-button span,
  .fort-app:fullscreen .fort-build-button small,
  .fort-app:-webkit-full-screen .fort-build-button span,
  .fort-app:-webkit-full-screen .fort-build-button small {
    grid-column:1 / -1 !important;
    display:block !important;
    font-size:.64rem !important;
    line-height:1.16 !important;
    white-space:normal !important;
    overflow:visible !important;
  }
}
/* iPad app-fullscreen: iPad gebruikt bewust mobile-focus in plaats van browser-fullscreen. */
@media (min-width:900px) and (max-width:1400px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus,
  body[data-page="frontier-fort"].fort-mobile-focus main,
  body[data-page="frontier-fort"].fort-mobile-focus .page-shell,
  body[data-page="frontier-fort"].fort-mobile-focus .page-content {
    width:100vw !important;
    max-width:none !important;
    height:100dvh !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#071018 !important;
    border:0 !important;
    box-shadow:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .site-header,
  body[data-page="frontier-fort"].fort-mobile-focus .site-footer,
  body[data-page="frontier-fort"].fort-mobile-focus .reader-toolbar,
  body[data-page="frontier-fort"].fort-mobile-focus .ad-slot,
  body[data-page="frontier-fort"].fort-mobile-focus [id^="google_ads"],
  body[data-page="frontier-fort"].fort-mobile-focus ins.adsbygoogle {
    display:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus {
    position:fixed !important;
    inset:0 !important;
    display:flex !important;
    flex-direction:column !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:.35rem !important;
    overflow:hidden !important;
    border-radius:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero {
    flex:0 0 auto !important;
    min-height:2.55rem !important;
    margin:0 0 .35rem !important;
    padding:0 .35rem .25rem !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero h1 {
    margin:0 !important;
    font-size:1.55rem !important;
    line-height:1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-kicker,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-intro,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-seo-text,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-status-grid--compact {
    display:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live {
    min-width:18rem !important;
    max-width:24rem !important;
    min-height:2.35rem !important;
    padding:.35rem .65rem !important;
    font-size:.95rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-game {
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(14.5rem, 20vw, 18rem) clamp(19rem, 27vw, 23rem) !important;
    grid-template-rows:auto minmax(0, 1fr) auto !important;
    gap:.45rem !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    align-items:stretch !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column {
    display:contents !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud {
    grid-column:1 / 3 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    align-items:center !important;
    min-height:2rem !important;
    margin:0 !important;
    padding:.15rem .5rem !important;
    font-size:.9rem !important;
    line-height:1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    display:block !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    overflow:hidden !important;
    aspect-ratio:16 / 10 !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field {
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
    min-height:3.1rem !important;
    max-height:4.7rem !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board {
    grid-column:2 !important;
    grid-row:2 / 4 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:.45rem !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    overflow:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.35rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection button {
    min-height:2.15rem !important;
    padding:.3rem .4rem !important;
    font-size:.72rem !important;
    line-height:1.08 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection {
    min-height:0 !important;
    max-height:none !important;
    padding:.6rem !important;
    overflow:visible !important;
    font-size:.76rem !important;
    line-height:1.22 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection h2 {
    font-size:.95rem !important;
    margin:0 0 .35rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls {
    grid-column:3 !important;
    grid-row:1 / 4 !important;
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.65rem !important;
    overflow:hidden !important;
    font-size:.82rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-list {
    display:grid !important;
    grid-auto-rows:auto !important;
    gap:.45rem !important;
    max-height:calc(100dvh - 5.6rem) !important;
    padding-right:.25rem !important;
    overflow-y:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    align-items:start !important;
    min-height:0 !important;
    height:auto !important;
    padding:.5rem .6rem !important;
    gap:.15rem .45rem !important;
    line-height:1.12 !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button strong,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button em {
    font-size:.82rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button span,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button small {
    grid-column:1 / -1 !important;
    display:block !important;
    font-size:.64rem !important;
    line-height:1.16 !important;
    white-space:normal !important;
    overflow:visible !important;
  }
}
/* iPad finale: twee kolommen zodat teksten niet onder of buiten elkaar vallen. */
@media (min-width:900px) and (max-width:1400px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-layout,
  .fort-app.is-fullscreen .fort-layout,
  .fort-app:fullscreen .fort-layout,
  .fort-app:-webkit-full-screen .fort-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(21rem, 31vw, 25rem) !important;
    grid-template-rows:auto minmax(0, 1fr) auto !important;
    gap:.45rem !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    align-items:stretch !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column,
  .fort-app.is-fullscreen .fort-play-column,
  .fort-app:fullscreen .fort-play-column,
  .fort-app:-webkit-full-screen .fort-play-column {
    display:contents !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud,
  .fort-app.is-fullscreen .fort-mobile-hud,
  .fort-app:fullscreen .fort-mobile-hud,
  .fort-app:-webkit-full-screen .fort-mobile-hud {
    grid-column:1 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    min-height:2rem !important;
    margin:0 !important;
    padding:.15rem .5rem !important;
    font-size:.85rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field-wrap,
  .fort-app.is-fullscreen .fort-field-wrap,
  .fort-app:fullscreen .fort-field-wrap,
  .fort-app:-webkit-full-screen .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    aspect-ratio:16 / 10 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field,
  .fort-app.is-fullscreen .fort-field,
  .fort-app:fullscreen .fort-field,
  .fort-app:-webkit-full-screen .fort-field {
    width:100% !important;
    height:100% !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log,
  .fort-app.is-fullscreen .fort-play-column > .fort-log,
  .fort-app:fullscreen .fort-play-column > .fort-log,
  .fort-app:-webkit-full-screen .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
    min-height:3.1rem !important;
    max-height:4.7rem !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board,
  .fort-app.is-fullscreen .fort-under-board,
  .fort-app:fullscreen .fort-under-board,
  .fort-app:-webkit-full-screen .fort-under-board {
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:.45rem !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:15rem !important;
    margin:0 !important;
    overflow:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions,
  .fort-app.is-fullscreen .fort-under-board .fort-actions,
  .fort-app:fullscreen .fort-under-board .fort-actions,
  .fort-app:-webkit-full-screen .fort-under-board .fort-actions {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.35rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection button,
  .fort-app.is-fullscreen .fort-under-board .fort-actions button,
  .fort-app.is-fullscreen .fort-selection button,
  .fort-app:fullscreen .fort-under-board .fort-actions button,
  .fort-app:fullscreen .fort-selection button,
  .fort-app:-webkit-full-screen .fort-under-board .fort-actions button,
  .fort-app:-webkit-full-screen .fort-selection button {
    min-height:2.05rem !important;
    padding:.28rem .38rem !important;
    font-size:.68rem !important;
    line-height:1.05 !important;
    white-space:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection,
  .fort-app.is-fullscreen .fort-selection,
  .fort-app:fullscreen .fort-selection,
  .fort-app:-webkit-full-screen .fort-selection {
    padding:.55rem !important;
    min-height:0 !important;
    max-height:7rem !important;
    overflow:auto !important;
    font-size:.72rem !important;
    line-height:1.2 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection h2,
  .fort-app.is-fullscreen .fort-selection h2,
  .fort-app:fullscreen .fort-selection h2,
  .fort-app:-webkit-full-screen .fort-selection h2 {
    font-size:.9rem !important;
    margin:0 0 .25rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls,
  .fort-app.is-fullscreen .fort-controls,
  .fort-app:fullscreen .fort-controls,
  .fort-app:-webkit-full-screen .fort-controls {
    grid-column:2 !important;
    grid-row:2 / 4 !important;
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.55rem !important;
    overflow:hidden !important;
    font-size:.78rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls h2,
  .fort-app.is-fullscreen .fort-controls h2,
  .fort-app:fullscreen .fort-controls h2,
  .fort-app:-webkit-full-screen .fort-controls h2 {
    font-size:.95rem !important;
    margin:0 0 .35rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-list,
  .fort-app.is-fullscreen .fort-build-list,
  .fort-app:fullscreen .fort-build-list,
  .fort-app:-webkit-full-screen .fort-build-list {
    display:grid !important;
    grid-auto-rows:auto !important;
    gap:.4rem !important;
    max-height:calc(100dvh - 18rem) !important;
    min-height:12rem !important;
    padding-right:.25rem !important;
    overflow-y:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button,
  .fort-app.is-fullscreen .fort-build-button,
  .fort-app:fullscreen .fort-build-button,
  .fort-app:-webkit-full-screen .fort-build-button {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    min-height:0 !important;
    height:auto !important;
    padding:.45rem .55rem !important;
    gap:.12rem .35rem !important;
    line-height:1.1 !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button strong,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button em,
  .fort-app.is-fullscreen .fort-build-button strong,
  .fort-app.is-fullscreen .fort-build-button em,
  .fort-app:fullscreen .fort-build-button strong,
  .fort-app:fullscreen .fort-build-button em,
  .fort-app:-webkit-full-screen .fort-build-button strong,
  .fort-app:-webkit-full-screen .fort-build-button em {
    font-size:.76rem !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button span,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button small,
  .fort-app.is-fullscreen .fort-build-button span,
  .fort-app.is-fullscreen .fort-build-button small,
  .fort-app:fullscreen .fort-build-button span,
  .fort-app:fullscreen .fort-build-button small,
  .fort-app:-webkit-full-screen .fort-build-button span,
  .fort-app:-webkit-full-screen .fort-build-button small {
    grid-column:1 / -1 !important;
    display:block !important;
    font-size:.58rem !important;
    line-height:1.14 !important;
    white-space:normal !important;
    overflow:visible !important;
  }
}

/* iPad/tablet fullscreen gebruikt app-focus: voorkom de oude 3-koloms overlap. */
@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus {
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus {
    width:100vw !important;
    height:100dvh !important;
    min-height:0 !important;
    padding:.45rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-shell {
    height:100% !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:.4rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(18rem, 34vw) !important;
    gap:.55rem !important;
    align-items:end !important;
    flex:0 0 auto !important;
    padding:.15rem 0 .35rem !important;
    min-height:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero h1 {
    font-size:1.25rem !important;
    line-height:1 !important;
    margin:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero p,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-kicker,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-start-panel,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-status-grid {
    display:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live {
    display:block !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:2.35rem !important;
    padding:.28rem .55rem !important;
    font-size:.72rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-game {
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(18rem, 31vw, 24rem) !important;
    grid-template-rows:auto minmax(0, 1fr) auto !important;
    gap:.45rem !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    align-items:stretch !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column {
    display:contents !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud {
    grid-column:1 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:.35rem !important;
    min-height:1.9rem !important;
    margin:0 !important;
    padding:.12rem .45rem !important;
    font-size:.8rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud strong {
    font-size:.95rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field {
    width:100% !important;
    height:100% !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
    min-height:3rem !important;
    max-height:4.6rem !important;
    margin:0 !important;
    padding:.45rem .6rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current {
    font-size:.72rem !important;
    line-height:1.2 !important;
    -webkit-line-clamp:3 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board {
    grid-column:2 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.4rem !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:13.5rem !important;
    margin:0 !important;
    overflow:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.3rem !important;
    padding:.45rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection button {
    min-height:1.95rem !important;
    padding:.25rem .35rem !important;
    font-size:.66rem !important;
    line-height:1.05 !important;
    white-space:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection {
    padding:.5rem !important;
    min-height:0 !important;
    max-height:5.6rem !important;
    overflow:auto !important;
    font-size:.68rem !important;
    line-height:1.18 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection h2 {
    font-size:.86rem !important;
    margin:0 0 .2rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls {
    grid-column:2 !important;
    grid-row:2 / 4 !important;
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.5rem !important;
    overflow:hidden !important;
    font-size:.72rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls h2 {
    font-size:.9rem !important;
    margin:0 0 .35rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-list {
    display:grid !important;
    grid-auto-rows:auto !important;
    gap:.35rem !important;
    max-height:calc(100dvh - 18.4rem) !important;
    min-height:9rem !important;
    padding-right:.25rem !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    min-height:0 !important;
    height:auto !important;
    width:100% !important;
    padding:.42rem .5rem !important;
    gap:.1rem .3rem !important;
    line-height:1.1 !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button strong,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button em {
    font-size:.74rem !important;
    line-height:1.08 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button span,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button small {
    grid-column:1 / -1 !important;
    display:block !important;
    font-size:.56rem !important;
    line-height:1.14 !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:anywhere !important;
  }
}

/* iPad landscape fullscreen finale: desktopachtige 3-koloms cockpit zonder overlap. */
@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus {
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus {
    width:100vw !important;
    height:100dvh !important;
    min-height:0 !important;
    padding:.35rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-shell {
    height:100% !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:.32rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero {
    flex:0 0 auto !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(18rem, 34vw, 28rem) !important;
    align-items:end !important;
    gap:.55rem !important;
    min-height:2.25rem !important;
    padding:0 0 .25rem !important;
    border-bottom:1px solid rgba(255,255,255,.11) !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero h1 {
    font-size:1.15rem !important;
    line-height:1 !important;
    margin:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-hero p,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-kicker,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-start-panel,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-status-grid {
    display:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:2rem !important;
    padding:.2rem .5rem !important;
    font-size:.65rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live strong {
    font-size:.95rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-game {
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) clamp(14.5rem, 22vw, 19rem) clamp(18rem, 25vw, 23rem) !important;
    grid-template-rows:1.45rem minmax(0, 1fr) 3.35rem !important;
    gap:.38rem !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    align-items:stretch !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column {
    display:contents !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud {
    grid-column:1 / 3 !important;
    grid-row:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:.25rem !important;
    min-height:0 !important;
    height:1.45rem !important;
    margin:0 !important;
    padding:.08rem .35rem !important;
    font-size:.58rem !important;
    line-height:1 !important;
    border-radius:.18rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud span {
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud strong {
    font-size:.68rem !important;
    line-height:1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field {
    width:100% !important;
    height:100% !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    grid-column:1 !important;
    grid-row:3 !important;
    min-height:0 !important;
    height:3.35rem !important;
    max-height:3.35rem !important;
    margin:0 !important;
    padding:.38rem .5rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current {
    font-size:.62rem !important;
    line-height:1.18 !important;
    -webkit-line-clamp:3 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board {
    grid-column:2 !important;
    grid-row:2 / 4 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto minmax(0, 1fr) !important;
    gap:.38rem !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.28rem !important;
    padding:.42rem !important;
    min-height:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection button {
    min-height:1.75rem !important;
    padding:.18rem .28rem !important;
    font-size:.55rem !important;
    line-height:1.02 !important;
    white-space:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection {
    padding:.48rem !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:auto !important;
    font-size:.62rem !important;
    line-height:1.18 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection h2 {
    font-size:.82rem !important;
    margin:0 0 .2rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls {
    grid-column:3 !important;
    grid-row:1 / 4 !important;
    position:static !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    padding:.48rem !important;
    overflow:hidden !important;
    font-size:.62rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls h2 {
    font-size:.82rem !important;
    margin:0 0 .32rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-list {
    display:grid !important;
    grid-auto-rows:auto !important;
    gap:.34rem !important;
    height:calc(100% - 1.25rem) !important;
    max-height:none !important;
    min-height:0 !important;
    padding-right:.22rem !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    min-height:0 !important;
    height:auto !important;
    width:100% !important;
    padding:.36rem .45rem !important;
    gap:.08rem .28rem !important;
    line-height:1.08 !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button strong,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button em {
    font-size:.66rem !important;
    line-height:1.08 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button span,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button small {
    grid-column:1 / -1 !important;
    display:block !important;
    font-size:.5rem !important;
    line-height:1.12 !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:anywhere !important;
  }
}

/* iPad landscape finale fine-tune: smalle actie-kolom, vaste bouwkolom, melding vrij. */
@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live {
    justify-content:flex-end !important;
    gap:.35rem !important;
    padding:.18rem .45rem !important;
    font-size:.58rem !important;
    white-space:nowrap !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live span {
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-layout {
    grid-template-columns:minmax(0, 1fr) clamp(12.5rem, 18vw, 15.5rem) clamp(20rem, 28vw, 24rem) !important;
    grid-template-rows:1.25rem minmax(0, 1fr) 3.8rem !important;
    gap:.34rem !important;
    column-gap:.5rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud {
    height:1.25rem !important;
    min-height:1.25rem !important;
    padding:.04rem .32rem !important;
    font-size:.52rem !important;
    border-radius:.14rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud strong {
    font-size:.62rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board {
    grid-column:2 !important;
    grid-row:2 !important;
    grid-template-rows:auto minmax(0, 1fr) !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions {
    padding:.32rem !important;
    gap:.24rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection button {
    min-height:1.55rem !important;
    padding:.14rem .22rem !important;
    font-size:.48rem !important;
    line-height:1.04 !important;
    overflow-wrap:anywhere !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection {
    padding:.38rem !important;
    font-size:.54rem !important;
    line-height:1.16 !important;
    overflow:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection h2 {
    font-size:.72rem !important;
    margin:0 0 .16rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    grid-column:1 / 3 !important;
    grid-row:3 !important;
    height:3.8rem !important;
    max-height:3.8rem !important;
    padding:.42rem .52rem !important;
    z-index:1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current {
    font-size:.62rem !important;
    line-height:1.18 !important;
    -webkit-line-clamp:3 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls {
    grid-column:3 !important;
    grid-row:1 / 4 !important;
    align-self:stretch !important;
    padding:.46rem !important;
    overflow:hidden !important;
    z-index:2 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls h2 {
    font-size:.78rem !important;
    line-height:1 !important;
    margin:0 0 .3rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-list {
    height:calc(100% - 1.15rem) !important;
    max-height:calc(100% - 1.15rem) !important;
    min-height:0 !important;
    gap:.3rem !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding-right:.18rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button {
    min-height:4.35rem !important;
    padding:.34rem .42rem !important;
    gap:.07rem .28rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button strong,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button em {
    font-size:.62rem !important;
    line-height:1.08 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button span,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button small {
    font-size:.48rem !important;
    line-height:1.12 !important;
  }
}

/* iPad landscape laatste correctie: Bouwen start naast Acties en stopt boven de melding. */
@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-layout {
    grid-template-columns:minmax(0, 1fr) clamp(10.5rem, 15vw, 13rem) clamp(20rem, 30vw, 25rem) !important;
    grid-template-rows:1.2rem minmax(0, 1fr) 3.9rem !important;
    gap:.34rem !important;
    column-gap:.48rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live {
    gap:.55rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-live span:last-child {
    margin-left:.35rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud {
    grid-column:1 / 3 !important;
    grid-row:1 !important;
    height:1.2rem !important;
    min-height:1.2rem !important;
    padding:.03rem .3rem !important;
    font-size:.5rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-mobile-hud strong {
    font-size:.6rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-field-wrap {
    grid-column:1 !important;
    grid-row:2 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board {
    grid-column:2 !important;
    grid-row:2 !important;
    align-self:stretch !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions {
    gap:.22rem !important;
    padding:.3rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection button {
    min-height:1.58rem !important;
    padding:.16rem .18rem !important;
    font-size:.5rem !important;
    line-height:1.08 !important;
    text-align:center !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection {
    padding:.38rem !important;
    font-size:.55rem !important;
    line-height:1.18 !important;
    overflow:auto !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection h2 {
    font-size:.72rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls {
    grid-column:3 !important;
    grid-row:2 !important;
    align-self:stretch !important;
    height:100% !important;
    max-height:100% !important;
    padding:.46rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls h2 {
    font-size:.8rem !important;
    margin:0 0 .3rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-list {
    height:calc(100% - 1.2rem) !important;
    max-height:calc(100% - 1.2rem) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    grid-column:1 / 4 !important;
    grid-row:3 !important;
    height:3.9rem !important;
    max-height:3.9rem !important;
    min-height:3.9rem !important;
    overflow:hidden !important;
    z-index:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current {
    font-size:.62rem !important;
    line-height:1.18 !important;
    -webkit-line-clamp:3 !important;
  }
}

/* iPad landscape kolomisolatie: Acties/Selectie mag nooit onder Bouwen doorlopen. */
@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-layout {
    grid-template-columns:minmax(0, 1fr) clamp(9.75rem, 13.5vw, 12rem) clamp(19rem, 28vw, 23rem) !important;
    column-gap:.75rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board *,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection * {
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board {
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    contain:layout paint !important;
    z-index:1 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions {
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board .fort-actions button,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection button {
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    font-size:.46rem !important;
    line-height:1.08 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection {
    width:100% !important;
    max-width:100% !important;
    overflow:auto !important;
    contain:layout paint !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection p,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection div,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection span {
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls * {
    box-sizing:border-box !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-controls {
    grid-column:3 !important;
    grid-row:2 !important;
    position:static !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    contain:layout paint !important;
    z-index:2 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-list {
    width:100% !important;
    max-width:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-build-button {
    width:100% !important;
    max-width:100% !important;
  }
}

/* Mobiele nieuwe-highscore modal: invoer en knoppen blijven boven de Top 10. */

@media (max-width:760px) {
  .fort-score-dialog .fort-score-modal {
    width:calc(100vw - 1.25rem) !important;
    max-width:calc(100vw - 1.25rem) !important;
    max-height:calc(100dvh - 1.25rem) !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:auto !important;
  }

  .fort-score-dialog .fort-guide-header {
    flex:0 0 auto !important;
  }

  .fort-score-dialog .fort-score-form {
    order:1 !important;
    flex:0 0 auto !important;
    position:relative !important;
    z-index:3 !important;
    gap:.55rem !important;
    margin:0 0 .65rem !important;
    padding-bottom:.55rem !important;
    border-bottom:1px solid rgba(255, 255, 255, .14) !important;
    background:linear-gradient(180deg, rgba(7, 16, 23, .98), rgba(7, 16, 23, .92)) !important;
  }

  .fort-score-dialog .fort-score-form p {
    font-size:.92rem !important;
    line-height:1.28 !important;
  }

  .fort-score-dialog .fort-score-form label {
    gap:.25rem !important;
    font-size:.95rem !important;
  }

  .fort-score-dialog .fort-score-form input {
    min-height:3rem !important;
    padding:.65rem .75rem !important;
    font-size:1rem !important;
  }

  .fort-score-dialog .fort-score-form .fort-dialog-actions {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:.5rem !important;
    position:relative !important;
    z-index:4 !important;
    margin-top:.1rem !important;
  }

  .fort-score-dialog .fort-score-form .fort-dialog-actions button {
    min-height:3rem !important;
    padding:.55rem .65rem !important;
    font-size:.92rem !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }

  .fort-score-dialog .fort-highscores--modal {
    order:2 !important;
    flex:0 0 auto !important;
    max-height:38dvh !important;
    overflow:auto !important;
    margin:0 !important;
    padding:.65rem !important;
    position:relative !important;
    z-index:1 !important;
  }

  .fort-score-dialog .fort-highscores--modal h3 {
    margin:0 0 .45rem !important;
    font-size:1rem !important;
  }

  .fort-score-dialog .fort-highscores--modal ol {
    max-height:none !important;
    overflow:visible !important;
  }

  .fort-score-dialog .fort-highscores--modal li {
    grid-template-columns:2rem minmax(0, 1fr) auto !important;
    gap:.45rem !important;
    padding:.55rem !important;
  }

  .fort-score-dialog .fort-highscores--modal li small {
    font-size:.76rem !important;
    line-height:1.25 !important;
  }
}

/* Scoreberekening zichtbaar in het selectie-paneel. */
.fort-score-breakdown {
  margin-top:.85rem;
  padding:.75rem;
  border:1px solid rgba(103, 215, 181, .34);
  border-radius:8px;
  background:linear-gradient(135deg, rgba(10, 34, 34, .92), rgba(7, 16, 23, .94));
}

.fort-score-breakdown h3 {
  margin:0 0 .55rem;
  color:#7df2cf;
  font-size:.95rem;
  line-height:1.15;
}

.fort-score-breakdown dl {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.45rem;
  margin:0;
}

.fort-score-breakdown div {
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  padding:.45rem .5rem;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:7px;
  background:rgba(255, 255, 255, .035);
}

.fort-score-breakdown dt {
  color:#cfe1ee;
  font-weight:800;
}

.fort-score-breakdown dd {
  margin:0;
  color:#fff;
  font-weight:950;
  text-align:right;
}

.fort-score-breakdown div:last-child {
  grid-column:1 / -1;
  border-color:rgba(103, 215, 181, .5);
  background:rgba(22, 99, 73, .35);
}


@media (max-width:760px) {
  .fort-score-breakdown {
    padding:.6rem;
  }

  .fort-score-breakdown dl {
    grid-template-columns:1fr;
    gap:.35rem;
  }

  .fort-score-breakdown h3 {
    font-size:.9rem;
  }
}

/* Meldingen blijven leesbaar zonder de layout te laten springen. */
.fort-play-column > .fort-log,
.fort-app.is-playing .fort-play-column > .fort-log {
  display:grid !important;
  grid-template-rows:auto minmax(0, 1fr) !important;
  height:6.35rem !important;
  min-height:6.35rem !important;
  max-height:6.35rem !important;
  overflow:hidden !important;
}

.fort-log-current {
  min-width:0 !important;
  min-height:0 !important;
  max-width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  display:block !important;
}

.fort-log-current p {
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
  height:100% !important;
  max-height:100% !important;
  margin:0 !important;
  line-height:1.32 !important;
  white-space:normal !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
}

.fort-log-current span {
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}

@media (min-width:1180px) {
  .fort-play-column > .fort-log,
  .fort-app.is-playing .fort-play-column > .fort-log {
    height:6rem !important;
    min-height:6rem !important;
    max-height:6rem !important;
  }
}


@media (max-width:760px) {
  body[data-page="frontier-fort"] .fort-play-column > .fort-log,
  .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    height:7.2rem !important;
    min-height:7.2rem !important;
    max-height:7.2rem !important;
  }

  body[data-page="frontier-fort"] .fort-log-current p,
  .fort-app.is-mobile-focus .fort-log-current p {
    font-size:.86rem !important;
    line-height:1.32 !important;
  }
}

@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    height:4.6rem !important;
    min-height:4.6rem !important;
    max-height:4.6rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current {
    display:block !important;
    min-height:0 !important;
    height:100% !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p {
    display:block !important;
    height:100% !important;
    max-height:100% !important;
    font-size:.58rem !important;
    line-height:1.2 !important;
    white-space:normal !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    text-overflow:clip !important;
    -webkit-line-clamp:unset !important;
  }
}
/* Lange statistiekwaarden zoals Spelstand en Record moeten op mobiel leesbaar blijven. */
.fort-stats-grid strong {
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.25;
}

@media (max-width:700px) {
  .fort-stats-grid {
    grid-template-columns:1fr;
  }

  .fort-stats-grid strong {
    font-size:clamp(1rem, 4.8vw, 1.18rem);
  }
}

/* Duidelijke scorevergelijking en gescheiden statistiekblokken. */
.fort-score-compare {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.75rem;
  margin:.75rem 0 1rem;
}
.fort-score-compare div,
.fort-stats-section {
  border:1px solid rgba(105, 232, 201, .28);
  border-radius:8px;
  background:linear-gradient(135deg, rgba(14, 77, 65, .42), rgba(6, 13, 19, .74));
}
.fort-score-compare div {
  padding:.8rem .9rem;
}
.fort-score-compare span,
.fort-stats-section > p {
  color:#d9e4ea;
}
.fort-score-compare span {
  display:block;
  font-weight:800;
  font-size:.88rem;
  margin-bottom:.25rem;
}
.fort-score-compare strong {
  display:block;
  color:#fff;
  font-size:clamp(1rem, 2.2vw, 1.18rem);
  line-height:1.25;
  overflow-wrap:anywhere;
}
.fort-stats-section {
  padding:.9rem;
  margin-top:.9rem;
}
.fort-stats-section h3 {
  margin:0 0 .35rem;
  color:#fff;
  font-size:clamp(1.05rem, 2vw, 1.25rem);
}
.fort-stats-section > p {
  margin:.15rem 0 .75rem;
  line-height:1.45;
}
.fort-rank-reasons {
  border-left:4px solid #69e8c9;
  padding:.75rem .9rem;
  background:rgba(105, 232, 201, .08);
  border-radius:8px;
}
@media (max-width:700px) {
  .fort-score-compare {
    grid-template-columns:1fr;
  }
  .fort-stats-section {
    padding:.75rem;
  }
}

/* Startscherm: Start Frontier Fort blijft de primaire actie; uitleg/gids zijn compacte hulpmiddelen. */
.fort-start-actions .fort-primary {
  grid-column:1 / -1;
}
.fort-start-actions .fort-secondary {
  min-width:0;
  padding-inline:1rem;
}
@media (min-width:760px) {
  .fort-start-actions {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .fort-start-actions .fort-primary {
    grid-column:1 / -1;
  }
}
@media (max-width:560px) {
  .fort-start-actions {
    grid-template-columns:1fr;
  }
}
/* Speluitleg: wapens en upgrades als compacte, leesbare levelkaarten. */
.fort-help-panel .fort-guide-grid {
  align-items:start;
}

.fort-weapon-card {
  overflow:hidden;
}

.fort-weapon-card summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  cursor:pointer;
  list-style:none;
}

.fort-weapon-card summary::-webkit-details-marker {
  display:none;
}

.fort-weapon-card summary span {
  display:grid;
  gap:.16rem;
  min-width:0;
}

.fort-weapon-card summary small {
  color:#d9e4ea;
  font-size:.82rem;
  font-weight:800;
}

.fort-weapon-card summary::after {
  content:"Open";
  flex:0 0 auto;
  border:1px solid rgba(105, 232, 201, .38);
  border-radius:999px;
  padding:.22rem .55rem;
  color:#69e8c9;
  background:rgba(105, 232, 201, .08);
  font-size:.78rem;
  font-weight:900;
}

.fort-weapon-card[open] summary::after {
  content:"Sluit";
}


.fort-level-details {
  display:grid;
  gap:.45rem;
  list-style:none;
  margin:.65rem 0 0;
  padding:0;
}

.fort-level-details li {
  display:grid;
  grid-template-columns:minmax(140px, 1.15fr) repeat(4, minmax(78px, .75fr)) minmax(130px, 1fr);
  gap:.35rem;
  align-items:stretch;
  border:1px solid rgba(211, 225, 233, .12);
  border-radius:8px;
  padding:.45rem;
  background:rgba(4, 13, 20, .58);
}

.fort-level-details li strong,
.fort-level-details li span {
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.25;
}

.fort-level-details li span {
  color:#d9e4ea;
  font-size:.82rem;
  font-weight:800;
}

.fort-level-details li strong {
  color:#fff;
  font-size:.86rem;
}

@media (max-width:900px) {
  .fort-level-details li {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:560px) {
  .fort-level-details li {
    grid-template-columns:1fr;
  }
}
/* Speluitleg: levelregels blijven leesbaar in plaats van als smalle tabel af te breken. */
.fort-level-details li {
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  align-items:stretch;
}

.fort-level-details li strong {
  grid-column:1 / -1;
  padding:.15rem 0 .25rem;
  color:#fff;
}

.fort-level-details li span {
  display:grid;
  gap:.12rem;
  border:1px solid rgba(211, 225, 233, .10);
  border-radius:7px;
  padding:.42rem .5rem;
  background:rgba(7, 18, 26, .72);
}

.fort-level-details li span b,
.fort-level-details li span em {
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
  font-style:normal;
  line-height:1.25;
}

.fort-level-details li span b {
  color:#69e8c9;
  font-size:.76rem;
  text-transform:uppercase;
}

.fort-level-details li span em {
  color:#f7fbff;
  font-size:.9rem;
  font-weight:900;
}

.fort-level-details li .fort-level-effect {
  grid-column:span 2;
}


@media (max-width:760px) {
  .fort-level-details li,
  .fort-level-details li .fort-level-effect {
    grid-template-columns:1fr !important;
    grid-column:auto;
  }
}
/* Startscherm: secundaire informatieknoppen vormen een rustige rij onder de primaire startknop. */
.fort-start-actions {
  grid-template-columns:repeat(4, minmax(0, 1fr));
  align-items:stretch;
}

.fort-start-actions .fort-primary {
  grid-column:1 / -1;
}

.fort-start-actions .fort-secondary {
  width:100%;
}

@media (max-width:900px) {
  .fort-start-actions {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:560px) {
  .fort-start-actions {
    grid-template-columns:1fr;
  }
}
/* Recordvak: subtiele herkomst zonder de scorekaart druk te maken. */
.fort-record-meta {
  display:block;
  margin-top:.35rem;
  color:#b9c9d1;
  font-size:clamp(.74rem, 1.6vw, .86rem);
  font-weight:800;
  line-height:1.25;
  overflow-wrap:anywhere;
}

@media (max-width:560px) {
  .fort-record-meta {
    font-size:.78rem;
  }
}
/* Rankknop wordt zichtbaar actiever zodra doorgaan mogelijk is. */
.fort-actions [data-next-rank].is-rank-ready {
  background:linear-gradient(135deg, #14945f, #0b6f55);
  border-color:rgba(105, 232, 201, .55);
  color:#fff;
  box-shadow:0 0 0 2px rgba(105, 232, 201, .12), 0 8px 20px rgba(0, 0, 0, .22);
}
/* Score opslaan: invoer blijft altijd boven de Top 10, de lijst scrolt apart. */
.fort-score-dialog .fort-score-modal {
  width:min(96vw, 56rem) !important;
  max-height:calc(100dvh - 1.5rem) !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0, 1fr) !important;
  overflow:hidden !important;
}

.fort-score-dialog .fort-guide-header {
  grid-row:1 !important;
  min-width:0 !important;
}

.fort-score-dialog .fort-score-form {
  grid-row:2 !important;
  min-width:0 !important;
  min-height:0 !important;
  position:relative !important;
  z-index:3 !important;
  margin:0 !important;
  padding:clamp(.7rem, 1.6vw, 1rem) !important;
  border-bottom:1px solid rgba(103, 215, 181, .22) !important;
  background:linear-gradient(180deg, rgba(7, 16, 23, .99), rgba(7, 16, 23, .94)) !important;
}

.fort-score-dialog .fort-score-form p {
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}

.fort-score-dialog .fort-score-form input {
  position:relative !important;
  z-index:4 !important;
  min-height:2.9rem !important;
}

.fort-score-dialog .fort-score-form .fort-dialog-actions {
  position:relative !important;
  z-index:4 !important;
}

.fort-score-dialog .fort-highscores--modal {
  grid-row:3 !important;
  min-height:0 !important;
  max-height:none !important;
  display:grid !important;
  grid-template-rows:auto minmax(0, 1fr) !important;
  overflow:hidden !important;
  margin:0 !important;
  position:relative !important;
  z-index:1 !important;
}

.fort-score-dialog .fort-highscores--modal h3 {
  margin:0 0 .55rem !important;
}

.fort-score-dialog .fort-highscores--modal ol {
  min-height:0 !important;
  max-height:100% !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  padding-right:.2rem !important;
}

@media (max-width:760px), (max-height:540px) {
  .fort-score-dialog {
    padding:.5rem !important;
    align-items:start !important;
  }

  .fort-score-dialog .fort-score-modal {
    width:calc(100vw - 1rem) !important;
    max-width:calc(100vw - 1rem) !important;
    max-height:calc(100dvh - 1rem) !important;
  }

  .fort-score-dialog .fort-guide-header {
    padding:.7rem .8rem !important;
  }

  .fort-score-dialog .fort-guide-header h2 {
    font-size:1.35rem !important;
  }

  .fort-score-dialog .fort-score-form {
    gap:.5rem !important;
    padding:.65rem .75rem !important;
  }

  .fort-score-dialog .fort-score-form p {
    font-size:.88rem !important;
    line-height:1.25 !important;
  }

  .fort-score-dialog .fort-score-form label {
    gap:.22rem !important;
    font-size:.9rem !important;
  }

  .fort-score-dialog .fort-score-form input {
    min-height:2.65rem !important;
    padding:.55rem .65rem !important;
    font-size:1rem !important;
  }

  .fort-score-dialog .fort-score-form .fort-dialog-actions {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:.45rem !important;
  }

  .fort-score-dialog .fort-score-form .fort-dialog-actions button {
    min-height:2.65rem !important;
    padding:.45rem .5rem !important;
    font-size:.86rem !important;
    line-height:1.05 !important;
    white-space:normal !important;
  }

  .fort-score-dialog .fort-highscores--modal {
    padding:.6rem .75rem !important;
  }

  .fort-score-dialog .fort-highscores--modal li {
    grid-template-columns:1.85rem minmax(0, 1fr) auto !important;
    gap:.38rem .5rem !important;
    padding:.48rem !important;
  }

  .fort-score-dialog .fort-highscores--modal li small {
    font-size:.72rem !important;
    line-height:1.22 !important;
  }
}
/* iPad fullscreen: statistieken blijven leesbaar en scrollbaar in de middenkolom. */
@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-under-board {
    min-height:0 !important;
    grid-template-rows:auto minmax(0, 1fr) !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-selection {
    min-height:0 !important;
    height:100% !important;
    max-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    padding:.42rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-panel {
    min-width:0 !important;
    max-width:100% !important;
    padding:0 0 .75rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-panel > h2 {
    margin:0 0 .28rem !important;
    font-size:.78rem !important;
    line-height:1.12 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-panel > p,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-section > p {
    margin:.12rem 0 .36rem !important;
    font-size:.56rem !important;
    line-height:1.22 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-section {
    margin-top:.42rem !important;
    padding:.42rem !important;
    overflow:hidden !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-section h3 {
    margin:0 0 .22rem !important;
    font-size:.68rem !important;
    line-height:1.12 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-grid {
    grid-template-columns:1fr !important;
    gap:.28rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-grid div {
    padding:.34rem .38rem !important;
    min-width:0 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-grid span {
    font-size:.52rem !important;
    line-height:1.15 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-stats-grid strong {
    margin-top:.12rem !important;
    font-size:.66rem !important;
    line-height:1.18 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
}
/* Statistieken is een echte actieknop: duidelijk klikbaar in normaal spel en fullscreen. */
.fort-actions button[data-show-stats] {
  background:linear-gradient(135deg, #1f65b7, #0a84ff) !important;
  border-color:rgba(127, 199, 255, .68) !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(10, 132, 255, .18), inset 0 1px 0 rgba(255, 255, 255, .16) !important;
}

.fort-actions button[data-show-stats]:hover,
.fort-actions button[data-show-stats]:focus-visible {
  background:linear-gradient(135deg, #2b78cf, #1592ff) !important;
  border-color:rgba(160, 216, 255, .9) !important;
  transform:translateY(-1px);
}

.fort-actions button[data-show-stats]:active {
  transform:translateY(0);
}

.fort-actions button[data-show-stats]:disabled {
  background:#263d63 !important;
  border-color:rgba(255, 255, 255, .18) !important;
  box-shadow:none !important;
  transform:none;
}
/* Startscherm: vaste spelcombinaties als duidelijke keuzekaarten. */
.fort-start-grid--combo {
  max-width:1080px;
  margin:0 auto;
  padding:1rem;
}

.fort-combo-picker {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.85rem;
}

.fort-combo-card {
  position:relative;
  display:block;
  min-width:0;
  cursor:pointer;
}

.fort-combo-card input {
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}

.fort-combo-card span {
  display:grid;
  gap:.4rem;
  min-height:8.4rem;
  padding:1rem;
  border:1px solid rgba(103, 215, 181, .24);
  border-radius:10px;
  background:linear-gradient(145deg, rgba(35, 65, 84, .78), rgba(7, 18, 26, .9));
  color:#e7f0f5;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 14px 32px rgba(0,0,0,.18);
  transition:border-color .16s ease, transform .16s ease, background .16s ease, box-shadow .16s ease;
}

.fort-combo-card strong {
  color:#fff;
  font-size:1.22rem;
  line-height:1.1;
}

.fort-combo-card em {
  color:#7df2cf;
  font-style:normal;
  font-weight:950;
}

.fort-combo-card small {
  color:#c6d6df;
  font-size:.88rem;
  line-height:1.35;
}

.fort-combo-card input:checked + span {
  border-color:#67d7b5;
  background:linear-gradient(145deg, rgba(18, 103, 76, .92), rgba(8, 36, 36, .94));
  box-shadow:0 0 0 3px rgba(103, 215, 181, .14), inset 0 1px 0 rgba(255,255,255,.1), 0 18px 38px rgba(0,0,0,.22);
}

.fort-combo-card input:focus-visible + span,
.fort-combo-card:hover span {
  border-color:#7df2cf;
  transform:translateY(-1px);
}

.fort-start-actions {
  margin-top:1.15rem;
}

.fort-start-actions .fort-primary {
  min-height:3.35rem;
  font-size:1.02rem;
  box-shadow:0 16px 34px rgba(24, 144, 255, .18);
}

.fort-start > .fort-highscores {
  margin-top:1.15rem;
}

@media (max-width: 760px) {
  .fort-combo-picker {
    grid-template-columns:1fr;
  }

  .fort-combo-card span {
    min-height:auto;
  }
}
/* Speluitleg 2.0: zoekbaar, filterbaar en breed leesbaar. */
.fort-help-panel {
  display:grid;
  gap:1rem;
}

.fort-help-panel > p {
  max-width:78ch;
  margin:0;
  color:#dbe9ef;
  font-size:1rem;
  line-height:1.55;
}

.fort-help-tools {
  position:sticky;
  top:0;
  z-index:4;
  display:grid;
  grid-template-columns:minmax(220px, 1fr) auto;
  gap:.75rem;
  align-items:end;
  padding:.75rem;
  border:1px solid rgba(103, 215, 181, .26);
  border-radius:10px;
  background:linear-gradient(135deg, rgba(6, 18, 26, .98), rgba(8, 45, 42, .94));
  box-shadow:0 14px 28px rgba(0,0,0,.22);
}

.fort-help-tools label {
  display:grid;
  gap:.35rem;
  min-width:0;
  color:#7df2cf;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
}

.fort-help-tools input {
  width:100%;
  min-height:2.65rem;
  border:1px solid rgba(103, 215, 181, .34);
  border-radius:8px;
  padding:.65rem .8rem;
  background:#07121a;
  color:#f7fbff;
  font:inherit;
  font-weight:800;
}

.fort-help-tools input::placeholder {
  color:#91a8b4;
}

.fort-help-filters {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  justify-content:flex-end;
}

.fort-help-filters button {
  min-height:2.45rem;
  border:1px solid rgba(103, 215, 181, .28);
  border-radius:999px;
  padding:.45rem .78rem;
  background:#102434;
  color:#dbe9ef;
  font-size:.84rem;
  font-weight:950;
  cursor:pointer;
}

.fort-help-filters button.is-active,
.fort-help-filters button:hover,
.fort-help-filters button:focus-visible {
  border-color:#67d7b5;
  background:#116246;
  color:#fff;
}

.fort-help-panel .fort-help-sections,
.fort-help-panel .fort-guide-grid {
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap:.9rem;
}

.fort-help-panel .fort-guide-card {
  display:flex;
  flex-direction:column;
  gap:.65rem;
  min-width:0;
  padding:1rem;
  border-color:rgba(103, 215, 181, .30);
  background:linear-gradient(145deg, rgba(14, 55, 52, .82), rgba(5, 15, 23, .92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 14px 30px rgba(0,0,0,.16);
}

.fort-help-panel .fort-guide-card h3 {
  margin:0;
  line-height:1.2;
}

.fort-help-panel .fort-guide-card h3 span {
  display:grid;
  gap:.16rem;
  color:#7df2cf;
  font-size:1rem;
}

.fort-help-panel .fort-guide-card h3 small {
  color:#c8d9e2;
  font-size:.78rem;
  font-weight:850;
}

.fort-help-panel .fort-guide-card p {
  margin:0;
  color:#edf6f9;
  line-height:1.48;
}

.fort-help-panel .fort-guide-card dl {
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:.5rem;
  margin:0;
}

.fort-help-panel .fort-guide-card dl div {
  min-width:0;
  padding:.6rem .65rem;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(4, 13, 20, .72);
}

.fort-help-panel .fort-guide-card dd {
  overflow-wrap:anywhere;
  line-height:1.32;
}

.fort-help-group {
  display:grid;
  gap:.75rem;
}

.fort-help-panel .fort-help-heading {
  margin:.5rem 0 0;
  padding-top:.35rem;
  border-top:1px solid rgba(103, 215, 181, .18);
  color:#7df2cf;
  font-size:1.16rem;
}

.fort-help-group > p {
  max-width:86ch;
  margin:0;
  color:#dbe9ef;
  line-height:1.5;
}

.fort-help-item[hidden],
.fort-help-group[hidden] {
  display:none !important;
}


.fort-help-panel .fort-level-details li {
  grid-template-columns:repeat(auto-fit, minmax(155px, 1fr)) !important;
}

.fort-help-panel .fort-level-details li strong {
  grid-column:1 / -1;
}

@media (max-width: 820px) {
  .fort-help-tools {
    position:static;
    grid-template-columns:1fr;
  }

  .fort-help-filters {
    justify-content:flex-start;
  }
}

@media (max-width: 520px) {
  .fort-help-tools {
    padding:.65rem;
  }

  .fort-help-filters button {
    flex:1 1 calc(50% - .45rem);
  }

  .fort-help-panel .fort-guide-card {
    padding:.82rem;
  }
}


/* Frontier Fort: speluitleg mag niet achter de zoek/filterbalk verdwijnen. */
.fort-help-tools {
  position:static;
  top:auto;
  z-index:auto;
}

.fort-help-panel {
  scroll-padding-top:0;
  padding-bottom:1rem;
}

.fort-help-panel .fort-help-sections,
.fort-help-panel .fort-help-group {
  scroll-margin-top:1rem;
}

.fort-aura-influence {
  display:grid;
  gap:.55rem;
  margin:.75rem 0;
  padding:.8rem;
  border:1px solid rgba(103, 215, 181, .34);
  border-radius:8px;
  background:linear-gradient(135deg, rgba(10, 57, 50, .82), rgba(4, 14, 21, .92));
}

.fort-aura-influence h3 {
  margin:0;
  color:#7df2cf;
  font-size:1rem;
}

.fort-aura-influence p {
  margin:0;
  color:#dbe9ef;
  line-height:1.45;
}

.fort-aura-influence dl {
  display:grid;
  grid-template-columns:1fr;
  gap:.45rem;
  margin:0;
}

.fort-aura-influence dl div {
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(0, .8fr);
  gap:.5rem;
  align-items:center;
  padding:.55rem .65rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:7px;
  background:rgba(4, 13, 20, .78);
}

.fort-aura-influence dt {
  color:#dbe9ef;
  font-weight:850;
  overflow-wrap:anywhere;
}

.fort-aura-influence dd {
  margin:0;
  color:#7df2cf;
  font-weight:950;
  text-align:right;
}

@media (max-width: 560px) {
  .fort-aura-influence dl div {
    grid-template-columns:1fr;
  }

  .fort-aura-influence dd {
    text-align:left;
  }
}


/* Frontier Fort: voorkom overlap in selectiekaarten met lange waarden. */
.fort-selection dl div,
.fort-aura-influence dl div {
  align-items:flex-start;
  gap:.45rem;
}
.fort-selection dt,
.fort-aura-influence dt {
  flex:0 0 auto;
  max-width:42%;
  line-height:1.25;
}
.fort-selection dd,
.fort-aura-influence dd {
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
  white-space:normal;
  line-height:1.25;
  text-align:right;
}
.fort-selection dl div:has(dd:nth-child(2)),
.fort-aura-influence dl div:has(dd:nth-child(2)) {
  min-width:0;
}
@media (max-width:1180px), (orientation:portrait) {
  .fort-selection dl,
  .fort-aura-influence dl {
    grid-template-columns:1fr;
  }
  .fort-selection dt,
  .fort-aura-influence dt {
    max-width:none;
  }
  .fort-selection dd,
  .fort-aura-influence dd {
    text-align:left;
  }
}
.fort-app.is-fullscreen .fort-selection dl div,
.fort-app.is-fullscreen .fort-aura-influence dl div {
  min-height:auto;
}
.fort-app.is-fullscreen .fort-selection dd,
.fort-app.is-fullscreen .fort-aura-influence dd {
  font-size:clamp(.78rem, .72rem + .18vw, .95rem);
}


/* Frontier Fort: selectie-stats blijven leesbaar met lange omschrijvingen. */
.fort-selection dl div,
.fort-aura-influence dl div {
  display:grid !important;
  grid-template-columns:minmax(5.75rem, .42fr) minmax(0, 1fr) !important;
  align-items:start !important;
  column-gap:.65rem !important;
}
.fort-selection dt,
.fort-aura-influence dt,
.fort-selection dd,
.fort-aura-influence dd {
  min-width:0 !important;
  max-width:none !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  white-space:normal !important;
  line-height:1.25 !important;
}
.fort-selection dd,
.fort-aura-influence dd {
  text-align:right !important;
}
@media (max-width:1180px), (orientation:portrait) {
  .fort-selection dl div,
  .fort-aura-influence dl div {
    grid-template-columns:1fr !important;
    row-gap:.2rem !important;
  }
  .fort-selection dd,
  .fort-aura-influence dd {
    text-align:left !important;
  }
}

/* Laatste melding: vaste hoogte, geen interne scroll; volledige tekst via Logboek. */
.fort-log-current p {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:end !important;
  gap:.45rem .7rem !important;
  overflow:hidden !important;
  overflow-y:hidden !important;
}

.fort-log-summary {
  min-width:0 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  overflow-wrap:anywhere !important;
}

.fort-log-summary .fort-log-facts {
  margin-top:.32rem !important;
  gap:.3rem !important;
}

.fort-log-summary .fort-log-fact {
  min-height:1.35rem !important;
  padding:.18rem .38rem !important;
  font-size:.78rem !important;
}

.fort-log-more {
  appearance:none !important;
  align-self:end !important;
  border:1px solid rgba(103, 215, 181, .58) !important;
  border-radius:999px !important;
  background:rgba(103, 215, 181, .14) !important;
  color:#9bf3d8 !important;
  cursor:pointer !important;
  font:inherit !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  padding:.42rem .58rem !important;
  white-space:nowrap !important;
}

.fort-log-more:hover,
.fort-log-more:focus-visible {
  background:rgba(103, 215, 181, .24) !important;
  border-color:#67d7b5 !important;
  outline:2px solid rgba(103, 215, 181, .28) !important;
  outline-offset:2px !important;
}

.fort-log-history li.is-log-target {
  border-color:#67d7b5 !important;
  box-shadow:0 0 0 2px rgba(103, 215, 181, .34), 0 0 26px rgba(103, 215, 181, .18) !important;
  animation:fortLogTargetPulse 1.4s ease-out 1 !important;
}

@keyframes fortLogTargetPulse {
  0% { background:rgba(103, 215, 181, .22); }
  100% { background:rgba(255,255,255,.05); }
}


@media (max-width:760px) {
  .fort-log-current p {
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:.42rem !important;
  }

  .fort-log-summary {
    -webkit-line-clamp:3 !important;
  }

  .fort-log-more {
    justify-self:start !important;
    font-size:.76rem !important;
    padding:.38rem .55rem !important;
  }
}

@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p {
    overflow:hidden !important;
    overflow-y:hidden !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    gap:.3rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-summary {
    -webkit-line-clamp:2 !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-more {
    font-size:.52rem !important;
    padding:.24rem .38rem !important;
  }
}

/* Meer-info melding: samenvatting zichtbaar en knop klikbaar ondanks oude hover-fixes. */
.fort-play-column > .fort-log .fort-log-current,
.fort-play-column > .fort-log .fort-log-current p,
.fort-play-column > .fort-log .fort-log-summary,
.fort-play-column > .fort-log .fort-log-more {
  pointer-events:auto !important;
}

.fort-log-current .fort-log-summary {
  min-width:0 !important;
  color:#f6fbff !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  overflow-wrap:anywhere !important;
}

.fort-log-current .fort-log-summary > strong,
.fort-log-current .fort-log-summary .fort-log-facts,
.fort-log-current .fort-log-summary .fort-log-fact,
.fort-log-current .fort-log-summary .fort-log-fact b,
.fort-log-current .fort-log-summary .fort-log-fact em {
  display:revert !important;
}

.fort-log-current .fort-log-summary .fort-log-facts {
  display:flex !important;
}


@media (max-width:760px) {
  .fort-log-current .fort-log-summary {
    -webkit-line-clamp:3 !important;
  }
}

@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-summary {
    -webkit-line-clamp:2 !important;
  }
}

/* Laatste melding visueel centreren en beter leesbaar maken. */
.fort-log-current p {
  align-items:center !important;
  min-height:3.15rem !important;
  padding:.62rem .78rem !important;
}

.fort-log-current .fort-log-summary {
  align-self:center !important;
  font-size:clamp(.9rem, .84rem + .22vw, 1.04rem) !important;
  line-height:1.34 !important;
}

.fort-log-current .fort-log-summary > strong {
  margin-right:.5rem !important;
}

.fort-log-more {
  align-self:center !important;
  font-size:.82rem !important;
  padding:.45rem .68rem !important;
}


@media (max-width:760px) {
  .fort-log-current p {
    min-height:4rem !important;
    padding:.62rem .68rem !important;
  }

  .fort-log-current .fort-log-summary {
    font-size:.88rem !important;
    line-height:1.3 !important;
  }
}

@media (hover:none) and (pointer:coarse) and (min-width:760px) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p {
    align-items:center !important;
    min-height:0 !important;
    padding:.34rem .46rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-summary {
    font-size:.62rem !important;
    line-height:1.18 !important;
  }
}

/* Frontier Fort final polish: highscores en meldingsbalk. */
.fort-app .fort-highscores ol,
.fort-app .fort-score-history {
  display:grid !important;
  gap:.55rem !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.fort-app .fort-highscores li,
.fort-app .fort-score-history li {
  display:grid !important;
  grid-template-columns:2.35rem minmax(0, 1fr) auto !important;
  gap:.35rem .85rem !important;
  align-items:center !important;
  min-height:3.6rem !important;
  padding:.7rem .85rem !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:9px !important;
  background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  color:#f7fbff !important;
}

.fort-app .fort-highscores li.is-empty,
.fort-app .fort-score-history li.is-empty {
  grid-template-columns:1fr !important;
  text-align:center !important;
  color:#dce9f2 !important;
}

.fort-app .fort-score-rank {
  display:grid !important;
  place-items:center !important;
  width:2rem !important;
  height:2rem !important;
  border-radius:999px !important;
  background:#67d7b5 !important;
  color:#061219 !important;
  font-weight:950 !important;
  line-height:1 !important;
}

.fort-app .fort-highscores li strong,
.fort-app .fort-score-history li strong {
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  font-size:1rem !important;
  line-height:1.15 !important;
}

.fort-app .fort-highscores li em,
.fort-app .fort-score-history li em {
  justify-self:end !important;
  color:#7df2cf !important;
  font-style:normal !important;
  font-weight:950 !important;
  font-size:1.08rem !important;
  line-height:1.1 !important;
}

.fort-app .fort-highscores li small,
.fort-app .fort-score-history li small {
  grid-column:2 / -1 !important;
  color:#cfe1ee !important;
  font-size:.8rem !important;
  font-weight:750 !important;
  line-height:1.35 !important;
}

.fort-highscore-search {
  display:grid;
  gap:.3rem;
  margin:.4rem 0 .8rem;
  color:#dce9f2;
  font-weight:850;
}

.fort-highscore-search span {
  font-size:.82rem;
  color:#7df2cf;
  text-transform:uppercase;
  letter-spacing:0;
}

.fort-highscore-search input {
  width:100%;
  border:1px solid rgba(103, 215, 181, .36);
  border-radius:8px;
  background:#071017;
  color:#f7fbff;
  padding:.7rem .8rem;
  font:inherit;
  font-weight:800;
}

.fort-app.is-fullscreen .fort-log-current p,
.fort-app:fullscreen .fort-log-current p,
.fort-app:-webkit-full-screen .fort-log-current p {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  gap:.75rem !important;
  align-items:center !important;
}

.fort-app.is-fullscreen .fort-log-current .fort-log-summary,
.fort-app:fullscreen .fort-log-current .fort-log-summary,
.fort-app:-webkit-full-screen .fort-log-current .fort-log-summary {
  display:-webkit-box !important;
  min-width:0 !important;
  max-width:100% !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  color:#f7fbff !important;
  opacity:1 !important;
  visibility:visible !important;
}

.fort-app.is-fullscreen .fort-log-more,
.fort-app:fullscreen .fort-log-more,
.fort-app:-webkit-full-screen .fort-log-more {
  white-space:nowrap !important;
}

@media (max-width:760px) {
  .fort-app .fort-highscores li,
  .fort-app .fort-score-history li {
    grid-template-columns:2rem minmax(0, 1fr) auto !important;
    padding:.6rem !important;
  }

  .fort-app .fort-highscores li small,
  .fort-app .fort-score-history li small {
    font-size:.74rem !important;
  }

  .fort-highscore-filters {
    grid-template-columns:1fr !important;
  }
}
/* Highscore-modal: vaste controls, alleen de lijst scrollt. */
.fort-all-scores-dialog .fort-score-modal {
  display:flex !important;
  flex-direction:column !important;
  width:min(96vw, 60rem) !important;
  max-height:min(88dvh, 50rem) !important;
  overflow:hidden !important;
}

.fort-all-scores-dialog .fort-guide-header {
  flex:0 0 auto !important;
}

.fort-all-scores-dialog .fort-highscore-filters,
.fort-all-scores-dialog .fort-highscore-count,
.fort-all-scores-dialog .fort-highscore-search {
  flex:0 0 auto !important;
  position:static !important;
  z-index:auto !important;
  margin-left:1rem !important;
  margin-right:1rem !important;
}

.fort-all-scores-dialog .fort-highscore-filters {
  margin-top:.9rem !important;
  margin-bottom:.7rem !important;
}

.fort-all-scores-dialog .fort-highscore-count {
  display:block !important;
  margin-top:0 !important;
  margin-bottom:.65rem !important;
  line-height:1.35 !important;
  overflow-wrap:anywhere !important;
}

.fort-all-scores-dialog .fort-highscore-search {
  margin-top:0 !important;
  margin-bottom:.8rem !important;
}

.fort-all-scores-dialog .fort-highscore-search input {
  display:block !important;
  min-height:3rem !important;
}

.fort-all-scores-dialog .fort-score-history {
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  margin:0 1rem 1rem !important;
  padding-right:.35rem !important;
}

@media (max-width:760px) {
  .fort-all-scores-dialog .fort-score-modal {
    width:calc(100vw - 1rem) !important;
    max-height:calc(100dvh - 1rem) !important;
  }

  .fort-all-scores-dialog .fort-highscore-filters,
  .fort-all-scores-dialog .fort-highscore-count,
  .fort-all-scores-dialog .fort-highscore-search,
  .fort-all-scores-dialog .fort-score-history {
    margin-left:.65rem !important;
    margin-right:.65rem !important;
  }
}
/* Highscorekaarten: metadata blijft binnen de kaart. */
.fort-app .fort-highscores li,
.fort-app .fort-score-history li {
  grid-template-rows:auto auto !important;
  align-items:start !important;
  min-height:4.25rem !important;
  padding:.78rem .9rem .82rem !important;
}

.fort-app .fort-score-rank {
  grid-row:1 / span 2 !important;
  align-self:start !important;
}

.fort-app .fort-highscores li small,
.fort-app .fort-score-history li small {
  align-self:start !important;
  margin-top:.08rem !important;
  padding-bottom:.05rem !important;
  overflow-wrap:anywhere !important;
}

.fort-start > .fort-highscores li {
  min-height:4.25rem !important;
}
/* Highscorekaartjes: naam, score en metadata blijven altijd binnen de kaart. */
.fort-app .fort-highscores li:not(.is-empty),
.fort-app .fort-score-history li:not(.is-empty) {
  grid-template-columns:2.45rem minmax(0, 1fr) max-content !important;
  grid-template-rows:auto auto !important;
  row-gap:.22rem !important;
  align-items:start !important;
  min-height:4.7rem !important;
  overflow:hidden !important;
}

.fort-app .fort-highscores li strong,
.fort-app .fort-score-history li strong {
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}

.fort-app .fort-highscores li em,
.fort-app .fort-score-history li em {
  grid-column:3 !important;
  grid-row:1 !important;
  align-self:start !important;
  white-space:nowrap !important;
}

.fort-app .fort-highscores li small,
.fort-app .fort-score-history li small {
  grid-column:2 / 4 !important;
  grid-row:2 !important;
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  line-height:1.32 !important;
}

@media (max-width:560px) {
  .fort-app .fort-highscores li:not(.is-empty),
  .fort-app .fort-score-history li:not(.is-empty) {
    grid-template-columns:2.2rem minmax(0, 1fr) !important;
    min-height:5.2rem !important;
  }

  .fort-app .fort-highscores li em,
  .fort-app .fort-score-history li em {
    grid-column:2 !important;
    grid-row:2 !important;
    justify-self:start !important;
  }

  .fort-app .fort-highscores li small,
  .fort-app .fort-score-history li small {
    grid-column:2 !important;
    grid-row:3 !important;
  }
}

/* Startscherm: houd de hervatknop in de layout, ook zonder opgeslagen spel. */
.fort-start-actions button:disabled,
.fort-start-actions button[aria-disabled="true"] {
  opacity:.58;
  cursor:not-allowed;
  filter:saturate(.72);
  box-shadow:none;
}

/* Headerstatus: toon zinvolle start- en runinformatie zonder overlap. */
.fort-live {
  flex-basis:clamp(320px, 34vw, 460px);
  max-width:min(100%, 460px);
}

.fort-live strong {
  font-size:clamp(.98rem, 1.2vw, 1.15rem);
  overflow-wrap:normal;
  word-break:normal;
}

@media (max-width:720px) {
  .fort-live {
    flex-basis:100%;
    min-width:0;
    text-align:left;
  }

  .fort-live strong {
    overflow-wrap:anywhere;
  }
}

/* Frontier Fort: mobiele meldingen blijven leesbaar en tonen altijd tekst plus Meer info. */
.fort-log-current p {
  min-height:3.25rem !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  gap:.65rem !important;
  align-items:center !important;
}

.fort-log-current .fort-log-summary {
  display:-webkit-box !important;
  min-width:0 !important;
  max-width:100% !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  line-height:1.35 !important;
  color:#f7fbff !important;
  opacity:1 !important;
  visibility:visible !important;
}

.fort-log-current .fort-log-more {
  flex:0 0 auto !important;
  align-self:center !important;
  min-width:max-content !important;
  padding:.45rem .7rem !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  line-height:1.1 !important;
}

@media (max-width:760px) {
  .fort-log-current p,
  .fort-app.is-fullscreen .fort-log-current p,
  .fort-app:fullscreen .fort-log-current p,
  .fort-app:-webkit-full-screen .fort-log-current p,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p {
    min-height:4.35rem !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    gap:.55rem !important;
    padding:.55rem .55rem .55rem .75rem !important;
  }

  .fort-log-current .fort-log-summary,
  .fort-app.is-fullscreen .fort-log-current .fort-log-summary,
  .fort-app:fullscreen .fort-log-current .fort-log-summary,
  .fort-app:-webkit-full-screen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-summary {
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    overflow:hidden !important;
    font-size:.9rem !important;
    line-height:1.3 !important;
  }

  .fort-log-current .fort-log-more,
  .fort-app.is-fullscreen .fort-log-current .fort-log-more,
  .fort-app:fullscreen .fort-log-current .fort-log-more,
  .fort-app:-webkit-full-screen .fort-log-current .fort-log-more {
    padding:.42rem .58rem !important;
    font-size:.78rem !important;
    max-width:6.8rem !important;
  }
}

@media (max-width:420px) {
  .fort-log-current p,
  .fort-app.is-fullscreen .fort-log-current p,
  .fort-app:fullscreen .fort-log-current p,
  .fort-app:-webkit-full-screen .fort-log-current p {
    grid-template-columns:minmax(0, 1fr) !important;
    min-height:5.4rem !important;
  }

  .fort-log-current .fort-log-more,
  .fort-app.is-fullscreen .fort-log-current .fort-log-more,
  .fort-app:fullscreen .fort-log-current .fort-log-more,
  .fort-app:-webkit-full-screen .fort-log-current .fort-log-more {
    justify-self:start !important;
  }
}

/* Frontier Fort mobile notice final override 2026-07-02 */
@media (max-width:760px), (hover:none) and (pointer:coarse) {
  body[data-page="frontier-fort"] .fort-play-column > .fort-log {
    overflow:visible !important;
    padding:.56rem .62rem !important;
  }

  body[data-page="frontier-fort"] .fort-log-current {
    min-height:0 !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"] .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app:-webkit-full-screen .fort-log-current p,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p {
    width:100% !important;
    min-height:5.25rem !important;
    max-height:none !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) !important;
    grid-template-rows:auto auto !important;
    align-items:start !important;
    justify-items:stretch !important;
    gap:.46rem !important;
    padding:.62rem .68rem .62rem .82rem !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  body[data-page="frontier-fort"] .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app:-webkit-full-screen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-summary {
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    min-height:3.35rem !important;
    max-height:3.95rem !important;
    overflow:hidden !important;
    font-size:.94rem !important;
    line-height:1.27 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  body[data-page="frontier-fort"] .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"] .fort-app:-webkit-full-screen .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-more {
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;
    justify-self:start !important;
    align-self:start !important;
    min-width:7.6rem !important;
    max-width:100% !important;
    min-height:2rem !important;
    padding:.48rem .72rem !important;
    font-size:.82rem !important;
    line-height:1.1 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  body[data-page="frontier-fort"] .fort-log-current > span,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current > span,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current > span {
    display:none !important;
  }
}

@media (hover:none) and (pointer:coarse) and (orientation:landscape) {
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-play-column > .fort-log {
    margin:.4rem 0 .5rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current p {
    min-height:4.35rem !important;
    grid-template-columns:minmax(0, 1fr) auto !important;
    grid-template-rows:auto !important;
    align-items:center !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current .fort-log-summary {
    -webkit-line-clamp:2 !important;
    min-height:2.45rem !important;
    max-height:3rem !important;
  }

  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current .fort-log-more {
    justify-self:end !important;
    min-width:6.8rem !important;
    font-size:.78rem !important;
  }
}

/* Frontier Fort iPhone notice readability override 2026-07-02 */
@media (max-width:760px), (hover:none) and (pointer:coarse) {
  body[data-page="frontier-fort"] .fort-play-column > .fort-log,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-play-column > .fort-log,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-play-column > .fort-log,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-play-column > .fort-log {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"] .fort-log-current,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"] .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app:-webkit-full-screen .fort-log-current p,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p {
    height:auto !important;
    min-height:6.25rem !important;
    max-height:none !important;
    grid-template-columns:minmax(0, 1fr) !important;
    grid-template-rows:minmax(0, auto) auto !important;
    padding:.68rem .72rem .72rem .82rem !important;
    overflow:visible !important;
    font-size:.88rem !important;
    line-height:1.24 !important;
    font-weight:800 !important;
    text-size-adjust:100% !important;
    -webkit-text-size-adjust:100% !important;
  }

  body[data-page="frontier-fort"] .fort-log-current p *,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current p *,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current p *,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p * {
    font-size:inherit !important;
    line-height:inherit !important;
    max-width:100% !important;
  }

  body[data-page="frontier-fort"] .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app:-webkit-full-screen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-summary {
    min-height:3.35rem !important;
    max-height:3.35rem !important;
    -webkit-line-clamp:3 !important;
    font-size:.88rem !important;
    line-height:1.24 !important;
    font-weight:800 !important;
  }

  body[data-page="frontier-fort"] .fort-log-current .fort-log-summary > strong,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current .fort-log-summary > strong,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current .fort-log-summary > strong,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-summary > strong {
    display:inline !important;
    margin-right:.35rem !important;
    font-size:.78rem !important;
    letter-spacing:.02em !important;
  }

  body[data-page="frontier-fort"] .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"] .fort-app:-webkit-full-screen .fort-log-current .fort-log-more,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-more {
    position:static !important;
    width:auto !important;
    min-width:7.25rem !important;
    min-height:2.1rem !important;
    margin:0 !important;
    transform:none !important;
    font-size:.82rem !important;
    line-height:1 !important;
    z-index:2 !important;
  }
}

@media (max-width:420px) {
  body[data-page="frontier-fort"] .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current p,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current p,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current p {
    min-height:6.65rem !important;
    font-size:.84rem !important;
  }

  body[data-page="frontier-fort"] .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app.is-fullscreen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"] .fort-app:fullscreen .fort-log-current .fort-log-summary,
  body[data-page="frontier-fort"].fort-mobile-focus .fort-app.is-mobile-focus .fort-log-current .fort-log-summary {
    font-size:.84rem !important;
  }
}
/* Frontier Fort normal mobile notice button override 2026-07-02 */
@media (max-width:760px), (hover:none) and (pointer:coarse) {
  body[data-page="frontier-fort"] .fort-app:not(.is-fullscreen) .fort-play-column > .fort-log {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"] .fort-app:not(.is-fullscreen) .fort-log-current {
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"] .fort-app:not(.is-fullscreen) .fort-log-current p {
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(3.3rem, auto) 2.35rem !important;
    gap:.52rem !important;
    align-items:start !important;
    height:auto !important;
    min-height:6.6rem !important;
    max-height:none !important;
    padding:.78rem .78rem .82rem .9rem !important;
    overflow:visible !important;
  }

  body[data-page="frontier-fort"] .fort-app:not(.is-fullscreen) .fort-log-current .fort-log-summary {
    display:-webkit-box !important;
    min-height:3.3rem !important;
    max-height:3.3rem !important;
    overflow:hidden !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    white-space:normal !important;
    text-overflow:ellipsis !important;
    font-size:clamp(.9rem, 3.6vw, 1rem) !important;
    line-height:1.22 !important;
    font-weight:850 !important;
  }

  body[data-page="frontier-fort"] .fort-app:not(.is-fullscreen) .fort-log-current .fort-log-more {
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    justify-self:start !important;
    align-self:center !important;
    position:static !important;
    width:auto !important;
    max-width:100% !important;
    min-width:8.2rem !important;
    min-height:2.25rem !important;
    margin:0 !important;
    padding:.52rem 1.05rem !important;
    transform:none !important;
    pointer-events:auto !important;
    z-index:5 !important;
  }
}

@media (max-width:420px) {
  body[data-page="frontier-fort"] .fort-app:not(.is-fullscreen) .fort-log-current p {
    min-height:6.95rem !important;
    padding:.72rem .68rem .78rem .82rem !important;
  }

  body[data-page="frontier-fort"] .fort-app:not(.is-fullscreen) .fort-log-current .fort-log-summary {
    font-size:clamp(.88rem, 4vw, .96rem) !important;
  }
}