*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0f1e;--surface:#141928;--card:#1c2338;--card-hover:#232c45;--border:#2a3452;--text:#e2e8f0;--text-muted:#8898aa;--text-dim:#4a5568;--red:#e53e3e;--red-hover:#fc5c5c;--blue:#3b82f6;--blue-hover:#60a5fa;--green:#22c55e;--yellow:#f59e0b;--purple:#a855f7;--ohko-sure:#ef4444;--ohko-maybe:#f97316;--2hko-sure:#eab308;--2hko-maybe:#84cc16;--3hko:#64748b;--radius:8px;--radius-lg:12px;--shadow:0 4px 24px #00000060;--transition:.15s ease}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);outline:none;font-family:inherit;font-size:14px}input:focus,textarea:focus,select:focus{border-color:var(--blue)}select option{background:var(--card)}.btn{border-radius:var(--radius);transition:background var(--transition), opacity var(--transition);white-space:nowrap;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--blue-hover)}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--card-hover)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){background:var(--red-hover)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--card);color:var(--text)}.btn-sm{padding:5px 10px;font-size:12px}.type-chip{text-transform:uppercase;letter-spacing:.5px;color:#fff;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.type-chip-sm{padding:1px 5px;font-size:10px}.type-normal{background:#8a8a78}.type-fire{background:#d45300}.type-water{background:#3d6be8}.type-grass{background:#4a9430}.type-electric{color:#1a1a00;background:#c9a800}.type-ice{color:#102020;background:#67bebe}.type-fighting{background:#962020}.type-poison{background:#8830a0}.type-ground{background:#b09030}.type-flying{background:#7060d8}.type-psychic{background:#e83870}.type-bug{background:#7a8800}.type-rock{background:#908028}.type-ghost{background:#604880}.type-dragon{background:#4c18f8}.type-dark{background:#584838}.type-steel{background:#7878a0}.type-fairy{background:#c87898}.type-stellar{background:#40b5a5}.text-input{border-radius:var(--radius);width:100%;padding:7px 10px}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#0008;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;max-width:480px;max-height:90vh;padding:28px;position:relative;overflow-y:auto}.modal-close{background:var(--card);color:var(--text-muted);border:1px solid var(--border);width:28px;height:28px;transition:color var(--transition), background var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--text);background:var(--card-hover)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal h2{margin-bottom:12px;font-size:18px}.move-tooltip-icon svg{vertical-align:middle;background:#23263a;border-radius:50%;transition:box-shadow .15s;display:inline-block}.move-tooltip-icon:hover svg{box-shadow:0 0 0 2px var(--accent,#e8d48b)}.move-tooltip{z-index:10000;color:#e6e9f2;pointer-events:none;background:#1a1d2a;border:1px solid #3a3f55;border-radius:6px;max-width:320px;padding:8px 10px;font-size:12px;line-height:1.4;position:fixed;box-shadow:0 6px 20px #00000073}.move-picker-header-row{background:var(--card);border-radius:10px;height:38px;min-height:38px;box-shadow:0 1px 4px #0001}.move-header.move-header-name{padding-left:16px}.twc-team-cell.twc-neutral{color:#e5e7eb;background:#23272f}.twc-team-cell.twc-immune{color:#fff;background:#374151}.app{flex-direction:column;gap:0;min-height:100vh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.header-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.header-icon{font-size:24px;line-height:1}.header-title{letter-spacing:.3px;font-size:16px;font-weight:700}.header-sub{color:var(--text-muted);font-size:11px}.header-center{flex:1;max-width:420px}.header-reset{flex-shrink:0}.top-nav{flex-shrink:0;gap:2px;display:flex}.top-nav-tab{color:var(--text-muted);letter-spacing:.3px;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 12px;font-size:12px;font-weight:600}.top-nav-tab:hover{color:var(--text);background:var(--bg)}.top-nav-tab-active{color:var(--text);background:var(--card);border-color:var(--border)}.top-nav-refresh{color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;margin-left:auto;padding:6px 10px;font-size:14px;transition:all .2s}.top-nav-refresh:hover:not(:disabled){color:var(--text);background:var(--bg)}.top-nav-refresh:disabled{opacity:.6;cursor:not-allowed;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.teams-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;gap:0;display:grid}.teams-vs{color:var(--border);letter-spacing:2px;border-left:1px solid var(--border);border-right:1px solid var(--border);justify-content:center;align-items:center;padding:0 16px;font-size:22px;font-weight:900;display:flex}.team-panel{background:var(--bg);min-width:0;padding:16px 20px}.team-panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.team-panel-header h2{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:13px;font-weight:700}.team-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.team-slot-drag-wrap{outline-offset:2px;border-radius:10px;outline:2px solid #0000;transition:transform .15s,box-shadow .15s,outline-color .15s;position:relative}.team-slot-drag-wrap[draggable=true]{cursor:grab}.team-slot-drag-wrap[draggable=true]:active{cursor:grabbing}.team-slot-dragging{opacity:.45}.team-slot-drop-over{outline-color:#ffd34d;box-shadow:0 0 0 4px #ffd34d33}.team-card{border:1px solid var(--border);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);background:var(--card);border-radius:10px;flex-direction:column;min-height:178px;display:flex;overflow:hidden}.team-card:hover{border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 8px 24px #00000050}.team-card-empty{background:var(--surface);cursor:default;justify-content:center;align-items:center;min-height:178px;display:flex}.team-card-empty:hover{box-shadow:none;border-color:var(--border);transform:none}.slot-empty-num{color:var(--border);-webkit-user-select:none;user-select:none;font-size:36px;font-weight:800}.card-header{align-items:center;gap:8px;min-height:38px;padding:8px 12px;display:flex}.card-name{color:#fff;text-shadow:0 1px 4px #00000070;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.2px;flex:1;font-size:13px;font-weight:800;overflow:hidden}.form-dim-label{opacity:.55;color:var(--text-muted);font-size:.9em;font-style:italic;font-weight:500}.card-name-regional{color:#ffffffc7;opacity:1}.card-header-types{flex-shrink:0;gap:3px;display:flex}.card-body{flex:1;display:flex;overflow:hidden}.card-left{flex-direction:column;flex:1;gap:4px;min-width:0;padding:8px 10px;display:flex;overflow:hidden}.card-meta-row{align-items:center;gap:5px;min-height:18px;display:flex}.card-meta-icon{color:var(--text-muted);flex-shrink:0;font-size:9px}.card-meta-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.repo-page{padding:14px 20px 22px}.repo-toolbar{align-items:center;gap:12px;margin-bottom:12px;display:flex}.repo-toolbar h2{letter-spacing:.3px;margin:0;font-size:14px;font-weight:800}.repo-count{color:var(--text-muted);font-size:12px}.repo-search{max-width:420px;margin-left:auto}.repo-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px;display:grid}.repo-card{border:1px solid var(--border);background:var(--card);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.repo-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.repo-card-id{color:var(--text-muted);font-size:11px;font-weight:700}.repo-card-name{margin:2px 0;font-size:14px;line-height:1.3}.repo-card-creator{color:var(--text-muted);font-size:12px}.repo-pokemon-list{grid-template-columns:1fr;gap:6px;display:grid}.repo-pokemon-chip{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;display:flex}.repo-pokemon-chip:hover{background:color-mix(in oklab, var(--surface), #fff 4%);border-color:#ffffff40}.repo-chip-sprite{object-fit:contain;width:28px;height:28px;image-rendering:pixelated;flex-shrink:0}.repo-chip-sprite-fallback{border:1px solid var(--border);background:color-mix(in oklab, var(--surface), #fff 3%);border-radius:6px}.repo-chip-index{color:var(--text-muted);min-width:18px;font-size:12px}.repo-chip-name{text-align:left;flex:1;font-size:12px;font-weight:600}.repo-chip-action{color:var(--text-muted);font-size:11px}.repo-card-actions{gap:8px;display:flex}@media (width<=720px){.repo-page{padding:12px}.repo-toolbar{flex-wrap:wrap}.repo-search{width:100%;max-width:none;margin-left:0}.repo-grid{grid-template-columns:1fr}.repo-chip-sprite{width:24px;height:24px}}.repo-overlay{z-index:95}.repo-modal{width:min(1120px,100vw - 32px);max-width:1120px;max-height:min(88vh,920px);padding:18px}.card-meta-empty{opacity:.5;font-size:10px;font-style:italic}.card-meta-unknown{opacity:.65}.card-meta-abilities .card-meta-text{white-space:normal;text-overflow:clip;line-height:1.25;overflow:visible}.card-ability-list{display:inline}.card-ability-possible{color:var(--text-muted);opacity:.85;font-size:10.5px;display:inline}.card-ability-sep{opacity:.5}.card-moves{flex-direction:column;flex:1;gap:3px;margin-top:2px;display:flex}.card-move{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0f;border-left:3px solid #0000;border-radius:5px;flex-shrink:0;align-items:center;gap:6px;min-height:22px;padding:3px 8px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.card-move-empty{color:var(--text-dim);border-left-color:var(--border)!important;background:#ffffff05!important}.move-type-badge{text-transform:uppercase;letter-spacing:.3px;color:#fff;border-radius:3px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:700}.card-artwork{flex-shrink:0;justify-content:center;align-items:flex-end;width:88px;padding:4px 4px 0 0;display:flex;position:relative}.card-art-img{object-fit:contain;filter:drop-shadow(0 2px 6px #00000060);cursor:pointer;width:88px;height:88px;transition:filter .2s}.card-art-img:hover{filter:drop-shadow(0 2px 10px #ffd34d99)}.card-art-shiny{filter:drop-shadow(0 0 6px #ffd34d)drop-shadow(0 2px 6px #00000060)}.card-shiny-badge{color:#ffd34d;text-shadow:0 0 4px #ffd34d88,0 1px 2px #000;pointer-events:none;font-size:14px;position:absolute;top:2px;right:2px}.card-art-placeholder{width:88px;height:88px}.card-art-mega{filter:drop-shadow(0 0 8px #b07dff)drop-shadow(0 2px 6px #4a1f8a80)}.mega-toggle{color:#e8d8ff;cursor:pointer;background:linear-gradient(135deg,#2a1550,#4a1f8a);border:1px solid #b07dff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:12px;font-weight:700;line-height:1;transition:all .15s;display:flex;position:absolute;bottom:2px;left:2px;box-shadow:0 1px 3px #00000080}.mega-toggle:hover{background:linear-gradient(135deg,#3a1d70,#5a27a8);transform:scale(1.1)}.mega-toggle-active{color:#fff;background:linear-gradient(135deg,#b07dff,#7d4dff);box-shadow:0 0 8px #b07dff,0 1px 3px #00000080}.bottom-row{flex:1;grid-template-columns:1fr 1fr;gap:0;display:grid}.battle-notes{border-right:1px solid var(--border);flex-direction:column;gap:14px;min-height:360px;padding:20px;display:flex}.battle-notes h2{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:13px;font-weight:700}.notes-input-row{align-items:flex-start;gap:8px;display:flex}.notes-textarea{border-radius:var(--radius);resize:none;flex:1;padding:8px 10px;line-height:1.5}.notes-add-btn{align-self:flex-end;padding:8px 14px}.notes-empty{color:var(--text-muted);font-size:13px;font-style:italic}.notes-list{flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.note-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.note-meta{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.note-time{color:var(--text-dim);font-size:11px}.note-remove{color:var(--text-dim);transition:color var(--transition);background:0 0;padding:0 2px;font-size:12px;line-height:1}.note-remove:hover{color:var(--red)}.note-text{word-break:break-word;font-size:13px;line-height:1.5}.note-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.note-tag{color:#fff;letter-spacing:.4px;text-transform:uppercase;border-radius:20px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.damage-calc{flex-direction:column;gap:14px;padding:20px;display:flex}.damage-calc h2{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:13px;font-weight:700}.calc-empty{color:var(--text-muted);font-size:13px;font-style:italic}.calc-fields{flex-direction:column;gap:10px;display:flex}.calc-row{grid-template-columns:90px 1fr;align-items:center;gap:10px;display:grid}.calc-row label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.calc-row select,.calc-row input{border-radius:var(--radius);width:100%;padding:6px 10px}.calc-bp-input{max-width:100px}.toggle-group{gap:4px;display:flex}.toggle-btn{background:var(--card);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);transition:background var(--transition), color var(--transition), border-color var(--transition);flex:1;padding:6px 10px;font-size:13px;font-weight:600}.toggle-btn:hover{background:var(--card-hover);color:var(--text)}.toggle-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.calc-checks{gap:16px;display:flex}.check-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.check-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--blue);cursor:pointer}.calc-result{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:8px;padding:16px 20px;display:flex}.damage-numbers{letter-spacing:.5px;font-size:22px;font-weight:800}.damage-pct{color:var(--text-muted);margin-left:8px;font-size:14px;font-weight:400}.verdict{text-transform:uppercase;letter-spacing:1.5px;color:#fff;border-radius:20px;padding:4px 14px;font-size:14px;font-weight:800}.verdict-ohko-sure{background:var(--ohko-sure)}.verdict-ohko-maybe{background:var(--ohko-maybe)}.verdict-2hko-sure{background:var(--2hko-sure);color:#111}.verdict-2hko-maybe{background:var(--2hko-maybe);color:#111}.verdict-3hko{background:var(--3hko)}.calc-desc{color:var(--text-muted);text-align:center;word-break:break-word;max-width:100%;padding:0 6px;font-size:12px}.calc-picker{flex-direction:column;gap:6px;display:flex}.calc-picker-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.calc-picker-current{color:var(--text);text-transform:none;letter-spacing:0;font-size:13px;font-weight:600}.calc-picker-grid{flex-wrap:wrap;gap:12px;padding:10px 6px;display:flex}.calc-picker-cell{background:var(--card);border:3px solid var(--border);cursor:pointer;opacity:.55;z-index:0;border-radius:10px;justify-content:center;align-items:center;width:60px;height:60px;padding:4px;transition:transform .12s,border-color .12s,background .12s,box-shadow .15s;display:flex;position:relative}.calc-picker-cell:hover{background:var(--card-hover);opacity:.9;transform:translateY(-2px)}.calc-picker-cell.mine{border-color:#60a5fa8c}.calc-picker-cell.opp{border-color:#f871718c}.calc-picker-cell.selected{opacity:1;z-index:5;border-width:4px;transform:translateY(-2px)}.calc-picker-cell.selected.mine{background:#3b82f640;border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a,0 0 0 6px #60a5fa,0 0 14px #60a5fabf}.calc-picker-cell.selected.opp{background:#ef444440;border-color:#7f1d1d;box-shadow:0 0 0 3px #7f1d1d,0 0 0 6px #f87171,0 0 14px #f87171bf}.calc-picker-sprite{object-fit:contain;width:44px;height:44px;image-rendering:pixelated}@keyframes calc-pick-pulse{0%,to{opacity:.9}50%{opacity:.4}}.replace-modal{max-width:520px}.replace-header{text-align:center;margin-bottom:14px}.replace-sub{color:var(--text-muted);font-size:13px}.replace-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 16px;display:grid}.replace-cell{background:var(--card);border:2px solid var(--border);cursor:pointer;color:var(--text);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;transition:transform .1s,border-color .1s,background .1s;display:flex}.replace-cell:hover{border-color:var(--danger,#ef4444);background:#ef44441a;transform:translateY(-2px)}.replace-slot-num{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:11px}.replace-sprite{object-fit:contain;width:56px;height:56px;image-rendering:pixelated}.replace-name{color:var(--text);font-size:13px;font-weight:600}.replace-empty{color:var(--text-muted);padding:20px 0;font-size:12px;font-style:italic}.calc-speed{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:4px;margin-top:10px;padding:10px 14px;font-size:13px;display:flex}.calc-speed-line em{color:var(--text-muted);font-size:11px;font-style:normal}.calc-speed-verdict{text-transform:uppercase;letter-spacing:1px;border-radius:20px;align-self:flex-start;margin-top:4px;padding:4px 10px;font-size:12px;font-weight:700}.calc-speed-line.side-mine strong{color:#60a5fa}.calc-speed-line.side-opp strong{color:#f87171}.calc-speed-verdict.side-mine{color:#60a5fa;background:#3b82f638;border:1px solid #3b82f673}.calc-speed-verdict.side-opp{color:#f87171;background:#ef444438;border:1px solid #ef444473}.calc-speed-verdict.side-tied{color:#eab308;background:#eab30833;border:1px solid #eab30873}.search-wrapper{position:relative}.search-bar{align-items:center;gap:10px;display:flex}.search-input{border-radius:var(--radius);flex:1;padding:7px 12px;font-size:14px}.champions-toggle{color:var(--text-muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:12px;display:flex}.champions-toggle input{accent-color:var(--blue);cursor:pointer;background:0 0;border:none;width:14px;height:14px}.search-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:200;max-height:320px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto}.search-result{cursor:pointer;transition:background var(--transition);align-items:center;gap:8px;padding:6px 12px;font-size:14px;display:flex}.search-result:hover,.search-result-active{background:var(--card-hover)}.confirm-modal{max-width:440px;padding:22px 24px}.confirm-title{margin:0 0 10px;font-size:18px}.confirm-message{color:var(--text-muted);margin:0 0 18px;line-height:1.4}.confirm-input{background:var(--surface-2,#1b1d24);border:1px solid var(--border,#2a2d36);width:100%;color:var(--text,#e0dbc2);box-sizing:border-box;border-radius:6px;outline:none;margin:10px 0 14px;padding:8px 12px;font-size:14px;display:block}.confirm-input:focus{border-color:var(--accent,#5c7fff)}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-actions kbd{border:1px solid var(--border);background:#0004;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px}.search-more-hint{color:var(--text-muted);text-align:center;border-top:1px dashed var(--border);pointer-events:none;background:#0002;padding:6px 12px;font-size:11px;font-style:italic}.result-sprite{width:40px;height:40px;image-rendering:pixelated}.roster-badge{color:var(--yellow);margin-left:auto;font-size:13px}.search-error{color:var(--red);margin-top:4px;font-size:12px}.pokemon-modal{max-width:520px}.pokemon-browser-modal{flex-direction:column;width:95vw;max-width:1100px;max-height:90vh;display:flex}.pb-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.pb-header h2{flex:none;margin:0;font-size:16px}.pb-count{color:var(--text-muted);flex:1;font-size:11px}.pb-controls{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.pb-view-btns{flex-wrap:wrap;gap:4px;display:flex}.pb-search{width:100%}.pb-toggles{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pb-sort-btns{gap:4px;display:flex}.pb-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding-right:4px;display:grid;overflow-y:auto}.pb-entry{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;text-align:center;color:var(--text);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 10px;font-size:11px;line-height:1.2;transition:background .12s,border-color .12s;display:flex;position:relative}.pb-entry:hover{background:var(--card-hover,#2a2a2a);border-color:var(--accent,#f6c90e)}.pb-num{color:var(--text-dim);letter-spacing:.5px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px}.pb-sprite{object-fit:contain;width:72px;height:72px}.pb-name{word-break:break-word;max-width:100%;font-size:12px;font-weight:600}.pb-types{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.pb-star{color:var(--accent,#f6c90e);font-size:11px;position:absolute;top:4px;right:5px}.pb-overflow{text-align:center;opacity:.6;grid-column:1/-1;margin:16px 0;font-size:12px}.pb-loading{text-align:center;opacity:.6;padding:16px}.pm-header{align-items:center;gap:16px;margin-bottom:18px;display:flex}.pm-sprite{width:100px;height:100px;image-rendering:pixelated;flex-shrink:0}.pm-title h2{margin-bottom:6px;font-size:22px;font-weight:800}.type-chips{flex-wrap:wrap;gap:6px;display:flex}.pm-bst{color:var(--text-muted);margin-top:6px;font-size:12px}.pm-stats{flex-direction:column;gap:5px;margin-bottom:18px;display:flex}.stat-label{color:var(--text-muted);text-align:right;text-transform:uppercase;font-size:11px;font-weight:700}.stat-num{text-align:right;font-size:13px;font-weight:700}.stat-bar-bg{background:var(--bg);border-radius:4px;height:8px;overflow:hidden}.stat-bar{border-radius:4px;height:100%;transition:width .3s}.pm-section{margin-bottom:14px}.pm-section h3{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.pm-hint{text-transform:none;letter-spacing:0;color:var(--text-dim);font-size:10px;font-style:italic;font-weight:400}.pm-ability-select{width:100%;padding:7px 10px}.pm-moves{flex-direction:column;gap:6px;display:flex}.pm-move-row{align-items:center;gap:6px;display:flex}.pm-move-color-bar{background:var(--border);border-left:4px solid var(--border);border-left-color:inherit;background-color:#0000;border-radius:2px;flex-shrink:0;width:4px;height:32px}.pm-move-input{flex:1}.pm-move-input-readonly{cursor:pointer;caret-color:#0000}.pm-move-input-readonly:hover{background:var(--card-hover)}.pm-fetching{color:var(--text-dim);text-align:center;flex-shrink:0;width:40px;font-size:12px}.pm-move-type{text-align:center;flex-shrink:0;min-width:44px}.import-hint{color:var(--text-muted);margin-bottom:10px;font-size:13px}.import-textarea{border-radius:var(--radius);resize:vertical;width:100%;margin-bottom:8px;padding:10px 12px;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.6}.import-status{color:var(--blue);margin-bottom:4px;font-size:12px}.import-error{color:var(--red);margin-bottom:4px;font-size:12px}.team-card-empty-opp{border-color:var(--border);transition:border-color var(--transition), background var(--transition);border-style:dashed}.team-card-empty-opp:hover{border-color:var(--red);background:#e53e3e0f;transform:translateY(-2px);box-shadow:0 4px 16px #e53e3e26}.slot-empty-opp{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;display:flex}.slot-empty-plus{color:var(--border);transition:color var(--transition);font-size:28px;font-weight:800;line-height:1}.team-card-empty-opp:hover .slot-empty-plus{color:var(--red)}.slot-empty-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);transition:color var(--transition);font-size:10px;font-weight:700}.team-card-empty-opp:hover .slot-empty-label{color:var(--red)}.card-move-unknown{letter-spacing:2px;font-size:13px;font-style:italic;color:var(--text-dim)!important}.card-move-count{color:var(--text-muted);text-align:center;padding-bottom:2px;font-size:10px;font-weight:700}.picker-overlay{z-index:110}.move-picker-modal{flex-direction:column;gap:0;max-width:480px;max-height:85vh;padding:22px 22px 16px;display:flex}.picker-header{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.picker-header h2{font-size:18px}.picker-pokemon-name{color:var(--text-muted);font-size:13px;font-style:italic}.picker-sub{color:var(--text-dim);margin-bottom:10px;font-size:11px}.picker-search{width:100%;margin-bottom:10px;padding:8px 12px}.move-picker-list{flex-direction:column;flex:1;gap:2px;min-height:0;max-height:380px;display:flex;overflow-y:auto}.move-picker-item{background:var(--card);text-align:left;transition:background var(--transition), border-color var(--transition);color:var(--text);border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13px;display:flex}.move-picker-item:hover{background:var(--card-hover);border-color:var(--border)}.picker-move-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.picker-method-badge{color:#fff;letter-spacing:.3px;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.picker-type-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.picker-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:13px;font-style:italic}.picker-legend{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;margin-top:6px;padding-top:10px;display:flex}.picker-legend-item{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:flex}.pm-move-clear,.pm-move-browse{transition:background var(--transition), color var(--transition);background:0 0;border-radius:4px;flex-shrink:0;padding:3px 5px;font-size:13px;line-height:1}.pm-move-clear{color:var(--text-dim)}.pm-move-browse{color:var(--text-muted)}.pm-move-clear:hover{color:var(--red);background:#ef444433}.pm-move-browse:hover{background:var(--card-hover);color:var(--text)}.quick-add-modal{max-width:420px}.qa-header{margin-bottom:12px}.qa-header h2{margin-bottom:4px;font-size:18px}.qa-sub{color:var(--text-muted);font-size:12px;font-style:italic}.qa-search-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.qa-input{flex:1;padding:8px 12px}.qa-filter-toggle{color:var(--text-muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:12px;display:flex}.qa-filter-toggle input{accent-color:var(--blue);cursor:pointer}.qa-results{border:1px solid var(--border);border-radius:var(--radius);list-style:none;overflow:hidden}.qa-result{cursor:pointer;border-bottom:1px solid var(--border);transition:background var(--transition);align-items:center;gap:10px;padding:8px 14px;font-size:14px;display:flex}.qa-result:last-child{border-bottom:none}.qa-result:hover,.qa-result-active{background:var(--card-hover)}.qa-sprite{width:44px;height:44px;image-rendering:pixelated;flex-shrink:0}.qa-name{flex:1;font-weight:600}.qa-empty{color:var(--text-muted);padding:8px 0;font-size:12px;font-style:italic}.header-spacer{flex:1}.builder-page{flex-direction:column;gap:12px;padding:14px 20px;display:flex}.builder-top{align-items:center;gap:12px;display:flex}.builder-search{flex:1;max-width:520px}.builder-main{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.builder-team-col,.builder-boxes-col{min-width:0}.builder-weakness{margin-top:8px}.boxes-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:10px;max-height:720px;padding:10px;display:flex;overflow:hidden}.boxes-tabs{border-bottom:1px solid var(--border);gap:4px;padding-bottom:8px;display:flex}.boxes-tab{color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 10px;font-size:12px;font-weight:600}.boxes-tab:hover{color:var(--text);background:var(--bg)}.boxes-tab-active{color:var(--text);background:var(--card);border-color:var(--border)}.boxes-empty{color:var(--text-dim);padding:8px 4px;font-size:12px;font-style:italic}.boxes-count{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.boxes-list{border-radius:6px;flex-direction:column;gap:6px;min-height:40px;transition:background .15s;display:flex;overflow-y:auto}.boxes-drop-zone{border-radius:6px;min-height:60px;transition:background .15s}.boxes-drop-zone-over,.boxes-list.boxes-drop-zone-over{background:#63b3ed1f;outline:2px dashed #63b3ed}.boxes-entry{cursor:grab;border:1px solid var(--border);background:var(--card);border-radius:6px;grid-template-columns:48px 1fr auto;align-items:center;gap:8px;padding:6px;display:grid}.boxes-entry-art-img,.boxes-entry-art-placeholder{object-fit:contain;width:48px;height:48px}.boxes-entry-art-placeholder{background:var(--bg);border-radius:4px}.boxes-entry-info{min-width:0}.boxes-entry-name{font-size:13px;font-weight:700}.boxes-entry-types{gap:3px;margin-top:2px;display:flex}.boxes-entry-meta{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.boxes-entry-item-sprite{width:16px;height:16px}.boxes-entry-moves{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex}.boxes-entry-move{background:var(--bg);border-radius:3px;padding:1px 4px;font-size:10px}.boxes-entry-actions{flex-direction:column;gap:3px;display:flex}.boxes-entry-delete{color:var(--red)}.bt-actions{margin-bottom:6px}.bt-list{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.bt-entry{border:1px solid var(--border);background:var(--card);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.bt-entry-top{justify-content:space-between;align-items:center;display:flex}.bt-entry-name{font-size:13px;font-weight:700}.bt-entry-date{color:var(--text-muted);font-size:11px}.bt-entry-sprites{gap:4px;display:flex}.bt-entry-sprite,.bt-entry-sprite-empty{object-fit:contain;width:36px;height:36px}.bt-entry-sprite-empty{background:var(--bg);opacity:.4;border-radius:4px}.bt-entry-actions{gap:4px;display:flex}.bt-entry-delete{color:var(--red);margin-left:auto}.bt-rename-input{padding:2px 6px;font-size:13px}.twc{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.twc-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.twc-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:13px;font-weight:700}.twc-mode-switch{gap:2px;display:flex}.twc-mode-switch button{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:4px;padding:3px 10px;font-size:11px}.twc-mode-switch button.on{background:var(--accent,#5c7fff);color:#fff;border-color:#0000}.twc-mega-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.twc-mega-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.twc-mega-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;display:flex}.twc-mega-btn:hover{color:#c4b5fd;border-color:#a78bfa}.twc-mega-btn-on{color:#c4b5fd;background:#3b1f6a;border-color:#7c3aed}.twc-mega-sprite{object-fit:contain;width:24px;height:24px}.twc-weather-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.twc-weather-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:20px;padding:3px 10px;font-size:10px}.twc-weather-btn:hover{color:#93c5fd;border-color:#60a5fa}.twc-weather-btn-on{color:#bfdbfe;background:#1e3a8a;border-color:#3b82f6}.twc-empty-msg{color:var(--text-dim);font-size:12px;font-style:italic}.twc-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.twc-table{flex-direction:column;gap:2px;width:100%;min-width:420px;display:flex}.twc-row{grid-template-columns:80px repeat(6,minmax(0,1fr));align-items:center;gap:2px;width:100%;min-width:0;display:grid}.twc-row.twc-row-team{grid-template-columns:80px minmax(0,1fr)}.twc-unified-header,.twc-unified-row{grid-template-columns:70px minmax(60px,90px) repeat(6,minmax(28px,1fr))}.twc-pokemon-label,.twc-unified-row .twc-cell:not(.twc-team-cell){min-width:0}.twc-slot-sprite{aspect-ratio:1;max-width:100%;height:auto}.twc-fixed-height-row{align-items:stretch;min-height:22px}.twc-fixed-height-row>.twc-cell,.twc-fixed-height-row>.twc-type-label{justify-content:center;align-items:center;min-height:0;display:flex}.twc-fixed-height-row>.twc-team-cell{flex-direction:row}.twc-header .twc-slot-label{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:2px 0;font-size:10px}.twc-slot-inner{flex-direction:column;align-items:center;gap:2px;display:flex}.twc-slot-sprite{object-fit:contain;width:36px;height:36px}.twc-slot-mega-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.4}.twc-slot-mega-btn.on{color:#c4b5fd;background:#3b1f6a;border-color:#7c3aed}.twc-team-label{color:var(--text-muted);text-align:center;font-size:11px;font-weight:700}.twc-team-cell{white-space:nowrap;flex-flow:row;justify-content:center;align-items:center;column-gap:4px;padding:0 2px;display:flex;overflow:hidden}.twc-tc-w{color:#ef4444;white-space:nowrap;font-size:10px;font-weight:800}.twc-tc-r{color:#22c55e;white-space:nowrap;font-size:10px;font-weight:800}.twc-tc-i{color:#d5d5d5;white-space:nowrap;font-size:10px;font-weight:800}.twc-tc-n{color:var(--text-dim);opacity:.4;font-size:10px}.twc-type-label{text-transform:uppercase;letter-spacing:.5px;text-align:center;padding:2px 4px;font-size:10px}.twc-cell{text-align:center;background:var(--bg);color:var(--text-muted);border-radius:3px;padding:4px 0;font-size:11px;font-weight:700}.twc-empty{opacity:.25}.twc-neutral{color:#e5e7eb;background:#23272f}.twc-resist{color:#22c55e;background:#16a34a33}.twc-resist-2{color:#22c55e;background:#16a34a55}.twc-weak{color:#ef4444;background:#dc262644}.twc-weak-2{color:#fca5a5;background:#dc262677}.twc-immune,.twc-row:not(.twc-row-team) .twc-immune{color:#e5e7eb;background:#374151}.poke-tooltip{z-index:9999;pointer-events:none;background:#1a1d2a;border:1px solid #3a3f55;border-radius:8px;max-width:240px;padding:8px 10px;position:fixed;box-shadow:0 4px 16px #00000080}.poke-tooltip-name{text-transform:capitalize;color:var(--yellow,#e8d48b);margin-bottom:4px;font-size:11px;font-weight:700}.poke-tooltip-desc{color:#c8cde4;font-size:11px;line-height:1.45}.poke-tooltip-loading{color:var(--text-dim);font-size:10px;font-style:italic}.history-page{flex-direction:column;flex:1;min-height:0;display:flex}.history-page-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:14px;padding:14px 20px;display:flex}.history-page-title{margin:0;font-size:18px;font-weight:700}.history-page-overall{color:var(--text-muted);align-items:center;gap:3px;font-size:13px;font-weight:600;display:flex}.history-page-actions{gap:6px;margin-left:auto;display:flex}.history-page-body{flex:1;grid-template-columns:260px 1fr;gap:0;min-height:0;display:grid}.history-sidebar{border-right:1px solid var(--border);background:var(--bg);padding:14px;overflow-y:auto}.history-sidebar-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.history-sidebar-empty{color:var(--text-dim);margin-top:8px;font-size:12px;font-style:italic}.history-session-btn{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;font-size:13px;display:flex}.history-session-btn:hover{border-color:var(--accent)}.history-session-active{border-color:var(--accent);background:var(--surface)}.history-session-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.history-session-rec{flex-shrink:0;font-size:12px;font-weight:700}.history-session-pulse{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s infinite session-pulse;box-shadow:0 0 #22c55e}@keyframes session-pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.history-main{padding:16px 20px;overflow-y:auto}.bh-entry-controls{align-items:center;gap:8px;margin-left:auto;display:flex}.bh-inline-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:4px;font-size:11px;display:flex}.bh-inline-select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 4px;font-size:12px}.bh-entry-none{border-left-color:var(--text-dim)}.bh-badge-none{background:var(--border);color:var(--text-muted)}.bh-entry-notes{background:var(--bg);border-radius:6px;align-items:baseline;gap:6px;margin-top:8px;padding:6px 10px;font-size:12px;display:flex}.bh-entry-notes-label{color:var(--text-muted);font-weight:600}.bh-entry-notes-more{color:var(--text-dim)}.bhd-notes{margin:4px 0 14px 20px;padding:0;font-size:13px}.bhd-notes li{margin-bottom:4px}.stats-placeholder{max-width:440px}.stats-placeholder-body{color:var(--text-muted);margin:8px 0 0;font-size:13px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.record-wrap{position:relative}.record-display{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);letter-spacing:.5px;cursor:pointer;color:inherit;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:flex}.record-display:hover{border-color:var(--accent)}.record-display-readonly{cursor:default}.record-display-readonly:hover{border-color:var(--border)}.record-w{color:var(--green)}.record-sep{color:var(--text-dim)}.record-l{color:var(--red)}.record-menu{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);z-index:200;flex-direction:column;gap:2px;min-width:130px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0006}.record-menu-item{color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:6px 10px;font-size:12px}.record-menu-item:hover{background:var(--surface)}.record-menu-divider{background:var(--border);height:1px;margin:4px 0}.record-menu-reset{color:var(--red)}.btn-battle{color:#fff;background:#d97706}.btn-battle:hover:not(:disabled){background:#b45309}.pm-stats-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.pm-stats-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:11px;font-weight:700}.pm-sp-total{color:var(--text-muted);transition:color var(--transition);font-size:11px;font-weight:700}.pm-sp-full{color:var(--green)}.stat-row{grid-template-columns:34px 34px 1fr 84px;align-items:center;gap:8px;display:grid}.stat-boosted{color:#4ade80!important}.stat-reduced{color:#f87171!important}.stat-sp-ctrl{justify-content:flex-end;align-items:center;gap:3px;display:flex}.stat-sp-btn{background:var(--card);border:1px solid var(--border);cursor:pointer;width:20px;height:20px;color:var(--text-muted);transition:background var(--transition), color var(--transition);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.stat-sp-btn:hover:not(:disabled){background:var(--card-hover);color:var(--text)}.stat-sp-btn:disabled{opacity:.3;cursor:not-allowed}.stat-sp-val{text-align:center;min-width:22px;color:var(--text);font-size:12px;font-weight:700}.team-panel-header-right{align-items:center;gap:8px;display:flex}.battle-slot-count{color:var(--text-dim);letter-spacing:.3px;font-size:11px;font-weight:700}.battle-slot-count-ok{color:var(--green)}.team-card-benched{opacity:.38;filter:grayscale(60%);cursor:pointer!important}.team-card-benched:hover{opacity:.6;filter:grayscale(30%)}.team-card-active{box-shadow:0 0 0 2px var(--green), 0 4px 16px #00000040;border-color:var(--green)!important}.card-active-badge{color:var(--green);text-align:center;padding-top:2px;font-size:11px;font-weight:800}.form-pill{color:#fff;cursor:pointer;z-index:2;background:#0000008c;border:1px solid #ffffff4d;border-radius:8px;justify-content:center;align-items:center;height:14px;padding:0 5px;font-size:8px;font-weight:700;line-height:1;display:inline-flex;position:absolute;bottom:2px;left:2px}.form-pill:hover{background:#000c}.form-pill-mega{background:#38215cbf;border-color:#b07dffb3;left:auto;right:2px}.form-pill-active{background:#7a4acceb;border-color:#d1baffd9}.form-pill-inline{position:static;bottom:auto;left:auto;right:auto}.pill-options-modal{max-width:360px;padding-top:18px}.pill-options-overlay{z-index:12000}.pill-options-list{flex-direction:column;gap:8px;max-height:52vh;margin-top:10px;display:flex;overflow:auto}.pill-options-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--text);text-align:left;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.pill-options-item:hover{background:var(--card-hover)}.pill-options-item-current{border-color:var(--green);opacity:.8}.pill-options-current{color:var(--green);font-size:11px;font-weight:700}.card-nature{color:var(--text-muted);font-style:italic}.teams-vs-battle{color:var(--yellow);font-size:18px}.end-battle-modal{text-align:center;max-width:340px}.end-battle-sub{color:var(--text-muted);margin-bottom:20px;font-size:13px}.end-battle-btns{justify-content:center;gap:12px;margin-bottom:14px;display:flex}.btn-win{background:var(--green);color:#fff;padding:10px 28px;font-size:15px}.btn-win:hover:not(:disabled){background:#16a34a}.btn-lose{background:var(--red);color:#fff;padding:10px 28px;font-size:15px}.btn-lose:hover:not(:disabled){background:var(--red-hover)}.end-battle-skip{color:var(--text-dim);margin:0 auto;font-size:11px;display:block}kbd{letter-spacing:0;vertical-align:middle;background:#00000059;border:1px solid #ffffff26;border-radius:3px;margin-left:4px;padding:1px 5px;font-family:inherit;font-size:10px;line-height:1.4;display:inline-block}.item-sprite{width:24px;height:24px;image-rendering:pixelated;flex-shrink:0}.card-item-sprite{width:20px;height:20px;image-rendering:pixelated;flex-shrink:0}.item-search-wrapper{width:100%;position:relative}.item-search-field{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);align-items:center;gap:6px;padding:0 10px;display:flex}.item-search-field:focus-within{border-color:var(--blue)}.item-search-current{width:24px;height:24px;image-rendering:pixelated;flex-shrink:0}.item-search-input{background:0 0;border:none;flex:1;padding:7px 0}.item-search-input:focus{border:none;outline:none}.item-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:200;list-style:none;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow:hidden}.item-result{cursor:pointer;transition:background var(--transition);align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.item-result:hover,.item-result-active{background:var(--card-hover)}.item-result-sprite{width:24px;height:24px;image-rendering:pixelated;flex-shrink:0}.item-sprite-placeholder{flex-shrink:0;width:24px;height:24px}.lib-entry-item-sprite{width:16px;height:16px;image-rendering:pixelated;vertical-align:middle;margin-right:3px}.lib-modal{max-width:620px}.box-modal-header{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.box-modal-count{color:var(--text-muted);font-size:12px}.box-modal-empty{color:var(--text-muted);text-align:center;padding:28px 0;font-size:13px;font-style:italic}.box-modal-list{flex-direction:column;gap:8px;max-height:65vh;display:flex;overflow-y:auto}.lib-modal-entry{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);align-items:center;gap:12px;padding:10px 12px;display:flex}.box-modal-entry:hover{border-color:var(--blue)}.box-modal-art{flex-shrink:0;justify-content:center;align-items:center;width:64px;display:flex}.box-modal-art-img{object-fit:contain;width:64px;height:64px;image-rendering:pixelated}.box-modal-art-placeholder{background:var(--bg);border-radius:6px;width:64px;height:64px}.box-modal-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.box-modal-name{font-size:14px;font-weight:800}.box-modal-types{flex-wrap:wrap;gap:4px;display:flex}.box-modal-meta{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.box-modal-meta-tag{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:10px;display:inline-flex}.box-modal-item-sprite{width:16px;height:16px;image-rendering:pixelated}.box-modal-sp{color:var(--green);border-color:var(--green)}.box-modal-moves{flex-wrap:wrap;gap:3px;margin-top:2px;display:flex}.box-modal-move{border-left:2px solid var(--border);color:#ffffffbf;background:#ffffff0f;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.lib-modal-actions{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.box-modal-delete{color:var(--text-dim)!important}.box-modal-delete:hover{color:var(--red)!important;border-color:var(--red)!important}.team-card-empty-mine{border-color:var(--border);transition:border-color var(--transition), background var(--transition);border-style:dashed}.team-card-empty-mine:hover{border-color:var(--blue);background:#3b82f60f;transform:translateY(-2px);box-shadow:0 4px 16px #3b82f61f}.team-card-empty-mine .slot-empty-plus{color:var(--border);transition:color var(--transition)}.team-card-empty-mine:hover .slot-empty-plus{color:var(--blue)}.team-card-empty-mine .slot-empty-label{transition:color var(--transition)}.team-card-empty-mine:hover .slot-empty-label{color:var(--blue)}.box-picker-modal{max-width:680px;max-height:min(92vh,900px)}.box-section-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:700}.box-entries{flex-direction:column;gap:6px;max-height:220px;margin-bottom:4px;display:flex;overflow-y:auto}.box-entries-full{max-height:min(62vh,560px);padding-right:2px}.box-entry{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);align-items:center;gap:0;display:flex;overflow:visible}.box-entry:hover{border-color:var(--blue)}.box-entry-main{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.box-entry-main:hover{background:var(--card-hover)}.box-entry-sprite{width:40px;height:40px;image-rendering:pixelated;flex-shrink:0}.box-entries-full .box-entry-main{align-items:center;gap:12px;min-height:72px;padding:12px 14px}.box-entries-full .box-entry-sprite{width:56px;height:56px}.box-entries-full .box-entry-name{font-size:14px}.box-entries-full .box-entry-detail{white-space:normal;text-overflow:clip;font-size:12px;overflow:visible}.box-entries-full .box-entry-remove{align-self:stretch;padding:0 12px}.box-entry-info{flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.box-entry-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.box-entry-detail{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.25;display:block;overflow:hidden}.box-entry-remove{color:var(--text-dim);height:100%;min-height:72px;transition:color var(--transition), background var(--transition);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0 12px;font-size:12px;display:flex}.box-entry-remove:hover{color:var(--red);background:#e53e3e1a}.pm-lib-btn{color:var(--text-dim);font-size:11px}.pm-lib-saved{color:var(--yellow)!important;border-color:var(--yellow)!important}.bh-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:13px;font-style:italic}.bh-list{flex-direction:column;gap:8px;max-height:60vh;display:flex;overflow-y:auto}.bh-entry{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.bh-entry-win{border-left:3px solid var(--green)}.bh-entry-loss{border-left:3px solid var(--red)}.bh-entry-top{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;display:flex}.bh-badge{letter-spacing:1px;color:#fff;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:800}.bh-badge-win{background:var(--green)}.bh-badge-loss{background:var(--red)}.bh-date{color:var(--text-muted);flex:1;font-size:11px}.bh-delete{color:var(--text-dim);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:2px 4px;font-size:12px}.bh-delete:hover{color:var(--red)}.bh-teams{flex-direction:column;gap:6px;padding:8px 12px;display:flex}.bh-team-row{align-items:center;gap:8px;display:flex}.bh-team-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;width:26px;font-size:10px;font-weight:700}.bh-sprites{align-items:center;gap:2px;display:flex}.bh-sprite{width:36px;height:36px;image-rendering:pixelated}.bh-sprite-empty{background:var(--bg);opacity:.3;border-radius:4px;width:36px;height:36px}.bhd-wrapper{flex-direction:column;gap:12px;max-height:70vh;display:flex;overflow-y:auto}.bhd-top{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:12px;display:flex}.bhd-section-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:700}.bhd-team{flex-direction:column;gap:8px;display:flex}.bhd-poke{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);gap:12px;padding:10px;display:flex}.bhd-poke-left{flex-shrink:0;justify-content:center;align-items:center;width:64px;display:flex}.bhd-poke-art{object-fit:contain;width:64px;height:64px;image-rendering:pixelated}.bhd-poke-right{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.bhd-poke-name{font-size:14px;font-weight:800}.bhd-poke-types{flex-wrap:wrap;gap:4px;display:flex}.bhd-poke-meta{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.bhd-meta-tag{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px}.bhd-sp{color:var(--green);border-color:var(--green)}.bhd-poke-moves{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.bhd-move{border-left:3px solid var(--border);background:#ffffff0f;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.bhd-poke-stats{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px 10px;margin-top:4px;padding-top:4px;display:flex}.bhd-stat{align-items:center;gap:3px;font-size:10px;display:flex}.bhd-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:700}.bhd-stat-num{font-weight:700}.bhd-stat-sp{color:var(--green);font-size:9px;font-weight:700}@media (width<=700px){.app-header{flex-wrap:wrap;gap:6px;padding:8px 12px}.header-brand{flex:1;order:1;min-width:0}.header-icon{font-size:20px}.header-title{font-size:14px}.header-sub,.header-spacer{display:none}.header-right{flex-wrap:wrap;flex-shrink:0;order:2;align-items:center;gap:4px;display:flex}.header-right .btn{padding:5px 8px;font-size:11px}.top-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);order:3;gap:0;width:100%;overflow:hidden}.top-nav-tab{text-align:center;box-shadow:1px 0 0 var(--border);border-radius:0;flex:1;justify-content:center;padding:8px 4px;font-size:11px}.top-nav-tab-active{background:var(--card);color:var(--text)}.top-nav-refresh{box-shadow:1px 0 0 var(--border);border-radius:0;padding:6px 10px;font-size:13px;margin-left:0!important}.teams-row{grid-template-columns:1fr}.teams-vs{border-left:none;border-right:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);letter-spacing:4px;padding:6px 0;font-size:16px}.team-panel{padding:12px}.team-card,.team-card-empty{min-height:130px}.card-art-img{width:64px;height:64px}.card-artwork{width:64px}.card-art-placeholder{width:64px;height:64px}.bottom-row{grid-template-columns:1fr}.battle-notes{border-right:none;border-bottom:1px solid var(--border);min-height:200px}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;width:100%!important;max-width:100%!important;max-height:92dvh!important;margin:0!important}.modal-overlay{align-items:flex-end;padding:0}.repo-overlay{z-index:95;align-items:flex-end;padding:0}.repo-modal{padding:10px;border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;width:100%!important;max-width:100%!important;max-height:92dvh!important;margin:0!important}.pm-stats,.stat-row{gap:4px}.stat-label{min-width:30px;font-size:11px}.stat-num{font-size:11px}.search-dropdown{left:0;right:0}.search-wrapper{width:100%}.lib-modal-entry{flex-direction:column;align-items:flex-start;gap:8px}.lib-modal-actions{flex-direction:row}.bhd-teams{flex-direction:column;gap:12px}.builder-page{gap:10px;padding:10px 12px}.builder-top{flex-wrap:wrap;gap:8px}.builder-search{flex:100%;max-width:100%}.builder-main{grid-template-columns:1fr}.boxes-panel{max-height:400px}.battle-view{padding:8px 10px 16px}.battle-bar{grid-template-columns:1fr;gap:8px;position:relative;top:0}.battle-bar-right{justify-self:start}.battle-progress{flex-wrap:wrap;gap:8px}.battle-progress-hint{text-align:left;flex:100%}.battle-main{grid-template-columns:1fr}.battle-main-right{min-height:auto;max-height:none}.field-row{grid-template-columns:1fr;gap:10px}.field-vs{display:none}.field-card-empty{min-height:120px}.back-row{grid-template-columns:1fr}.back-section-cards{grid-template-columns:repeat(2,1fr)}.battle-insights{grid-template-columns:1fr}.battle-page-pre{padding:8px 10px 16px}.battle-sub-bar{flex-wrap:wrap;gap:8px}.battle-sub-right{width:100%;margin-left:0}.battle-sub-hint{flex:100%}.pre-battle-teams{grid-template-columns:1fr}.pre-battle-vs{display:none}.pre-battle-grid{grid-template-columns:repeat(2,1fr)}.history-page-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.history-page-actions{width:100%;margin-left:0}.history-page-body{grid-template-columns:1fr}.history-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:180px}.reveal-tera-menu{max-width:calc(100vw - 24px);left:0;right:auto}}@media (width<=420px){.auth-email,.battle-progress-hint{display:none}.field-toggle{padding:4px 6px;font-size:10px}.field-ctrl select{padding:2px 4px;font-size:11px}.move-picker-list{max-height:280px}.history-sidebar{max-height:140px}}.auth-status{align-items:center;gap:6px;display:flex}.auth-email{color:var(--green);font-size:11px;font-weight:600}.sync-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.sync-dot.syncing{background:var(--yellow);animation:1.2s ease-in-out infinite sync-pulse}.sync-dot.error{background:var(--red)}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.25}}.auth-modal{max-width:380px}.auth-modal h2{margin-bottom:4px}.auth-modal-sub{color:var(--text-muted);margin-bottom:20px;font-size:13px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:5px;display:flex}.auth-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.auth-submit{width:100%;margin-top:4px}.auth-error{color:var(--red);border-radius:var(--radius);background:#e53e3e1a;border:1px solid #e53e3e4d;padding:8px 12px;font-size:12px}.auth-switch{width:100%;color:var(--text-muted);cursor:pointer;text-align:center;transition:color var(--transition);background:0 0;border:none;margin-top:16px;font-size:12px;display:block}.auth-switch:hover{color:var(--text)}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-loading{color:var(--text-muted);font-size:14px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:0;width:100%;max-width:380px;padding:36px 32px;display:flex}.login-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.login-icon{font-size:28px;line-height:1}.login-title{letter-spacing:.3px;font-size:18px;font-weight:800}.login-sub{color:var(--text-muted);font-size:12px}.login-heading{color:var(--text-muted);margin-bottom:20px;font-size:15px;font-weight:700}.login-form{flex-direction:column;gap:14px;display:flex}.login-field{flex-direction:column;gap:5px;display:flex}.login-field label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-size:11px;font-weight:700}.login-submit{width:100%;margin-top:6px;padding:10px;font-size:14px}.login-error{color:var(--red);border-radius:var(--radius);background:#e53e3e1a;border:1px solid #e53e3e4d;margin:0;padding:8px 12px;font-size:12px}.login-switch{width:100%;color:var(--text-muted);cursor:pointer;text-align:center;transition:color var(--transition);background:0 0;border:none;margin-top:18px;padding:0;font-size:12px;display:block}.login-switch:hover{color:var(--text)}.login-switch-dim{opacity:.55;margin-top:8px}.login-switch-dim:hover{opacity:1;color:var(--text-muted)}.login-footer{flex-direction:column;display:flex}.login-pw-wrap{align-items:center;display:flex;position:relative}.login-pw-input{flex:1;padding-right:36px}.login-pw-eye{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute;right:8px}.login-pw-eye:hover{color:var(--text)}.login-pw-eye svg{width:16px;height:16px}.login-reset-sent{color:var(--green);border-radius:var(--radius);text-align:center;background:#48bb781a;border:1px solid #48bb784d;margin:8px 0 16px;padding:12px;font-size:13px}.analysis-row{border-bottom:1px solid var(--border);grid-template-columns:3fr 2fr;gap:0;display:grid}@media (width<=1100px){.analysis-row{grid-template-columns:1fr}}.matchup-panel,.speed-panel{background:var(--bg);min-width:0;padding:16px 20px}.matchup-panel{border-right:1px solid var(--border)}.matchup-panel h2,.speed-panel h2{letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;font-size:14px;font-weight:700}.matchup-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.matchup-legend{color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.matchup-legend .swatch{vertical-align:middle;border-radius:2px;width:12px;height:12px;margin-right:2px;display:inline-block}.swatch.none{background:#2a3452}.swatch.light{background:#2f4a3a}.swatch.medium{background:#7a6a1a}.swatch.heavy{background:#8a3a1a}.swatch.ko{background:#b02020}.matchup-empty,.speed-empty{color:var(--text-muted);margin:0;font-size:13px}.matchup-grid-wrap{overflow-x:auto}.matchup-grid{border-collapse:separate;border-spacing:2px;table-layout:fixed}.matchup-grid th,.matchup-grid td{text-align:center;vertical-align:middle;padding:0}.matchup-grid th{background:0 0;font-weight:400}.matchup-corner{width:140px}.matchup-head{text-align:left;align-items:center;gap:6px;min-width:120px;padding:2px 6px;display:flex}.matchup-sprite{width:32px;height:32px;image-rendering:pixelated;flex:0 0 32px}.matchup-sprite-empty{background:#ffffff0a;border-radius:4px}.matchup-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.matchup-row-head{padding-left:0!important}.matchup-row-head.mine .matchup-head{border-left:3px solid #3d6be8}.matchup-row-head.opp .matchup-head{border-left:3px solid #d45300}.matchup-cell{width:100%;min-width:90px;color:var(--text);cursor:default;border-radius:3px;padding:6px 4px;font-size:11px;line-height:1.3;display:block}.matchup-cell-empty{background:0 0}.matchup-cell.none{color:var(--text-muted);background:#2a3452}.matchup-cell.light{background:#2f4a3a}.matchup-cell.medium{background:#7a6a1a}.matchup-cell.heavy{background:#8a3a1a}.matchup-cell.ko{background:#b02020;font-weight:700}.matchup-cell-pct{font-weight:700}.matchup-cell-move{opacity:.85;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;overflow:hidden}.matchup-reverse{margin-top:14px}.matchup-reverse>summary{cursor:pointer;color:var(--text-muted);padding:6px 0;font-size:12px}.matchup-reverse[open]>summary{color:var(--text)}.speed-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.speed-controls{color:var(--text-muted);flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.speed-ctrl{align-items:center;gap:4px;display:inline-flex}.speed-ctrl select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:3px;padding:2px 4px;font-size:11px}.speed-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.speed-row{background:var(--surface);border-radius:3px;grid-template-columns:28px 32px 1fr auto auto;align-items:center;gap:8px;padding:3px 6px;font-size:12px;display:grid}.speed-row.mine{border-left:3px solid #3d6be8}.speed-row.opp{border-left:3px solid #d45300}.speed-pos{color:var(--text-muted);text-align:right;font-weight:700}.speed-sprite{width:28px;height:28px;image-rendering:pixelated}.speed-sprite-empty{background:#ffffff0a;border-radius:3px}.speed-name{color:var(--text)}.speed-side{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.speed-value{color:var(--text);text-align:right;min-width:40px;font-weight:700}.speed-mods{color:var(--text-muted);grid-column:2/-1;margin-top:-2px;font-size:10px}.battle-view{flex-direction:column;gap:14px;padding:12px 14px 24px;display:flex}.battle-bar{z-index:25;background:linear-gradient(#1d2230,#171b26);border:1px solid #2a3142;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:10px 14px;display:grid;position:sticky;top:56px;box-shadow:0 6px 18px #00000040}.battle-bar-section{align-items:center;gap:10px;display:flex}.battle-bar-field{flex-wrap:wrap;justify-content:center;gap:8px}.field-ctrl{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.field-ctrl select{color:var(--text);background:#202636;border:1px solid #38405a;border-radius:5px;padding:3px 6px;font-size:12px}.field-ctrl-label{text-transform:uppercase;letter-spacing:.5px;font-size:10px}.field-toggle{color:var(--text-dim);cursor:pointer;white-space:nowrap;background:#202636;border:1px solid #38405a;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:600}.field-toggle:hover{color:var(--text);background:#2a334a}.field-toggle.active{color:#cfe1ff;background:#3b4f73;border-color:#6eabff}.field-toggle.active.my{border-color:var(--green);color:#a7ebbb;background:#1f3d28}.field-toggle.active.opp{border-color:var(--red);color:#f1a7b3;background:#3d1f27}.battle-bar-right{justify-self:end;gap:12px}.battle-bar-record{color:var(--text);font-size:14px;font-weight:700}.battle-progress{background:#151923;border:1px dashed #2a3142;border-radius:8px;align-items:center;gap:14px;padding:6px 12px;font-size:12px;display:flex}.lineup-counter{color:var(--text-muted);background:#202636;border:1px solid #38405a;border-radius:12px;padding:3px 9px;font-weight:700}.lineup-counter.ok{color:#a7ebbb;border-color:var(--green);background:#1f3d28}.battle-progress-hint{color:var(--text-muted);text-align:center;flex:1;font-style:italic}.battle-main{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:14px;display:grid}.battle-main-left{flex-direction:column;gap:14px;min-width:0;display:flex}.battle-main-right{min-height:400px;max-height:calc(100vh - 180px);display:flex}.battle-main-right .battle-notes{flex-direction:column;flex:1;display:flex;overflow:hidden}.battle-main-right .notes-list{flex:1;overflow-y:auto}.field-row{background:#141821;border:1px solid #2a3142;border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:14px;padding:14px;display:grid}.field-side{flex-direction:column;gap:8px;min-width:0;display:flex}.field-side-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);font-size:11px;font-weight:700}.field-side-mine .field-side-label{color:#7fd39a}.field-side-opp .field-side-label{color:#e6899d}.field-side-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-vs{color:var(--yellow);letter-spacing:2px;align-self:center;font-size:22px;font-weight:800}.field-card-empty{text-align:center;background:#161b26;border:2px dashed #3a4258;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:170px;padding:18px 12px;display:flex}.field-card-opp{border-color:#4b2a35}.field-card-mine{border-color:#254a36}.field-empty-label{color:var(--text);font-size:13px;font-weight:700}.field-empty-hint{color:var(--text-dim);max-width:160px;font-size:11px;line-height:1.3}.field-empty-pos{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:#202636;border:1px solid #38405a;border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700}.back-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.back-side{background:#141821;border:1px solid #2a3142;border-radius:10px;flex-direction:column;gap:10px;padding:10px 12px;display:flex}.back-section{flex-direction:column;gap:6px;display:flex}.back-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-size:10px;font-weight:700}.back-section-cards{grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;display:grid}.back-section-cards-wrap{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.back-card-empty{text-align:center;background:#161b26;border:2px dashed #3a4258;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:100px;padding:14px 6px;display:flex}.back-card-empty-opp{border-color:#4b2a35}.back-card-empty-mine{border-color:#254a36}.back-empty-pos{color:var(--text);background:#202636;border:1px solid #38405a;border-radius:8px;padding:2px 6px;font-size:10px;font-weight:700}.back-empty-hint{color:var(--text-dim);font-size:10px;line-height:1.25}.back-empty-msg{color:var(--text-dim);grid-column:1/-1;padding:8px;font-size:11px;font-style:italic}.back-assign-wrap{flex-direction:column;gap:4px;display:flex}.back-assign-btn{color:var(--yellow);cursor:pointer;background:0 0;border:1px solid #4a4230;border-radius:6px;padding:3px 6px;font-size:10px;font-weight:700}.back-assign-btn:hover{color:#ffd66e;background:#2e2819}.back-bench-row{flex-direction:column;gap:4px;margin-top:8px;display:flex}.back-bench-cards{flex-wrap:wrap;gap:6px;display:flex}.bench-mini{background:var(--surface-2,#1b1d24);border:1px solid var(--border,#2a2d36);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:2px;min-width:60px;max-width:72px;padding:5px 6px;transition:border-color .15s;display:flex}.bench-mini:hover{border-color:var(--accent,#7c9fff)}.bench-mini-mine:hover{border-color:#7c9fff}.bench-mini-opp:hover{border-color:#ff7c7c}.bench-mini-empty{opacity:.6;border-style:dashed;justify-content:center;min-height:58px}.bench-mini-q{color:var(--text-dim);font-size:18px}.bench-mini-sprite{object-fit:contain;width:40px;height:40px}.bench-mini-name{text-align:center;font-size:9px;font-weight:600;line-height:1.2}.bench-mini-types{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.type-chip-xs{border-radius:3px;padding:1px 3px;font-size:7px}.field-drop-zone{display:contents}.field-drop-zone.field-drop-zone-over>*{outline:2px dashed var(--accent,#5c7fff);outline-offset:2px;border-radius:6px}.battle-team-zone{background:var(--surface-2,#1b1d24);border:1px solid var(--border,#2a2d36);border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.team-card-lg{min-height:220px}.team-card-sm{font-size:11px}.team-card-sm .card-name{font-size:12px}.team-card-sm .card-art-img{width:56px;height:56px}.team-card-sm .card-moves{gap:2px}.team-card-sm .card-move{padding:2px 4px;font-size:10px}.team-card-sm .card-meta-row{font-size:10px}.lineup-badge{text-transform:uppercase;letter-spacing:.5px;color:#fff;z-index:3;border-radius:10px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:-8px;left:-8px;box-shadow:0 2px 6px #00000080}.lineup-badge-lead{background:linear-gradient(135deg,#f59e0b,#d97706)}.lineup-badge-back{background:linear-gradient(135deg,#6366f1,#4338ca)}.team-card-lineup{position:relative;overflow:visible}.card-reveal-slot{background:#0f131b;border-top:1px dashed #2a3142;padding:6px 8px}.reveal-controls{flex-direction:column;gap:5px;display:flex}.reveal-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.reveal-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);min-width:38px;font-size:9px;font-weight:700}.reveal-empty{color:var(--text-dim);font-size:10px;font-style:italic}.reveal-move-chips{flex-wrap:wrap;flex:1;gap:4px;display:flex}.reveal-move-chip{color:#e0dbc2;background:#2a3142;border-radius:8px;padding:2px 7px;font-size:10px;font-weight:600}.reveal-add-btn{color:var(--yellow);cursor:pointer;background:0 0;border:1px dashed #4a4230;border-radius:8px;padding:1px 7px;font-size:10px;font-weight:700}.reveal-add-btn:hover{background:#2e2819}.reveal-flags{gap:6px}.reveal-flag{color:var(--text-dim);cursor:pointer;white-space:nowrap;background:#181d27;border:1px solid #2a3142;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:600}.reveal-flag:hover{color:var(--text);background:#202636}.reveal-flag.on{color:#c9e0ff;background:#253a56;border-color:#3b5d85}.reveal-flag.used{color:#e3c9ff;background:#4a2e67;border-color:#7b4fb0}.reveal-clear{color:var(--red);border-color:#4a2a33}.reveal-tera-wrap{position:relative}.reveal-tera-menu{z-index:50;background:#161b26;border:1px solid #2a3142;border-radius:8px;min-width:260px;padding:10px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 24px #00000080}.reveal-tera-grid{grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:8px;display:grid}.tera-pick{text-transform:capitalize;color:#fff;cursor:pointer;background:#202636;border:1px solid #0000;border-radius:5px;padding:3px 2px;font-size:9px;font-weight:700}.tera-pick.sel{outline:2px solid #fff}.reveal-tera-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.tera-used-label{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.matchup-scope-switch{border:1px solid #38405a;border-radius:6px;gap:0;margin-right:8px;display:inline-flex;overflow:hidden}.matchup-scope-switch button{color:var(--text-dim);cursor:pointer;background:#181d27;border:none;border-right:1px solid #38405a;padding:4px 10px;font-size:11px;font-weight:700}.matchup-scope-switch button:last-child{border-right:none}.matchup-scope-switch button.on{color:#cfe1ff;background:#2a334a}.matchup-scope-switch button:hover:not(.on){background:#202636}.calc-linked-note{color:var(--text-dim);background:#151923;border-radius:6px;padding:4px 8px;font-size:11px;font-style:italic}.speed-panel-compact .speed-list{max-height:280px;overflow-y:auto}.speed-linked{color:var(--yellow);letter-spacing:0;margin-left:4px;font-size:10px;font-weight:600}.battle-insights{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:14px;display:grid}@media (width<=1200px){.battle-main{grid-template-columns:1fr}.battle-main-right{max-height:none}.battle-insights,.back-row{grid-template-columns:1fr}}.battle-page-pre{flex-direction:column;gap:14px;padding:12px 16px 24px;display:flex}.battle-sub-bar{background:var(--surface-2,#1b1d24);border:1px solid var(--border,#2a2d36);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.battle-sub-right{gap:8px;margin-left:auto;display:flex}.battle-phase-chip{color:#e9efff;background:linear-gradient(135deg,#2a3a6b,#3b5bb5);border:1px solid #5070c8;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.battle-sub-hint{color:var(--text-dim,#8a93a5);font-size:13px}.battle-banner{color:#f2d694;background:#3a2d17;border:1px solid #6a4e22;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.pre-battle-teams{grid-template-columns:1fr auto 1fr;align-items:start;gap:16px;display:grid}.pre-battle-side{flex-direction:column;gap:8px;display:flex}.pre-battle-side-header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pre-battle-side-header h3{color:var(--text);margin:0;font-size:14px;font-weight:700}.pre-battle-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pre-battle-vs{color:var(--text-dim,#707786);letter-spacing:2px;align-self:center;font-size:28px;font-weight:900}.battle-pool-row{grid-template-columns:1fr 1fr;gap:12px;margin:10px 0;display:grid}.battle-pool{background:var(--surface-2,#1b1d24);border:1px solid var(--border,#2a2d36);opacity:.9;border-radius:10px;padding:8px 10px}.battle-pool-opp{border-color:#6a3b3b}.battle-pool-header{color:var(--text-dim,#8a93a5);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:12px;font-weight:700}.ohko-panel{background:var(--surface-2,#1b1d24);border:1px solid var(--border,#2a2d36);border-radius:10px;padding:10px 12px}.ohko-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.ohko-title{color:var(--text);font-size:14px;font-weight:700}.ohko-body{max-height:340px;margin-top:10px;overflow:auto}.ohko-empty{color:var(--text-dim,#8a93a5);margin:8px 0 0;font-size:13px}.ohko-table{border-collapse:collapse;width:100%;font-size:12px}.ohko-table th{text-align:left;color:var(--text-dim,#8a93a5);border-bottom:1px solid var(--border,#2a2d36);background:var(--surface-2,#1b1d24);padding:4px 6px;font-weight:600;position:sticky;top:0}.ohko-table td{border-bottom:1px solid #242730;padding:4px 6px}.ohko-pct{text-align:right;font-variant-numeric:tabular-nums}.ohko-ko{color:var(--text-dim,#8a93a5);font-size:11px}.ohko-guaranteed td{color:#6fe78a;font-weight:600}.ohko-possible td{color:#e7d46f}@media (width<=1100px){.pre-battle-teams{grid-template-columns:1fr}.pre-battle-vs{display:none}.battle-pool-row{grid-template-columns:1fr}}
