:root{color-scheme:dark;--ink:#0c100e;--panel:#131b17;--line:#394638;--green:#b8d580;--green-dark:#668344;--text:#e5e9d8;--muted:#939f8b;--red:#d26a48;--pixel:'Arena Pixel',monospace;--safe-top:max(env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px));--safe-right:max(env(safe-area-inset-right),var(--tg-content-safe-area-inset-right,0px));--safe-left:max(env(safe-area-inset-left),var(--tg-content-safe-area-inset-left,0px));--safe-bottom:max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px))}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ink)}body{font-family:Consolas,'Courier New',monospace;color:var(--text);font-size:16px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e0f7a8;outline-offset:4px}button{touch-action:manipulation}button,input,select{border-radius:0}button{transition:background .14s,color .14s,transform .14s}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}canvas{image-rendering:pixelated}svg{display:block}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:miter}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);display:block;margin:0 0 8px}.muted{color:var(--muted)}.backdrop{position:fixed;inset:0;background-size:cover;background-position:center;opacity:.88}.backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,10,.94),rgba(8,12,10,.25) 46%,rgba(8,12,10,.69)),linear-gradient(0deg,rgba(7,10,8,.93),transparent 30%,transparent 70%,rgba(7,10,8,.88))}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:3;opacity:.1;background:repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 4px)}.app{position:relative;z-index:2;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:calc(26px + var(--safe-top)) calc(44px + var(--safe-right)) calc(17px + var(--safe-bottom)) calc(44px + var(--safe-left));max-width:1900px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:21px;border-bottom:1px solid #384333;gap:15px}.profile-button{display:flex;gap:14px;align-items:center;border:0;background:transparent;text-align:left;padding:0;min-width:180px}.profile-button canvas{width:52px;height:52px;border:1px solid #667356;background:#17201a;padding:3px}.profile-button strong{display:block;font-size:18px;max-width:200px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-button .eyebrow,.wallet .eyebrow{font-size:10px;margin-bottom:6px}.edit-icon{width:15px;color:var(--muted);margin-left:8px}.top-brand,.brand-mark{font-family:var(--pixel);font-size:24px;font-weight:normal;color:var(--text);letter-spacing:-3px}.top-brand>span,.brand-mark>span{color:var(--green);margin-left:5px}.top-brand small{display:block;font-family:Consolas,monospace;font-size:9px;letter-spacing:5px;text-align:center;margin-top:9px;padding-left:4px;color:var(--muted)}.wallet{display:flex;align-items:center;gap:13px;min-width:180px;justify-content:flex-end}.wallet strong{font-family:var(--pixel);font-size:19px;font-weight:400}.coin{font-family:var(--pixel);font-size:17px;width:32px;height:32px;display:grid;place-items:center;background:#5c642b;color:#dce79a;border:4px solid #8b9750;box-shadow:3px 0 #35401e,-3px 0 #35401e,0 3px #35401e,0 -3px #35401e}.icon-button{border:1px solid var(--line);background:#182018;width:43px;height:43px;display:grid;place-items:center;font-size:29px}.icon-button:hover{background:#33412c;color:var(--green)}.shop-shortcut{margin-left:14px}.lobby{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.4fr) minmax(190px,.85fr);align-items:center;gap:clamp(24px,4vw,70px);padding:45px 0 35px;min-height:580px}.menu-heading{margin-bottom:32px}.menu-heading .eyebrow{font-size:10px;letter-spacing:3px}.menu-heading h1{font-family:var(--pixel);font-size:clamp(29px,3vw,45px);font-weight:normal;color:var(--green);margin:19px 0 22px;letter-spacing:-2px}.title-dot{color:#cf7349;font-size:.8em}.small-rule{display:block;width:46px;height:3px;background:var(--green)}.main-menu{display:grid;gap:11px}.menu-button{display:flex;gap:15px;align-items:center;text-align:left;width:100%;padding:0 17px;height:55px;background:#141d18d9;border:1px solid #3d493b;font-size:14px;letter-spacing:.4px}.menu-button:hover{background:#283528;border-color:#82945f}.menu-button.primary{background:#b5cd80;border-color:#d7e9a5;color:#182014;box-shadow:inset 0 -4px #7e9851}.menu-button.primary:hover{background:#d0e79b}.menu-number{font-size:11px;color:#7d8e73}.primary .menu-number{color:#54643a}.menu-arrow{margin-left:auto;font-size:26px;font-family:monospace;font-weight:normal}.showcase{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;align-self:center}.showcase-label{font-size:10px;letter-spacing:2px;display:flex;gap:12px;align-items:center;color:#b9c6a3;margin-bottom:28px}.showcase-label>span{width:21px;height:1px;background:#6c7957}.portrait-stage{display:flex;gap:18px;align-items:center;justify-content:center;width:100%;position:relative}.hero-frame{position:relative;padding:12px;background:linear-gradient(135deg,#1c281dec,#0c120eee);border:1px solid #4f5e40;box-shadow:0 10px 60px #0008,0 0 40px #a1c7620d;max-width:calc(100% - 75px)}.hero-frame:before{content:'';position:absolute;inset:5px;border:1px solid #303b2a;pointer-events:none}.hero-frame canvas{height:clamp(205px,29vh,320px);width:auto;max-width:100%;display:block;filter:saturate(.78);animation:portrait-breathe 4s steps(4,end) infinite;position:relative}.corner{position:absolute;background:var(--green);width:10px;height:3px;z-index:2}.corner:after{content:'';width:3px;height:10px;background:var(--green);position:absolute;left:0;top:0}.top-left{left:-2px;top:-2px}.top-right{right:-2px;top:-2px;transform:rotate(90deg);transform-origin:right top}.bottom-left{left:-2px;bottom:-2px;transform:rotate(-90deg);transform-origin:left bottom}.bottom-right{right:-2px;bottom:-2px;transform:rotate(180deg)}.portrait-scan{position:absolute;inset:10px;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 5px);pointer-events:none}.character-arrow{font-family:monospace;font-size:36px;background:none;border:0;color:#7f9266;padding:9px;flex-shrink:0}.character-arrow:hover{color:var(--green)}.hero-info{margin-top:28px}.hero-info h2{font-family:var(--pixel);font-size:24px;font-weight:400;letter-spacing:-1px;margin:13px 0 22px}.hero-info .eyebrow{font-size:9px;letter-spacing:2px}.pixel-button{background:var(--green);border:1px solid #d0e99d;box-shadow:inset 0 -3px #7f9b51;color:#182013;padding:14px 23px;font-size:13px;min-height:44px;letter-spacing:1px}.pixel-button:hover:not(:disabled){background:#d3e7a9}.pixel-button:disabled{opacity:.5}.pixel-button.selected{background:#182319;color:#b7d486;border-color:#526341;box-shadow:none;opacity:1}.hero-action{min-width:160px}.section-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #3e4c38;padding-bottom:17px;margin-bottom:20px}.section-heading h2{font-size:12px;font-weight:400;letter-spacing:1.7px;margin:0}.section-heading>span{color:#8c9f72;font-size:12px;white-space:nowrap}.roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.character-card{position:relative;background:#121a13db;border:1px solid #405137;padding:8px 6px 10px;min-width:0}.character-card:hover{background:#263522;border-color:#9bb875}.character-card.viewing{border-color:var(--green);box-shadow:inset 0 0 0 1px #93ac65}.character-card canvas{width:100%;max-width:90px;aspect-ratio:77/99;display:block;margin:auto;object-fit:contain}.character-card.locked canvas{filter:grayscale(1) brightness(.5)}.card-label{display:block;font-size:12px;margin-top:8px;color:#bac9a3}.card-mark{position:absolute;right:4px;top:4px;min-width:17px;background:var(--green);color:#1a2115;font-size:12px;line-height:17px}.card-price{position:absolute;left:0;right:0;top:45%;font-size:12px;color:#e3eaca;background:#111b12db;padding:5px 0}.roster-note{display:flex;gap:10px;align-items:flex-start;margin-top:23px;color:#839177;font-size:12px;line-height:1.65}.roster-note p{margin:0}.tiny-square{width:5px;height:5px;background:#7c9360;margin-top:7px;flex-shrink:0}.footer{border-top:1px solid #323d2d;display:flex;justify-content:space-between;align-items:center;padding-top:16px;gap:15px;font-size:9px;letter-spacing:1.4px;color:#7b8a6d}.footer>span:first-child{display:flex;align-items:center;gap:8px}.footer i{width:5px;height:5px;background:var(--green)}.footer button{font-size:9px;color:#99a788;background:none;border:0;padding:5px}.footer button:hover{color:var(--green)}
.gate{position:fixed;inset:0;background:#101711;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:8px}.gate h1{font-family:var(--pixel);font-size:20px;line-height:1.6;margin:8px 0 16px}.gate p{line-height:1.5;margin:5px 0}.gate .pixel-button{margin-top:20px}.rotate-device{width:48px;height:80px;border:4px solid var(--green);position:relative;margin-bottom:45px;animation:rotate-phone 2.2s steps(10,end) infinite}.rotate-device:after{content:'';position:absolute;width:5px;height:5px;background:var(--green);left:18px;bottom:3px}.rotate-device span{position:absolute;inset:7px 4px 13px;background:#405332}.gate .eyebrow{font-size:10px;letter-spacing:1px}.loading-screen{position:relative;z-index:5;display:flex;flex-direction:column;justify-content:center;min-height:100svh;width:min(760px,85vw);margin:0 auto;padding:35px 0}.loading-brand{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.loading-brand>.eyebrow{font-size:12px;margin:0}.loading-film{aspect-ratio:3/1;background-color:#182017;background-repeat:no-repeat;background-size:300% 200%;border:1px solid #506344;box-shadow:0 0 0 5px #0c130d,0 0 0 6px #2b3725;image-rendering:pixelated;position:relative;margin-bottom:29px;overflow:hidden}.film-placeholder{position:absolute;inset:0;display:flex;gap:8px;align-items:center;justify-content:center}.film-placeholder span{width:16px;height:30px;background:#617d45;animation:loading-bars 1s steps(4,end) infinite}.film-placeholder span:nth-child(2n){animation-delay:.15s}.film-placeholder span:nth-child(3n){animation-delay:.3s}.loading-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px;gap:20px}.loading-heading h1{font-family:var(--pixel);font-size:16px;margin:0;line-height:1.6;font-weight:400}.loading-heading strong{font-family:var(--pixel);font-size:18px;color:var(--green);font-weight:400}.progress-track{border:1px solid #53623f;padding:5px;height:24px;background:#10170e}.progress-track>div{height:100%;width:0;background:repeating-linear-gradient(90deg,#b5d17d 0 12px,transparent 12px 16px);transition:width .12s}.loading-detail{display:flex;justify-content:space-between;font-size:12px;color:#95a57f;gap:12px;margin-top:14px;line-height:1.5}.loading-tip{font-size:12px;color:#73846a;margin:30px 0 0;text-align:center}.loading-screen .pixel-button{align-self:center;margin-top:25px}.modal{background:#111a14;color:var(--text);border:1px solid #6f8356;box-shadow:0 0 0 5px #11170e,0 0 0 6px #405333;width:min(580px,calc(100vw - 45px));max-height:calc(100dvh - 36px);padding:25px 30px;overflow:auto}.modal::backdrop{background:#050906df;backdrop-filter:blur(4px)}.modal-top{display:flex;justify-content:space-between;align-items:center}.modal-top .eyebrow{margin:0}.modal h2{font-family:var(--pixel);font-size:22px;line-height:1.5;margin:15px 0 26px;font-weight:400;color:var(--green)}.modal p{font-size:15px;line-height:1.7}.modal label{display:block;font-size:14px;color:#c6d0ba}.modal input[type=text],.modal select{background:#0a110d;color:var(--text);padding:13px;border:1px solid #526445;width:100%;margin:10px 0 22px;outline-offset:1px;min-height:45px}.field-hint{font-size:12px;color:var(--muted);margin:0 0 20px}.avatar-options{display:flex;gap:12px;margin:15px 0 27px}.avatar-option{border:1px solid #4a5e3b;background:#152015;padding:5px;width:68px;height:72px}.avatar-option.active{border-color:var(--green);box-shadow:0 0 0 2px #9aba63}.avatar-option canvas{width:100%;height:100%;object-fit:contain}.form-actions{display:flex;gap:14px;justify-content:flex-end;align-items:center;margin-top:25px}.text-button{background:none;border:0;color:#a4b694;padding:12px}.form-error{color:#e4a085;line-height:1.5;font-size:13px}.shop-item{display:grid;grid-template-columns:120px 1fr;gap:25px;align-items:center;padding:20px 0;border-block:1px solid #36482f}.shop-item canvas{width:100%;image-rendering:pixelated}.shop-item h3{font-family:var(--pixel);font-size:17px;line-height:1.5;margin:0 0 15px;font-weight:400}.shop-item .pixel-button{width:100%;padding-inline:8px;letter-spacing:0}.shop-balance{display:flex;justify-content:space-between;margin-bottom:20px;color:#a9ba93;font-size:14px}.settings-row{padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #34412e}.settings-row>span{font-size:14px;line-height:1.5}.settings-row input[type=range]{accent-color:var(--green);width:140px}.settings-row input[type=checkbox]{width:21px;height:21px;accent-color:var(--green)}.settings-row button{font-size:12px;padding:10px;min-height:40px}.mode-badge{display:inline-block;font-size:11px;letter-spacing:1px;padding:7px 10px;color:#cdb788;border:1px solid #6c5a34;background:#2b2516}.toast{position:fixed;bottom:max(35px,var(--safe-bottom));left:50%;transform:translateX(-50%);z-index:1100;background:#273722;border:1px solid #a3bb7c;color:#e1efc6;padding:15px 24px;font-size:14px;max-width:90vw;text-align:center;box-shadow:4px 4px #060b05}.reduce-motion *{animation:none!important;transition:none!important}.modal.dev-modal{width:min(1150px,calc(100vw - 36px))}.dev-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:20px}.dev-canvas{width:100%;aspect-ratio:16/9;border:1px solid #557047;touch-action:none;background:#16201a}.dev-options{display:grid;gap:10px}.dev-options label{display:flex;gap:8px;align-items:center;font-size:12px;line-height:1.4}.dev-options input{accent-color:var(--green)}.dev-options select{margin:3px 0 5px;padding:6px;font-size:12px;min-height:34px}.dev-stats{display:flex;gap:16px;font-size:12px;color:var(--green);padding:10px 0}.dev-help{font-size:11px!important;color:#9dae8f;line-height:1.6!important;margin:8px 0}.dev-buttons{display:flex;flex-wrap:wrap;gap:6px}.dev-buttons button{background:#26351f;border:1px solid #668051;padding:8px;font-size:12px;min-height:36px}.dev-buttons .move-button{min-width:36px}.dev-tag{color:#e2b781;font-size:11px;margin:0 0 15px}.dev-mode-select{padding-bottom:6px;border-bottom:1px solid #36482f}
@keyframes portrait-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes rotate-phone{0%,20%{transform:rotate(0)}50%,85%{transform:rotate(90deg)}100%{transform:rotate(0)}}@keyframes loading-bars{0%,100%{height:14px;opacity:.4}50%{height:36px;opacity:1}}
@media(min-width:1600px){.lobby{gap:100px}.menu-button{height:61px;font-size:16px}.hero-frame canvas{height:350px}.roster{gap:22px}.character-card canvas{max-width:110px}.character-card{padding:12px}.card-label{font-size:14px}.section-heading h2{font-size:14px}}
@media(max-width:1000px){.app{padding:calc(18px + var(--safe-top)) calc(25px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(25px + var(--safe-left))}.lobby{grid-template-columns:minmax(200px,1fr) minmax(230px,1.2fr) minmax(150px,.7fr);gap:24px;min-height:480px}.menu-button{font-size:12px;padding:0 12px;height:49px;gap:10px}.menu-heading h1{font-size:30px}.hero-frame canvas{height:220px}.hero-info h2{font-size:20px}.roster{gap:8px}.card-label{font-size:11px}.section-heading h2{font-size:10px;letter-spacing:1px}.roster-note{font-size:11px}.portrait-stage{gap:4px}.character-arrow{padding:5px}.profile-button strong{max-width:155px;font-size:16px}.section-heading>span{font-size:11px}.showcase-label{font-size:9px}}
@media(max-height:540px) and (orientation:landscape){.app{min-height:100svh;padding:calc(8px + var(--safe-top)) calc(20px + var(--safe-right)) calc(6px + var(--safe-bottom)) calc(20px + var(--safe-left));grid-template-rows:46px 1fr 23px;height:100svh;min-height:330px}.topbar{padding-bottom:8px}.profile-button{gap:8px;min-width:130px}.profile-button canvas{width:35px;height:35px}.profile-button strong{font-size:14px;max-width:180px}.profile-button .eyebrow,.wallet .eyebrow{font-size:8px;margin-bottom:4px;letter-spacing:1px}.edit-icon{width:12px}.top-brand{font-size:18px}.top-brand small{font-size:7px;margin-top:4px}.wallet{gap:8px;min-width:130px}.wallet strong{font-size:13px}.coin{width:24px;height:24px;font-size:11px;border-width:3px}.icon-button{height:34px;width:34px;font-size:25px}.icon{height:20px;width:20px}.shop-shortcut{margin-left:5px}.lobby{padding:13px 0 10px;min-height:0;grid-template-columns:minmax(200px,1fr) minmax(190px,1.15fr) minmax(130px,.7fr);gap:25px;align-items:center}.menu-heading{margin-bottom:13px}.menu-heading .eyebrow{font-size:8px;letter-spacing:2px}.menu-heading h1{font-size:25px;margin:11px 0 12px}.small-rule{height:2px;width:30px}.main-menu{gap:5px}.menu-button{height:33px;min-height:33px;font-size:11px;padding:0 10px}.menu-number{font-size:9px}.menu-arrow{font-size:20px}.showcase-label{font-size:8px;letter-spacing:1px;margin-bottom:12px;gap:7px}.showcase-label>span{width:12px}.hero-frame{padding:6px}.hero-frame canvas{height:clamp(104px,33vh,155px)}.hero-frame:before{inset:3px}.hero-info{margin-top:11px}.hero-info .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:5px}.hero-info h2{font-size:15px;margin:8px 0 10px}.hero-info .pixel-button{min-height:30px;padding:8px 15px;font-size:9px}.character-arrow{font-size:28px}.section-heading{padding-bottom:10px;margin-bottom:9px}.section-heading h2{font-size:9px;letter-spacing:.4px}.section-heading>span{font-size:9px}.roster{gap:6px}.character-card{padding:4px 3px 6px}.character-card canvas{height:clamp(47px,14vh,68px);width:auto;max-width:100%}.card-label{font-size:9px;margin-top:4px}.card-mark{font-size:9px;line-height:13px;min-width:13px;top:1px;right:1px}.card-price{font-size:10px;padding:3px}.roster-note{margin-top:9px;font-size:9px;gap:6px}.footer{padding-top:6px;font-size:7px;letter-spacing:1px}.footer button{font-size:7px;padding:2px}.loading-screen{min-height:100svh;max-width:560px;padding:15px 0}.loading-brand{margin-bottom:15px}.loading-brand .brand-mark{font-size:18px}.loading-film{max-height:130px;width:100%;margin:0 auto 17px}.loading-heading{margin-bottom:11px}.loading-heading h1{font-size:12px}.loading-heading strong{font-size:14px}.loading-detail{font-size:10px;margin-top:8px}.loading-tip{margin-top:12px;font-size:10px}.progress-track{height:18px;padding:3px}.modal{max-height:calc(100dvh - 20px);padding:14px 22px}.modal h2{font-size:17px;margin:10px 0 18px}.modal.dev-modal{width:calc(100vw - 24px)}.dev-layout{grid-template-columns:1fr 190px;gap:10px}.dev-options{gap:5px}.dev-options label{font-size:10px}.dev-options select{min-height:25px;font-size:10px;padding:3px;margin:0}.dev-help{font-size:9px!important}.dev-stats{font-size:10px;padding:6px 0}.dev-buttons button{font-size:10px;padding:4px 6px;min-height:29px}.dev-tag{margin-bottom:8px;font-size:10px}}
@media(max-width:700px) and (min-height:541px){.app{padding:20px}.topbar{gap:10px}.top-brand{display:none}.profile-button{min-width:0}.wallet{min-width:0}.lobby{grid-template-columns:1fr 1fr;gap:20px;padding:30px 0;min-height:0}.roster-panel{grid-column:1/-1}.roster{grid-template-columns:repeat(4,1fr)}.menu-heading h1{font-size:23px}.menu-button{font-size:11px;padding:0 8px;gap:7px}.hero-frame canvas{height:175px}.character-arrow{font-size:24px;padding:2px}.hero-frame{padding:5px}.hero-frame:before{inset:2px}.hero-info h2{font-size:17px}.showcase-label{font-size:8px;letter-spacing:.5px;gap:4px}.roster-note{display:none}.footer{font-size:8px;flex-wrap:wrap}.footer button{font-size:8px}.dev-layout{grid-template-columns:1fr}.loading-heading h1{font-size:12px}.loading-heading strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Arcade pass: closer to the original black / red / phosphor-green palette. */
:root{--green:#b9e880;--green-dark:#619641;--panel:#0b100c;--line:#43573c;--text:#ebf0df;--muted:#a3b194;--red:#df623d}
.backdrop{opacity:.48;filter:saturate(.65)}.backdrop:after{background:linear-gradient(90deg,#030603de,transparent 48%,#0306039c),linear-gradient(0deg,#030603c9,transparent 30%,#0306038c)}
.scanlines{opacity:.045}.menu-heading h1{color:#e57550;text-shadow:4px 4px #32150d}.menu-button{background:#070d09e8;border-color:#43563c;font-size:15px;height:58px}
.menu-button.primary{background:#c95635;border-color:#ee8862;color:#fff0d5;box-shadow:inset 0 -4px #81321e}.menu-button.primary:hover{background:#e3714b}.primary .menu-number{color:#ffd0a6}
.menu-heading .eyebrow{color:#c3cdb5}.hero-frame{background:#070c08e8;border-color:#65854a;box-shadow:0 9px 50px #000b}.hero-frame canvas{filter:none}.hero-info h2{color:#d0ec9e}
.character-card{background:#060c08ed;border-color:#466639}.character-card.viewing{border-color:#b9eb78;box-shadow:inset 0 0 0 2px #7ca957}.card-label{font-size:14px}.roster-note{color:#b0bca2}.footer{color:#9dab8f}.footer button{color:#bbcca6}
.loading-film{aspect-ratio:2/1;width:min(100%,660px);margin-inline:auto}.loading-screen{width:min(760px,85vw)}
@media(max-height:540px) and (orientation:landscape){
 .lobby{grid-template-columns:minmax(220px,1.12fr) minmax(165px,1fr) minmax(145px,.75fr);gap:20px;padding-top:9px;padding-bottom:7px}
 .menu-heading{margin-bottom:8px}.menu-heading .eyebrow{display:none}.menu-heading h1{font-size:22px;margin:0 0 9px}.small-rule{display:none}.main-menu{gap:5px}
 .menu-button{height:40px;min-height:40px;font-size:13px}.menu-number{font-size:10px}.card-label{font-size:11px}.section-heading h2{font-size:10px}.section-heading>span{font-size:10px}.roster-note{font-size:10px;line-height:1.4}
 .hero-info .pixel-button{min-height:38px;font-size:11px;padding:9px 16px}.hero-info h2{font-size:16px}.hero-info .eyebrow{display:none}.hero-info{margin-top:10px}
 .profile-button strong{font-size:15px}.footer{font-size:8px}.footer button{font-size:8px}.loading-film{width:260px;max-height:none;margin-bottom:15px}.loading-brand{margin-bottom:13px}
 .character-arrow{min-width:35px;min-height:44px}.showcase-label{letter-spacing:.4px;font-size:9px}.character-card canvas{height:clamp(44px,13vh,60px)}
}
@media(max-width:700px) and (min-height:541px){.menu-button{font-size:12px;height:49px}.card-label{font-size:12px}}
@media(max-height:540px) and (orientation:landscape){
 .dev-modal .modal-top{position:absolute;top:12px;right:18px}.dev-modal #modal-kicker{display:none}.dev-modal h2{font-size:13px;margin:5px 45px 12px 0}.dev-modal .dev-tag{font-size:9px;margin-bottom:10px}
 .dev-modal .dev-canvas{width:min(100%,300px);display:block;margin:auto}.dev-modal .dev-stats{justify-content:center;font-size:10px}.dev-modal .dev-help{display:none}
 .dev-modal .dev-options{gap:5px;align-content:start}.dev-modal .dev-options label{font-size:11px;min-height:21px}.dev-modal .dev-buttons{justify-content:center}.dev-modal .dev-buttons button{min-height:32px;font-size:11px}
}

/* Collection drawer and the complete shop catalogue. */
.shop-layout{grid-template-rows:minmax(0,1fr);height:min(560px,calc(100dvh - 240px))}
@media(max-height:540px) and (orientation:landscape){.shop-layout{height:calc(100dvh - 124px)}}
.lobby{position:relative}.roster-panel{position:relative;align-self:start;margin-top:12px;z-index:8;min-width:0}
.roster-toggle{display:flex;align-items:center;gap:15px;width:100%;min-height:58px;padding:16px;background:#080e0aed;border:1px solid #597545;text-align:left;font-size:13px;letter-spacing:1px}
.roster-toggle:hover{border-color:var(--green);background:#172214}.roster-toggle #owned-count{margin-left:auto;color:var(--green);font-size:15px}.roster-chevron{color:var(--green);font-size:21px}.roster-toggle[aria-expanded=true] .roster-chevron{transform:rotate(180deg)}
.roster-drawer{position:absolute;top:0;right:0;width:360px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 185px);display:flex;flex-direction:column;padding:18px;background:#0c150efa;border:1px solid #84a65e;box-shadow:5px 5px #020702b3;animation:drawer-open .15s ease-out}
.roster-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px}.roster-drawer-heading .eyebrow{font-size:9px;margin:0 0 7px}.roster-drawer-heading h2{font-size:14px;letter-spacing:1px;font-weight:400;margin:0}.roster-drawer-heading .icon-button{flex-shrink:0}
.roster-drawer .roster{overflow:auto;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:3px;overscroll-behavior:contain;scrollbar-color:#607b48 #0a110b;scrollbar-width:thin}
.roster-drawer .character-card{padding:8px 4px}.roster-drawer .character-card canvas{width:64px;height:82px;max-width:100%;object-fit:contain}.roster-drawer .card-label{font-size:12px;line-height:1.4;min-height:34px;display:flex;justify-content:center;align-items:center;overflow-wrap:anywhere}
.roster-shop{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1c2b18;color:var(--green);border:1px solid #445b35;font-size:12px;line-height:1.5;padding:12px;margin-top:15px;min-height:44px;flex-shrink:0}.roster-shop:hover{background:#304325}
.avatar-options{flex-wrap:wrap;max-height:260px;overflow:auto;padding:3px}
.modal.shop-modal{width:min(1060px,calc(100vw - 48px));max-height:calc(100dvh - 36px);display:flex;flex-direction:column;overflow:hidden;padding:22px 28px}
.shop-modal:not([open]){display:none}.shop-modal #modal-content{display:flex;flex-direction:column;min-height:0;flex:1}.shop-modal h2{margin:10px 0 20px;flex-shrink:0}.shop-modal .modal-top{flex-shrink:0}.shop-modal .shop-balance{padding-bottom:13px;border-bottom:1px solid #394b2f;margin-bottom:17px;flex-shrink:0}
.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:24px;min-height:0;max-height:min(560px,calc(100dvh - 240px));flex:1}.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow-y:auto;align-content:start;min-height:0;padding:3px 10px 3px 3px;overscroll-behavior:contain;scrollbar-color:#749053 #10180e;scrollbar-width:thin}
.shop-card{border:1px solid #3e5332;padding:12px 7px;background:#081009;min-width:0;display:flex;flex-direction:column;align-items:center;gap:9px}.shop-card:hover{background:#1c2b15;border-color:#89a35f}.shop-card.active{border-color:var(--green);box-shadow:inset 0 0 0 1px #87ac58;background:#17220f}.shop-card canvas{display:block;width:77px;height:99px;max-width:100%;object-fit:contain}.shop-card-name{font-size:13px;line-height:1.4;min-height:36px;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere}.shop-card-price{font-size:11px;line-height:1.4;letter-spacing:.3px;color:#b9d68a}
.shop-detail{display:flex;flex-direction:column;align-items:center;text-align:center;background:#0a120c;border:1px solid #394f2e;padding:20px 14px;min-height:0;overflow-y:auto}.shop-detail .eyebrow{font-size:9px;margin-bottom:15px}.shop-detail canvas{width:123px;height:158px;object-fit:contain;max-width:100%;flex-shrink:0}.shop-detail h3{font-family:var(--pixel);font-size:13px;font-weight:400;line-height:1.7;overflow-wrap:anywhere;margin:20px 0 12px;color:var(--green)}.shop-detail .shop-detail-price{font-size:15px;margin:0 0 19px}.shop-detail .pixel-button{width:100%;font-size:11px;letter-spacing:0;padding:13px 8px;min-height:44px}.shop-detail .shop-purchase-hint{font-size:11px;line-height:1.6;color:#9eb488;margin:12px 0 0}.shop-detail .form-error{margin:10px 0 0;font-size:11px}.shop-modal .shop-footer-note{color:#98ab86;font-size:11px;line-height:1.5;margin:17px 0 0;flex-shrink:0}
@keyframes drawer-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-layout{grid-template-columns:minmax(0,1fr) 200px;gap:16px}.roster-toggle{font-size:11px;padding:12px;gap:10px}.roster-toggle #owned-count{font-size:13px}}
@media(max-height:540px) and (orientation:landscape){
 .roster-panel{margin-top:7px}.roster-toggle{min-height:44px;font-size:10px;padding:10px 9px;letter-spacing:.3px;gap:6px}.roster-toggle #owned-count{font-size:12px}.roster-chevron{font-size:18px}
 .roster-drawer{width:305px;padding:12px;max-height:calc(100dvh - 100px)}.roster-drawer-heading{padding-bottom:9px}.roster-drawer-heading h2{font-size:12px}.roster-drawer-heading .eyebrow{font-size:8px}.roster-drawer .character-card canvas{width:47px;height:60px}.roster-drawer .card-label{font-size:11px;min-height:27px;margin-top:5px}.roster-shop{font-size:11px;padding:8px 10px;margin-top:10px;min-height:40px}
 .modal.shop-modal{padding:12px 18px;width:calc(100vw - 28px);max-height:calc(100dvh - 20px)}.shop-modal .modal-top{position:absolute;top:12px;right:18px}.shop-modal #modal-kicker{display:none}.shop-modal h2{font-size:16px;margin:3px 48px 12px 0}.shop-modal .shop-balance{font-size:12px;margin-bottom:10px;padding-bottom:9px}
 .shop-layout{grid-template-columns:minmax(0,1fr) 176px;gap:12px;max-height:calc(100dvh - 124px)}.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-right:7px}.shop-card{padding:7px 4px;gap:4px}.shop-card canvas{width:42px;height:54px}.shop-card-name{font-size:11px;min-height:30px;line-height:1.35}.shop-card-price{font-size:10px;letter-spacing:0}.shop-detail{padding:10px}.shop-detail .eyebrow{display:none}.shop-detail canvas{width:61px;height:78px}.shop-detail h3{font-size:10px;line-height:1.5;margin:8px 0 5px}.shop-detail .shop-detail-price{font-size:12px;margin:0 0 8px}.shop-detail .pixel-button{font-size:10px;min-height:38px;padding:8px 4px}.shop-detail .shop-purchase-hint{font-size:10px;margin-top:6px;line-height:1.4}.shop-modal .shop-footer-note{display:none}
}
@media(max-width:700px) and (min-height:541px){.roster-panel{grid-column:1/-1;margin-top:0}.roster-drawer{top:auto;bottom:0;max-height:calc(100dvh - 120px)}.shop-layout{grid-template-columns:minmax(0,1fr) 155px;gap:10px;max-height:calc(100dvh - 240px)}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-card{padding:7px 4px}.shop-card canvas{width:52px;height:67px}.shop-card-name{font-size:11px}.shop-card-price{font-size:10px}.shop-detail{padding:12px 8px}.shop-detail canvas{width:88px;height:113px}.shop-detail h3{font-size:11px}.shop-detail .pixel-button{font-size:10px}.modal.shop-modal{padding:18px}}

/* Stop decorative animation when it cannot be seen. */
body.app-in-background *,body.app-in-background *::before,body.app-in-background *::after,body.menu-obscured #app *,body.menu-obscured #app *::before,body.menu-obscured #app *::after{animation-play-state:paused!important}

/* All inset values are margins measured from the same viewport edge. */
:root{--safe-top:max(env(safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px),var(--ago-safe-top,0px));--safe-right:max(env(safe-area-inset-right,0px),var(--tg-safe-area-inset-right,0px),var(--tg-content-safe-area-inset-right,0px),var(--ago-safe-right,0px));--safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px),var(--ago-safe-bottom,0px));--safe-left:max(env(safe-area-inset-left,0px),var(--tg-safe-area-inset-left,0px),var(--tg-content-safe-area-inset-left,0px),var(--ago-safe-left,0px))}
dialog.gate{margin:0;width:100vw;max-width:none;height:var(--ago-viewport-height,100dvh);max-height:none;border:0;outline:0;color:var(--text);padding:max(24px,var(--safe-top)) max(24px,var(--safe-right)) max(24px,var(--safe-bottom)) max(24px,var(--safe-left))}dialog.gate::backdrop{background:#101711}
.presentation-prompt{position:fixed;left:50%;bottom:max(15px,var(--safe-bottom));transform:translateX(-50%);z-index:950;display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:14px;width:min(950px,calc(100vw - 32px));padding:14px 18px;background:#142017f5;border:1px solid #849d60;box-shadow:0 6px 28px #000a;font:12px/1.45 monospace}.presentation-prompt strong{font-size:13px;color:#d4e7ae}.presentation-prompt p{margin:4px 0 0;color:#a5b79a;font-size:11px}.presentation-prompt .pixel-button{font-size:11px;min-height:42px;padding:10px 14px}.presentation-prompt .text-button{font-size:11px;max-width:120px;line-height:1.4}
@media(max-height:500px) and (orientation:landscape){.presentation-prompt{width:calc(100vw - 16px);bottom:max(5px,var(--safe-bottom));padding:8px 10px;gap:10px}.presentation-prompt strong{font-size:11px}.presentation-prompt p{font-size:9px;line-height:1.35}.presentation-prompt .pixel-button{font-size:10px;padding:8px 10px;min-height:36px}.presentation-prompt .text-button{font-size:10px;padding:7px;max-width:110px}}
@media(max-width:540px) and (orientation:portrait){.presentation-prompt{grid-template-columns:1fr 1fr}.presentation-prompt>div{grid-column:1/-1}.presentation-prompt .text-button{max-width:none}}
