/** A floating physical pass; no container chrome around the card. */
.mzrp-account-dashboard .mzrp-virtual-card-panel {
    position: relative;
    min-width: 0;
    overflow: visible;
    gap: 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--mzrp-ink);
}
.mzrp-account-dashboard .mzrp-card-heading { position: absolute; top: 0; right: 0; z-index: 3; width: auto; padding: 0; }
.mzrp-account-dashboard .mzrp-card-heading h3 { position: absolute; top: 0; right: 0; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mzrp-account-dashboard .mzrp-card-stage {
    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    width: 100%;
    min-width: 0;
    aspect-ratio: 1.46;
    min-height: 210px;
    touch-action: pan-y;
    cursor: grab;
}
.mzrp-account-dashboard .mzrp-card-stage.is-dragging { cursor: grabbing; }
.mzrp-account-dashboard .has-webgl .mzrp-card-stage { touch-action: none; }
.mzrp-account-dashboard .has-webgl .mzrp-card-stage:focus-within { outline: 2px solid #286ba0; outline-offset: 2px; border-radius: 12px; }
.mzrp-account-dashboard .mzrp-card-stage::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 76%;
    height: 10%;
    left: 12%;
    bottom: 0;
    border-radius: 50%;
    background: radial-gradient(ellipse, #19283a38, #19283a18 40%, transparent 72%);
    filter: blur(7px);
    transform: scaleX(var(--mzrp-shadow-scale, 1));
    opacity: var(--mzrp-shadow-opacity, .8);
    pointer-events: none;
}
.mzrp-account-dashboard .mzrp-card-webgl { position: absolute; inset: 0; display: block; width: 100%; height: 100%; outline: none; visibility: hidden; }
.mzrp-account-dashboard .has-webgl .mzrp-card-webgl { visibility: visible; }
.mzrp-account-dashboard .mzrp-card-stage .mzrp-virtual-card { width: 94%; max-width: none; }
.mzrp-account-dashboard .has-webgl .mzrp-virtual-card { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; opacity: 0; pointer-events: none; overflow: hidden; }
.mzrp-account-dashboard .mzrp-card-brand { display: grid; gap: 6px; }
.mzrp-account-dashboard .mzrp-card-brand img { width: 49cqw; height: auto; max-height: none; border-radius: 0; }
.mzrp-account-dashboard .mzrp-card-brand strong { font-size: 4.2cqw; letter-spacing: .03em; text-transform: uppercase; color: inherit; }
.mzrp-account-dashboard .mzrp-virtual-card__face { background: repeating-linear-gradient(45deg,#141924 0 2px,#1d2431 2px 4px); border-color: #98bdd876; box-shadow: 0 14px 25px #15233530, inset 0 1px #e2f0ff7a; }
.mzrp-account-dashboard .mzrp-card-main { margin-top: 2cqw; }
.mzrp-account-dashboard .mzrp-card-identity { position: relative; padding-left: 18cqw; }
.mzrp-account-dashboard .mzrp-card-identity .mzrp-card-avatar { position: absolute; left: 0; top: 0; width: 15cqw; height: 15cqw; margin: 0; border: 1px solid #ffffff55; border-radius: 2cqw; object-fit: cover; }
.mzrp-account-dashboard [data-mzrp-tier="brons"] .mzrp-virtual-card__face { background: linear-gradient(125deg,#a26943,#67412b 55%,#ba8056); }
.mzrp-account-dashboard [data-mzrp-tier="goud"] .mzrp-virtual-card__face { background: linear-gradient(125deg,#f0d38b,#b69750 55%,#efd48e); }
.mzrp-account-dashboard [data-mzrp-tier="zilver"] .mzrp-virtual-card__face { background: linear-gradient(125deg,#e2eaf3,#9eaebe 55%,#edf4fa); }
.mzrp-account-dashboard [data-mzrp-tier="diamant"] .mzrp-virtual-card__face { background: conic-gradient(from 25deg at 75% 40%,#352345,#29465c,#38294f,#19192e,#352345); }
.mzrp-account-dashboard :is([data-mzrp-tier="brons"],[data-mzrp-tier="goud"],[data-mzrp-tier="zilver"]) .mzrp-virtual-card { --mzrp-card-accent: #293241; }
.mzrp-account-dashboard :is([data-mzrp-tier="brons"],[data-mzrp-tier="goud"],[data-mzrp-tier="zilver"]) :is(.mzrp-virtual-card__face,.mzrp-card-name,.mzrp-card-label,.mzrp-card-number,.mzrp-card-footer,.mzrp-card-back-copy p,.mzrp-card-back-metrics dt) { color: #293241; }
.mzrp-account-dashboard :is([data-mzrp-tier="brons"],[data-mzrp-tier="goud"],[data-mzrp-tier="zilver"]) .mzrp-card-brand img { filter: brightness(0) opacity(.85); }
.mzrp-account-dashboard .mzrp-scene-hint,
.mzrp-account-dashboard .mzrp-scene-orientation { display: none; }
.mzrp-account-dashboard .mzrp-virtual-card-actions { margin-top: 0; gap: 6px; }
.mzrp-account-dashboard .mzrp-scan-action.button { background: #263242 !important; color: #fff !important; border-color: #263242 !important; box-shadow: 0 4px 12px #26324212 !important; }
.mzrp-account-dashboard .mzrp-scan-action.button:hover { background: #152131 !important; }
.mzrp-account-dashboard .mzrp-card-flip-button.button { color: #536174 !important; }
.mzrp-account-dashboard .mzrp-card-flip-button.button:hover { background: #23354e08 !important; }
.mzrp-account-dashboard .mzrp-scene-tour { display: none; justify-self: center; border: 0; padding: 4px 8px; background: transparent; color: #536174; font-size: 11px; letter-spacing: .04em; }
.mzrp-account-dashboard .mzrp-card-status { color: #5c6779; margin-top: 0; min-height: 0; }
.mzrp-account-dashboard .mzrp-card-status.is-error { color: #aa2538; }
.mzrp-account-dashboard .mzrp-card-status.is-ready { display: none; }
.mzrp-account-dashboard .mzrp-card-status p { color: inherit; font-size: 11px; }
.mzrp-account-dashboard .mzrp-scene-zoom { display: none; place-items: center; width: 36px; height: 36px; margin: 0; padding: 8px; border: 1px solid #dce2e9; border-radius: 50%; color: #536174; background: #ffffffc9; cursor: pointer; backdrop-filter: blur(6px); }
.mzrp-account-dashboard .has-webgl .mzrp-scene-zoom { display: grid; }
.mzrp-account-dashboard .mzrp-scene-zoom svg { width: 18px; height: 18px; }
.mzrp-account-dashboard .mzrp-scene-zoom:hover { color: #162d46; background: #f0f4f8; }

/* The same canvas enters a native modal, preserving the live QR and GPU state. */
body.mzrp-scene-zoom-open { overflow: hidden; }
.mzrp-scene-dialog { position: fixed; inset: 0; width: min(1240px, calc(100vw - 24px)); height: min(920px, calc(100dvh - 24px)); max-width: none; max-height: none; margin: auto; padding: 0; border: 0; background: transparent; color: #253449; overflow: hidden; }
.mzrp-scene-dialog::backdrop { background: #edf1f6ed; backdrop-filter: blur(16px); }
.mzrp-scene-dialog > .mzrp-account-dashboard { height: 100%; grid-template-rows: minmax(0, 1fr); }
.mzrp-scene-dialog .mzrp-account-dashboard .is-scene-expanded { display: grid; grid-template-rows: minmax(0, 1fr) auto auto; min-height: 0; max-width: none; height: 100%; width: 100%; margin: 0; padding: 35px 18px 14px; gap: 8px; }
.mzrp-scene-dialog .mzrp-account-dashboard .mzrp-card-stage { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; }
.mzrp-scene-dialog .mzrp-account-dashboard .mzrp-scene-zoom { display: none; }
.mzrp-scene-dialog .mzrp-account-dashboard .mzrp-scene-tour { display: block; }
.mzrp-scene-dialog .mzrp-scene-close { position: absolute; top: 8px; right: 8px; z-index: 4; display: grid; place-items: center; width: 40px; height: 40px; margin: 0; padding: 0; border: 1px solid #cbd4df; border-radius: 50%; background: #ffffffc9; color: #34455c; font: 27px/1 Arial; cursor: pointer; }
.mzrp-scene-dialog button:focus-visible { outline: 3px solid #2879b8; outline-offset: 3px; }
body.mzrp-account-page .mzrp-account-dashboard .mzrp-scene-zoom { background: #ffffffdc !important; color: #536174 !important; }
@media (max-width: 900px) {
    .mzrp-account-dashboard .mzrp-virtual-card-panel { max-width: 680px; width: 100%; justify-self: center; }
}
@media (max-width: 600px) {
    .mzrp-account-dashboard .mzrp-virtual-card-panel { width: calc(100% + 30px); margin-inline: -15px; padding: 0; }
    .mzrp-account-dashboard .mzrp-card-heading { right: 7px; }
    .mzrp-account-dashboard .mzrp-virtual-card-actions { padding-inline: 10px; }
    .mzrp-scene-dialog { width: 100vw; height: min(470px, calc(100dvh - 12px)); }
    .mzrp-scene-dialog .mzrp-account-dashboard .is-scene-expanded { padding: 34px 6px 14px; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-card-stage { min-height: 0; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-scene-tour { display: none; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-scene-orientation { display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 11px; color: #68768a; }
    .mzrp-scene-orientation svg { width: 18px; height: 18px; }
}
/* A landscape phone becomes a card viewer, with controls in a side rail. */
@media (orientation: landscape) and (max-height: 540px) {
    .mzrp-scene-dialog { width: 100vw; height: 100dvh; }
    .mzrp-scene-dialog .mzrp-account-dashboard .is-scene-expanded { max-width: none; grid-template-columns: minmax(0, 1fr) 132px; grid-template-rows: 42px minmax(0, 1fr) auto; padding: 10px max(10px, env(safe-area-inset-right)) 10px max(10px, env(safe-area-inset-left)); gap: 8px; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-card-stage { grid-column: 1; grid-row: 1 / 4; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-virtual-card-actions { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; justify-content: center; padding: 0; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-virtual-card-actions .button { width: 100%; padding: 10px 5px !important; font-size: 11px; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-scene-tour { display: block; grid-column: 2; grid-row: 3; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-scene-orientation { display: none; }
    .mzrp-scene-dialog .mzrp-account-dashboard .mzrp-card-status { position: absolute; bottom: 5px; right: 12px; max-width: 125px; font-size: 10px; }
}
