/* Cooperative strategy games extend the existing black, bronze and pixel-art world. */
.game-page #strategy-activity { padding: 25px 28px; overflow: visible; }
#strategy-activity::after { display: none; }
.strategy-shell { --strategy-gold: #edcc7c; --strategy-muted: #b8aa90; --strategy-line: #4c3d25; position: relative; z-index: 1; color: #e9ddc2; font-size: 13px; line-height: 1.65; }
.strategy-shell *, .strategy-shell *::before, .strategy-shell *::after { box-sizing: border-box; }
.strategy-shell [hidden] { display: none !important; }
.strategy-shell button, .strategy-shell input { font: inherit; }
.strategy-shell button { cursor: pointer; }
.strategy-shell button:disabled { cursor: not-allowed; }
.strategy-shell button:focus-visible, .strategy-shell input:focus-visible { outline: 2px solid #f0ca6b; outline-offset: 3px; }
.strategy-shell h2, .strategy-shell h3, .strategy-shell p { margin: 0; }
.strategy-shell h2 { color: #efdba7; font-family: var(--font-heading); font-size: 23px; font-weight: 700; line-height: 1.4; letter-spacing: 1px; }
.strategy-shell h3 { color: #e9d5ab; font-size: 14px; font-weight: 700; }
.strategy-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.strategy-shell .strategy-goal { margin-top: 4px; color: #c2b396; font-size: 12px; }
.strategy-turn-label { flex-shrink: 0; color: #d2bb85; font-size: 12px; font-variant-numeric: tabular-nums; }
.strategy-notice { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; margin: 0 0 15px; border: 1px solid #744132; color: #f1c2af; background: #281710; }
.strategy-notice[data-tone="info"] { border-color: #695333; color: #e0c28c; background: #211b10; }
.strategy-notice button { flex-shrink: 0; }
.strategy-conflict { margin-bottom: 20px; padding: 18px; border: 1px solid #90713a; background: #211c10; }
.strategy-conflict p { margin: 6px 0 14px; color: #d7c6a5; }
.strategy-conflict > div { display: flex; flex-wrap: wrap; gap: 9px; }
.strategy-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 25px; row-gap: 16px; align-items: start; }
.strategy-visual { grid-column: 1; grid-row: 1; min-width: 0; }
.strategy-lobby, .strategy-waiting, .strategy-decision, .strategy-result { grid-column: 2; grid-row: 1 / 3; min-width: 0; padding-left: 23px; border-left: 1px solid #41331e; }
.strategy-roster { grid-column: 1; grid-row: 2; min-width: 0; }
.strategy-room-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 1px; padding-top: 12px; border-top: 1px solid #362e20; color: #bbaa89; font-size: 11px; }
.strategy-room-meta > .strategy-text-button { margin-left: auto; }
.strategy-room-code { padding: 0 5px; border: 0; border-radius: 0; background: transparent; color: #f1ce7d; font-size: 15px !important; font-weight: 700; letter-spacing: 2px; }
.strategy-button { display: inline-flex; align-items: center; justify-content: center; min-height: 43px; padding: 9px 14px; border: 1px solid #745c31; border-radius: 2px; color: #e9cc8a; background: #201b11; font-size: 12px; font-weight: 600; transition: background-color 140ms ease, border-color 140ms ease; }
.strategy-button:hover:not(:disabled) { background: #342914; border-color: #caa455; }
.strategy-button:disabled { opacity: .48; }
.strategy-primary { border-color: #d8b568; color: #241b0b; background: #d7b466; }
.strategy-primary:hover:not(:disabled) { border-color: #f3d389; background: #edca7a; }
.strategy-text-button { min-height: 28px; padding: 3px 0; border: 0; background: transparent; color: #d5b87a; font-size: 11px !important; text-decoration: underline; text-underline-offset: 4px; }
.strategy-text-button:hover { color: #f5d693; }
.strategy-roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 12px 0 17px; }
.strategy-role { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; min-height: 86px; padding: 8px 4px; border: 1px solid #49402c; border-radius: 2px; color: #c3b395; background: #111311; }
.strategy-role .strategy-art { width: 38px; height: 47px; }
.strategy-role.is-selected { color: #f4d68c; border-color: #c39a49; background: #272113; }
.strategy-role:hover:not(:disabled) { border-color: #e0b35c; }
.strategy-practice { display: flex; flex-direction: column; width: 100%; min-height: 63px; font-size: 15px; }
.strategy-practice > span { margin-top: 2px; font-size: 11px; font-weight: 500; color: #4b3817; }
.strategy-create { width: 100%; margin-top: 8px; }
.strategy-join-form { margin-top: 19px; padding-top: 14px; border-top: 1px solid #3d3321; }
.strategy-join-form label { display: block; margin-bottom: 6px; font-size: 12px; color: #c4b697; }
.strategy-join-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.strategy-join-form input { min-width: 0; width: 100%; min-height: 43px; padding: 8px 9px; border: 1px solid #59452b; border-radius: 2px; caret-color: #edcc7c; background: #0c0d0e; color: #f1d28e; font-size: 12px; text-transform: uppercase; }
.strategy-join-form input::placeholder { color: #aca087; }
.strategy-shell .strategy-fair-play { margin-top: 13px; color: #b2a48b; font-size: 10px; }
.strategy-waiting > p { margin: 8px 0 18px; color: #c7b898; font-size: 12px; }
.strategy-waiting > .strategy-button { width: 100%; }
.strategy-waiting .strategy-cooperation { margin-top: 20px; padding-top: 14px; border-top: 1px solid #3b3120; }
.strategy-board { overflow: hidden; min-height: 275px; border: 1px solid #584326; background: #0d0f0d; }
.strategy-board-heading { display: flex; justify-content: space-between; gap: 10px; padding: 10px 13px; color: #d1b576; font-size: 11px; background: #18160f; border-bottom: 1px solid #47381f; }
.strategy-board-caption { font-weight: 700; letter-spacing: 1px; }
.strategy-board-tag { color: #b9a98a; font-size: 10px; text-align: right; }
.strategy-board-content { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 234px; padding: 17px 20px 15px; overflow: hidden; }
.strategy-art { display: block; flex-shrink: 0; object-fit: contain; image-rendering: pixelated; }
.strategy-shell .strategy-scene-note { margin-top: 14px; color: #d0bd94; font-size: 11px; text-align: center; }
.strategy-shell .strategy-preview-event { margin-top: 14px; padding-top: 11px; border-top: 1px solid #423820; color: #bbaf96; font-size: 11px; line-height: 1.7; }
.strategy-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0 2px; }
.strategy-gauge { min-width: 0; --gauge-color: #c5a156; }
.strategy-gauge.tone-good { --gauge-color: #80bc8c; }
.strategy-gauge.tone-danger { --gauge-color: #d58262; }
.strategy-gauge.tone-blue { --gauge-color: #79b2c0; }
.strategy-gauge-label { display: flex; align-items: baseline; justify-content: space-between; gap: 5px; margin-bottom: 5px; color: #bfb297; font-size: 10px; }
.strategy-gauge-label strong { color: #e5d5b4; font-size: 11px; font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.strategy-gauge-track { height: 5px; background: #302a20; }
.strategy-gauge-track > span { display: block; width: 100%; height: 100%; background: var(--gauge-color); transform-origin: left; transition: transform 300ms cubic-bezier(.16, 1, .3, 1); }
.strategy-scene-gauges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 13px; }
.strategy-road { display: flex; justify-content: space-between; gap: 10px; padding-top: 4px; color: #bdad8b; font-size: 10px; }
.strategy-road > span { position: relative; max-width: 31%; padding-top: 13px; text-align: center; }
.strategy-road > span::before { position: absolute; left: calc(50% - 3px); top: 0; width: 6px; height: 6px; border: 1px solid #b49a63; border-radius: 50%; content: ""; background: #332d1c; }
.strategy-road > .is-passed { color: #91c19a; }
.strategy-road > .is-passed::before { border-color: #8fba8b; background: #8fba8b; }
.strategy-cart-track { position: relative; height: 115px; margin: 0 0 10px; border-bottom: 10px solid #3e3423; }
.strategy-cart-track::before { position: absolute; bottom: -12px; right: -20px; left: -20px; height: 14px; border-top: 2px solid #6d5733; content: ""; background: #27251b; }
.strategy-cart { position: absolute; bottom: -3px; width: 87px; height: 86px; transform: translateX(-50%); transition: left 550ms cubic-bezier(.16, 1, .3, 1); }
.strategy-cart .strategy-art { width: 100%; height: 100%; }
.strategy-road-gate { position: absolute; right: -8px; bottom: 0; width: 73px; height: 86px; opacity: .75; }
.strategy-road-rock { position: absolute; left: -16px; bottom: -1px; width: 45px; height: 33px; opacity: .75; }
.strategy-mine-tunnel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin: 0 0 17px; padding-top: 7px; }
.strategy-mine-section { display: flex; align-items: end; justify-content: center; height: 94px; border: 5px solid #39362a; border-bottom-width: 9px; background: #060807; }
.strategy-mine-section.is-cleared { border-color: #735b35; background: #1f2117; }
.strategy-mine-section .strategy-art { width: 100%; height: 74px; opacity: .6; }
.strategy-mine-section.is-cleared .strategy-art { opacity: .25; }
.strategy-mine-section:last-child .strategy-art { opacity: 1; }
.strategy-rune-altar { display: flex; align-items: center; justify-content: space-evenly; gap: 13px; min-height: 159px; padding: 10px 0; }
.strategy-rune-slot { display: flex; flex: 1; flex-direction: column; align-items: center; padding: 13px 3px; border-bottom: 3px solid #453b29; background: #12150e; color: #a89d85; }
.strategy-rune-slot.is-required { color: #f0ce7c; border-bottom-color: #c8a557; background: #252010; }
.strategy-rune-slot .strategy-art { width: 58px; height: 68px; margin-bottom: 7px; opacity: .45; }
.strategy-rune-slot.is-required .strategy-art { opacity: 1; }
.strategy-rune-slot strong { font-size: 14px; }
.strategy-rune-slot > span { margin-top: 4px; font-size: 11px; }
.strategy-fire-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.strategy-fire-lane { position: relative; display: flex; flex-direction: column; align-items: center; min-height: 190px; padding: 8px 4px 40px; border-right: 1px solid #594126; border-left: 1px solid #594126; background: #22180f; }
.strategy-fire-lane[data-pressure="clear"] { background: #131a12; border-color: #39422b; }
.strategy-fire-lane > strong { font-size: 12px; color: #dec592; }
.strategy-lane-enemies { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; min-height: 86px; margin: 5px 0 6px; }
.strategy-lane-enemies .strategy-art { width: 43px; height: 61px; margin: -4px; }
.strategy-fire-lane > span { color: #cfb28e; font-size: 10px; }
.strategy-lane-torch { position: absolute; bottom: 0; width: 43px; height: 51px; }
.strategy-mist-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-height: 175px; }
.strategy-mist-route { display: flex; flex-direction: column; align-items: center; justify-content: center; border-bottom: 2px solid #46524c; background: #151b19; }
.strategy-mist-route:nth-child(2) { background: #1b1d1a; border-color: #6c684e; }
.strategy-mist-route:nth-child(3) { background: #181821; border-color: #575471; }
.strategy-mist-route .strategy-art { width: 85px; max-width: 100%; height: 93px; opacity: .75; }
.strategy-mist-route strong { margin-top: 6px; font-size: 12px; color: #d2cfb1; }
.strategy-mist-route > span { margin: 3px 0 9px; font-size: 9px; color: #b0b8a7; }
.strategy-siege-scene { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 162px; }
.strategy-siege-threats { display: flex; flex-direction: column; gap: 6px; z-index: 1; }
.strategy-siege-threats > div { display: grid; grid-template-columns: 36px auto; align-items: center; column-gap: 7px; }
.strategy-siege-threats .strategy-art { grid-row: 1 / 3; width: 35px; height: 55px; }
.strategy-siege-threats strong { font-size: 12px; color: #ddbd8c; }
.strategy-siege-threats span { font-size: 10px; color: #cb997d; }
.strategy-city-gate { width: 47%; max-width: 185px; height: 165px; margin-right: 10px; }
.strategy-city-banner { position: absolute; top: 0; right: -16px; width: 64px; height: 88px; }
.strategy-beast-scene { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 141px; }
.strategy-beast-art { width: 58%; height: 154px; }
.strategy-beast-mood { display: flex; flex-direction: column; gap: 5px; padding-left: 14px; border-left: 1px solid #55462a; }
.strategy-beast-mood > strong { color: #e4c587; font-size: 18px; }
.strategy-beast-mood > span { color: #b9ae95; font-size: 11px; }
.strategy-beast-gauges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 11px; }
.strategy-forge-scene { position: relative; display: flex; align-items: center; justify-content: center; gap: 25px; height: 146px; }
.strategy-forge-fire { position: absolute; left: 20%; bottom: 0; width: 72px; height: 95px; opacity: .7; }
.strategy-forge-sword { z-index: 1; width: 75px; height: 127px; transform: rotate(-25deg); }
.strategy-forge-scene > div { display: flex; flex-direction: column; min-width: 70px; }
.strategy-forge-scene strong { font-size: 32px; color: #e8b77b; font-weight: 600; font-variant-numeric: tabular-nums; }
.strategy-forge-scene span { color: #c8b590; font-size: 11px; }
.strategy-heat-scale { position: relative; height: 17px; margin: 13px 0 2px; border: 1px solid #5d4730; background: linear-gradient(90deg, #2b5960 0%, #766335 45%, #a15430 75%, #9f362b 100%); }
.strategy-heat-target { position: absolute; top: -5px; bottom: -5px; border: 2px solid #c9e1a5; background: #c9e1a529; }
.strategy-heat-pointer { position: absolute; top: -9px; bottom: -9px; width: 3px; margin-left: -1px; background: #fff3d2; }
.strategy-salvage-scene { display: flex; align-items: center; justify-content: space-around; min-height: 160px; }
.strategy-salvage-dragon { width: 54%; height: 170px; }
.strategy-salvage-cache { display: flex; flex-direction: column; align-items: center; }
.strategy-salvage-cache .strategy-art { width: 80px; height: 76px; }
.strategy-salvage-cache > strong { color: #e7c17f; font-size: 11px; font-weight: 500; text-align: center; }
.strategy-treasure-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; width: min(100%, 290px); margin: 0 auto; }
.strategy-grid-cell { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 70px; padding: 6px 2px; border: 1px solid #816332; border-radius: 2px; color: #e2c383; background: #302514; }
.strategy-grid-cell > strong { font-size: 21px; line-height: 1.4; font-weight: 600; }
.strategy-grid-cell > span { font-size: 9px; color: #cbbb99; white-space: nowrap; }
.strategy-grid-cell > .strategy-art { width: 40px; height: 32px; }
.strategy-grid-cell:hover:not(:disabled), .strategy-grid-cell.is-selected { border-color: #eed28c; background: #56401c; }
.strategy-grid-cell.is-revealed { border-color: #4b4b34; color: #a5cca2; background: #182015; }
.strategy-grid-cell:disabled:not(.is-revealed):not(.is-selected) { background: #242015; border-color: #5f5032; color: #baab88; }
.strategy-grid-claim { position: absolute; top: -1px; right: -1px; left: -1px; padding: 0 2px; background: #75612d; color: #fff0be; font-size: 9px; line-height: 1.6; }
.strategy-event { padding-bottom: 13px; margin-bottom: 12px; border-bottom: 1px solid #514024; }
.strategy-event > div { display: flex; align-items: baseline; justify-content: space-between; gap: 9px; }
.strategy-event-title { color: #f0c478; font-size: 15px; }
.strategy-countdown { flex-shrink: 0; color: #c8b99a; font-size: 11px; font-variant-numeric: tabular-nums; }
.strategy-countdown.is-urgent { color: #ffb396; }
.strategy-shell .strategy-event-description { margin-top: 6px; font-size: 12px; color: #d8c5a3; line-height: 1.75; }
.strategy-hint { margin: -1px 0 12px; color: #bad6c0; font-size: 11px; }
.strategy-hint > strong { display: inline; margin-right: 8px; color: #91c7a5; font-size: 11px; }
.strategy-hint > p { display: inline; }
.strategy-actions { display: grid; gap: 7px; }
.strategy-choice { display: flex; flex-direction: column; align-items: start; justify-content: center; width: 100%; min-height: 60px; padding: 10px 12px; border: 1px solid #65502d; border-radius: 2px; color: #edd4a0; background: #1e1c13; text-align: left; transition: border-color 140ms ease, background-color 140ms ease; }
.strategy-choice > strong { font-size: 13px; font-weight: 600; }
.strategy-choice > span { display: block; margin-top: 2px; color: #c1b397; font-size: 10px; line-height: 1.6; }
.strategy-choice:hover:not(:disabled) { border-color: #d6ad5c; background: #302514; }
.strategy-choice:disabled { opacity: .55; }
.strategy-choice.is-selected { border-color: #bed69b; background: #273120; color: #e0efbc; opacity: 1; }
.strategy-choice.is-selected > span { color: #c3d4a6; }
.strategy-shell .strategy-action-status { min-height: 33px; margin: 9px 0 8px; color: #c2b395; font-size: 10px; line-height: 1.6; }
.strategy-signals { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.strategy-signal-button { min-height: 30px; max-width: 100%; padding: 5px 8px; border: 1px solid #3f5546; border-radius: 2px; background: #18221b; color: #bcd3b5; font-size: 10px !important; text-align: left; line-height: 1.5; }
.strategy-signal-button:hover:not(:disabled) { border-color: #7baf87; background: #243329; }
.strategy-signal-button:disabled { opacity: .5; }
.strategy-signal-feed { margin-top: 9px; }
.strategy-signal-feed > p { margin-top: 3px; color: #bdd0b3; font-size: 10px; line-height: 1.65; }
.strategy-signal-feed strong { font-weight: 600; color: #89b895; }
.strategy-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 9px; }
.strategy-section-heading > span { color: #ac9d80; font-size: 10px; }
.strategy-team { display: flex; flex-direction: column; gap: 1px; background: #393321; }
.strategy-member { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 56px; padding: 7px 10px; background: #121511; }
.strategy-member.is-self { background: #262013; }
.strategy-member.is-submitted { background: #182317; }
.strategy-member.is-vacant { opacity: .6; }
.strategy-member > .strategy-art { width: 30px; height: 39px; }
.strategy-member-copy { min-width: 0; }
.strategy-member-copy > strong { display: block; max-width: 180px; overflow: hidden; color: #e3d6b8; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.strategy-member-copy > span { display: block; color: #b0a389; font-size: 10px; }
.strategy-member-choice { margin-left: auto; max-width: 45%; color: #c8ba97; font-size: 10px; text-align: right; }
.strategy-member.is-submitted .strategy-member-choice { color: #b9d1a4; }
.strategy-instructions { margin-top: 17px; padding-top: 9px; border-top: 1px solid #372f21; color: #c5b698; font-size: 11px; }
.strategy-instructions > summary { width: fit-content; min-height: 32px; padding: 5px 2px; color: #dec18a; cursor: pointer; }
.strategy-instructions > summary:hover { color: #f1d69a; }
.strategy-instructions > summary:focus-visible { outline: 2px solid #f0ca6b; outline-offset: 3px; }
.strategy-instructions > summary::marker { color: #c7a76a; }
.strategy-instructions > p { max-width: 74ch; margin-top: 5px; line-height: 1.8; }
.strategy-instructions > .strategy-rules-cooperation { color: #c2cca7; }
.strategy-result-art > .strategy-art { width: 104px; height: 83px; margin: 5px auto 12px; }
.strategy-result > h3 { color: #f0d28a; font-size: 21px; }
.strategy-result[data-outcome="lost"] > h3 { color: #ebb59a; }
.strategy-result > h3, .strategy-result-description, .strategy-result-score { text-align: center; }
.strategy-shell .strategy-result-description { margin: 8px 0; color: #ccbc9b; font-size: 12px; }
.strategy-result-score { display: block; color: #bada9c; font-size: 13px; font-weight: 500; }
.strategy-result > div:not(.strategy-result-art) { display: flex; gap: 8px; margin-top: 18px; }
.strategy-result > div > .strategy-button { flex: 1; }
.strategy-journal { margin-top: 20px; padding-top: 15px; border-top: 1px solid #393021; }
.strategy-log { margin: 0; padding: 0; list-style: none; font-size: 11px; line-height: 1.8; }
.strategy-log > li { padding: 6px 0; color: #b6ab91; border-bottom: 1px solid #26251b; overflow-wrap: anywhere; }
.strategy-log > li:first-child { color: #e1cda1; }
.strategy-default-art { width: 140px; height: 160px; margin: auto; }
@media (max-width: 1000px) {
  .game-page #strategy-activity { padding: 21px 20px; }
  .strategy-layout { grid-template-columns: minmax(0, 1fr) 280px; column-gap: 18px; }
  .strategy-lobby, .strategy-waiting, .strategy-decision, .strategy-result { padding-left: 17px; }
  .strategy-board-content { padding: 14px 15px; }
  .strategy-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .game-page #strategy-activity { padding: 18px 16px; }
  .strategy-heading { align-items: start; gap: 10px; margin-bottom: 15px; }
  .strategy-shell h2 { font-size: 20px; }
  .strategy-turn-label { max-width: 115px; padding-top: 3px; font-size: 10px; text-align: right; }
  .strategy-layout { display: flex; flex-direction: column; gap: 16px; }
  .strategy-layout > * { width: 100%; }
  .strategy-lobby, .strategy-waiting, .strategy-decision, .strategy-result { padding-left: 0; border-left: 0; order: 0; }
  .strategy-visual { order: 1; }
  .strategy-roster { order: 2; }
  .strategy-room-meta { order: 3; margin-top: 0; }
  .strategy-roles { margin: 9px 0 12px; }
  .strategy-role { flex-direction: row; justify-content: center; gap: 7px; min-height: 54px; padding: 4px; }
  .strategy-role .strategy-art { width: 30px; height: 42px; }
  .strategy-practice { min-height: 58px; }
  .strategy-join-form { margin-top: 14px; padding-top: 12px; }
  .strategy-lobby .strategy-fair-play { margin-top: 9px; }
  .strategy-board { min-height: 220px; }
  .strategy-board-content { min-height: 180px; padding: 12px 17px; }
  .strategy-board-heading { padding: 8px 11px; }
  .strategy-event { margin-bottom: 10px; padding-bottom: 10px; }
  .strategy-event-title { font-size: 15px; }
  .strategy-shell .strategy-event-description { margin-top: 4px; line-height: 1.65; }
  .strategy-actions { gap: 6px; }
  .strategy-choice { min-height: 55px; padding: 8px 11px; }
  .strategy-choice > span { font-size: 10px; }
  .strategy-shell .strategy-action-status { min-height: 0; margin-bottom: 0; }
  .strategy-signals { margin-top: 8px; }
  .strategy-signal-feed { margin-top: 7px; }
  .strategy-hint { margin-bottom: 9px; }
  .strategy-board-lanes, .strategy-board-paths { padding: 10px 12px; }
  .strategy-fire-lane { min-height: 163px; padding-bottom: 32px; }
  .strategy-lane-enemies { min-height: 64px; }
  .strategy-lane-enemies .strategy-art { width: 37px; height: 49px; }
  .strategy-lane-torch { height: 44px; }
  .strategy-mist-paths { min-height: 140px; }
  .strategy-mist-route .strategy-art { height: 77px; }
  .strategy-mist-route strong { font-size: 11px; }
  .strategy-rune-altar { min-height: 135px; }
  .strategy-rune-slot { padding: 8px 2px; }
  .strategy-rune-slot .strategy-art { width: 48px; height: 54px; }
  .strategy-cart-track { height: 99px; }
  .strategy-mine-section { height: 78px; }
  .strategy-mine-section .strategy-art { height: 63px; }
  .strategy-mine-tunnel { margin-bottom: 12px; }
  .strategy-siege-scene { min-height: 135px; }
  .strategy-city-gate { height: 140px; }
  .strategy-beast-scene { min-height: 115px; }
  .strategy-beast-art { height: 132px; }
  .strategy-forge-scene { height: 112px; }
  .strategy-forge-sword { height: 108px; }
  .strategy-salvage-scene { min-height: 126px; }
  .strategy-salvage-dragon { height: 138px; }
  .strategy-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 11px; gap: 10px; }
  .strategy-gauge-label { flex-wrap: wrap; gap: 0 5px; font-size: 9px; }
  .strategy-gauge-label strong { font-size: 10px; }
  .strategy-section-heading { margin-bottom: 7px; }
  .strategy-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .strategy-member { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 5px; text-align: center; }
  .strategy-member > .strategy-art { width: 31px; height: 36px; }
  .strategy-member-copy { max-width: 100%; }
  .strategy-member-copy > strong { max-width: 100%; font-size: 10px; }
  .strategy-member-copy > span { font-size: 9px; }
  .strategy-member-choice { max-width: 100%; margin-left: 0; font-size: 9px; text-align: center; }
  .strategy-journal { margin-top: 17px; padding-top: 12px; }
  .strategy-result-art > .strategy-art { margin-top: 0; }
}
@media (max-width: 390px) {
  .game-page #strategy-activity { padding: 15px 12px; }
  .strategy-shell .strategy-goal { font-size: 11px; }
  .strategy-turn-label { max-width: 94px; font-size: 9px; }
  .strategy-role { gap: 4px; }
  .strategy-room-meta { gap: 7px 10px; }
  .strategy-board-tag { max-width: 130px; }
  .strategy-grid-cell { min-height: 62px; }
  .strategy-grid-cell > span { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .strategy-shell *, .strategy-shell *::before, .strategy-shell *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
