:root{--text:#d7dbff;--text-h:#f8f9ff;--bg:#0b1020;--bg-2:#171429;--surface:#131727c7;--surface-2:#1e1934b8;--border:#a088ff3d;--muted:#a9b0d6;--accent:#8b5cf6;--accent-hover:#a855f7;--accent-2:#22d3ee;--danger:#f87171;--shadow:0 16px 44px #080a188c;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--text:#d7dbff;--text-h:#f8f9ff;--bg:#0b1020;--bg-2:#171429;--surface:#131727c7;--surface-2:#1e1934b8;--border:#a088ff3d;--muted:#a9b0d6;--accent:#8b5cf6;--accent-hover:#a855f7;--accent-2:#22d3ee;--danger:#fca5a5;--shadow:0 16px 44px #080a188c}}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(circle at 10% 5%, #8b5cf62e, transparent 30%), radial-gradient(circle at 85% 15%, #22d3ee33, transparent 28%), linear-gradient(145deg, var(--bg) 0%, var(--bg-2) 45%, #0d1325 100%);margin:0}#root{min-height:100svh}h1,h2{color:var(--text-h);margin:0;font-weight:600}p{margin:0}.muted{color:var(--muted)}.page{max-width:880px;margin:0 auto;padding:2rem 1.25rem 4rem}.page-header{margin-bottom:1.75rem}.page-title{letter-spacing:-.02em;font-size:1.75rem}.page-subtitle{margin-top:.35rem}.ruleset-disclosure{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--bg));border-radius:8px;margin-top:.85rem;padding:.65rem .75rem}.ruleset-disclosure-summary{cursor:pointer;color:var(--text-h);font-weight:600;list-style:none}.ruleset-disclosure-summary::-webkit-details-marker{display:none}.ruleset-disclosure-body{margin-top:.35rem}.ruleset-disclosure-body p+p{margin-top:.5rem}.ruleset-disclosure-body code{font-family:var(--mono);font-size:.9em}.card{z-index:1;background:linear-gradient(145deg, var(--surface) 0%, var(--surface-2) 100%);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;margin-bottom:1.25rem;padding:1.25rem 1.25rem 1.35rem;position:relative}.card-opponent-team{z-index:5}.card-title{margin-bottom:1rem;font-size:1.1rem}.label{color:var(--text-h);margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.hint{color:var(--muted);margin-top:.35rem;font-size:.85rem}.error-text{color:var(--danger)}.input{border:1px solid var(--border);width:100%;max-width:100%;color:var(--text-h);font:inherit;background:#0b0f1ea6;border-radius:10px;padding:.55rem .65rem}.input:focus{outline:2px solid color-mix(in srgb, var(--accent-2) 35%, transparent);border-color:color-mix(in srgb, var(--accent) 65%, var(--border))}.input:disabled{opacity:.65}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.55rem 1rem;font-weight:600;transition:transform .12s,box-shadow .16s,background-color .16s,border-color .16s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 45%, var(--accent-2) 100%);color:#fff;box-shadow:0 8px 20px #8b5cf659}.btn-primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 24px #8b5cf66b}.btn-secondary{color:var(--text-h);border-color:var(--border);background:#0e122199}.btn-secondary:not(:disabled):hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:#181d33bf;transform:translateY(-1px)}.team-slots{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-bottom:1rem;display:grid}@media (width<=720px){.team-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=400px){.team-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}.team-slot{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 86%, var(--bg));border-radius:12px;flex-direction:column;align-items:stretch;min-width:0;padding:.45rem .35rem .5rem;display:flex}.team-slot-index{font-family:var(--mono);color:var(--muted);text-align:center;margin-bottom:.25rem;font-size:.7rem;font-weight:600}.team-slot-body{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.team-slot-sprite{object-fit:contain;width:104px;max-width:100%;height:104px}.team-slot-sprite-fallback{background:color-mix(in srgb, var(--border) 55%, transparent);border-radius:8px;width:104px;max-width:100%;height:104px}.team-slot-sprite-fallback--empty{opacity:.45}.team-slot-types{flex-wrap:wrap;justify-content:center;gap:.25rem;display:flex}.type-badge{letter-spacing:.02em;border-radius:999px;padding:.15rem .4rem;font-size:.65rem;font-weight:700;line-height:1.2;display:inline-block}.type-badge-row{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.type-badge-row--inline{vertical-align:middle;display:inline-flex}.team-slot-name{color:var(--text-h);word-break:break-word;max-width:100%;font-size:.72rem;font-weight:600;line-height:1.2}.team-slot-name--empty{font-weight:500}.team-slot-stats{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--surface) 94%, var(--bg));border-radius:8px;gap:.12rem;width:100%;margin:.15rem 0 0;padding:.35rem .4rem;display:grid}.team-slot-stat-row{grid-template-columns:auto 1fr;align-items:center;gap:.35rem;min-width:0;display:grid}.team-slot-stat-row dt{color:var(--muted);letter-spacing:.03em;margin:0;font-size:.58rem;font-weight:700}.team-slot-stat-row dd{text-align:right;letter-spacing:.03em;color:var(--text-h);font-size:.63rem;line-height:1.15;font-family:var(--mono);margin:0}.stat-stars{white-space:nowrap;grid-auto-columns:.72em;grid-auto-flow:column;justify-content:end;display:inline-grid}.stat-stars-full{color:#fbbf24}.stat-stars-empty{color:color-mix(in srgb, var(--muted) 45%, #0f172a)}.team-slot-actions{justify-content:center;margin-top:.35rem;display:flex}.btn-slot-remove{width:100%;max-width:100%;padding:.3rem .45rem;font-size:.7rem}.team-slot-meta{text-align:center;max-width:100%;margin-top:.15rem;font-size:.62rem;line-height:1.2}.search-field{margin-top:.25rem}.search-input-wrap{position:relative}.search-results{z-index:20;border:1px solid var(--border);max-height:280px;box-shadow:var(--shadow);background:#151a2d;border-radius:12px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.search-results-pad{padding:.75rem}.search-results-pad .link-button{margin-top:.5rem}.search-result-row{border:0;border-bottom:1px solid var(--border);width:100%;max-width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;padding:.55rem .75rem}.search-result-row:last-child{border-bottom:0}.search-result-row:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.search-result-name{color:var(--text-h);font-weight:600;display:block}.search-result-types{flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.2rem;display:flex}.loader{align-items:center;gap:.35rem;display:inline-flex}.loader-dot{background:var(--accent);border-radius:999px;width:8px;height:8px;animation:.9s ease-in-out infinite bounce}.loader-dot:nth-child(2){animation-delay:.12s}.loader-dot:nth-child(3){animation-delay:.24s}@keyframes bounce{0%,80%,to{opacity:.6;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.state{border-radius:10px;padding:.75rem .85rem;font-size:.95rem}.state-error{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--text-h)}.state-empty{border:1px dashed var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--bg))}.state-empty-title{color:var(--text-h);font-weight:600}.state-empty-desc{color:var(--muted);margin-top:.25rem}.analysis-top{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface) 86%, transparent);border-radius:12px;grid-template-columns:minmax(0,220px) auto;align-items:end;gap:1rem;padding:.75rem;display:grid}@media (width<=720px){.analysis-top{grid-template-columns:1fr}}.analysis-action{justify-content:flex-end;display:flex}@media (width<=720px){.analysis-action{justify-content:stretch}.analysis-action .btn{width:100%}}.analysis-limit .input{max-width:220px}.analysis-filters{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface) 86%, transparent);border-radius:12px;gap:.75rem;margin-top:.85rem;padding:.75rem;display:grid}.analysis-filters-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:700}.checkbox-row{cursor:pointer;color:var(--text);align-items:flex-start;gap:.5rem;display:flex}.checkbox-row input{margin-top:.2rem}.analysis-divisions{gap:.45rem;display:grid}.analysis-divisions-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.analysis-divisions-actions{gap:.65rem;display:flex}.link-button{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:.12em;background:0 0;border:none;border-radius:8px;padding:0;font-weight:600;text-decoration:underline}.link-button:hover{color:var(--accent-hover)}.link-button:disabled{opacity:.45;cursor:not-allowed}.division-checkboxes{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.division-checkbox{cursor:pointer;align-items:center;gap:.35rem;font-size:.95rem;display:inline-flex}.stack-top{margin-top:.85rem}.center-pad{justify-content:center;padding:1.25rem 0;display:flex}.opponent-summary{margin-bottom:1rem}.opponent-summary-title{color:var(--text-h);margin-bottom:.35rem;font-weight:600}.opponent-order{color:var(--text);margin:0;padding-left:1.2rem}.recommendation-list{gap:.85rem;display:grid}.recommendation-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--bg));border-radius:14px;padding:.85rem .95rem;box-shadow:inset 0 0 0 1px #ffffff06}.recommendation-card-sprite-wrap{flex-shrink:0}.recommendation-card-sprite{object-fit:contain;width:72px;max-width:100%;height:72px}.recommendation-card-sprite-fallback{background:color-mix(in srgb, var(--border) 55%, transparent);border-radius:8px;width:72px;max-width:100%;height:72px}.recommendation-card-header{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.recommendation-rank{font-family:var(--mono);color:var(--muted);font-size:.9rem}.recommendation-title{min-width:0}.recommendation-name{color:var(--text-h);word-break:break-word;font-weight:700}.recommendation-meta{font-size:.85rem}.recommendation-division{margin-top:.2rem;font-size:.74rem}.recommendation-stats{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:color-mix(in srgb, var(--surface) 94%, var(--bg));border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:.2rem .55rem;margin:0;padding:.45rem .55rem;display:grid}.recommendation-stat-row{grid-template-columns:auto 1fr;align-items:center;gap:.35rem;min-width:0;display:grid}.recommendation-stat-row dt{color:var(--muted);margin:0;font-size:.66rem;font-weight:700}.recommendation-stat-row dd{text-align:right;letter-spacing:.03em;color:var(--text-h);font-size:.72rem;line-height:1.15;font-family:var(--mono);margin:0}.recommendation-details{margin-top:.65rem}.recommendation-details summary{cursor:pointer;color:var(--accent);font-weight:600}@media (width<=720px){.recommendation-card-header{grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"rank sprite title""stats stats stats";align-items:start}.recommendation-card-sprite-wrap{grid-area:sprite;justify-self:start}.recommendation-rank{grid-area:rank;align-self:center}.recommendation-title{grid-area:title;align-self:center}.recommendation-stats{grid-area:stats;width:100%}}.table-scroll{margin-top:.35rem;overflow:auto}.matchup-table{border-collapse:collapse;width:100%;font-size:.85rem}.matchup-table th,.matchup-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.45rem .5rem}.matchup-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.matchup-cards{display:none}.matchup-card{border:1px solid color-mix(in srgb, var(--border) 88%, transparent);background:color-mix(in srgb, var(--surface) 94%, var(--bg));border-radius:12px;padding:.7rem .8rem}.matchup-card-opponent{color:var(--text-h);word-break:break-word;font-weight:700}.matchup-card-metrics{gap:.45rem;margin:.65rem 0 0;display:grid}.matchup-card-row{grid-template-columns:minmax(0,110px) minmax(0,1fr);align-items:start;gap:.65rem;display:grid}.matchup-card-row dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.72rem;font-weight:700}.matchup-card-row dd{min-width:0;color:var(--text-h);word-break:break-word;margin:0}@media (width<=720px){.matchup-table-desktop{display:none}.matchup-cards{gap:.65rem;margin-top:.35rem;display:grid}}
