@font-face{font-family:GlitchGoblin;src:url('/assets/glitch-goblin/GlitchGoblin.ttf') format('truetype');font-display:swap}
:root{--bs-bg:#10171b;--bs-panel:#202d32;--bs-text:#f0ede2;--bs-muted:#adbbb8;--bs-accent:#79c7bb;--bs-amber:#efb85b;--bg:#10171b;--panel:#202d32;--ink:#f0ede2;--muted:#adbbb8;--cyan:#79c7bb;--pink:#efb85b;--yellow:#efb85b;--line:#425a5d;--steel:#28393e;--bs-glass:#141d21;--bs-glass-soft:#202d32;--bs-glass-active:#293b3d;--bs-cyan:#79c7bb;--bs-pink:#efb85b;--bs-gold:#efb85b;--bs-edge:#54706f}
body.bs-site{background:radial-gradient(ellipse at top left,#293e40,#10171b 65%);color:var(--bs-text)}
.bs-site .panel,.bs-site .hero,.bs-site .card,.bs-site .feature,.bs-site .issue,.bs-site .guard{background:linear-gradient(145deg,#25343a,#182226);border-color:#425a5d;box-shadow:none;border-radius:12px 3px}
.bs-site a{color:var(--bs-accent)}.bs-site h1{color:var(--bs-text);text-shadow:none}.bs-site h2,.bs-site .eyebrow{color:var(--bs-amber)}
.bs-site button,.bs-site .btn{min-height:44px;border:1px solid #54706f;border-radius:10px 3px;padding:10px 18px;background:linear-gradient(#304449,#202d32);color:var(--bs-text);display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:normal;text-align:center}
.bs-site button:hover,.bs-site .btn:hover{background:#38534f;border-color:var(--bs-accent)}
.bs-site :is(button,a,input,select,textarea):focus-visible,.bs-updated-ui :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--bs-amber)!important;outline-offset:3px}
.bs-site input,.bs-site textarea,.bs-site select{background:#141d21;color:var(--bs-text);border-color:#54706f;border-radius:5px}
.bs-site .logo-img{width:100px;height:100px;object-fit:contain}.bs-site .grid>*{min-width:0}.bs-site pre{overflow:auto}.bs-site .actions{gap:12px}
#bs-menu-242[hidden]{display:none!important}#bs-menu-242{position:fixed;inset:0;z-index:10001;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(10,17,20,.20);color:var(--bs-text);touch-action:pan-y;font-family:GlitchGoblin,monospace}
.bs-menu-shell{width:min(880px,100%);max-height:100%;height:min(820px,100%);display:flex;flex-direction:column;min-height:0;border:1px solid #54706f;border-radius:20px 5px;background:linear-gradient(145deg,rgba(38,55,60,.82),rgba(20,29,33,.72) 65%);box-shadow:0 16px 70px #0008;overflow:hidden}
.bs-menu-shell header{padding:20px 26px 14px;border-bottom:1px solid #425a5d;flex-shrink:0}.bs-menu-shell h1{font-size:clamp(24px,4vw,38px);margin:0;color:var(--bs-amber);letter-spacing:.05em}.bs-menu-shell header p{font-family:monospace;line-height:1.5;color:var(--bs-muted);margin:8px 0 0}.bs-menu-body{padding:8px 24px 22px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;min-height:0;scrollbar-color:#79c7bb #182226;scroll-padding:12px}
.bs-menu-body h2{color:var(--bs-accent);font-size:14px;letter-spacing:.09em;margin:24px 0 12px}.bs-menu-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff0d;min-width:0}.bs-menu-row>span{flex:1;min-width:130px;font-size:14px}.bs-menu-row p{font:14px/1.5 monospace;color:var(--bs-muted);flex-basis:100%;margin:0}.bs-menu-row strong{font-size:15px}.bs-menu-shell button{min-height:44px;min-width:44px;padding:10px 16px;border:1px solid #54706f;border-radius:10px 3px;background:linear-gradient(#304449,#202d32);color:var(--bs-text);font:inherit;font-size:15px;cursor:pointer;touch-action:manipulation;transition:background .12s}.bs-menu-shell button:hover{background:#38534f;border-color:#79c7bb}.bs-menu-shell button:focus{outline:3px solid #efb85b;outline-offset:2px;background:#38534f}.bs-menu-shell button:disabled{opacity:.4;cursor:default}.bs-action{width:100%;text-align:left;display:block}.bs-action small{display:block;color:var(--bs-muted);font:14px/1.45 monospace;margin-top:5px}.bs-value{display:flex;align-items:center;gap:10px}.bs-value output{min-width:78px;text-align:center;font:14px monospace;color:var(--bs-accent)}.bs-toggle{min-width:90px!important}.bs-toggle[aria-checked=true]{background:#315d52;color:#e7fff1;border-color:#79c7bb}.bs-toggle::before{content:'●';margin-right:10px;color:#89938e}.bs-toggle[aria-checked=true]::before{color:#91ead1}.bs-menu-shell footer{padding:12px 24px;border-top:1px solid #425a5d;flex-shrink:0}.bs-menu-shell footer button{min-width:110px}
.bs-updated-ui .bs-mech-overlay{padding:12px;overflow-y:auto;background:#10171bf5}.bs-updated-ui .bs-mech-panel{max-width:100%!important;max-height:calc(100dvh - 24px)!important;overflow:auto;background:#202d32!important;border:1px solid #54706f!important;box-shadow:none!important}.bs-updated-ui .bs-mech-button{min-height:44px;border-radius:10px 3px!important;background:#28393e!important;color:#f0ede2!important}.bs-updated-ui .bs-mech-title{color:#efb85b!important;text-shadow:none!important}
@media(max-width:520px){.bs-menu-shell header{padding:14px 16px}.bs-menu-body{padding:6px 16px 16px}.bs-menu-shell footer{padding:10px 16px}.bs-menu-row>span{min-width:120px}.bs-value{gap:6px}.bs-value output{min-width:62px}.bs-site .wrap{padding:20px 14px}.bs-site .grid{grid-template-columns:1fr}}
@media(max-height:500px){.bs-menu-shell header{padding:8px 18px}.bs-menu-shell h1{font-size:23px}.bs-menu-shell header p{display:none}.bs-menu-shell footer{padding:6px 18px}.bs-menu-body{padding-top:0}}
.bs-updated-ui #bs-lucipurr button,.bs-updated-ui #bs-map-231 button{border-radius:10px 3px;min-height:44px}.bs-updated-ui #bs-lucipurr section{border-radius:18px 4px;max-height:calc(100dvh - 32px)}
#bs-menu-242{background:rgba(10,17,20,.20)}.bs-menu-shell header{position:relative}.bs-brand-mark{float:right;width:64px;height:64px;margin:0 0 6px 15px}.bs-menu-icon{display:block!important;float:left;width:58px!important;height:58px!important;max-width:none;max-height:none;aspect-ratio:1;margin:0 14px 0 0;pointer-events:none}.bs-menu-body[data-scene=characters] .bs-action{min-height:90px}
@media(min-width:650px){.bs-menu-body:is([data-scene=title],[data-scene=characters],[data-scene=level],[data-scene=chest]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start;padding-top:18px}.bs-menu-body:is([data-scene=title],[data-scene=characters],[data-scene=level],[data-scene=chest]) .bs-menu-row{padding:0;border:0;align-items:stretch}.bs-menu-body[data-scene=title] .bs-menu-row:first-child{grid-column:1/-1;padding:8px 0}.bs-menu-body[data-scene=title] .bs-action{min-height:58px}.bs-menu-body:is([data-scene=level],[data-scene=chest]) .bs-action{min-height:120px}}
@media(max-height:500px){.bs-brand-mark{width:30px;height:30px}}
.bs-menu-body{flex:1}.bs-menu-shell footer{margin-top:auto}
/* The loading card shares the single current UI; it never reveals retired neon menus. */
#boot-loader{background:#10171b;color:#f0ede2}#boot-card{background:#202d32;border:1px solid #54706f;border-radius:18px 4px;box-shadow:none}#boot-title{color:#efb85b;text-shadow:none}#boot-sub,#boot-status{color:#adbbb8}#boot-track{background:#141d21;border-color:#54706f}#boot-bar{background:linear-gradient(90deg,#79c7bb,#efb85b)}
/* Upgrade cards retain all mechanics/discovery copy and grow beyond their doubled minimum. */
.bs-menu-body:is([data-scene=level],[data-scene=chest]) .bs-upgrade-card{min-height:240px;align-content:start;padding:22px;white-space:normal;overflow-wrap:anywhere}
.bs-upgrade-card small{clear:both;padding-top:12px;line-height:1.6}.bs-upgrade-card .bs-choice-count{color:#79c7bb}.bs-upgrade-card .bs-choice-partner{color:#efb85b;border-top:1px solid #54706f;margin-top:16px}

/* Only reward screens fit all choices at once on phone-sized viewports. */
@media(max-width:650px),(max-height:500px){
 .bs-menu-shell:has(.bs-upgrade-card) header{padding:8px 12px}
 .bs-menu-shell:has(.bs-upgrade-card) h1{font-size:22px}
 .bs-menu-body:is([data-scene=level],[data-scene=chest]){display:grid;grid-template-columns:1fr;align-content:start;gap:6px;padding:6px 10px}
 .bs-menu-body:is([data-scene=level],[data-scene=chest]) .bs-menu-row{padding:0;border:0;align-items:stretch}
 .bs-menu-body:is([data-scene=level],[data-scene=chest]) .bs-action{min-height:44px;padding:8px;font-size:13px}
 .bs-menu-body .bs-upgrade-card .bs-menu-icon{width:34px!important;height:34px!important;margin-right:8px}
 .bs-upgrade-card small{padding-top:3px;margin-top:3px;font-size:12px;line-height:1.25}
 .bs-upgrade-card .bs-choice-partner{margin-top:5px;padding-top:5px}
}
@media(min-width:651px) and (max-height:500px){
 .bs-menu-body:is([data-scene=level],[data-scene=chest]){grid-template-columns:repeat(3,minmax(0,1fr))}
 .bs-menu-body:is([data-scene=level],[data-scene=chest]) .bs-menu-row:last-child{grid-column:1/-1}
}

/* End-run summaries use the available space without reward-card-sized margins. */
#bs-menu-242:has(.bs-menu-body:is([data-scene=dead],[data-scene=victory])){padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.bs-menu-shell:has(.bs-menu-body:is([data-scene=dead],[data-scene=victory])){height:auto;max-height:100%}
.bs-menu-shell:has(.bs-menu-body:is([data-scene=dead],[data-scene=victory])) header{padding:10px 14px 8px}
.bs-menu-shell:has(.bs-menu-body:is([data-scene=dead],[data-scene=victory])) header p{display:block;margin:4px 0 0;line-height:1.25;font-size:12px}
.bs-menu-body:is([data-scene=dead],[data-scene=victory]){padding:4px 14px 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;flex:0 1 auto}
.bs-menu-body:is([data-scene=dead],[data-scene=victory]) .bs-menu-row{padding:4px 0;gap:4px;overflow-wrap:anywhere}
.bs-menu-body:is([data-scene=dead],[data-scene=victory]) .bs-menu-row:not(:has(button)){grid-column:1/-1}
.bs-menu-body:is([data-scene=dead],[data-scene=victory]) .bs-menu-row p{font-size:13px;line-height:1.3}
.bs-menu-body:is([data-scene=dead],[data-scene=victory]) .bs-action{min-height:44px;padding:8px 12px;text-align:center}
@media(max-height:500px){.bs-menu-shell:has(.bs-menu-body:is([data-scene=dead],[data-scene=victory])) h1{font-size:22px}}
