:root {
  --dominion-ink: #06131d;
  --dominion-panel: #091b27;
  --dominion-panel-2: #0d2430;
  --dominion-line: rgba(105, 190, 177, 0.25);
  --dominion-teal: #70e4c7;
  --dominion-gold: #e5bd63;
  --dominion-cream: #f6edce;
  --dominion-muted: #9ab3b6;
  --dominion-danger: #e47b70;
}

.dominion-page {
  position: relative;
  width: 100%;
  min-width: 0;
  height: calc(100vh - 6.5rem);
  min-height: 0;
  display: flex;
  flex-direction: column;
  color: var(--dominion-cream);
  background:
    radial-gradient(circle at 46% 2%, rgba(51, 135, 131, 0.14), transparent 34rem),
    linear-gradient(145deg, #071723 0%, #040c14 72%);
  border: 1px solid rgba(222, 185, 96, 0.35);
  border-radius: 0.75rem;
  box-shadow: inset 0 0 0 1px rgba(104, 211, 190, 0.08), 0 1rem 3rem rgba(0, 0, 0, 0.28);
  overflow: hidden;
  isolation: isolate;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dominion-page *, .dominion-page *::before, .dominion-page *::after { box-sizing: border-box; }
.dominion-page button { font: inherit; }
.dominion-page button:focus-visible { outline: 2px solid var(--dominion-cream); outline-offset: 2px; }
.dominion-page button:disabled { cursor: not-allowed; }
.dominion-page.is-loading { display: grid; place-items: center; color: var(--dominion-muted); min-height: 40rem; }

.dominion-header {
  position: relative;
  z-index: 5;
  min-height: 5.7rem;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) auto minmax(25rem, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 0.7rem 1rem;
  background: linear-gradient(180deg, rgba(9, 28, 40, 0.98), rgba(5, 18, 28, 0.96));
  border-bottom: 1px solid rgba(229, 189, 99, 0.38);
  box-shadow: 0 0.65rem 1.8rem rgba(0, 0, 0, 0.27);
}

.dominion-title-lockup, .dominion-commander { display: flex; align-items: center; min-width: 0; }
.dominion-title-lockup { gap: 0.8rem; }
.dominion-title-lockup h1 { margin: 0.08rem 0 0; font-family: Cinzel, Georgia, serif; font-size: clamp(1.1rem, 1.45vw, 1.65rem); line-height: 1.05; color: #fff3cd; letter-spacing: 0.01em; }
.dominion-title-lockup p { margin: 0.2rem 0 0; color: #94afb2; font-size: 0.68rem; }
.dominion-kicker { display: block; color: var(--dominion-teal); font-size: 0.57rem; font-weight: 900; letter-spacing: 0.14em; }

.dominion-seal {
  flex: 0 0 auto;
  width: 3.8rem;
  aspect-ratio: 1;
  display: block;
  filter: drop-shadow(0 0.35rem 0.5rem #000b) drop-shadow(0 0 0.55rem rgba(73, 216, 190, 0.24));
}
.dominion-seal img { display: block; width: 100%; height: 100%; object-fit: contain; }
.dominion-seal.is-compact { width: 3rem; }

.dominion-tabs { display: flex; padding: 0.25rem; gap: 0.18rem; border: 1px solid rgba(104, 199, 183, 0.22); border-radius: 0.55rem; background: rgba(1, 9, 15, 0.55); }
.dominion-tabs button { min-height: 2.25rem; padding: 0.35rem 0.85rem; color: #8ea7aa; border: 1px solid transparent; border-radius: 0.35rem; background: transparent; font-size: 0.67rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; cursor: pointer; transition: color 150ms ease, background 150ms ease, border-color 150ms ease, transform 150ms ease; }
.dominion-tabs button:hover:not(:disabled) { color: #f9efcf; transform: translateY(-1px); }
.dominion-tabs button.is-active { color: #06151d; border-color: #76e0c8; background: linear-gradient(180deg, #85efd2, #50c6b0); box-shadow: 0 0 1rem rgba(112, 228, 199, 0.22); }
.dominion-tabs button:disabled:not(.is-active) { opacity: 0.38; }

.dominion-commander { justify-content: flex-end; gap: 0.65rem; }
.dominion-commander > img { width: 2.85rem; height: 3.55rem; object-fit: cover; object-position: top center; border: 1px solid rgba(229, 189, 99, 0.6); border-radius: 0.28rem; filter: saturate(0.88); }
.dominion-commander > div:not(.dominion-resource) { min-width: 7rem; }
.dominion-commander span { display: block; font-size: 0.52rem; font-weight: 900; letter-spacing: 0.1em; color: var(--dominion-teal); }
.dominion-commander strong { display: block; max-width: 11rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff0c9; font-size: 0.82rem; }
.dominion-commander small { display: block; color: #879da1; font-size: 0.55rem; }
.dominion-resource { min-width: 4.8rem; padding: 0.4rem 0.55rem; text-align: center; border: 1px solid rgba(229, 189, 99, 0.26); border-radius: 0.35rem; background: rgba(4, 13, 21, 0.68); }
.dominion-resource strong { max-width: none; font: 800 0.88rem/1.1 Inter, sans-serif; color: var(--dominion-gold); }
.dominion-resource.is-violet strong { color: #caa4ea; }.dominion-resource.is-violet span { color: #bda0d5; }

.dominion-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(19rem, 24vw, 25rem);
  gap: 0.75rem;
  flex: 1;
  height: auto;
  min-height: 0;
  padding: 0.75rem;
}
.dominion-campaign-rail, .dominion-briefing, .dominion-weekly-brief, .dominion-leaderboard, .dominion-shop-intro, .dominion-shop-grid article {
  border: 1px solid var(--dominion-line);
  background: linear-gradient(160deg, rgba(11, 31, 42, 0.96), rgba(5, 18, 27, 0.97));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.015), 0 0.8rem 2rem rgba(0, 0, 0, 0.16);
}
.dominion-campaign-rail { min-width: 0; border-radius: 0.55rem; padding: 0.7rem; overflow: auto; scrollbar-color: #315a60 transparent; }
.dominion-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 0.2rem 0.25rem 0.6rem; }
.dominion-section-heading span, .dominion-chapter header span { color: var(--dominion-teal); font-size: 0.54rem; font-weight: 900; letter-spacing: 0.12em; }
.dominion-section-heading h2, .dominion-chapter header strong { margin: 0.05rem 0 0; font-family: Cinzel, Georgia, serif; color: #ffefc5; }
.dominion-section-heading h2 { font-size: 1.22rem; }.dominion-section-heading p { max-width: 26rem; margin: 0; color: #91a8ab; font-size: 0.65rem; text-align: right; }
.dominion-chapters { display: grid; gap: 0.58rem; }
.dominion-chapter { padding: 0.55rem; border: 1px solid rgba(229, 189, 99, 0.18); border-radius: 0.45rem; background: rgba(2, 12, 19, 0.42); }
.dominion-chapter > header { display: flex; align-items: center; justify-content: space-between; padding: 0 0.2rem 0.45rem; }
.dominion-chapter header strong { display: block; font-size: 0.8rem; }.dominion-chapter header small { color: #81999c; font-size: 0.5rem; letter-spacing: 0.08em; }
.dominion-map-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.48rem; }
.dominion-map-cards > button { position: relative; min-width: 0; min-height: 6.15rem; padding: 0; display: grid; grid-template-columns: 37% 1fr; text-align: left; color: var(--dominion-cream); overflow: hidden; border: 1px solid rgba(115, 182, 173, 0.23); border-radius: 0.36rem; background: #06141d; cursor: pointer; transition: border-color 170ms ease, transform 170ms ease, box-shadow 170ms ease; }
.dominion-map-cards > button:hover:not(:disabled) { transform: translateY(-2px); border-color: rgba(112, 228, 199, 0.7); box-shadow: 0 0.6rem 1.2rem rgba(0, 0, 0, 0.3); }
.dominion-map-cards > button.is-selected { border-color: var(--dominion-gold); box-shadow: inset 0 0 0 1px rgba(229, 189, 99, 0.3), 0 0 1.1rem rgba(229, 189, 99, 0.1); }
.dominion-map-cards > button.is-locked { filter: grayscale(0.9); opacity: 0.42; }
.dominion-map-card-art { background-position: center; background-size: cover; box-shadow: inset -1.5rem 0 2rem #06141d; }
.dominion-map-card-copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 0.18rem; padding: 0.45rem 0.5rem 0.4rem 0.15rem; }
.dominion-map-card-copy > small { color: var(--dominion-teal); font-size: 0.47rem; font-weight: 900; letter-spacing: 0.1em; }
.dominion-map-card-copy > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: Cinzel, Georgia, serif; color: #ffedc0; font-size: 0.78rem; }
.dominion-map-card-copy > span { color: #93aaad; font-size: 0.56rem; line-height: 1.25; }

.dominion-medals { display: flex; flex-wrap: wrap; gap: 0.28rem; }
.dominion-medals > span { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.26rem 0.38rem; color: #677d80; border: 1px solid rgba(125, 153, 152, 0.18); border-radius: 999px; font-size: 0.5rem; font-weight: 800; background: rgba(2, 9, 14, 0.42); }
.dominion-medals > span i { font-style: normal; }.dominion-medals > span.is-earned { color: #f6d67f; border-color: rgba(229, 189, 99, 0.52); background: rgba(124, 91, 25, 0.16); }
.dominion-medals.is-compact { margin-top: 0.1rem; gap: 0.16rem; flex-wrap: nowrap; overflow: hidden; }
.dominion-medals.is-compact > span { padding: 0.13rem 0.25rem; font-size: 0.42rem; }

.dominion-briefing { min-width: 0; display: flex; flex-direction: column; overflow: auto; border-radius: 0.55rem; }
.dominion-briefing-art { flex: 0 0 11.5rem; background-size: cover; background-position: center; box-shadow: inset 0 -4rem 4rem #081923; }
.dominion-briefing-copy { flex: 1; display: flex; flex-direction: column; gap: 0.6rem; padding: 0 0.9rem 0.9rem; }
.dominion-briefing-copy h2, .dominion-weekly-brief h2, .dominion-shop-intro h2 { margin: 0; font-family: Cinzel, Georgia, serif; color: #fff0c7; font-size: 1.28rem; }
.dominion-briefing-copy > p, .dominion-weekly-brief p, .dominion-shop-intro p { margin: 0; color: #a5b9b9; font-size: 0.68rem; line-height: 1.55; }
.dominion-briefing-stats { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid rgba(106, 180, 171, 0.2); border-radius: 0.38rem; overflow: hidden; }
.dominion-briefing-stats > div { padding: 0.52rem 0.58rem; border-right: 1px solid rgba(106, 180, 171, 0.16); border-bottom: 1px solid rgba(106, 180, 171, 0.16); }
.dominion-briefing-stats > div:nth-child(even) { border-right: 0; }.dominion-briefing-stats > div:nth-last-child(-n+2) { border-bottom: 0; }
.dominion-briefing-stats span { display: block; color: #789296; font-size: 0.47rem; font-weight: 900; letter-spacing: 0.08em; }.dominion-briefing-stats strong { display: block; margin-top: 0.15rem; color: #f8deb0; font-size: 0.72rem; }
.dominion-objective { padding: 0.65rem; border-left: 2px solid var(--dominion-teal); background: rgba(73, 171, 157, 0.07); }
.dominion-objective span { color: var(--dominion-teal); font-size: 0.48rem; font-weight: 900; letter-spacing: 0.1em; }.dominion-objective strong { display: block; margin: 0.1rem 0 0.25rem; color: #f4e7c5; font-size: 0.74rem; }.dominion-objective p { margin: 0; color: #9bb0b2; font-size: 0.6rem; line-height: 1.45; }
.dominion-best { display: flex; justify-content: space-between; padding: 0.55rem 0; border-top: 1px solid rgba(229, 189, 99, 0.22); border-bottom: 1px solid rgba(229, 189, 99, 0.22); }.dominion-best span { color: #82999d; font-size: 0.53rem; font-weight: 900; }.dominion-best strong { color: var(--dominion-gold); }
.dominion-primary, .dominion-secondary, .dominion-danger { min-height: 2.5rem; padding: 0.55rem 0.85rem; border-radius: 0.35rem; font-size: 0.65rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: transform 150ms ease, filter 150ms ease, box-shadow 150ms ease; }
.dominion-primary { color: #04151b; border: 1px solid #8bf0d7; background: linear-gradient(180deg, #93f3d9, #55cbb4); box-shadow: 0 0.6rem 1.3rem rgba(55, 202, 174, 0.15); }.dominion-primary:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.08); }.dominion-primary:disabled { color: #778c8c; border-color: #526467; background: #26373e; box-shadow: none; }
.dominion-secondary { color: #e6d8b8; border: 1px solid rgba(229, 189, 99, 0.5); background: #14252c; }.dominion-danger { color: #ffb1a5; border: 1px solid rgba(228, 123, 112, 0.7); background: rgba(93, 28, 29, 0.52); }

.dominion-locked { flex: 1; height: auto; min-height: 0; display: grid; place-items: center; background: radial-gradient(circle at center, rgba(75, 167, 153, 0.09), transparent 30rem); }
.dominion-locked-card { width: min(36rem, calc(100% - 2rem)); padding: 2.5rem; display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px solid rgba(229, 189, 99, 0.42); border-radius: 0.7rem; background: linear-gradient(150deg, rgba(14, 38, 50, 0.98), rgba(5, 16, 24, 0.98)); box-shadow: 0 1.5rem 4rem #0008; }.dominion-locked-card h2 { margin: 1rem 0 0.5rem; font: 600 1.5rem Cinzel, Georgia, serif; }.dominion-locked-card p { max-width: 28rem; color: #9db0b1; line-height: 1.5; }.dominion-locked-card small { color: #7f979a; font-size: 0.63rem; }
.dominion-level-track { position: relative; width: 100%; height: 1.4rem; margin: 1.4rem 0; overflow: hidden; border: 1px solid #31545a; border-radius: 999px; background: #031018; }.dominion-level-track span { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #327b73, #79e4cb); box-shadow: 0 0 1.2rem #65d8bd66; }.dominion-level-track strong { position: relative; z-index: 1; display: grid; height: 100%; place-items: center; color: #fff6d8; font-size: 0.65rem; }

.dominion-war-table { flex: 1; height: auto; min-height: 0; display: flex; flex-direction: column; padding: 0.65rem; gap: 0.55rem; }
.dominion-warbar { flex: 0 0 auto; min-height: 3.7rem; display: grid; grid-template-columns: minmax(14rem, 1fr) auto auto auto auto; align-items: center; gap: 0.5rem; padding: 0.45rem 0.6rem; border: 1px solid rgba(105, 190, 177, 0.26); border-radius: 0.45rem; background: rgba(5, 19, 28, 0.94); }
.dominion-warbar-title span, .dominion-warbar-clock span { display: block; color: var(--dominion-teal); font-size: 0.47rem; font-weight: 900; letter-spacing: 0.1em; }.dominion-warbar-title h2 { margin: 0.05rem 0; font: 600 1rem Cinzel, Georgia, serif; color: #fff0c4; }.dominion-warbar-title small, .dominion-warbar-clock small { display: block; color: #829a9d; font-size: 0.52rem; }
.dominion-warbar-clock { min-width: 7.2rem; padding-right: 0.5rem; text-align: right; border-right: 1px solid rgba(105, 190, 177, 0.2); }.dominion-warbar-clock strong { display: block; color: #f6d67e; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.dominion-speed { display: flex; gap: 0.2rem; }.dominion-speed button, .dominion-pause, .dominion-leave { height: 2.25rem; color: #b4c7c7; border: 1px solid #31505a; border-radius: 0.3rem; background: #0c202b; font-size: 0.58rem; font-weight: 900; cursor: pointer; }.dominion-speed button { width: 2.1rem; }.dominion-speed button.is-active { color: #041416; border-color: var(--dominion-teal); background: var(--dominion-teal); }.dominion-pause { min-width: 4.8rem; }.dominion-pause.is-paused { color: #061417; background: var(--dominion-gold); border-color: #f6d579; }.dominion-leave { min-width: 5.7rem; color: #dfa59e; border-color: rgba(228, 123, 112, 0.45); }
.dominion-table-grid { min-height: 0; flex: 1; display: grid; grid-template-columns: clamp(12rem, 15vw, 15.5rem) minmax(28rem, 1fr) clamp(15.5rem, 19vw, 19rem); gap: 0.55rem; }
.dominion-intel, .dominion-orders { min-height: 0; overflow: auto; scrollbar-width: thin; scrollbar-color: #315a60 transparent; border: 1px solid rgba(105, 190, 177, 0.25); border-radius: 0.45rem; background: linear-gradient(165deg, rgba(11, 32, 43, 0.97), rgba(5, 17, 26, 0.98)); }
.dominion-intel { padding: 0.55rem; display: flex; flex-direction: column; gap: 0.7rem; }.dominion-intel section { border-top: 1px solid rgba(105, 190, 177, 0.18); padding-top: 0.6rem; }.dominion-intel h3, .dominion-orders h4 { margin: 0 0 0.5rem; color: #e6c878; font-size: 0.57rem; letter-spacing: 0.08em; }
.dominion-banner-card { display: grid; grid-template-columns: 3rem 1fr; gap: 0.55rem; align-items: center; min-height: 4rem; padding: 0.38rem; border: 1px solid rgba(229, 189, 99, 0.24); background: rgba(36, 58, 62, 0.26); }.dominion-banner-card img { width: 3rem; height: 3.45rem; object-fit: cover; object-position: top center; border: 1px solid #806d42; }.dominion-banner-card span, .dominion-banner-card small { display: block; color: #789396; font-size: 0.45rem; }.dominion-banner-card strong { display: block; color: #ffedc4; font-size: 0.69rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.dominion-faction-list { display: grid; gap: 0.3rem; }.dominion-faction-list > div { min-height: 2.25rem; display: grid; grid-template-columns: 0.5rem 1fr auto; gap: 0.38rem; align-items: center; padding: 0.28rem 0.35rem; border: 1px solid rgba(114, 159, 157, 0.15); background: rgba(2, 10, 15, 0.38); }.dominion-faction-list i { width: 0.42rem; height: 1.5rem; border-radius: 999px; box-shadow: 0 0 0.5rem currentColor; }.dominion-faction-list strong, .dominion-faction-list small { display: block; }.dominion-faction-list strong { font-size: 0.57rem; color: #e8ddc2; }.dominion-faction-list small { color: #718a8e; font-size: 0.41rem; }.dominion-faction-list b { color: #bed5d3; font-size: 0.57rem; }
.dominion-field-log { min-height: 0; flex: 1; }.dominion-field-log > div { display: grid; gap: 0.28rem; }.dominion-field-log p { margin: 0; display: grid; grid-template-columns: 0.34rem 1fr; gap: 0.3rem; color: #8fa8aa; font-size: 0.51rem; line-height: 1.35; }.dominion-field-log p i { width: 0.26rem; height: 0.26rem; margin-top: 0.22rem; border-radius: 50%; background: #4f7979; }.dominion-field-log p.is-victory { color: #c8e8cd; }.dominion-field-log p.is-victory i { background: var(--dominion-teal); box-shadow: 0 0 0.35rem var(--dominion-teal); }.dominion-field-log p.is-danger { color: #dba49c; }.dominion-field-log p.is-danger i { background: var(--dominion-danger); }

.dominion-map-shell { position: relative; min-width: 0; min-height: 0; overflow: hidden; border: 1px solid rgba(229, 189, 99, 0.55); border-radius: 0.5rem; background: #172126; box-shadow: inset 0 0 0 1px #0008, 0 0 1.8rem rgba(0, 0, 0, 0.25); }
.dominion-map-art, .dominion-map-vignette { position: absolute; inset: 0; }.dominion-map-art { background-position: center; background-size: cover; filter: saturate(0.88) contrast(1.02) brightness(0.86); transform: scale(1.01); }.dominion-map-vignette { pointer-events: none; background: radial-gradient(ellipse at center, transparent 48%, rgba(2, 10, 13, 0.5) 100%), linear-gradient(180deg, rgba(3, 12, 15, 0.13), rgba(3, 11, 15, 0.26)); }
.dominion-routes { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }.dominion-routes line { vector-effect: non-scaling-stroke; stroke: rgba(42, 51, 45, 0.65); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 1.5 2.3; filter: drop-shadow(0 1px 1px #e7d59c55); transition: stroke 160ms ease, stroke-width 160ms ease; }.dominion-routes line.is-held { stroke: rgba(220, 207, 154, 0.5); }.dominion-routes line.is-frontier { stroke: rgba(69, 61, 53, 0.78); }.dominion-routes line.is-active { stroke: var(--dominion-teal); stroke-width: 3.5; stroke-dasharray: none; filter: drop-shadow(0 0 3px #4ce1c7); }
.dominion-provinces { position: absolute; inset: 0; }.dominion-province { position: absolute; z-index: 2; width: 2.55rem; height: 2.55rem; padding: 0; transform: translate(-50%, -50%); border: 2px solid var(--owner); border-radius: 50%; color: #f6efd9; background: var(--owner-dark); box-shadow: 0 0 0 0.22rem #06151dd9, 0 0 0 0.3rem color-mix(in srgb, var(--owner), transparent 45%), 0 0 0.8rem #000b; cursor: pointer; transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease; }.dominion-province:hover { z-index: 9; transform: translate(-50%, -50%) scale(1.08); filter: brightness(1.16); }.dominion-province.is-reachable { box-shadow: 0 0 0 0.2rem #06151de8, 0 0 0 0.36rem var(--dominion-teal), 0 0 1.1rem rgba(64, 235, 205, 0.75); animation: dominion-node-pulse 1.9s ease-in-out infinite; }.dominion-province.is-source { z-index: 8; transform: translate(-50%, -50%) scale(1.15); box-shadow: 0 0 0 0.22rem #fff0c6, 0 0 0 0.36rem var(--owner), 0 0 1.2rem var(--owner); }.dominion-province.is-target { z-index: 9; box-shadow: 0 0 0 0.22rem #fff0c6, 0 0 0 0.38rem #f0bf62, 0 0 1.25rem #edb84f; }.dominion-province.is-capital::after { content: "CROWN"; position: absolute; left: 50%; bottom: calc(100% + 0.42rem); transform: translateX(-50%); padding: 0.12rem 0.24rem; color: #160f04; background: var(--dominion-gold); border-radius: 0.15rem; font-size: 0.34rem; font-weight: 1000; letter-spacing: 0.08em; box-shadow: 0 0 0.55rem #e5bd6388; }
html[lang="zh-CN"] .dominion-province.is-capital::after { content: "王都"; }
html[lang="zh-TW"] .dominion-province.is-capital::after { content: "王都"; }
.dominion-node-core { display: grid; grid-template-columns: auto 1fr; align-items: center; height: 100%; padding: 0.1rem 0.25rem; }.dominion-node-core i { font-style: normal; color: var(--owner); font-size: 0.66rem; }.dominion-node-core strong { font-size: 0.72rem; font-variant-numeric: tabular-nums; }
.dominion-node-label { position: absolute; left: calc(100% + 0.42rem); top: 50%; min-width: 6rem; max-width: 8rem; transform: translateY(-50%); padding: 0.25rem 0.36rem; text-align: left; border: 1px solid color-mix(in srgb, var(--owner), #0b1720 45%); border-radius: 0.2rem; background: rgba(4, 18, 26, 0.94); box-shadow: 0 0.35rem 0.7rem #0008; pointer-events: none; }.dominion-node-label::before { content: ""; position: absolute; right: 100%; top: 50%; transform: translateY(-50%); border: 0.25rem solid transparent; border-right-color: color-mix(in srgb, var(--owner), #0b1720 45%); }.dominion-node-label strong, .dominion-node-label small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.dominion-node-label strong { color: #fff1cc; font-size: 0.55rem; }.dominion-node-label small { color: var(--owner); font-size: 0.38rem; font-weight: 800; text-transform: uppercase; }
.dominion-province[style*="left: 8"], .dominion-province[style*="left: 9"] { }.dominion-province:nth-last-child(-n+3) .dominion-node-label { left: auto; right: calc(100% + 0.42rem); text-align: right; }.dominion-province:nth-last-child(-n+3) .dominion-node-label::before { right: auto; left: 100%; border-right-color: transparent; border-left-color: color-mix(in srgb, var(--owner), #0b1720 45%); }
.dominion-map-legend { position: absolute; z-index: 15; left: 0.55rem; bottom: 0.45rem; display: flex; flex-wrap: wrap; gap: 0.3rem; max-width: calc(100% - 1.1rem); padding: 0.25rem 0.4rem; border: 1px solid rgba(229, 189, 99, 0.25); border-radius: 0.2rem; background: rgba(4, 14, 20, 0.86); }.dominion-map-legend span { display: inline-flex; align-items: center; gap: 0.2rem; color: #c3cfca; font-size: 0.42rem; font-weight: 800; }.dominion-map-legend i { width: 0.34rem; height: 0.34rem; border-radius: 50%; box-shadow: 0 0 0.35rem currentColor; }
.dominion-paused-stamp { position: absolute; z-index: 20; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-2deg); padding: 0.8rem 1.6rem; text-align: center; border: 2px solid rgba(246, 222, 164, 0.8); background: rgba(5, 16, 23, 0.88); box-shadow: 0 1rem 3rem #000b, inset 0 0 1.2rem rgba(229, 189, 99, 0.15); }.dominion-paused-stamp strong, .dominion-paused-stamp span { display: block; }.dominion-paused-stamp strong { font: 700 1rem Cinzel, Georgia, serif; color: #ffe6a9; letter-spacing: 0.08em; }.dominion-paused-stamp span { margin-top: 0.2rem; color: #9eb4b2; font-size: 0.55rem; }

.dominion-orders { display: flex; flex-direction: column; padding: 0.6rem; gap: 0.6rem; }.dominion-orders > header { padding-bottom: 0.6rem; border-bottom: 1px solid rgba(105, 190, 177, 0.2); }.dominion-orders > header > span { color: var(--dominion-teal); font-size: 0.48rem; font-weight: 900; letter-spacing: 0.1em; }.dominion-orders > header h3 { margin: 0.12rem 0; color: #ffedc1; font: 600 1rem Cinzel, Georgia, serif; }.dominion-orders > header p { margin: 0; color: #8da6a9; font-size: 0.55rem; line-height: 1.35; }
.dominion-selection { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0.28rem; align-items: center; }.dominion-selection > div { min-width: 0; min-height: 5rem; padding: 0.4rem; border: 1px solid rgba(105, 190, 177, 0.2); background: rgba(2, 11, 17, 0.42); }.dominion-selection > i { color: var(--dominion-gold); font-style: normal; }.dominion-selection span, .dominion-selection strong, .dominion-selection b, .dominion-selection small { display: block; }.dominion-selection span { color: #6f8b8e; font-size: 0.42rem; font-weight: 900; }.dominion-selection strong { margin-top: 0.2rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #f7e8c4; font-size: 0.58rem; }.dominion-selection b { margin-top: 0.12rem; color: var(--dominion-teal); font-size: 0.72rem; }.dominion-selection small { margin-top: 0.2rem; color: #7b9395; font-size: 0.42rem; }.dominion-selection .is-empty { display: grid; place-content: center; text-align: center; border-style: dashed; }
.dominion-order-empty { min-height: 8rem; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 0.3rem; color: #82999c; border: 1px dashed rgba(105, 190, 177, 0.22); }.dominion-order-empty strong { color: #dfd4b8; font-size: 0.68rem; }.dominion-order-empty span { font-size: 0.52rem; }
.dominion-send > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.28rem; }.dominion-send button { min-height: 2.35rem; color: #ffe9ae; border: 1px solid rgba(229, 189, 99, 0.48); border-radius: 0.25rem; background: linear-gradient(180deg, #1d343b, #0c1e28); font-size: 0.67rem; font-weight: 900; cursor: pointer; transition: background 150ms, transform 150ms; }.dominion-send button:hover:not(:disabled) { transform: translateY(-1px); background: linear-gradient(180deg, #2a5555, #12333a); }.dominion-send button:disabled { color: #65777a; border-color: #2d4246; background: #122129; }.dominion-send small { display: block; margin-top: 0.28rem; color: #7d9598; font-size: 0.48rem; }
.dominion-commands > div { display: grid; gap: 0.3rem; }.dominion-commands button { min-height: 2.45rem; display: flex; align-items: center; justify-content: space-between; padding: 0.35rem 0.5rem; color: #e9dec3; border: 1px solid rgba(115, 176, 168, 0.28); border-radius: 0.25rem; background: #0b202a; cursor: pointer; }.dominion-commands button:hover:not(:disabled) { border-color: var(--dominion-teal); }.dominion-commands button strong { font-size: 0.58rem; }.dominion-commands button span { color: var(--dominion-teal); font-size: 0.46rem; font-weight: 900; }.dominion-commands button:disabled { opacity: 0.5; }
.dominion-command-lesson { padding: 0.6rem; color: #81999c; border: 1px solid rgba(105, 190, 177, 0.18); background: rgba(41, 95, 88, 0.06); font-size: 0.53rem; line-height: 1.45; }
.dominion-order-message { min-height: 1.5rem; padding: 0.35rem 0.45rem; color: #748b8f; border-left: 2px solid #31565c; background: rgba(3, 12, 18, 0.42); font-size: 0.51rem; }.dominion-order-message.is-visible { color: #d9e6df; border-left-color: var(--dominion-teal); }
.dominion-orders > footer { margin-top: auto; padding: 0.55rem; border: 1px solid rgba(229, 189, 99, 0.22); background: rgba(78, 61, 29, 0.08); }.dominion-orders > footer span { color: var(--dominion-gold); font-size: 0.45rem; font-weight: 900; letter-spacing: 0.1em; }.dominion-orders > footer p { margin: 0.18rem 0 0; color: #a7b4ad; font-size: 0.51rem; line-height: 1.4; }

.dominion-weekly { flex: 1; height: auto; min-height: 0; padding: 0.75rem; }.dominion-weekly-grid { height: 100%; display: grid; grid-template-columns: minmax(21rem, 0.78fr) minmax(25rem, 1.22fr); gap: 0.75rem; }.dominion-weekly-brief, .dominion-leaderboard { min-height: 0; border-radius: 0.55rem; overflow: hidden; }.dominion-weekly-art { height: 14rem; background-size: cover; background-position: center; box-shadow: inset 0 -5rem 4rem #091c27; }.dominion-weekly-brief > div:last-child { padding: 0 1rem 1rem; display: grid; gap: 0.75rem; }.dominion-weekly-rule { display: flex; align-items: center; gap: 0.6rem; padding: 0.65rem; color: #a7bbba; border-left: 2px solid var(--dominion-gold); background: rgba(229, 189, 99, 0.07); font-size: 0.6rem; }.dominion-weekly-rule strong { color: var(--dominion-gold); font-size: 0.5rem; letter-spacing: 0.08em; }
.dominion-leaderboard { display: flex; flex-direction: column; padding: 0.8rem; }.dominion-leaderboard > header { display: flex; align-items: end; justify-content: space-between; padding-bottom: 0.65rem; border-bottom: 1px solid rgba(105, 190, 177, 0.2); }.dominion-leaderboard header span { color: var(--dominion-teal); font-size: 0.5rem; font-weight: 900; letter-spacing: 0.1em; }.dominion-leaderboard h2 { margin: 0.1rem 0 0; font: 600 1.15rem Cinzel, Georgia, serif; }.dominion-leaderboard header small { color: #80989b; font-size: 0.5rem; font-weight: 900; }.dominion-rank-target { display: grid; grid-template-columns: 1fr 1.5fr; gap: 0.45rem; padding: 0.65rem 0; }.dominion-rank-target > div { padding: 0.55rem; border: 1px solid rgba(229, 189, 99, 0.2); background: rgba(4, 14, 21, 0.55); }.dominion-rank-target span, .dominion-rank-target strong, .dominion-rank-target small { display: block; }.dominion-rank-target span { color: #749094; font-size: 0.44rem; font-weight: 900; }.dominion-rank-target strong { color: #f4d98e; font-size: 0.75rem; }.dominion-rank-target small { color: #829b9e; font-size: 0.48rem; }
.dominion-rank-list { min-height: 0; flex: 1; overflow: auto; scrollbar-width: thin; scrollbar-color: #315a60 transparent; border: 1px solid rgba(105, 190, 177, 0.18); }.dominion-rank-list > div { min-height: 2.05rem; display: grid; grid-template-columns: 3.2rem 1fr auto; align-items: center; gap: 0.5rem; padding: 0.28rem 0.55rem; color: #b9c8c3; border-bottom: 1px solid rgba(105, 190, 177, 0.1); font-size: 0.58rem; }.dominion-rank-list > div:nth-child(odd) { background: rgba(28, 64, 67, 0.07); }.dominion-rank-list > div.is-you { color: #fff0c3; background: rgba(229, 189, 99, 0.12); box-shadow: inset 2px 0 var(--dominion-gold); }.dominion-rank-list b { color: #759296; }.dominion-rank-list strong { color: #e1c474; font-variant-numeric: tabular-nums; }.dominion-leaderboard > footer { padding-top: 0.55rem; color: #789094; font-size: 0.52rem; text-align: center; }

.dominion-shop { flex: 1; height: auto; min-height: 0; display: grid; grid-template-columns: minmax(16rem, 21rem) minmax(0, 1fr); gap: 0.75rem; padding: 0.75rem; }.dominion-shop-intro { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0.8rem; padding: 1.5rem; border-radius: 0.55rem; background: radial-gradient(circle at 28% 28%, rgba(100, 210, 186, 0.15), transparent 15rem), linear-gradient(150deg, rgba(12, 35, 46, 0.98), rgba(5, 17, 25, 0.98)); }.dominion-shop-intro .dominion-resource { width: 100%; padding: 0.75rem; }.dominion-shop-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; overflow: auto; scrollbar-width: thin; padding-right: 0.1rem; }.dominion-shop-grid article { min-height: 11rem; padding: 0.75rem; display: grid; grid-template-columns: 3.2rem 1fr; grid-template-rows: auto auto 1fr auto; gap: 0.1rem 0.65rem; border-radius: 0.45rem; }.dominion-shop-icon { grid-row: 1 / 4; width: 3.2rem; height: 3.2rem; display: grid; place-items: center; color: #f0d382; border: 1px solid rgba(229, 189, 99, 0.42); border-radius: 0.35rem; background: radial-gradient(circle, #263e45, #081620); font: 700 1rem Cinzel, Georgia, serif; box-shadow: inset 0 0 1rem rgba(229, 189, 99, 0.1); }.dominion-shop-grid article > span { color: var(--dominion-teal); font-size: 0.44rem; font-weight: 900; letter-spacing: 0.1em; }.dominion-shop-grid h3 { margin: 0.1rem 0; color: #f6e5bb; font: 600 0.8rem Cinzel, Georgia, serif; }.dominion-shop-grid p { margin: 0; color: #91a8aa; font-size: 0.55rem; line-height: 1.4; }.dominion-shop-grid article > small { grid-column: 2; color: #c9a2dd; font-size: 0.48rem; }.dominion-shop-grid article footer { grid-column: 1 / 3; display: flex; align-items: center; justify-content: space-between; margin-top: 0.45rem; padding-top: 0.55rem; border-top: 1px solid rgba(229, 189, 99, 0.18); }.dominion-shop-grid footer strong { color: var(--dominion-gold); font-size: 0.68rem; }.dominion-shop-grid footer button { min-height: 2rem; min-width: 6.3rem; color: #061417; border: 1px solid #82e8cf; border-radius: 0.28rem; background: #62d5ba; font-size: 0.55rem; font-weight: 900; cursor: pointer; }.dominion-shop-grid footer button:disabled { color: #74888a; border-color: #40565a; background: #1b2f36; }.dominion-shop-grid article.is-owned { border-color: rgba(229, 189, 99, 0.6); }.dominion-shop-grid article.is-locked { opacity: 0.62; }

.dominion-modal-layer { position: fixed; z-index: 100020; inset: 0; display: grid; place-items: center; padding: 1rem; background: rgba(1, 7, 12, 0.82); backdrop-filter: blur(5px); animation: dominion-fade-in 180ms ease-out; }.dominion-tutorial, .dominion-result, .dominion-confirm { width: min(34rem, calc(100vw - 2rem)); padding: 1.5rem; text-align: center; border: 1px solid rgba(229, 189, 99, 0.65); border-radius: 0.65rem; background: radial-gradient(circle at 50% 8%, rgba(63, 172, 153, 0.16), transparent 17rem), linear-gradient(160deg, #0c2632, #05141f 72%); box-shadow: 0 2rem 6rem #000d, inset 0 0 0 1px rgba(112, 228, 199, 0.08); animation: dominion-rise-in 220ms ease-out; }.dominion-tutorial > .dominion-seal, .dominion-result > .dominion-seal { margin: 0 auto 0.8rem; }.dominion-tutorial h2, .dominion-result h2, .dominion-confirm h2 { margin: 0.2rem 0 0.5rem; font: 600 1.55rem Cinzel, Georgia, serif; color: #fff0c6; }.dominion-tutorial > p, .dominion-result > p, .dominion-confirm > p { margin: 0 auto; max-width: 27rem; color: #a7bab8; font-size: 0.72rem; line-height: 1.55; }.dominion-tutorial-diagram { margin: 1.2rem 0; padding: 1rem; border: 1px solid rgba(105, 190, 177, 0.23); background: rgba(2, 12, 18, 0.52); }.dominion-tutorial-diagram > div { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0.75rem; }.dominion-tutorial-diagram span { min-height: 3rem; display: grid; place-items: center; color: #05141a; border: 1px solid #8eefd7; border-radius: 0.35rem; background: linear-gradient(180deg, #8be9d0, #50bfa9); font-size: 0.62rem; font-weight: 900; }.dominion-tutorial-diagram span b { display: block; font-size: 1.1rem; }.dominion-tutorial-diagram i { color: var(--dominion-gold); font-style: normal; font-weight: 900; }.dominion-tutorial-dots { display: flex; justify-content: center; gap: 0.35rem; }.dominion-tutorial-dots i { width: 1.3rem; height: 0.23rem; overflow: hidden; color: transparent; border-radius: 99px; background: #2d484e; }.dominion-tutorial-dots i.is-active { background: var(--dominion-gold); box-shadow: 0 0 0.6rem #e5bd6377; }.dominion-tutorial footer, .dominion-confirm footer { display: flex; justify-content: center; gap: 0.6rem; margin-top: 1rem; }
.dominion-result { width: min(38rem, calc(100vw - 2rem)); }.dominion-result-score { display: block; margin: 0.8rem 0; color: #f7d574; font: 700 2rem Cinzel, Georgia, serif; }.dominion-score-breakdown { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.35rem; margin: 0.8rem 0; }.dominion-score-breakdown > div { padding: 0.5rem; border: 1px solid rgba(105, 190, 177, 0.18); background: rgba(3, 12, 18, 0.5); }.dominion-score-breakdown span, .dominion-score-breakdown strong { display: block; }.dominion-score-breakdown span { color: #779195; font-size: 0.43rem; font-weight: 900; }.dominion-score-breakdown strong { color: #bfe7d6; font-size: 0.65rem; }.dominion-score-breakdown strong.is-negative { color: #dc9287; }.dominion-result-reward { margin: 0.8rem 0; padding: 0.65rem; border: 1px solid rgba(229, 189, 99, 0.38); background: rgba(143, 99, 25, 0.12); }.dominion-result-reward span, .dominion-result-reward strong, .dominion-result-reward small { display: block; }.dominion-result-reward span { color: #d7b966; font-size: 0.46rem; font-weight: 900; }.dominion-result-reward strong { color: #ffe5a2; }.dominion-result-reward small { color: #bd9fce; font-size: 0.52rem; }.dominion-result-stats { display: flex; justify-content: center; gap: 1rem; margin: 0.8rem 0; color: #829a9d; font-size: 0.52rem; }.dominion-result-stats b { color: #e8dec5; }.dominion-result > .dominion-primary { width: 100%; }.dominion-podium-award { margin: 0.7rem 0; padding: 0.6rem; color: #ffe6a4; border: 1px solid rgba(229, 189, 99, 0.5); background: linear-gradient(90deg, transparent, rgba(229, 189, 99, 0.12), transparent); font: 600 0.72rem Cinzel, Georgia, serif; }

/* Readability pass: Dominion is a strategy surface, not a dense status spreadsheet. */
.dominion-section-heading span, .dominion-chapter header span { font-size: 0.68rem; }
.dominion-section-heading h2 { font-size: 1.45rem; }
.dominion-section-heading p { max-width: 30rem; color: #adc0c1; font-size: 0.78rem; line-height: 1.45; }
.dominion-chapter header strong { font-size: 1rem; }
.dominion-chapter header small { color: #9fb1b2; font-size: 0.62rem; }
.dominion-map-cards > button { min-height: 7.25rem; grid-template-columns: 40% 1fr; }
.dominion-map-card-copy > small { font-size: 0.62rem; }
.dominion-map-card-copy > strong { font-size: 1rem; }
.dominion-map-card-copy > span { color: #afc0c1; font-size: 0.72rem; line-height: 1.35; }
.dominion-medals.is-compact > span { padding: 0.16rem 0.3rem; font-size: 0.52rem; }
.dominion-briefing-copy h2 { font-size: 1.5rem; }
.dominion-briefing-copy > p { font-size: 0.8rem; }
.dominion-briefing-stats span { font-size: 0.58rem; }
.dominion-briefing-stats strong { font-size: 0.86rem; }
.dominion-objective span { font-size: 0.6rem; }
.dominion-objective strong { font-size: 0.88rem; }
.dominion-objective p { font-size: 0.72rem; }
.dominion-table-grid { grid-template-columns: clamp(15rem, 17vw, 18rem) minmax(32rem, 1fr) clamp(20rem, 22vw, 23rem); }
.dominion-intel h3, .dominion-orders h4 { font-size: 0.72rem; }
.dominion-banner-card span, .dominion-banner-card small { color: #91aaac; font-size: 0.58rem; }
.dominion-banner-card strong { font-size: 0.84rem; }
.dominion-faction-list strong, .dominion-faction-list b { font-size: 0.7rem; }
.dominion-faction-list small { color: #88a0a2; font-size: 0.53rem; }
.dominion-field-log p { color: #9eb4b6; font-size: 0.65rem; line-height: 1.45; }
.dominion-node-core i { font-size: 0.76rem; }
.dominion-node-core strong { font-size: 0.86rem; }
.dominion-node-label { min-width: 7rem; max-width: 9.5rem; padding: 0.32rem 0.42rem; }
.dominion-node-label strong { font-size: 0.72rem; }
.dominion-node-label small { font-size: 0.5rem; }
.dominion-map-legend span { font-size: 0.55rem; }
.dominion-orders > header > span { font-size: 0.62rem; }
.dominion-orders > header h3 { font-size: 1.15rem; }
.dominion-orders > header p { color: #a4b8b9; font-size: 0.7rem; line-height: 1.45; }
.dominion-selection span { font-size: 0.54rem; }
.dominion-selection strong { font-size: 0.72rem; }
.dominion-selection b { font-size: 0.88rem; }
.dominion-selection small { color: #91a5a7; font-size: 0.54rem; }
.dominion-order-empty strong { font-size: 0.8rem; }
.dominion-order-empty span { font-size: 0.65rem; }
.dominion-linked-routes > div { display: grid; gap: 0.3rem; }
.dominion-linked-routes button { min-height: 2.8rem; display: grid; grid-template-columns: 0.5rem minmax(0, 1fr) auto; align-items: center; gap: 0.45rem; padding: 0.35rem 0.5rem; text-align: left; color: #dce8df; border: 1px solid rgba(115, 176, 168, 0.28); border-radius: 0.25rem; background: #0a1d27; cursor: pointer; }
.dominion-linked-routes button:hover, .dominion-linked-routes button.is-selected { border-color: var(--dominion-gold); background: #142c34; }
.dominion-linked-routes button > i { width: 0.45rem; height: 1.55rem; border-radius: 99px; }
.dominion-linked-routes button span, .dominion-linked-routes button strong, .dominion-linked-routes button small { display: block; min-width: 0; }
.dominion-linked-routes button strong { overflow: hidden; text-overflow: ellipsis; color: #f5e8c8; font-size: 0.7rem; }
.dominion-linked-routes button small { margin-top: 0.08rem; color: var(--dominion-teal); font-size: 0.52rem; font-weight: 900; }
.dominion-linked-routes button b { color: #c5d4cf; font-size: 0.62rem; white-space: nowrap; }
.dominion-send button { font-size: 0.78rem; }
.dominion-send small { color: #95aaac; font-size: 0.61rem; }
.dominion-command-lesson { color: #9badaf; font-size: 0.66rem; line-height: 1.5; }
.dominion-order-message { min-height: 1.8rem; padding: 0.42rem 0.5rem; color: #8da2a4; font-size: 0.64rem; }
.dominion-orders > footer span { font-size: 0.56rem; }
.dominion-orders > footer p { font-size: 0.64rem; }

@keyframes dominion-node-pulse { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.28); } }
@keyframes dominion-fade-in { from { opacity: 0; } }
@keyframes dominion-rise-in { from { opacity: 0; transform: translateY(0.7rem) scale(0.985); } }

@media (max-width: 1450px) {
  .dominion-header { grid-template-columns: minmax(18rem, 1fr) auto minmax(18rem, 1fr); }
  .dominion-title-lockup p, .dominion-commander small { display: none; }
  .dominion-commander > img { width: 2.45rem; height: 3rem; }
  .dominion-commander > div:not(.dominion-resource) { display: none; }
  .dominion-table-grid { grid-template-columns: 14rem minmax(29rem, 1fr) 19rem; }
  .dominion-node-label { min-width: 5.2rem; max-width: 6.5rem; }
  .dominion-intel { font-size: 0.9em; }
}

@media (max-width: 1120px) {
  .dominion-page { height: calc(100vh - 8.25rem); }
  .dominion-header { grid-template-columns: minmax(16rem, 1fr) auto; }.dominion-tabs { grid-row: 2; grid-column: 1 / 3; justify-self: center; margin-bottom: 0.1rem; }.dominion-commander { grid-column: 2; grid-row: 1; }
  .dominion-overview, .dominion-weekly, .dominion-shop, .dominion-war-table, .dominion-locked { height: auto; }
  .dominion-overview { grid-template-columns: 1fr 18rem; }
  .dominion-table-grid { grid-template-columns: minmax(27rem, 1fr) 19rem; }.dominion-intel { display: none; }
  .dominion-node-label { min-width: 4.8rem; }.dominion-node-label small { display: none; }
  .dominion-warbar-title small { display: none; }
  .dominion-shop { grid-template-columns: 15rem 1fr; }
}

@media (max-width: 820px) {
  .dominion-page { height: auto; min-height: 44rem; overflow: auto; }
  .dominion-header { position: sticky; top: 0; grid-template-columns: 1fr; gap: 0.45rem; padding: 0.6rem; }.dominion-commander { display: none; }.dominion-tabs { grid-row: auto; grid-column: auto; width: 100%; overflow-x: auto; justify-content: stretch; }.dominion-tabs button { flex: 1; white-space: nowrap; padding-inline: 0.45rem; }
  .dominion-overview, .dominion-weekly, .dominion-shop, .dominion-war-table, .dominion-locked { height: auto; min-height: 0; }
  .dominion-overview, .dominion-weekly-grid, .dominion-shop { grid-template-columns: 1fr; }.dominion-overview { padding: 0.55rem; }.dominion-briefing { order: -1; }.dominion-briefing-art { flex-basis: 9rem; }.dominion-campaign-rail { overflow: visible; }.dominion-map-cards { grid-template-columns: 1fr; }
  .dominion-war-table { padding: 0.45rem; }.dominion-warbar { grid-template-columns: 1fr auto auto; }.dominion-warbar-clock { grid-column: 2; }.dominion-speed { display: none; }.dominion-leave { grid-column: 3; }.dominion-pause { grid-row: 2; grid-column: 1 / 4; }.dominion-table-grid { display: flex; flex-direction: column; }.dominion-map-shell { order: 1; min-height: 32rem; }.dominion-orders { order: 2; overflow: visible; }.dominion-node-label { min-width: 4.6rem; }.dominion-province { width: 2.3rem; height: 2.3rem; }
  .dominion-weekly { padding: 0.55rem; }.dominion-weekly-grid { height: auto; }.dominion-weekly-brief, .dominion-leaderboard { min-height: 35rem; }.dominion-weekly-art { height: 10rem; }
  .dominion-shop { padding: 0.55rem; }.dominion-shop-intro { min-height: 18rem; }.dominion-shop-grid { grid-template-columns: 1fr; overflow: visible; }
  .dominion-locked { padding: 1rem 0; }.dominion-locked-card { padding: 1.4rem; }
}

@media (max-width: 520px) {
  .dominion-title-lockup .dominion-seal { width: 2.6rem; }.dominion-title-lockup h1 { font-size: 1rem; }.dominion-title-lockup p { display: none; }
  .dominion-section-heading { align-items: start; flex-direction: column; }.dominion-section-heading p { text-align: left; }
  .dominion-map-cards > button { grid-template-columns: 34% 1fr; }
  .dominion-briefing-stats, .dominion-rank-target { grid-template-columns: 1fr; }.dominion-briefing-stats > div { border-right: 0; border-bottom: 1px solid rgba(106, 180, 171, 0.16) !important; }.dominion-briefing-stats > div:last-child { border-bottom: 0 !important; }
  .dominion-map-shell { min-height: 28rem; }.dominion-node-label { display: none; }.dominion-map-legend { display: none; }
  .dominion-selection { grid-template-columns: 1fr; }.dominion-selection > i { transform: rotate(90deg); text-align: center; }
  .dominion-score-breakdown { grid-template-columns: repeat(2, 1fr); }.dominion-tutorial footer, .dominion-confirm footer { flex-direction: column; }.dominion-result-stats { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .dominion-page *, .dominion-page *::before, .dominion-page *::after { scroll-behavior: auto !important; animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}
