.pd-root{--pd-area-head:var(--suit-area-head,#9270c2);--pd-area-torso:var(--suit-area-torso,#598cc0);--pd-area-hands:var(--suit-area-hands,#cb8c4d);--pd-area-jewelry:var(--suit-area-jewelry,#e0b329);--pd-area-legs:var(--suit-area-legs,#50a589);--pd-area-weapons:var(--suit-area-weapons,#bc4e4e);--pd-surface:var(--suit-surface,#1a1d33);--pd-surface-2:var(--suit-surface-2,#171a2b);--pd-line:var(--suit-line,#2a3260);--pd-ink:var(--suit-ink,#e7ecf7);--pd-ink-muted:var(--suit-ink-muted,#9aa4c8);--pd-accent:var(--suit-accent,#a0c4ff);--pd-good:var(--suit-good,#6ee7b7);--pd-bad:var(--suit-bad,#ff7a93);color:var(--pd-ink);gap:16px;display:grid}.pd-root.pd-has-aside{grid-template-columns:minmax(220px,360px) 1fr;align-items:start}.pd-canvas{aspect-ratio:3/4;background:var(--pd-surface-2);border:1px solid var(--pd-line);border-radius:12px;position:relative;overflow:hidden}.pd-figure-wrap{color:color-mix(in srgb, var(--pd-ink) 16%, transparent);place-items:stretch stretch;display:grid;position:absolute;inset:4% 22%}.pd-figure{width:100%;height:100%}.pd-figure-img{object-fit:contain;width:100%;height:100%}.pd-slot{aspect-ratio:1;border:1px solid var(--pd-line);background:var(--pd-surface);cursor:pointer;border-radius:10px;place-items:center;width:13%;min-width:34px;padding:0;transition:outline-color .12s,box-shadow .12s,opacity .18s,filter .18s,transform .18s;display:grid;position:absolute;transform:translate(-50%,-50%)}.pd-slot.is-selected{outline:2px solid var(--pd-accent);outline-offset:1px}.pd-slot.is-empty{opacity:.78;border-style:dashed}.pd-slot:focus-visible{outline:2px solid var(--pd-accent);outline-offset:1px}.pd-slot.is-focused{outline:2px solid var(--pd-accent);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb, var(--pd-accent) 28%, transparent), 0 6px 18px color-mix(in srgb, var(--pd-accent) 22%, transparent);z-index:3;opacity:1;transform:translate(-50%,-50%)scale(1.12)}.pd-slot.is-dimmed{opacity:.32;filter:grayscale(.55)}.pd-slot.is-focused.is-empty{opacity:1;border-style:solid}.pd-slot-swatch{aspect-ratio:1;border-radius:7px;place-items:center;width:78%;display:grid;position:relative}.pd-slot.is-filled .pd-slot-swatch{background:color-mix(in srgb, currentColor 22%, var(--pd-surface))}.pd-area-head{color:var(--pd-area-head)}.pd-area-torso{color:var(--pd-area-torso)}.pd-area-hands{color:var(--pd-area-hands)}.pd-area-jewelry{color:var(--pd-area-jewelry)}.pd-area-legs{color:var(--pd-area-legs)}.pd-area-weapons{color:var(--pd-area-weapons)}.pd-slot-abbrev{color:var(--pd-ink-muted);font-size:.7rem;font-weight:700}.pd-slot.is-filled .pd-slot-abbrev{color:currentColor}.pd-slot-img{object-fit:contain;width:100%;height:100%}.pd-slot-badge{background:var(--pd-accent);color:#10131f;border-radius:8px;padding:2px 4px;font-size:.6rem;font-weight:700;line-height:1;position:absolute;top:-6px;right:-6px}.pd-slot-overlay{pointer-events:none;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.pd-slot-label{display:none}.pd-stats{flex-direction:column;gap:10px;display:flex}.pd-stats-title{text-transform:uppercase;letter-spacing:.04em;color:var(--pd-ink-muted);font-size:.8rem}.pd-stats-resists{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px;display:grid}.pd-resist{border:1px solid var(--pd-line);background:var(--pd-surface);border-radius:8px;flex-direction:column;gap:1px;padding:6px 8px;display:flex}.pd-resist.is-met{border-color:color-mix(in srgb, var(--pd-good) 60%, var(--pd-line))}.pd-resist.is-short{border-color:color-mix(in srgb, var(--pd-bad) 55%, var(--pd-line))}.pd-resist-key{text-transform:uppercase;letter-spacing:.03em;color:var(--pd-ink-muted);font-size:.66rem}.pd-resist-val{font-size:1rem;font-weight:700}.pd-resist-cap{color:var(--pd-ink-muted);font-size:.7rem;font-weight:400}.pd-resist-goal{color:var(--pd-ink-muted);font-size:.62rem}.pd-stats-props{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.pd-stat-row{border-bottom:1px solid color-mix(in srgb, var(--pd-line) 50%, transparent);justify-content:space-between;gap:12px;padding:2px 0;font-size:.82rem;display:flex}.pd-stat-row.is-short .pd-stat-val{color:var(--pd-bad)}.pd-stat-row.is-met .pd-stat-val{color:var(--pd-good)}.pd-stat-label{color:var(--pd-ink-muted)}.pd-stat-val{font-variant-numeric:tabular-nums;font-weight:600}.pd-stat-goal{color:var(--pd-ink-muted);font-weight:400}
