*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:var(--font-body-size)/1.6 var(--font-ui)}[hidden]{display:none!important}a{color:var(--brand-text);text-underline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:5px}h1{font-size:clamp(28px,5vw,36px);font-weight:800;line-height:1.15;margin:0 0 var(--space-4);letter-spacing:normal}.qr-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);max-width:1200px;width:100%;margin:auto}.qr-header img{display:block;width:196px;height:auto}.qr-header>a{min-height:44px;display:flex;align-items:center}.qr-header>a:last-child{font-size:12px;text-align:right}.qr-shell{flex:1;display:grid;place-items:center;padding:var(--space-5) var(--space-4) var(--space-6)}.qr-card{width:min(100%,480px);border:1px solid var(--border-strong);border-radius:var(--radius-card);padding:var(--space-6);background:var(--surface);text-align:center;overflow-wrap:anywhere}.qr-icon{color:var(--brand-text);background:var(--brand-soft);width:56px;height:56px;display:grid;place-items:center;margin:0 auto var(--space-5);border-radius:var(--radius-card)}.qr-icon svg{width:28px;height:28px}.qr-muted,.qr-footnote{color:var(--text-muted)}.qr-art{width:256px;max-width:100%;aspect-ratio:1;margin:var(--space-5) auto;background:#fff;border-radius:var(--radius-card);overflow:hidden}.qr-art img{width:100%;height:100%;display:block;image-rendering:pixelated}.qr-steps{padding-inline-start:24px;text-align:start;max-width:320px;margin:var(--space-5) auto}.qr-steps li{padding:var(--space-1)}.qr-actions{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-5) 0}.qr-primary,.qr-secondary{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;padding:12px 20px;text-decoration:none;border-radius:var(--radius-poster);font-weight:600;border:1px solid transparent;transition:background var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.qr-primary{background:var(--brand-strong);color:#fff}.qr-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.qr-primary:active,.qr-secondary:active{transform:scale(.98)}.qr-details,.qr-device-card{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-5) 0}.qr-code{font-size:28px;line-height:1.3;font-variant-numeric:tabular-nums}.qr-device-card{padding:var(--space-5);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-card)}#qr-review-device{font-size:20px}#qr-status:empty{display:none}#qr-status{margin:var(--space-4) 0;padding:var(--space-3);border-radius:var(--radius-poster);background:var(--surface-2)}#qr-status[data-error=true]{color:#ffb4b9;border:1px solid #ff5d6c66}.qr-footnote{font-size:12px;margin:var(--space-5) 0 0}.qr-success{font-size:44px;color:var(--status-online)}.qr-footer{padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));border-top:1px solid var(--border);text-align:center}.qr-footer nav{display:flex;gap:var(--space-5);justify-content:center;flex-wrap:wrap}.qr-footer a{min-height:44px;display:flex;align-items:center;color:var(--text-muted)}@media(max-width:390px){.qr-header{padding:var(--space-4)}.qr-header img{width:168px}.qr-card{padding:var(--space-5)}.qr-art{width:232px}}@media(prefers-reduced-motion:reduce){.qr-primary,.qr-secondary{transition:none}.qr-primary:active,.qr-secondary:active{transform:none}}
