/* The title screen is a window onto the actual game world. */
#start-dialog.landing{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:auto;color:#34483e;text-align:left;background:linear-gradient(90deg,#f8f4eafc 0%,#f8f4eaf5 29%,#f8f4eacd 42%,#f8f4ea38 65%,#f8f4ea08 100%);border-image:none}
#start-dialog.landing::backdrop{background:transparent;backdrop-filter:none}#start-dialog.landing::before,#start-dialog.landing::after{display:none}
body:has(#start-dialog[open]) #world{left:32%;width:75%}body:has(#start-dialog[open]) #game>.brand,body:has(#start-dialog[open]) #hud,body:has(#start-dialog[open]) .xp-panel,body:has(#start-dialog[open]) .menu-dock,body:has(#start-dialog[open]) .lane-dots{visibility:hidden}
.landing-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px clamp(24px,5vw,90px)}
.landing-wordmark{display:flex;align-items:center;gap:11px;font:20px Georgia,serif;letter-spacing:-.4px}.landing-wordmark img{width:40px;height:40px}.landing-wordmark small{display:block;font:8px system-ui,sans-serif;letter-spacing:3.1px;text-transform:uppercase;margin-top:3px}
.landing-utility{display:flex;gap:18px;align-items:center}.language-switch{display:flex;gap:3px;padding:4px;border:1px solid #738d7640;border-radius:24px;background:#fbf9f0ba}.landing .language-switch button{display:block;width:37px;min-height:29px;padding:5px;border:0;background:transparent;color:#586e5c;font:10px system-ui,sans-serif;letter-spacing:1px;border-radius:20px}.landing .language-switch button[aria-pressed=true]{background:#dce6d6;color:#2b4b39;box-shadow:0 1px 4px #40573e12}
.landing #install-button{width:auto;min-height:38px;padding:7px 13px;border:1px solid #7d906c66;border-radius:22px;background:#faf6e6a6;color:#3e5849;font-size:11px}.landing #install-button span{margin-right:6px}
.landing-main{padding:clamp(22px,5vh,80px) clamp(24px,7vw,110px) 32px;width:min(620px,51%);box-sizing:border-box}.landing-kicker{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#788963}.landing-kicker:before{content:'';width:33px;height:1px;background:#bd9d5b}
#start-dialog h1{font:clamp(64px,7.3vw,108px)/.9 Georgia,serif;letter-spacing:-5px;margin:24px 0;color:#354e40;text-align:left}#start-dialog h1 em{display:block;color:#8c9f7c;font-weight:400;font-size:.82em;letter-spacing:-4px;margin:9px 0 0 5px}
.landing-lede{font:clamp(17px,1.6vw,22px)/1.55 Georgia,serif;max-width:360px;margin:24px 0 18px;color:#4f6557}.landing-details{font-size:11px;line-height:1.8;color:#6a7866;max-width:355px;margin:0 0 24px}
.landing .start-name{font:9px system-ui,sans-serif;text-transform:uppercase;letter-spacing:1.7px;color:#6b7d68;margin:0 0 15px;max-width:340px}.landing .start-name input{margin-top:8px;font:16px Georgia,serif;letter-spacing:0;text-transform:none;height:46px;box-sizing:border-box;border:1px solid #b9bd9f;background:#fffaf0d9;color:#3a5041;border-radius:9px;padding:0 15px;box-shadow:inset 0 1px 3px #5f684508}
.landing #start-button{display:flex;align-items:center;justify-content:space-between;width:min(340px,100%);font:14px Georgia,serif;letter-spacing:.25px;padding:16px 22px;min-height:56px;border:1px solid #9aab87;border-radius:9px;background:linear-gradient(115deg,#72896e,#4c6c59);color:#fff9e9;box-shadow:0 4px 15px #4f654823,inset 0 0 0 3px #e1dfb126;transition:transform .2s,box-shadow .2s}.landing #start-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 23px #4f654833}.landing #start-button:disabled{opacity:.6}
.landing #start-checkpoint{width:min(340px,100%);font-size:11px;min-height:41px;margin-top:9px;border:1px solid #a9b29a;border-radius:8px;background:#e5ecdbd9;color:#4d6250}
.landing-shortcuts{display:flex;gap:5px 19px;flex-wrap:wrap;margin:17px 0 0;max-width:380px}.landing .landing-shortcuts button{display:inline-block;flex:none;width:auto;padding:7px 0;margin:0;border:0;border-bottom:1px solid #8e9b7d44;border-radius:0;background:none;color:#5e725e;font:10px system-ui,sans-serif;min-height:32px}.landing .landing-shortcuts button:hover{color:#344f3d;border-bottom-color:#9d8856}
.landing .fineprint{font-size:10px;max-width:345px;line-height:1.5;margin:10px 0}.landing #storage-note:empty{display:none}.landing #start-load-note{color:#7c856b;min-height:15px}.landing-footer{display:flex;justify-content:space-between;align-items:end;gap:25px;padding:20px clamp(24px,5vw,90px) 26px;color:#687d65;font-size:9px;letter-spacing:.5px}.landing-footer p{margin:0;line-height:1.7}.landing-footer .title-controls{display:flex;align-items:center;gap:8px}.title-controls kbd{padding:3px 5px;border:1px solid #9dba9255;border-radius:4px;background:#fff9eb77;font:10px system-ui,sans-serif}.landing-footer .edition{font-size:8px;letter-spacing:1.5px;text-align:right}.landing-story{position:absolute;right:7vw;bottom:110px;color:#fff8dc;text-shadow:0 1px 12px #314b37;font:italic 18px Georgia,serif;text-align:right;max-width:220px}.landing-story span{display:block;font:8px system-ui,sans-serif;text-transform:uppercase;letter-spacing:2.7px;margin-bottom:8px}.title-mobile-controls{display:none}
#help-dialog .help-steps{display:grid;gap:12px;margin:22px 0;text-align:left}#help-dialog .help-steps p{margin:0;padding-left:22px;border-left:2px solid #bcc9a5;font-size:12px;line-height:1.7}#help-dialog .help-steps b{display:block;color:#49604c}.pwa-note{font-size:12px;line-height:1.8}.pwa-status{padding:12px;border-radius:9px;background:#e8efdf;color:#52694e;font-size:11px;line-height:1.7}.pwa-actions{display:grid;gap:8px;margin-top:18px}.language-field select{margin-top:7px}
#world,.landing img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.landing img{-webkit-user-drag:none}
@media(min-width:901px) and (min-height:850px){.landing-main{padding-top:9vh}.landing-footer{position:absolute;bottom:0;left:0;right:0}}
@media(max-width:900px){.landing-header{padding:22px 24px}.landing-main{width:58%;padding:35px 28px 28px}#start-dialog h1{font-size:76px}.landing-story{right:25px}.landing-utility{gap:8px}.landing-details{max-width:295px}}
@media(max-width:650px){#start-dialog.landing{background:linear-gradient(0deg,#f8f4eaff 0%,#f8f4eafa 48%,#f8f4eacc 66%,#f8f4ea12 93%)}body:has(#start-dialog[open]) #world{left:0;width:100%}.landing-header{padding:16px 19px;gap:10px}.landing-wordmark{font-size:17px}.landing-wordmark img{width:33px;height:33px}.landing-wordmark small{font-size:7px;letter-spacing:2.7px}.landing .language-switch button{min-height:27px;width:30px}.landing #install-button{font-size:0;width:33px;height:33px;min-height:33px;padding:0}.landing #install-button span{font-size:17px;margin:0}.landing-utility{gap:7px}.landing-main{width:100%;max-width:450px;margin:15vh auto 0;padding:15px 28px 10px}.landing-kicker{font-size:8px;letter-spacing:2.5px}#start-dialog h1{font-size:70px;margin:17px 0 15px;letter-spacing:-3px}#start-dialog h1 em{letter-spacing:-3px}.landing-lede{font-size:17px;margin:17px 0 11px;max-width:310px}.landing-details{font-size:10px;margin-bottom:17px;max-width:335px}.landing .start-name{font-size:8px;max-width:none}.landing .start-name input{height:42px}.landing #start-button,.landing #start-checkpoint{width:100%;max-width:none;min-height:50px}.landing-shortcuts{gap:2px 17px;margin-top:9px}.landing-story{display:none}.landing-footer{padding:9px 28px 22px;max-width:450px;margin:auto;box-sizing:border-box;gap:15px}.landing-footer .title-controls{display:none}.title-mobile-controls{display:block}.landing-footer .edition{font-size:7px;letter-spacing:1px}.landing .fineprint{font-size:9px}.landing #start-load-note{margin:6px 0}.brand>span:last-child{font-size:20px}}
@media(max-height:740px) and (max-width:650px){.landing-main{margin-top:7vh}#start-dialog h1{font-size:59px}.landing-details{margin-bottom:13px}.landing-lede{margin-top:12px}.landing-header{padding-top:12px}.landing-footer{padding-top:2px}.landing #start-load-note:empty{display:none}}
@media(max-height:560px) and (min-width:651px){.landing-header{padding:13px 26px}.landing-main{padding-top:4px;width:58%}#start-dialog h1{font-size:61px;margin:14px 0}.landing-lede{font-size:15px;margin:10px 0}.landing-details{margin:0 0 13px}.landing .start-name input{height:36px}.landing #start-button{min-height:44px;padding:11px 17px}.landing-shortcuts{margin-top:5px}.landing-footer{padding:5px 26px 15px}.landing-story{bottom:45px}}
@media(prefers-reduced-motion:reduce){.landing #start-button{transition:none}}

#world{position:absolute;left:0;top:0}body:has(#start-dialog[open]) #loading{visibility:hidden}.landing-shortcuts button{font-size:11px!important}@media(max-width:650px){.landing-header{padding-top:max(16px,env(safe-area-inset-top))}.landing-footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}}

#start-title:focus{outline:none}.landing #install-button{position:relative}.landing #install-button[data-update=true]:after{content:"";position:absolute;right:1px;top:0;width:7px;height:7px;border-radius:50%;background:#c69c5d;border:1px solid #fff8e4}
