@font-face{font-family:Intelion;src:url('./terminal-font.woff') format('woff');font-display:swap}
#launcher{box-sizing:border-box;position:fixed;inset:0;max-width:none;margin:0;padding:clamp(20px,5vw,64px);overflow:auto;background:#031006;color:#97fa75;font:clamp(18px,2.8vw,30px)/1.12 Intelion,monospace;text-shadow:0 0 .35em #97fa753d;isolation:isolate}
#launcher::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,transparent 40%,#0005 76%,#000b 96%),linear-gradient(145deg,#e0ffe807,transparent 26%),repeating-linear-gradient(0deg,transparent 0 2px,#0003 2px 3px)}
#launcher::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;background:url('./terminal-grain.svg');background-size:120px}
#launcher h1{font:inherit;font-size:2em;letter-spacing:.025em}#launcher h2{font:inherit;font-size:1.3em}#launcher button,#launcher input,#launcher a{font:inherit;color:inherit}#launcher button{background:#04110b;border:1px solid #97fa75;border-radius:0;padding:.5em .8em;margin:.5em 0}#launcher pre{font:inherit;font-size:.7em}#launcher progress{display:block;accent-color:#97fa75;width:100%;height:1em;margin:1em 0;border-radius:0}#launcher progress::-webkit-progress-bar{background:#102417;border-radius:0}#launcher progress::-webkit-progress-value{background:#97fa75;border-radius:0}#launcher progress::-moz-progress-bar{background:#97fa75;border-radius:0}
body:not(:has(canvas))>aside{visibility:hidden}

html.terminal-embedded:not(.terminal-viewport) #launcher{padding:5vw;font-size:clamp(14px,3vw,30px)}

html.terminal-embedded #launcher::before,html.terminal-embedded #launcher::after{display:none}

#launcher{display:flex;flex-direction:column;justify-content:center;gap:clamp(4px,1.2vh,12px);font-size:clamp(12px,min(2.8vw,3.8vh),28px);padding:clamp(12px,4vw,48px)}
html.terminal-embedded:not(.terminal-viewport) #launcher{padding:5vw;font-size:clamp(11px,min(2.8vw,3.8vh),28px)}
#launcher h1,#launcher h2,#launcher p{margin:0}#launcher h1{font-size:1.6em}#launcher h2{font-size:1.1em}
#launcher button{padding:.35em .6em;margin:0;align-self:flex-start}#launcher progress{margin:.3em 0;height:.6em;flex-shrink:0}
#launcher #error:empty,#launcher #mobile-note:empty{display:none}#launcher #error{max-height:20vh;overflow:auto;margin:0}
#launcher .game-menu{margin-top:.3em!important;padding-top:.4em!important;display:grid;gap:.5em;font-size:.85em}
.game-credits{display:grid;gap:.3em}aside #panel-toggle{display:block;margin:0 0 6px auto;padding:3px 10px}aside.controls-collapsed{padding:6px}aside.controls-collapsed>:not(#panel-toggle){display:none!important}aside.controls-collapsed #panel-toggle{margin:0}

body>aside{z-index:100!important}#panel-toggle{position:relative;z-index:101;pointer-events:auto;touch-action:manipulation;min-width:36px;min-height:32px}

