blob: 3b9979e9808b25dfa4683b8ae93470ea4ea88108 [file]
/* WeChat QR login dialog content. */
.settingsWechatQrCaption {
font: var(--maka-text-body);
margin: 0;
color: var(--muted-foreground);
}
.settingsWechatQrBody {
display: grid;
place-items: center;
align-content: center;
gap: var(--space-3);
text-align: center;
/* Deep-review fix: the retired `.settingsWechatQrState` pane carried a
180px floor; without one the dialog collapses in the generating/expired/
error states and snaps taller when the QR (224px frame) arrives. */
min-height: 224px;
}
.settingsWechatQrFrame {
width: 224px;
height: 224px;
display: grid;
place-items: center;
border: var(--border-width-hairline) solid color-mix(in srgb, var(--brand-wechat) 20%, var(--border));
border-radius: var(--radius-surface);
background: white;
padding: var(--space-3);
}
.settingsWechatQrFrame img {
width: 100%;
height: 100%;
object-fit: contain;
image-rendering: pixelated;
}
/* Astryx convergence (task #136): the `.settingsWechatQrState` placeholder
pane and its four hand-tinted `data-tone` variants are EmptyState / Spinner
now; only the QR frame plate and caption remain bespoke. */