*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#1a1a2e;min-height:100vh}.container{color:#e0e0e0;max-width:1400px;margin:0 auto;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1{text-align:center;margin-bottom:1.5rem;font-size:1.8rem}.app-layout{align-items:flex-start;gap:1.5rem;display:flex}.app-main{flex:1;min-width:0}.selected-types{justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.hint{text-align:center;color:#888;margin-bottom:1.5rem}.type-badge{color:#fff;text-shadow:1px 1px 2px #0000004d;border-radius:6px;padding:.4rem 1rem;font-size:.9rem;font-weight:600;display:inline-block}.clear-btn{color:#ccc;cursor:pointer;background:#333;border:1px solid #666;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;transition:all .15s}.clear-btn:hover{background:#444;border-color:#888}.type-grid{grid-template-columns:repeat(6,1fr);gap:.4rem;margin-bottom:1.5rem;display:grid}.type-btn{color:#fff;cursor:pointer;text-shadow:1px 1px 2px #0000004d;border:2px solid #0000;border-radius:6px;padding:.5rem .3rem;font-size:.8rem;font-weight:600;transition:box-shadow .1s}.type-btn:hover{box-shadow:0 2px 6px #0000004d}.type-btn.selected{border-color:#fff;box-shadow:0 0 0 3px #ffffff4d}.results-column{flex-shrink:0;width:180px;max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow-y:auto}.result-group{margin-bottom:1.2rem}.result-group h3{margin:0 0 .5rem;font-size:1rem}.quad-weak h3{color:#ef4444}.double-weak h3{color:#f87171}.neutral h3{color:#9e9e9e}.resist h3{color:#4ade80}.double-resist h3{color:#22c55e}.immune h3{color:#a78bfa}.result-badges{flex-wrap:wrap;gap:.3rem;display:flex}.result-badge{color:#fff;text-shadow:1px 1px 2px #0000004d;border-radius:4px;padding:.3rem .7rem;font-size:.8rem;font-weight:600;display:inline-block}.pokemon-section{margin-top:2rem}.pokemon-section h2{color:#ccc;margin-bottom:1rem;font-size:1.1rem}.pokemon-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;display:grid}.pokemon-card{cursor:pointer;background:#2a2a3e;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;padding:.5rem;transition:transform .1s,border-color .15s;display:flex}.pokemon-card:hover{border-color:#555;transform:translateY(-2px)}.pokemon-card.selected{border-color:#3b82f6}.pokemon-card img{width:64px;height:64px;image-rendering:pixelated}.pokemon-id{color:#777;align-self:flex-end;font-size:.6rem}.pokemon-card span{color:#bbb;text-transform:capitalize;text-align:center;margin-top:.2rem;font-size:.7rem}.card-type-pills{gap:.2rem;margin-top:.2rem;display:flex}.card-type-pill{color:#fff;text-transform:capitalize;text-shadow:1px 1px 1px #0000004d;border-radius:3px;padding:.1rem .35rem;font-size:.55rem;font-weight:600}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:.8rem;display:flex}.pagination button{color:#ccc;cursor:pointer;background:#1a1a2e;border:1px solid #555;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;transition:all .15s}.pagination button:hover:not(:disabled){color:#fff;border-color:#888}.pagination button:disabled{opacity:.4;cursor:default}.page-info{color:#888;font-size:.8rem}.pokemon-detail{background:#2a2a3e;border-radius:10px;margin-bottom:1rem;padding:1.2rem;position:relative}.detail-close{color:#888;cursor:pointer;background:0 0;border:none;padding:0 .3rem;font-size:1.4rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.detail-close:hover{color:#ddd}.detail-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.detail-header img{width:96px;height:96px;image-rendering:pixelated}.detail-header h3{text-transform:capitalize;margin-bottom:.3rem;font-size:1.3rem}.detail-type-pills{gap:.3rem;margin:.3rem 0;display:flex}.detail-type-pill{color:#fff;text-shadow:1px 1px 2px #0000004d;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.detail-header p{color:#aaa;text-transform:capitalize;margin:.15rem 0;font-size:.85rem}.detail-stats{margin-bottom:1rem}.stat-row{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.stat-label{color:#999;text-align:right;width:2.5rem;font-size:.75rem}.stat-bar-bg{background:#1a1a2e;border-radius:4px;flex:1;height:8px;overflow:hidden}.stat-bar{border-radius:4px;height:100%;transition:width .3s}.stat-value{color:#ccc;width:2rem;font-size:.75rem}.detail-abilities,.detail-stats,.detail-evolutions{border-top:1px solid #3a3a50;padding-top:.8rem}.detail-abilities{margin-bottom:1rem}.detail-abilities h4{color:#ccc;margin-bottom:.5rem;font-size:.9rem}.ability-item{margin-bottom:.4rem}.ability-name{color:#ddd;text-transform:capitalize;font-size:.85rem;font-weight:600}.ability-desc{color:#999;margin:.1rem 0 0;font-size:.75rem}.detail-evolutions{margin-top:1rem}.detail-evolutions h4{color:#ccc;margin-bottom:.5rem;font-size:.9rem}.evolution-chain{flex-wrap:wrap;align-items:center;margin-bottom:.4rem;display:flex}.evolution-chain:last-child{margin-bottom:0}.evolution-step{align-items:center;display:flex}.evolution-item{flex-direction:column;align-items:center;display:flex}.evolution-item.clickable{cursor:pointer;border-radius:8px;padding:.3rem;transition:background .15s}.evolution-item.clickable:hover{background:#3a3a50}.evolution-item.clickable.selected{background:#3a3a50;outline:2px solid #3b82f6}.evolution-item img{width:64px;height:64px;image-rendering:pixelated}.evolution-item span{color:#bbb;text-transform:capitalize;font-size:.7rem}.evolution-arrow{flex-direction:column;align-items:center;margin:0 .4rem;display:flex}.evolution-arrow .arrow{color:#666;font-size:1.2rem}.evolution-method{color:#888;text-transform:capitalize;white-space:nowrap;font-size:.6rem}.pokemon-controls{gap:.5rem;margin-bottom:.5rem;display:flex}.pokemon-search{color:#e0e0e0;background:#1a1a2e;border:1px solid #555;border-radius:6px;outline:none;flex:1;padding:.5rem .8rem;font-size:.85rem;transition:border-color .15s}.pokemon-search:focus{border-color:#3b82f6}.pokemon-search::placeholder{color:#666}.sort-select{color:#e0e0e0;cursor:pointer;background:#1a1a2e;border:1px solid #555;border-radius:6px;outline:none;padding:.5rem .8rem;font-size:.85rem}.sort-select:focus{border-color:#3b82f6}.gen-filter{flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem;display:flex}.gen-filter button{color:#aaa;cursor:pointer;background:#1a1a2e;border:1px solid #555;border-radius:4px;padding:.3rem .6rem;font-size:.75rem;transition:all .15s}.gen-filter button:hover{color:#ddd;border-color:#888}.gen-filter button.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.add-team-btn{color:#3b82f6;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3b82f6;border-radius:6px;margin-left:auto;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .15s}.add-team-btn:hover{color:#fff;background:#3b82f6}.on-team-badge{color:#4ade80;white-space:nowrap;border:1px solid #4ade80;border-radius:6px;margin-left:auto;padding:.4rem .8rem;font-size:.8rem;font-weight:600}.team-builder{background:#2a2a3e;border-radius:10px;flex-direction:column;flex-shrink:0;width:360px;height:calc(100dvh - 2rem);padding:1.2rem;display:flex;position:sticky;top:1rem}.team-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.team-header h2{color:#ccc;margin:0;font-size:1.1rem}.team-header-actions{gap:.4rem;display:flex}.coverage-toggle{color:#aaa;cursor:pointer;background:#1a1a2e;border:1px solid #555;border-radius:6px;padding:.3rem .7rem;font-size:.75rem;font-weight:600;transition:all .15s}.coverage-toggle:hover{color:#ddd;border-color:#888}.coverage-toggle.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.team-slots-wrapper{flex:1;min-height:0;position:relative;overflow-y:auto}.team-slots{flex-direction:column;gap:.4rem;height:100%;display:flex}.team-slot{background:#1a1a2e;border-radius:8px;flex-direction:row;flex:1;align-items:center;gap:.6rem;min-height:44px;padding:.4rem .6rem;display:flex}.team-slot.filled{border:2px solid #3a3a50}.team-slot.empty{border:2px dashed #3a3a50;justify-content:center}.team-slot img{width:36px;height:36px;image-rendering:pixelated;flex-shrink:0}.team-slot-name{color:#ddd;text-transform:capitalize;white-space:nowrap;font-size:.8rem;font-weight:600}.team-slot-types{gap:.2rem;margin-left:auto;display:flex}.team-slot-empty{color:#555;font-size:.75rem}.team-slot-remove{color:#666;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .2rem;font-size:1rem;line-height:1}.team-slot-remove:hover{color:#ef4444}.coverage-overlay{z-index:1;scrollbar-width:thin;scrollbar-color:#3a3a50 transparent;background:#2a2a3e;border-radius:8px;padding:.8rem;position:absolute;inset:0;overflow-y:auto}.coverage-overlay::-webkit-scrollbar{width:6px}.coverage-overlay::-webkit-scrollbar-track{background:0 0}.coverage-overlay::-webkit-scrollbar-thumb{background:#3a3a50;border-radius:3px}.coverage-overlay::-webkit-scrollbar-thumb:hover{background:#555}.coverage-overlay-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.coverage-overlay-header h3{color:#ccc;margin:0;font-size:.9rem}.coverage-close{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}.coverage-close:hover{color:#ddd}.coverage-chart{flex-direction:column;gap:.2rem;display:flex}.coverage-row{border-radius:4px;align-items:center;gap:.5rem;padding:.15rem .4rem;display:flex}.coverage-row.uncovered{background:#ef444426}.coverage-type{text-align:center;color:#fff;text-transform:capitalize;text-shadow:1px 1px 1px #0000004d;border-radius:3px;flex-shrink:0;width:65px;padding:.12rem 0;font-size:.65rem;font-weight:600;display:inline-block}.coverage-counts{gap:.4rem;font-size:.7rem;display:flex}.coverage-weak{color:#ef4444;font-weight:600}.coverage-resist{color:#4ade80;font-weight:600}.coverage-immune{color:#a78bfa;font-weight:600}.coverage-neutral{color:#666}.suggestions-section{border-top:1px solid #3a3a50;margin-top:.5rem;padding-top:.5rem}.suggestions-section h3{color:#ccc;margin-bottom:.4rem;font-size:.8rem}.suggestions-list{flex-direction:column;gap:.25rem;display:flex}.suggestion-item{background:#1a1a2e;border-radius:4px;align-items:center;gap:.5rem;padding:.25rem .4rem;display:flex}.suggestion-types{gap:.2rem;display:flex}.suggestion-score{color:#888;margin-left:auto;font-size:.7rem}.type-btn,.gen-filter button,.pagination button,.detail-close,.team-slot-remove,.coverage-close,.coverage-toggle,.clear-btn{min-height:44px}.detail-close,.team-slot-remove,.coverage-close{justify-content:center;align-items:center;min-width:44px;display:inline-flex}@media (width>=901px){.container{margin:1rem auto;padding:2rem}}@media (width<=900px){.app-layout{flex-direction:column}.results-column{order:2;width:100%;max-height:none;position:static}.app-main{order:1}.team-builder{order:3;width:100%;height:auto;position:static}}@media (width<=700px){.type-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}.pokemon-controls{flex-direction:column}.sort-select{width:100%}.detail-header{flex-wrap:wrap}.add-team-btn,.on-team-badge{text-align:center;width:100%;margin-top:.5rem;margin-left:0}}@media (width<=480px){.type-grid{grid-template-columns:repeat(3,1fr)}h1{margin-bottom:1rem;font-size:1.3rem}.pokemon-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.4rem}.team-builder{padding:.8rem}}@media (width<=360px){.type-grid{grid-template-columns:repeat(2,1fr)}}
