:root{--bg-void: #0e0c0f;--bg-deep: #18151a;--bg-floor: #1e1b21;--bg-panel: #16131a;--bg-wall: #2e2a33;--col-player: #5ce0d6;--col-player-dim: #3a9e97;--col-enemy: #e8645a;--col-treasure: #ffe066;--col-water: #4a9cd6;--col-magic: #b07ce8;--col-stairs: #c8c0d0;--ui-text: #e8e4ee;--ui-text-sec: #a8a0b4;--ui-text-muted: #6a6278;--ui-border: #3a3444;--ui-border-hi: #5a5270;--ui-selection: rgba(92, 224, 214, .15);--ui-hp: #e8645a;--ui-mp: #4a9cd6;--ui-xp: #b07ce8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg-void);color:var(--ui-text);font-family:Inter,system-ui,sans-serif;line-height:1.5;overflow-x:hidden;overflow-y:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}.app{width:100%;height:100svh;display:flex;flex-direction:column;align-items:center;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);overflow:hidden}.viewport-wrap{display:flex;justify-content:center;align-items:center;flex:1 1 0;min-height:0;width:100%}.viewport-inner{overflow:hidden;position:relative}.viewport-wrap canvas{display:block}.viewport-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.viewport-overlay>*{pointer-events:auto}.hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:.5rem .6rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;z-index:1;pointer-events:none}.hud>*{pointer-events:auto}.hud-left{display:flex;flex-direction:column;gap:.25rem;background:none;border:none;border-radius:0;padding:.4rem .6rem}.hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;background:#0e0c0fd1;border:1px solid var(--ui-border);border-radius:8px;padding:.35rem .4rem}.hud-dungeon{font-family:"Press Start 2P",monospace;font-size:.75rem;color:var(--col-player);letter-spacing:.1em}.hud-gold{font-size:.75rem;color:var(--col-treasure);font-weight:600}.hud-row{display:flex;align-items:center;gap:.3rem}.hud-row .label{color:var(--ui-text-muted);font-size:.75rem}.hud-row .value{font-weight:600;font-size:.75rem}.hud-row .equip{font-size:.75rem}.equip-row{gap:.2rem}.hud-bar{height:6px;border-radius:3px;background:var(--bg-wall);width:56px;overflow:hidden}.hud-bar-inner{height:100%;border-radius:3px;transition:width .15s}.wr-bar .hud-bar-inner{background:var(--col-player)}.xp-bar .hud-bar-inner{background:var(--ui-xp)}.log-panel{position:absolute;bottom:0;left:0;right:0;background:#0e0c0fe0;border-radius:0 0 4px 4px;padding:.3rem .5rem .15rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;line-height:1.5;overflow:hidden}.log-panel:after{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:linear-gradient(rgba(14,12,15,.88),transparent);pointer-events:none}.log-inner{height:100%;overflow-y:auto;scrollbar-width:none}.log-inner::-webkit-scrollbar{display:none}.log-line{padding:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-toggle-btn{position:absolute;bottom:4px;right:6px;width:44px;height:44px;background:#0e0c0f99;border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text-muted);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;-webkit-tap-highlight-color:transparent}.log-toggle-btn:hover{color:var(--ui-text);border-color:var(--ui-border-hi)}.mode-toggle-btn{position:absolute;bottom:100px;right:6px;width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#0e0c0fcc;border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-muted);font-family:"Press Start 2P",monospace;cursor:pointer;z-index:2;line-height:1;-webkit-tap-highlight-color:transparent}.abandon-btn{position:absolute;bottom:156px;right:6px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#0e0c0fcc;border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-muted);font-family:"Press Start 2P",monospace;font-size:.75rem;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;transition:border-color .15s,color .15s}.abandon-btn:hover{color:var(--ui-hp);border-color:var(--ui-hp)}.mode-toggle-btn .mode-icon{font-size:.7rem;line-height:1}.mode-toggle-btn .mode-label{font-size:.45rem;letter-spacing:.06em;line-height:1}.mode-toggle-btn.mode-manual{border-color:var(--col-player);color:var(--col-player)}.mode-toggle-btn.mode-auto{border-color:var(--ui-border);color:var(--ui-text-muted)}.mode-toggle-btn:hover{color:var(--ui-text);border-color:var(--ui-border-hi)}.mode-toggle-btn.mode-manual:hover{color:var(--col-player);border-color:var(--col-player)}.minimap-canvas{display:block;width:96px;height:96px;border:1px solid var(--ui-border);border-radius:3px}.minimap-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0c0fe0;display:flex;align-items:center;justify-content:center;z-index:20;cursor:pointer}.minimap-fullscreen-canvas{width:100vw;height:100vh;object-fit:contain;border:none;border-radius:0}.minimap-close{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#0e0c0fcc;border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-hp);font-family:"Press Start 2P",monospace;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:21;-webkit-tap-highlight-color:transparent}.minimap-close:hover{color:#fff;border-color:var(--ui-hp)}.hud-actions{display:flex;gap:.3rem;margin-top:.15rem}.hud-action-btn{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:36px;min-height:36px;padding:.2rem .3rem;background:var(--bg-panel);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-muted);font-family:IBM Plex Mono,monospace;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:border-color .15s,color .15s}.hud-action-btn:active{background:var(--ui-selection)}.hud-action-btn.active{border-color:var(--col-player);color:var(--col-player)}.hud-action-label{font-size:.5rem;text-transform:uppercase;letter-spacing:.06em;line-height:1}.auto-btn{min-width:44px;min-height:44px;padding:.3rem .5rem;background:var(--bg-panel);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-muted);font-family:IBM Plex Mono,monospace;font-size:.75rem;cursor:pointer;letter-spacing:.04em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:border-color .15s,color .15s}.auto-btn:active{background:var(--ui-selection)}.auto-btn.active{border-color:var(--col-player);color:var(--col-player)}.mode-btn{font-size:.75rem}.mode-btn .mode-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.feather-btn{font-size:.75rem}.feather-btn.active{border-color:#fa3;color:#fa3}.loading{text-align:center;padding:2rem 1rem;font-family:"Press Start 2P",monospace;font-size:.75rem;color:var(--ui-text-muted);letter-spacing:.08em}.game-over-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0e0c0fd9;z-index:5;border-radius:4px}.game-over-text{font-family:"Press Start 2P",monospace;font-size:.75rem;color:var(--ui-hp);letter-spacing:.08em;margin-bottom:1rem}.game-over-overlay .restart{padding:.6rem 1.2rem;min-height:44px;background:var(--bg-panel);border:1px solid var(--ui-border);border-radius:4px;color:var(--col-player);font-family:"Press Start 2P",monospace;font-size:.75rem;cursor:pointer;letter-spacing:.08em}.game-over-overlay .restart:hover{background:var(--ui-selection)}.stairs-prompt{text-align:center;padding:.3rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--col-stairs);animation:pulse 1.5s infinite}.overlay-stairs{position:absolute;top:48px;left:50%;transform:translate(-50%);background:#0e0c0fb3;border-radius:4px;padding:.25rem .6rem;white-space:nowrap}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.gold-counter{color:var(--col-treasure)}.travel-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0e0c0fe0;display:flex;flex-direction:column;padding:.5rem;z-index:3;overflow-y:auto}.travel-header{display:flex;align-items:center;justify-content:space-between;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--ui-text-sec);margin-bottom:.4rem;padding-bottom:.3rem;border-bottom:1px solid var(--ui-border)}.travel-header .travels-remaining{color:var(--ui-text-muted);font-size:.75rem}.travel-close{background:none;border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text-muted);font-size:.75rem;cursor:pointer;padding:.15rem .4rem;-webkit-tap-highlight-color:transparent}.travel-close:hover{color:var(--ui-text);border-color:var(--ui-border-hi)}.travel-list{display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.travel-row{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;background:#1e1b21b3;border:1px solid var(--ui-border);border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--ui-text);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s}.travel-row:hover:not(.disabled){border-color:var(--col-player)}.travel-row.current{border-color:var(--col-player);opacity:.7;cursor:default}.travel-row.disabled{opacity:.35;cursor:not-allowed}.travel-lvl{font-weight:600;min-width:36px}.travel-wr{font-size:.75rem;font-weight:600}.travel-cd{font-size:.75rem;color:var(--ui-hp);margin-left:auto}.travel-here{font-size:.75rem;color:var(--col-player);text-transform:uppercase;letter-spacing:.06em;margin-left:auto}.tt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0e0c0ff0;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:4px}.tt-panel{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.6rem;max-height:100%;overflow-y:auto;width:100%}.tt-panel-game{gap:.25rem;justify-content:center}.tt-panel-result{gap:1rem;justify-content:center}.tt-header{display:flex;align-items:center;width:100%;gap:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--ui-border)}.tt-title{font-family:"Press Start 2P",monospace;font-size:.75rem;color:var(--col-magic);letter-spacing:.06em}.tt-avg{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--ui-text-muted);margin-left:auto}.tt-close{background:none;border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text-muted);font-size:.75rem;cursor:pointer;padding:.15rem .4rem;-webkit-tap-highlight-color:transparent}.tt-close:hover{color:var(--ui-text);border-color:var(--ui-border-hi)}.tt-card-wrap{display:flex;flex-direction:column;align-items:center;flex-shrink:0;transition:transform .15s,box-shadow .2s}.tt-card-clickable{cursor:pointer}.tt-card-clickable:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0006}.tt-card-selected{transform:translateY(-3px)}.tt-card-selected .tt-card{border-color:var(--col-treasure)!important;box-shadow:0 0 10px #ffe0664d}.tt-card-captured{animation:cardFlip .4s ease}.tt-card{position:relative;width:100px;height:100px;background:var(--bg-deep);border:2px solid var(--ui-border);border-radius:4px 4px 0 0;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s,box-shadow .2s}.tt-card-sm{width:68px;height:68px}.tt-card-empty{background:#1e1b214d;border-style:dashed;border-color:var(--ui-border);border-radius:4px}@keyframes cardFlip{0%{transform:scaleX(1)}50%{transform:scaleX(0)}to{transform:scaleX(1)}}.tt-card-sprite{position:relative;z-index:0;flex-shrink:0}.tt-val{position:absolute;font-family:"Press Start 2P",monospace;font-size:.75rem;color:var(--ui-text);text-shadow:0 0 3px rgba(0,0,0,1),0 1px 2px rgba(0,0,0,.9);z-index:2}.tt-card-sm .tt-val{font-size:.5rem}.tt-val-n{top:3px;left:50%;transform:translate(-50%)}.tt-val-s{bottom:4px;left:50%;transform:translate(-50%)}.tt-val-w{left:4px;top:50%;transform:translateY(-50%)}.tt-val-e{right:4px;top:50%;transform:translateY(-50%)}.tt-card-sm .tt-val-n{top:2px}.tt-card-sm .tt-val-s{bottom:2px}.tt-card-sm .tt-val-w{left:3px}.tt-card-sm .tt-val-e{right:3px}.tt-card-name{width:100%;box-sizing:border-box;padding:2px 0;background:var(--bg-deep);border:2px solid var(--ui-border);border-top:none;border-radius:0 0 4px 4px;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--ui-text);white-space:nowrap;overflow:hidden;text-align:center;letter-spacing:.04em}.tt-card-name-sm{font-size:.5rem;padding:1px 0}.tt-hand{display:flex;gap:3px;justify-content:center;flex-wrap:nowrap}.tt-hand-preview{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;padding:.4rem 0}.tt-board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:3px;background:var(--ui-border);border-radius:4px;width:fit-content}.tt-cell{width:74px;height:86px;background:var(--bg-floor);border-radius:2px;display:flex;align-items:center;justify-content:center}.tt-cell-empty{cursor:pointer}.tt-cell-empty:hover{background:var(--ui-selection)}.tt-score-bar{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;font-family:IBM Plex Mono,monospace;font-size:.75rem;padding:.15rem 0}.tt-score-side{display:flex;align-items:center;gap:.3rem}.tt-score-label{font-family:"Press Start 2P",monospace;font-size:.75rem;letter-spacing:.06em}.tt-score-player .tt-score-label{color:var(--col-player)}.tt-score-opponent .tt-score-label{color:var(--col-enemy)}.tt-score-num{font-weight:700;font-size:.75rem;color:var(--ui-text)}.tt-score-rounds{font-size:.75rem;color:var(--col-treasure);letter-spacing:.15em}.tt-score-round{font-size:.75rem;color:var(--ui-text-muted);padding:.1rem .3rem;border:1px solid var(--ui-border);border-radius:3px}.tt-turn-label{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--ui-text-sec);text-align:center;min-height:1em}.tt-actions{display:flex;gap:.5rem;justify-content:center}.tt-btn{padding:.4rem .8rem;background:var(--bg-panel);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-sec);font-family:IBM Plex Mono,monospace;font-size:.75rem;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,color .15s}.tt-btn:hover{border-color:var(--ui-border-hi);color:var(--ui-text)}.tt-btn-play{color:var(--col-player);border-color:var(--col-player-dim)}.tt-btn-play:hover{border-color:var(--col-player)}.tt-result-text{font-family:"Press Start 2P",monospace;font-size:.75rem;letter-spacing:.1em}.tt-result-score{font-family:"Press Start 2P",monospace;font-size:.75rem;display:flex;gap:.5rem;align-items:center}.tt-result-dash{color:var(--ui-text-muted);font-size:.75rem}.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:280px;margin:auto;gap:1rem}.auth-title{font-family:"Press Start 2P",monospace;font-size:1rem;color:var(--col-player);letter-spacing:.12em}.auth-tabs{display:flex;gap:0;width:100%}.auth-tab{flex:1;padding:.4rem;background:var(--bg-panel);border:1px solid var(--ui-border);color:var(--ui-text-muted);font-family:IBM Plex Mono,monospace;font-size:.75rem;cursor:pointer;transition:color .15s,border-color .15s}.auth-tab:first-child{border-radius:4px 0 0 4px}.auth-tab:last-child{border-radius:0 4px 4px 0}.auth-tab.active{color:var(--col-player);border-color:var(--col-player)}.auth-form{display:flex;flex-direction:column;gap:.5rem;width:100%}.auth-form input{padding:.6rem .7rem;min-height:44px;background:var(--bg-deep);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-family:IBM Plex Mono,monospace;font-size:.85rem;outline:none;-webkit-user-select:text;user-select:text}.auth-form input:focus{border-color:var(--col-player)}.auth-error{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--ui-hp)}.auth-input{display:block;width:100%;padding:.6rem .7rem;min-height:44px;background:var(--bg-deep);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-family:IBM Plex Mono,monospace;font-size:.85rem;outline:none;margin-bottom:.5rem;box-sizing:border-box}.auth-input:focus{border-color:var(--col-player)}.auth-submit{padding:.6rem 1rem;min-height:44px;background:var(--bg-panel);border:1px solid var(--ui-border);border-radius:4px;color:var(--col-player);font-family:"Press Start 2P",monospace;font-size:.75rem;cursor:pointer;letter-spacing:.06em}.auth-submit:hover{background:var(--ui-selection)}.auth-submit:disabled{opacity:.5;cursor:default}.auth-guest{padding:.5rem 1rem;min-height:44px;background:none;border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-muted);font-family:IBM Plex Mono,monospace;font-size:.75rem;cursor:pointer;width:100%;transition:color .15s,border-color .15s}.auth-guest:hover{color:var(--ui-text);border-color:var(--ui-border-hi)}.auth-guest:disabled{opacity:.5;cursor:default}.start-screen-info{display:flex;gap:.8rem;margin-bottom:.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.start-user{color:var(--col-player)}.start-gold{color:var(--col-treasure)}.logout-btn{margin-top:.4rem;padding:.4rem .8rem;min-height:44px;background:none;border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-muted);font-family:IBM Plex Mono,monospace;font-size:.65rem;cursor:pointer}.logout-btn:hover{color:var(--ui-text);border-color:var(--ui-border-hi)}.start-screen-panels{display:flex;gap:.6rem;margin-top:.8rem;max-height:40vh;overflow-y:auto;width:100%;max-width:420px}.run-history,.leaderboard{flex:1;min-width:0}.rh-title,.lb-title{font-family:"Press Start 2P",monospace;font-size:.5rem;color:var(--ui-text-muted);letter-spacing:.08em;margin-bottom:.3rem;text-transform:uppercase}.rh-list,.lb-list{display:flex;flex-direction:column;gap:.15rem}.rh-row{display:flex;align-items:center;gap:.4rem;padding:.2rem .3rem;background:#1e1b2199;border:1px solid var(--ui-border);border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:.65rem}.rh-status{font-weight:600;min-width:12px;text-align:center}.rh-status.completed{color:var(--col-treasure)}.rh-status.dead{color:var(--ui-hp)}.rh-level{color:var(--ui-text-sec)}.rh-gold{color:var(--col-treasure)}.rh-replay{margin-left:auto;color:var(--col-player);text-decoration:none;font-size:.6rem}.rh-replay:hover{text-decoration:underline}.rh-mode{margin-left:auto;font-size:.55rem;color:var(--ui-text-muted);letter-spacing:.04em}.rh-empty,.lb-empty{font-family:IBM Plex Mono,monospace;font-size:.6rem;color:var(--ui-text-muted);padding:.3rem 0}.lb-header,.lb-row{display:flex;align-items:center;gap:.3rem;padding:.15rem .3rem;font-family:IBM Plex Mono,monospace;font-size:.6rem}.lb-header{color:var(--ui-text-muted);border-bottom:1px solid var(--ui-border);padding-bottom:.2rem;margin-bottom:.1rem}.lb-row{background:#1e1b2199;border:1px solid var(--ui-border);border-radius:3px}.lb-row.lb-win{border-color:#ffe0664d}.lb-rank{min-width:14px;color:var(--ui-text-muted)}.lb-user{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--col-player)}.lb-lvl{min-width:36px;color:var(--ui-text-sec)}.lb-plvl{min-width:18px;color:var(--ui-xp)}.lb-gold{min-width:30px;color:var(--col-treasure)}.lb-equip{min-width:18px;color:var(--ui-text-sec)}.lb-link{color:var(--col-player);text-decoration:none;font-size:.55rem}.lb-link:hover{text-decoration:underline}.lb-tabs{display:flex;gap:0;margin-bottom:.3rem}.lb-tab{flex:1;padding:.25rem .4rem;background:var(--bg-panel);border:1px solid var(--ui-border);color:var(--ui-text-muted);font-family:IBM Plex Mono,monospace;font-size:.55rem;cursor:pointer;transition:color .15s,border-color .15s}.lb-tab:first-child{border-radius:3px 0 0 3px}.lb-tab:last-child{border-radius:0 3px 3px 0}.lb-tab-active{color:var(--col-player);border-color:var(--col-player)}.lb-periods{display:flex;gap:.15rem;margin-bottom:.3rem}.lb-period{flex:1;padding:.15rem .2rem;background:none;border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text-muted);font-family:IBM Plex Mono,monospace;font-size:.5rem;cursor:pointer;transition:color .15s,border-color .15s}.lb-period-active{color:var(--col-treasure);border-color:var(--col-treasure)}.lb-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem;gap:.3rem}.lb-nav-btn{background:none;border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text-muted);font-size:.55rem;padding:.15rem .35rem;cursor:pointer;font-family:IBM Plex Mono,monospace;-webkit-tap-highlight-color:transparent}.lb-nav-btn:hover:not(:disabled){color:var(--ui-text);border-color:var(--ui-border-hi)}.lb-nav-btn:disabled{opacity:.3;cursor:default}.lb-nav-label{font-family:IBM Plex Mono,monospace;font-size:.5rem;color:var(--ui-text-sec);text-align:center;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-account-gold{font-size:.6rem;color:var(--ui-text-muted)}.landing{position:relative;width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:var(--bg-void)}.landing-canvas{display:block;width:100%;height:65vh;height:65dvh}.landing-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;pointer-events:none;background:var(--bg-void)}.landing-below-ground{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 1.5rem 1rem}.landing-title{font-family:IBM Plex Mono,monospace;font-size:clamp(2.4rem,6vw,4rem);font-weight:700;color:var(--col-player);letter-spacing:.08em;text-shadow:0 0 30px rgba(92,224,214,.35),0 0 60px rgba(92,224,214,.12);margin-bottom:.3rem}.landing-sub{font-family:IBM Plex Mono,monospace;font-size:clamp(.8rem,2vw,1rem);color:var(--ui-text-sec);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.2rem}.landing-desc{font-family:IBM Plex Mono,monospace;font-size:clamp(.7rem,1.4vw,.85rem);color:var(--ui-text-muted);max-width:38ch;line-height:1.65;margin-bottom:1.5rem}.landing-btn{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:600;padding:.7rem 2rem;border-radius:4px;text-decoration:none;letter-spacing:.05em;pointer-events:auto;transition:background .2s,border-color .2s,color .2s}.landing-btn-primary{background:var(--col-player);color:var(--bg-void);border:2px solid var(--col-player)}.landing-btn-primary:hover{background:#7aede4;border-color:#7aede4}.landing-btn-secondary{background:transparent;color:var(--ui-text-sec);border:2px solid var(--ui-border);margin-top:.6rem}.landing-btn-secondary:hover{border-color:var(--col-player);color:var(--col-player)}.landing-leaderboard{width:100%;max-width:420px;padding:2rem 1rem 6vh;pointer-events:auto}.auto-warning-box{background:var(--bg-panel);border:2px solid var(--ui-border-hi);border-radius:12px;padding:1.5rem 1.75rem;max-width:380px;width:90vw;text-align:left;display:flex;flex-direction:column;gap:1rem}.auto-warning-title{font-family:"Press Start 2P",monospace;font-size:.75rem;font-weight:700;letter-spacing:.06em;color:var(--col-treasure);text-align:center}.auto-warning-body{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--ui-text-sec);line-height:1.6}.auto-warning-body ul{margin:.4rem 0;padding-left:1.2rem}.auto-warning-body li{margin-bottom:.25rem}.auto-warning-body p+p{margin-top:.6rem}.auto-warning-caution{color:var(--col-enemy);font-weight:600}.auto-warning-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.auto-warning-buttons .restart{min-width:120px;font-size:.7rem;padding:.55rem 1.1rem}.leaderboard-page{max-width:480px;margin:0 auto;padding:2rem 1rem;min-height:100vh;min-height:100dvh}.leaderboard-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.leaderboard-page-title{font-family:"Press Start 2P",monospace;font-size:.85rem;color:var(--col-player);letter-spacing:.08em;margin:0}.leaderboard-page-back{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--ui-text-muted);text-decoration:none}.leaderboard-page-back:hover{color:var(--ui-text)}@media(max-width:600px){.landing-canvas{height:55vh;height:55dvh}.landing-below-ground{padding:1.5rem 1rem .5rem}.landing-desc{max-width:90vw}.landing-leaderboard{max-width:95vw}}