html,body{height:100%;overflow:hidden;background:#031006}canvas{display:block!important;position:fixed!important;inset:0!important;width:100%!important;height:100%!important;outline:0!important;border:0!important;margin:0!important;padding:0!important}canvas:focus,canvas:focus-visible{outline:none!important}
#launcher .launcher-logo{display:block;width:12ch;max-width:65vw;height:auto;filter:drop-shadow(0 0 4px #97fa7560)}
#launcher #start,#launcher .game-menu>button{box-sizing:border-box;width:100%;justify-self:stretch}
#mw-loading{position:fixed;inset:0;z-index:200;background:linear-gradient(0deg,#000d,transparent 42%),url('./rust-loading.webp') center/cover no-repeat;color:#eee;font-family:'Arial Narrow','Helvetica Neue',Arial,sans-serif;text-shadow:0 1px 3px #000;pointer-events:auto}
#mw-loading[hidden]{display:none}#mw-loading .mw-title{position:absolute;right:7%;top:7%;text-align:right;letter-spacing:.1em;font-size:clamp(14px,3vw,34px);line-height:1.3}#mw-loading .mw-title strong{color:#d9ba6c;font-weight:500}#mw-loading .mw-title span{display:block}#mw-loading .mw-title small{display:block;font-size:.46em;letter-spacing:0;margin-top:.5em}
#mw-loading .mw-intel{position:absolute;left:12%;right:12%;bottom:12%;font-size:clamp(12px,2.5vw,24px)}#mw-loading .mw-intel label{display:block;color:#dfbf73;letter-spacing:.08em;margin-bottom:.4em}#mw-loading progress{display:block;width:100%;height:5px;appearance:none;border:1px solid #bdbba3;background:#2229}#mw-loading progress::-webkit-progress-bar{background:#2229}#mw-loading progress::-webkit-progress-value{background:#e1d4a0}#mw-loading progress::-moz-progress-bar{background:#e1d4a0}#mw-loading output{display:block;text-align:center;font-size:.65em;margin-top:.5em;letter-spacing:.06em}

/* One aligned launcher column; music controls remain in the pause menu. */
#launcher{align-items:stretch;text-align:left}
#launcher h1,#launcher h2,#launcher p,#launcher .game-menu{padding-left:0;margin-left:0;text-align:left;width:100%;box-sizing:border-box}
#launcher .launcher-logo{margin:0}
#launcher .game-menu{border:0!important;margin-top:0!important;padding-top:0!important;gap:0}
#launcher .game-credits{width:100%;gap:.25em}
#launcher .game-credits>div{width:100%}
#launcher progress{height:1em;min-height:10px;appearance:none;border:1px solid #97fa7570;margin:.15em 0}
#launcher #start{animation:load-glow 2.4s ease-in-out infinite}
@keyframes load-glow{0%,100%{box-shadow:0 0 4px #97fa7533,inset 0 0 3px #97fa7515}50%{box-shadow:0 0 15px #97fa7580,inset 0 0 9px #97fa7530}}
@media(prefers-reduced-motion:reduce){#launcher #start{animation:none;box-shadow:0 0 8px #97fa7550}}

/* Reference composition: gold extended headings, fine bar, centered intel tip. */
#mw-loading{container-type:size;background:linear-gradient(0deg,#000 0%,#000b 9%,#0004 23%,transparent 48%),url('./rust-loading.webp') center/cover no-repeat}
#mw-loading .mw-title{top:8%;right:7.5%;font-size:clamp(12px,2.5cqw,36px);line-height:1.12;letter-spacing:.08em}
#mw-loading .mw-title strong,#mw-loading .mw-intel label{font-family:Eurostile,'Bank Gothic','Microgramma D Extended',Arial,sans-serif;font-weight:500;color:#f8d875;text-shadow:0 0 2px #ffce6b,0 0 6px #e69727,0 1px 2px #704417;display:block;transform:scaleX(1.14);transform-origin:right center}
#mw-loading .mw-title span{font-family:Eurostile,'Bank Gothic',Arial,sans-serif;font-size:.9em;letter-spacing:.09em;margin-top:.2em}
#mw-loading .mw-title small{font-family:'Arial Narrow',Arial,sans-serif;font-size:.55em;letter-spacing:-.025em;margin-top:.8em;font-weight:400;color:#ddd}
#mw-loading .mw-intel{left:12.5%;right:12.5%;bottom:15%;font-size:clamp(11px,2.5cqw,32px)}
#mw-loading .mw-intel label{width:max-content;transform-origin:left center;margin:0 0 .1em 5.5%;letter-spacing:.015em;line-height:1}
#mw-loading progress{box-sizing:border-box;width:100%;height:2px;min-height:2px;border:0;background:#ddd7;border-radius:0}
#mw-loading progress::-webkit-progress-bar{background:#ddd7}
#mw-loading progress::-webkit-progress-value{background:#eee4b5}
#mw-loading progress::-moz-progress-bar{background:#eee4b5}
#mw-loading .mw-below{position:relative;padding-top:.35em;min-height:1.2em}
#mw-loading output{position:absolute;left:0;top:.35em;margin:0;font:400 .6em/1.2 'Arial Narrow',Arial,sans-serif;text-align:left;letter-spacing:0}
#mw-loading .mw-tip{margin:0 7%;text-align:center;font:400 .6em/1.2 'Arial Narrow',Arial,sans-serif;color:#eee;letter-spacing:-.025em}

@font-face{font-family:SkateBankGothic;src:url('./bank-gothic-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
#mw-loading .mw-title strong,#mw-loading .mw-title span,#mw-loading .mw-intel label{font-family:SkateBankGothic,sans-serif;font-weight:500;font-synthesis:none;transform:none;letter-spacing:.015em}

#mw-loading .mw-title strong,#mw-loading .mw-intel label{font-size:1.25em}

#mw-loading .mw-intel label{font-size:1.45em}
#mw-loading .mw-title{line-height:1.02}
#mw-loading .mw-title span{margin-top:.08em}
#mw-loading .mw-title small{letter-spacing:.075em;margin-top:.4em}

#mw-loading .mw-title small{position:relative;width:max-content;margin-left:auto}
#mw-loading .mw-title small i{position:absolute;left:100%;top:0;font-style:normal;letter-spacing:.075em}
#reset-static{position:fixed;inset:0;z-index:1000;pointer-events:none;display:none;background:#555 url('./terminal-grain.svg');background-size:140px 140px;mix-blend-mode:normal}
#reset-static.active{display:block;animation:reset-noise .55s steps(7) both}
@keyframes reset-noise{0%{opacity:.9;background-position:0 0;filter:contrast(5)}25%{background-position:75px -43px;opacity:.75}55%{background-position:-32px 83px;opacity:.5}80%{background-position:112px 7px;opacity:.25}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#reset-static.active{animation:none;opacity:.15}}

#reset-static{background-size:100% 100%;image-rendering:pixelated}

#mw-pause{position:fixed;inset:0;z-index:500;box-sizing:border-box;overflow:auto;padding:clamp(16px,5vh,54px) clamp(20px,6vw,90px);background:linear-gradient(90deg,#11140ff5 0%,#1b2019e8 52%,#10151099 100%);color:#e7e8df;text-shadow:0 1px 2px #000;font:clamp(12px,min(2vw,2.6vh),23px)/1.35 Arial,sans-serif}
#mw-pause[hidden]{display:none!important}
#mw-pause h2{font:500 2em/1 SkateBankGothic,sans-serif;color:#f1d781;text-shadow:0 0 6px #ab7827;margin:0 0 .6em;letter-spacing:.04em}
#mw-pause .mw-pause-options{width:min(100%,660px)}
#mw-pause button,#mw-pause summary{box-sizing:border-box;display:block;width:100%;margin:0;padding:.35em .65em;text-align:left;text-transform:uppercase;background:transparent;color:inherit;border:0;border-left:3px solid transparent;border-radius:0;font:500 1em/1.35 SkateBankGothic,Arial,sans-serif;cursor:pointer}
#mw-pause button:hover,#mw-pause button:focus-visible,#mw-pause summary:hover,#mw-pause summary:focus-visible{background:linear-gradient(90deg,#b8bc8d66,#b8bc8d08);border-left-color:#f4db83;outline:0;color:#fff4c4}
#mw-pause button:disabled{opacity:.4;cursor:default}
#mw-pause .game-menu{border-top:1px solid #afb19355!important;margin-top:.5em!important;padding-top:.5em!important}
#mw-pause .mw-volume{display:flex;align-items:center;gap:1em;padding:.35em .65em;text-transform:uppercase}
#mw-pause .mw-volume input{min-width:50px;flex:1;accent-color:#d9cd8b}
#mw-pause .mw-volume output{min-width:3em;text-align:right}
#mw-pause .mw-help p{margin:.4em .65em;font-size:.8em;line-height:1.5;color:#c4c7b7}
#mw-pause .game-credits{border-top:1px solid #afb19355;margin-top:.65em;padding-top:.65em;font-size:.75em;line-height:1.4}
#mw-pause .game-credits a{color:#ddd4a3!important;text-decoration:none}
#mw-pause .game-credits a:hover{text-decoration:underline}
#mw-pause .mw-menu-hint{margin:1em 0 0;font-size:.7em;color:#c8cabc;letter-spacing:.12em}
#mw-pause [role=status]:empty{display:none}#mw-pause [role=status]{font-size:.75em;margin:.25em .65em;color:#ded096}

body:has(#mw-pause)>aside{display:none!important}
