/* Adventure windows share Fablekin's field-console language. The borders are
   decorative: text, focus rings and the original scroll containers stay free. */
body.game-mode :is(.game-adventure-menu,.game-habitat,.game-daily,.game-challenge,.game-activities,.game-trail-event,.game-journey,.game-survival,.game-route-window,.game-loot,.game-ending){
 --adventure-ink:#20283e;--adventure-card:#2d3d54;--adventure-line:#80c9be;
 --adventure-text:#fff5df;--adventure-muted:#dae6ef;--adventure-gold:#ffda8b;
}
body.game-mode .game-window:is(.game-adventure-menu,.game-habitat,.game-daily,.game-challenge,.game-activities,.game-trail-event,.game-journey,.game-survival,.game-route-window,.game-ending) .game-window__body{
 background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 4px),#222a40;color:var(--adventure-text);
}
body.game-mode :is(.game-daily,.game-challenge,.game-trail-event,.game-journey){background:#222a40}

/* Modes are commands on the same device, with a gold rail for the suggested
   first expedition. Optional modes remain under the existing disclosure. */
body.game-mode .game-adventure-menu .adventure-recommendation{color:#e0e9ef;font:500 15px/1.55 var(--body);border-left:3px solid #ffda8b;padding:8px 12px;margin:0 0 16px;background:#2c3b51}
body.game-mode .game-adventure-menu .adventure-options>button{
 border:1px solid #83b5b8;border-left:4px solid #63cdbf;border-radius:0;
 background:linear-gradient(120deg,#304b62,#2d314a);color:#fff4dc;
 box-shadow:inset 0 2px #c5ffeb20,inset 0 -4px #15243b,2px 2px #142037;
 min-height:164px;padding:17px 19px 22px;
}
body.game-mode .game-adventure-menu .adventure-options>button.adventure-recommended{border-color:#ffda8b;border-left-color:#ffda8b;background:linear-gradient(120deg,#514844,#34374d)}
body.game-mode .game-adventure-menu .adventure-options strong{font:700 27px/1.12 Pixelify,monospace;color:#fff4dc;letter-spacing:.2px}
body.game-mode .game-adventure-menu .adventure-options p{font:400 14px/1.55 var(--body);color:#e0e9f1;margin-top:10px}
body.game-mode .game-adventure-menu .adventure-options small{font:600 13px/1.5 var(--body);color:#bddfd7;margin-top:10px}
body.game-mode .game-adventure-menu .adventure-options>button>span{color:#9ae9d7;margin-bottom:10px;font-size:27px}
body.game-mode .game-adventure-menu .adventure-options>button>b{color:#ffe29e}
body.game-mode .game-adventure-menu .adventure-options>button:is(:hover,:focus-visible){background:linear-gradient(120deg,#3e6072,#3a4058);border-color:#ffe29e;transform:none}
body.game-mode .adventure-advanced>summary{border:1px solid #698e9d;border-radius:0;background:#2a3a50;padding:12px 14px;color:#ffe2a1;min-height:48px}
body.game-mode .adventure-advanced>p{color:#dae6ef}

/* The habitat picture is the world; preparation is a readable field card. */
body.game-mode .game-habitat .habitat-console__list{border:1px solid #638b98;padding:10px;background:#1d2b40}
body.game-mode .game-habitat .habitat-option{border-radius:0;min-height:76px;box-shadow:inset 0 -3px #17253d}
body.game-mode .game-habitat .habitat-option.active{border-color:#ffda8b;background:linear-gradient(120deg,#3b5266,#343950);box-shadow:inset 4px 0 #ffda8b,inset 0 -3px #1a2a3e}
body.game-mode .game-habitat .habitat-option>strong{font:700 23px/1.15 Pixelify,monospace;color:#fff5df}
body.game-mode .game-habitat .habitat-console__preview{border-radius:0;border:2px solid #88c2b9;background:#fff5df;box-shadow:inset 0 -4px #bfd1c5,3px 4px #13243b}
body.game-mode .game-habitat .habitat-console__landscape{border-bottom:3px double #c2ead1}
body.game-mode .game-habitat .habitat-console__landscape h2{font:700 34px/1.1 Pixelify,monospace;color:#fff8e7;text-shadow:2px 2px #17333f}
body.game-mode .game-habitat .first-expedition-steps b{border-radius:0;background:#2b5363;box-shadow:2px 2px #a9bdb6;color:#fff2d7;font-family:Pixelify,monospace;font-size:20px}
body.game-mode .game-habitat .habitat-launch{border-radius:0;font:700 22px/1.15 Pixelify,monospace;min-height:50px}
body.game-mode .game-habitat .provision-picker{border-radius:0;border-color:#91aaa6;background:#e8eede}
body.game-mode .game-habitat .provision-picker button{border-radius:0;min-height:44px;box-shadow:inset 0 -3px #b9c8bc}
body.game-mode .game-habitat .provision-picker button.selected{background:#2d5364;color:#fff4dc;box-shadow:inset 0 -3px #172b3e}

/* Daily and challenge briefing: a compact banner, a clear team or rule card,
   then one launch action. Numbers and conditions remain in the reading face. */
body.game-mode :is(.game-daily,.game-challenge) :is(.daily-console,.challenge-console){color:#fff5df}
body.game-mode :is(.game-daily,.game-challenge) :is(.daily-console,.challenge-console) :is(h2,h3){font-family:Pixelify,monospace;color:#fff5df}
body.game-mode :is(.game-daily,.game-challenge) :is(.daily-console,.challenge-console) p{font:400 14px/1.6 var(--body);color:#dae6ef}
body.game-mode :is(.game-daily,.game-challenge) :is(.daily-console,.challenge-console) .adventure-eyebrow{color:#b8e4da;font-size:12px;letter-spacing:.6px}
body.game-mode .game-daily .daily-banner{border-color:#87cabc;background:linear-gradient(120deg,#315466,#29354f);box-shadow:inset 0 2px #c5ffeb25,inset 0 -4px #17273e}
body.game-mode .game-daily .daily-banner>strong{font:700 34px/1.1 Pixelify,monospace}
body.game-mode .game-daily .daily-banner .adventure-eyebrow{color:#c4ebdf}
body.game-mode .game-daily .daily-emblem{color:#ffdb87}
body.game-mode .game-daily .daily-founders{border-bottom-color:#668b98;gap:8px}
body.game-mode .game-daily .daily-founders>div{background:#2d4057;border:1px solid #6f9fa6;padding:6px 4px 12px;box-shadow:inset 0 -3px #182940}
body.game-mode .game-daily .daily-founders strong{font:700 25px/1.05 Pixelify,monospace;color:#fff6de}
body.game-mode .game-daily .daily-founders small{font:600 12px/1.4 var(--body);color:#dce8ee}
body.game-mode .game-daily .daily-founders .type-tag{font-size:10px}
body.game-mode :is(.game-daily,.game-challenge) :is(.daily-reward,.challenge-reward){border:1px solid #aa9464;border-left:4px solid #ffda8b;background:#45434a;color:#fff2d5;box-shadow:inset 0 -3px #242b3e}
body.game-mode :is(.game-daily,.game-challenge) :is(.daily-reward,.challenge-reward)>strong{font:700 14px/1.4 var(--body);color:#ffe2a0;letter-spacing:0}
body.game-mode :is(.game-daily,.game-challenge) :is(.daily-reward,.challenge-reward)>span{font:400 14px/1.5 var(--body);color:#fff0d7}
body.game-mode .game-daily .daily-console .daily-reward.claimed{border-color:#8ed5b0;background:#2d514c}
body.game-mode .game-daily .daily-records{border-left-color:#638a97}
body.game-mode .game-daily .daily-records h2{font:700 29px/1.1 Pixelify,monospace}
body.game-mode .game-daily .daily-records>p{font-size:14px}
body.game-mode .game-daily .daily-record-table{border-top-color:#82c4b6}
body.game-mode .game-daily .daily-record-row{border-bottom-color:#577484}
body.game-mode .game-daily .daily-record-labels{font:600 12px/1.4 var(--body);color:#b9d8df;text-transform:none}
body.game-mode .game-daily .daily-record-row>span>strong{font:700 13px/1.4 var(--body);color:#fff5df}
body.game-mode .game-daily .daily-record-row>span>small{font:500 12px/1.45 var(--body);color:#cddce5}
body.game-mode .game-daily .daily-record-row.complete>span>small{color:#a9edbf}
body.game-mode .game-daily .daily-record-row>b{color:#ffe0a0;font-size:29px}
body.game-mode .game-daily .daily-record-row>b>small{font-size:12px;color:#dce7ed}
body.game-mode .game-daily .daily-console .adventure-empty{background:#293a50;border-color:#80a8af;color:#d5e6e8}
body.game-mode .game-daily .daily-console .adventure-empty>strong{font:700 25px/1.15 Pixelify,monospace;color:#fff4db}
body.game-mode .game-daily .daily-console .adventure-empty>span{color:#ffda8b}
body.game-mode :is(.game-daily,.game-challenge) :is(.daily-console,.challenge-console) :is(.daily-launch,.challenge-launch){font:700 21px/1.15 Pixelify,monospace;min-height:50px;border-radius:0;padding:12px}
body.game-mode .game-daily .daily-more-rules{border-top:1px solid #6d95a0;margin-top:18px;padding-top:6px}
body.game-mode .game-daily .daily-more-rules>summary{min-height:44px;align-content:center;color:#ffe0a0;font:600 14px/1.5 var(--body);cursor:pointer}
body.game-mode .game-challenge .challenge-console .challenge-card{border:1px solid #85aeb3;border-left:4px solid #6cc9b9;border-radius:0;background:linear-gradient(120deg,#2c485e,#2b334b);color:#f8f3e2;box-shadow:inset 0 -4px #15263d;min-height:135px}
body.game-mode .game-challenge .challenge-console .challenge-card.selected{border-color:#ffda8b;border-left-color:#ffda8b;background:linear-gradient(120deg,#514b4a,#343b52);box-shadow:inset 0 -4px #24283d}
body.game-mode .game-challenge .challenge-card>strong{font:700 28px/1.1 Pixelify,monospace}
body.game-mode .game-challenge .challenge-card>span:not(.challenge-card__number){font:400 14px/1.5 var(--body);opacity:1;color:#e1eaf0}
body.game-mode .game-challenge .challenge-card>small{font:600 12px/1.45 var(--body);opacity:1;color:#c4e2db;letter-spacing:0}
body.game-mode .game-challenge .challenge-card__number{font:700 12px/1.2 var(--body);opacity:1;color:#bdd8e1}
body.game-mode .game-challenge .challenge-card>b{color:#ffdc91}
body.game-mode .game-challenge .challenge-detail{background:linear-gradient(130deg,#2c4258,#2a314a);border:2px solid #85b8b0;border-radius:0;box-shadow:inset 0 -4px #17283f,3px 4px #13243b;color:#fff4dc}
body.game-mode .game-challenge .challenge-detail__heading h2{color:#fff4dc;font:700 36px/1.08 Pixelify,monospace}
body.game-mode .game-challenge .challenge-detail .adventure-eyebrow{color:#ade6d7}
body.game-mode .game-challenge .challenge-clear{font-size:13px;color:#b1efbd}
body.game-mode .game-challenge .challenge-element{font:700 14px/1.4 var(--body);color:#d7e9ed}
body.game-mode .game-challenge .challenge-console select{border-radius:0;min-height:44px;background:#21384d;border-color:#91bcb7;color:#fff4dc;font:600 15px/1.4 var(--body)}
body.game-mode .game-challenge .challenge-rules{font:400 14px/1.6 var(--body);color:#dce8ed}
body.game-mode .game-challenge .challenge-eligible{border-top-color:#688e9a}
body.game-mode .game-challenge .challenge-eligible>strong{font:700 14px/1.4 var(--body);color:#bcebdc}
body.game-mode .game-challenge .challenge-eligible>span{font:400 14px/1.5 var(--body);color:#d5e5ed}
body.game-mode .game-challenge .challenge-detail .challenge-reward{background:#48424a;border-color:#a69775;box-shadow:inset 0 -3px #263044}
body.game-mode .game-challenge .challenge-detail .challenge-reward>strong{color:#ffe0a0}
body.game-mode .game-challenge .challenge-detail .challenge-reward>span{color:#fff0d7}

/* Trail decisions read like dialogue plus explicit commands. A declined or
   unavailable option still explains its reason at full contrast. */
body.game-mode :is(.game-trail-event,.game-journey) .encounter-intro{padding-top:16px}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-intro h2{font:700 32px/1.1 Pixelify,monospace;color:#fff5df}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-intro p{font:400 14px/1.55 var(--body);color:#e0e8ed}
body.game-mode :is(.game-trail-event,.game-journey) .adventure-eyebrow{font:700 12px/1.45 var(--body);letter-spacing:.5px;color:#ade6d7}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-intro>small{font:500 13px/1.5 var(--body);color:#ccdde7;border-color:#688a98}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-illustration{border:2px solid #88c4b9;box-shadow:inset 0 0 0 2px #1f3546,3px 4px #14233a}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice{border:1px solid #87adb4;border-left:4px solid #71d1bf;background:linear-gradient(120deg,#304b61,#2e354d);border-radius:0;box-shadow:inset 0 2px #bcffed18,inset 0 -3px #18263c;min-height:44px;color:#fff4dc}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice__number{font:700 23px/1 Pixelify,monospace;color:#91d9cb}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice__body>strong{font:700 25px/1.12 Pixelify,monospace;color:#fff5df}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice__body>span{font:400 14px/1.55 var(--body);color:#e1eaf1}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice__cost{font:700 14px/1.45 var(--body);color:#ffe0a0;letter-spacing:0}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice__reason{font:600 14px/1.45 var(--body);color:#ffd3be}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice__arrow{color:#ffda8b}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice:not(:disabled):is(:hover,:focus-visible){background:#3e566c;border-color:#ffe0a0;transform:none}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice:disabled{opacity:1;border-color:#657e91;border-left-color:#8290a1;background:#2a3548;box-shadow:inset 0 -3px #1e2b3e}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice:disabled .encounter-choice__body>strong{color:#d3dce5}
body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice.encounter-leave{background:#242d42;border-color:#78949e;box-shadow:none}
body.game-mode .game-journey .journey-story-details{border-top:1px solid #668b98;padding-top:4px}
body.game-mode .game-journey .journey-story-details summary{color:#ffe0a0;font:600 14px/1.5 var(--body);min-height:44px;align-content:center}
body.game-mode .game-journey .journey-story-details p{color:#dce6ef;font:400 14px/1.55 var(--body)}
body.game-mode .game-journey .journey-story-details small{color:#cddfe7;font:500 14px/1.5 var(--body);border-color:#6d8d99}
body.game-mode .game-window.game-journey .journey-encounter .encounter-intro h2{font:700 32px/1.1 Pixelify,monospace;color:#fff5df}
body.game-mode .game-window.game-journey .journey-encounter .adventure-eyebrow{font:700 12px/1.45 var(--body);color:#ade6d7;letter-spacing:.5px}

/* The reward is an explicit choice, framed separately from free preparation.
   A reward can advance the run, so its existing warning stays conspicuous. */
body.game-mode .game-loot .game-window__heading{background:linear-gradient(120deg,#4b4246,#2e3f54);border-bottom:3px double #b5c7a9}
body.game-mode .game-loot .game-window__heading h1{color:#ffe3a2;font:700 32px/1.1 Pixelify,monospace;text-shadow:2px 2px #192439}
body.game-mode .game-loot .game-window__heading p{color:#deebe8;font-size:13px}
body.game-mode .game-loot .game-window__body{background:#222a40;color:#fff4dc}
body.game-mode .game-loot .loot-summary{border-color:#6a8c99;color:#fff4dc}
body.game-mode .game-loot .loot-summary p{font:500 15px/1.5 var(--body);color:#fff4dc}
body.game-mode .game-loot .loot-summary p small{font:600 14px/1.5 var(--body);color:#bde7dc}
body.game-mode .game-loot .loot-emblem{color:#ffdb88}
body.game-mode .game-loot .loot-choice.run-reward{background:linear-gradient(120deg,#314b60,#2c354b);border:1px solid #89b7b4;border-left:4px solid #6fd5bd;border-radius:0;padding:15px;gap:13px;min-height:106px;box-shadow:inset 0 2px #d4ffed17,inset 0 -3px #14263d}
body.game-mode .game-loot .loot-choice.run-reward:is(:hover,:focus-visible){background:linear-gradient(120deg,#425d6e,#3b435b);border-color:#ffe1a0;transform:none}
body.game-mode .game-loot .loot-choice__text strong{font:700 26px/1.12 Pixelify,monospace;color:#fff4dc}
body.game-mode .game-loot .loot-choice__text small{font:400 14px/1.55 var(--body);color:#e0eaf0}
body.game-mode .game-loot .loot-choice__text b{font:700 13px/1.45 var(--body);color:#ffe0a0;letter-spacing:0}
body.game-mode .game-loot .run-reward--recovery .loot-choice__text :is(small,b){font-size:14px;line-height:1.5;color:#e1eee9}
body.game-mode .game-loot .run-reward-icon{background:#233b50;border-color:#83b9b3;color:#a2e9d4}
body.game-mode .game-loot .reward-commitment{font:600 14px/1.5 var(--body);background:#4b4144;border:1px solid #9e8b6b;border-left:4px solid #ffda8b;color:#ffeac1;padding:10px 12px;border-radius:0}
body.game-mode .game-loot .game-loot-tools{border-top:1px solid #5b7c8c;padding-top:13px}
body.game-mode .game-loot .game-loot-tools .button{min-height:44px;font:700 13px/1.35 var(--body);border-radius:0}
body.game-mode .game-loot .run-horizon{background:#293e54;border:1px solid #7ca4ad;border-radius:0;color:#e2efec;box-shadow:inset 0 -3px #192a40}
body.game-mode .game-loot .run-horizon strong{color:#b6eddd;font-size:14px}
body.game-mode .game-loot .run-horizon small{color:#dbe7ed;font-size:13px;line-height:1.5}
body.game-mode .game-loot .run-horizon>b{color:#ffdf9b;min-width:61px;font-size:13px}

/* Routes and endings retain the exact recovery, cost and persistence rules. */
body.game-mode .game-route-window :is(.checkpoint-condition,.sector-recovery){background:#f8f0d9;color:#294b55;border:1px solid #9ab9ae;border-left:4px solid #77c8ad;border-radius:0;padding:14px;box-shadow:inset 0 -3px #b5c8ba}
body.game-mode .game-route-window :is(.checkpoint-condition,.sector-recovery) p{font:400 14px/1.55 var(--body);color:#34535e}
body.game-mode .game-route-window :is(.checkpoint-condition,.sector-recovery) strong{color:#214c55}
body.game-mode .game-route-window.game-biome-window .sector-recovery strong{color:#214c55}
body.game-mode .game-route-window .game-route-choices>button{border:1px solid #7cafaf;border-left:4px solid #7bceba;border-radius:0;background:linear-gradient(120deg,#304c62,#2c344d);box-shadow:inset 0 -3px #14263d;color:#fff4df;min-height:112px}
body.game-mode .game-route-window .game-route-choices>button>strong{font:700 27px/1.1 Pixelify,monospace;color:#fff4dc}
body.game-mode .game-route-window .game-route-choices>button>small{font:400 14px/1.55 var(--body);color:#e0e9ef}
body.game-mode .game-route-window .game-route-choices>button>b{font:700 14px/1.45 var(--body);color:#ffe0a0}
body.game-mode .game-route-window .game-route-choices>button:is(:hover,:focus-visible){background:#3c566c;border-color:#ffe0a0;transform:none}
body.game-mode :is(.game-ending,.game-route-window) .game-result-message{font:700 29px/1.15 Pixelify,monospace;color:#fff3db}
body.game-mode .game-ending :is(.ending-note,.ending-tip p){font:400 14px/1.6 var(--body);color:#dce8ed}
body.game-mode .game-ending .ending-tip{background:#2e4054;border:1px solid #82a8aa;border-left:4px solid #ffda8b;border-radius:0;box-shadow:inset 0 -3px #182a40}
body.game-mode .game-ending .ending-tip strong{font:700 14px/1.4 var(--body);color:#ffe2a0}
body.game-mode .game-ending .game-ending-emblem{color:#ffd986;text-shadow:2px 3px #16243a}
body.game-mode .game-ending .ending-stats>span{background:#2f4359;border:1px solid #81b4af;border-radius:0;color:#c5e3df;font:700 13px/1.4 var(--body);box-shadow:inset 0 -3px #18283e}
body.game-mode .game-ending .ending-stats b{font:700 37px/1.1 Pixelify,monospace;color:#ffe0a0}
body.game-mode .game-ending .ending-actions .button{min-height:48px;font:700 15px/1.4 var(--body);border-radius:0}

/* Tactical trials keep their long rules on paper cards, surrounded by the
   same slate console as the other adventures. Entry injuries stay explicit. */
body.game-mode .game-activities .activity-console>.depth-intro{font:400 14px/1.6 var(--body);color:#e0e9ef}
body.game-mode .game-activities .activity-card{border:1px solid #91b9ae;border-top:4px solid #75c9b7;border-radius:0;background:#fff5df;box-shadow:inset 0 -4px #c0cebd,3px 4px #14263a}
body.game-mode .game-activities .activity-card.locked{background:#e3e8df;border-top-color:#7a919c}
body.game-mode .game-activities .activity-card h2{font:700 30px/1.1 Pixelify,monospace;color:#254451}
body.game-mode .game-activities .activity-card .depth-eyebrow{font:700 12px/1.5 var(--body);color:#486772}
body.game-mode .game-activities .activity-card .activity-entry-party{border-radius:0;background:#e7ede2;border-color:#639b8a}
body.game-mode .game-activities .activity-card .button{border-radius:0;min-height:48px;font-size:14px}
body.game-mode .game-activities .activity-return{color:#ffdfa0;min-height:44px}
body.game-mode .game-activities .activity-preparation .button{min-height:46px;border-radius:0}
body.game-mode .game-survival .survival-console{color:#fff5df}
body.game-mode .game-survival .survival-console>.depth-eyebrow{color:#ade3d5}
body.game-mode .game-survival .survival-console>h2{font:700 32px/1.1 Pixelify,monospace;color:#fff5df}
body.game-mode .game-survival .survival-console>p{color:#dce8ed}
body.game-mode .game-survival .survival-next{border-radius:0;background:#2e465b;border-color:#7dafad;box-shadow:inset 0 -3px #17283e}
body.game-mode .game-survival .survival-next strong{font:700 26px/1.1 Pixelify,monospace;color:#fff5df}
body.game-mode .game-survival .survival-next strong small{font:600 14px/1.4 var(--body);color:#dce7ed}
body.game-mode .game-survival .survival-next .depth-eyebrow{color:#ade3d5}
body.game-mode .game-survival .survival-plan{border-radius:0;border-color:#c2aa72;background:#fff0ce;box-shadow:inset 0 -4px #d6c6a1}
body.game-mode .game-survival .survival-team-heading{font:700 27px/1.1 Pixelify,monospace;color:#fff3db}
body.game-mode .game-survival .survival-console .survival-care-rule{color:#dce8ed}
body.game-mode .game-survival .survival-party article{background:#fff5df;border-color:#9eb5ad;border-radius:0;box-shadow:inset 0 -3px #bfcec0}
body.game-mode .game-survival .survival-party strong{font:700 25px/1.1 Pixelify,monospace;color:#254451}
body.game-mode .game-survival .survival-party .button{border-radius:0;min-height:46px}

/* Scout is informational: opening it does not spend a turn or resources. */
body.game-mode .scout-modal .scout-sector{font:700 14px/1.4 var(--body);color:#b5e9db;flex-wrap:wrap;gap:5px 14px}
body.game-mode .scout-modal .scout-track{gap:4px}
body.game-mode .scout-modal .scout-track>span{height:33px;border-color:#6f9d9e;background:#2c3e55;color:#d9e6ec;font:700 21px/1 Pixelify,monospace}
body.game-mode .scout-modal .scout-track>.milestone{border-color:#e0bd7b;color:#ffe0a0}
body.game-mode .scout-modal .scout-track>.current{background:#ffda8b;border-color:#fff0bc;color:#24384a;box-shadow:inset 0 -3px #bb8e53}
body.game-mode .scout-modal .scout-track>.cleared{background:#274a49;color:#a5e9c0}
body.game-mode .scout-modal .scout-next{font:400 14px/1.5 var(--body);color:#dce8ed}
body.game-mode .scout-modal .scout-next strong{color:#fff1cf}
body.game-mode .scout-modal .scout-target{background:#2c3d53;border:1px solid #7ca7ad;box-shadow:inset 0 -3px #192a40}
body.game-mode .scout-modal .scout-target .eyebrow{font:700 12px/1.45 var(--body);color:#b0e4d5;letter-spacing:.3px}
body.game-mode .scout-modal .scout-target h3{font:700 29px/1.1 Pixelify,monospace;color:#fff2d7}
body.game-mode .scout-modal .scout-target>p{font:400 14px/1.55 var(--body);color:#dce8ed}
body.game-mode .scout-modal .scout-roster>div{background:#314e60;border:1px solid #638e96;min-width:0}
body.game-mode .scout-modal .scout-roster strong{font:700 22px/1.1 Pixelify,monospace;color:#fff4dd;overflow-wrap:anywhere}
body.game-mode .scout-modal .scout-roster small{font-size:13px;color:#d6e6eb}
body.game-mode .scout-modal .scout-roster .type-tag{font-size:10px}
body.game-mode .scout-modal .scout-recovery{background:#39494e;border:1px solid #8c9c87;border-left:4px solid #ffda8b}
body.game-mode .scout-modal .scout-recovery strong{font:700 14px/1.4 var(--body);color:#ffe3a5;letter-spacing:0}
body.game-mode .scout-modal .scout-recovery p{font:400 14px/1.55 var(--body);color:#e0ebe9}
body.game-mode .scout-modal .scout-preparation{font:400 14px/1.55 var(--body);color:#d6e6ed}
body.game-mode .scout-modal .scout-actions .button{min-height:46px;font-size:14px;border-radius:0}

/* The six crests are a compact guardian board. Locked trails keep their
   actual requirements readable; the first available expedition has a cursor. */
body.game-mode .game-challenges .page-heading{margin-bottom:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
body.game-mode .game-challenges .page-heading p{font:400 14px/1.6 var(--body);color:#dce8ed}
body.game-mode .game-challenges .collection-total{color:#ffe0a0}
body.game-mode .game-challenges .collection-total strong{font:700 38px/1 Pixelify,monospace;color:#ffe0a0}
body.game-mode .game-challenges .collection-total strong>span{font:600 15px/1 var(--body);color:#c4e6df}
body.game-mode .game-challenges .collection-total>small{font:700 12px/1.4 var(--body);color:#bcdbe3}
body.game-mode .game-challenges .crest-progress{background:#263c52;border:1px solid #82b3ae;border-radius:0;padding:12px;gap:8px;margin:0 0 18px;box-shadow:inset 0 -3px #15263c}
body.game-mode .game-challenges .crest-stop .crest{background:#304a60;border-color:#81afa8;color:#b9d7da}
body.game-mode .game-challenges .crest-stop.earned .crest{background:#7bd7b6;border-color:#d0ffdb;color:#233e45}
body.game-mode .game-challenges .crest-stop>small{font:600 11px/1.3 var(--body);color:#d6e5e7;letter-spacing:0}
body.game-mode .game-challenges .challenge-grid{gap:16px;align-items:start}
body.game-mode .game-challenges .challenge-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;background:#2c3e53;border:1px solid #85b2af;border-left:4px solid #76d1bd;border-radius:0;box-shadow:inset 0 -3px #16263d,3px 4px #132136;color:#fff4dc;opacity:1;overflow:visible}
body.game-mode .game-challenges .challenge-card.locked{background:#2b3549;border-color:#6e8b99;border-left-color:#71889b;opacity:1}
body.game-mode .game-challenges .challenge-art{height:auto;min-height:0;width:100%;max-width:none;display:grid;grid-template-columns:44px minmax(0,1fr);gap:7px 10px;align-items:center;padding:15px;background:linear-gradient(120deg,#315667,#2d364f);border-bottom:1px solid #7ca7a8;overflow:visible;position:relative;box-sizing:border-box}
body.game-mode .game-challenges .challenge-card.locked .challenge-art{background:linear-gradient(120deg,#344456,#2c3549);border-bottom-color:#667f90}
body.game-mode .game-challenges .challenge-index{position:static;grid-column:1/-1;font:700 12px/1.4 var(--body);color:#b7e4d9;letter-spacing:.6px}
body.game-mode .game-challenges .challenge-art>.crest.large{position:static;width:40px;height:40px;transform:none;margin:0;grid-column:1;grid-row:2;background:#254153;border:1px solid #91c8b6;color:#ffda8b;box-shadow:inset 0 -3px #172b3e}
body.game-mode .game-challenges .challenge-art>.crest.large>.icon{width:25px;height:25px;transform:none}
body.game-mode .game-challenges .challenge-art>div{position:static;grid-column:2;grid-row:2;transform:none;padding:0;min-width:0}
body.game-mode .game-challenges .challenge-art h2{font:700 30px/1.05 Pixelify,monospace;color:#fff5df;text-shadow:1px 2px #16253b;margin:0 0 4px;overflow-wrap:anywhere}
body.game-mode .game-challenges .challenge-art>div>span{font:500 13px/1.4 var(--body);color:#d9e8ed}
body.game-mode .game-challenges .challenge-info{padding:15px;display:flex;flex-direction:column;gap:12px}
body.game-mode .game-challenges .challenge-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:#bbe7da}
body.game-mode .game-challenges .challenge-meta>span{font:700 12px/1.4 var(--body);letter-spacing:.1px;color:#bbe7da}
body.game-mode .game-challenges .challenge-info>p{font:400 14px/1.55 var(--body);color:#e0e9ef;margin:0}
body.game-mode .game-challenges .challenge-team{display:flex;gap:8px;flex-wrap:wrap;margin:0}
body.game-mode .game-challenges .challenge-team>span{background:#263a50;border:1px solid #6e939d;padding:3px 8px 7px;display:flex;flex-direction:column;align-items:center;min-width:60px}
body.game-mode .game-challenges .challenge-team .sprite{width:58px;height:58px;object-fit:contain}
body.game-mode .game-challenges .challenge-team small{font:600 13px/1.35 var(--body);color:#dce8ed}
body.game-mode .game-challenges .challenge-unlock{display:flex;gap:8px;align-items:center;color:#ffdfa0;font:600 14px/1.5 var(--body);border-top:1px solid #698a95;padding-top:10px}
body.game-mode .game-challenges .challenge-unlock>.icon{color:#ffdfa0;flex-shrink:0}
body.game-mode .game-challenges .challenge-info>.button{min-height:48px;font:700 20px/1.15 Pixelify,monospace;border-radius:0;padding:11px;white-space:normal}
body.game-mode .game-challenges .challenge-card.locked .challenge-info>.button:disabled{opacity:1;background:#303f52;border-color:#748e9d;color:#d8e3e8;box-shadow:inset 0 -3px #192b3e;font:600 14px/1.4 var(--body)}

/* A written return destination is useful even before players learn the menu.
   Long headings wrap; the real back control remains a full touch target. */
body.game-mode .game-window__heading>div{min-width:0}
body.game-mode .game-window__close.icon-button{width:auto;height:auto;min-height:44px;min-width:44px;flex:0 0 auto;gap:7px;padding:9px 11px;display:inline-flex;align-items:center;justify-content:center}
body.game-mode .game-window__close .game-window__back-label{font:700 13px/1.3 var(--body);letter-spacing:0;max-width:160px;text-align:left;white-space:normal}

/* Grouped pause commands are a game menu; resume stays its single primary. */
body.game-mode .pause-menu__group{border-color:#688b9a}
body.game-mode .pause-menu__group>h3{font:700 23px/1.15 Pixelify,monospace;color:#b0e7da;letter-spacing:.2px;margin:0 0 4px}
body.game-mode .pause-menu__group>button{border-radius:0;border:1px solid #88b5ba;border-left:4px solid #70c9bb;background:linear-gradient(120deg,#2f4b62,#2d364e);box-shadow:inset 0 2px #c2ffed15,inset 0 -3px #182a40;color:#fff5df;min-height:48px;font:700 15px/1.4 var(--body)}
body.game-mode .pause-menu__group>button small{font:400 13px/1.4 var(--body);color:#d5e5ed}
body.game-mode .pause-menu__group .pause-menu__resume{border:2px solid #ffedb5;background:linear-gradient(120deg,#ffe5a6,#ffc975);box-shadow:inset 0 2px #fff9dd,inset 0 -3px #ba884c;color:#24364b;font:700 24px/1.1 Pixelify,monospace}
body.game-mode .pause-menu__more>summary{min-height:48px;font:600 14px/1.5 var(--body);color:#ffe2a0;cursor:pointer;border-top:1px solid #638c99;margin-top:4px;padding-top:6px}
body.game-mode .pause-controls{color:#bed6e1;font:400 13px/1.5 var(--body)}

@media(max-width:700px){
 body.game-mode .game-window__heading{gap:9px;align-items:flex-start}
 body.game-mode .game-window__close.icon-button{padding:8px;gap:5px}
 body.game-mode .game-window__close .game-window__back-label{font-size:12px;max-width:83px}
 body.game-mode .game-adventure-menu .adventure-options>button{padding:16px;min-height:150px}
 body.game-mode .game-adventure-menu .adventure-options strong{font-size:26px}
 body.game-mode .game-habitat .habitat-console__list{padding:8px}
 body.game-mode .game-habitat .habitat-option>strong{font-size:22px}
 body.game-mode .game-habitat .habitat-console__landscape h2{font-size:28px}
 body.game-mode .game-habitat .habitat-launch{font-size:22px}
 body.game-mode .game-daily .daily-console,.challenge-console{grid-template-columns:minmax(0,1fr)}
 body.game-mode .game-daily .daily-founders strong{font-size:23px}
 body.game-mode .game-daily .daily-founders .sprite{width:78px;height:78px}
 body.game-mode .game-daily .daily-founders small{font-size:12px}
 body.game-mode .game-daily .daily-records{border-left:0;border-top:1px solid #638a97;padding:18px 0 0}
 body.game-mode .game-challenge .challenge-console .challenge-card{min-height:74px;padding:13px 30px 13px 13px;gap:5px}
 body.game-mode .game-challenge .challenge-card>strong{font-size:26px}
 body.game-mode .game-challenge .challenge-detail{padding:16px}
 body.game-mode .game-challenge .challenge-detail__heading h2{font-size:32px}
 body.game-mode :is(.game-trail-event,.game-journey) .encounter-intro h2{font-size:27px}
 body.game-mode .game-window.game-journey .journey-encounter .encounter-intro h2{font-size:27px}
 body.game-mode :is(.game-trail-event,.game-journey) .encounter-intro{padding-top:0}
 body.game-mode :is(.game-trail-event,.game-journey) .encounter-choice__body>strong{font-size:24px}
 body.game-mode .game-loot .game-window__heading h1{font-size:27px}
 body.game-mode .game-loot .loot-choice.run-reward{padding:13px;gap:10px}
 body.game-mode .game-loot .loot-choice__text strong{font-size:24px}
 body.game-mode .game-loot .run-horizon{flex-wrap:wrap;gap:7px}
 body.game-mode .game-ending .ending-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 body.game-mode .game-ending .ending-actions .button{width:100%}
 body.game-mode .pause-menu__group>button{flex-wrap:wrap;gap:5px 9px}
 body.game-mode .pause-menu__group>button small{max-width:160px;font-size:12px}
 body.game-mode .game-challenges .crest-progress{padding:10px 8px;gap:4px;margin-bottom:14px}
 body.game-mode .game-challenges .crest-stop>small{font-size:10px}
 body.game-mode .game-challenges .challenge-art{padding:13px;gap:6px 10px}
 body.game-mode .game-challenges .challenge-info{padding:13px;gap:10px}
 body.game-mode .game-challenges .challenge-info>p{font-size:14px}
}
@media(max-height:500px) and (min-width:701px){
 body.game-mode .game-adventure-menu .adventure-options>button{min-height:148px;padding:14px}
 body.game-mode .game-adventure-menu .adventure-options strong{font-size:25px}
 body.game-mode .game-adventure-menu .adventure-options :is(p,small){font-size:13px}
 body.game-mode .game-habitat .habitat-option>strong{font-size:22px}
 body.game-mode .game-habitat .habitat-console__landscape h2{font-size:26px}
 body.game-mode :is(.game-trail-event,.game-journey) .encounter-intro h2{font-size:27px}
 body.game-mode .game-window.game-journey .journey-encounter .encounter-intro h2{font-size:27px}
 body.game-mode :is(.game-trail-event,.game-journey) .encounter-intro{padding-top:0}
 body.game-mode .game-daily .daily-console{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr)}
 body.game-mode .game-daily .daily-founders .sprite{width:64px;height:64px}
 body.game-mode .game-daily .daily-founders strong{font-size:23px}
 body.game-mode .game-challenge .challenge-console{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 body.game-mode .game-challenge .challenge-console .challenge-card{min-height:122px;padding:14px;gap:7px}
 body.game-mode .game-challenge .challenge-card>strong{font-size:25px}
 body.game-mode .game-challenge .challenge-card>span:not(.challenge-card__number){font-size:14px}
 body.game-mode .game-loot .game-window__heading h1{font-size:26px}
 body.game-mode .game-loot .loot-choice__text strong{font-size:24px}
 body.game-mode .game-loot .loot-choice.run-reward{padding:12px}
 body.game-mode .game-ending .ending-actions .button{font-size:14px}
}

/* Proposed R2 continuity pass. Keeps the existing hierarchy and exact facts;
   warm gold identifies commitment while recovery information stays in slate. */
body.game-mode .game-habitat .habitat-console__preview{background:#28394f;color:#fff4dc;box-shadow:inset 0 -4px #15273e,3px 4px #13243b}
body.game-mode .game-habitat .habitat-console__preview>p,
body.game-mode .game-habitat .habitat-console__preview>.first-expedition-intro{background:transparent;color:#dce8ed}
body.game-mode .game-habitat .first-expedition-steps{color:#dce8ed}
body.game-mode .game-habitat .first-expedition-steps b{background:#375d6d;border:1px solid #8ac4b9;box-shadow:2px 2px #14283e;color:#fff0d0}
body.game-mode .game-habitat .habitat-console__guardian{border-color:#688f99;background:#2e465a}
body.game-mode .game-habitat .habitat-console__guardian :is(span,small){color:#dce8ed}
body.game-mode .game-habitat .habitat-console__preview :is(.habitat-guardian,.preparation-extras){border-color:#6f959e}
body.game-mode .game-habitat .habitat-console__preview :is(.habitat-guardian,.preparation-extras)>summary{color:#ffdfa0}
body.game-mode .game-habitat .preparation-ready{background:#2f4a5c;border-color:#7bada9;box-shadow:inset 0 -3px #1d2e44;border-radius:0;color:#dce8ed}
body.game-mode .game-habitat .preparation-ready strong{color:#b8ebd9}
body.game-mode .game-habitat .preparation-ready p{color:#dce8ed}
body.game-mode .game-habitat .preparation-research,
body.game-mode .game-habitat .preparation-research p{color:#dce8ed}
body.game-mode .game-habitat .preparation-research .extra-goal{border-color:#6f959e;color:#b8ebd9}
body.game-mode .game-habitat .provision-picker{background:#283f54;border-color:#7aa8a9;color:#dce8ed}
body.game-mode .game-habitat .provision-picker :is(p,label){color:#dce8ed}
body.game-mode .game-habitat .provision-picker button{background:#2e4a5f;border-color:#83acae;color:#fff4dc;box-shadow:inset 0 -3px #17283e}
body.game-mode .game-habitat .provision-picker button.selected{background:#4e494b;border-color:#ffda8b;color:#fff0cd;box-shadow:inset 3px 0 #ffda8b,inset 0 -3px #242b3f}
body.game-mode .game-route-window :is(.checkpoint-condition,.sector-recovery){background:#2c4056;border-color:#7ea9aa;border-left-color:#8ddbc3;box-shadow:inset 0 -3px #1b2b42;color:#e0e9ef}
body.game-mode .game-route-window :is(.checkpoint-condition,.sector-recovery) p{color:#dce8ed}
body.game-mode .game-route-window :is(.checkpoint-condition,.sector-recovery) strong,
body.game-mode .game-route-window.game-biome-window .sector-recovery strong{color:#b7efda}
body.game-mode .game-survival .survival-plan{background:#3e3c4a;border-color:#a99d79;border-left:4px solid #ffda8b;box-shadow:inset 0 -4px #242b40}
body.game-mode .game-survival .survival-plan>strong{color:#ffe0a0}
body.game-mode .game-survival .survival-plan p{color:#e3e9ec}
body.game-mode .game-survival .survival-plan .text-button{color:#ffe3a0}
body.game-mode .game-survival .survival-party article{background:#2c4156;border-color:#83adae;box-shadow:inset 0 -3px #1a2b42}
body.game-mode .game-survival .survival-party strong{color:#fff4dc}
body.game-mode .game-survival .survival-party small,
body.game-mode .game-survival .survival-identity span{color:#dce8ed}
body.game-mode .game-survival .survival-party .survival-care-effect{color:#b6ebd8}
body.game-mode .game-survival .survival-move-pp{color:#e0e9ef}
body.game-mode .game-survival .survival-move-pp li{border-color:#698995}
body.game-mode .game-survival .survival-move-pp b{color:#b1edbd}
body.game-mode .game-survival .survival-party .button:disabled{background:#29394c;border-color:#718d9c;color:#becfd9;box-shadow:inset 0 -3px #1a2b3f}
body.game-mode .game-activities .activity-card{background:#2d4056;border-color:#81ada9;box-shadow:inset 0 -4px #192a41,3px 4px #14263a}
body.game-mode .game-activities .activity-card.locked{background:#2b3549;border-color:#708895;border-top-color:#8497a4}
body.game-mode .game-activities .activity-card h2{color:#fff4dc}
body.game-mode .game-activities .activity-card .depth-eyebrow{color:#b0e5d5}
body.game-mode .game-activities .activity-card p,
body.game-mode .game-activities .activity-card>small{color:#dce8ed}
body.game-mode .game-activities .activity-card .activity-entry-party{background:#24374d;border-color:#8cd3ba;color:#dce8ed}
body.game-mode .game-activities .activity-card .activity-first-foe{color:#ffdfa0}
body.game-mode .game-activities .activity-card .activity-roster{border-color:#6b9099}
body.game-mode .game-activities .activity-card .activity-roster summary{color:#ffdfa0}
body.game-mode .game-activities .activity-card .activity-roster ol{color:#dce8ed}
body.game-mode .game-activities .activity-card .activity-roster li{background:#23394d;border-color:#6a8b97;color:#fff4dc}
body.game-mode .game-activities .activity-card .activity-roster li small{color:#d0e2e8}
body.game-mode .game-activities .activity-card .activity-prepare{color:#b8e8db}
body.game-mode .game-activities .activity-card .activity-requirement{color:#ffd4b9}
body.game-mode :is(.game-daily,.game-challenge,.game-activities) .button:disabled{opacity:1;background:#2a394d;border-color:#748d9c;color:#c1d1dc;box-shadow:inset 0 -3px #1a2b3e}

/* Proposed R2 only, paired with the root's crest-next/earned/locked hook. */
body.game-mode .game-challenges .challenge-card.crest-next{order:-1;border-color:#ffda8b;border-left-color:#ffda8b;box-shadow:inset 0 -3px #16263d,0 0 0 1px #ffda8b44,3px 4px #132136}
body.game-mode .game-challenges .challenge-card.crest-next .challenge-index{color:#ffe2a0}
body.game-mode .game-challenges .challenge-card.crest-earned .challenge-index{color:#a9efbd}
body.game-mode .game-challenges .challenge-card.crest-next .challenge-info>.button::before{content:'▶';margin-right:3px}
