button.mementom-session-badge{position:relative;isolation:isolate;width:266px;height:110px;min-width:266px;max-width:none;overflow:hidden;border:0;border-radius:15px;padding:14px;color:white;background:#0862ee;text-align:left;display:block;box-shadow:0 2px 5px #18242b12}
button.mementom-session-badge,button.mementom-session-badge:hover,button.mementom-session-badge:active{overflow:visible;background:transparent;box-shadow:none}
button.mementom-session-badge:hover .session-badge-face,button.mementom-session-badge:active .session-badge-face{box-shadow:0 0 0 2px #071a27}
button.mementom-session-badge.session-badge-pinned{position:fixed;z-index:40;left:var(--session-badge-pin-left);top:max(var(--session-badge-pin-top),env(safe-area-inset-top));right:auto;bottom:auto;margin:0;width:var(--session-badge-pin-width);height:var(--session-badge-pin-height)}
.session-badge-motion{position:absolute;inset:0;border-radius:inherit;transform-style:preserve-3d}
.session-badge-face,.session-badge-back{position:absolute;inset:0;border-radius:inherit;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 2px 5px #18242b12;background:#0862ee}
.session-badge-face{padding:inherit;isolation:isolate;transform:rotateY(0deg)}
.session-badge-motion{padding:inherit}
.session-badge-back{display:grid;place-items:center;transform:rotateY(180deg);background:#071a27}
.session-badge-back img{width:80px;height:80px;object-fit:contain}
.session-badge-motion[data-flip-axis="x"] .session-badge-back{transform:rotateX(180deg)}
button.mementom-session-badge{opacity:1;transform:scale(1);transform-origin:center;transition:opacity 220ms cubic-bezier(.22,1,.36,1),transform 220ms cubic-bezier(.22,1,.36,1)}
button.mementom-session-badge[data-session-loading=true]{visibility:hidden;opacity:0;transform:scale(.96);pointer-events:none}
@starting-style{button.mementom-session-badge[data-session-loading=false]{opacity:0;transform:scale(.96)}}
@media(prefers-reduced-motion:reduce){button.mementom-session-badge{transition:none;transform:none}}
.mementom-session-badge .session-badge-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.mementom-session-badge .session-badge-wordmark{position:absolute;left:14px;top:12px;width:126px;height:23px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}
.session-badge-copy{display:flex;flex-direction:column;gap:1px;width:151px;padding-top:24px;font-size:12px;line-height:1.3;color:white}
.session-badge-company{font-weight:650;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-badge-identity{font-size:11px;line-height:1.1;white-space:nowrap}
.session-badge-domain{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.88}
.session-badge-copy [data-connection-label]{font-size:12px;font-weight:700;margin-top:4px;line-height:1.15}
.session-badge-qr{position:absolute;right:12px;top:15px;width:80px;height:80px;display:grid;place-items:center;background:white;border-radius:5px;padding:4px;color:#071a27}
.session-badge-qr svg{width:100%;height:100%;display:block}
.mementom-session-badge:not(.has-connection-code):not([data-state=connected]) .session-badge-qr{background:transparent;padding:0}
.session-badge-qr .session-badge-icon{display:block;width:100%;height:100%;object-fit:contain}
.mementom-session-badge[data-state=expired] [data-connection-label]{white-space:pre-line}
.mementom-session-badge [data-connection-label]{white-space:pre-line}
.mementom-session-badge:not([data-state=connected]) .session-badge-copy{width:55%;min-width:max-content;margin-left:0;text-align:center}
.mementom-session-badge:not([data-state=connected]) .session-badge-copy [data-connection-label]{max-width:none}
.mementom-session-badge[data-state=connected] .session-badge-qr{background:#d8f3de;color:#155b3c}
.mementom-session-badge[data-state=connected] .session-badge-qr svg{width:44px;height:44px}
.session-badge-dialog{width:min(400px,calc(100% - 32px));padding:24px}
.session-badge-dialog h2{font-size:28px;margin-bottom:12px}
.session-badge-dialog p{overflow-wrap:anywhere;font-size:14px;margin-block:8px 16px}
.session-badge-menu{display:grid;gap:10px;margin-top:20px}
.session-badge-menu button{width:100%;min-height:48px;text-align:left}
.session-badge-menu button:last-child{text-align:center}
.session-badge-menu-qr{display:block;width:220px;height:220px;margin:20px auto;padding:8px;background:white;border:1px solid #e0e4e6;border-radius:6px}
.session-badge-menu-qr svg{display:block;width:100%;height:100%}

button.mementom-session-badge.has-session-reference{height:auto;min-height:126px;padding-bottom:32px}
.session-badge-reference{position:absolute;bottom:11px;left:14px;right:12px;font-size:12px;line-height:1.3;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.session-reference{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-weight:650}
.session-change{padding:12px;border-left:3px solid currentColor;background:var(--partner-surface,#f6f8fa);font-size:14px;line-height:1.5}

/* The invitation turns only its text. The brand and scannable code stay still. */
.session-badge-text-front,.session-badge-text-back{display:contents}
.mementom-session-badge .session-badge-messages{position:absolute;left:14px;top:38px;bottom:10px;width:calc(100% - 110px);transform-style:preserve-3d}
.mementom-session-badge .session-badge-text-front,.mementom-session-badge .session-badge-text-back{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-align:center}
.mementom-session-badge .session-badge-text-back{transform:rotateY(180deg)}
.mementom-session-badge .session-badge-company{font-size:16px;line-height:1.2}
.mementom-session-badge .session-badge-identity{font-size:15px;line-height:1.2}
.mementom-session-badge .session-badge-copy [data-connection-label]{font-size:15px;line-height:1.35;margin:0}
@media(max-width:760px){.mementom-session-badge .session-badge-messages{left:10px;top:34px;bottom:8px;width:calc(100% - 92px)}.mementom-session-badge .session-badge-company{font-size:14px}.mementom-session-badge .session-badge-identity,.mementom-session-badge .session-badge-copy [data-connection-label]{font-size:13px}}
@media(prefers-reduced-motion:reduce){.mementom-session-badge .session-badge-messages{display:flex;flex-direction:column;justify-content:center;gap:3px;transform:none!important}.mementom-session-badge .session-badge-text-front,.mementom-session-badge .session-badge-text-back{position:static;display:flex;gap:0;transform:none}.mementom-session-badge .session-badge-company,.mementom-session-badge .session-badge-identity,.mementom-session-badge .session-badge-copy [data-connection-label]{font-size:11px;line-height:1.15}}

@media(prefers-reduced-motion:no-preference){.mementom-session-badge[data-state=connected] .session-badge-company{font-size:18px;line-height:1.2}}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){.mementom-session-badge[data-state=connected] .session-badge-company{font-size:16px}}
