:root{
  --bg:#f3f5f8;--card:#fff;--ink:#141821;--muted:#667085;--line:#e3e7ee;
  --dark:#141821;--accent:#e43c4a;--blue:#336fe8;--good:#137657;--warn:#a05b00;--bad:#a6192b;
  --shadow:0 8px 28px rgba(16,24,40,.07);
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink)}
button,input,select{font:inherit}
.wrap{max-width:1160px;margin:auto;padding:16px 13px 50px}
header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:4px 0 14px}
.brand{display:flex;align-items:center;gap:11px}
.logo{width:40px;height:40px;border:3px solid var(--ink);border-radius:50%;background:linear-gradient(var(--accent) 0 46%,var(--ink) 46% 54%,#fff 54%);position:relative;flex:none}
.logo:after{content:"";position:absolute;width:9px;height:9px;background:#fff;border:3px solid var(--ink);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
h1{font-size:clamp(20px,4vw,29px);margin:0;line-height:1.1}
.version{font-size:11px;color:var(--muted);margin-top:4px}
.badge{font-size:11px;background:#e9eefb;color:#305db3;border-radius:999px;padding:6px 9px;white-space:nowrap}
.dataStatus{background:#eef6ff;border:1px solid #cfe0ff;color:#285a9f;border-radius:12px;padding:9px 11px;font-size:11px;line-height:1.5;margin-bottom:13px}
.dataStatus.warn{background:#fff7e8;border-color:#f6d49a;color:#875000}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:15px;box-shadow:var(--shadow)}
.full{grid-column:1/-1}
h2{font-size:15px;margin:0 0 12px}
h3{font-size:13px;margin:14px 0 8px;color:#344054}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.field{display:flex;flex-direction:column;gap:5px}
.wide{grid-column:1/-1}
label{font-size:11px;color:var(--muted);font-weight:800}
input,select{width:100%;min-height:43px;border:1px solid #d0d5dd;border-radius:11px;background:#fff;color:var(--ink);padding:9px 10px;outline:none}
input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(51,111,232,.11)}
.typeRow{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 2px}
.typePill{font-size:11px;background:#eef1f5;border-radius:999px;padding:5px 8px;font-weight:800}
.statTable{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:12px;margin-top:8px}
.statTable th{font-size:10px;color:var(--muted);font-weight:800;padding:0 5px;text-align:center}
.statTable th:first-child{text-align:left}
.statTable td{background:#f7f8fa;padding:6px 5px;text-align:center}
.statTable td:first-child{border-radius:9px 0 0 9px;text-align:left;font-weight:900}
.statTable td:last-child{border-radius:0 9px 9px 0;font-weight:900}
.statTable input{min-height:34px;height:34px;padding:5px 6px;text-align:center;border-radius:8px}
.baseNum{color:#475467;font-variant-numeric:tabular-nums}
.realNum{font-size:14px;font-variant-numeric:tabular-nums}
.spTotal{display:flex;justify-content:space-between;align-items:center;margin-top:7px;padding:8px 10px;border-radius:10px;background:#eef6ff;font-size:11px}
.spTotal strong{font-size:13px}
.spTotal.bad{background:#fff0f2;color:var(--bad)}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.check{display:flex;align-items:flex-start;gap:8px;background:#f7f8fa;padding:9px;border-radius:10px;font-size:12px}
.check input{width:18px;min-height:18px;height:18px;margin:0;flex:none}
.help{font-size:11px;line-height:1.55;color:var(--muted);margin-top:7px}
.actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
button{min-height:43px;border:0;border-radius:11px;padding:10px 14px;font-weight:900;cursor:pointer}
.primary{background:var(--dark);color:#fff;flex:1}
.secondary{background:#eef1f5;color:var(--ink)}
.resultGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}
.hero{background:linear-gradient(135deg,#121620,#293041);border-radius:15px;color:#fff;padding:18px;min-height:142px;display:flex;flex-direction:column;justify-content:center}
.big{font-size:clamp(34px,7vw,55px);font-weight:950;line-height:1;letter-spacing:-1.5px}
.pct{margin-top:8px;color:#d5dae3;font-size:17px}
.sideResult{border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;flex-direction:column;justify-content:center}
.sideResult strong{font-size:24px}
.sideResult small{color:var(--muted);margin-top:4px}
.pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.pill{background:#f1f3f6;color:#475467;border-radius:999px;padding:6px 8px;font-size:11px}
.pill.good{background:#e9f8f1;color:var(--good)}
.pill.warn{background:#fff4e5;color:var(--warn)}
.rolls{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-top:11px}
.roll{background:#f3f5f8;border-radius:8px;text-align:center;padding:7px 3px;font-size:11px;font-variant-numeric:tabular-nums}
.summaryBox{background:#f7f8fa;border-radius:12px;padding:12px;margin-top:11px;font-size:12px;line-height:1.65}
.error{display:none;margin-top:10px;background:#fff0f2;color:var(--bad);border:1px solid #fecdd3;padding:9px 11px;border-radius:10px;font-size:12px}
details{margin-top:11px;border-top:1px solid var(--line);padding-top:10px}
summary{font-size:12px;font-weight:900;cursor:pointer}
footer{font-size:10px;color:#98a2b3;line-height:1.6;margin:15px 3px}
@media(max-width:800px){.grid{grid-template-columns:1fr}.full{grid-column:auto}.resultGrid{grid-template-columns:1fr}.rolls{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:480px){.wrap{padding:10px 9px 36px}.card{padding:13px}.fields.three{grid-template-columns:1fr 1fr}.checks{grid-template-columns:1fr}.badge{display:none}.statTable{font-size:11px}.statTable input{padding:4px 2px}}

input[type="range"]{
  min-height:30px;height:30px;padding:0;border:0;box-shadow:none;background:transparent;
  accent-color:var(--blue);cursor:pointer
}
.statTable td:nth-child(3){min-width:185px}
.rangeCell{display:flex;align-items:center;gap:8px}
.rangeCell input{flex:1;min-width:100px}
.rangeValue{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;border-radius:8px;background:#e9eefb;color:#244f9a;font-weight:900;font-variant-numeric:tabular-nums}
.speedCompare{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin-bottom:12px}
.speedBox{background:#f7f8fa;border:1px solid var(--line);border-radius:14px;padding:13px;text-align:center}
.speedBox .name{font-size:11px;color:var(--muted);font-weight:800}
.speedBox .speedNum{font-size:34px;font-weight:950;line-height:1.1;margin:5px 0}
.speedBox .speedBase{font-size:11px;color:var(--muted)}
.speedJudge{min-width:130px;border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--dark);color:#fff}
.speedJudge strong{font-size:18px}
.speedJudge small{font-size:10px;color:#d0d5dd;margin-top:5px}
.speedLines{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.speedLine{background:#f7f8fa;border-radius:10px;padding:9px 10px;font-size:11px;line-height:1.6}
.speedLine b{font-size:13px}
@media(max-width:620px){
  .statTable td:nth-child(3){min-width:145px}
  .speedCompare{grid-template-columns:1fr 1fr}
  .speedJudge{grid-column:1/-1;grid-row:2;min-height:72px}
}
@media(max-width:420px){
  .statTable th:nth-child(2),.statTable td:nth-child(2){display:none}
  .statTable td:nth-child(3){min-width:155px}
  .rangeCell{gap:5px}
  .speedLines{grid-template-columns:1fr}
}


.pokemonSearchWrap{position:relative}
.searchResults{
  position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;
  background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.16);
  max-height:330px;overflow:auto;padding:5px
}
.searchResult{
  width:100%;min-height:44px;background:#fff;border-radius:9px;padding:8px 10px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-weight:800
}
.searchResult:hover,.searchResult:focus{background:#f2f5fa}
.searchResult small{font-size:10px;color:var(--muted);font-weight:700}
.searchEmpty{padding:12px;color:var(--muted);font-size:12px;text-align:center}
.partyHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.partyHead h2{margin-bottom:2px}
.partyQuickSave{flex:none}
.partyGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.partySlot{border:1px solid var(--line);border-radius:13px;padding:11px;background:#fafbfc;min-width:0}
.partySlot.empty{border-style:dashed;display:flex;flex-direction:column;justify-content:center;min-height:128px}
.partySlotTop{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.partyNo{font-size:10px;color:var(--muted);font-weight:900}
.partyName{font-size:14px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.partyMeta{font-size:10px;color:var(--muted);line-height:1.5;margin-top:5px;min-height:30px}
.partySp{font-size:10px;font-weight:800;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.partyButtons{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px}
.partyButtons button{min-height:36px;padding:7px 5px;border-radius:9px;font-size:10px}
.partyButtons .danger{background:#fff0f2;color:var(--bad)}
.partyEmptyText{font-size:12px;color:var(--muted);margin:4px 0 8px}
@media(max-width:760px){.partyGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){
 .partyHead{display:block}.partyQuickSave{width:100%;margin-top:9px}
 .partyGrid{grid-template-columns:1fr 1fr;gap:7px}
 .partySlot{padding:9px}.partyName{font-size:13px}
}


.pokeHero{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;margin:12px 0 10px}
.pokeArt{
  width:110px;height:110px;border-radius:18px;border:1px solid var(--line);
  background:radial-gradient(circle at 50% 36%, #ffffff 0 10%, #edf1f7 38%, #dde5f0 100%);
  display:flex;align-items:center;justify-content:center;overflow:hidden
}
.pokeArt img{width:100%;height:100%;object-fit:contain;display:block}
.pokeArt img.broken{display:none}
.pokeSummaryName{font-size:19px;font-weight:950;line-height:1.2}
.pokeSummarySub{font-size:11px;color:var(--muted);margin-top:4px}
.searchResultMain{display:flex;align-items:center;gap:9px;min-width:0}
.searchThumb{
  width:34px;height:34px;border-radius:10px;background:#eef2f7;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none
}
.searchThumb img{width:100%;height:100%;object-fit:contain}
.partyThumbWrap{display:flex;justify-content:center;align-items:center;margin:4px 0 8px}
.partyThumb{
  width:82px;height:82px;border-radius:16px;border:1px solid var(--line);
  background:radial-gradient(circle at 50% 36%, #ffffff 0 10%, #eef2f8 38%, #dde5f0 100%);
  display:flex;align-items:center;justify-content:center;overflow:hidden
}
.partyThumb img{width:100%;height:100%;object-fit:contain}
.partyForm{font-size:10px;color:var(--muted);margin-top:3px}
@media(max-width:450px){
  .pokeHero{grid-template-columns:84px 1fr;gap:9px}
  .pokeArt{width:84px;height:84px;border-radius:14px}
  .pokeSummaryName{font-size:16px}
  .partyThumb{width:68px;height:68px}
}


.bottomNav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(1120px,100%);height:70px;background:#10151eee;backdrop-filter:blur(10px);border-top:1px solid #2a3240;display:grid;grid-template-columns:1fr 1fr;z-index:80;padding-bottom:env(safe-area-inset-bottom)}
.navItem{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#7f8a9b;font-size:12px;font-weight:900}
.navItem.active{color:#4f8cff}
body{padding-bottom:70px}


.calcPartyHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.calcPartyName{font-size:13px;font-weight:900;color:#344054}
.calcPartyEdit{font-size:11px;font-weight:900;text-decoration:none;background:#eef2ff;color:#345fc1;padding:8px 10px;border-radius:10px}
.calcPartySlots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.calcPartySlot{border:1px solid var(--line);border-radius:12px;background:#f7f8fa;padding:6px;min-width:0;text-align:center}
.calcPartySlot.empty{display:flex;align-items:center;justify-content:center;min-height:104px;color:var(--muted);font-size:11px}
.calcPartyMon{border:0;background:transparent;padding:0;width:100%}
.calcPartyImg{width:100%;aspect-ratio:1;object-fit:contain;display:block}
.calcPartyMonName{font-size:9px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.calcPartyDef{width:100%;border:0;background:#e9edf4;color:#344054;border-radius:7px;min-height:28px;padding:3px;font-size:9px;font-weight:850;margin-top:4px}
.calcMoves{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.calcMoveChip{font-size:8px;padding:3px 5px;background:#eef1f5;border-radius:999px;color:#667085}
@media(max-width:650px){
 .calcPartySlots{grid-template-columns:repeat(3,minmax(0,1fr))}
}


.moveResultsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}
.moveResultsMatchup{font-size:12px;color:var(--muted);margin-top:3px}
.moveDataState{font-size:10px;color:#667085;background:#f2f4f7;border-radius:999px;padding:5px 8px;white-space:nowrap}
.partyMoveResults{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.moveResultCard{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fafbfc;min-width:0}
.moveResultCard.best{border-color:#8db2ff;box-shadow:0 0 0 2px rgba(51,111,232,.08)}
.moveResultTop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.moveResultName{font-size:16px;font-weight:950;line-height:1.2}
.moveMeta{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.moveMeta span{font-size:9px;border-radius:999px;padding:4px 6px;background:#eef1f5;color:#475467;font-weight:850}
.moveCategoryPhysical{background:#fff0e8!important;color:#a34c19!important}
.moveCategorySpecial{background:#eaf2ff!important;color:#315fae!important}
.moveCategoryStatus{background:#eef0f3!important;color:#667085!important}
.moveDamage{font-size:25px;font-weight:950;letter-spacing:-.5px;margin-top:11px}
.movePercent{font-size:13px;font-weight:850;color:#344054;margin-top:3px}
.moveKo{font-size:12px;font-weight:950;margin-top:8px}
.moveBar{height:10px;border-radius:999px;background:#e5e9ef;overflow:hidden;margin-top:9px}
.moveBarFill{height:100%;background:linear-gradient(90deg,#5d8ef1,#315fd0);border-radius:999px}
.moveResultFoot{font-size:9px;color:#667085;margin-top:7px;line-height:1.5}
.moveResultAction{border:0;background:#eef2f7;color:#344054;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:850}
.moveStatusBox{font-size:20px;font-weight:950;margin-top:13px;color:#667085}
.moveResultEmpty{grid-column:1/-1;text-align:center;padding:25px 10px;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:13px}
.moveWarning{font-size:9px;color:#a05b00;margin-top:6px}
@media(max-width:650px){
 .partyMoveResults{grid-template-columns:1fr}
 .moveResultsHead{display:block}
 .moveDataState{display:inline-block;margin-top:7px}
}


/* v8.0 battle-first dark UI */
:root{
 --bg:#0b111a!important;--card:#141c28!important;--ink:#f5f7fb!important;--muted:#94a0b3!important;
 --line:#2b3749!important;--dark:#0a0f17!important;--blue:#4b8cff!important;
}
body{background:#0b111a!important;color:#f5f7fb!important}
.wrap{max-width:920px!important;padding:10px 9px 92px!important}
header{background:#101722;border:1px solid #253146;border-radius:16px;padding:11px 12px;margin:0 0 8px!important}
header h1{font-size:17px!important;line-height:1.15!important}.version{color:#8290a5!important}.badge{background:#172b48!important;color:#8bb6ff!important}
.dataStatus{background:#101722!important;border-color:#27364b!important;color:#8e9bb0!important;margin-bottom:8px!important;padding:7px 9px!important}
.card{background:#131b27!important;border-color:#2b3749!important;box-shadow:none!important;border-radius:15px!important}

.battleStage{padding:11px!important;background:linear-gradient(180deg,#182230,#111925)!important}
.vsTitleRow{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;text-align:center;color:#8490a2;font-size:12px;font-weight:900;margin-bottom:7px}
.vsTitleRow strong{font-size:21px;color:#fff;border-bottom:3px solid #4b8cff;padding-bottom:5px}
.versusGrid{display:grid;grid-template-columns:1fr 92px 1fr;gap:7px;align-items:stretch}
.fighter{position:relative;overflow:hidden;background:#0f1621;border:1px solid #293649;border-radius:14px;padding:9px;text-align:center;min-width:0}
.fighterImage{height:116px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#243249 0,#111925 60%,transparent 68%);border-radius:12px}
.fighterImage img{width:116px;height:116px;object-fit:contain;image-rendering:auto}
.fighterName{font-size:15px;font-weight:950;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fighterTypes{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin:5px 0}
.stageType{font-size:9px;padding:3px 6px;border-radius:999px;background:#263347;color:#d8e2f2;font-weight:900}
.fighterStat{background:#1b2636;border-radius:9px;padding:6px;font-size:12px;font-weight:950;margin-top:6px}
.fighterLine{font-size:9px;color:#a6b1c2;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsCenter{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.vsBadge{font-size:25px;font-weight:1000;color:#fff}
.stageSpeedJudge{font-size:10px;font-weight:900;color:#7faaff;margin-top:8px;line-height:1.35}
.stageSpeedValues{font-size:11px;color:#aab5c5;margin-top:5px;display:flex;gap:4px}
.stageConditions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.stageCondition{font-size:9px;background:#1b2636;border:1px solid #2d3b50;border-radius:999px;padding:5px 7px;color:#bdc8d8}

.moveResultsCard{padding:11px!important;background:#101722!important}
.moveResultsHead h2{font-size:15px!important;margin-bottom:2px!important}.moveResultsMatchup{color:#8c99ad!important}.moveDataState{background:#1c2737!important;color:#8fa0b8!important}
.partyMoveResults{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.moveResultCard{background:#17202d!important;border-color:#2c394c!important;border-radius:13px!important;padding:10px!important}
.moveResultCard.best{border-color:#4f8cff!important;box-shadow:0 0 0 1px #4f8cff44!important}
.moveMainRow{display:flex;justify-content:space-between;gap:8px;align-items:center}
.moveTitleGroup{display:flex;align-items:center;gap:9px;min-width:0}
.moveTypeSquare{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:1000;flex:none;box-shadow:inset 0 0 0 1px #ffffff22}
.moveResultName{font-size:15px!important;color:#f6f8fb!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.moveStatLine{display:flex;gap:9px;margin-top:3px;color:#8f9bae;font-size:9px;font-weight:850}
.moveResultAction{background:#273447!important;color:#dce5f2!important;border:1px solid #35465e!important;min-width:48px}
.damageTrack{height:13px;background:#0c121b;border:1px solid #293548;border-radius:5px;overflow:hidden;margin-top:9px;position:relative}
.damageTrackFill{height:100%;border-radius:4px;background:linear-gradient(90deg,#48ad64 0%,#9ecb45 45%,#f0c436 72%,#ee7645 100%)}
.damageTrackTicks{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#ffffff22 calc(10% - 1px),#ffffff22 10%);pointer-events:none}
.moveResultSummary{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:7px;font-size:10px}
.moveResultSummary strong{font-size:11px;color:#f2f5f9}.rawDamage{color:#8491a4;white-space:nowrap}
.moveResultFoot{color:#7f8b9e!important;margin-top:4px!important}.moveWarning{color:#e3aa62!important}.moveStatusBox{color:#a9b4c4!important}
.bestTag{font-size:8px;background:#244d86;color:#a9caff;padding:3px 5px;border-radius:999px;margin-left:5px;vertical-align:2px}

.calcPartyCard{background:#101722!important;padding:10px!important}
.calcPartyHead{margin-bottom:7px!important}.calcPartyName{color:#c6d0df!important}.calcPartyEdit{background:#1c2f4d!important;color:#90b7ff!important}
.calcPartySlots{display:flex!important;overflow-x:auto;gap:7px!important;padding-bottom:3px;scrollbar-width:none}.calcPartySlots::-webkit-scrollbar{display:none}
.calcPartySlot{flex:0 0 86px;background:#17202d!important;border-color:#2b3749!important;padding:5px!important}.calcPartySlot.empty{min-height:92px!important;color:#748196!important}
.calcPartyMonName{color:#e5ebf4!important}.calcPartyDef{background:#253246!important;color:#c8d3e2!important}.calcMoveChip{background:#202c3c!important;color:#8f9db1!important}

.advancedPanel{grid-column:1/-1;background:#101722;border:1px solid #2b3749;border-radius:15px;overflow:hidden}
.advancedPanel>summary{list-style:none;cursor:pointer;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:950}
.advancedPanel>summary::-webkit-details-marker{display:none}.advancedPanel>summary:after{content:'＋';color:#7790b5;font-size:18px}.advancedPanel[open]>summary:after{content:'−'}
.advancedPanel>summary small{font-size:9px;color:#7f8ba0;font-weight:700}.advancedGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0 10px 10px}
.advancedGrid>.card{box-shadow:none!important}
input,select{background:#0f1621!important;color:#f2f5f9!important;border-color:#334156!important}.check,.roll,.summaryBox,.speedLine{background:#182231!important;color:#d8e0eb!important}.spTotal{background:#17283f!important}.statTable td{background:#182231!important}.pill{background:#1c2737!important;color:#acb8ca!important}
.manualDetails{padding:0!important}.manualDetails>summary{cursor:pointer;padding:13px 14px;font-size:12px;font-weight:950}.manualInner{padding:0 12px 12px}
footer{color:#66748b!important}
.bottomNav{background:#0b1018f2!important;border-color:#273348!important}
@media(max-width:650px){
 .versusGrid{grid-template-columns:1fr 70px 1fr}.fighterImage{height:92px}.fighterImage img{width:92px;height:92px}.fighterName{font-size:13px}.fighterStat{font-size:11px;padding:5px}.fighterLine{font-size:8px}
 .vsTitleRow{grid-template-columns:1fr 70px 1fr}.advancedGrid{grid-template-columns:1fr}.calcPartySlot{flex-basis:78px}
}
@media(max-width:390px){.versusGrid{grid-template-columns:1fr 58px 1fr;gap:4px}.vsCenter{font-size:9px}.vsBadge{font-size:20px}.fighter{padding:6px}.fighterImage{height:78px}.fighterImage img{width:80px;height:80px}}


.internalPokemonSelect{display:none!important}

/* ダメージゲージは「攻撃後に残るHP」を表示 */
.hpRemainTrack{
  height:14px;background:#0b1119;border:1px solid #334055;border-radius:5px;
  overflow:hidden;margin-top:9px;position:relative
}
.hpRemainGuaranteed{
  position:absolute;left:0;top:0;bottom:0;border-radius:4px 0 0 4px
}
.hpRemainPossible{
  position:absolute;top:0;bottom:0;
  background:repeating-linear-gradient(
    -45deg,
    rgba(255,255,255,.42) 0,
    rgba(255,255,255,.42) 4px,
    rgba(255,255,255,.18) 4px,
    rgba(255,255,255,.18) 8px
  );
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20)
}
.hpRemainMark50,.hpRemainMark20{
  position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.18);pointer-events:none
}
.hpRemainMark50{left:50%}.hpRemainMark20{left:20%}
.hpRemainLabel{display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-size:9px;color:#8390a5}
.hpRemainLabel strong{color:#cbd4e1}


/* v8.0: quick settings are split by purpose */
.internalMoveControls{display:none!important}

.quickSettings{
  grid-column:1/-1;
  margin-top:2px;
}
.quickSettingsTitle{
  font-size:13px;font-weight:950;color:#dbe4f1;margin:0 2px 8px
}
.quickSettingsGrid{
  display:grid;grid-template-columns:1fr 1fr;gap:8px
}
.quickPanel{
  background:#101722;border:1px solid #2b3749;border-radius:14px;overflow:hidden
}
.quickPanel>summary{
  list-style:none;cursor:pointer;display:grid;
  grid-template-columns:36px 1fr 20px;gap:9px;align-items:center;
  padding:11px 12px;min-height:62px
}
.quickPanel>summary::-webkit-details-marker{display:none}
.quickPanel>summary .quickIcon{
  width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:#1f2c3e;color:#9dbbff;font-size:12px;font-weight:1000
}
.quickPanel>summary strong{display:block;font-size:13px;color:#f5f7fb}
.quickPanel>summary small{
  display:block;font-size:9px;color:#8190a7;margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.quickPanel>summary>b{font-size:17px;color:#72839d;text-align:center}
.quickPanel[open]>summary>b{transform:rotate(45deg)}
.quickPanelBody{padding:0 8px 8px}
.quickPanelBody>.card{
  margin:0;background:#131b27!important;border:0!important;border-top:1px solid #263348!important;
  border-radius:0!important;padding:11px 5px 5px!important
}
.quickAtk .quickIcon{background:#2c2132!important;color:#ee9cce!important}
.quickDef .quickIcon{background:#1d2d3a!important;color:#8cc7ef!important}
.quickField .quickIcon{background:#2d2b1c!important;color:#e6cf72!important}
.quickSpeed .quickIcon{background:#1e2e2a!important;color:#86ddbd!important}
.quickPanel .pokeHero{margin-top:8px}
.quickPanel .statTable{margin-top:6px}
.quickPanel h3{margin-top:12px}
@media(max-width:650px){
  .quickSettingsGrid{grid-template-columns:1fr}
}


.clearDefenderBtn{
  width:100%;min-height:36px;border:1px solid #334156;background:#17202d;color:#9ba9bd;
  border-radius:9px;font-size:10px;font-weight:850
}
.noDefender{
  opacity:.58
}
.fighter.noDefender .fighterImage{
  background:#0c131d;border:1px dashed #334055
}
.fighter.noDefender .fighterImage:after{
  content:"?";font-size:28px;color:#526176;font-weight:950
}
.fighter.noDefender .fighterImage img{display:none}


.directionBtn{border:1px solid #36517b;background:#17253a;color:#eaf2ff;border-radius:10px;padding:7px 8px;margin-top:7px;min-width:76px;font-weight:950}
.directionBtn span{display:block;font-size:20px;line-height:1}.directionBtn small{display:block;font-size:8px;color:#8fb7ff;margin-top:3px}
.fighter.attackSource{border-color:#4b8cff;box-shadow:0 0 0 1px #4b8cff55}.fighter.attackTarget{border-color:#35445a}
.opponentMetaBox{background:#0d151f;border:1px solid #2c3b50;border-radius:11px;padding:9px!important}
.opponentMetaHead{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.opponentMetaHead strong{font-size:11px}.opponentMetaHead small{display:block;color:#7f8da2;font-size:8px;margin-top:3px}
.opponentMetaHead button{border:1px solid #35568a;background:#1c3152;color:#9fc2ff;border-radius:8px;padding:6px 7px;font-size:8px;font-weight:900}.opponentMetaHead button:disabled{opacity:.4}
.opponentMetaSummary{display:grid;gap:5px;margin-top:8px}.metaSummaryRow{display:grid;grid-template-columns:48px 1fr;gap:6px;font-size:9px}.metaSummaryRow b{color:#8292aa}.metaSummaryRow span{color:#d6deea;line-height:1.4}.opponentMetaNote{font-size:8px;color:#66768d;margin-top:7px;line-height:1.4}


.opponentUsageCard{background:#101722!important;padding:11px!important}
.usageCardHead{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}
.usageCardHead h2{font-size:14px!important;margin:0!important}
.usageStatus{font-size:9px;color:#8290a5;margin-top:3px}
.usageRetry{border:1px solid #365887;background:#1d3150;color:#a7c6ff;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:900}
.usageRetry:disabled{opacity:.4}
.usageContent{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.usageBlock{background:#17202d;border:1px solid #2a384c;border-radius:10px;padding:8px;min-width:0}
.usageBlock.wide{grid-column:1/-1}
.usageBlockTitle{font-size:9px;color:#8190a7;font-weight:900;margin-bottom:5px}
.usageLine{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 0;border-top:1px solid #222e3e;font-size:10px}
.usageLine:first-of-type{border-top:0}
.usageName{color:#dbe3ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usagePct{color:#8fb7ff;font-weight:950;white-space:nowrap}
.usageSpread{font-size:11px;font-weight:900;color:#e4e9f1;line-height:1.45}
.usageApplied{display:inline-block;margin-left:6px;background:#1f4937;color:#91e4bd;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:900}
.usageWarn{grid-column:1/-1;background:#392b1d;border:1px solid #61462c;color:#e8bd82;border-radius:9px;padding:8px;font-size:9px;line-height:1.5}
.usageError{grid-column:1/-1;background:#351d24;border:1px solid #65313d;color:#eca7b5;border-radius:9px;padding:9px;font-size:9px;line-height:1.5}
.usageEmpty{grid-column:1/-1;color:#738096;text-align:center;padding:10px;font-size:10px}
.usageFoot{font-size:8px;color:#65758c;line-height:1.5;margin-top:7px}
@media(max-width:650px){.usageContent{grid-template-columns:1fr}}


.calcMovePicker{margin:9px 0 10px;padding:10px;background:#111a26;border:1px solid #2a384c;border-radius:12px}
.calcMovePickerTitle{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.calcMovePickerTitle b{font-size:12px;color:#eef3fa}
#calcSelectedMoveLabel{display:inline-block;margin-left:7px;font-size:9px;color:#9fc0ff;background:#1b3152;border-radius:999px;padding:3px 7px;vertical-align:1px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#calcLearnsetState{font-size:8px;color:#77879e;white-space:nowrap}
.calcRegisteredMoves{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:9px}
.calcMoveChoice{border:1px solid #334156;background:#182331;color:#c8d3e2;border-radius:9px;min-height:38px;padding:6px 5px;font-size:9px;font-weight:900;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calcMoveChoice.selected{border-color:#5e96ff;background:#1b3357;color:#fff;box-shadow:0 0 0 1px #5e96ff55}
.calcMoveChoice.empty{opacity:.68;border-style:dashed;cursor:pointer}.calcMoveChoice.activeSlot{box-shadow:0 0 0 2px rgba(96,151,255,.22)}.calcMoveChoice small{display:block;font-size:7px;color:#7890ad;margin-bottom:2px}
.calcMoveSearchWrap{position:relative;margin-top:8px}
#calcMoveSearch{width:100%;min-height:40px;background:#0c141f!important;border:1px solid #334156!important;color:#f4f7fb!important;border-radius:9px;padding:8px 10px;font-size:11px}
.calcMoveSearchResults{position:absolute;z-index:40;left:0;right:0;top:44px;max-height:46vh;overflow-y:auto;background:#101824;border:1px solid #3a4b64;border-radius:10px;box-shadow:0 16px 30px #0008}
.calcMoveSearchBtn{width:100%;border:0;border-top:1px solid #253247;background:#111a27;color:#e1e7f0;padding:9px 10px;text-align:left;font-size:10px;display:flex;justify-content:space-between;gap:8px}
.calcMoveSearchBtn:first-child{border-top:0}.calcMoveSearchBtn small{color:#7f91aa}
.calcMoveSearchEmpty{padding:12px;color:#77879e;font-size:9px}
.calcMovePickerHelp{font-size:8px;color:#6f7e92;margin-top:7px;line-height:1.45}
.moveResultCard.selectedMove{border-color:#83aaff!important;box-shadow:0 0 0 2px rgba(92,145,255,.16)!important}
.selectedMoveTag{font-size:8px;background:#315f9c;color:#d9e8ff;padding:3px 5px;border-radius:999px;margin-left:5px;vertical-align:2px}
.tempMoveTag{font-size:8px;background:#4a3c67;color:#decfff;padding:3px 5px;border-radius:999px;margin-left:5px;vertical-align:2px}
@media(max-width:520px){.calcRegisteredMoves{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v8.0: move selection belongs to quick settings */
.quickMove{grid-column:1/-1}
.quickMove .quickIcon{background:#2c2440!important;color:#c9afff!important}
.quickMove .calcMovePicker{
  margin:0;padding:2px 0 4px;background:transparent;border:0;border-radius:0
}
.quickMove .calcMovePickerTitle{padding:0 1px}
.quickMove .calcMovePickerHelp{margin-bottom:1px}
@media(max-width:650px){
  .quickMove{grid-column:auto}
}


/* v8.0: move picker lives inside the currently attacking side */
.quickMove{display:none!important}
.sideMovePickerMount{
  margin:10px 0 12px;
}
.sideMovePickerMount .calcMovePicker{
  margin:0;
  padding:10px;
  background:#0d1723;
  border:1px solid #26364a;
  border-radius:10px;
}
.sideMovePickerMount .calcMovePickerTitle{
  margin-bottom:2px;
}
.sideMovePickerMount .calcMovePickerTitle>div>b{
  font-size:11px;
}
.sideMoveInactive{
  padding:9px 10px;
  border:1px dashed #2c3a4c;
  border-radius:9px;
  color:#687991;
  font-size:8px;
  line-height:1.5;
  background:#0b131d;
}
.sideMovePickerMount.active .sideMoveInactive{display:none}
.sideMovePickerMount:not(.active):has(.calcMovePicker){display:none}


/* v8.0: iPhone Safari auto-zoom prevention */
@media (max-width: 900px){
  input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea{
    font-size:16px !important;
  }
}


.calcMoveNotice{margin-top:7px;padding:8px 9px;border-radius:8px;font-size:9px;line-height:1.45;background:#132337;border:1px solid #29476c;color:#a9c8f5}
.calcMoveNotice.bad{background:#30191d;border-color:#6a2d37;color:#ffc0c8}


.buildStamp{
  display:inline-flex!important;
  align-items:center;
  background:#5a2b80!important;
  color:#fff!important;
  border:1px solid #a66ee0;
  font-weight:950;
  letter-spacing:.02em;
}
@media(max-width:480px){
  .buildStamp{
    display:inline-flex!important;
    position:relative;
    font-size:9px;
    padding:5px 7px;
  }
}


.calcMoveSearchBtn.selected{
  background:#1b3357;
  color:#fff;
  box-shadow:inset 3px 0 0 #6d9fff;
}


.calcSelectedMoveBanner{
  margin-top:8px;padding:9px 10px;min-height:38px;display:flex;align-items:center;
  border:1px solid #30445e;border-radius:9px;background:#101b29;color:#8292a8;
  font-size:10px;font-weight:850
}
.calcSelectedMoveBanner.active{border-color:#6798e8;background:#172b48;color:#f3f7ff}


/* v8.0: explicit calculator move slot text, Safari-safe */
.calcMoveChoice{
  display:flex!important;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;min-height:48px!important;padding:6px 7px!important;white-space:normal!important;
  overflow:visible!important;text-overflow:clip!important
}
.calcMoveSlotNo{display:block;font-size:8px;line-height:1;color:#8293aa;font-weight:900}
.calcMoveSlotName{display:block;width:100%;font-size:12px;line-height:1.3;font-weight:950;color:#eef5ff!important;-webkit-text-fill-color:#eef5ff!important;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calcMoveChoice.empty .calcMoveSlotName{color:#7d8ba0!important;-webkit-text-fill-color:#7d8ba0!important}
.calcMoveChoice.selected .calcMoveSlotName{color:#fff!important;-webkit-text-fill-color:#fff!important}
.calcSelectedMoveResult{margin-top:7px;padding:8px 9px;border-radius:8px;border:1px solid #2f4867;background:#0f1d2c;color:#a9bdd7;font-size:9px;font-weight:800;line-height:1.45}
.calcSelectedMoveResult.ok{border-color:#38689e;background:#142943;color:#e6f0ff}
.calcSelectedMoveResult.bad{border-color:#70404a;background:#2d1b20;color:#ffc0ca}


/* v8.0: 技1〜4の表示と値をnative selectで一本化 */
.calcRegisteredMoves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.calcMoveSlotField{display:block;min-width:0}
.calcMoveSlotField>span{display:block;margin:0 0 4px 2px;font-size:8px;font-weight:900;color:#8293aa}
.calcMoveSlotSelect{width:100%;min-height:46px;border:1px solid #334963;border-radius:9px;background:#0d1723;color:#edf4ff;font-size:12px;font-weight:900;padding:8px 28px 8px 9px}
.calcMoveSlotSelect.selectedSlot{border-color:#6399ec;box-shadow:0 0 0 2px rgba(99,153,236,.16)}
@media(max-width:900px){.calcMoveSlotSelect{font-size:16px!important}}


.calcMoveSlotStatic{min-width:0;border:1px solid #334963;border-radius:10px;background:#0d1723;padding:7px 8px;cursor:pointer;user-select:none;-webkit-user-select:none}
.calcMoveSlotStatic>span{display:block;margin:0 0 4px 1px;font-size:8px;font-weight:900;color:#8293aa}
.calcMoveSlotStatic.activeSlot{border-color:#6399ec;box-shadow:0 0 0 2px rgba(99,153,236,.16)}
.calcMoveSlotStatic.registered{background:#112033}
.calcMoveSlotValue{display:block;width:100%;min-height:24px;margin:0;padding:2px 0 0;color:#eef5ff;font-size:13px;font-weight:950;line-height:1.45;text-align:left;white-space:normal;overflow-wrap:anywhere}
.calcMoveSlotStatic:not(.registered) .calcMoveSlotValue{color:#78879b}
@media(max-width:900px){.calcMoveSlotValue{font-size:14px}}
