/* Floating adventure consoles. The existing game window contains all scrolling. */
body.game-mode .game-window:has(.encounter-console){width:min(1020px,calc(100% - 44px))}
body.game-mode .game-window:has(.daily-console),body.game-mode .game-window:has(.challenge-console),body.game-mode .game-window:has(.research-console){width:min(1150px,calc(100% - 44px))}
body.game-mode .game-window:has(.encounter-console),body.game-mode .game-window:has(.daily-console),body.game-mode .game-window:has(.challenge-console),body.game-mode .game-window:has(.research-console){left:50%;right:auto;transform:translateX(-50%);background:#f3efd6}
body.game-mode .game-adventure-menu .adventure-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
body.game-mode .game-adventure-menu .adventure-options>button{min-height:180px;padding:19px 19px 22px}
body.game-mode .game-adventure-menu .adventure-options>button>span{font-size:29px;margin-bottom:12px}
body.game-mode .game-adventure-menu .adventure-options strong{font-size:27px}
body.game-mode .game-adventure-menu .adventure-options p{font-size:11px;margin-top:10px}
body.game-mode .game-adventure-menu .adventure-options small{font-size:8px;line-height:1.5}
.console-mastery{margin-top:13px;padding:11px 0;border-top:1px solid #658367;font:500 9px/1.5 var(--body);color:#b5c5a1}
.console-mastery>strong{display:block;font:800 8px var(--body);letter-spacing:.7px;color:#e3d59a}
.console-mastery>p{font-size:9px;line-height:1.5;margin:6px 0;color:#b5c5a1}
.console-mastery>small{display:block;font-size:8px;color:#cbb776}
.encounter-console,.daily-console,.challenge-console,.research-console{min-width:0;color:#263f3f}
.encounter-console *,.daily-console *,.challenge-console *,.research-console *{box-sizing:border-box}
.adventure-eyebrow{font:800 10px/1.5 var(--body);letter-spacing:1.6px;color:#51665a}
.adventure-footnote{font:500 10px/1.65 var(--body);color:#647463;margin:14px 0 0}
.encounter-console h2,.daily-console h2,.challenge-console h2,.research-console h2{font:600 32px/1.05 var(--pixel);margin:0;color:#263f3f}
.encounter-console p,.daily-console p,.challenge-console p,.research-console p{font:500 12px/1.65 var(--body);margin:12px 0;color:#4b6156}
.encounter-console .sprite,.daily-console .sprite,.challenge-console .sprite{image-rendering:pixelated;object-fit:contain}
.encounter-console{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.2fr);gap:25px;align-items:start}
.encounter-story{min-width:0}
.encounter-illustration{position:relative;height:205px;overflow:hidden;background:#b4c69b;border:2px solid #526c5b;isolation:isolate}
.encounter-illustration:after{content:"";position:absolute;left:18%;right:18%;bottom:19px;height:17px;border-radius:50%;background:#314f4c50;z-index:1}
.encounter-illustration .encounter-creature{position:absolute;width:190px;height:190px;left:50%;bottom:10px;transform:translateX(-50%);z-index:2}
.encounter-mark{position:absolute;right:13px;top:12px;z-index:2;font-size:24px;line-height:1;color:#fff2bc;text-shadow:2px 2px #2a4e47}
.encounter-intro{padding-top:17px}
.encounter-intro h2{margin-top:8px;font-size:35px}
.encounter-intro>small{display:block;border-top:1px solid #bdc7a9;padding-top:12px;font:500 10px/1.6 var(--body);color:#647463}
.encounter-choices{display:flex;flex-direction:column;gap:11px;min-width:0}
body.game-mode .encounter-choice{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 12px;align-items:start;gap:13px;min-height:100px;text-align:left;padding:17px 15px;border:2px solid #7c967b;background:#e8e8c9;color:#263f3f;box-shadow:0 3px 0 #b2b99c;border-radius:2px}
body.game-mode .encounter-choice:not(:disabled):hover{background:#f5e4aa;border-color:#b18c48;transform:translateY(-1px)}
.encounter-choice__number{font:600 22px/1 var(--pixel);color:#6c8265;padding-top:2px}
.encounter-choice__body{display:flex;flex-direction:column;gap:7px;min-width:0}
.encounter-choice__body>strong{font:600 27px/1 var(--pixel);color:#263f3f;overflow-wrap:anywhere}
.encounter-choice__body>span{font:500 11px/1.5 var(--body);color:#4c6354}
.encounter-choice__cost{font:800 9px/1.5 var(--body);color:#6e573a;letter-spacing:.2px}
.encounter-choice__consequence{font:600 10px/1.55 var(--body);color:#365b50;padding-top:6px;border-top:1px solid #afbea050}
body.game-mode .game-trail-event .encounter-choice__consequence{font:500 12px/1.55 var(--body);color:#c9efdf;border-top-color:#8eb5ab70}
.encounter-choice__reason{font:700 10px/1.5 var(--body);color:#995c4b}
.encounter-choice__arrow{align-self:center;color:#9a7e42;font-size:13px}
body.game-mode .encounter-choice:disabled{opacity:.64;background:#e0e2cb;cursor:not-allowed}
body.game-mode .encounter-choice.encounter-leave{min-height:77px;background:transparent;border-color:#bcc4a7;box-shadow:none}
.encounter-leave .encounter-choice__body>strong{font-size:23px}
.encounter-leave .encounter-choice__body>span{font-size:10px}
.daily-console{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.85fr);gap:27px}
.daily-banner{position:relative;padding:18px 55px 18px 18px;background:#294e4c;border:2px solid #71947c;color:#f6edc6;overflow:hidden}
.daily-banner .adventure-eyebrow{color:#b9d0aa;font-size:9px;letter-spacing:1.2px}
.daily-banner>strong{display:block;margin-top:8px;font:600 33px/1 var(--pixel);max-width:330px}
.daily-emblem{position:absolute;right:16px;top:23px;color:#f3d28d;font-size:35px}
.daily-founders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:18px 0 13px;border-bottom:1px solid #bfc8a8}
.daily-founders>div{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.daily-founders .sprite{width:110px;height:110px}
.daily-founders strong{font:600 24px/1 var(--pixel);margin:4px 0 6px}
.daily-founders small{display:flex;align-items:center;justify-content:center;gap:4px;font:700 9px var(--body);flex-wrap:wrap}
.daily-founders .type-tag{font-size:7px;padding:3px 5px}
.adventure-rule-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:17px 0}
.adventure-rule-list>span{display:flex;flex-direction:column;padding:13px 10px;background:#e1e5c5;border:1px solid #bdc9a6;font:700 9px/1.5 var(--body);color:#637359}
.adventure-rule-list b{font:600 32px/1 var(--pixel);color:#294d46;margin-bottom:7px}
.daily-console .daily-reward,.challenge-reward{display:flex;flex-direction:column;gap:7px;padding:15px;border-left:4px solid #bc964f;background:#eadeb4;margin:18px 0}
.daily-reward>strong,.challenge-reward>strong{font:800 10px/1.4 var(--body);letter-spacing:.4px;color:#6c552e}
.daily-reward>span,.challenge-reward>span{font:500 11px/1.6 var(--body);color:#675f43}
.daily-console .daily-reward.claimed{background:#dce7c8;border-color:#73966a}
.daily-records{border-left:1px solid #bbc6a5;padding-left:24px;min-width:0}
.daily-records h2{font-size:27px}
.daily-records>p{font-size:10px;margin-top:9px}
.daily-record-table{margin-top:17px;border-top:2px solid #6e896d}
.daily-record-row{display:grid;grid-template-columns:minmax(0,1fr) 55px 65px;gap:7px;align-items:center;padding:15px 0;border-bottom:1px solid #c5cfb1;min-width:0}
.daily-record-labels{padding:10px 0;font:700 8px/1.4 var(--body);text-transform:uppercase;color:#7a886e}
.daily-record-row>span>strong{display:block;font:700 11px var(--body);color:#3b554c}
.daily-record-row>span>small{display:block;font:700 7px/1.5 var(--body);color:#8b7c5d;margin-top:6px}
.daily-record-row>b{font:600 25px var(--pixel);text-align:center}
.daily-record-row>b>small{font:600 9px var(--body);color:#839074}
.daily-record-row.complete>span>small{color:#537b53}
.adventure-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 17px;border:1px dashed #b7c5a2;color:#66815e;gap:10px;margin-top:22px}
.adventure-empty>span{font-size:35px;color:#ad914e}
.adventure-empty>strong{font:600 27px var(--pixel)}
.daily-console .daily-launch,.challenge-console .challenge-launch{width:100%;font:800 11px var(--body);min-height:45px}
.challenge-console{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:25px}
.challenge-choices{display:flex;flex-direction:column;gap:12px}
body.game-mode .challenge-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;padding:18px 31px 18px 18px;min-height:151px;background:#e2e5c8;border:2px solid #b0bda0;color:#2f4b43;box-shadow:0 3px 0 #bac2a3;border-radius:2px}
body.game-mode .challenge-card.selected{background:#294e4c;color:#f4e8bf;border-color:#d4b16b;box-shadow:0 3px 0 #927244}
.challenge-card__number{font:800 8px var(--body);letter-spacing:1px;opacity:.6}
.challenge-card>strong{font:600 29px/1 var(--pixel)}
.challenge-card>span:not(.challenge-card__number){font:500 11px/1.5 var(--body);opacity:.85}
.challenge-card>small{font:800 8px/1.5 var(--body);letter-spacing:.5px;opacity:.8}
.challenge-card>b{position:absolute;right:13px;top:17px;color:#b39151;font-size:15px}
.challenge-detail{min-width:0;padding:20px 22px;border:2px solid #9fb18f;background:#ebeccf}
.challenge-detail__heading h2{font-size:38px;margin:7px 0 13px}
.challenge-clear{font:800 9px var(--body);color:#567c50}
.challenge-element{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;font:800 10px var(--body);align-items:center;margin:20px 0 14px}
.challenge-element>select{grid-row:2;grid-column:1;min-width:0}
.challenge-element>.type-tag{grid-row:2;grid-column:2;font-size:9px;padding:9px 12px}
.challenge-console select,.research-console select{width:100%;min-width:0;min-height:39px;padding:8px 10px;background:#f6f2d7;border:2px solid #94a68b;color:#314e43;font:600 11px var(--body);border-radius:2px}
.challenge-rules{padding-left:18px;margin:17px 0;color:#4b6252;font:500 12px/1.65 var(--body)}
.challenge-rules li+li{margin-top:8px}
.challenge-eligible{border-top:1px solid #bdc7a8;padding-top:16px;margin-top:18px}
.challenge-eligible>strong{font:800 10px var(--body);color:#4a644e}
.challenge-eligible>div{display:flex;flex-wrap:wrap;gap:3px;margin:8px 0}
.challenge-eligible .sprite{width:45px;height:45px}
.challenge-eligible>span{display:block;margin-top:9px;font:500 10px/1.6 var(--body);color:#728164}
.research-console{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:27px}
.research-console h2{font-size:28px}
.research-console h2 small{font:800 9px var(--body);color:#819172;margin-left:8px}
.research-console label{display:flex;flex-direction:column;gap:7px;margin:16px 0;font:800 10px var(--body);color:#4f6a51}
.research-contract,.mastery-option{display:flex;flex-direction:column;align-items:flex-start;margin-top:12px;padding:16px;background:#e5e8ca;border:1px solid #b5c2a0;min-width:0}
.research-contract.ready{border:2px solid #b89a51;background:#eee0ad}
.research-contract h3{font:600 25px/1 var(--pixel);margin:0;color:#2d4d43}
.research-contract p,.mastery-option p{font-size:11px;line-height:1.5;margin:8px 0}
.research-contract>small{font:700 9px/1.6 var(--body);color:#7a7451;margin-bottom:12px}
.research-console .button{font:800 9px var(--body);min-height:35px;padding:8px 11px;max-width:100%}
.research-mastery{min-width:0;border-left:1px solid #bec8ab;padding-left:25px}
.research-mastery>h3{font:600 29px var(--pixel);margin:18px 0 8px}
.research-mastery>h2:not(:first-child){margin-top:28px;padding-top:21px;border-top:2px solid #bdc9a6}
.mastery-option>strong{font:600 23px var(--pixel);color:#3a594a}
@media(max-width:850px){.daily-console{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:20px}.daily-records{padding-left:17px}.daily-record-row{grid-template-columns:minmax(0,1fr) 43px 53px;gap:4px}.daily-record-row>span>strong{font-size:10px}.daily-record-row>span>small{font-size:6px}.daily-founders .sprite{width:90px;height:90px}.daily-founders strong{font-size:22px}.daily-banner>strong{font-size:29px}.challenge-console{gap:17px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.challenge-detail{padding:18px}.challenge-card>strong{font-size:25px}}
@media(max-width:650px){body.game-mode .game-window:has(.encounter-console),body.game-mode .game-window:has(.daily-console),body.game-mode .game-window:has(.challenge-console),body.game-mode .game-window:has(.research-console){width:calc(100% - 28px)}.encounter-console,.daily-console,.challenge-console,.research-console{grid-template-columns:minmax(0,1fr);gap:20px}.encounter-story{display:grid;grid-template-columns:105px minmax(0,1fr);gap:13px;align-items:start}.encounter-illustration{height:128px}.encounter-illustration .encounter-creature{width:108px;height:108px;bottom:6px}.encounter-illustration:after{bottom:12px;height:10px}.encounter-mark{font-size:16px;right:7px;top:8px}.encounter-intro{padding-top:1px}.adventure-eyebrow{font-size:8px;letter-spacing:.8px}.encounter-intro h2{font-size:29px;margin-top:7px}.encounter-intro p{font-size:10px;line-height:1.5;margin:8px 0}.encounter-intro>small{font-size:8px;line-height:1.5;padding-top:8px}.encounter-choices{gap:9px}body.game-mode .encounter-choice{padding:14px 12px;gap:9px;grid-template-columns:20px minmax(0,1fr) 10px;min-height:99px}.encounter-choice__number{font-size:20px}.encounter-choice__body>strong{font-size:25px}.encounter-choice__body>span{font-size:10px}.encounter-choice__cost{font-size:8px}.encounter-choice__reason{font-size:9px}.encounter-leave .encounter-choice__body>span{font-size:9px}.daily-records,.research-mastery{border-left:0;border-top:2px solid #b7c5a4;padding:20px 0 0}.daily-founders .sprite{width:87px;height:87px}.daily-founders strong{font-size:22px}.daily-founders small{font-size:8px}.daily-founders .type-tag{font-size:6px}.daily-banner{padding:15px 47px 15px 14px}.daily-banner>strong{font-size:29px}.daily-emblem{font-size:29px;right:12px;top:24px}.daily-console p{font-size:11px}.adventure-rule-list{gap:6px}.adventure-rule-list>span{padding:10px 8px;font-size:8px}.adventure-rule-list b{font-size:28px}.daily-record-row{grid-template-columns:minmax(0,1fr) 60px 68px}.daily-record-row>span>strong{font-size:11px}.daily-record-row>span>small{font-size:7px}.challenge-choices{gap:9px}body.game-mode .challenge-card{min-height:112px;padding:13px 30px 13px 14px;gap:7px}.challenge-card>strong{font-size:27px}.challenge-card>span:not(.challenge-card__number){font-size:10px}.challenge-card>small{font-size:7px}.challenge-card__number{font-size:7px}.challenge-detail{padding:17px}.challenge-detail__heading h2{font-size:34px}.challenge-rules{font-size:11px}.challenge-reward>span,.daily-reward>span{font-size:10px}.challenge-element{font-size:9px}.research-console{gap:23px}.research-console p{font-size:11px}.research-contract,.mastery-option{padding:14px}.research-console h2{font-size:27px}.research-contract h3{font-size:24px}.research-console .button{min-height:39px;font-size:9px}.research-contract>small{font-size:8px}}
@media(max-height:500px) and (min-width:651px){.encounter-console{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px}.encounter-story{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px}.encounter-illustration{height:110px}.encounter-illustration .encounter-creature{width:106px;height:106px;bottom:0}.encounter-intro{padding-top:0}.encounter-intro h2{font-size:25px}.encounter-intro p{font-size:9px;line-height:1.45;margin:8px 0}.encounter-intro>small{font-size:7px;padding-top:7px}.adventure-eyebrow{font-size:7px}.encounter-mark{font-size:16px;right:5px;top:5px}body.game-mode .encounter-choice{padding:11px 12px;min-height:85px;gap:9px;grid-template-columns:18px minmax(0,1fr) 10px}.encounter-choice__number{font-size:17px}.encounter-choice__body>strong{font-size:23px}.encounter-choice__body>span{font-size:9px}.encounter-choice__body{gap:5px}.encounter-choice__cost,.encounter-choice__reason{font-size:8px}.daily-banner>strong{font-size:26px}.daily-founders{padding:10px 0}.daily-founders .sprite{width:65px;height:65px}.daily-founders strong{font-size:20px}.daily-console p{font-size:10px}.daily-records h2{font-size:23px}.daily-console .daily-launch,.challenge-console .challenge-launch{font-size:9px;min-height:35px}.challenge-choices{gap:8px}body.game-mode .challenge-card{min-height:122px;padding:13px 28px 13px 13px;gap:7px}.challenge-card>strong{font-size:24px}.challenge-card>span:not(.challenge-card__number){font-size:9px}.challenge-card>small{font-size:7px}.challenge-detail{padding:15px}.challenge-detail__heading h2{font-size:31px}.challenge-rules{font-size:10px}.challenge-eligible .sprite{width:35px;height:35px}.research-console h2{font-size:24px}.research-console p{font-size:10px}.research-contract h3{font-size:22px}.research-contract,.mastery-option{padding:12px}.research-console .button{font-size:8px;min-height:31px}}

@media(max-width:650px){body.game-mode .game-adventure-menu .adventure-options{grid-template-columns:minmax(0,1fr);gap:11px}body.game-mode .game-adventure-menu .adventure-options>button{min-height:145px;padding:16px}body.game-mode .game-adventure-menu .adventure-options>button>span{font-size:25px;margin-bottom:9px}body.game-mode .game-adventure-menu .adventure-options strong{font-size:27px}body.game-mode .game-adventure-menu .adventure-options p{font-size:10px;margin-top:8px}.console-mastery>p{font-size:8px}.console-mastery>strong,.console-mastery>small{font-size:7px}}
@media(max-height:500px) and (min-width:651px){body.game-mode .game-adventure-menu .adventure-options>button{min-height:145px;padding:14px}body.game-mode .game-adventure-menu .adventure-options>button>span{font-size:23px;margin-bottom:9px}body.game-mode .game-adventure-menu .adventure-options strong{font-size:25px}body.game-mode .game-adventure-menu .adventure-options p{font-size:9px;margin-top:7px}body.game-mode .game-adventure-menu .adventure-options small{font-size:7px}.console-mastery{padding:8px 0;margin-top:8px}.console-mastery>p{font-size:7px;line-height:1.4}.console-mastery>strong,.console-mastery>small{font-size:6px}}

.research-section-nav{display:none}
@media(max-width:650px){.research-section-nav{display:flex;position:sticky;top:-14px;z-index:3;gap:7px;padding:0 0 12px;margin:0 0 5px;background:#f3efd6}.research-section-nav>a{flex:1;display:flex;align-items:center;justify-content:center;min-height:37px;padding:8px 5px;background:#294e4c;border:1px solid #8da078;color:#f4e8bf;text-decoration:none;font:800 8px var(--body);box-shadow:0 2px 0 #a5b395}.research-projects,.research-mastery,#research-hunts{scroll-margin-top:58px}body.game-mode .challenge-card{min-height:67px;padding:13px 29px 13px 14px;gap:5px}.challenge-card>span:not(.challenge-card__number),.challenge-card>small{display:none}.challenge-card__number{font-size:6px}.challenge-card>strong{font-size:25px}}
/* Keep floating controls stationary as the pointer enters their border. */
body.game-mode .game-window .button:hover:not(:disabled),
body.game-mode .modal .button:hover:not(:disabled){transform:none}
