.qs-camera{position:relative;aspect-ratio:4/3;width:100%;overflow:hidden;border:2px solid var(--line);border-radius:var(--radius);background:var(--stone-soft);box-shadow:var(--shadow)}.qs-video{width:100%;height:100%;object-fit:cover;display:block;background:#111}.qs-video[hidden]{display:none}.qs-frame{position:absolute;top:50%;left:50%;width:62%;aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.9);border-radius:14px;box-shadow:0 0 0 9999px rgba(0,0,0,.28);pointer-events:none}.qs-camera-off{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-weight:600;text-align:center;padding:16px}.qs-camera-off .fas{font-size:40px;color:var(--accent)}.qs-headline{font-family:var(--font-script),var(--font-display);font-weight:700;font-size:clamp(20px,5cqi,28px);line-height:1.2;color:var(--ink);margin-top:4px;overflow-wrap:anywhere}.qs-rows{display:flex;flex-direction:column;border:2px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--paper-2)}.qs-row{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line-soft);font-size:14px}.qs-row:last-child{border-bottom:0}.qs-row-label{font-size:12px;font-weight:700;color:var(--muted);padding-top:2px}.qs-row-value{min-width:0;overflow-wrap:anywhere;font-weight:600;color:var(--ink)}.qs-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.qs-inline-btn{width:36px;height:36px;vertical-align:middle}.qs-warn{color:#b42318;font-weight:600}html[data-theme=dark] .qs-warn{color:#fca5a5}.qs-muted{color:var(--muted);font-weight:400}.qs-raw{margin:0;max-height:220px;overflow:auto;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;border:2px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink)}.qs-history-btn{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.qs-current{border-color:var(--line)}