/* The story scrolls independently; creating and joining stays in its own column. */
#welcome{height:100dvh;min-height:0;grid-template-columns:minmax(0,1.35fr) minmax(400px,.85fr);overflow:hidden}
#welcome .welcome-world{height:100%;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a3b676 #284c39;padding:32px clamp(30px,4vw,86px) 28px}
#welcome .welcome-world>.brand{font-size:calc(35px * var(--client-font-scale,1));gap:20px;flex:none;align-self:flex-start}
#welcome .welcome-world>.brand>svg{width:96px;height:96px;image-rendering:pixelated;shape-rendering:crispEdges}
#welcome .welcome-world>.brand b{font-size:calc(12px * var(--client-font-scale,1));letter-spacing:.45em;margin-top:9px}
#welcome .welcome-copy{padding-top:30px;flex:none;max-width:none;width:100%}
#welcome .welcome-copy h1{font-size:calc(clamp(38px,3.1vw,60px) * var(--client-font-scale,1));line-height:1.1;letter-spacing:-.05em;margin:17px 0 18px;text-wrap:balance;max-width:960px}
#welcome .welcome-copy p{font-size:calc(16px * var(--client-font-scale,1));line-height:1.7;max-width:none;margin-bottom:0}
#welcome .welcome-tags{margin:20px 0 0;gap:7px;flex-wrap:wrap}
#welcome .welcome-tags span{font-size:calc(10px * var(--client-font-scale,1));padding:6px 9px}
.landing-read-link{display:inline-flex;align-items:center;min-height:44px;font-size:calc(12px * var(--client-font-scale,1));margin-top:8px;color:#e0e8b3}
.landing-play-link{display:none}
#welcome .frontier-art{width:100%;height:auto;min-height:0;max-height:none;flex:none;margin:21px 0 0;background:#19291c;box-shadow:4px 4px #1c3628}
#welcome .frontier-art .frontier-pixels{max-width:100%;max-height:none}
#welcome .frontier-art .art-caption{font-size:calc(9px * var(--client-font-scale,1));padding:8px 10px;position:static;line-height:1.4}
.landing-story{flex:none;margin-top:34px;scroll-margin-top:18px}
.landing-story>section{border-top:1px solid #819566;padding:27px 0 24px}
.landing-story .eyebrow{font-size:calc(9px * var(--client-font-scale,1));letter-spacing:.12em;color:#d8dfa6}
.landing-story h2{font-size:calc(clamp(23px,1.7vw,30px) * var(--client-font-scale,1));line-height:1.25;color:#f2e6bb;margin:9px 0 15px;letter-spacing:-.025em;text-wrap:balance}
.landing-story p{font-size:calc(15px * var(--client-font-scale,1));line-height:1.85;color:#d6dfc0;margin:0 0 13px;max-width:none}
.landing-story p:last-child{margin-bottom:0}
#welcome p{white-space:normal;text-wrap:wrap;word-break:normal;overflow-wrap:break-word}
.landing-story .landing-tribute{border-top:2px solid #d7bc77}
.landing-tribute .eyebrow{color:#edbd49}
.landing-story a,.landing-manual-link{color:#eef0b6;text-decoration:underline;text-underline-offset:3px}
.landing-game-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;counter-reset:landing-steps;padding:0;margin:18px 0}
.landing-game-steps li{position:relative;counter-increment:landing-steps;padding:16px 15px 16px 46px;background:#24432f;border:1px solid #728659;min-width:0}
.landing-game-steps li:before{content:counter(landing-steps,decimal-leading-zero);position:absolute;top:16px;left:12px;color:#dbe899;font:calc(15px * var(--client-font-scale,1))/1.4 'Courier New',monospace}
.landing-game-steps strong{display:block;font-size:calc(14px * var(--client-font-scale,1));color:#f0e6ba;margin-bottom:7px;line-height:1.4}
.landing-game-steps span{display:block;color:#cfdbb8;font-size:calc(13px * var(--client-font-scale,1));line-height:1.7}
.landing-manual-link{min-height:44px;text-align:left;font-size:calc(13px * var(--client-font-scale,1))}
.landing-story .landing-philosophy{border-left:3px solid #d6e593;padding:22px;margin:8px 0 22px;background:#345135}
#welcome .welcome-foot{flex:none;margin:0;padding-top:22px;font-size:calc(11px * var(--client-font-scale,1));line-height:1.6;color:#c4d3b1}
#welcome .welcome-entry{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a3b676 #1b3127;padding:34px clamp(28px,4vw,75px) 28px}
#welcome .entry-top{gap:12px;min-height:32px;flex:none}
#welcome .entry-top>.text-button{white-space:nowrap;font-size:calc(12px * var(--client-font-scale,1));min-height:32px}
#welcome .entry-content{padding:30px 0;margin:auto 0;flex:none}
#welcome .entry-number{margin-bottom:16px}
#welcome .entry-content h2{font-size:calc(clamp(30px,2.1vw,40px) * var(--client-font-scale,1));line-height:1.17;margin-bottom:16px;text-wrap:balance}
#welcome .entry-content>.muted{font-size:calc(14px * var(--client-font-scale,1));max-width:none;line-height:1.7;margin-bottom:25px}
#welcome .entry-tabs{margin:20px 0}
#welcome .entry-note{margin-top:26px;padding-top:22px;gap:12px;font-size:calc(12px * var(--client-font-scale,1))}
#welcome .entry-note svg{width:32px;height:32px;flex:none}
#welcome .entry-note b{font-size:calc(13px * var(--client-font-scale,1))}
#welcome .entry-bottom{flex:none;line-height:1.5;min-height:18px}
.landing-audio-controls,.game-audio-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.landing-audio-controls{margin-top:17px;flex:none}
.landing-audio-controls .subtle{min-height:44px;padding:8px 12px;font-size:calc(12px * var(--client-font-scale,1));border:1px solid #6b8256;color:#e1e8bd}
.landing-audio-controls [aria-pressed=false],.game-audio-controls [aria-pressed=false]{opacity:.7}
.topbar .game-audio-controls{flex-wrap:nowrap;gap:5px}
.topbar .game-audio-controls .subtle{white-space:nowrap;font-size:calc(10px * var(--client-font-scale,1));padding:7px 9px;min-height:32px}
/* The longer third and fourth instructional headings need room of their own. */
#help-dialog .help-content{max-width:none}
#help-dialog .help-content>p{max-width:none}
#help-dialog .help-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#help-dialog .help-steps article{padding:20px;font-size:calc(13px * var(--client-font-scale,1))}
#help-dialog .help-steps h3{font-size:calc(18px * var(--client-font-scale,1));line-height:1.3;word-break:normal;overflow-wrap:normal;text-wrap:pretty}
#help-dialog .help-callout h3{line-height:1.3;word-break:normal;overflow-wrap:normal}
#help-dialog .help-content h3+p{max-width:none}
@media(min-width:1600px){#welcome .welcome-copy h1{font-size:calc(60px * var(--client-font-scale,1))}#welcome .welcome-world{padding-top:38px}.landing-story h2{font-size:calc(31px * var(--client-font-scale,1))}}
@media(max-width:1100px) and (min-width:721px){#welcome{grid-template-columns:minmax(0,1fr) 400px}#welcome .welcome-world{padding:25px 28px}#welcome .welcome-entry{padding:25px 28px}#welcome .welcome-copy{padding-top:22px}#welcome .welcome-copy h1{font-size:calc(39px * var(--client-font-scale,1))}#welcome .welcome-world>.brand{font-size:calc(28px * var(--client-font-scale,1));gap:13px}#welcome .welcome-world>.brand>svg{width:64px;height:64px}.landing-game-steps{grid-template-columns:1fr}.landing-story p{font-size:calc(14px * var(--client-font-scale,1))}}
@media(max-width:720px){
 #welcome{height:auto;min-height:100dvh;overflow:visible;display:block}
 #welcome .welcome-world{height:auto;overflow:visible;display:flex;padding:23px 21px;border-right:0;border-bottom:2px solid #708859}
 #welcome .welcome-world>.brand{font-size:calc(27px * var(--client-font-scale,1));gap:13px}
 #welcome .welcome-world>.brand>svg{width:64px;height:64px}
 #welcome .welcome-world>.brand b{font-size:calc(9px * var(--client-font-scale,1))}
 #welcome .welcome-copy{padding-top:20px}
 #welcome .welcome-copy h1{font-size:calc(37px * var(--client-font-scale,1));line-height:1.13;margin:14px 0 17px;text-wrap:balance}
 #welcome .welcome-copy p{font-size:calc(14px * var(--client-font-scale,1));line-height:1.75}
 #welcome .welcome-tags{margin-top:17px;gap:6px}
 #welcome .welcome-tags span{font-size:calc(9px * var(--client-font-scale,1));padding:5px 7px}
 .landing-play-link{display:flex;min-height:48px;margin-top:21px;width:100%;justify-content:space-between;font-size:calc(14px * var(--client-font-scale,1))}
 .landing-read-link{margin-top:3px;font-size:calc(12px * var(--client-font-scale,1))}
 #welcome .frontier-art{margin-top:14px;position:relative;right:auto;bottom:auto;z-index:0;opacity:1;min-height:0}
 #welcome .frontier-art .frontier-pixels{width:100%;height:auto;aspect-ratio:2;object-fit:contain}
 #welcome .frontier-art .art-caption{font-size:calc(7px * var(--client-font-scale,1));padding:6px}
 .landing-story{margin-top:23px}
 .landing-story>section{padding:23px 0}
 .landing-story h2{font-size:calc(25px * var(--client-font-scale,1));line-height:1.25}
 .landing-story p{font-size:calc(14px * var(--client-font-scale,1));line-height:1.8}
 .landing-game-steps{grid-template-columns:1fr;gap:10px}
 .landing-story .landing-philosophy{padding:18px 16px}
 #welcome .welcome-entry{height:auto;min-height:0;overflow:visible;padding:24px 21px;scroll-margin-top:0}
 #welcome .entry-content{padding:27px 0;margin:0}
 #welcome .entry-content h2{font-size:calc(30px * var(--client-font-scale,1));text-wrap:balance}
 #welcome .entry-content>.muted{font-size:calc(14px * var(--client-font-scale,1))}
 #welcome .entry-top>.text-button{min-height:44px}
 #welcome .entry-note{font-size:calc(13px * var(--client-font-scale,1))}
 .topbar{height:auto;min-height:47px;flex-wrap:wrap}
 .topbar .topbar-actions{display:contents}
 .topbar .topbar-actions>[data-action=settings]{min-height:31px;font-size:calc(9px * var(--client-font-scale,1));padding:5px 6px}
 .topbar .topbar-actions>.icon-button{height:31px;min-width:28px;padding:0 6px;font-size:calc(15px * var(--client-font-scale,1))}
 .topbar .game-audio-controls{order:10;flex-basis:100%;justify-content:flex-end;gap:6px;border-top:1px solid #526b43;padding-top:4px}
 .topbar .game-audio-controls .subtle{min-height:36px;padding:6px 10px;font-size:calc(10px * var(--client-font-scale,1))}
 #help-dialog .help-steps{grid-template-columns:1fr;gap:12px}
 #help-dialog .help-steps article{padding:17px;font-size:calc(13px * var(--client-font-scale,1))}
 #help-dialog .help-steps h3{font-size:calc(18px * var(--client-font-scale,1))}
}
@media(max-height:500px) and (orientation:landscape){.topbar .game-audio-controls{border:0;padding:0;order:0;flex-basis:auto}.topbar .game-audio-controls .subtle{min-height:30px;padding:4px 6px;font-size:calc(9px * var(--client-font-scale,1))}}

#welcome .hideaway-link{align-self:flex-start;flex:none;display:inline-flex;align-items:center;min-height:44px;margin:0 0 16px;padding:8px 13px;border:1px solid #8b9f6b;color:#eef0b6;font-size:calc(14px * var(--client-font-scale,1));line-height:1.4;text-decoration:none}
#welcome .hideaway-link:hover{background:#345135}
