.roster-companion .roster-companion-heading{margin-bottom:18px}.roster-companion .roster-companion-heading h1{margin:0 0 6px;font-size:clamp(28px,3.2vw,38px)}.roster-companion .roster-companion-heading p{max-width:60ch;color:var(--ah-muted);margin:0;font-size:13px;line-height:1.45}.roster-companion .roster-view-controls{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;display:grid}.roster-companion .roster-view-controls .companion-tab{text-align:left;min-width:0;min-height:64px}.roster-companion .roster-view-controls .companion-tab>span{min-width:0}.roster-companion .roster-view-controls strong,.roster-companion .roster-view-controls small{display:block}.roster-companion .roster-view-controls small{color:var(--ah-muted);white-space:normal;margin-top:3px;font-size:11px;font-weight:550;line-height:1.3}.roster-companion .roster-view[hidden]{display:none}.roster-companion .roster-view-controls button:focus-visible,.roster-companion .roster-filter-disclosure>summary:focus-visible,.roster-companion .roster-party-pick:focus-visible,.roster-companion .roster-need-actions a:focus-visible,.roster-companion .roster-need-actions button:focus-visible,.roster-companion .roster-collection-summary button:focus-visible{outline:3px solid var(--ah-focus);outline-offset:3px}.roster-companion .roster-advice-panel{max-width:960px}.roster-companion .roster-filter-disclosure{border-top:1px solid var(--ah-line);min-width:0}.roster-companion .roster-filter-disclosure>summary{min-height:44px;color:var(--ah-accent);cursor:pointer;align-items:center;gap:8px;padding:4px 2px;font-size:12px;font-weight:750;list-style:none;display:flex}.roster-companion .roster-filter-disclosure>summary::-webkit-details-marker{display:none}.roster-companion .roster-filter-disclosure>summary:after{content:"+";margin-inline-start:auto;font-size:20px;line-height:1}.roster-companion .roster-filter-disclosure[open]>summary:after{content:"−"}.roster-companion .roster-filter-options{gap:6px;min-width:0;padding-block:2px 6px;display:grid}.roster-companion .roster-party-slots li{padding:0;display:block}.roster-companion .roster-party-pick{border-radius:inherit;width:100%;min-width:0;min-height:65px;color:var(--ah-text);text-align:left;cursor:pointer;transition:background var(--ah-motion-quick);background:0 0;border:0;grid-template-columns:23px 44px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.roster-companion .roster-party-pick:hover:not(:disabled){background:var(--ah-surface-3)}.roster-companion .roster-party-pick:disabled{cursor:default}.roster-companion .roster-slot-state{align-items:center;gap:4px;display:inline-flex}.roster-companion .roster-slot-state svg{width:14px;height:14px}.roster-companion .roster-need-actions{flex-wrap:wrap;grid-column:2;gap:4px 12px;display:flex}.roster-companion .roster-need-actions a,.roster-companion .roster-need-actions button,.roster-companion .roster-collection-summary button{min-height:44px;color:var(--ah-accent);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;padding:6px 0;font-size:12px;font-weight:750;display:inline-flex}.roster-companion .roster-need-actions a:hover,.roster-companion .roster-need-actions button:hover,.roster-companion .roster-collection-summary button:hover{text-decoration:underline}.roster-companion .roster-need-actions svg,.roster-companion .roster-advice-empty .button svg{flex:none;width:16px;height:16px}.roster-companion .roster-advice-empty{min-height:0;margin-top:14px}.roster-companion .roster-advice-empty .button{justify-self:start;gap:8px;min-height:44px;margin-top:14px}.roster-companion .roster-collection-summary{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin:3px 0;display:flex}.roster-companion .roster-collection-summary .roster-summary{margin:0;font-size:12px}.roster-companion .roster-collection-summary button{flex:none}.roster-companion .roster-catalog-note{margin:20px 0 8px}.roster-companion .roster-asset-note{margin-top:8px}@media (max-width:620px){.roster-companion .roster-companion-heading{margin-bottom:10px}.roster-companion .roster-companion-heading h1{margin-bottom:4px;font-size:27px}.roster-companion .roster-companion-heading p{font-size:12px}.roster-companion .roster-view-controls{gap:5px;margin-block:10px}.roster-companion .roster-view-controls .companion-tab{grid-template-columns:18px minmax(0,1fr);align-content:center;align-items:center;gap:6px;min-height:60px;padding:8px 6px;display:grid}.roster-companion .roster-view-controls .companion-tab>svg{width:18px;height:18px}.roster-companion .roster-view-controls strong{font-size:12px}.roster-companion .roster-view-controls small{margin-top:0;font-size:10px}.roster-companion .roster-toolbar{box-shadow:none;gap:6px;padding:8px}.roster-companion .roster-collection-summary{margin-block:0}.roster-companion .creature-card{padding:10px}.roster-companion .creature-card .creature-top{grid-template-columns:56px minmax(0,1fr);gap:7px 9px}.roster-companion .creature-card .creature-portrait{width:56px;height:56px}.roster-companion .creature-title-row h3{font-size:15px}.roster-companion .roster-filter-row{gap:4px}.roster-companion .roster-filter-row button{padding-inline:10px}}@media (max-width:360px){.roster-companion .roster-view-controls .companion-tab{gap:4px;padding-inline:5px}.roster-companion .roster-view-controls strong{font-size:11px}.roster-companion .roster-party-pick{grid-template-columns:16px 38px minmax(0,1fr) auto;gap:6px;padding:8px 6px}.roster-companion .roster-slot-state svg{display:none}}
