:root {
 --bg:#090d14;--panel:#111722;--panel2:#171f2c;--card:#151c27;--line:#293242;--ink:#f7f9fc;
 --muted:#96a0b2;--blue:#4f8cff;--blue2:#2868e8;--green:#3dd598;--red:#ff6274;--gold:#f2bf59;
 font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);min-height:100%;}
button,input,select{font:inherit}
button{cursor:pointer}
.app{max-width:1050px;margin:auto;padding:14px 12px 96px}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px}
.brand h1{font-size:21px;margin:0} .brand p{font-size:11px;color:var(--muted);margin:4px 0 0}
.status{font-size:10px;color:#b8c7df;background:#142239;border:1px solid #253b60;padding:6px 8px;border-radius:999px;white-space:nowrap}
.topbar{display:flex;align-items:center;gap:8px;margin:10px 0 14px}
.backBtn{border:0;background:var(--panel2);color:var(--ink);border-radius:11px;padding:9px 12px;font-weight:850}
.viewTitle{font-size:20px;font-weight:950;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.primary{border:0;background:var(--blue2);color:#fff;border-radius:11px;padding:10px 13px;font-weight:900}
.secondary{border:1px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:10px;padding:9px 11px;font-weight:800}
.danger{border:1px solid #6a2630;background:#2a151a;color:#ff9aa7;border-radius:10px;padding:9px 11px;font-weight:800}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:13px}
.partyList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.partyCard{background:linear-gradient(145deg,#171f2b,#111722);border:1px solid var(--line);border-radius:17px;padding:13px;min-width:0}
.partyCard.active{border-color:#467fd8;box-shadow:0 0 0 2px rgba(79,140,255,.13)}
.partyCardHead{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.partyCardName{font-size:16px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activeTag{font-size:9px;background:#18365f;color:#8eb9ff;border-radius:999px;padding:4px 6px;flex:none}
.miniMons{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:11px 0}
.miniMon{aspect-ratio:1;border-radius:11px;background:#0c1119;border:1px solid #222d3c;display:flex;align-items:center;justify-content:center;overflow:hidden}
.miniMon img{width:100%;height:100%;object-fit:contain} .miniMon.empty{color:#536076;font-size:18px}
.partyMeta{font-size:10px;color:var(--muted);margin:7px 0}
.partyActions{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.partyActions button{min-height:36px;padding:6px 4px;font-size:10px}
.emptyState{grid-column:1/-1;text-align:center;padding:45px 15px;color:var(--muted)}
.teamGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.monCard{background:linear-gradient(145deg,#171f2b,#111722);border:1px solid var(--line);border-radius:17px;padding:12px;min-height:222px;position:relative}
.monCard.empty{display:flex;align-items:center;justify-content:center;border-style:dashed;color:var(--muted);flex-direction:column;gap:8px}
.monCard.empty .plus{font-size:34px;color:#6780a4}
.monTop{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center}
.monImg{width:88px;height:88px;border-radius:15px;background:radial-gradient(circle,#27364d 0,#101720 66%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.monImg img{width:100%;height:100%;object-fit:contain}
.monName{font-size:17px;font-weight:950;line-height:1.2}
.typeRow{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px} .type{font-size:9px;padding:4px 7px;border-radius:999px;background:#243044;color:#d8e2f2}
.monInfo{font-size:10px;color:#aeb7c7;line-height:1.6;margin-top:8px}
.moveGrid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px}
.moveChip{background:#0d131c;border:1px solid #242e3d;border-radius:8px;padding:6px 7px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spLine{font-size:9px;color:#7f8ba0;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.editor{position:fixed;inset:0;background:#0b1018;z-index:100;display:flex;align-items:stretch;justify-content:center}
.editor[hidden]{display:none}
.sheet{width:min(820px,100%);height:100dvh;max-height:100dvh;background:#0e141e;border:0;border-radius:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 13px calc(118px + env(safe-area-inset-bottom))}
.sheetHead{display:flex;align-items:center;gap:9px;position:sticky;top:0;background:#0e141ef5;backdrop-filter:blur(10px);padding:calc(10px + env(safe-area-inset-top)) 0 10px;z-index:30;border-bottom:1px solid #263143}
.sheetTitle{font-size:18px;font-weight:950;flex:1}
.editorHero{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:11px;margin-bottom:11px}
.editorImg{width:110px;height:110px;border-radius:16px;background:radial-gradient(circle,#27364d 0,#101720 66%);overflow:hidden} .editorImg img{width:100%;height:100%;object-fit:contain}
.editorName{font-size:20px;font-weight:950}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.field{display:flex;flex-direction:column;gap:5px;position:relative}
.wide{grid-column:1/-1}
label{font-size:10px;color:var(--muted);font-weight:850}
input,select{width:100%;min-height:43px;background:#131b27;color:var(--ink);border:1px solid #313c4e;border-radius:11px;padding:9px 10px;outline:none}
input:focus,select:focus{border-color:#4f8cff;box-shadow:0 0 0 3px rgba(79,140,255,.12)}
.results{position:absolute;left:0;right:0;top:100%;z-index:20;background:#101722;border:1px solid #344055;border-radius:12px;max-height:280px;overflow:auto;padding:5px;margin-top:3px;box-shadow:0 16px 35px #0008}
.results[hidden]{display:none}
.resultBtn{width:100%;border:0;background:transparent;color:var(--ink);padding:9px 8px;border-radius:8px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px}
.resultBtn:active,.resultBtn:hover{background:#1a2535}
.resultMain{display:flex;align-items:center;gap:8px;min-width:0} .resultMain img{width:34px;height:34px;object-fit:contain;background:#0a1018;border-radius:9px}
.resultBtn small{font-size:9px;color:var(--muted)}
.sectionTitle{font-size:12px;font-weight:950;margin:15px 0 8px;color:#dbe5f5}
.spRows{display:grid;gap:7px;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:10px}
.spRow{display:grid;grid-template-columns:56px 48px 1fr 33px 50px;gap:6px;align-items:center}
.spName{font-size:10px;font-weight:850} .baseStat{font-size:9px;color:var(--muted);text-align:center} .realStat{font-size:12px;font-weight:950;text-align:right}
input[type=range]{min-height:28px;height:28px;padding:0;border:0;box-shadow:none;background:transparent;accent-color:#4f8cff}
.spVal{font-size:11px;font-weight:900;text-align:center;color:#8eb9ff}
.spTotal{display:flex;justify-content:space-between;background:#132239;border:1px solid #26446f;border-radius:11px;padding:8px 10px;margin-top:8px;font-size:10px} .spTotal.bad{background:#2a151a;border-color:#6a2630;color:#ff9aa7}
.moves{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.moveField{position:relative}
.moveHelp{font-size:9px;color:var(--muted);margin-top:6px;line-height:1.5}
.itemCount{font-size:9px;color:#8090a6;margin-top:4px}
.sheetActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}
.bottomNav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(1050px,100%);height:70px;background:#0b1019ee;backdrop-filter:blur(10px);border-top:1px solid #263143;display:grid;grid-template-columns:1fr 1fr;z-index:50;padding-bottom:env(safe-area-inset-bottom)}
.navItem{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#77869d;font-size:12px;font-weight:900} .navItem.active{color:#7aabff}
.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:#202b3b;color:#fff;padding:9px 13px;border-radius:999px;font-size:11px;z-index:200;box-shadow:0 8px 25px #0008}
.toast[hidden]{display:none}
@media(max-width:700px){.partyList{grid-template-columns:1fr}}
@media(max-width:520px){
 .app{padding:10px 9px 92px} .teamGrid{gap:7px} .monCard{padding:9px;min-height:205px} .monTop{grid-template-columns:68px 1fr;gap:7px}
 .monImg{width:68px;height:68px} .monName{font-size:14px} .partyActions{grid-template-columns:1fr 1fr} .fields{grid-template-columns:1fr}
 .wide{grid-column:auto} .moves{grid-template-columns:1fr} .editorHero{grid-template-columns:82px 1fr} .editorImg{width:82px;height:82px}
 .spRow{grid-template-columns:45px 38px 1fr 28px 42px;gap:4px} .sheet{padding-left:10px;padding-right:10px}
}

.editorSaveDock{
 position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);
 width:min(794px,calc(100% - 20px));display:grid;grid-template-columns:110px 1fr;gap:8px;
 background:#101722f2;border:1px solid #354156;border-radius:16px;padding:8px;z-index:160;
 box-shadow:0 12px 35px #000a;backdrop-filter:blur(12px)
}
.editorSaveDock button{min-height:48px;font-size:14px}
.sheetActions{margin-bottom:12px}


.moveResults{max-height:52vh!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
.moveResults .resultBtn{min-height:40px}


/* 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;
  }
}
