/* v0.53 UI redesign — the prep screen before a dungeon / raid (js/prep.js; mock: tools/mock/prep.html) */
.pp-scrim:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { position: fixed; inset: 0; z-index: 900; background: rgba(6, 10, 18, .72); display: flex; align-items: center; justify-content: center; padding: 16px;
  --pp-bg3: #1f2a3d; --pp-warn: #f0a03c; --pp-aa: #e0703c; --pp-sk: #8a6cf0; --pp-tank: #3fae6a; --pp-heal: #4cc6c0; }
.pp:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: min(920px, 100%); max-height: 100%; display: flex; flex-direction: column; background: var(--ui-bg); border: 2px solid var(--ui-gold-d); border-radius: 12px; box-shadow: 0 10px 40px #000a; overflow: hidden; color: var(--ui-text); }
.pp button:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font: inherit; color: inherit; cursor: pointer; }
.pp-head:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { flex-shrink: 0; display: flex; gap: 12px; align-items: center; padding: 12px 16px; background: linear-gradient(180deg, #2a3954, #1f2a3d); border-bottom: 1px solid var(--ui-line); }
.pp-head .boss:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 56px; height: 56px; image-rendering: pixelated; object-fit: contain; background: #0e1626; border: 1px solid var(--ui-line); border-radius: 8px; }
.pp-head .t:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { min-width: 0; }
.pp-head h1:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { margin: 0; font-size: 20px; color: var(--ui-gold); font-weight: normal; }
.pp-head .sub:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { color: var(--ui-muted); font-size: 12px; margin-top: 2px; }
.pp-lean:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { margin-left: auto; text-align: center; padding: 6px 10px; border-radius: 8px; border: 1px solid var(--ui-line); color: var(--ui-muted); font-size: 12px; line-height: 1.2; }
.pp-lean b:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: block; font-size: 15px; font-weight: normal; }
.pp-lean.tank:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--pp-tank); color: var(--pp-tank); } .pp-lean.aa:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--pp-aa); color: var(--pp-aa); }
.pp-lean.sk:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--pp-sk); color: #b9a6ff; } .pp-lean.mixed:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--ui-accent); color: var(--ui-accent); }
.pp-strip:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: none; }
.pp-body:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: grid; grid-template-columns: 1fr 1.25fr; gap: 14px; padding: 14px 16px; overflow: auto; }
.pp-card:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: var(--pp-bg3); border: 1px solid var(--ui-line); border-radius: 10px; padding: 10px 12px; min-width: 0; }
.pp-card h2:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { margin: 0 0 8px; font-size: 13px; color: var(--ui-muted); font-weight: normal; letter-spacing: .06em; text-transform: uppercase; display: flex; justify-content: space-between; gap: 8px; }
.pp-floors:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.pp-floors img:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 36px; height: 36px; image-rendering: pixelated; object-fit: contain; }
.pp-floors .arr:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { color: var(--ui-muted); } .pp-floors .f:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { text-align: center; font-size: 11px; color: var(--ui-muted); }
.pp-hit:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { margin-top: 10px; }
.pp .bar:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { height: 10px; border-radius: 5px; background: #0e1626; border: 1px solid var(--ui-line); overflow: hidden; position: relative; }
.pp .bar i:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: block; height: 100%; }
.pp .bar .wall:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { position: absolute; top: -3px; bottom: -3px; width: 2px; background: var(--ui-gold); }
.pp .row:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--ui-muted); margin-top: 4px; }
.pp .row b:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { color: var(--ui-text); font-weight: normal; }
.pp .m:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { color: var(--ui-muted); font-size: 12px; }
.pp-rule:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 7px 0; border-top: 1px solid #2f3e58; }
.pp-rule:first-of-type:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-top: 0; }
.pp-rule .ico:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 28px; height: 28px; border-radius: 7px; display: grid; place-items: center; font-size: 14px; background: #2a3954; }
.pp-rule .ico.warn:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: #4a2d14; color: var(--pp-warn); } .pp-rule .ico.wall:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: #22324d; color: var(--ui-accent); } .pp-rule .ico.env:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: #3a2434; color: #f08ab0; }
.pp-rule b:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-weight: normal; }
.pp-rule p:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { margin: 2px 0 0; color: var(--ui-muted); font-size: 12px; line-height: 1.35; }
.pp-need:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: inline-block; margin-top: 4px; font-size: 11px; padding: 1px 6px; border-radius: 999px; border: 1px solid var(--ui-good); color: var(--ui-good); }
.pp-need.miss:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--ui-bad); color: var(--ui-bad); }
.pp-form:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: grid; gap: 8px; }
.pp-row:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: grid; grid-template-columns: 52px 1fr; gap: 8px; }
.pp-row > span:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { writing-mode: vertical-rl; transform: rotate(180deg); text-align: center; font-size: 11px; color: var(--ui-muted); letter-spacing: .12em; border: 1px dashed var(--ui-line); border-radius: 8px; padding: 4px 0; }
.pp .slots:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: grid; gap: 8px; }
.pp .slots.f1:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { grid-template-columns: 1fr; } .pp .slots.f2:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { grid-template-columns: repeat(2, 1fr); } .pp .slots.f3:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { grid-template-columns: repeat(3, 1fr); }
.pp-mon:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { position: relative; background: var(--ui-bg2); border: 1px solid var(--ui-line); border-radius: 10px; padding: 8px 6px; display: flex; flex-direction: column; align-items: center; gap: 3px; min-height: 132px; min-width: 0; cursor: pointer; }
.pp-mon.tank:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--pp-tank); box-shadow: inset 0 0 0 1px #3fae6a55; } .pp-mon.ward:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--ui-accent); }
.pp-mon.empty:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { justify-content: center; border-style: dashed; color: var(--ui-muted); font-size: 22px; background: transparent; }
.pp-mon.empty small:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 11px; }
.pp-mon img:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 48px; height: 48px; image-rendering: pixelated; object-fit: contain; }
.pp-mon .n:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 13px; text-align: center; line-height: 1.1; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-mon .lv:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 11px; color: var(--ui-muted); }
.pp-mon .pp-x:not(:where(#inst,#v2dock,#v2hud,#v2talk) *), .pp-mon .pp-lane:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { position: absolute; top: 4px; background: none; border: 0; padding: 2px 4px; font-size: 13px; color: var(--ui-muted); }
.pp-mon .pp-x:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { right: 26px; }
.pp-mon .pp-rm:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { position: absolute; top: 4px; right: 4px; background: none; border: 0; padding: 2px 4px; font-size: 13px; color: var(--ui-bad); } /* 7.10.22 remove from squad */ .pp-mon .pp-lane:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { left: 4px; }
.pp-ward:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { position: absolute; top: -8px; left: 50%; transform: translateX(-50%); font-size: 10px; color: #062; background: var(--ui-accent); border-radius: 999px; padding: 0 6px; white-space: nowrap; }
.pp-chip:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: inline-block; font-size: 10px; padding: 1px 6px; border-radius: 999px; color: #fff; white-space: nowrap; margin: 1px; }
.pp-chip.aa:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: var(--pp-aa); } .pp-chip.sk:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: var(--pp-sk); } .pp-chip.tank:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: var(--pp-tank); } .pp-chip.heal:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: var(--pp-heal); color: #052; }
.pp-hp:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 100%; height: 5px; border-radius: 3px; background: #0e1626; overflow: hidden; } .pp-hp i:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: block; height: 100%; background: var(--ui-good); }
.pp-kit:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { margin-top: 8px; background: #16301f; border: 1px solid var(--pp-tank); border-radius: 10px; padding: 8px 10px; font-size: 12px; }
.pp-kit.miss:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: #3a1820; border-color: var(--ui-bad); color: #ffb3bd; }
.pp-kit .top:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.pp-kit .rel:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 18px; color: var(--ui-good); }
.pp-kit .k:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: flex; flex-wrap: wrap; gap: 5px; }
.pp-kit .k span:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { padding: 2px 7px; border-radius: 6px; background: #22324d; color: var(--ui-muted); }
.pp-kit .k span.on:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: #1f4a30; color: #bff0cf; border: 1px solid var(--ui-good); }
.pp-orders:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: grid; gap: 8px; margin-top: 10px; }
.pp-seg:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: flex; flex-wrap: wrap; gap: 4px; }
.pp-seg .lab:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 100%; font-size: 12px; color: var(--ui-muted); }
.pp-seg button:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { flex: 1 1 auto; font-size: 12px; background: #22324d; border: 1px solid var(--ui-line); border-radius: 7px; padding: 6px 8px; }
.pp-seg button.on:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--ui-gold); background: #3a3420; color: var(--ui-gold); }
.pp-foot:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { flex-shrink: 0; display: flex; gap: 10px; padding: 10px 16px; border-top: 1px solid var(--ui-line); background: #18202e; align-items: center; }
.pp-foot .why:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 12px; color: var(--ui-muted); flex: 1; }
.pp-foot .why b:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { color: var(--ui-good); font-weight: normal; } .pp-foot .why i:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { color: var(--ui-bad); font-style: normal; }
.pp-btn:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 15px; border-radius: 9px; padding: 10px 18px; border: 1px solid var(--ui-line); background: #22324d; }
.pp-btn.go:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: linear-gradient(180deg, #3a8fd6, #2a6fb0); border-color: #6cb6f0; min-width: 170px; }
.pp-btn:disabled:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { opacity: .5; cursor: default; }/* the swap sheet */

.pp-sheet:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { position: fixed; left: 50%; transform: translateX(-50%); bottom: 0; width: min(560px, 100%); max-height: 78%; display: flex; flex-direction: column; background: var(--ui-bg); border: 2px solid var(--ui-gold-d); border-bottom: 0; border-radius: 14px 14px 0 0; box-shadow: 0 -10px 40px #000c; z-index: 2; }
.pp-sheet .grab:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 44px; height: 5px; border-radius: 3px; background: var(--ui-line); margin: 8px auto 4px; cursor: pointer; }
.pp-sheet h3:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { margin: 4px 16px 8px; font-weight: normal; color: var(--ui-gold); font-size: 16px; }
.pp-filters:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: flex; gap: 6px; overflow-x: auto; padding: 0 16px 8px; flex-shrink: 0; }
.pp-filters button:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 12px; white-space: nowrap; border-radius: 999px; border: 1px solid var(--ui-line); background: #22324d; padding: 5px 12px; }
.pp-filters button.on:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--ui-gold); color: var(--ui-gold); }
.pp-list:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { overflow: auto; padding: 0 10px 12px; }
.pp-item:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: grid; grid-template-columns: 44px 1fr auto; gap: 10px; align-items: center; width: 100%; text-align: left; padding: 8px; border-radius: 9px; border: 1px solid transparent; background: none; }
.pp-item:nth-child(odd):not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { background: #1f2a3d; }
.pp-item.in:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--ui-gold-d); }
.pp-item img:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 44px; height: 44px; image-rendering: pixelated; object-fit: contain; }
.pp-item .n:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: block; font-size: 14px; } .pp-item .m:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: block; font-size: 11px; color: var(--ui-muted); margin-top: 2px; }
.pp-item .fit:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 11px; text-align: right; } .pp-item .ok:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { color: var(--ui-good); } .pp-item .no:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { color: var(--ui-bad); }
.pp-scrim.sheet-open .pp:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { filter: brightness(.6); }
@media (max-width: 760px) {
  .pp-scrim:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { padding: 0; align-items: stretch; }
  .pp:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-radius: 0; border-width: 0; height: 100%; width: 100%; }
  .pp-head:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { padding: 10px 12px; } .pp-head .boss:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 44px; height: 44px; } .pp-head h1:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 17px; }
  .pp-head .sub:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pp-strip:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: flex; flex-shrink: 0; gap: 6px; overflow-x: auto; padding: 8px 12px; border-bottom: 1px solid var(--ui-line); background: #18202e; }
  .pp-strip span:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { white-space: nowrap; font-size: 12px; padding: 4px 9px; border-radius: 999px; background: #22324d; border: 1px solid var(--ui-line); }
  .pp-strip span.warn:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--pp-warn); color: var(--pp-warn); } .pp-strip span.ok:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { border-color: var(--ui-good); color: var(--ui-good); }
  .pp-body:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { grid-template-columns: 1fr; padding: 10px 12px; gap: 10px; }
  .pp-card.pp-info:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { order: 2; } .pp-card.pp-squad:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { order: 1; }
  .pp-row:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { grid-template-columns: 22px 1fr; }
  .pp-mon:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { min-height: 112px; padding: 6px 4px; } .pp-mon img:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 40px; height: 40px; } .pp-mon .n:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { font-size: 12px; }
  .pp-foot:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { padding: 10px 12px; } .pp-foot .why:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { display: none; } .pp-btn.go:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { flex: 1; min-width: 0; }
  .pp-sheet:not(:where(#inst,#v2dock,#v2hud,#v2talk) *) { width: 100%; border-left: 0; border-right: 0; }
}
.pp-traits em{font-style:normal;font-weight:600;opacity:.7;margin-right:4px}
/* owner 5 Nov: the squad builder - search + skill-effect filter in the swap sheet, what each Digimon's equipped skills do, per-dungeon memory */
.pp-find{display:flex;gap:6px;padding:0 16px 8px;flex-wrap:wrap}
.pp-find .pp-q{flex:1 1 160px;min-width:0;font-size:13px;padding:6px 10px;border-radius:8px;border:1px solid var(--ui-line);background:#0f1729;color:inherit}
.pp-find .pp-eff{flex:0 1 180px;max-width:100%;font-size:12px;padding:5px 8px;border-radius:999px;border:1px solid var(--ui-line);background:#22324d;color:inherit}
.pp-effwarn{margin:0 16px 8px;padding:6px 10px;border-radius:8px;background:rgba(226,52,42,.15);border:1px solid rgba(226,52,42,.5);font-size:12px;color:#ffb3ad}
.pp-sk{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px;justify-content:inherit}
.pp-sk i{font-style:normal;font-size:10px;line-height:14px;padding:0 5px;border-radius:4px;background:#2a3d5c;color:#cfe2ff}
.pp-sk i.off{background:#3a2226;color:#ff9c94;text-decoration:line-through}
.pp-mon .pp-sk{justify-content:center}
.pp-hit{display:block;font-size:11px;margin-top:2px;color:var(--ui-gold)}
.pp-hit b{font-weight:600}.pp-hit b.off{color:#ff9c94;font-weight:400}
.pp-memo{font-size:11px;color:var(--ui-gold);font-weight:400;letter-spacing:0}
