.evolution-chain-container{margin-top:.5rem;padding:.5rem;background:#ffffff05;border-radius:6px;border:1px solid rgba(255,255,255,.08);position:relative;width:100%;box-sizing:border-box;overflow-x:hidden}.evolution-chain-container h5{margin:0 0 .5rem;color:#fffc;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.evolution-node-minimal{display:flex;flex-direction:column;align-items:center;gap:.2rem;position:relative;transition:transform .2s ease;cursor:default}.evolution-node-minimal.clickable{cursor:pointer}.evolution-node-minimal.clickable:hover:not(.current){transform:scale(1.1);opacity:.95}.evolution-node-minimal.clickable:hover:not(.current) .evolution-sprite{filter:drop-shadow(0 0 5px rgba(233,69,96,.5))}.evolution-node-minimal:hover{transform:scale(1.1)}.evolution-node-minimal.current .evolution-sprite{filter:drop-shadow(0 0 8px rgba(100,200,255,.6))}.evolution-node-minimal.base .evolution-sprite{filter:drop-shadow(0 0 6px rgba(100,255,100,.4))}.evolution-sprite{width:36px;height:36px;min-width:36px;min-height:36px;image-rendering:pixelated;display:block;flex-shrink:0}.evolution-name{font-size:.65rem;color:#ffffffe6;text-align:center;line-height:1}.evolution-chain-simple{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:.5rem 0;width:100%;overflow-x:hidden}.evolution-arrow{font-size:1rem;color:#ffffff4d;margin:0 .1rem}.evolution-arrow-container{display:flex;flex-direction:column;align-items:center;gap:.05rem;position:relative;margin:0 .2rem}.evolution-info-icon-inline{position:relative;cursor:help}.info-dot-inline{display:inline-block;width:12px;height:12px;font-size:.55rem;color:#64c8ff99;background:linear-gradient(135deg,#1e1e32cc,#28283ccc);border:1px solid rgba(100,200,255,.2);border-radius:50%;text-align:center;line-height:10px;transition:all .2s ease;font-family:monospace;font-weight:700}.evolution-info-icon-inline:hover .info-dot-inline{color:#64c8ffe6;background:linear-gradient(135deg,#282846e6,#323250e6);border-color:#64c8ff66;box-shadow:0 0 8px #64c8ff33}.evolution-arrow-container .evolution-arrow{margin:0}.evolution-grid-layout{display:flex;flex-direction:column;align-items:center;gap:.75rem}.evolution-grid-base{display:flex;justify-content:center}.evolution-grid-arrow{font-size:1rem;color:#ffffff4d;text-align:center;line-height:1}.evolution-grid-options{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:start;max-width:100%;width:100%;overflow-x:hidden}.evolution-grid-item{position:relative}.evolution-info-icon{position:absolute;top:-2px;right:-2px;cursor:help}.info-dot{display:inline-block;width:12px;height:12px;font-size:.55rem;color:#64c8ff99;background:linear-gradient(135deg,#1e1e32cc,#28283ccc);border:1px solid rgba(100,200,255,.2);border-radius:50%;text-align:center;line-height:10px;transition:all .2s ease;font-family:monospace;font-weight:700}.evolution-info-icon:hover .info-dot{color:#64c8ffe6;background:linear-gradient(135deg,#282846e6,#323250e6);border-color:#64c8ff66;box-shadow:0 0 8px #64c8ff33}.evolution-tooltip{position:absolute;top:100%;right:0;margin-top:4px;padding:.4rem .5rem;background:linear-gradient(135deg,#14141efa,#1e1e28fa);border:1px solid rgba(100,200,255,.2);border-radius:4px;font-size:.65rem;white-space:normal;z-index:100;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;width:max-content;min-width:100px;max-width:150px;box-shadow:0 4px 12px #0006;word-wrap:break-word}.evolution-info-icon:hover .evolution-tooltip,.evolution-info-icon-inline:hover .evolution-tooltip,.evolution-info-icon-above:hover .evolution-tooltip{opacity:1;visibility:visible}.evolution-info-icon-inline .evolution-tooltip{top:100%;left:50%;transform:translate(-50%);margin-top:6px;right:auto}.evolution-info-icon-above .evolution-tooltip{top:100%;left:50%;transform:translate(-50%);margin-top:4px;right:auto}.evolution-grid-item .evolution-tooltip{right:-10px;left:auto}.tooltip-header{display:flex;align-items:center;gap:.3rem;margin-bottom:.2rem;font-weight:500;white-space:nowrap}.tooltip-icon{font-size:.7rem;filter:brightness(1.2)}.tooltip-method{color:#64c8ffe6;font-weight:600;text-transform:capitalize;white-space:nowrap}.tooltip-requirement{color:#c8c8ffcc;font-size:.6rem;white-space:normal;word-wrap:break-word;word-break:break-word;padding-top:.1rem;border-top:1px solid rgba(100,200,255,.1);margin-top:.2rem;line-height:1.2}.evolution-tree{display:flex;flex-direction:column;align-items:center;gap:.5rem}.evolution-tree-node{display:flex;flex-direction:column;align-items:center;width:100%;position:relative}.evolution-branches{display:flex;gap:1rem;margin-top:.5rem;justify-content:center;flex-wrap:wrap}.evolution-branch{display:flex;flex-direction:column;align-items:center;gap:.3rem}.evolution-node-wrapper{position:relative}.evolution-info-icon-above{position:relative;cursor:help;margin-bottom:.2rem}.evolution-connector-line{width:1px;height:10px;background:#fff3;margin:0 auto}@media (max-width: 768px){.evolution-sprite{width:30px;height:30px}.evolution-name{font-size:.6rem}.evolution-grid-options{gap:.75rem}.info-dot{width:12px;height:12px;font-size:.55rem;line-height:12px}}@keyframes subtle-glow{0%{filter:drop-shadow(0 0 6px rgba(100,200,255,.4))}50%{filter:drop-shadow(0 0 10px rgba(100,200,255,.6))}to{filter:drop-shadow(0 0 6px rgba(100,200,255,.4))}}.evolution-node-minimal.current .evolution-sprite{animation:subtle-glow 2s ease-in-out infinite}.evolution-chain-empty{text-align:center;padding:1rem;color:#fff6;font-style:italic;font-size:.75rem}:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--text-primary: #e8e8e8;--text-secondary: #a8a8a8;--accent-primary: #e94560;--accent-secondary: #00d9ff;--border-color: #2a2a4e;--scale-factor: 1.15;--base-font-size: 16px;--scaled-font-size: calc(var(--base-font-size) * var(--scale-factor));--type-normal: #A8A878;--type-fire: #F08030;--type-water: #6890F0;--type-electric: #F8D030;--type-grass: #78C850;--type-ice: #98D8D8;--type-fighting: #C03028;--type-poison: #A040A0;--type-ground: #E0C068;--type-flying: #A890F0;--type-psychic: #F85888;--type-bug: #A8B820;--type-rock: #B8A038;--type-ghost: #705898;--type-dragon: #7038F8;--type-dark: #705848;--type-steel: #B8B8D0;--type-fairy: #EE99AC}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;font-size:var(--scaled-font-size)}#app{height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-secondary);padding:calc(1rem * var(--scale-factor)) calc(2rem * var(--scale-factor));border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.header h1{font-size:calc(1.5rem * var(--scale-factor));background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.main-container{flex:1;display:flex;overflow:hidden;position:relative}.main-container.transitioning *{transition:none!important}.sidebar{background:var(--bg-secondary);border:1px solid var(--border-color);overflow-y:auto;overflow-x:hidden;padding:calc(1rem * var(--scale-factor))}.sidebar-left{width:calc(250px * var(--scale-factor));border-right:1px solid var(--border-color)}.sidebar-right{width:calc(300px * var(--scale-factor));border-left:1px solid var(--border-color);position:relative;transition:none}.main-container.expanded-right .sidebar-right{width:calc(500px * var(--scale-factor))}.main-container.expanded-right .visualization-container{flex:1}.panel-toggle{position:absolute;top:50%;right:calc(300px * var(--scale-factor) - 1px);transform:translateY(-50%);width:20px;height:60px;background:var(--bg-secondary);border:1px solid var(--border-color);border-right:none;border-radius:8px 0 0 8px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:none;z-index:100;font-size:.9rem;opacity:.7}.main-container.expanded-right .panel-toggle{right:calc(500px * var(--scale-factor) - 1px)}.panel-toggle:hover{background:var(--bg-tertiary);color:var(--accent-secondary);opacity:1}.toggle-arrow{font-size:1rem;transition:transform .3s ease;display:inline-block}.main-container.expanded-right .toggle-arrow{transform:rotate(180deg)}.sidebar h3{color:var(--accent-secondary);margin-bottom:calc(1rem * var(--scale-factor));font-size:calc(1rem * var(--scale-factor));text-transform:uppercase;letter-spacing:calc(1px * var(--scale-factor))}.active-filters-container{margin-bottom:1.5rem;min-height:20px}.active-filters-summary{background:linear-gradient(135deg,#e945601a,#00d9ff1a);border:1px solid rgba(0,217,255,.3);border-radius:calc(8px * var(--scale-factor));padding:calc(.75rem * var(--scale-factor));margin-bottom:calc(1rem * var(--scale-factor))}.active-filters-title{font-size:calc(.75rem * var(--scale-factor));color:var(--accent-secondary);text-transform:uppercase;letter-spacing:calc(.5px * var(--scale-factor));margin-bottom:calc(.5rem * var(--scale-factor));font-weight:600}.active-filter-tags{display:flex;flex-wrap:wrap;gap:.35rem}.active-filter-tag{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;padding:calc(.25rem * var(--scale-factor)) calc(.5rem * var(--scale-factor));border-radius:calc(12px * var(--scale-factor));font-size:calc(.7rem * var(--scale-factor));font-weight:600;display:inline-flex;align-items:center;gap:calc(.25rem * var(--scale-factor));animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.active-filter-tag .remove-filter{cursor:pointer;font-size:.9rem;opacity:.8;transition:opacity .2s}.active-filter-tag .remove-filter:hover{opacity:1}.clear-all-filters{background:transparent;border:1px dashed var(--accent-primary);color:var(--accent-primary);padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.3px}.clear-all-filters:hover{background:#e945601a;transform:scale(1.05)}.filter-group{margin-bottom:calc(1.5rem * var(--scale-factor))}.filter-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(.75rem * var(--scale-factor));color:var(--text-secondary);font-size:calc(.9rem * var(--scale-factor))}.filter-mode-toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.mode-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:calc(.4rem * var(--scale-factor)) calc(.8rem * var(--scale-factor));border-radius:calc(6px * var(--scale-factor));cursor:pointer;font-size:calc(.85rem * var(--scale-factor));transition:all .2s ease;display:flex;align-items:center;gap:calc(.3rem * var(--scale-factor))}.mode-toggle:hover{background:#00d9ff1a;border-color:var(--accent-secondary)}.mode-toggle[data-mode=all]{background:#e945601a;border-color:var(--accent-primary)}.mode-toggle[data-mode=all] .mode-value{color:var(--accent-primary);font-weight:600}.mode-toggle[data-mode=any] .mode-value{color:var(--accent-secondary);font-weight:600}.mode-hint{font-size:.75rem;color:var(--text-secondary);font-style:italic}.filter-label span:first-child{font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.filter-count{padding:.15rem .5rem;background:#00d9ff1a;border:1px solid rgba(0,217,255,.2);border-radius:12px;font-size:.75rem;color:var(--accent-secondary);font-weight:600}.filter-chips{display:flex;flex-wrap:wrap;gap:calc(.5rem * var(--scale-factor));margin-bottom:calc(.75rem * var(--scale-factor))}.filter-chips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(.5rem * var(--scale-factor))}.filter-chip{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:calc(.35rem * var(--scale-factor)) calc(.75rem * var(--scale-factor));border-radius:calc(16px * var(--scale-factor));font-size:calc(.8rem * var(--scale-factor));cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:space-between;gap:calc(.25rem * var(--scale-factor));font-weight:500;position:relative;overflow:hidden}.filter-chip:hover{background:#00d9ff1a;border-color:#00d9ff4d;transform:translateY(-1px)}.filter-chip[data-active=true]{background:linear-gradient(135deg,#e9456033,#00d9ff33);border-color:var(--accent-secondary);color:var(--text-primary);box-shadow:0 2px 8px #00d9ff33}.filter-chip[data-active=true]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));opacity:.1;animation:pulse 2s ease-in-out infinite}.filter-count-badge{display:inline-flex;align-items:center;padding-left:.5rem;margin-left:.5rem;border-left:1px solid rgba(255,255,255,.2);font-size:.75rem;color:#fff9;font-weight:400;min-width:20px}.filter-chip:hover .filter-count-badge{color:#00d9ffe6;border-left-color:#00d9ff4d}.filter-chip[data-active=true] .filter-count-badge{color:var(--accent-secondary);border-left-color:var(--accent-secondary);font-weight:600}@keyframes pulse{0%,to{opacity:.1}50%{opacity:.2}}.type-chip{padding:calc(.5rem * var(--scale-factor)) calc(.8rem * var(--scale-factor));font-size:calc(.8rem * var(--scale-factor));justify-content:center;font-weight:600;text-transform:capitalize;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);border:2px solid transparent}.type-chip[data-value=normal]{background:var(--type-normal)}.type-chip[data-value=fire]{background:var(--type-fire)}.type-chip[data-value=water]{background:var(--type-water)}.type-chip[data-value=electric]{background:var(--type-electric)}.type-chip[data-value=grass]{background:var(--type-grass)}.type-chip[data-value=ice]{background:var(--type-ice)}.type-chip[data-value=fighting]{background:var(--type-fighting)}.type-chip[data-value=poison]{background:var(--type-poison)}.type-chip[data-value=ground]{background:var(--type-ground)}.type-chip[data-value=flying]{background:var(--type-flying)}.type-chip[data-value=psychic]{background:var(--type-psychic)}.type-chip[data-value=bug]{background:var(--type-bug)}.type-chip[data-value=rock]{background:var(--type-rock)}.type-chip[data-value=ghost]{background:var(--type-ghost)}.type-chip[data-value=dragon]{background:var(--type-dragon)}.type-chip[data-value=dark]{background:var(--type-dark)}.type-chip[data-value=steel]{background:var(--type-steel)}.type-chip[data-value=fairy]{background:var(--type-fairy)}.type-chip:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;filter:brightness(1.1)}.type-chip[data-active=true]{border-color:#fff;box-shadow:0 0 0 3px #ffffff4d,0 4px 12px #00000080;transform:scale(1.05)}.type-chip[data-active=true]:hover{transform:scale(1.05) translateY(-1px)}.filter-clear-btn{width:100%;padding:calc(.4rem * var(--scale-factor));background:transparent;border:1px dashed rgba(233,69,96,.3);color:var(--accent-primary);border-radius:calc(8px * var(--scale-factor));font-size:calc(.75rem * var(--scale-factor));font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:calc(.5px * var(--scale-factor))}.filter-clear-btn:hover{background:#e945601a;border-color:var(--accent-primary);transform:translateY(-1px)}.overlay-toggles{display:flex;flex-direction:column;gap:calc(.75rem * var(--scale-factor))}.overlay-toggles label{display:flex;align-items:center;gap:calc(.5rem * var(--scale-factor));color:var(--text-secondary);cursor:pointer;font-size:calc(.9rem * var(--scale-factor))}.overlay-toggles input[type=checkbox]{width:calc(18px * var(--scale-factor));height:calc(18px * var(--scale-factor));cursor:pointer}.visualization-container{flex:1;position:relative;background:var(--bg-primary);overflow:hidden;min-width:0}#main-viz{position:absolute;top:0;left:0;width:100%;height:100%}.filter-limit-alert,.no-matches-alert{position:absolute;top:calc(20px * var(--scale-factor));left:50%;transform:translate(-50%) translateY(-100%);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;padding:calc(12px * var(--scale-factor)) calc(24px * var(--scale-factor));border-radius:calc(8px * var(--scale-factor));font-size:calc(.9rem * var(--scale-factor));font-weight:500;box-shadow:0 4px 12px #0000004d;z-index:100000;opacity:0;transition:all .3s ease;pointer-events:none}.filter-limit-alert.show,.no-matches-alert.show{transform:translate(-50%) translateY(0);opacity:1}#sprite-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.filtered-pokemon-panel{position:absolute;top:calc(20px * var(--scale-factor));left:calc(20px * var(--scale-factor));background:#191928f2;border:1px solid rgba(255,255,255,.1);border-radius:calc(12px * var(--scale-factor));padding:0;min-width:calc(200px * var(--scale-factor));max-width:calc(300px * var(--scale-factor));max-height:calc(400px * var(--scale-factor));z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d;display:none;flex-direction:column}.filtered-pokemon-panel.active{display:flex}.filtered-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#e945601a,#00d9ff1a)}.filtered-title{font-size:.9rem;font-weight:600;color:var(--text-primary)}.filtered-count{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;padding:2px 8px;border-radius:12px;font-size:.85rem;font-weight:600;min-width:24px;text-align:center}.filtered-list{overflow-y:auto;overflow-x:hidden;padding:8px;flex:1;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.filtered-list::-webkit-scrollbar{width:6px}.filtered-list::-webkit-scrollbar-track{background:transparent}.filtered-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.filtered-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.filtered-pokemon-item{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:4px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px;cursor:pointer;transition:all .2s ease}.filtered-pokemon-item:hover{background:#00d9ff1a;border-color:#00d9ff4d;transform:translate(2px)}.filtered-pokemon-sprite{width:calc(32px * var(--scale-factor));height:calc(32px * var(--scale-factor));image-rendering:pixelated;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.filtered-pokemon-info{flex:1;display:flex;flex-direction:column;gap:2px}.filtered-pokemon-name{font-size:.8rem;font-weight:500;color:var(--text-primary)}.filtered-pokemon-types{display:flex;gap:4px}.filtered-pokemon-type{font-size:.65rem;padding:1px 6px;border-radius:4px;text-transform:uppercase;font-weight:600;opacity:.8}.filtered-more-indicator{text-align:center;padding:8px;color:var(--text-secondary);font-size:.75rem;font-style:italic;opacity:.7}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:calc(1.2rem * var(--scale-factor));color:var(--text-secondary);text-align:center}.loading.hidden{display:none}.tabs-container{display:flex;flex-direction:column;height:100%}.tab-header{display:flex;gap:2px;background:var(--bg-tertiary);padding:4px 4px 0;border-radius:8px 8px 0 0}.tab-button{flex:1;background:#ffffff0d;border:1px solid transparent;border-bottom:none;color:var(--text-secondary);padding:calc(.5rem * var(--scale-factor)) calc(.5rem * var(--scale-factor));cursor:pointer;font-size:calc(.85rem * var(--scale-factor));font-weight:500;transition:all .2s ease;border-radius:calc(6px * var(--scale-factor)) calc(6px * var(--scale-factor)) 0 0;position:relative;text-align:center}.tab-button:hover{background:#ffffff14;color:var(--text-primary)}.tab-button.active{background:var(--bg-secondary);color:var(--text-primary);border:1px solid rgba(255,255,255,.1);border-bottom:1px solid var(--bg-secondary);margin-bottom:-1px;z-index:2}.tab-content{flex:1;overflow-y:auto;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-top:none;border-radius:0 0 8px 8px;margin-top:-1px}.tab-pane{display:none;width:100%;height:100%;overflow-y:auto;position:relative}.tab-pane.active{display:block}#pokemon-details{min-height:200px;overflow:visible;width:100%;position:relative}#pokemon-details *{max-width:100%;box-sizing:border-box}#pokemon-details .placeholder{color:var(--text-secondary);text-align:center;padding:2rem}#team-analysis-content{padding:calc(.75rem * var(--scale-factor));font-size:calc(.85rem * var(--scale-factor));overflow-x:auto;overflow-y:visible;overflow-x:hidden;width:100%}.team-type-coverage,.team-strengths,.team-weaknesses{margin-bottom:1rem;background:#ffffff05;border-radius:8px;padding:.6rem;border:1px solid rgba(255,255,255,.05);overflow:hidden}#team-analysis-content h4{color:var(--text-primary);font-size:calc(.95rem * var(--scale-factor));margin-bottom:calc(.5rem * var(--scale-factor));font-weight:600;opacity:.9}#team-analysis-content .type-badge{font-size:.7rem;padding:.25rem .5rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.coverage-summary{display:flex;gap:.5rem;margin-bottom:.75rem}.coverage-stat-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;flex:1;cursor:pointer;transition:all .2s ease;color:inherit;font-family:inherit;text-align:center;min-width:0}.coverage-stat-button:hover{background:#ffffff0d;transform:translateY(-1px)}.coverage-stat-button.active{background:linear-gradient(135deg,#4ade801a,#60a5fa1a);border-color:#4ade804d}.coverage-stat-button .stat-value{font-size:calc(1.8rem * var(--scale-factor));font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,#4ade80,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;width:100%;text-align:center}.coverage-stat-button .stat-label{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.2px;margin-top:.25rem;width:100%;text-align:center;white-space:normal;word-wrap:break-word;line-height:1.2}.coverage-display{display:flex;flex-direction:column;gap:.5rem;width:100%;overflow:hidden}.coverage-types-list{flex-wrap:wrap;gap:.3rem;align-items:center;justify-content:center;min-height:32px;padding:0 .25rem;box-sizing:border-box}.empty-submessage{color:var(--text-secondary);font-size:.8rem;font-style:italic;opacity:.6;text-align:center;width:100%;padding:.5rem}.missing-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;margin-right:.3rem}.type-badge.missing{opacity:.7;border-style:dashed}.count-indicator{background:#fff3;padding:0 .2rem;border-radius:3px;font-size:.6rem;margin-left:.2rem}.type-effectiveness-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-top:.5rem}.effectiveness-card{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.08);transition:all .2s ease;text-align:center}.effectiveness-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.effectiveness-card.strong{background:linear-gradient(135deg,#4ade801a,#4ade800d);border-color:#4ade804d}.effectiveness-card.weak{background:linear-gradient(135deg,#f871711a,#f871710d);border-color:#f871714d}.effectiveness-card.immune{background:linear-gradient(135deg,#60a5fa1a,#60a5fa0d);border-color:#60a5fa4d}.type-header{margin-bottom:.3rem}.effectiveness-card .type-badge{font-size:.65rem;padding:.2rem .4rem}.pokemon-group{display:flex;gap:.2rem;flex-wrap:wrap;justify-content:center}.pokemon-group.vulnerable{opacity:.85}.mini-sprite{width:calc(36px * var(--scale-factor));height:calc(36px * var(--scale-factor));image-rendering:pixelated;border-radius:calc(4px * var(--scale-factor));background:#ffffff14;border:1px solid rgba(255,255,255,.15);transition:all .2s ease}.mini-sprite:hover{transform:scale(1.2);z-index:10;box-shadow:0 4px 12px #0006}.defense-container{display:flex;flex-direction:column;gap:1rem}.defense-section{display:flex;flex-direction:column;gap:.3rem}.section-label{font-size:.85rem;color:var(--text-primary);margin:0 0 .3rem;font-weight:600;opacity:.95}.section-label.weak{color:#f87171}.section-label.immune{color:#60a5fa}.empty-message{color:var(--text-secondary);text-align:center;padding:1.5rem;font-style:italic;font-size:.8rem;opacity:.7;background:#ffffff05;border-radius:6px;border:1px dashed rgba(255,255,255,.1)}.pokemon-card{background:var(--bg-tertiary);border-radius:8px;padding:1rem;overflow:visible;width:100%;box-sizing:border-box;position:relative}.pokemon-card img{width:calc(96px * var(--scale-factor));height:calc(96px * var(--scale-factor));margin:0 auto;display:block}.pokemon-card h5{margin-top:1rem;margin-bottom:.5rem;color:var(--text-primary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.pokemon-info-section{margin:1rem 0;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.info-row{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.9rem}.info-label{color:var(--text-secondary)}.info-value{color:var(--text-primary);font-weight:600}.info-value.pokemon-id,.info-value.pokedex-number{color:var(--accent-secondary);font-family:monospace;font-size:.95rem;letter-spacing:.5px}.pokemon-weaknesses{margin:1rem 0}.weakness-grid{display:flex;flex-direction:column;gap:.5rem;width:100%;overflow-x:hidden}.weakness-row{display:flex;align-items:center;gap:.75rem;padding:.25rem 0;width:100%;overflow-x:hidden}.weakness-row:not(:first-child){border-top:1px solid rgba(255,255,255,.05);padding-top:.5rem}.weakness-label{font-size:.8rem;color:var(--text-secondary);min-width:80px;max-width:80px;text-align:right;flex-shrink:0}.weakness-types{display:flex;flex-wrap:wrap;gap:.25rem;flex:1}.weakness-types .type-badge{font-size:.7rem;padding:.15rem .4rem;opacity:1}.weakness-types .weak-4x{border:2px solid #ff4444;box-shadow:0 0 8px #ff444480}.weakness-types .weak-2x{border:1px solid #ff8888}.weakness-types .resist{opacity:.7;border:1px solid #88ff88}.weakness-types .resist-4x{border:2px solid #44ff44;box-shadow:0 0 8px #44ff444d}.weakness-types .immune{opacity:.5;border:2px solid #888888;background:#8883}.pokemon-roles{margin:1rem 0}.role-row{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}.role-name{font-size:.8rem;color:var(--text-secondary);min-width:110px}.role-bar{flex:1;height:calc(16px * var(--scale-factor));background:#ffffff0d;border-radius:calc(8px * var(--scale-factor));overflow:hidden;border:1px solid rgba(255,255,255,.1)}.role-fill{height:100%;border-radius:7px;transition:width .3s ease;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary))}.role-value{font-size:.8rem;color:var(--text-primary);min-width:35px;text-align:right;font-weight:600}.pokemon-card h4{text-align:center;margin:.5rem 0;text-transform:capitalize}.pokemon-types{display:flex;gap:.5rem;justify-content:center;margin:.5rem 0;flex-wrap:wrap}.type-badge{padding:calc(.25rem * var(--scale-factor)) calc(.75rem * var(--scale-factor));border-radius:calc(12px * var(--scale-factor));font-size:calc(.8rem * var(--scale-factor));text-transform:uppercase;font-weight:700;color:#fff}.type-badge.normal{background:var(--type-normal)}.type-badge.fire{background:var(--type-fire)}.type-badge.water{background:var(--type-water)}.type-badge.electric{background:var(--type-electric)}.type-badge.grass{background:var(--type-grass)}.type-badge.ice{background:var(--type-ice)}.type-badge.fighting{background:var(--type-fighting)}.type-badge.poison{background:var(--type-poison)}.type-badge.ground{background:var(--type-ground)}.type-badge.flying{background:var(--type-flying)}.type-badge.psychic{background:var(--type-psychic)}.type-badge.bug{background:var(--type-bug)}.type-badge.rock{background:var(--type-rock)}.type-badge.ghost{background:var(--type-ghost)}.type-badge.dragon{background:var(--type-dragon)}.type-badge.dark{background:var(--type-dark)}.type-badge.steel{background:var(--type-steel)}.type-badge.fairy{background:var(--type-fairy)}.pokemon-stats{margin-top:1rem}.stat-row{display:flex;justify-content:space-between;margin:.25rem 0;font-size:.9rem}.stat-name{color:var(--text-secondary);width:60px}.stat-value{font-weight:700}.stat-bar{flex:1;height:calc(8px * var(--scale-factor));background:var(--bg-primary);border-radius:calc(4px * var(--scale-factor));margin:0 calc(.5rem * var(--scale-factor));overflow:hidden}.stat-fill{height:100%;background:linear-gradient(90deg,var(--accent-secondary),var(--accent-primary));border-radius:4px;transition:width .3s ease}.team-builder{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}.pokemon-search-overlay{position:absolute;top:calc(1rem * var(--scale-factor));right:calc(1rem * var(--scale-factor));z-index:50;width:calc(250px * var(--scale-factor))}.search-input{width:100%;padding:calc(.5rem * var(--scale-factor)) calc(.75rem * var(--scale-factor));background:#16213ef2;color:var(--text-primary);border:1px solid rgba(0,217,255,.3);border-radius:calc(4px * var(--scale-factor));font-size:calc(.9rem * var(--scale-factor));outline:none;transition:border-color .2s,box-shadow .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0003}.search-input:focus{border-color:var(--accent-secondary);box-shadow:0 2px 12px #00d9ff33}.search-input::placeholder{color:var(--text-secondary)}.search-results{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;max-height:300px;overflow-y:auto;z-index:100;display:none;box-shadow:0 4px 12px #0000004d}.search-result-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.05)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-tertiary)}.search-result-sprite{width:calc(32px * var(--scale-factor));height:calc(32px * var(--scale-factor));image-rendering:pixelated}.search-result-name{flex:1;color:var(--text-primary);font-size:.9rem;text-transform:capitalize}.search-result-types{display:flex;gap:.25rem}.search-result-types .type-badge{padding:.1rem .4rem;font-size:.65rem}.team-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(.5rem * var(--scale-factor));margin-bottom:calc(1rem * var(--scale-factor))}.main-container.expanded-right .team-slots{grid-template-columns:repeat(6,1fr);gap:calc(.75rem * var(--scale-factor))}.team-slot{aspect-ratio:1;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:calc(8px * var(--scale-factor));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.team-slot:hover{border-color:var(--accent-secondary);background:#00d9ff1a}.team-slot.filled{border-style:solid;border-color:var(--accent-primary)}.team-slot.selected{border-color:var(--accent-secondary);border-width:3px;box-shadow:0 0 15px #00d9ff66}.team-slot img{width:calc(64px * var(--scale-factor));height:calc(64px * var(--scale-factor))}.team-slot-remove{position:absolute;top:calc(-8px * var(--scale-factor));right:calc(-8px * var(--scale-factor));width:calc(24px * var(--scale-factor));height:calc(24px * var(--scale-factor));border-radius:50%;background:var(--accent-primary);color:#fff;border:2px solid var(--bg-secondary);font-size:calc(18px * var(--scale-factor));font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;line-height:1;padding:0}.team-slot-remove:hover{background:#f36;transform:scale(1.1);box-shadow:0 2px 8px #e9456080}.team-analysis{margin:1rem 0}.metric{margin:.75rem 0}.metric-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;color:var(--text-secondary);font-size:.9rem;position:relative}.info-icon{display:inline-flex;align-items:center;justify-content:center;width:calc(16px * var(--scale-factor));height:calc(16px * var(--scale-factor));border-radius:50%;background:var(--bg-tertiary);color:var(--accent-secondary);font-size:calc(.75rem * var(--scale-factor));font-weight:700;cursor:help;transition:all .2s ease;border:1px solid rgba(0,217,255,.3)}.info-icon:hover{background:var(--accent-secondary);color:var(--bg-primary);transform:scale(1.1)}.info-tooltip{position:absolute;top:calc(100% + calc(8px * var(--scale-factor)));left:0;background:linear-gradient(135deg,#16213efa,#0f3460fa);border:1px solid rgba(0,217,255,.3);border-radius:calc(6px * var(--scale-factor));padding:calc(.75rem * var(--scale-factor));width:calc(220px * var(--scale-factor));font-size:calc(.8rem * var(--scale-factor));color:var(--text-primary);box-shadow:0 4px 16px #0006;z-index:1000;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.info-tooltip strong{color:var(--accent-secondary);display:block;margin-bottom:.5rem;font-size:.85rem}.info-tooltip p{margin:.5rem 0;line-height:1.4;color:var(--text-secondary)}.info-tooltip ul{margin:.5rem 0;padding-left:1.2rem;list-style:none}.info-tooltip li{position:relative;margin:.25rem 0;color:var(--text-secondary)}.info-tooltip li:before{content:"•";position:absolute;left:-1rem;color:var(--accent-secondary)}.info-icon:hover+.info-tooltip{opacity:1;visibility:visible}.progress-bar{height:calc(12px * var(--scale-factor));background:var(--bg-tertiary);border-radius:calc(6px * var(--scale-factor));overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-secondary),var(--accent-primary));border-radius:6px;transition:width .3s ease;width:0%}.btn{padding:calc(.75rem * var(--scale-factor)) calc(1.5rem * var(--scale-factor));border:none;border-radius:calc(4px * var(--scale-factor));font-size:calc(.9rem * var(--scale-factor));font-weight:700;cursor:pointer;transition:all .2s ease;width:100%}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e9456066}.pokemon-node{cursor:pointer}.pokemon-node.team-member{filter:drop-shadow(0 0 8px #00ff88) drop-shadow(0 0 15px #00ff8844)}.main-group{pointer-events:all}.tooltip{position:absolute;background:linear-gradient(135deg,#16213efa,#0f3460f2);border:1px solid rgba(0,217,255,.2);padding:0;border-radius:calc(8px * var(--scale-factor));pointer-events:none;z-index:1000;font-size:calc(.85rem * var(--scale-factor));box-shadow:0 4px 20px #00000080,0 0 15px #00d9ff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:calc(200px * var(--scale-factor))}.tooltip-content{padding:.75rem}.tooltip-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.tooltip-sprite{width:calc(48px * var(--scale-factor));height:calc(48px * var(--scale-factor));image-rendering:pixelated;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.tooltip-title{flex:1}.tooltip-title strong{display:block;color:var(--accent-secondary);font-size:.95rem;margin-bottom:.1rem;text-transform:capitalize}.tooltip-id{color:var(--text-secondary);font-size:.75rem;font-family:monospace}.tooltip-types{display:flex;gap:.25rem;margin-bottom:.5rem}.tooltip-type{padding:.15rem .5rem;border-radius:10px;font-size:.7rem;text-transform:uppercase;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.tooltip-type.normal{background:var(--type-normal)}.tooltip-type.fire{background:var(--type-fire)}.tooltip-type.water{background:var(--type-water)}.tooltip-type.electric{background:var(--type-electric)}.tooltip-type.grass{background:var(--type-grass)}.tooltip-type.ice{background:var(--type-ice)}.tooltip-type.fighting{background:var(--type-fighting)}.tooltip-type.poison{background:var(--type-poison)}.tooltip-type.ground{background:var(--type-ground)}.tooltip-type.flying{background:var(--type-flying)}.tooltip-type.psychic{background:var(--type-psychic)}.tooltip-type.bug{background:var(--type-bug)}.tooltip-type.rock{background:var(--type-rock)}.tooltip-type.ghost{background:var(--type-ghost)}.tooltip-type.dragon{background:var(--type-dragon)}.tooltip-type.dark{background:var(--type-dark)}.tooltip-type.steel{background:var(--type-steel)}.tooltip-type.fairy{background:var(--type-fairy)}.tooltip-stats{font-size:.75rem}.tooltip-stat-row{display:flex;justify-content:space-between;margin:.2rem 0;align-items:center}.stat-label{color:var(--text-secondary);font-weight:500;width:30px}.stat-value{color:var(--text-primary);font-weight:700;width:35px;text-align:right}.stat-bst{font-size:.85rem}.pokemon-node.inactive{cursor:default;pointer-events:none;opacity:.02}.pokemon-abilities{margin:1rem 0;padding:.75rem;background:#0003;border-radius:6px;border:1px solid rgba(255,255,255,.05);width:100%;box-sizing:border-box;overflow:visible;position:relative}.pokemon-abilities h5{color:var(--accent-secondary);margin-bottom:.5rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.abilities-list{display:flex;flex-direction:column;gap:.5rem;width:100%;overflow:visible;position:relative}.ability-row{display:flex;align-items:center;gap:.5rem;width:100%;flex-wrap:wrap}.ability-label{color:var(--text-secondary);font-size:.85rem;min-width:60px}.ability-names{color:var(--text-primary);font-size:.85rem}.ability-names.hidden-ability{color:var(--accent-primary);font-style:italic}.ability-with-tooltip{position:relative;display:inline-flex;align-items:center;gap:.25rem;z-index:1}.ability-name{color:var(--text-primary);font-size:.9rem}.ability-info-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-secondary);font-size:10px;cursor:help;transition:all .2s ease;-webkit-user-select:none;user-select:none}.ability-info-icon:hover{background:var(--accent-secondary);color:var(--bg-primary);transform:scale(1.1)}.ability-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:10000;background:var(--bg-primary);border:1px solid var(--accent-secondary);border-radius:8px;padding:.75rem;min-width:250px;max-width:350px;box-shadow:0 4px 20px #00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;white-space:normal}.ability-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--bg-primary)}.ability-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid var(--accent-secondary)}.ability-tooltip strong{color:var(--accent-secondary);display:block;margin-bottom:.5rem;font-size:.9rem}.ability-tooltip p{margin:0;line-height:1.4;font-size:.85rem;color:var(--text-primary)}.ability-info-icon:hover+.ability-tooltip,.ability-tooltip:hover,.ability-with-tooltip:hover .ability-tooltip{opacity:1;visibility:visible;pointer-events:auto;z-index:10000}.hidden-ability .ability-name{color:var(--accent-primary);font-style:italic}.pokemon-forms{margin:1rem 0;padding:.75rem;background:#0003;border-radius:6px;border:1px solid rgba(255,255,255,.05);width:100%;box-sizing:border-box;overflow-x:hidden}.pokemon-forms h5{color:var(--accent-secondary);margin-bottom:.75rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.forms-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;overflow-x:hidden;width:100%}.form-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#ffffff05;border-radius:4px;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s ease;width:100%;box-sizing:border-box}.form-item:hover{background:#00d9ff1a;border-color:#00d9ff4d;transform:translate(2px)}.form-item.clickable{cursor:pointer}.form-item.clickable:hover{background:#00d9ff26;border-color:#00d9ff66;box-shadow:0 2px 8px #00d9ff33}.form-sprite{width:calc(48px * var(--scale-factor));height:calc(48px * var(--scale-factor));image-rendering:pixelated;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.form-info{flex:1;min-width:0;overflow:hidden}.form-name{color:var(--text-primary);font-size:.85rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;margin-bottom:.25rem;text-transform:capitalize}.form-types{display:flex;gap:.25rem}.form-types .type-badge.small{padding:.1rem .3rem;font-size:.65rem}.team-type-suggestions{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--bg-tertiary)}.type-suggestions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-top:.75rem}.suggestion-card{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:.75rem;transition:all .3s ease;position:relative}.suggestion-card:hover{transform:translateY(-2px);border-color:#00d9ff4d;box-shadow:0 4px 12px #00d9ff1a}.suggestion-card.best-match{background:linear-gradient(135deg,#00d9ff1a,#9333ea1a);border-color:#00d9ff80}.suggestion-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.suggestion-description{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin-bottom:.5rem;opacity:.9}.best-badge,.new-badge{font-size:.65rem;padding:.15rem .3rem;border-radius:3px;font-weight:700}.best-badge{background:linear-gradient(135deg,#00d9ff,#9333ea);color:#fff}.new-badge{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.suggestion-benefits{display:flex;flex-direction:column;gap:.5rem}.benefit-group{display:flex;flex-direction:column;gap:.25rem}.benefit-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;opacity:.8}.benefit-types{display:flex;flex-wrap:wrap;gap:.2rem}.type-badge.mini{padding:.1rem .25rem;font-size:.6rem;border-radius:3px}.team-effectiveness-chart{margin-top:2rem;border-top:2px solid var(--bg-tertiary);background:linear-gradient(135deg,#0003,#0000001a);border-radius:12px;margin-left:-2rem;margin-right:-2rem;padding:2rem}.team-effectiveness-chart h4{text-align:center;font-size:1.2rem;margin-bottom:1.5rem;color:var(--accent-secondary);display:flex;align-items:center;justify-content:center}#effectiveness-radar-chart{display:flex;justify-content:center;align-items:center;margin:2rem auto;min-height:700px;overflow:visible}.radar-chart{width:100%;max-width:700px;height:auto;filter:drop-shadow(0 4px 20px rgba(0,217,255,.1))}.radar-label{fill:var(--text-secondary);font-weight:600;text-transform:capitalize}.radar-label.type-fire{fill:#f97316}.radar-label.type-water{fill:#3b82f6}.radar-label.type-grass{fill:#22c55e}.radar-label.type-electric{fill:#facc15}.radar-label.type-psychic{fill:#ec4899}.radar-label.type-ice{fill:#67e8f9}.radar-label.type-dragon{fill:#8b5cf6}.radar-label.type-dark{fill:#64748b}.radar-label.type-fairy{fill:#f9a8d4}.radar-label.type-normal{fill:#a8a29e}.radar-label.type-fighting{fill:#dc2626}.radar-label.type-flying{fill:#94a3b8}.radar-label.type-poison{fill:#a855f7}.radar-label.type-ground{fill:#ca8a04}.radar-label.type-rock{fill:#b45309}.radar-label.type-bug{fill:#84cc16}.radar-label.type-ghost{fill:#9333ea}.radar-label.type-steel{fill:#6b7280}.radar-polygon{transition:all .3s ease}.radar-polygon:hover{opacity:.8}.radar-point{transition:all .2s ease;cursor:pointer}.radar-point:hover{r:10;filter:brightness(1.2)}.chart-legend{display:flex;justify-content:center;gap:2rem;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.legend-color{width:20px;height:3px;border-radius:2px}.legend-color.offensive{background:linear-gradient(90deg,#22c55e,#16a34a)}.legend-color.defensive{background:linear-gradient(90deg,#ef4444,#dc2626)}.chart-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:10000;align-items:center;justify-content:center;padding:2rem;overflow:auto}.modal-content{background:var(--bg-secondary);border-radius:12px;padding:2rem;max-width:1000px;width:100%;max-height:95vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #00d9ff4d;border:2px solid var(--accent-secondary)}.modal-content h2{text-align:center;color:var(--accent-secondary);margin-bottom:2rem;font-size:1.8rem}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#ffffff1a;color:var(--accent-secondary);transform:rotate(90deg)}#modal-radar-chart{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:2rem 0;min-height:900px}.modal-legend{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#0000004d;border-radius:8px;margin-top:2rem}.modal-legend .legend-item{display:flex;align-items:center;gap:1rem;font-size:1rem}.expand-chart-icon{display:inline-block;margin-left:1rem;padding:0;background:none;border:none;font-size:1.2rem;cursor:pointer;transition:all .3s ease;opacity:.7;vertical-align:middle;line-height:1}.expand-chart-icon:hover{opacity:1;transform:scale(1.2);filter:drop-shadow(0 0 8px rgba(0,217,255,.6))}#effectiveness-radar-chart{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:1rem auto;min-height:350px}@media (min-width: 1920px){:root{--scale-factor: 1.25}}@media (min-width: 2560px){:root{--scale-factor: 1.4}}@media (min-width: 3840px){:root{--scale-factor: 1.6}}@media (max-width: 1200px){:root{--scale-factor: 1}.sidebar-left{width:calc(200px * var(--scale-factor))}.sidebar-right{width:calc(250px * var(--scale-factor))}}@media (max-width: 768px){:root{--scale-factor: .9}.main-container{flex-direction:column}.sidebar{width:100%!important;max-height:calc(200px * var(--scale-factor))}}.cluster-labels-layer{pointer-events:none}.cluster-label-group{transition:opacity .15s ease}.cluster-label-text{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;fill:#4a4a5e;fill-opacity:.85;letter-spacing:-.01em;paint-order:stroke fill;stroke:#ffffffd9;stroke-width:3.5px;stroke-linejoin:round;stroke-linecap:round;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.cluster-label-group.level-1 .cluster-label-text{font-weight:600;text-transform:uppercase;letter-spacing:.05em;fill:#2d2d42;fill-opacity:.75;stroke-width:3.5px;stroke:#ffffffbf}.cluster-label-group.level-2 .cluster-label-text{font-weight:500;letter-spacing:0;fill:#60607a;fill-opacity:.9;stroke-width:2px;stroke-opacity:.9;text-transform:capitalize}.cluster-label-group.level-3 .cluster-label-text{font-weight:400;letter-spacing:0;fill:#757590;fill-opacity:.85;stroke-width:1.5px;stroke-opacity:.85;font-size:.85em;opacity:.85}@keyframes labelFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes labelFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.cluster-label-group.entering{animation:labelFadeIn .3s ease-out forwards}.cluster-label-group.exiting{animation:labelFadeOut .3s ease-in forwards}.filters-active .cluster-label-group.low-density{opacity:.3}.cluster-label-group.legendary .cluster-label-text{fill:#f8d030;text-shadow:2px 2px 6px rgba(248,208,48,.3),0 0 12px rgba(248,208,48,.2)}.cluster-label-group.starter .cluster-label-text{fill:#78c850;text-shadow:2px 2px 6px rgba(120,200,80,.3),0 0 12px rgba(120,200,80,.2)}.cluster-label-group.mega .cluster-label-text{fill:#f85888;text-shadow:2px 2px 6px rgba(248,88,136,.3),0 0 12px rgba(248,88,136,.2)}#box-tab{height:100%}.box-container{padding:1rem;height:100%;display:flex;flex-direction:column;gap:1rem}.box-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.box-header h4{color:var(--text-primary);font-size:1.2rem}.box-stats{display:flex;align-items:center;gap:1rem}.box-count{color:var(--text-secondary);font-size:.9rem}#box-current-count{color:var(--accent-secondary);font-weight:700}.box-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center}.box-action-btn{padding:.4rem .8rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.box-action-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary)}.box-sort-container{position:relative}.sort-icon{margin-right:.25rem;font-weight:700}.box-sort-menu{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0000004d;z-index:100;min-width:160px;overflow:hidden}.sort-option{padding:.5rem .75rem;cursor:pointer;transition:all .2s ease;font-size:.85rem;white-space:nowrap}.sort-option:hover{background:var(--bg-tertiary);color:var(--accent-secondary)}.sort-option:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05)}.box-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;overflow-y:auto;flex:1;padding:.5rem 0}.main-container.expanded-right .box-grid{grid-template-columns:repeat(5,1fr)}.main-container.expanded-right .box-pokemon-name{font-size:1rem}.main-container.expanded-right .type-badge-small{font-size:.65rem;padding:.15rem .35rem}.main-container.expanded-right #pokemon-details{font-size:1.1rem}.main-container.expanded-right .stat-label{font-size:.95rem}.main-container.expanded-right .stat-value{font-size:1rem}.main-container.expanded-right .type-badge{font-size:calc(.9rem * var(--scale-factor));padding:calc(.3rem * var(--scale-factor)) calc(.85rem * var(--scale-factor))}.main-container.expanded-right .sidebar h3{font-size:calc(1.1rem * var(--scale-factor))}.main-container.expanded-right .tab-button{font-size:calc(.95rem * var(--scale-factor))}.main-container.expanded-right .metric-label{font-size:1rem}.main-container.expanded-right #team-analysis-content h4{font-size:1.1rem}.main-container.expanded-right #team-analysis-content .type-badge{font-size:.8rem;padding:.3rem .6rem}.main-container.expanded-right .box-header h4{font-size:1.2rem}.main-container.expanded-right .box-stats{font-size:.95rem}.main-container.expanded-right .box-action-btn{font-size:.9rem}.box-pokemon{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.4rem;text-align:center;cursor:pointer;transition:all .2s ease}.box-pokemon:hover{transform:translateY(-2px);border-color:var(--accent-secondary);box-shadow:0 4px 8px #00d9ff33}.box-remove-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;background:#e94560e6;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:12px;line-height:16px;opacity:0;transition:opacity .2s ease;z-index:2}.box-pokemon:hover .box-remove-btn{opacity:1}.box-remove-btn:hover{background:var(--accent-primary);transform:scale(1.1)}.box-pokemon-sprite{width:56px;height:56px;image-rendering:pixelated}.box-pokemon-name{font-size:.85rem;color:var(--text-primary);margin:.2rem 0;font-weight:600;line-height:1.2}.box-pokemon-types{display:flex;justify-content:center;gap:.2rem;flex-wrap:wrap}.type-badge-small{padding:.1rem .3rem;border-radius:3px;font-size:.55rem;font-weight:700;text-transform:uppercase;color:#fff}.box-empty{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--text-secondary);text-align:center;padding:2rem}.box-empty p{margin:.5rem 0}.box-hint{font-size:.85rem;opacity:.7}.box-feedback{position:fixed;top:20px;right:20px;padding:.75rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;z-index:10000;animation:slideIn .3s ease;box-shadow:0 4px 12px #0000004d}.box-feedback-success{background:linear-gradient(135deg,#00c851,#00a846);color:#fff}.box-feedback-info{background:linear-gradient(135deg,#33b5e5,#2196f3);color:#fff}.box-feedback-error{background:linear-gradient(135deg,#f44,#c00);color:#fff}.box-feedback.fade-out{animation:fadeOut .3s ease forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translate(100%)}}.type-badge-small.normal{background:var(--type-normal)}.type-badge-small.fire{background:var(--type-fire)}.type-badge-small.water{background:var(--type-water)}.type-badge-small.electric{background:var(--type-electric)}.type-badge-small.grass{background:var(--type-grass)}.type-badge-small.ice{background:var(--type-ice)}.type-badge-small.fighting{background:var(--type-fighting)}.type-badge-small.poison{background:var(--type-poison)}.type-badge-small.ground{background:var(--type-ground)}.type-badge-small.flying{background:var(--type-flying)}.type-badge-small.psychic{background:var(--type-psychic)}.type-badge-small.bug{background:var(--type-bug)}.type-badge-small.rock{background:var(--type-rock)}.type-badge-small.ghost{background:var(--type-ghost)}.type-badge-small.dragon{background:var(--type-dragon)}.type-badge-small.dark{background:var(--type-dark)}.type-badge-small.steel{background:var(--type-steel)}.type-badge-small.fairy{background:var(--type-fairy)}.context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem;min-width:180px;box-shadow:0 4px 12px #00000080;z-index:10000;animation:contextMenuFadeIn .15s ease}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:4px;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:.9rem}.context-menu-item:hover:not(.disabled){background:var(--bg-tertiary);color:var(--accent-secondary)}.context-menu-item.disabled{opacity:.5;cursor:not-allowed;color:var(--text-secondary)}.context-menu-icon{width:20px;text-align:center;font-size:1rem}.context-menu-label{flex:1}.context-menu-separator{height:1px;background:var(--border-color);margin:.25rem 0}
