@charset "UTF-8";
/* In-game menus share the title's native pixel font, texture and burgundy frame. */
#modal.game-menu-modal{
  --paper:#e3c3bf;--muted:#ae858c;--accent:#be777d;--line:#61303a;
  position:fixed;inset:0;z-index:12;padding:20px;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  background:#000a;backdrop-filter:none;overscroll-behavior:contain;
  color:var(--paper);font:16px/1.5 'Yume Pixel',monospace;
}
#modal.game-menu-modal .panel,#modal.game-menu-modal:has(.settings-menu) .panel{
  width:min(620px,100%);max-height:100%;padding:20px 24px;
  border:2px solid #62232b;border-radius:0;background:#0b0b0e url('./Assets/Interfaz/fondo-menu.svg') repeat;
  background-size:144px 144px;box-shadow:inset 0 0 0 2px #280f15,0 12px 40px #0009;
  scrollbar-color:#78343d #100d10;scrollbar-width:thin;overscroll-behavior:contain;
}
#modal.pause-menu-modal .panel{width:min(440px,100%)}
#modal.game-menu-modal .panel-top{gap:16px}
#modal.game-menu-modal #modal-kicker{font:11px/1.6 'Yume Pixel',monospace;letter-spacing:0;color:#ae858c}
#modal.game-menu-modal .panel-top button{min-width:40px;min-height:40px;color:#c8999b;font:24px/1 'Yume Pixel',monospace}
#modal.game-menu-modal h2,#modal.game-menu-modal:has(.settings-menu) h2{font:24px/1.5 'Yume Pixel',monospace;letter-spacing:0;color:#e3c3bf;margin:0 0 16px}
#modal.game-menu-modal button,#modal.game-menu-modal label,#modal.game-menu-modal select{font-family:'Yume Pixel',monospace}
#modal.game-menu-modal .menu-buttons{gap:8px}
#modal.game-menu-modal .quiet-button,#modal.game-menu-modal .menu-buttons button{min-height:44px;padding:10px 14px;border:1px solid #61303a;background:#160f1459;color:#d4b2b1;font-size:16px;line-height:1.5}
#modal.game-menu-modal button:hover{color:#f0d9d1;background-color:#42172099;border-color:#78343d}
#modal.game-menu-modal :is(button,input,select):focus-visible{outline:2px solid #be777d;outline-offset:2px}
#modal.pause-menu-modal .pause-actions{display:flex;flex-direction:column;gap:2px}
#modal.pause-menu-modal .pause-actions button{position:relative;width:100%;padding:9px 12px 9px 28px;border:2px solid transparent;background:transparent;text-align:left}
#modal.pause-menu-modal .pause-actions button:focus{outline:0;border-color:#78343d;background:#42172099;color:#f0d9d1}
#modal.pause-menu-modal .pause-actions button:focus::before{content:'';position:absolute;left:10px;top:calc(50% - 5px);width:6px;height:10px;background:#c88787;clip-path:polygon(0 0,2px 0,2px 2px,4px 2px,4px 4px,6px 4px,6px 6px,4px 6px,4px 8px,2px 8px,2px 10px,0 10px)}
#modal.game-menu-modal .panel p{color:#c79fa2;font:13px/1.65 'Courier New',monospace}
#modal.game-menu-modal .menu-note{color:#ae858c!important;font:12px/1.65 'Courier New',monospace!important;letter-spacing:0}
#modal.pause-menu-modal .menu-note:first-of-type{border-top:1px solid #51212d;margin-top:18px;padding-top:14px}
#modal.game-menu-modal .effect-card{border-color:#61303a;background:#100c11a8;color:#d4b2b1;min-height:60px}
#modal.game-menu-modal .effect-card.selected{border-color:#be777d;background:#42172099}
#modal.game-menu-modal .effect-card strong{font:16px/1.5 'Yume Pixel',monospace}
#modal.game-menu-modal .effect-card small{color:#ae858c}
#modal.game-menu-modal .effect-description{border-color:#51212d}
#modal.game-menu-modal .effect-description small{color:#c79fa2}
#modal.game-menu-modal .settings-menu .row{border-color:#51212d;gap:16px;min-height:48px}
#modal.game-menu-modal .settings-menu label{color:#d4b2b1;font-size:16px}
#modal.game-menu-modal .settings-menu :is(input,select){accent-color:#a35865}
#modal.game-menu-modal .settings-menu select{color:#e3c3bf;border:1px solid #61303a;background:#100d10;padding:8px}
/* The language popup is drawn by the game, including its open options. */
#modal .language-picker{position:relative;flex:0 0 150px;max-width:100%;font:14px/1.5 'Yume Pixel',monospace}
#modal .language-picker button{font:inherit;letter-spacing:0;border-radius:0;box-shadow:none;color:#e3c3bf;text-align:left;min-height:40px;-webkit-tap-highlight-color:transparent}
#modal .language-trigger{position:relative;width:100%;padding:8px 28px 8px 12px;border:2px solid #78343d;background:#100d10}
#modal .language-trigger::after{content:'';position:absolute;right:10px;top:calc(50% - 2px);width:8px;height:5px;background:#c88787;clip-path:polygon(0 0,100% 0,100% 40%,75% 40%,75% 70%,60% 70%,60% 100%,40% 100%,40% 70%,25% 70%,25% 40%,0 40%)}
#modal .language-trigger[aria-expanded=true]::after{transform:rotate(180deg)}
#modal .language-options{position:absolute;z-index:2;top:calc(100% + 4px);left:0;right:0;padding:4px;border:2px solid #78343d;background:#0b0b0e url('./Assets/Interfaz/fondo-menu.svg') repeat;background-size:72px 72px;box-shadow:0 6px 0 #0008;scrollbar-color:#78343d #100d10;scrollbar-width:thin}
#modal .language-options[hidden]{display:none}
#modal .language-options button{position:relative;display:block;width:100%;padding:7px 6px 7px 19px;border:1px solid transparent;background:transparent}
#modal .language-options button[aria-selected=true]::before{content:'';position:absolute;left:6px;top:calc(50% - 3px);width:5px;height:6px;background:#c88787;clip-path:polygon(0 0,40% 0,40% 20%,70% 20%,70% 40%,100% 40%,100% 60%,70% 60%,70% 80%,40% 80%,40% 100%,0 100%)}
#modal .language-picker button:hover,#modal .language-options button:focus{color:#f0d9d1;background:#421720;border-color:#a35865}
#modal .language-picker button:focus-visible{outline:2px solid #be777d;outline-offset:2px}
#modal .language-options button:focus-visible{outline:0}
@media(max-width:440px){#modal .language-picker{flex-basis:130px;font-size:12px}}
@media(max-width:350px){#modal .language-picker{flex-basis:112px}}
@media(max-width:480px){
  #modal.game-menu-modal .panel,#modal.game-menu-modal:has(.settings-menu) .panel{padding:14px 16px;background-size:72px 72px}
  #modal.game-menu-modal h2,#modal.game-menu-modal:has(.settings-menu) h2{font-size:20px}
  #modal.game-menu-modal .effect-grid,#modal.game-menu-modal .menu-buttons{grid-template-columns:1fr}
  #modal.game-menu-modal .settings-menu .row{flex-wrap:wrap}
}
@media(max-height:500px){#modal.game-menu-modal .panel,#modal.game-menu-modal:has(.settings-menu) .panel{padding:10px 18px}}

#modal.book-menu-modal .panel{background:#000;min-height:220px;}
#modal.book-menu-modal #modal-body{min-height:120px;display:flex;align-items:flex-end;}

/* Reception shop and saved red-coin balance. */
.shop-preview{display:block;width:96px;height:96px;image-rendering:pixelated;margin:8px auto 18px}
#modal.game-menu-modal.appearance-modal.shop-modal .panel{width:min(224px,100%);padding:18px;overflow:visible}
#modal.shop-modal .panel-top{display:block;height:0}
#modal.shop-modal #modal-kicker,#modal.shop-modal h2{display:none}
#modal.shop-modal #close-modal{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #78343d;background:#100d10;line-height:1}
#modal.shop-modal .shop-action{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:8px;text-align:center}
#modal.shop-modal .shop-action canvas{width:24px;height:24px;image-rendering:pixelated}
#modal.shop-modal .shop-status{margin:0 0 12px;text-align:center}

/* One skin for account, recovery and compatibility windows in either context. */
#modal{--paper:#e3c3bf;--muted:#ae858c;--accent:#be777d;--line:#61303a;color:var(--paper);font-family:'Yume Pixel',monospace}
#modal .primary,#modal .quiet-button{background:#24121988;border-color:#61303a;color:#d4b2b1}
#modal .primary:hover,#modal .quiet-button:hover{background:#421720;border-color:#a35865}
#modal.game-menu-modal.auth-modal .panel,#modal.game-menu-modal.update-modal .panel{width:min(460px,100%)}
#modal .auth-tab{color:#ae858c}
#modal .auth-tabs{border-color:#61303a}
#modal .auth-tab[aria-selected=true]{color:#edd1ca;border-color:#a35865;background:#491c254d}
#modal .auth-field>label{font:12px/1.5 'Yume Pixel',monospace;color:#c8a0a3}
#modal .auth-field input,#modal .auth-field select,#modal .recovery-code{min-height:40px;padding:8px 10px;border:1px solid #573039;background:#09090dd9;color:#efd6cc;font:16px/1.4 'Yume Pixel',monospace}
#modal .auth-field>small{color:#ae858c}
#modal .auth-field.has-recover{position:relative}
#modal .auth-field.has-recover>label{padding-right:112px}
#modal .auth-field .auth-recover{position:absolute;right:0;top:0;min-height:18px;padding:0;font:9px/1.5 'Yume Pixel',monospace;color:#be8b94}
#modal .auth-footer.auth-entry-actions{grid-template-columns:32px minmax(0,1fr) minmax(0,.7fr);gap:6px;margin:0}
#modal .auth-entry-actions:not(:has(#auth-guest:not([hidden]))){grid-template-columns:32px minmax(0,1fr)}
#modal .auth-entry-actions #auth-back{font:20px/1 'Yume Pixel',monospace;padding:0;letter-spacing:0}
#modal .auth-entry-actions>button{min-width:0;min-height:40px;padding:8px 3px;font:12px/1.5 'Yume Pixel',monospace;text-align:center}
#modal .auth-entry-actions>button[hidden]{display:none}
#modal .recovery-code{width:100%;text-align:center;letter-spacing:.1em}
#modal .auth-footer .update-link{font:12px/1.5 'Yume Pixel',monospace;color:#e3c3bf;background:#24121988;border:1px solid #61303a}
#modal .language-picker{flex-shrink:1}
#modal.game-menu-modal.appearance-modal .panel{width:min(920px,100%);padding:14px}
#modal.appearance-modal button{font-family:'Yume Pixel',monospace}
#modal .appearance-categories button:focus,#modal .appearance-cell:focus,#modal .appearance-preview-panel:focus{outline:2px solid #e6a0a7;outline-offset:-2px;box-shadow:inset 0 0 0 3px #4e2332}
#modal .appearance-preview-panel.is-inspecting{border-color:#e6a0a7;background:#21131d}
.appearance-grid{scrollbar-color:#78343d #100d10;scrollbar-width:thin}

/* Compact status remains anchored to the screen, independent of map camera. */
#player-panel{display:none;position:absolute;right:max(16px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));z-index:4;align-items:center;gap:5px;height:44px;padding:3px 10px 3px 3px;border:1px solid #61303a;background:#0b0b0e url('./Assets/Interfaz/fondo-menu.svg');background-size:72px 72px;color:#e3c3bf;font:14px/1 'Yume Pixel',monospace;pointer-events:none}
.in-game:not(.waking):not(.entering) #player-panel:not([hidden]){display:flex}
#player-panel canvas{image-rendering:pixelated;flex:none}
#player-portrait{width:36px;height:36px;background:#61303a}
#player-coin{width:24px;height:24px}
#player-coins{min-width:3ch;font-variant-numeric:tabular-nums;letter-spacing:1px}
#pause-button,#touch button{border:2px solid #61303a;border-radius:0;background:#0b0b0eee url('./Assets/Interfaz/fondo-menu.svg');background-size:72px 72px;color:#caa1a7;box-shadow:inset 0 0 0 1px #29141d,0 3px 0 #030305}
#touch button:active,#touch button.pressed,#pause-button:hover{background:#421720;border-color:#a35865;color:#f0d9d1;box-shadow:inset 0 0 0 1px #773847}
#touch button .icon-shadow{fill:#81525e}
#touch button[data-touch="action"],#touch button[data-touch="effect"]{border-color:#78404e;color:#ddbbc1}
#touch button[data-touch="effect"].active,#touch button[data-touch="effect"][aria-pressed=true]{background:#321821;border-color:#be777d;color:#f1c6cd}
#touch button[data-touch="effect"].active::before,#touch button[data-touch="effect"][aria-pressed=true]::before{background:#e6a0a7;box-shadow:none}
#touch button[data-touch="effect"]::after{height:4px;background:#e6a0a7}
#touch button[data-touch="effect"].wake-charging{border-color:#e6a0a7}
#touch-joystick{border:2px solid #61303a;background:radial-gradient(circle,#25141edf 0 28%,#100c13eb 29% 67%,#57303bd9 68% 70%,#100c13eb 71%);box-shadow:inset 0 0 0 2px #281621,0 3px 0 #030305}
#touch-joystick .joystick-guide{fill:#a468786b}
#joystick-thumb{border-color:#a66b7b;background:#33202b;box-shadow:inset 0 0 0 2px #583240,0 3px 0 #030305aa}
#joystick-thumb span{background:#d49aa9;box-shadow:0 0 0 3px #7b475a55}
#touch-joystick.active{border-color:#c58293;background:radial-gradient(circle,#38202c 0 28%,#20131ded 29% 67%,#8b4b60d9 68% 70%,#100c13eb 71%)}
#touch-joystick.active #joystick-thumb{border-color:#e9b3bf;background:#5a3042}
#touch-joystick.active #joystick-thumb span{background:#f3d0d4}
.in-game #touch .touch-actions{bottom:max(64px,calc(env(safe-area-inset-bottom) + 54px))}
.in-game.movement-left #touch .touch-actions{left:auto;right:max(18px,env(safe-area-inset-right),calc((100vw - var(--play-size))/4 - (var(--touch-size)*2 + var(--touch-gap))/2))}
.in-game.movement-left #touch .dpad,.in-game.movement-left #touch-joystick{right:auto;left:max(18px,env(safe-area-inset-left),calc((100vw - var(--play-size))/4 - (var(--touch-size)*3 + var(--touch-gap)*2)/2));bottom:max(64px,calc(env(safe-area-inset-bottom) + 54px))}
#toast,.in-game #toast{border:2px solid #78343d;background:#0b0b0ef5 url('./Assets/Interfaz/fondo-menu.svg');background-size:72px 72px;color:#e3c3bf;font:12px/1.7 'Yume Pixel',monospace;box-shadow:inset 0 0 0 1px #280f15}
#stage.touch-mode.in-game #toast{display:block!important;bottom:12px;font-size:10px;max-width:88%}
#wake{width:min(230px,80%);color:#e3c3bf;font:12px/1.6 'Yume Pixel',monospace}
#wake>div{height:10px;border:2px solid #78343d;background:#130d13;padding:1px}
#wake i{background:#e6a0a7;box-shadow:inset 0 -1px #9f566b}
#wake small{color:#be8b94}
/* Keep one unobtrusive chat toggle on desktop and touch. Badge fades with it. */
#stage.in-game:not(.menu-open):not(.waking):not(.entering) #chat-button:not([hidden]){display:flex}
#chat-button{top:auto;left:max(14px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));width:40px;height:40px;border:1px solid #78343d;border-radius:0;background:#100b10;color:#d4acb5;opacity:.38;transition:opacity .25s;box-shadow:inset 0 0 0 1px #28131d}
#chat-button.is-bright,#chat-button:focus-visible{opacity:1}
#chat-button.has-unread::after{content:'';position:absolute;right:-4px;top:-4px;width:10px;height:10px;border:2px solid #100b10;border-radius:50%;background:#ed3768}
#chat-button:focus-visible{outline:2px solid #be777d;outline-offset:3px}
@media(max-width:350px){#modal .auth-entry-actions>button{font-size:10px}#modal.game-menu-modal.appearance-modal .panel{padding:8px}#player-panel{right:12px;padding-right:7px}}
@media(prefers-reduced-motion:reduce){#chat-button{transition:none}}

#modal .auth-field select{width:100%;color-scheme:dark}
#modal #auth-home-refresh{justify-self:start;min-height:28px;padding:4px 8px;font-size:12px}

.test-map-search{width:100%;box-sizing:border-box;padding:10px;margin:4px 0 12px;background:#172228;color:#eee;border:1px solid #59646a;border-radius:4px;}
.test-map-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:48vh;overflow-y:auto;}
.test-map-list button{text-align:left;white-space:normal;min-height:44px;}
.test-map-list [hidden]{display:none;}
@media(max-width:420px){.test-map-list{grid-template-columns:1fr;}}

.test-map-list button{padding:0;overflow:hidden;display:flex;flex-direction:column;gap:0;}
.test-map-list img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;background:#090e12;}
.test-map-list button span{padding:9px 11px;}
