:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12151c;--panel:#1a1f2a;--panel-2:#222939;--border:#2e3850;--text:#e8ecf4;--muted:#8b94a8;--accent:#5aa9ff;--accent-2:#7ee0a3;--danger:#ff7a7a;--warn:#ffd166;--male:#6db3ff;--female:#ff9bb8;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.app{max-width:1200px;margin:0 auto;padding:16px}header{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:16px;display:flex}header h1{margin:0;font-size:26px}.accent{color:var(--accent)}header nav{align-items:center;gap:6px;margin-left:auto;display:flex}.lang-select{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-right:8px;padding:6px 10px;display:inline-flex}.lang-select .lang-globe{font-size:14px;line-height:1}.lang-select select{color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;font-size:14px}.lang-select select option{background:var(--panel);color:var(--text)}header nav button{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 18px;font-size:14px}header nav button.active{background:var(--accent);border-color:var(--accent);color:#0b0e14;font-weight:600}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;padding:14px}.panel h2,.panel h3{margin:0 0 10px;font-size:16px}.two-cols{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}@media (width<=900px){.two-cols{grid-template-columns:1fr}}.muted{color:var(--muted);font-size:13px}.pad{padding:0 4px}input,select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:7px;outline:none;padding:7px 10px;font-size:14px}input:focus{border-color:var(--accent)}.search{width:100%;margin-bottom:10px}.inv-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.inv-toolbar .search{margin-bottom:0}.inv-toolbar .search.grow{flex:1;width:auto;min-width:180px}.sort-control{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.pal-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;max-height:60vh;display:grid;overflow-y:auto}.pal-cell{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:7px 8px;display:flex;position:relative}.pal-icon{object-fit:contain;image-rendering:auto;vertical-align:middle;flex-shrink:0}.pal-icon-fallback{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.8em;font-weight:700;display:inline-flex}.pal-cell-icon{margin-bottom:2px}.pal-cell:hover{border-color:var(--accent)}.pal-cell.owned{border-color:var(--accent-2);background:#1d2b26}.pal-cell .dex,.pal-select .dex,.dropdown-item .dex,.species-head .dex{color:var(--muted);font-size:11px}.species-head .dex{flex-shrink:0}.pal-name{font-size:13px}.count-badge{background:var(--accent-2);color:#0b0e14;border-radius:10px;padding:0 6px;font-size:11px;font-weight:700;position:absolute;top:5px;right:6px}.species-list{flex-direction:column;gap:10px;display:flex}.species-group{border:1px solid var(--border);border-radius:9px}.species-group:focus-within{z-index:5;position:relative}.species-head{border-bottom:1px solid var(--border);background:#232b3d;border-radius:8px 8px 0 0;align-items:center;gap:10px;padding:7px 10px;display:flex}.species-head strong{font-size:14px}.species-head .link-btn{margin-left:0}.species-head .link-btn.danger{margin-left:auto}.member-list{flex-direction:column;gap:6px;padding:8px;display:flex}.member-tag{color:var(--muted);min-width:20px;font-size:11px}.owned-row{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;position:relative}.owned-row:focus-within{z-index:10}.owned-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.gender-toggle{gap:2px;display:flex}.gender-btn{background:var(--panel);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:6px;width:28px;height:26px}.gender-btn.active{color:#0b0e14;background:var(--muted);font-weight:700}.gender-btn.male.active{background:var(--male)}.gender-btn.female.active{background:var(--female)}.junk-label{color:var(--muted);align-items:center;gap:5px;margin-left:auto;font-size:12px;display:flex}.junk-label select{padding:3px 6px}.row-actions{align-items:center;gap:8px;display:flex}.row-actions .link-btn{margin-left:0}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:12px}.link-btn.danger{color:var(--danger)}h2 .link-btn{margin-left:10px}.passive-picker{position:relative}.chips{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.chip{border:1px solid var(--border);background:#2a3247;border-radius:20px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;display:inline-flex}.chip.small{padding:1px 8px;font-size:11px}.chip.rank-2{border-color:#4d7fbd}.chip.rank-3,.chip.rank-4{border-color:#c9a84c}.chip-x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.chip-input{background:0 0;border:none;min-width:110px;padding:4px 2px}.rank-dot{background:#667;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.rank-dot.rank-2{background:#4d7fbd}.rank-dot.rank-3,.rank-dot.rank-4{background:#c9a84c}.dropdown{z-index:20;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;width:100%;min-width:230px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 8px 22px #00000073}.dropdown-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.dropdown-item:hover,.dropdown-item.active{background:var(--panel)}.dropdown-empty{color:var(--muted);padding:8px 12px;font-size:13px}.dropdown-more{color:var(--muted);border-top:1px solid var(--border);background:var(--panel-2);padding:6px 12px;font-size:11px;position:sticky;bottom:0}.pal-select{align-items:center;display:flex;position:relative}.pal-select input{width:100%}.clear-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:15px;position:absolute;right:6px}.controls{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.control{flex-direction:column;gap:5px;min-width:210px;display:flex}.control.grow{flex:1}.exclude-row{flex-basis:100%}.exclude-field{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.exclude-field .pal-select{min-width:220px;max-width:260px}.exclude-field .chips{flex:1;padding-top:3px}.control label{color:var(--muted);font-size:12px}button.primary{background:var(--accent);color:#0b0e14;cursor:pointer;border:none;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:700}button.primary:disabled{opacity:.45;cursor:default}button.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600}button.secondary:hover:not(:disabled){border-color:var(--accent)}button.secondary:disabled{opacity:.45;cursor:default}.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.collapsible:hover{color:var(--accent)}.chevron{color:var(--muted);font-size:12px}.saved-list{flex-direction:column;gap:6px;display:flex}.saved-item{align-items:stretch;gap:6px;display:flex}.saved-load{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;flex-wrap:wrap;flex:1;align-items:center;gap:12px;padding:8px 12px;font-size:14px;display:flex}.saved-load:hover{border-color:var(--accent)}.saved-passives{color:var(--accent-2);font-size:13px}.saved-meta{margin-left:auto;font-size:12px}.saved-item .link-btn.danger{margin-left:0;padding:0 10px;font-size:16px}.route-results{grid-template-columns:300px 1fr;align-items:start;gap:14px;display:grid}.route-list{flex-direction:column;gap:8px;display:flex;position:sticky;top:12px}.route-list-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 2px;font-size:13px}.route-card{text-align:left;background:var(--panel);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.route-card:hover:not(.empty){border-color:var(--accent)}.route-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.route-card.empty{cursor:default;opacity:.55}.route-card-title{font-size:15px;font-weight:600}.route-card-metrics{font-size:14px}.route-card-metrics .dot{color:var(--muted);margin:0 6px}.route-card-badges{gap:6px;min-height:0;display:flex}.route-card-badges:empty{display:none}.route-card .badge{border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600;line-height:1.4}.route-card .badge.steps{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.route-card .badge.eggs{color:#7bd88f;background:#7bd88f38}.route-card-tag{font-size:12px;line-height:1.35}.route-detail .panel{margin-bottom:0}@media (width<=900px){.route-results{grid-template-columns:1fr}.route-list{flex-flow:wrap;position:static}.route-list-title{flex-basis:100%}.route-card{flex:180px}}.plan-summary{gap:18px;margin-bottom:10px;font-size:14px;display:flex}.steps{flex-direction:column;gap:10px;margin:0;padding-left:22px;display:flex}.step{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.step-parents{flex-wrap:wrap;align-items:stretch;gap:8px;font-size:13px;display:flex}.cross{color:var(--muted);align-items:center;font-size:15px;display:flex}.step-child{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}.child-arrow{color:var(--muted);font-size:16px}.parent.child{background:color-mix(in srgb, var(--accent) 12%, var(--panel));border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.tag.child-tag{background:var(--accent);color:#0b0e14}.parent{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:5px 9px;display:inline-flex}.parent-body{flex-direction:column;gap:2px;min-width:0;display:flex}.parent-top{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.parent-name{font-weight:600}.parent-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.parent-chips:empty{display:none}.prob{color:var(--accent-2);margin-left:10px;font-size:12px}.tag{text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.tag.own{background:var(--accent-2);color:#0b0e14}.tag.bred{background:var(--accent);color:#0b0e14}.tag.capture{background:var(--warn);color:#0b0e14}.clean-note{color:var(--muted);font-size:11px}.junk-chip{color:#e0a0a0;background:#3a2a2a;border:1px solid #6b4a4a;border-radius:20px;margin-left:4px;padding:1px 8px;font-size:11px}.step.cleanup{border-color:var(--accent-2)}.cleanup-note{color:var(--accent-2);margin-bottom:6px;font-size:12px;line-height:1.4}.gnote{color:var(--warn);font-size:12px;font-style:normal}.warn{color:var(--warn);font-size:13px}.warn.small{margin-top:4px;font-size:12px}.pair-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;max-height:360px;padding:2px;display:grid;overflow-y:auto}.pair-card{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex}.pair-side{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.pair-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.pair-x{color:var(--muted);flex-shrink:0;font-size:13px}footer{text-align:center;margin-top:24px}footer a{color:var(--accent)}.save-import{margin-bottom:16px}.drop-zone{border:2px dashed var(--border);text-align:center;color:var(--muted);cursor:pointer;border-radius:8px;padding:22px;transition:border-color .15s;display:block}.drop-zone:hover{border-color:var(--accent)}.drop-zone.busy{opacity:.6;cursor:progress}.drop-zone input[type=file]{display:none}.import-result{flex-direction:column;gap:8px;margin-top:12px;display:flex}.import-actions{flex-wrap:wrap;gap:8px;display:flex}p.warn{color:#e07a5f}.ok-note{color:#7fbf7f}
