.party-shell{min-width:0}.party-heading{margin:0 0 10px}.party-count{margin:0;color:var(--muted);font:var(--size-caption)/1.4 var(--head)}.party-heading h3,.party-companion h3,.party-recruit h3{font:500 var(--size-lead)/1.3 var(--head);margin:.25rem 0;color:var(--accent)}.party-heading h3 span{float:right;font-size:var(--size-small);color:var(--muted)}
.party-roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:20px}.party-slot{min-width:0;display:flex;align-items:center;flex-direction:column;gap:5px;padding:10px 4px 8px;border-radius:var(--radius-lg);background:var(--surface-low);font-family:var(--head)}.party-slot.selected{border-color:var(--accent);background:rgb(var(--accent-900-rgb) / .45);box-shadow:inset 0 0 0 1px var(--accent-600)}.party-slot b{font-size:var(--size-label);max-width:100%;overflow-wrap:anywhere;text-align:center;line-height:1.25}.party-slot small{font-size:var(--size-tiny);color:var(--muted);line-height:1.3}.party-face{display:flex;align-items:center;justify-content:center;width:clamp(42px,5vw,60px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;overflow:hidden;color:var(--accent);background:var(--field);font:500 20px var(--head);flex:none}.party-face img{width:100%;height:100%;object-fit:cover}.party-slot.vacant{border-style:dashed;justify-content:flex-start;color:var(--muted)}.party-slot.vacant .party-face{border-style:dashed;color:var(--muted)}.party-hp{width:80%;height:4px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:auto}.party-hp>span{display:block;height:100%;background:var(--accent)}
.party-guidance{padding:14px;margin:14px 0 18px;border:1px solid var(--line);border-radius:var(--radius-lg)}.party-guidance label{display:block;font:500 var(--size-small) var(--head);margin-bottom:8px}.party-guidance select{width:100%;background:var(--field);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px}.party-guidance .hint{margin:9px 0 0}.party-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.party-actions button{font-size:var(--size-small);min-height:42px}.party-actions button:disabled{opacity:.5;cursor:default}.party-recruit p{font-size:var(--size-small);line-height:1.55}.party-recruit article{padding:14px 0;border-bottom:1px solid var(--line)}.party-recruit article>strong,.party-recruit article>span{display:block}.party-recruit .party-actions{margin-bottom:0}.party-companion .sheet-top{margin-top:15px}.party-companion .npc-figure{width:100%}
@media(max-width:800px){.party-face{width:52px}.party-roster{gap:6px}.party-slot{padding-top:11px}.party-slot b{font-size:12px}.party-slot small{font-size:11px}}
@media(max-width:360px){.party-face{width:44px}.party-roster{gap:4px}.party-slot small{font-size:10px}}

.party-progression{padding:14px;border:1px solid var(--line);margin-top:14px}.party-progression>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.party-progression progress{display:block;width:100%;height:8px;margin:12px 0;accent-color:var(--accent)}.party-progression dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.party-progression dl>div{display:flex;flex-direction:column;justify-content:space-between}.party-progression dt{font-size:var(--size-tiny);color:var(--muted)}.party-progression dd{margin:4px 0 0;font-family:var(--head);color:var(--accent)}.party-progression .hint{margin-bottom:0}@media(max-width:360px){.party-progression dl{grid-template-columns:repeat(3,minmax(0,1fr))}}
