.game{display:grid;grid-template-rows:44px 1fr 48px;grid-template-columns:170px 1fr 190px;height:100vh;gap:5px;padding:5px}.topbar{grid-column:1 / -1;background:linear-gradient(180deg,#101830eb,#6e8cbe8c);border:.5px solid rgba(180,200,235,.25);border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:10px;overflow:visible;position:relative;z-index:110}.topbar-logo{font-family:Russo One,sans-serif;font-size:15px;color:var(--gold2);letter-spacing:.08em;flex-shrink:0}.topbar-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;overflow:hidden;cursor:pointer;border:2px solid var(--gold);background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .15s,box-shadow .15s}.topbar-avatar:hover{transform:scale(1.08);box-shadow:0 0 10px #c9a84c80}.topbar-avatar img{width:100%;height:100%;object-fit:cover;object-position:top center}.topbar-nick{font-family:Russo One,sans-serif;font-size:14px;color:var(--gold2);letter-spacing:.04em;cursor:pointer;white-space:nowrap}.chat-toggle{flex-shrink:0;width:34px;height:34px;border-radius:8px;border:1px solid var(--border2);background:var(--bg3);cursor:pointer;font-size:17px;line-height:1;transition:transform .15s,border-color .15s}.chat-toggle:hover{transform:scale(1.08);border-color:var(--blue-dim)}.chat-window{position:fixed;left:12px;top:120px;width:340px;height:380px;min-width:240px;min-height:220px;max-width:90vw;max-height:85vh;z-index:120;display:flex;flex-direction:column;border-radius:12px;border:1px solid var(--border2);background:#0d1220b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px #00000080;overflow:hidden;resize:both}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border)}.chat-tabs{display:flex;border-bottom:1px solid var(--border)}.chat-tab{flex:1;padding:7px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text2);font-family:Nunito,sans-serif;font-size:11px;cursor:pointer;transition:all .15s}.chat-tab.active{color:var(--gold2);border-bottom-color:var(--gold)}.chat-hint{padding:4px 12px;font-size:10px;color:var(--text2);border-bottom:1px solid var(--border);opacity:.8}.chat-tabs{flex-wrap:wrap}.chat-tab-dm{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;max-width:120px;padding:7px 8px}.chat-tab-dm>:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-tab-close{font-size:10px;opacity:.6;line-height:1;padding:1px 2px;border-radius:4px}.chat-tab-close:hover{opacity:1;background:#ffffff1a}.chat-author-link{cursor:pointer}.chat-author-link:hover{text-decoration:underline}.chat-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.chat-menu{position:fixed;z-index:1001;min-width:170px;background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:6px;box-shadow:0 8px 24px #00000080}.chat-menu-name{font-family:Russo One,sans-serif;font-size:12px;color:var(--gold2);padding:5px 8px 7px;border-bottom:1px solid var(--border);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-menu-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);font-family:Nunito,sans-serif;font-size:12px;padding:8px;border-radius:6px;cursor:pointer}.chat-menu-item:hover{background:var(--bg3)}.pc-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060c99}.pc-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);height:100vh;background:var(--bg2);border-left:1px solid var(--border2);box-shadow:-8px 0 28px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:pcSlideIn .22s ease}@keyframes pcSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.pc-drawer .pc-body{flex:1;overflow-y:auto}.starter-bar{position:fixed;left:50%;transform:translate(-50%);bottom:56px;z-index:250;width:min(640px,calc(100vw - 16px));display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#141c30eb,#0c1220eb);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border2);border-radius:14px;padding:12px;box-shadow:0 12px 30px #0000008c}.starter-bar-cards{display:flex;gap:8px}.starter-bar-take{width:100%}.friendreq-stack{position:fixed;right:16px;bottom:16px;z-index:1200;display:flex;flex-direction:column;gap:10px;max-width:calc(100vw - 32px)}.friendreq-card{position:relative;width:300px;max-width:86vw;background:var(--bg2);border:1px solid var(--gold);border-radius:12px;padding:14px 14px 12px;box-shadow:0 10px 28px #0000008c;animation:pcSlideIn .25s ease}.friendreq-x{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--text2);font-size:14px;cursor:pointer;line-height:1}.friendreq-text{font-size:13px;color:var(--text);margin:2px 18px 12px 0;line-height:1.4}.friendreq-name{font-family:Russo One,sans-serif;color:var(--gold2)}.friendreq-actions{display:flex;justify-content:flex-end}.mail-btn{position:relative}.topnav-img-btn .mail-dot{display:block!important;position:absolute;top:8px;left:50%;margin-left:24px;width:13px;height:13px;border-radius:50%;background:#ff3b3b;border:2px solid var(--bg);box-shadow:0 0 8px #ff3c3cf2;animation:mailPulse 1.4s ease-in-out infinite}@keyframes mailPulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.mail-back{background:none;border:none;color:var(--gold2);font-size:22px;line-height:1;cursor:pointer;margin-right:4px}.mail-list{overflow-y:auto;flex:1;min-height:200px}.mail-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border)}.mail-row:hover{background:var(--bg3)}.mail-ava{width:40px;height:40px;border-radius:50%;flex-shrink:0;overflow:hidden;background:#3a9fff1a;display:flex;align-items:center;justify-content:center;font-size:22px}.mail-ava img{width:100%;height:100%;object-fit:cover}.mail-row-main{flex:1;min-width:0}.mail-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.mail-name{font-family:Russo One,sans-serif;font-size:13px;color:var(--text)}.mail-time{font-size:10px;color:var(--text2);flex-shrink:0}.mail-preview{font-size:12px;color:var(--text2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-unread{min-width:18px;height:18px;padding:0 5px;flex-shrink:0;background:var(--fire2);color:#fff;border-radius:999px;font-size:10px;font-weight:700;line-height:18px;text-align:center}.mail-thread{flex:1;overflow-y:auto;padding:12px 14px;min-height:220px;display:flex;flex-direction:column;gap:6px}.mail-bubble{align-self:flex-start;max-width:78%;background:var(--bg3);border:.5px solid var(--border2);border-radius:12px;padding:7px 11px 16px;position:relative;font-size:13px;color:var(--text);word-break:break-word}.mail-bubble.mine{align-self:flex-end;background:#1a6fd42e;border-color:var(--blue2)}.mail-bubble-time{position:absolute;right:8px;bottom:3px;font-size:9px;color:var(--text2)}.chat-body{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:5px;min-height:120px}.chat-msg{font-size:12px;color:var(--text);line-height:1.4;word-break:break-word}.chat-author{color:var(--blue2);font-weight:700}.chat-log{opacity:.9}.chat-log-good{color:var(--green2)}.chat-log-bad{color:var(--fire2)}.chat-log-catch{color:var(--gold2)}.chat-log-info{color:var(--text2)}.chat-input-row{display:flex;gap:6px;padding:8px;border-top:1px solid var(--border)}.chat-input{flex:1;background:var(--bg3);border:1px solid var(--border);border-radius:7px;padding:7px 10px;color:var(--text);font-size:12px;outline:none}.chat-input:focus{border-color:var(--blue-dim)}.chat-send{flex-shrink:0;width:34px;border-radius:7px;border:none;background:var(--blue);color:#fff;cursor:pointer;font-size:14px}.topbar-nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.topnav-btn{padding:5px 12px;border-radius:6px;border:.5px solid var(--border2);background:transparent;font-size:12px;cursor:pointer;font-family:Nunito,sans-serif;color:var(--text2);transition:all .15s;white-space:nowrap}.topnav-btn:hover{background:#3a9fff14;border-color:var(--blue-dim);color:var(--text)}.topbar-stats{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text2);flex-shrink:0}.topbar-stats .val{color:var(--text);font-weight:700}.game-clock{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gold2);background:var(--bg3);border:.5px solid var(--border);border-radius:8px;padding:4px 10px}.team-slots{display:flex;gap:3px;align-items:center}.team-slot{width:32px;height:32px;border-radius:8px;border:1px solid var(--border2);background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:11px;overflow:hidden}.team-slot.empty{opacity:.25}.leftnav{background:linear-gradient(180deg,#1018308c,#96b4e138);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:.5px solid rgba(180,200,235,.25);border-radius:8px;padding:10px 8px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-section{font-size:9px;letter-spacing:.18em;color:var(--text2);text-transform:uppercase;padding:2px 6px;margin-bottom:2px}.loc-btn{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer;border:.5px solid transparent;transition:all .15s}.loc-btn:hover{background:#3a9fff0f;border-color:var(--border)}.loc-btn.active{background:#3a9fff1a;border-color:var(--border2)}.loc-btn.locked{opacity:.35;cursor:not-allowed}.loc-icon{font-size:18px;flex-shrink:0;width:22px;text-align:center}.loc-info{flex:1;min-width:0}.loc-name{font-size:11.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-level{font-size:9.5px;color:var(--text2);margin-top:1px}.center{border:.5px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;position:relative}.loc-scene{flex:1;position:relative;overflow:hidden;min-height:0}.scene-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:220px;transition:all .6s;background-repeat:no-repeat;background-size:cover;background-position:center}.scene-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#040812,#04081280 45%,#0408121a)}.scene-main{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:16px 20px 0}.scene-locname{font-family:Russo One,sans-serif;font-size:22px;color:#fff;letter-spacing:.04em;margin-bottom:3px;text-shadow:0 2px 12px rgba(0,0,0,.9)}.scene-subdesc{font-size:11px;color:#ffffff73;margin-bottom:10px}.scene-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;padding:3px 10px;border-radius:20px;letter-spacing:.08em;margin-bottom:12px}.scene-badge.safe{border:.5px solid rgba(112,221,112,.35);background:#2a8a3026;color:#70dd70}.scene-badge.danger{border:.5px solid rgba(220,100,100,.35);background:#b4282826;color:#ff9090}.center-footer{padding:12px 20px;border-top:.5px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;gap:10px;background:#040812fa}.footer-locname{font-size:12px;font-weight:600;color:var(--text)}.footer-desc{font-size:10px;color:var(--text2);margin-top:1px}.action-btns{display:flex;gap:6px}.rightnpc{background:linear-gradient(180deg,#101830eb,#6e8cbe8c);border:.5px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.npc-section{font-size:9px;letter-spacing:.2em;color:var(--text2);text-transform:uppercase;padding:12px 14px 10px;border-bottom:.5px solid var(--border);flex-shrink:0;background:var(--bg3)}.npc-card{display:flex;flex-direction:column;gap:10px;padding:14px 12px;border-bottom:.5px solid var(--border);cursor:pointer;transition:background .15s;position:relative}.npc-card:hover{background:#3a9fff0a}.npc-card-top{display:flex;align-items:flex-start;gap:10px}.npc-portrait{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#0d1e3a,#1a3564);border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;box-shadow:0 4px 12px #0006}.npc-info{flex:1;min-width:0;padding-top:2px}.npc-name{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:2px}.npc-role{font-size:10px;color:var(--text2)}.npc-online{display:flex;align-items:center;gap:4px;font-size:9px;color:#4ccc55;margin-top:3px}.npc-online:before{content:"";width:5px;height:5px;border-radius:50%;background:#4ccc55;flex-shrink:0}.npc-talk-btn{width:100%;padding:7px;border-radius:7px;border:.5px solid var(--blue-dim);background:#1a6fd41a;font-size:11px;color:var(--blue2);cursor:pointer;font-family:Nunito,sans-serif;font-weight:600;transition:all .15s;text-align:center}.npc-talk-btn:hover{background:#1a6fd438;border-color:var(--blue2)}.npc-empty{font-size:11px;color:var(--text2);text-align:center;padding:20px 10px;opacity:.4;line-height:1.6}.bottombar{grid-column:1 / -1;background:linear-gradient(180deg,#1018308c,#96b4e138);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:.5px solid rgba(180,200,235,.25);border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 12px}.log-label{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.1em;flex-shrink:0}.log-text{flex:1;min-width:0;font-size:12px;color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.log-text.good{color:var(--green2)}.log-text.bad{color:var(--fire2)}.log-text.catch{color:var(--gold)}.bottom-btns{display:flex;gap:5px;flex-shrink:0}.bbtn{padding:5px 11px;border-radius:6px;border:.5px solid var(--border2);background:var(--bg3);font-size:11px;cursor:pointer;font-family:Nunito,sans-serif;color:var(--text2);transition:all .15s}.bbtn:hover{color:var(--text);background:var(--border)}.topnav-img-btn{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:64px;width:180px;padding:0;gap:0;background:transparent;border:none;transition:transform .2s;overflow:visible;position:relative;z-index:10;margin:0 -10px}.topnav-img-btn .topnav-icon{width:auto;height:72px;object-fit:contain;transition:transform .2s;margin-bottom:-26px;margin-top:-16px}.topnav-img-btn span{display:none}.topnav-img-btn:hover .topnav-icon{transform:scale(1.08)}.topnav-img-btn:hover{background:transparent}.btn-poisk{background:none;border:none;cursor:pointer;padding:0;opacity:.85;transition:opacity .2s,transform .2s}.btn-poisk:hover{opacity:1;transform:scale(1.03)}.btn-poisk.active{filter:brightness(1.2) drop-shadow(0 0 8px #4ade80)}.btn-poisk:disabled{opacity:.4;cursor:not-allowed}.poisk-img{height:56px;object-fit:contain}.btn-poisk .poisk-img{height:38px;width:auto;object-fit:contain;transition:transform .2s}.btn-poisk:hover .poisk-img{transform:scale(1.06)}.topbar-burger{display:none}@media(max-width:768px){.game{grid-template-columns:1fr 1fr;grid-template-rows:46px minmax(300px,auto) auto 40px;grid-template-areas:"top    top" "center center" "nav    npc" "bottom bottom";height:100dvh;gap:6px;padding:6px;overflow-y:auto}.topbar{grid-area:top}.center{grid-area:center;min-height:42vh}.leftnav{grid-area:nav;min-width:0}.rightnpc{grid-area:npc;min-width:0}.leftnav,.rightnpc{gap:6px;padding:8px 6px;overflow:visible}.nav-section,.npc-section{font-size:10px;margin-bottom:2px}.loc-btn{display:block;padding:9px 12px;margin:0;border-radius:999px;background:#1e284273;border:1px solid var(--border2);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.loc-btn .loc-icon,.loc-btn .loc-level{display:none}.loc-btn .loc-name{font-size:12px;text-align:center}.rightnpc{background:linear-gradient(180deg,#1018308c,#96b4e138);border:.5px solid rgba(180,200,235,.25);border-radius:8px}.npc-section{background:transparent;border-bottom:none;padding:2px 6px;letter-spacing:.18em;margin-bottom:2px}.npc-card{padding:9px 12px;margin:0 0 6px;border-radius:14px;background:#1e284273;border:1px solid var(--border2);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer}.npc-card:not(:has(.npc-talk-btn:not(.npc-talk-main))){border-radius:999px}.npc-card .npc-portrait,.npc-card .npc-role,.npc-card .npc-online,.npc-card .npc-talk-main{display:none}.npc-card .npc-card-top{gap:0}.npc-card .npc-name{font-size:12px;text-align:center}.npc-card .npc-actions{margin-top:6px}.npc-card .npc-talk-btn{padding:6px 8px;font-size:11px;border-radius:999px}.bottombar{grid-area:bottom}.topbar{padding:0 8px;gap:6px}.topbar-logo{font-size:13px}.leftnav,.rightnpc{max-height:none}.nav-section{font-size:11px}.btn{min-height:38px;font-size:13px}.loc-btn{padding:10px}.team-modal-box,.dlg-box,.battle-box{max-width:100%!important;width:100%!important;max-height:100dvh!important;border-radius:10px}.team-modal,.dialogue,.battle-overlay{padding:6px}.chat-window{left:0!important;top:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;display:flex;flex-direction:column}.chat-head{cursor:default!important}.chat-body{flex:1}.tcard-box{flex-direction:column!important;max-height:88dvh!important;overflow-y:auto!important}.tcard-art{width:100%!important;height:220px!important;flex-shrink:0!important;border-right:none!important;border-bottom:1px solid var(--border2)!important}.tcard-art img{width:auto!important;height:100%!important;max-height:220px!important}.tcard-info{flex:none!important}.starter-pick-grid{gap:5px}.starter-pick-card{padding:8px 4px!important}.starter-pick-card .sp-art,.starter-pick-card .sp-art img{width:56px!important;height:56px!important}.starter-pick-card .badge{font-size:8px;padding:1px 4px}.team-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.team-grid>div{padding:10px 8px!important}.team-detail-body{flex-direction:column!important}.team-detail-left{width:100%!important;border-right:none!important;border-bottom:1px solid var(--border);padding:12px 14px!important}.team-detail-art{width:128px!important;height:128px!important}.team-detail-art img{width:110px!important;height:110px!important}.team-detail-moves-list{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important}.topbar-burger{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;margin-right:2px;background:#ffffff14;border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:22px;line-height:1;cursor:pointer;position:relative}.burger-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#ff3b3b;border:2px solid var(--bg);box-shadow:0 0 6px #ff3c3ce6;animation:mailPulse 1.4s ease-in-out infinite}.topbar-nick{display:none}.topbar-nav{display:none;position:absolute;top:50px;left:6px;z-index:130;flex-direction:column;gap:4px;min-width:200px;background:#0d1220eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border2);border-radius:12px;padding:8px;box-shadow:0 12px 30px #00000080}.topbar-nav.open{display:flex}.topbar-nav .topnav-btn{width:100%;height:auto;margin:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:8px 12px;overflow:visible}.topbar-nav .topnav-icon{width:30px;height:30px;margin:0;object-fit:contain}.topbar-nav .topnav-btn span{display:inline;font-size:13px;color:var(--text)}.topbar-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120}html,body,#root,.game{overflow-x:clip;max-width:100vw}.toast-container{left:auto;right:8px;max-width:calc(100vw - 16px)}}.battle-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#04060cf2;z-index:100;flex-direction:column;align-items:center;justify-content:center;padding:16px;gap:10px}.battle-overlay.open{display:flex}.battle-box{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;width:100%;max-width:720px;overflow:hidden;position:relative}.battle-panel.battle-menu-pop{position:absolute;top:58px;left:14px;width:250px;z-index:30;margin-top:0;max-height:none;overflow:visible;background:linear-gradient(180deg,#141c30d1,#0c1220d1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 28px #0000008c}.battle-arena{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:24px 28px 16px;background:linear-gradient(180deg,#080c148c,#0d1a2abf),url(/icons/battle_bg.png) center/cover no-repeat;min-height:240px;gap:10px}.fighter{display:flex;flex-direction:column;align-items:center;gap:6px}.fighter.player-side{align-items:flex-start}.fighter.enemy-side{align-items:flex-end}.fighter-art{width:160px;height:160px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;position:relative;transition:transform .15s}.fighter-art:before{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:124px;height:32px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(90,200,160,.38) 0%,rgba(60,150,120,.18) 55%,transparent 72%);box-shadow:0 0 18px #50c8a040;z-index:0}.fighter-art>*{position:relative;z-index:1}.fighter-art.emoji-mode{font-size:90px;line-height:1}.fighter-art:hover{transform:scale(1.05)}.fighter-info{width:100%;max-width:200px}.fighter-name{font-family:Russo One,sans-serif;font-size:13px;color:var(--text);letter-spacing:.04em}.name-pill{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(180deg,#1e28428c,#1016268c);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(180,200,235,.3);border-radius:999px;padding:4px 12px 4px 6px;margin-bottom:5px;box-shadow:0 2px 6px #00000059}.name-pill.enemy{padding:4px 12px}.fighter-lv{font-size:10px;color:var(--text2);margin-bottom:5px}.hp-wrap{height:7px;background:var(--bg3);border-radius:4px;overflow:hidden;margin-bottom:3px}.hp-bar{height:7px;border-radius:4px;background:var(--green2);transition:width .4s}.hp-bar.mid{background:var(--gold)}.hp-bar.low{background:var(--fire2)}.hp-text{font-size:10px;color:var(--text2)}.vs-col{display:flex;align-items:center;justify-content:center;padding-bottom:40px}.vs{font-family:Russo One,sans-serif;font-size:20px;color:var(--text2);letter-spacing:.1em}.battle-bottom{padding:14px 20px 20px;display:flex;flex-direction:column;gap:10px}.battle-log{background:var(--bg3);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--text2);max-height:68px;overflow-y:auto;line-height:1.8}.bl-good{color:var(--green2)}.bl-bad{color:var(--fire2)}.bl-catch{color:var(--gold)}.bl-info{color:var(--text)}.stat-stages{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.stat-stages.right{justify-content:flex-end}.stage-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;font-family:Russo One,sans-serif;letter-spacing:.02em;border:1px solid transparent}.stage-badge.up{color:var(--green2);background:color-mix(in srgb,var(--green2) 16%,transparent);border-color:color-mix(in srgb,var(--green2) 40%,transparent)}.stage-badge.down{color:var(--fire2);background:color-mix(in srgb,var(--fire2) 16%,transparent);border-color:color-mix(in srgb,var(--fire2) 40%,transparent)}.battle-log{max-height:92px}.battle-log-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-log-line.up{color:var(--green2);font-weight:600}.battle-log-line.down{color:var(--fire2);font-weight:600}.battle-log-line.dmg{color:var(--gold)}.battle-log-line.info{color:var(--text2)}.skill-grid{display:flex;flex-direction:column;gap:7px}.skill-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.skill-row.full{grid-template-columns:1fr}.skill-btn{padding:10px;border-radius:7px;border:.5px solid var(--border2);background:var(--bg3);font-size:12px;cursor:pointer;font-family:Nunito,sans-serif;color:var(--text);transition:all .15s;text-align:center;width:100%}.skill-btn:hover{background:var(--border)}.skill-btn:disabled{opacity:.3;cursor:not-allowed}.skill-btn.catch-btn{background:#c9a84c1a;border-color:var(--gold);color:var(--gold2)}.skill-btn.switch-btn{background:#2a8a301f;border-color:#2a6a30;color:#70dd70}.skill-btn.flee-btn{background:#78282826;border-color:#7a3030;color:#f88;font-size:11px;padding:7px}.encounter-flash{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffff14;z-index:99;pointer-events:none}.encounter-flash.show{display:block;animation:flash .3s ease}@keyframes flash{0%{opacity:1}to{opacity:0}}.battle-panel{margin-top:10px;background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:10px 12px;max-height:180px;overflow-y:auto}.battle-panel-title{font-family:Russo One,sans-serif;font-size:12px;color:var(--gold2);margin-bottom:8px;letter-spacing:.04em}.battle-panel-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:12px;color:var(--text);transition:background .12s}.battle-panel-row:hover{background:var(--bg3)}@media(max-width:768px){.battle-overlay{justify-content:flex-start;padding:52px 8px 10px}.battle-box{display:flex;flex-direction:column;height:auto;max-height:calc(100dvh - 62px);overflow-y:auto}.battle-arena{order:1;padding:12px 8px 6px}.battle-bottom{order:2;padding:10px 12px}.battle-log{order:3;margin:0 12px 12px;max-height:120px}.name-pill{max-width:100%}.name-pill .fighter-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-arena{zoom:.82;overflow:hidden}.skill-row{grid-template-columns:1fr}.skill-btn{padding:11px 12px;font-size:13px}.vs-col{padding-bottom:18px}.vs{font-size:16px}}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#04060ce0;z-index:160;align-items:center;justify-content:center;padding:20px}.modal-overlay.open{display:flex}.btn{padding:7px 13px;border-radius:6px;border:.5px solid var(--border2);background:var(--bg2);font-size:12px;cursor:pointer;font-family:Nunito,sans-serif;color:var(--text);transition:all .15s;white-space:nowrap}.btn:hover{background:var(--border)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue2);border-color:var(--blue2)}.btn.danger{background:#7a1a1a;border-color:#a02020;color:#faa}.btn.success{background:#1a4a20;border-color:#2a7a30;color:#afa}.btn:disabled{opacity:.3;cursor:not-allowed}.team-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#04060c59;z-index:160;align-items:center;justify-content:center;padding:20px}.team-modal.open{display:flex}.team-modal-box{background:#0d1220b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border2);border-radius:14px;padding:24px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto}.team-modal-title{font-family:Russo One,sans-serif;font-size:17px;color:var(--gold2);letter-spacing:.06em;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.team-modal-close{background:none;border:none;color:var(--text2);font-size:18px;cursor:pointer;line-height:1}.team-cards{display:flex;flex-direction:column;gap:10px}.team-card{background:var(--bg3);border:.5px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .15s}.team-card:hover{border-color:var(--border2)}.team-card.leader{border-color:var(--gold);background:#c9a84c0f}.tc-avatar{font-size:36px;flex-shrink:0;width:44px;text-align:center}.tc-info{flex:1;min-width:0}.tc-top{display:flex;align-items:baseline;gap:8px;margin-bottom:3px}.tc-name{font-family:Russo One,sans-serif;font-size:14px;color:var(--text)}.tc-lv{font-size:11px;color:var(--text2)}.tc-types{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.tc-lead-badge{font-size:9px;padding:2px 7px;border-radius:5px;background:#c9a84c26;border:.5px solid var(--gold);color:var(--gold2);font-weight:700;letter-spacing:.06em;margin-left:6px}.hp-wrap-sm{height:5px;background:var(--bg);border-radius:3px;overflow:hidden;margin-bottom:6px}.hp-bar-sm{height:5px;border-radius:3px;background:var(--green2);transition:width .3s}.hp-bar-sm.mid{background:var(--gold)}.hp-bar-sm.low{background:var(--fire2)}.team-empty{font-size:13px;color:var(--text2);text-align:center;padding:24px;opacity:.6}.dialogue{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#05070f59;z-index:150;align-items:center;justify-content:center;padding:20px}.dialogue.open{display:flex}.dlg-box{background:#0d1220b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border2);border-radius:12px;padding:20px 24px;max-width:520px;width:100%;position:relative}.dlg-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--text2);font-size:18px;cursor:pointer}.dlg-speaker{display:flex;align-items:center;gap:10px;margin-bottom:12px}.dlg-av{width:44px;height:44px;border-radius:50%;background:#c9a84c1a;border:1.5px solid #7a6030;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.dlg-name{font-family:Russo One,sans-serif;font-size:14px;color:var(--gold2)}.dlg-role{font-size:11px;color:var(--text2);margin-top:2px}.dlg-text{font-size:14px;color:var(--text);line-height:1.75}.dlg-text strong{color:var(--gold2)}.dlg-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;padding:2px 7px;border-radius:7px;font-weight:700}.b-normal{background:#88878040;color:#c8c7c0;border:.5px solid rgba(136,135,128,.4)}.b-grass{background:#2a8a3033;color:#70dd70;border:.5px solid rgba(42,138,48,.4)}.b-fire{background:#d4521a33;color:#ff9060;border:.5px solid rgba(212,82,26,.4)}.b-water{background:#1a6fd433;color:#70c8ff;border:.5px solid rgba(26,111,212,.4)}.b-poison{background:#8a30b033;color:#d080ff;border:.5px solid rgba(138,48,176,.4)}.b-ghost{background:#5a30a033;color:#b090ff;border:.5px solid rgba(90,48,160,.4)}.b-bug{background:#648c1433;color:#c0e040;border:.5px solid rgba(100,140,20,.4)}.b-dark{background:#3c281e66;color:#a08878;border:.5px solid rgba(80,55,40,.6)}.b-dragon{background:#3c14a033;color:#9070ff;border:.5px solid rgba(60,20,160,.4)}.b-electric{background:#dcb40033;color:#ffe040;border:.5px solid rgba(220,180,0,.4)}.b-fighting{background:#b4282833;color:#ff8080;border:.5px solid rgba(180,40,40,.4)}.b-flying{background:#5078dc33;color:#a0c0ff;border:.5px solid rgba(80,120,220,.4)}.b-ground{background:#a06e2833;color:#e0c080;border:.5px solid rgba(160,110,40,.4)}.b-ice{background:#28b4c833;color:#80f0ff;border:.5px solid rgba(40,180,200,.4)}.b-psychic{background:#dc287833;color:#ff80c0;border:.5px solid rgba(220,40,120,.4)}.b-rock{background:#8c6e3c33;color:#c0a870;border:.5px solid rgba(140,110,60,.4)}.b-steel{background:#64788c33;color:#b0c8d8;border:.5px solid rgba(100,120,140,.4)}.b-fairy{background:#c850b433;color:#ffb0f0;border:.5px solid rgba(200,80,180,.4)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fadein{animation:fadeIn .25s ease both}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.shake{animation:shake .3s ease}.splash{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:999;display:flex;align-items:center;justify-content:center;flex-direction:column}.splash.hidden{display:none}.splash-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 80%,rgba(42,138,48,.12) 0%,transparent 45%),radial-gradient(ellipse at 80% 20%,rgba(26,111,212,.12) 0%,transparent 45%),radial-gradient(ellipse at 50% 50%,rgba(10,20,40,.6) 0%,transparent 70%);pointer-events:none}.splash-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}.splash-logo{font-size:80px;filter:drop-shadow(0 0 32px rgba(58,159,255,.4));margin-bottom:16px;animation:floatLogo 3s ease-in-out infinite}@keyframes floatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.splash-title{font-family:Russo One,sans-serif;font-size:52px;letter-spacing:.1em;color:var(--gold2);text-shadow:0 0 40px rgba(201,168,76,.4);margin-bottom:6px}.splash-slogan{font-size:13px;letter-spacing:.35em;color:var(--text2);text-transform:uppercase;margin-bottom:48px}.splash-monsters{display:flex;gap:32px;margin-bottom:48px;font-size:48px}.splash-mon{opacity:0;animation:monAppear .5s ease forwards}.splash-mon:nth-child(1){animation-delay:.3s}.splash-mon:nth-child(2){animation-delay:.6s}.splash-mon:nth-child(3){animation-delay:.9s}@keyframes monAppear{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.splash-btn{padding:16px 56px;border:none;border-radius:12px;background:linear-gradient(90deg,#1a4a9a,#2a7ad4,#1a4a9a);background-size:200%;background-position:100%;font-family:Russo One,sans-serif;font-size:16px;letter-spacing:.2em;color:#fff;cursor:pointer;transition:all .4s;box-shadow:0 4px 24px #1a6fd44d;margin-bottom:16px}.splash-btn:hover{background-position:0%;box-shadow:0 4px 36px #3a9fff80;transform:translateY(-2px)}.splash-hint{font-size:11px;color:var(--text2);letter-spacing:.1em;opacity:.6}.splash-version{position:absolute;bottom:20px;font-size:10px;color:var(--text2);opacity:.4;letter-spacing:.15em}.splash-divider{width:200px;height:1px;background:linear-gradient(to right,transparent,var(--blue-dim),transparent);margin:0 auto 40px}@keyframes splashOut{0%{opacity:1}to{opacity:0;pointer-events:none}}.splash.leaving{animation:splashOut .5s ease forwards}.auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;background:var(--bg);z-index:998}.auth-screen.hidden{display:none}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 80%,rgba(42,138,48,.08) 0%,transparent 45%),radial-gradient(ellipse at 80% 20%,rgba(26,111,212,.08) 0%,transparent 45%);pointer-events:none}.auth-left{flex:0 0 340px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px;background:var(--bg2);border-right:1px solid var(--border);position:relative;z-index:1}.auth-logo-icon{font-size:48px;filter:drop-shadow(0 0 16px rgba(58,159,255,.4));margin-bottom:8px}.auth-logo-name{font-family:Russo One,sans-serif;font-size:28px;color:var(--gold2);letter-spacing:.08em;text-shadow:0 0 30px rgba(201,168,76,.3)}.auth-logo-slogan{font-size:10px;letter-spacing:.28em;color:var(--text2);text-transform:uppercase;margin-top:4px}.auth-divider{width:100px;height:1px;background:linear-gradient(to right,transparent,var(--blue-dim),transparent);margin:20px auto}.auth-lore{background:#1a6fd40f;border:.5px solid var(--border2);border-radius:10px;padding:16px 18px;font-size:13px;line-height:1.9;color:var(--text2);text-align:center;max-width:270px}.auth-lore strong{color:var(--blue2);font-weight:700}.auth-monsters{font-size:28px;margin-top:20px;letter-spacing:8px;filter:drop-shadow(0 0 8px rgba(58,159,255,.2))}.auth-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;position:relative;z-index:1}.auth-tabs{display:flex;gap:0;background:var(--bg3);border:.5px solid var(--border);border-radius:8px;padding:3px;margin-bottom:24px;width:100%;max-width:420px}.auth-tab{flex:1;text-align:center;padding:7px 16px;border-radius:6px;font-size:13px;cursor:pointer;color:var(--text2);transition:all .2s;font-family:Nunito,sans-serif;font-weight:600}.auth-tab.active{background:var(--bg2);color:var(--text);border:.5px solid var(--border2)}.auth-form{width:100%;max-width:420px;background:var(--bg2);border:.5px solid var(--border);border-radius:12px;padding:24px 28px}.auth-form-title{font-family:Russo One,sans-serif;font-size:17px;color:var(--gold2);letter-spacing:.06em;margin-bottom:4px}.auth-form-sub{font-size:12.5px;color:var(--text2);margin-bottom:20px}.auth-field{margin-bottom:14px}.auth-field label{display:block;font-size:11px;color:var(--text2);margin-bottom:5px;letter-spacing:.04em}.auth-input{width:100%;padding:9px 13px;background:var(--bg3);border:1px solid var(--border);border-radius:7px;font-size:14px;font-family:Nunito,sans-serif;color:var(--text);outline:none;transition:border-color .2s}.auth-input::placeholder{color:var(--text2);opacity:.5}.auth-input:focus{border-color:var(--blue-dim)}.auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-avatars{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px}.auth-av{width:38px;height:38px;border-radius:8px;background:var(--bg3);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .15s}.auth-av:hover{border-color:var(--border2)}.auth-av.selected{border-color:var(--gold);background:#c9a84c14}.auth-genders{display:flex;gap:10px;margin-top:4px}.auth-gender{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-radius:10px;background:var(--bg3);border:1.5px solid var(--border);cursor:pointer;transition:all .15s}.auth-gender:hover{border-color:var(--border2)}.auth-gender.selected{border-color:var(--gold);background:#c9a84c1a;box-shadow:0 0 0 1px var(--gold) inset}.auth-gender img{width:84px;height:84px;object-fit:contain}.auth-gender span{font-size:13px;font-family:Russo One,sans-serif;color:var(--text)}.auth-preview{display:flex;align-items:center;gap:12px;background:var(--bg3);border:.5px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:22px}.auth-preview-img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--bg2)}.auth-preview-name{font-family:Russo One,sans-serif;font-size:14px;color:var(--gold2)}.auth-preview-sub{font-size:11px;color:var(--text2);margin-top:2px}.auth-error{font-size:12px;color:var(--fire2);margin-bottom:10px;min-height:16px}.auth-btn{width:100%;padding:12px;border:none;border-radius:8px;background:linear-gradient(90deg,#1a4a9a,#2a7ad4,#1a4a9a);background-size:200%;background-position:100%;font-family:Russo One,sans-serif;font-size:13px;letter-spacing:.15em;color:#fff;cursor:pointer;transition:all .3s}.auth-btn:hover{background-position:0%;box-shadow:0 0 20px #3a9fff40}@media(max-width:768px){.auth-left{display:none}.auth-right{flex:1;width:100%;padding:20px 14px}.auth-tabs,.auth-form{max-width:100%}}.toast-container{position:fixed;top:14px;right:14px;z-index:999;display:flex;flex-direction:column;gap:6px;pointer-events:none;max-width:calc(100vw - 28px);align-items:flex-end}.toast{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;background:var(--bg2);border:.5px solid var(--border2);font-size:12px;color:var(--text);animation:toastIn .25s ease;pointer-events:all;box-shadow:0 4px 16px #0006;max-width:100%}.toast-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast.removing{animation:toastOut .3s ease forwards}.toast-icon{font-size:16px;flex-shrink:0}.toast-msg{flex:1}.t-catch{border-color:var(--gold)}.t-xp{border-color:#534ab7}.t-lvup{border-color:var(--green2)}.t-gold{border-color:var(--gold)}.t-item{border-color:var(--border2)}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-12px)}}.starter-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#05070fe0;z-index:200;align-items:center;justify-content:center;padding:20px}.starter-overlay.open{display:flex}.starter-box{background:var(--bg2);border:1px solid var(--border2);border-radius:14px;padding:28px;max-width:620px;width:100%}.starter-box h2{font-family:Russo One,sans-serif;font-size:18px;color:var(--gold2);margin-bottom:4px}.starter-box p{font-size:13px;color:var(--text2);margin-bottom:20px}.starters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.st-card{border-radius:10px;border:1.5px solid var(--border);background:var(--bg3);cursor:pointer;transition:all .18s;padding:14px 10px 12px;text-align:center}.st-card:hover{transform:translateY(-2px);border-color:var(--border2)}.st-card.selected{box-shadow:0 0 0 3px #3a9fff26}.st-emoji{font-size:38px;display:block;margin-bottom:8px;line-height:1}.st-name{font-family:Russo One,sans-serif;font-size:13px;color:var(--text);margin-bottom:6px}.st-types{display:flex;justify-content:center;gap:4px;margin-bottom:7px;flex-wrap:wrap}.st-desc{font-size:10px;color:var(--text2);line-height:1.5}.st-stats{display:flex;justify-content:center;gap:8px;margin-top:7px;font-size:10px;color:var(--text2)}.st-stats span{color:var(--text);font-weight:700}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080c14;--bg2: #0d1220;--bg3: #131a2c;--blue: #1a6fd4;--blue2: #3a9fff;--blue-dim: #1a3a6a;--gold: #c9a84c;--gold2: #e8c87a;--text: #e2eaf8;--text2: #8a9fc0;--border: #1e2d4a;--border2: #2a3f6a;--green2: #3aaa44;--fire2: #ff7040}html,body{height:100%;background:var(--bg);font-family:Nunito,sans-serif;color:var(--text);overflow:hidden}#root{height:100%}
