/* QR exchange reuses the app's bounded dialog, type and palette. */
.wod-share{display:grid;gap:10px;min-width:0}.wod-share p{margin:0}.qr-intro{font-size:12px;line-height:1.45;color:var(--muted,#607158)}.qr-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.qr-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-size:11px}.qr-tabs svg{width:22px;height:22px}.qr-code-card{display:flex;align-items:center;justify-content:center;padding:14px;background:white;border:1px solid #d1dac8;border-radius:16px}.qr-code-card canvas{display:block;width:min(100%,272px);height:auto;aspect-ratio:1;image-rendering:pixelated}.qr-hint{font-size:11px;line-height:1.45;text-align:center;color:#526248}.qr-status{min-height:16px;font-size:12px;line-height:1.4;text-align:center;color:#365137;overflow-wrap:anywhere}.qr-status.is-error{color:#943c22}.qr-camera-card{position:relative;display:flex;align-items:center;justify-content:center;min-height:210px;max-height:300px;aspect-ratio:1.2;background:#111812;border:1px solid #8ba26e;border-radius:16px;overflow:hidden}.qr-camera-card video{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.qr-camera-frame{position:absolute;inset:15%;border:2px solid #c7ff58;border-radius:18px;box-shadow:0 0 0 80px #0c140d55;pointer-events:none}.qr-camera-prompt{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;padding:30px;color:#ecf3e7;font-size:12px;text-align:center}.qr-camera-prompt svg{width:40px;height:40px;color:#c7ff58}.qr-camera-prompt[hidden]{display:none}.qr-camera-start{width:100%;min-height:44px;font-size:12px}.qr-camera-start[hidden]{display:none}@media(max-height:700px){.wod-share{gap:8px}.qr-code-card{padding:8px}.qr-code-card canvas{width:min(100%,218px)}.qr-camera-card{min-height:190px;max-height:220px}}
