/* Companion-only layout. Colours and cards come from styles.css/themes.css so both themes stay correct. */
.companion-page main{max-width:60rem;margin:0 auto;padding:1.5rem 1rem 3rem;}
.companion-back{display:inline-block;margin-bottom:1rem;}
.companion-name{font-size:1.25rem;font-weight:700;margin:0 0 .5rem;}
.companion-facts{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0 0 1rem;}
.companion-facts dt{font-weight:600;opacity:.8;}
.companion-facts dd{margin:0;}
.companion-gear{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem;}
.companion-slot{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .65rem;border-radius:.6rem;background:rgb(0 0 0 / 4%);}
.companion-slot-name{text-transform:capitalize;font-size:.8rem;opacity:.75;}
.companion-bank-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;}
.companion-bank-heading h2{margin:0;}
@media (prefers-color-scheme:dark){.companion-slot{background:rgb(255 255 255 / 6%);}}

.companion-overview{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(15rem,1.25fr);gap:1.5rem;align-items:start;}
.companion-doll{background:rgb(0 0 0 / 5%);border-radius:1rem;overflow:hidden;}
.companion-doll canvas{display:block;width:100%;max-height:44rem;object-fit:contain;}
.companion-tush canvas{display:block;max-width:100%;width:20rem;height:auto;border-radius:.75rem;}
.companion-facts{grid-template-columns:repeat(2,minmax(0,1fr));font-variant-numeric:tabular-nums;}
.companion-page td.wrap{white-space:normal;overflow-wrap:anywhere;}
.companion-page progress{width:100%;accent-color:var(--pink);} /* --accent is defined by no theme; the absorption meter must follow the real theme token. */
/* Item category tabs: the game's four battle groups plus All, sized for thumbs as well as pointers. */
.companion-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .75rem;}
.companion-tab{display:inline-flex;align-items:center;gap:.4rem;min-height:2.25rem;padding:.35rem .85rem;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.05em;cursor:pointer;} /* A filled pill so an unselected tab still reads as a control, not as a caption. */
.companion-tab:hover{border-color:var(--pink);color:var(--pink);}
.companion-tab[aria-selected="true"]{background:var(--pink);border-color:var(--pink);color:var(--page);}
.companion-tab-count{font-weight:600;font-size:.72rem;opacity:.75;font-variant-numeric:tabular-nums;}
.companion-page #inventory:focus-visible{outline:2px solid var(--pink);outline-offset:2px;border-radius:.5rem;}
@media(max-width:38rem){.companion-overview{grid-template-columns:1fr;}.companion-doll canvas{max-height:32rem;}.companion-page main{padding-inline:.75rem;}}
