.battle-tools-section,.empirical-tools-section{padding-top:55px;padding-bottom:45px;scroll-margin-top:95px}
.battle-model-badge,.battle-confidence{display:inline-flex;padding:5px 10px;border-radius:6px;background:#f8efdc;color:#876c35;font-size:12px;white-space:nowrap}
.battle-notice{padding:14px 18px;background:#f5effb;border:1px solid #e4d8ef;border-radius:10px;font-size:14px;line-height:1.9;margin-bottom:18px}
.battle-panel,.battle-plan,.battle-rank-section{background:#fffdfd;border:1px solid #e5dce9;border-radius:14px;padding:25px;margin-bottom:20px}
.battle-form-grid,.battle-parameter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.battle-form-grid label,.battle-settings label{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.7;min-width:0}
.battle-opponent{grid-column:1/-1}
.battle-form-grid input,.battle-form-grid select,.battle-settings input,.battle-settings select,.battle-settings textarea,.battle-rank-controls select{width:100%;border:1px solid #d9cde2;background:#fff;border-radius:7px;min-height:46px;padding:10px 12px;font:inherit;font-size:16px;color:#584766}
.battle-opponent small,.battle-save-note{font-size:12px;color:#87758f;line-height:1.9}
.battle-gimmicks{border:0;padding:0;display:flex;gap:18px;flex-wrap:wrap;margin:24px 0}
.battle-gimmicks legend{font-size:14px;margin-bottom:12px}
.battle-gimmicks label,.battle-owned-line label,.battle-rank-controls>label{display:flex;align-items:center;gap:8px;font-size:14px}
.battle-gimmicks input,.battle-owned-line input,.battle-rank-controls input{width:18px;height:18px;accent-color:#9271ab;flex-shrink:0}
.battle-owned-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.battle-owned-line>strong{font-size:16px}
.battle-settings{border-top:1px solid #e9dfef;border-bottom:1px solid #e9dfef;padding:18px 0;margin:18px 0}
.battle-settings summary,.battle-breakdown summary,.battle-excluded summary{cursor:pointer;font-size:14px;line-height:1.8}
.battle-settings p{font-size:13px;line-height:1.9;margin:16px 0;color:#7f6d8b}
.battle-settings small{display:block;font-size:12px;margin-top:8px;line-height:1.8;color:#86718d}
.battle-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}
.battle-rules fieldset{border:1px solid #e2d7e9;border-radius:9px;padding:13px;min-width:0}
.battle-rules legend{font-size:14px;font-weight:600}.battle-rules legend span{font-size:11px;color:#8c733b;font-weight:400}
.battle-rules label{font-size:12px;margin:9px 0}.battle-rules select{font-size:13px;padding:8px}
.battle-json-label{margin-top:20px}.battle-settings textarea{font-family:ui-monospace,monospace;font-size:13px;line-height:1.7;resize:vertical}
.battle-settings code{overflow-wrap:anywhere}.battle-settings-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.battle-calculate{min-height:48px;margin:0 0 12px}.battle-error{border:1px solid #d4a4a4;color:#9c4545;background:#fff4f2;padding:15px;border-radius:9px;margin:18px 0;font-size:14px;line-height:1.8}
.battle-empty{border:1px dashed #d7c8e3;padding:28px;border-radius:12px;text-align:center;background:#f9f5fc;margin:20px 0}
.battle-empty h3{font-size:18px;margin-bottom:10px}.battle-empty p{font-size:14px;line-height:1.9}.battle-empty .button{margin-top:18px}
.battle-result-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:28px 0 18px}.battle-result-heading h3{font-size:20px}.battle-result-heading>span{font-size:13px;color:#86758e}
.battle-plan-summary{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-bottom:20px}.battle-plan-summary h4{font-size:17px}.battle-plan-summary small{font-size:12px;color:#887393;margin-right:12px}.battle-plan-summary strong{font-family:Arial,sans-serif;font-size:32px;color:#8966a0}.battle-plan-summary p{font-size:13px;width:100%;line-height:1.8}
.battle-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.battle-pick{display:flex;flex-direction:column;text-align:left;gap:8px;padding:16px;border:1px solid #e4d7ed;border-radius:10px;background:linear-gradient(130deg,#f7f1fc,#fff);min-width:0;color:#655273;cursor:pointer;font:inherit}
.battle-pick:hover{border-color:#ab8fc0}.battle-pick>strong{font-size:17px;line-height:1.7;overflow-wrap:anywhere}.battle-pick>small{font-size:12px;line-height:1.7}.battle-pick-gimmick{font-size:12px;background:#eadff3;padding:4px 7px;border-radius:5px;align-self:flex-start}.battle-score-line{font-size:13px;display:flex;justify-content:space-between;gap:7px}.battle-score-line b{font-size:16px}.battle-pick em{font-style:normal;font-size:12px;color:#907136}.battle-confidence{align-self:flex-start;margin-top:auto}
.battle-budget{font-size:13px;line-height:1.9;margin-top:18px;color:#7c6888}.battle-breakdown,.battle-excluded{margin-top:18px;border-top:1px solid #eee5f3;padding-top:15px}.battle-breakdown p,.battle-breakdown li,.battle-excluded li{font-size:13px;line-height:1.9}.battle-breakdown ul,.battle-excluded ul{padding-left:20px;margin-top:10px}.battle-breakdown pre{max-height:300px;overflow:auto;font-size:12px;background:#f8f4fb;padding:14px;border-radius:7px;margin:12px 0}.battle-breakdown details{margin-top:10px}
.battle-rank-section{margin-top:45px}.battle-rank-section h2{font-size:23px}.battle-rank-controls{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:22px}.battle-rank-controls select{width:auto;font-size:14px}.battle-rank-scroll{overflow:auto}.battle-rank-table{border-collapse:collapse;width:100%;min-width:850px;font-size:13px}.battle-rank-table th,.battle-rank-table td{padding:14px 10px;border-bottom:1px solid #e7dfed;text-align:left;line-height:1.8}.battle-rank-table th{font-size:12px;background:#f5effa;font-weight:600}.battle-rank-table td small{display:block;font-size:11px;color:#8b7795}.battle-rank-table td button{font:inherit;color:#795e8c;background:none;border:0;text-align:left;cursor:pointer;font-weight:600}.battle-loading{padding:22px;font-size:15px;color:#876399}
@media(max-width:900px){.battle-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.battle-tools-section,.empirical-tools-section{padding-top:35px;scroll-margin-top:75px}.battle-tools-section>.section-heading h2{font-size:23px;line-height:1.6}.battle-panel,.battle-plan,.battle-rank-section{padding:18px 15px}.battle-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.battle-form-grid label{font-size:13px}.battle-opponent,.battle-form-grid label:last-child{grid-column:1/-1}.battle-gimmicks{gap:15px}.battle-gimmicks label{font-size:13px}.battle-owned-line{gap:12px}.battle-owned-line label{width:100%;font-size:13px}.battle-notice{font-size:13px;padding:13px 15px}.battle-parameter-grid{grid-template-columns:1fr 1fr;gap:12px}.battle-rules{grid-template-columns:1fr}.battle-rules fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.battle-rules legend{font-size:15px}.battle-rules label{font-size:12px;margin:4px 0}.battle-rules select{font-size:13px}.battle-calculate{width:100%;font-size:15px}.battle-settings-actions .button{font-size:12px;min-height:44px}.battle-result-heading h3{font-size:19px}.battle-plan-summary strong{font-size:30px}.battle-team-grid{gap:10px}.battle-pick{padding:13px 11px;gap:7px}.battle-pick>strong{font-size:15px}.battle-pick>small{font-size:11px}.battle-score-line{font-size:12px;flex-wrap:wrap}.battle-score-line b{font-size:15px}.battle-pick-gimmick,.battle-confidence{font-size:11px;padding:4px 6px}.battle-rank-section h2{font-size:21px;line-height:1.7}.battle-rank-controls{gap:13px}.battle-rank-controls>label{font-size:13px}.battle-rank-controls select{max-width:180px;font-size:13px}.battle-rank-table{font-size:13px}.battle-settings summary{font-size:14px}}
@media(max-width:360px){.battle-team-grid{grid-template-columns:1fr}.battle-form-grid{grid-template-columns:1fr}.battle-form-grid label{grid-column:auto}.battle-rules fieldset{display:block}}
.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-actions{flex-wrap:wrap}.desktop-nav{gap:20px}
@media(max-width:900px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-nav{gap:12px}}
@media(max-width:600px){.quick-grid{grid-template-columns:1fr}}

/* Up to three named opponents, with touch-friendly species suggestions. */
.battle-opponents-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.battle-opponents-heading h3{font-size:19px;line-height:1.7}
.battle-opponents-heading>span{font-size:13px;color:#887291}
.battle-enemies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0 16px;align-items:start}
.battle-enemy-card{border:1px solid #dfd1e8;border-radius:11px;padding:16px;min-width:0;background:#fcf9fe}
.battle-enemy-card[hidden],.battle-suggestions[hidden]{display:none!important}
.battle-enemy-card legend{font-size:16px;font-weight:600;line-height:1.7;padding:0 7px;color:#73558b}
.battle-enemy-card label{display:flex;flex-direction:column;gap:7px;font-size:14px;line-height:1.7;min-width:0}
.battle-enemy-card input,.battle-enemy-card select{width:100%;min-width:0;min-height:46px;font:inherit;font-size:16px;color:#584766;background:#fff;border:1px solid #d9cde2;border-radius:7px;padding:10px 11px}
.battle-enemy-card input:focus,.battle-enemy-card select:focus{outline:2px solid #b59acb;outline-offset:2px}
.battle-enemy-card input[type=hidden]{display:none}
.battle-enemy-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:15px}
.battle-enemy-top>label{width:100px;flex-shrink:0}
.battle-enemy-top>small{font-size:12px;line-height:1.8;color:#86718e;max-width:150px;padding-bottom:4px}
.battle-remove-enemy{font:inherit;min-height:44px;padding:8px 10px;border:1px solid #d6c6df;border-radius:7px;background:#f6f0fa;color:#816a90;font-size:13px;line-height:1.6;cursor:pointer}
.battle-enemy-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.battle-enemy-defense{margin-top:14px;border-top:1px solid #e4d9eb;padding-top:6px}
.battle-enemy-defense summary{font-size:13px;cursor:pointer;line-height:1.8;min-height:44px;padding:9px 0}
.battle-enemy-defense>label{margin-top:13px}
.battle-enemy-defense>small{display:block;font-size:12px;line-height:1.9;margin-top:10px;color:#85718f}
.battle-opponent>small{display:block;min-height:3.6em;font-size:13px;line-height:1.8;color:#84708f}
.battle-suggestions{border:1px solid #cdbadd;border-radius:8px;background:#fff;max-height:300px;overflow-y:auto;box-shadow:0 5px 12px #69547712}
.battle-suggestions>button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:54px;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #ede4f3;background:#fff;color:#675273;font:inherit;text-align:left;cursor:pointer;line-height:1.6}
.battle-suggestions>button:last-child{border-bottom:0}
.battle-suggestions>button:hover,.battle-suggestions>button:focus{background:#f2eafa;outline:2px solid #b99ecf;outline-offset:-2px}
.battle-suggestions>button strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.battle-suggestions>button small{font-size:12px;color:#87718f;line-height:1.8}
.battle-suggestions>p{font-size:14px;line-height:1.8;padding:12px}
#battle-add-enemy{min-height:46px;font-size:14px}
#battle-add-enemy:disabled{opacity:.65;cursor:default}
.battle-enemy-summary{font-size:14px;color:#77588b;line-height:1.9;padding:14px 0;overflow-wrap:anywhere}
.battle-input-help{padding:20px;border-radius:9px;background:#f6f0fa;font-size:15px;line-height:1.8}
.battle-objective{background:#f5f0fa;border:1px solid #e6dced;border-radius:7px;padding:11px 13px;color:#776084}
.battle-coverage-scroll{overflow-x:auto;overscroll-behavior-x:contain;margin-top:22px;border:1px solid #e5dbea;border-radius:9px}
.battle-coverage-table{width:100%;border-collapse:collapse;min-width:640px;font-size:14px;line-height:1.8}
.battle-coverage-table caption{text-align:left;font-size:14px;font-weight:600;padding:12px 14px;background:#faf6fd;color:#735989}
.battle-coverage-table th,.battle-coverage-table td{padding:13px 12px;border-bottom:1px solid #e9e0ef;border-right:1px solid #eee6f3;vertical-align:top;text-align:left;min-width:165px;font-weight:400}
.battle-coverage-table th:first-child{min-width:145px}
.battle-coverage-table thead th,.battle-coverage-table tbody th{background:#f8f3fb;font-weight:600}
.battle-coverage-table small{display:block;font-size:12px;font-weight:400;color:#897192;line-height:1.9;margin-top:4px;overflow-wrap:anywhere}
.battle-coverage-table td>span{display:block;font-size:15px;margin-top:7px;color:#6b557b}
.battle-coverage-table td>span>small{display:inline;margin-left:4px}
.battle-coverage-table .battle-effective{background:#f0f8ec}.battle-effective>strong{color:#557b45}
.battle-coverage-table .battle-resisted{background:#fff7e9}.battle-resisted>strong{color:#9a7543}
.battle-boss-label{display:inline-flex;font-size:11px;color:#91672f;background:#f8ebcc;border:1px solid #e8d09f;border-radius:4px;padding:1px 5px;margin-right:4px;vertical-align:middle}
.battle-unknown-count{font-size:13px;line-height:1.9;color:#88708f;margin-top:18px}
.battle-parameter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.battle-enemies{grid-template-columns:1fr}.battle-enemy-card{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.battle-enemy-top,.battle-enemy-defense{grid-column:1/-1}.battle-enemy-card>.battle-opponent{grid-column:auto}.battle-enemy-types{margin-top:0;align-self:start}.battle-enemy-defense>.battle-enemy-types{margin-top:13px}.battle-enemy-top{align-items:center}.battle-enemy-top>small{max-width:none}.battle-enemy-defense>label{max-width:380px}}
@media(max-width:600px){.battle-enemy-card{display:block;padding:15px 13px}.battle-enemy-card legend{font-size:16px}.battle-enemy-types{margin-top:14px}.battle-enemy-card label{font-size:14px}.battle-enemy-defense>label{max-width:none}.battle-enemy-card input,.battle-enemy-card select{font-size:16px;min-height:48px}.battle-opponents-heading h3{font-size:18px}.battle-opponents-heading>span{font-size:13px}.battle-enemy-top>label{width:105px}.battle-remove-enemy{min-height:44px;font-size:13px}.battle-suggestions{max-height:290px}.battle-suggestions>button{min-height:58px;padding:12px}.battle-suggestions>button strong{font-size:16px}.battle-suggestions>button small{font-size:13px}.battle-enemy-summary{font-size:13px}.battle-parameter-grid{grid-template-columns:1fr 1fr}.battle-coverage-table{font-size:14px}.battle-coverage-table small{font-size:12px}.battle-coverage-scroll:after{content:'表は左右にスクロールできます';display:block;padding:8px 12px;color:#897391;font-size:12px;background:#faf7fc}.battle-plan-summary>div{width:100%}.battle-plan-summary small{display:block;margin-bottom:3px}.battle-plan-summary strong{font-size:29px}}
@media(max-width:380px){.battle-enemy-types,.battle-parameter-grid{grid-template-columns:1fr}.battle-enemy-top{align-items:flex-start}.battle-team-grid{grid-template-columns:1fr}}
.battle-broad-coverage{margin-top:18px;padding:16px;border:1px solid #e3d6ec;background:#fbf7fe;border-radius:9px}
.battle-broad-coverage h5{font-size:15px;line-height:1.8;margin:0 0 8px;color:#76558d}
.battle-broad-coverage p{font-size:13px;line-height:1.9;color:#84708f}
.battle-broad-types{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.battle-broad-types>span{display:inline-flex;padding:5px 9px;border-radius:5px;border:1px solid #e3dae9;font-size:12px;line-height:1.7;background:#f3eff6;color:#a28eac}
.battle-broad-types>.is-covered{background:#ecf5e7;color:#5d7d4d;border-color:#cbdcbe;font-weight:600}
@media(max-width:600px){.battle-broad-coverage{padding:13px}.battle-broad-coverage h5{font-size:14px}.battle-broad-types>span{font-size:12px;min-height:33px;align-items:center}}

.battle-enemy-card>.battle-opponent{display:flex;flex-direction:column;gap:7px;min-width:0}

/* Fast view: three recommendations; analysis is opened only on demand. */
.battle-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.battle-accessories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.battle-accessories>legend{font-size:16px;font-weight:600;margin-bottom:10px}
.battle-accessories>label{border:1px solid #dfd1e8;border-radius:8px;background:#faf6fd;padding:12px 11px;min-height:54px;font-size:14px;line-height:1.7;cursor:pointer}
.battle-accessories input{width:20px;height:20px}
.battle-quick-summary{margin-bottom:15px}
.battle-quick-summary h4{font-size:21px;line-height:1.6;color:#74558c;margin-bottom:6px}
.battle-quick-summary>p{font-size:14px;line-height:1.9;color:#82698e}
.battle-quick-pick{padding:17px;gap:10px}
.battle-quick-pick>strong{font-size:18px;line-height:1.6}
.battle-pick-identity{display:grid;gap:3px;margin-top:-6px;line-height:1.5}
.battle-pick-edition{font-size:11px;color:#7c668a;overflow-wrap:anywhere}
.battle-pick-number{display:flex;align-items:center;flex-wrap:wrap;gap:3px 7px}
.battle-pick-grade{font-size:11px;color:#866420;letter-spacing:.03em;white-space:nowrap}
.battle-pick-id{font-size:11px;color:#8b7896;font-family:Arial,sans-serif}
.battle-pick-moves{display:grid;gap:4px;align-self:flex-start}
.battle-pick-moves>span{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.battle-pick-moves small{font-size:11px;color:#907b9b}
.battle-pick-move-name{font-size:12px;line-height:1.7;color:#655071;overflow-wrap:anywhere}
.battle-pick-moves .type-pill,.battle-enemy-type-pills .type-pill,.battle-broad-types .type-pill{font-size:11px;font-weight:600;margin:0;padding:2px 6px;border:1px solid transparent}
/* Clear move-type colors for every standard type. Labels also identify the type. */
.battle-pick-moves .type-ノーマル,.battle-enemy-type-pills .type-ノーマル,.battle-broad-types .type-ノーマル{background:#eef0f3;color:#505963;border-color:#c8ced6}
.battle-pick-moves .type-ほのお,.battle-enemy-type-pills .type-ほのお,.battle-broad-types .type-ほのお{background:#ffeadb;color:#9b3d0c;border-color:#f0b48b}
.battle-pick-moves .type-みず,.battle-enemy-type-pills .type-みず,.battle-broad-types .type-みず{background:#e5efff;color:#2455a1;border-color:#a8c4f2}
.battle-pick-moves .type-でんき,.battle-enemy-type-pills .type-でんき,.battle-broad-types .type-でんき{background:#fff4bf;color:#755a00;border-color:#e5cc57}
.battle-pick-moves .type-くさ,.battle-enemy-type-pills .type-くさ,.battle-broad-types .type-くさ{background:#e6f4d7;color:#3f6c1b;border-color:#afcf8d}
.battle-pick-moves .type-こおり,.battle-enemy-type-pills .type-こおり,.battle-broad-types .type-こおり{background:#def5f6;color:#17656c;border-color:#9bcdd1}
.battle-pick-moves .type-かくとう,.battle-enemy-type-pills .type-かくとう,.battle-broad-types .type-かくとう{background:#fbe3df;color:#923f32;border-color:#e4aaa0}
.battle-pick-moves .type-どく,.battle-enemy-type-pills .type-どく,.battle-broad-types .type-どく{background:#f2e2f8;color:#773b8c;border-color:#cda8dc}
.battle-pick-moves .type-じめん,.battle-enemy-type-pills .type-じめん,.battle-broad-types .type-じめん{background:#f5e9d1;color:#74511e;border-color:#d5bd8b}
.battle-pick-moves .type-ひこう,.battle-enemy-type-pills .type-ひこう,.battle-broad-types .type-ひこう{background:#eeebff;color:#655299;border-color:#bfb3e2}
.battle-pick-moves .type-エスパー,.battle-enemy-type-pills .type-エスパー,.battle-broad-types .type-エスパー{background:#fce2ed;color:#98385f;border-color:#e6a6c0}
.battle-pick-moves .type-むし,.battle-enemy-type-pills .type-むし,.battle-broad-types .type-むし{background:#eff3d1;color:#5b6b19;border-color:#c4cf87}
.battle-pick-moves .type-いわ,.battle-enemy-type-pills .type-いわ,.battle-broad-types .type-いわ{background:#efeadb;color:#6a5a25;border-color:#ccbd90}
.battle-pick-moves .type-ゴースト,.battle-enemy-type-pills .type-ゴースト,.battle-broad-types .type-ゴースト{background:#e8e2f4;color:#5e4584;border-color:#b9a8d4}
.battle-pick-moves .type-ドラゴン,.battle-enemy-type-pills .type-ドラゴン,.battle-broad-types .type-ドラゴン{background:#e7e2ff;color:#4b3799;border-color:#b7a8e6}
.battle-pick-moves .type-あく,.battle-enemy-type-pills .type-あく,.battle-broad-types .type-あく{background:#e7e3e8;color:#514653;border-color:#b7aebb}
.battle-pick-moves .type-はがね,.battle-enemy-type-pills .type-はがね,.battle-broad-types .type-はがね{background:#e4eeee;color:#3e6164;border-color:#aac2c4}
.battle-pick-moves .type-フェアリー,.battle-enemy-type-pills .type-フェアリー,.battle-broad-types .type-フェアリー{background:#fbe7f5;color:#8d437d;border-color:#dfb3d4}
.battle-pick-target{display:block;font-size:15px;line-height:1.8;color:#655071;overflow-wrap:anywhere}
.battle-pick-target>small{display:block;font-size:12px;color:#907b9b;margin-bottom:4px}
.battle-pick-target>em{display:block;font-style:normal;font-size:12px;color:#5f7d4e;margin-top:3px}
.battle-result-details,.battle-alternatives,.battle-data-note{border-top:1px solid #e6daee;margin-top:16px;padding-top:8px}
.battle-result-details>summary,.battle-alternatives>summary,.battle-data-note>summary{cursor:pointer;font-size:14px;min-height:44px;line-height:1.8;padding:10px 0;color:#82638e}
.battle-result-details>p{font-size:13px;line-height:1.9}
.battle-alternatives>.battle-plan{margin-top:15px}
.battle-data-note{margin-top:0;padding-top:0;border:0}
.battle-data-note>summary{font-size:13px;color:#8b7794}
.battle-rank-section>summary{cursor:pointer;font-size:16px;line-height:1.8;min-height:45px;font-weight:600;color:#79578f;padding:8px 0}
.battle-rank-section>.section-heading{margin-top:25px}
.battle-loading small{font-size:12px;color:#9a87a5;margin-left:8px}
#battle-results{scroll-margin-top:95px}
@media(max-width:900px){.battle-accessories{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.battle-quick-pick{padding:14px 11px}.battle-quick-pick>strong{font-size:16px}}
@media(max-width:600px){.battle-team-grid{grid-template-columns:1fr}.battle-quick-pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;column-gap:15px;padding:15px}.battle-quick-pick>strong{grid-column:1;font-size:17px}.battle-quick-pick>.battle-pick-gimmick{grid-column:1;align-self:start;justify-self:start;font-size:12px}.battle-quick-pick>.battle-pick-identity,.battle-quick-pick>.battle-pick-moves{grid-column:1}.battle-quick-pick>.battle-pick-target{grid-column:2;grid-row:1/span 4;padding-left:13px;border-left:1px solid #e4d7ec;font-size:15px}.battle-quick-pick>small{grid-column:1;font-size:11px}.battle-accessories>label{font-size:14px;min-height:60px;padding:11px 9px}.battle-quick-summary h4{font-size:20px}.battle-quick-summary>p{font-size:13px}.battle-owned-line>.button{min-height:48px;width:100%;justify-content:center}.battle-notice{font-size:13px;line-height:1.9}.battle-rank-section>summary{font-size:15px}#battle-results{scroll-margin-top:75px}}

.battle-settings .battle-assumption-toggle{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:44px;margin-bottom:15px}.battle-settings .battle-assumption-toggle input{width:20px;min-height:20px;height:20px;flex-shrink:0;accent-color:#9271ab}
.battle-tools-section:first-child{padding-top:32px}
@media(max-width:600px){.battle-tools-section:first-child{padding-top:18px}.battle-tools-section>.section-heading{margin-bottom:13px}.battle-tools-section>.section-heading .section-kicker{display:none}.battle-tools-section>.section-heading h2{font-size:25px}.battle-tools-section>.section-heading .section-description{font-size:13px;margin-top:8px}.battle-tools-section>.battle-notice{font-size:12px;padding:10px 12px;line-height:1.8;margin-bottom:12px}.battle-tools-section>.battle-panel{padding-top:15px}}

/* Standalone finder and ranking pages. */
.battle-help-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:7px 13px;border:1px solid #d9c9e3;border-radius:8px;background:#fff;color:#76558a;font-size:13px;line-height:1.6;text-decoration:none;white-space:nowrap;flex-shrink:0}
.battle-help-link:hover,.battle-help-link:focus-visible{background:#f3eafa;border-color:#b99dcd}
.battle-rank-section.is-standalone{margin-top:22px}
.battle-rank-section.is-standalone>h3{font-size:20px;line-height:1.7;color:#74558c;margin-bottom:6px}
.battle-rank-section.is-standalone>.section-description{margin-bottom:20px}
[data-battle-view="finder"]>.section-heading,[data-battle-view="rankings"]>.section-heading{align-items:flex-start}
@media(max-width:600px){.battle-help-link{font-size:12px;padding:7px 10px;margin-top:3px}}

/* Opponents: selected species facts and an optional defensive Tera type. */
.battle-enemy-identity{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;margin-top:14px}
.battle-enemy-status{font-size:14px;font-weight:600;line-height:1.6;color:#6c537b;overflow-wrap:anywhere}
.battle-enemy-status:empty,.battle-enemy-stats:empty{display:none}
.battle-enemy-type-pills{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.battle-enemy-type-pills .type-pill{font-size:12px;font-weight:600;line-height:1.6;margin:0;padding:3px 7px;border-width:1px;border-style:solid}
.battle-enemy-type-pills>small{font-size:11px;color:#86718d;line-height:1.6}
.battle-enemy-stats{font-size:12px;line-height:1.8;color:#766580;overflow-wrap:anywhere}
.battle-tera-arrow{font-size:13px;color:#a28bae;padding:0 1px}
.battle-enemy-tera{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:15px}
.battle-tera-toggle{font:inherit;font-size:13px;line-height:1.7;min-height:40px;padding:7px 13px;border:1px solid #d6c6df;border-radius:7px;background:#f7f1fb;color:#7a628b;cursor:pointer}
.battle-tera-toggle[aria-pressed="true"]{background:#eee2fa;border-color:#ac84c9;color:#694382;box-shadow:inset 0 0 0 1px #ac84c9}
.battle-tera-toggle[aria-pressed="true"]:before{content:'✓ ';font-weight:700}
.battle-enemy-card .battle-tera-select{width:100%;max-width:300px;font-size:12px;gap:5px}
.battle-enemy-card .battle-tera-select[hidden]{display:none!important}
.battle-suggestions .battle-enemy-stats{font-size:12px;color:#766580}
@media(min-width:601px) and (max-width:1100px){.battle-enemy-identity,.battle-enemy-tera{grid-column:2}.battle-enemy-identity{grid-row:2;align-self:start;margin-top:0}.battle-enemy-tera{grid-row:3}.battle-enemy-card>.battle-opponent{grid-row:2/span 2}}
@media(max-width:600px){.battle-enemy-identity{margin-top:13px}.battle-enemy-type-pills .type-pill{font-size:12px}.battle-enemy-stats{font-size:12px}.battle-tera-toggle{min-height:42px}}

/* Start with ownership; keep registration separate from calculating a team. */
.battle-panel #battle-form>.battle-owned-line:first-child{padding:16px;margin:0 0 24px;border:1px solid #dfd2e8;border-radius:10px;background:#f8f3fc;justify-content:space-between;gap:14px}
.battle-panel #battle-form>.battle-owned-line:first-child>.button{min-height:46px}
@media(max-width:600px){.battle-panel #battle-form>.battle-owned-line:first-child{padding:14px;margin-bottom:24px}.battle-panel #battle-form>.battle-owned-line:first-child>strong{font-size:15px}}

/* Recommendation roles and always-visible coverage. */
.battle-pick-role{display:table;margin-bottom:4px;padding:2px 7px;border:1px solid #d8c7e3;border-radius:5px;background:#efe4f8;color:#77528f;font-size:11px;font-weight:600;line-height:1.6}
.battle-pick-role.is-coverage{background:#e8f1e3;border-color:#c7d9bc;color:#52703d}
.battle-team-grid+.battle-broad-coverage{margin-top:17px}
.battle-broad-types>.type-pill.is-covered{font-weight:600}
.battle-broad-types>.type-pill.is-missing{background-image:linear-gradient(#ffffffb3,#ffffffb3);border-style:dashed;font-weight:400}
