.builder-header{text-align:center;padding-bottom:32px}.badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);background:#f0b4291a;border:1px solid rgba(240,180,41,.25);padding:5px 14px;border-radius:20px;margin-bottom:18px}.builder-title{font-family:var(--font-display);font-size:clamp(44px,6vw,72px);letter-spacing:.05em;line-height:1;background:linear-gradient(135deg,#fff 30%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.builder-sub{font-size:14px;color:var(--text-muted);margin-bottom:16px}.builder-nav{display:flex;justify-content:center;gap:12px}.nav-link{font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;padding:8px 20px;border:1px solid rgba(240,180,41,.3);border-radius:10px;transition:all .2s}.nav-link:hover{background:#f0b4291a;border-color:#f0b42980}.nav-link-calc{color:#ef4444;border-color:#ef44444d}.nav-link-calc:hover{background:#ef44441a;border-color:#ef444480}.section-title{font-family:var(--font-display);font-size:26px;letter-spacing:.08em;color:var(--accent);margin-bottom:16px}.team-section,.analysis-section{margin-bottom:32px}.team-actions{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.active-team-label{font-family:var(--font-body);font-size:11px;color:var(--text-muted);font-style:italic;margin-right:4px}.action-btn{padding:6px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.action-btn:hover{background:#f0b4291a;border-color:#f0b4294d}.action-btn-danger{color:#f87171;border-color:#ef444433}.action-btn-danger:hover{background:#ef44441a;border-color:#ef444466}.action-btn-secondary{color:var(--text-muted)}.import-modal{background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:16px}.import-textarea{width:100%;min-height:120px;padding:10px;background:#0d1017;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-family:var(--font-mono);font-size:11px;resize:vertical;outline:none;margin-bottom:10px}.import-textarea::placeholder{color:var(--text-muted)}.import-textarea:focus{border-color:#f0b42980}.import-actions{display:flex;gap:8px}.import-error{color:#f87171;font-size:11px;font-family:var(--font-body);min-height:14px;margin-bottom:10px}.import-file-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.import-file-btn{display:inline-flex;align-items:center;cursor:pointer}.import-file-input{display:none}.import-file-hint{font-size:10px;color:var(--text-muted);font-family:var(--font-body)}.saved-teams-modal{background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:16px}.saved-teams-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.saved-teams-title{font-family:var(--font-display);font-size:14px;color:var(--text);margin:0}.saved-teams-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.saved-teams-empty{font-size:11px;color:var(--text-muted);font-style:italic;padding:16px;text-align:center}.saved-team-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#0d1017;border:1px solid var(--border);border-radius:8px;flex-wrap:wrap}.saved-team-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.saved-team-name{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-team-meta{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.saved-team-actions{display:flex;gap:4px;flex-wrap:wrap}.action-btn-sm{padding:4px 10px;font-size:10px}.config-section{margin-bottom:32px;background:var(--surface);border:1px solid rgba(240,180,41,.25);border-radius:16px;padding:20px;animation:fadeSlideIn .3s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.config-card{background:#0d1017;border:1px solid var(--border);border-radius:12px;padding:14px;min-width:0}.config-card-wide{grid-column:1 / -1}.config-title{font-family:var(--font-display);font-size:17px;color:var(--text);letter-spacing:.04em;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.config-desc{font-size:10px;color:var(--text-muted);margin-bottom:10px}.nature-select{width:100%;padding:8px 10px;background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:12px;outline:none;cursor:pointer;transition:border-color .2s}.nature-select:focus{border-color:#ee99ac80}.item-search{width:100%;padding:8px 10px;background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:12px;outline:none;margin-bottom:8px;transition:border-color .2s}.item-search::placeholder{color:var(--text-muted)}.item-search:focus{border-color:#f0b42980}.item-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.item-list::-webkit-scrollbar{width:3px}.item-list::-webkit-scrollbar-track{background:#0d1017}.item-list::-webkit-scrollbar-thumb{background:#2d3650;border-radius:2px}.move-search{width:100%;padding:8px 10px;background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:12px;outline:none;margin-bottom:6px;transition:border-color .2s}.move-search::placeholder{color:var(--text-muted)}.move-search:focus{border-color:#f0b42980}.move-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.move-list::-webkit-scrollbar{width:3px}.move-list::-webkit-scrollbar-track{background:#0d1017}.move-list::-webkit-scrollbar-thumb{background:#2d3650;border-radius:2px}.analysis-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.analysis-card{background:var(--surface);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px}.analysis-heading{font-family:var(--font-display);font-size:18px;color:var(--text);letter-spacing:.04em;margin-bottom:4px}.analysis-desc{font-size:10px;color:var(--text-muted);margin-bottom:12px}.type-coverage{display:flex;flex-wrap:wrap;gap:5px}.selector-section{margin-bottom:40px}.selector-search{margin-bottom:14px}.search-input{width:100%;max-width:400px;padding:10px 14px;background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text);font-family:var(--font-body);font-size:13px;outline:none;transition:border-color .2s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:#f0b42980}.selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:500px;overflow-y:auto;padding-right:4px}.selector-grid::-webkit-scrollbar{width:4px}.selector-grid::-webkit-scrollbar-track{background:var(--surface);border-radius:2px}.selector-grid::-webkit-scrollbar-thumb{background:#2d3650;border-radius:2px}.selector-card{background:var(--surface);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:8px;cursor:pointer;text-align:center;transition:all .2s;position:relative;color:inherit;font-family:inherit}.selector-card:hover:not(:disabled){border-color:#f0b42966;transform:translateY(-2px)}.selector-card.selected{border-color:#10b98180;background:#10b98114}.selector-card:disabled:not(.selected){opacity:.35;cursor:not-allowed}.selector-sprite{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));margin-bottom:4px}.selector-name{display:block;font-family:var(--font-display);font-size:13px;color:var(--text);letter-spacing:.02em;text-transform:capitalize;line-height:1.1;margin-bottom:4px}.selector-types{display:flex;gap:2px;justify-content:center;flex-wrap:wrap}.selector-type{color:#fff;font-size:7px;font-weight:700;padding:1px 4px;border-radius:2px;text-transform:uppercase}.selector-mega{position:absolute;top:4px;right:4px;font-size:7px;font-weight:700;width:14px;height:14px;border-radius:50%;background:#8b5cf64d;color:#c4b5fd;display:flex;align-items:center;justify-content:center}@media(max-width:900px){.analysis-grid,.config-grid{grid-template-columns:1fr}}@media(max-width:560px){.selector-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.builder-header{padding-bottom:20px}.builder-nav{flex-direction:column;align-items:center}.config-section{padding:14px}.config-header{flex-wrap:wrap;gap:8px;row-gap:12px}.config-pokemon-info{gap:10px;flex:1 1 auto;min-width:0}.config-pokemon-name{font-size:20px}.config-sprite{width:48px;height:48px}.form-toggle{order:3;flex-basis:100%}.config-card{padding:12px;min-width:0}.config-grid{gap:10px}}@media(max-width:400px){.config-pokemon-name{font-size:18px}.config-pokemon-types .slot-type{font-size:8px;padding:2px 6px}}.team-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.team-slot{background:var(--surface);border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden;position:relative;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}.team-slot.filled:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0006;border-color:#f0b4294d}.team-slot.active-config{border-color:#f0b42980;box-shadow:0 0 12px #f0b42926}.team-slot.empty{border-style:dashed;border-color:#ffffff1a}.team-slot.empty:hover{border-color:#f0b4294d}.team-slot .slot-art{height:100px;display:flex;align-items:center;justify-content:center;background:var(--bg)}.team-slot .slot-placeholder{font-size:28px;color:#2d3650;font-weight:300}.team-slot .slot-sprite{height:80px;width:80px;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,.6));transition:transform .2s}.team-slot.filled:hover .slot-sprite{transform:scale(1.08)}.team-slot .slot-info{padding:8px 10px 10px}.team-slot .slot-name{display:block;font-family:var(--font-display);font-size:15px;color:#fff;letter-spacing:.03em;text-transform:capitalize;line-height:1.1;margin-bottom:4px}.team-slot.empty .slot-name{color:#2d3650;font-family:var(--font-body);font-size:11px}.team-slot .slot-types{display:flex;gap:3px;flex-wrap:wrap}.slot-type{color:#fff;font-size:7px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase}.config-pokemon-types .slot-type{font-size:9px;padding:2px 7px}.team-slot .slot-calc{position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:50%;background:#3b82f6cc;color:#fff;font-size:11px;line-height:1;text-decoration:none;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:2}.team-slot.filled:hover .slot-calc{opacity:1}.team-slot .slot-remove{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;border:none;background:#ef4444cc;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:2}.team-slot.filled:hover .slot-remove{opacity:1}.coverage-item{display:flex;align-items:center;gap:3px}.coverage-type{color:#fff;font-size:8px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase}.coverage-count{font-family:var(--font-mono);font-size:9px;color:var(--text-muted)}.no-data{font-size:11px;color:var(--text-muted)}.team-stat-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.team-stat-name{font-size:9px;color:var(--text-muted);width:50px;flex-shrink:0}.team-stat-track{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden}.team-stat-fill{height:100%;border-radius:3px;transition:width .4s}.team-stat-value{font-family:var(--font-mono);font-size:10px;color:var(--text);width:28px;text-align:right}.team-slot .slot-ability{display:block;font-size:8px;color:#8b9dc3;text-transform:capitalize;margin-top:3px}.team-slot .slot-item{display:block;font-size:8px;color:var(--accent);margin-top:2px}.team-slot .slot-nature{display:block;font-size:8px;color:#ee99ac;margin-top:2px}.team-slot .slot-pts{display:block;font-family:var(--font-mono);font-size:8px;color:var(--text-muted);margin-top:2px}.team-slot .slot-moves{display:flex;flex-direction:column;gap:1px;margin-top:4px}.team-slot .slot-move{font-size:8px;color:#8b9dc3;padding-left:4px;text-transform:capitalize;line-height:1.4}.team-slot.active-config{border-color:#f0b42980;box-shadow:0 0 16px #f0b4291f}.selected-moves{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.sel-move{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:6px}.sel-move-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sel-move-name{flex:1;font-size:12px;font-weight:600;color:var(--text);text-transform:capitalize}.sel-move-info{font-family:var(--font-mono);font-size:9px;color:var(--text-muted)}.sel-move-remove{width:18px;height:18px;border-radius:50%;border:none;background:#ef444433;color:#ef4444;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.sel-move-remove:hover{background:#ef444466}.sel-move-empty{font-size:11px;color:#2d3650;padding:8px 0}.moves-count{font-family:var(--font-mono);font-size:13px;color:#10b981;font-weight:400}.mv-btn{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--surface);border:1px solid rgba(255,255,255,.05);border-radius:5px;color:var(--text);font-family:var(--font-body);font-size:11px;cursor:pointer;text-align:left;transition:all .15s}.mv-btn:hover:not(:disabled){border-color:#f0b4294d}.mv-btn:disabled{opacity:.3;cursor:not-allowed}.mv-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mv-name{flex:1;text-transform:capitalize}.mv-power{font-family:var(--font-mono);font-size:10px;color:var(--accent)}.mv-class{font-size:8px;color:var(--text-muted);font-weight:700;text-transform:uppercase}.config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.config-pokemon-info{display:flex;align-items:center;gap:12px}.config-sprite{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.config-pokemon-name{display:block;font-family:var(--font-display);font-size:24px;color:#fff;letter-spacing:.03em;text-transform:capitalize;line-height:1.1}.config-pokemon-types{display:flex;gap:4px;margin-top:4px}.config-close{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.config-close:hover{background:#ef444433;border-color:#ef444466;color:#ef4444}.ability-options{display:flex;flex-direction:column;gap:6px}.ability-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text);font-family:var(--font-body);font-size:12px;cursor:pointer;text-transform:none;text-align:left;transition:all .2s;width:100%}.ability-btn:hover{border-color:#f0b4294d}.ability-btn.selected{border-color:#10b98180;background:#10b98114}.ability-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}.ability-name{font-weight:600;text-transform:capitalize;min-width:0;overflow-wrap:anywhere}.ability-desc{font-size:10px;color:var(--text-muted);line-height:1.4;overflow-wrap:anywhere}.ability-hidden-badge{font-size:8px;font-weight:700;padding:2px 6px;border-radius:4px;background:#8b5cf626;color:#c4b5fd;border:1px solid rgba(139,92,246,.25);text-transform:uppercase;letter-spacing:.06em}.item-category-label{font-family:var(--font-display);font-size:12px;color:var(--text-muted);letter-spacing:.08em;padding:6px 4px 2px}.item-btn{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font-body);font-size:11px;cursor:pointer;text-align:left;transition:all .15s}.item-btn:hover:not(:disabled){border-color:#f0b4294d}.item-btn.selected{border-color:#10b98180;background:#10b98114}.item-btn.used{opacity:.4;cursor:not-allowed}.item-btn.item-clear{color:#ef4444;border-color:#ef444433;font-size:10px;justify-content:center}.item-btn.item-clear:hover{background:#ef444414;border-color:#ef444466}.item-name{font-weight:600;white-space:nowrap;flex-shrink:0}.item-desc{font-size:9px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-toggle{display:flex;gap:6px;align-items:center}.form-btn{padding:5px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-muted);font-family:var(--font-display);font-size:11px;letter-spacing:.04em;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.form-btn:hover{color:var(--text);border-color:#fff3}.form-btn.active{background:#f0b42926;border-color:#f0b42966;color:var(--accent)}.item-locked{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#f0b42914;border:1px solid rgba(240,180,41,.25);border-radius:8px;color:var(--text)}.item-locked-name{font-weight:700;font-size:12px;color:var(--accent)}.item-locked-desc{font-size:10px;color:var(--text-muted);line-height:1.4}.slot-mega-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;letter-spacing:.05em;background:#f0b4292e;color:var(--accent);border:1px solid rgba(240,180,41,.35);border-radius:4px;text-transform:uppercase;vertical-align:middle}.item-used-badge{font-size:7px;font-weight:700;padding:1px 5px;border-radius:3px;background:#f59e0b26;color:#f59e0b;flex-shrink:0;text-transform:uppercase}.stat-points-remaining{font-family:var(--font-mono);font-size:13px;color:#10b981}.stat-points-remaining.pts-low{color:#f59e0b}.stat-points-remaining.pts-zero{color:#ef4444}.stat-points-grid{display:flex;flex-direction:column;gap:6px}.sp-row{display:flex;align-items:center;gap:6px}.sp-label{font-family:var(--font-body);font-size:10px;font-weight:700;width:52px;flex-shrink:0}.sp-base{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);width:28px;text-align:right;flex-shrink:0}.sp-btn{width:24px;height:24px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;user-select:none}.sp-btn:hover:not(:disabled){background:#f0b42926;border-color:#f0b42966}.sp-btn.disabled{opacity:.25;cursor:not-allowed}.sp-track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden;min-width:60px}.sp-fill{height:100%;border-radius:4px;transition:width .15s}.sp-value{font-family:var(--font-mono);font-size:11px;color:var(--accent);width:24px;text-align:right;flex-shrink:0}.sp-final{font-family:var(--font-mono);font-size:11px;color:var(--text);font-weight:700;width:30px;text-align:right;flex-shrink:0}.nature-up{color:#10b981!important}.nature-down{color:#ef4444!important}.speed-table{width:100%}.speed-header{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:6px;font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:4px}.speed-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:6px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03)}.speed-col-name{font-size:11px;font-weight:600;color:var(--text);text-transform:capitalize}.speed-col{font-family:var(--font-mono);font-size:10px;color:var(--text);display:flex;align-items:center;gap:4px}.speed-bar-wrap{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.speed-bar{height:100%;border-radius:2px;transition:width .3s}.speed-note{font-size:10px;color:var(--text-muted);margin-top:8px;padding-top:6px;border-top:1px solid var(--border);text-transform:capitalize}@media(max-width:900px){.team-slots{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.team-slots{grid-template-columns:repeat(2,1fr)}.team-slot .slot-art{height:80px}.team-slot .slot-sprite{height:64px;width:64px}.speed-table{font-size:10px}.speed-col{min-width:0}.speed-bar-wrap{display:none}}@media(max-width:400px){.team-slots{grid-template-columns:repeat(2,1fr);gap:8px}.team-slot .slot-info{padding:6px 8px 8px}.team-slot .slot-name{font-size:13px}}
