.portal-guide { position: fixed; inset: 0; margin: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; padding: 0; border: 0; background: transparent; color: var(--ink,#26313b); }
.portal-guide::backdrop { background: rgb(22 30 39 / 30%); }
.portal-guide-highlight { position: fixed; border: 3px solid #9d2948; border-radius: 12px; pointer-events: none; background: rgb(255 255 255 / 12%); }
.portal-guide-card { position: absolute; bottom: 28px; right: 28px; width: min(400px,calc(100vw - 32px)); padding: 24px; border-radius: 16px; background: #fff; box-shadow: 0 16px 50px rgb(0 0 0 / 20%); }
.portal-guide-card h2 { margin: 8px 0 12px; font-size: 23px; line-height: 1.2; }
.portal-guide-card p { line-height: 1.6; margin: 0 0 22px; }
.portal-guide-card [data-guide-progress] { font-size: 13px; color: #5f6871; }
.portal-guide-card footer,.portal-guide-card footer>div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.portal-guide-card button { min-height: 42px; padding: 8px 12px; border: 1px solid #858c87; border-radius: 9px; font: inherit; background: #fff; color: #26313b; cursor: pointer; }
.portal-guide-card .button-primary { color: #fff; border-color: #9d2948; background: #9d2948; }
.portal-guide-card button:disabled { opacity: .5; cursor: default; }
.portal-guide-card button:focus-visible { outline: 3px solid #9d2948; outline-offset: 3px; }
.portal-guide-offer { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 14px 18px; background: #eaf0f5; border-radius: 12px; margin-bottom: 16px; }
.portal-guide-offer p { margin: 0; flex: 1 1 220px; }
.portal-guide-offer [data-guide-dismiss] { font: inherit; padding: 10px; color: #26313b; border: 0; background: transparent; cursor: pointer; }
@media(max-width:640px){.portal-guide-card{bottom:100px;right:16px;padding:20px}.portal-guide-card h2{font-size:21px}}
