:root{--bg-color:#000;--card-bg:#0c0c0c;--card-bg-hover:#121212;--border-color:#ffffff14;--border-color-hover:#fff3;--text-primary:#fff;--text-secondary:#a3a3a3;--text-muted:#666;--accent-white:#fff;--accent-black:#000;--success-color:#22c55e;--danger-color:#ef4444;--font-display:"Outfit", sans-serif;--font-sans:"Inter", sans-serif}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;overflow-x:hidden}.app-container{z-index:1;max-width:600px;min-height:100vh;margin:0 auto;padding:24px 16px 80px;position:relative}.atmosphere{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.orb{filter:blur(140px);opacity:.04;will-change:transform;border-radius:50%;position:absolute}.orb-1{background-color:#fff;width:50vw;height:50vw;animation:20s ease-in-out infinite float-orb;top:-10%;left:-10%}.orb-2{background-color:#a3a3a3;width:45vw;height:45vw;animation:25s ease-in-out infinite reverse float-orb;bottom:-10%;right:-10%}@keyframes float-orb{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(5vw,5vh)scale(1.05)}}.spark{will-change:transform, opacity;border-radius:2px;animation:linear infinite float-diagonal;position:absolute;top:100%}.spark-1{background:#ffffff26;width:2px;height:18px;animation-duration:6s;left:15%}.spark-2{background:#ffffff1a;width:1.5px;height:25px;animation-duration:9s;animation-delay:2s;left:45%}.spark-3{background:#ffffff1f;width:3px;height:20px;animation-duration:7s;animation-delay:4s;left:75%}@keyframes float-diagonal{0%{opacity:0;transform:rotate(-35deg)translate(0,0)scale(.5)}10%{opacity:.6}80%{opacity:.6}to{opacity:0;transform:rotate(-35deg)translateY(-130vh)scale(1.3)}}.app-header{text-align:center;margin-bottom:28px}.app-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:4px;font-size:28px;font-weight:900}.app-subtitle{color:var(--text-secondary);font-size:13px}.tabs-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;grid-template-columns:repeat(5,1fr);margin-bottom:24px;padding:4px;display:grid}.tab-btn{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 0;font-size:12px;font-weight:500;transition:all .2s;display:flex}.tab-btn.active{background-color:var(--accent-white);color:var(--accent-black);font-weight:600}.tab-pos-num{opacity:.6;font-size:10px}.hero-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.hero-card{background-color:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:18px;padding:8px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.hero-card:hover{border-color:var(--border-color-hover);background-color:var(--card-bg-hover);transform:translateY(-2px)}.hero-image-wrapper{aspect-ratio:16/9;border-radius:12px;width:100%;position:relative;overflow:hidden}.hero-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.hero-card:hover .hero-img{transform:scale(1.05)}.hero-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--success-color);background:#000000b3;border:1px solid #ffffff1a;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600;position:absolute;top:6px;right:6px}.hero-info{margin-top:10px;padding:0 4px}.hero-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:2px;font-size:16px;font-weight:700}.hero-meta{color:var(--text-secondary);justify-content:space-between;font-size:11px;display:flex}.winrate-high{color:var(--success-color);font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#000000d9;justify-content:center;align-items:flex-end;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:var(--bg-color);border-top:1px solid var(--border-color);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);scrollbar-width:none;border-top-left-radius:24px;border-top-right-radius:24px;width:100%;max-width:600px;max-height:90vh;padding:24px 20px 48px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto}.modal-content::-webkit-scrollbar{display:none}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.close-btn{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:16px;right:16px}.hero-detail-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.hero-detail-img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border-color);border-radius:10px;width:90px}.hero-detail-title-wrap{flex:1}.hero-detail-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;font-size:24px;font-weight:800}.hero-detail-pos{color:var(--text-secondary);font-size:13px}.hero-detail-wr{margin-top:4px;font-size:13px}.detail-section{margin-bottom:28px}.section-title{font-family:var(--font-display);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;border-left:3px solid var(--accent-white);margin-bottom:12px;padding-left:8px;font-size:14px;font-weight:800}.items-category{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;margin-bottom:12px;padding:12px}.items-category-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;font-size:11px;font-weight:600}.items-list{flex-wrap:wrap;gap:8px;display:flex}.item-badge{border:1px solid var(--border-color);background-color:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:flex}.item-icon{object-fit:cover;border-radius:3px;width:24px;height:18px}.item-name{color:var(--text-primary);font-size:11px}.skill-grid{grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:12px;display:grid}.skill-cell{background-color:var(--card-bg);border:1px solid var(--border-color);text-align:center;border-radius:8px;padding:6px}.skill-lvl{color:var(--text-muted);margin-bottom:4px;font-size:9px}.skill-abbr{color:var(--text-primary);font-size:12px;font-weight:600}.skill-priority{color:var(--text-secondary);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-size:12px}.talent-tree{flex-direction:column;gap:8px;display:flex}.talent-row{grid-template-columns:1fr 40px 1fr;align-items:center;gap:8px;display:grid}.talent-box{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:8px 10px;font-size:11px;display:flex}.talent-box.recommended{color:var(--text-primary);background-color:#ffffff0d;border-color:#fff6;font-weight:500}.talent-level{background:var(--accent-white);color:var(--accent-black);font-family:var(--font-display);border-radius:12px;justify-content:center;align-items:center;width:40px;height:24px;margin:0 auto;font-size:11px;font-weight:800;display:flex}.counters-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.counter-box{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:12px}.counter-box.counters-whom{border-left:3px solid var(--success-color)}.counter-box.counters-who{border-left:3px solid var(--danger-color)}.counter-title{color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600}.counter-heroes{flex-direction:column;gap:6px;display:flex}.counter-hero-item{align-items:center;gap:8px;display:flex}.counter-hero-img{aspect-ratio:16/9;object-fit:cover;border-radius:4px;width:32px}.counter-hero-name{color:var(--text-primary);font-size:12px}.skeleton{background:linear-gradient(90deg,#0c0c0c 25%,#181818 50%,#0c0c0c 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{border-radius:18px;height:140px}
