.quick-switch{position:relative}.quick-switch-trigger{display:flex;align-items:center;gap:8px;padding:3px 7px 3px 3px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);font:13px Georgia;cursor:pointer}.quick-switch-trigger:hover,.quick-switch-trigger[aria-expanded="true"]{border-color:rgba(139,88,31,.25);background:rgba(255,250,232,.65)}.quick-switch-trigger b{color:#9e682c}.quick-switch-menu{position:absolute;z-index:20;top:44px;right:0;width:270px;max-height:min(560px,75vh);overflow-y:auto;padding:8px;border:1px solid rgba(111,70,28,.38);border-radius:13px;background:linear-gradient(145deg,rgba(255,250,233,.98),rgba(224,198,150,.98));box-shadow:0 14px 30px rgba(45,28,12,.35)}.quick-switch-menu[hidden]{display:none}.quick-character{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;padding:7px;border:0;border-bottom:1px solid rgba(120,78,32,.13);border-radius:8px;background:transparent;color:#50371f;text-align:left;cursor:pointer}.quick-character:last-child{border-bottom:0}.quick-character:not(.active):hover{background:rgba(255,251,235,.72)}.quick-character.active{background:rgba(190,133,61,.14);cursor:default}.quick-character img{width:42px;height:50px;object-fit:contain;object-position:center bottom}.quick-character span b,.quick-character span small{display:block}.quick-character span b{font-size:14px;font-weight:normal}.quick-character span small{margin-top:3px;color:#8b6339;font:8px monospace}.quick-character em{color:#a25b43;font:7px monospace;font-style:normal;letter-spacing:.08em}.roster-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:26px 29px;border:1px solid rgba(120,80,33,.25);border-radius:19px;background:linear-gradient(100deg,rgba(255,250,232,.9),rgba(236,214,173,.75));box-shadow:0 10px 23px var(--shadow)}.roster-heading h1{margin:0;font-size:42px;font-weight:normal}.roster-heading p:last-child{max-width:620px;margin:10px 0 0;color:#6b5036;line-height:1.55}.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.roster-card{min-height:220px;display:grid;grid-template-columns:150px 1fr;overflow:hidden;border:1px solid rgba(122,78,31,.27);border-radius:16px;background:linear-gradient(145deg,rgba(255,249,231,.93),rgba(229,207,164,.88));box-shadow:0 8px 18px rgba(54,34,15,.19)}.roster-card.active{border-color:rgba(171,110,39,.66);box-shadow:inset 0 0 0 2px rgba(214,166,80,.2),0 9px 20px rgba(54,34,15,.22)}.roster-portrait{display:flex;align-items:end;justify-content:center;background:radial-gradient(circle at 50% 42%,rgba(255,247,218,.65),rgba(126,86,48,.2)),url('/assets/world/alternate-america-background.png') center/cover}.roster-portrait img{display:block;max-width:92%;height:205px;object-fit:contain;object-position:center bottom}.roster-details{padding:19px 17px}.roster-details h2{margin:0;font-size:28px;font-weight:normal}.roster-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.roster-facts span{padding:6px 7px;border:1px solid rgba(120,78,32,.13);border-radius:7px;background:rgba(255,252,240,.44);color:#694b2c;font:8px monospace}.roster-details .brass-button{margin-top:5px;padding:9px 12px}.active-mark{display:inline-block;margin-top:8px;padding:8px 12px;border:1px solid rgba(156,93,47,.4);border-radius:8px;color:#9e533f;background:rgba(255,244,219,.55);font:8px monospace;letter-spacing:.1em}@media(max-width:900px){.roster-grid{grid-template-columns:1fr}}@media(max-width:600px){.quick-switch-trigger #player-name{display:block}.quick-switch-menu{position:fixed;top:70px;right:12px;left:12px;width:auto;max-height:70vh}.roster-heading{padding:21px}.roster-heading h1{font-size:34px}.roster-card{grid-template-columns:115px 1fr;min-height:190px}.roster-portrait img{height:180px}.roster-details{padding:15px 12px}.roster-facts{grid-template-columns:1fr}.roster-heading .chapter-tag{display:none}}
.roster-life-summary{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.roster-life-summary .life-tile{width:auto;max-width:190px;min-width:130px;padding:5px 7px;gap:6px}.roster-life-summary .life-tile-icon{width:28px;height:26px}.roster-life-summary .life-tile-copy b{max-width:125px;font-size:11px}.roster-life-summary .life-tile-copy em{font-size:8px}
.roster-activity-section{margin:9px 0}.roster-activity-section .roster-life-summary{margin:4px 0 6px}.roster-activity-label{margin:0;color:#80603a;font:700 7px monospace;letter-spacing:.11em}.roster-activity-toggle{display:block;width:100%;padding:5px 8px;border:1px solid rgba(135,88,34,.38);border-radius:6px;background:linear-gradient(180deg,rgba(248,235,199,.85),rgba(219,190,135,.78));color:#68461f;box-shadow:0 1px 0 rgba(89,54,21,.26);font:700 7px monospace;letter-spacing:.08em;cursor:pointer}.roster-activity-toggle:hover,.roster-activity-toggle:focus-visible{border-color:#956329;background:linear-gradient(180deg,#f8e9c1,#d7b673);outline:2px solid rgba(137,91,37,.2);outline-offset:1px}
