html{scroll-padding-top:var(--session-flow-offset,0px)}
.player-identity{--identity-color:#d5b77d;display:inline-flex;position:relative;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border:1px solid var(--identity-color);border-radius:50%;background:#172720;color:var(--identity-color);vertical-align:middle;overflow:hidden;box-shadow:inset 0 0 0 3px #102019}
.player-identity svg{position:absolute;inset:7px;width:30px;height:30px;opacity:.25}.player-identity b{font:700 14px/1 system-ui;position:relative}.player-identity img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:auto}.player-identity img:not([src]){display:none}.player-identity:has(img[src]) svg{opacity:.12}.player-identity i{position:absolute;right:1px;bottom:0;font:700 9px/1.3 system-ui;color:#1a241d;background:#dec18b;padding:1px 3px;border-radius:4px}.identity-small{width:30px;height:30px;flex-basis:30px}.identity-small svg{inset:4px;width:20px;height:20px}.identity-small b{font-size:10px}.identity-current{box-shadow:0 0 0 2px #d8bd7c,inset 0 0 0 3px #102019}
.session-flow{position:sticky;top:6px;z-index:12;margin:0 0 12px;border:1px solid #65735c;border-radius:10px;background:#17271ff5;box-shadow:0 8px 22px #0005;backdrop-filter:blur(8px);padding:14px 18px}.session-flow-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:14px}.session-flow-copy{min-width:0}.session-flow-copy>small{display:block;color:#b7c6b8;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.session-flow-copy>strong{display:block;font:700 20px/1.25 Georgia,serif;color:#ead5a6;overflow-wrap:anywhere}.session-flow-copy p{margin:4px 0 0;color:#c4cfc4;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.session-who{font-size:12px;color:#e2d5b3}.session-your-turn{border-color:#c7ab69;background:#243224f8}.session-step-number{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid #95815b;border-radius:50%;color:#e6c98c;font:24px Georgia,serif;background:#1b281d}.session-steps{grid-column:2/-1;display:flex;gap:16px;list-style:none;padding:0;margin:9px 0 0;font-size:11px;color:#aab9aa}.session-steps li{display:flex;align-items:center;gap:6px}.session-steps li>span{display:grid;place-items:center;width:18px;height:18px;border:1px solid #56664f;border-radius:50%;font-size:10px}.session-steps [aria-current=step]{color:#f2d599;font-weight:bold}.session-steps [aria-current=step]>span{background:#d1b376;color:#1b251b;border-color:#d1b376}.session-steps .done{color:#9fbea5}
.session-roster{margin:0 0 20px;padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:#16221b}.session-roster summary{display:flex;align-items:center;gap:14px;cursor:pointer;font-size:12px;color:#c9d2c5;list-style:none}.session-roster summary:after{content:'⌄';margin-left:auto}.session-roster[open] summary:after{content:'⌃'}.participant-miniatures{display:flex;flex-wrap:wrap;gap:6px}.participant-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:10px;padding-top:12px}.participant-card{display:flex;align-items:center;gap:12px;text-align:left;background:#1c2a20;border-color:#455540;min-width:0}.participant-card>span:last-child{display:flex;flex-direction:column;min-width:0;gap:1px}.participant-card strong{overflow-wrap:anywhere}.participant-card>span:last-child>span{font-size:11px;color:#c3cdbd}.participant-card:disabled{opacity:1;cursor:default}.participant-waiting{border-color:#b39a66}.member-identity-row{display:flex;align-items:center;gap:10px;padding:8px 0}.member-identity-row small{display:block}
@media(max-width:650px){.session-flow{top:0;padding:10px;border-radius:7px}.session-flow-main{column-gap:9px;grid-template-columns:32px minmax(0,1fr)}.session-flow .player-identity,.session-step-number{width:32px;height:32px;flex-basis:32px}.session-flow-copy>strong{font-size:16px}.session-flow-copy p{display:none}.session-flow-main>button{grid-column:2;justify-self:start;margin-top:6px;font-size:12px;padding:7px 10px}.session-steps{grid-column:1/-1;gap:8px;font-size:9px;justify-content:space-between;margin-top:8px}.session-steps li{gap:3px}.session-steps li>span{width:16px;height:16px}.participant-miniatures{gap:4px}.identity-small{width:26px;height:26px;flex-basis:26px}.session-roster summary{flex-wrap:wrap;gap:7px}.roster-hint{display:none}.session-roster{padding:9px;margin-bottom:12px}.session-flow-copy>small{font-size:9px}.session-who{font-size:10px}}
@media(prefers-reduced-motion:reduce){.session-flow{backdrop-filter:none}}
