.qrs-tool{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.qrs-counter,.qrs-ticket{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-1);min-height:430px}.qrs-counter{border-style:dashed;flex-direction:column;gap:20px;padding:24px;display:flex}.qrs-intro{align-items:flex-start;gap:16px;display:flex}.qrs-intro p,.qrs-paste,.qrs-camera p,.qrs-working p,.qrs-empty p,.qrs-safety,.qrs-decoder-note{color:var(--ink-1);margin:4px 0 0}.qrs-mark,.qrs-working>span,.qrs-empty>span{border-radius:var(--r-md);background:var(--brass-wash);width:48px;height:48px;color:var(--brass-lo);font:700 28px/1 var(--font-mono);flex:none;place-items:center;display:grid}.qrs-source-actions,.qrs-result-actions,.qrs-advice>div{flex-wrap:wrap;gap:10px;display:flex}.qrs-source-actions button,.qrs-file,.qrs-result-actions button,.qrs-result-actions a,.qrs-camera button,.qrs-advice button{border:1px solid var(--brass-lo);border-radius:var(--r-md);min-height:44px;font:600 15px/1.2 var(--font-sans);cursor:pointer;text-align:center;padding:10px 16px;text-decoration:none}.qrs-source-actions button,.qrs-file,.qrs-result-actions button:first-child,.qrs-result-actions a,.qrs-advice button:first-of-type{background:var(--brass);color:var(--surface-0)}.qrs-result-actions button:last-child,.qrs-camera button,.qrs-advice button:last-child{background:var(--surface-1);color:var(--ink-0)}.qrs-source-actions button:disabled,.qrs-file:has(input:disabled){opacity:.55;cursor:not-allowed}.qrs-file{position:relative;overflow:hidden}.qrs-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.qrs-paste{border-radius:var(--r-md);background:var(--surface-2);padding:14px 16px}.qrs-decoder-note{font-size:14px;line-height:1.45}.qrs-decoder-progress{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);gap:8px;padding:14px 16px;display:grid}.qrs-decoder-progress span{font-weight:650}.qrs-decoder-progress progress{width:100%}.qrs-decoder-progress small{color:var(--ink-1)}.qrs-advice{border:1px solid var(--warn);border-radius:var(--r-md);background:var(--surface-2);padding:14px}.qrs-advice p{margin:0 0 12px}.qrs-error{min-height:24px;color:var(--error);margin:auto 0 0;font-weight:600}.qrs-ticket{box-shadow:var(--shadow-2);padding:0 24px 24px;position:relative;overflow:hidden}.qrs-stub{font:650 12px/1 var(--font-mono);letter-spacing:.08em;color:var(--ink-1);justify-content:space-between;gap:16px;padding:15px 0;display:flex}.qrs-perf{background:radial-gradient(circle at 5px -1px,transparent 6px,var(--surface-0) 6.5px) 0 0/12px 10px repeat-x;height:10px;margin:0 -24px 22px}.qrs-empty,.qrs-working{text-align:center;align-content:center;place-items:center;gap:12px;min-height:300px;display:grid}.qrs-working>span{animation:1s ease-in-out infinite qrs-pulse}.qrs-camera{text-align:center;scroll-margin-block:16px;position:relative}.qrs-camera video{object-fit:cover;border-radius:var(--r-md);background:var(--surface-2);width:100%;min-height:260px;max-height:330px;display:block}.qrs-frame{aspect-ratio:1;border:3px solid var(--brass);border-radius:var(--r-md);width:min(58%,220px);box-shadow:0 0 0 999px color-mix(in oklch,var(--surface-0) 30%,transparent);pointer-events:none;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.qrs-camera button{margin-top:16px}.qrs-result{gap:16px;display:grid}.qrs-result>img{object-fit:contain;border-radius:var(--r-md);background:var(--surface-2);width:100%;max-height:180px}.qrs-verdict{gap:4px;display:grid}.qrs-verdict span,.qrs-raw>span{font:650 12px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-1)}.qrs-verdict strong{font-size:22px}.qrs-verdict b{font:600 15px/1.4 var(--font-mono);overflow-wrap:anywhere}.qrs-warning,.qrs-safety{border-left:3px solid var(--warn);background:var(--surface-2);margin:0;padding:12px 14px}.qrs-raw{gap:8px;display:grid}.qrs-raw pre{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);max-height:180px;font:14px/1.5 var(--font-mono);user-select:text;margin:0;padding:14px;overflow:auto}.qrs-result-actions{background:var(--surface-1);padding-top:4px;position:sticky;bottom:0}@keyframes qrs-pulse{50%{opacity:.72;transform:scale(1.08)}}@media (width<=760px){.qrs-tool{grid-template-columns:1fr}.qrs-counter,.qrs-ticket{min-height:380px}.qrs-tool[data-state=camera] .qrs-counter{min-height:0}.qrs-source-actions>*{flex:140px}.qrs-result-actions>*{flex:100%}.qrs-camera{order:0}.qrs-camera video{min-height:230px;max-height:58vh}}@media (width<=375px){.qrs-counter,.qrs-ticket{padding-left:16px;padding-right:16px}.qrs-perf{margin-left:-16px;margin-right:-16px}.qrs-intro{gap:12px}.qrs-mark{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.qrs-working>span{animation:none}}
