:root{--a2ui-color-primary:#17e;--a2ui-icon-font-family:"Material Icons Round"}.a2ui-light{--a2ui-color-background:#eee;--a2ui-color-on-background:#333;--a2ui-color-surface:#f5f5f5;--a2ui-color-on-surface:#333;--a2ui-color-primary-hover:#0057d9;--a2ui-color-on-primary:#fff;--a2ui-color-secondary:#ddd;--a2ui-color-secondary-hover:#2a2a2a;--a2ui-color-on-secondary:#333;--a2ui-color-border:#ccc;--a2ui-color-input:#fff;--a2ui-color-on-input:#333;--a2ui-color-input-placeholder:#8a8a8a;--a2ui-color-input-error:#d92d20;--a2ui-color-input-error-bg:#d92d2014;--a2ui-color-background-ambient:#ddd;--a2ui-color-surface-muted:#e8e8e8;--a2ui-color-surface-strong:#fff;--a2ui-color-border-strong:#e5e5e5;--a2ui-color-text-muted:#5d5d5d;--a2ui-color-text-subtle:#9e9e9e;--a2ui-color-overlay:#0000000d;--a2ui-icon-color-primary:var(--a2ui-color-primary);--a2ui-icon-color-muted:var(--a2ui-color-text-muted)}.a2ui-dark{--a2ui-color-background:#111;--a2ui-color-on-background:#eee;--a2ui-color-surface:#1b1b1b;--a2ui-color-on-surface:#eee;--a2ui-color-primary-hover:#4d8cff;--a2ui-color-secondary:#333;--a2ui-color-secondary-hover:#eaeaea;--a2ui-color-on-secondary:#eee;--a2ui-color-border:#444;--a2ui-color-input:#2a2a2a;--a2ui-color-on-input:#eee;--a2ui-color-input-placeholder:#7d7d7d;--a2ui-color-input-error:#ff6b6b;--a2ui-color-input-error-bg:#ff6b6b1f;--a2ui-color-background-ambient:#000;--a2ui-color-surface-muted:#222;--a2ui-color-surface-strong:#232323;--a2ui-color-border-strong:#333;--a2ui-color-text-muted:#b3b3b3;--a2ui-color-text-subtle:#6e6e6e;--a2ui-color-overlay:#f8f8f814;--a2ui-icon-color-primary:#4d8cff;--a2ui-icon-color-muted:var(--a2ui-color-text-subtle)}:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--geist-foreground:#000;--geist-background:#fff;--geist-secondary:#666;--geist-border:#eaeaea;--geist-border-hover:#999;--geist-surface:#fafafa;--geist-accent:#000;--geist-accent-foreground:#fff;--geist-error:#e00;--geist-error-light:#fff0f0;--geist-success:#0070f3;--geist-code-bg:#111;--geist-code-fg:#e8e8e8;--geist-shadow-sm:0 1px 2px #0000000a, 0 1px 3px #0000000f;--geist-shadow-md:0 4px 14px #00000014;--geist-shadow-lg:0 8px 30px #0000001f;--geist-radius-sm:6px;--geist-radius-md:8px;--geist-radius-lg:12px;--geist-radius-xl:16px;--geist-transition:.15s cubic-bezier(.4, 0, .2, 1);--geist-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--geist-mono:"Geist Mono", "SF Mono", SFMono-Regular, ui-monospace, Menlo, Consolas, "Liberation Mono", monospace}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--geist-foreground:#ededed;--geist-background:#0a0a0a;--geist-secondary:#888;--geist-border:#333;--geist-border-hover:#555;--geist-surface:#111;--geist-accent:#fff;--geist-accent-foreground:#000;--geist-error-light:#2a0000;--geist-code-bg:#0a0a0a;--geist-code-fg:#e8e8e8;--geist-shadow-sm:0 1px 2px #0003;--geist-shadow-md:0 4px 14px #0000004d;--geist-shadow-lg:0 8px 30px #0006}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.copyToastViewport{z-index:10000;pointer-events:none;position:fixed;top:18px;left:50%;transform:translate(-50%)}.copyToast{border:1px solid var(--geist-border);background:color-mix(in srgb, var(--geist-background) 94%, transparent);min-width:148px;box-shadow:var(--geist-shadow-lg);color:var(--geist-foreground);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;animation:.16s ease-out copy-toast-in}.copyToast-success{border-color:color-mix(in srgb, var(--geist-success) 35%, var(--geist-border))}.copyToast-error{border-color:color-mix(in srgb, var(--geist-error) 45%, var(--geist-border));color:var(--geist-error)}@keyframes copy-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--geist-background);color:var(--geist-foreground);font-family:var(--geist-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}body[data-panel-resize=horizontal],body[data-panel-resize=horizontal] *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}body[data-panel-resize=vertical],body[data-panel-resize=vertical] *{-webkit-user-select:none;user-select:none;cursor:row-resize!important}body[data-panel-resize] iframe{pointer-events:none}#root{height:100%}a{color:inherit;text-decoration:none}.appShell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.appBody{flex:1;display:flex;overflow:auto}.appShellEmbedded{height:auto;min-height:100vh;overflow:visible}.topBar{z-index:100;border-bottom:1px solid var(--geist-border);background:var(--geist-background);flex-shrink:0;align-items:center;gap:16px;height:48px;padding:0 16px;display:flex}.brand{letter-spacing:-.02em;color:var(--geist-foreground);flex-shrink:0;font-size:14px;font-weight:700}.brandGroup{flex-shrink:0;align-items:center;gap:10px;display:flex}.brandLogo{object-fit:contain;flex:none;width:26px;height:26px;display:block}.protocolSelect{border:1px solid var(--geist-border);border-radius:var(--geist-radius-sm);background:var(--geist-surface);height:30px;color:var(--geist-foreground);cursor:pointer;appearance:none;transition:border-color var(--geist-transition);background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%276%27%3E%3Cpath d=%27M0 0l5 6 5-6z%27 fill=%27%23666%27/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:0 28px 0 10px;font-size:13px;font-weight:600}.protocolSelect:hover{border-color:var(--geist-border-hover)}.protocolSelect:focus{border-color:var(--geist-foreground);outline:none}.spacer{flex:1}.sectionBadge{background:var(--geist-surface);border:1px solid var(--geist-border);color:var(--geist-secondary);border-radius:4px;align-items:center;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.tabNav{gap:2px;margin-left:16px;display:flex}.tabNavItem{border-radius:var(--geist-radius-sm);color:var(--geist-secondary);cursor:pointer;transition:all var(--geist-transition);white-space:nowrap;background:0 0;border:none;padding:6px 12px;font-size:13px;font-weight:500}.tabNavItem:hover{color:var(--geist-foreground);background:var(--geist-surface)}.tabNavItem.active{color:var(--geist-foreground);background:var(--geist-surface);font-weight:600}.protocolControl{flex-shrink:0;align-items:center;gap:8px;display:flex}.protocolLabel{color:var(--geist-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.protocolSwitch{border:1px solid var(--geist-border);background:var(--geist-surface);border-radius:6px;padding:2px;display:inline-flex}.protocolButton{cursor:pointer;color:var(--geist-secondary);transition:all var(--geist-transition);background:0 0;border:0;border-radius:4px;padding:4px 12px;font-size:13px;font-weight:500}.protocolButton:hover{color:var(--geist-foreground)}.protocolButton.active{background:var(--geist-accent);color:var(--geist-accent-foreground);box-shadow:var(--geist-shadow-sm)}.chip{border:1px solid var(--geist-border);background:var(--geist-surface);color:var(--geist-secondary);border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.chipRow{flex-wrap:wrap;gap:6px;display:flex}.qrLabel{color:var(--geist-secondary);font-size:12px}.qrPlaceholder{border-radius:var(--geist-radius-md);background:var(--geist-surface);border:1px dashed var(--geist-border);text-align:center;box-sizing:border-box;justify-content:center;align-items:center;padding:4px;display:flex}.qrPlaceholderText{color:var(--geist-secondary);font-size:10px;line-height:1.2}.qrImage{border-radius:var(--geist-radius-md);border:1px solid var(--geist-border)}.phoneWrap{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:16px;display:flex}.phoneFrame{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--geist-border) 72%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--geist-background) 92%, var(--geist-surface)) 0%, color-mix(in srgb, var(--geist-surface) 92%, var(--geist-background)) 100%);border-radius:34px;flex-direction:column;flex:none;gap:8px;width:min(330px,100%);height:min(680px,100%);padding:10px 10px 12px;display:flex;overflow:hidden;transform:translateZ(0);box-shadow:0 34px 80px #0003,inset 0 2px #ffffff59,inset 0 0 0 1px #ffffff14}.phoneStatusBar{color:var(--geist-foreground);flex:none;justify-content:space-between;align-items:center;padding:2px 6px 1px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Helvetica Neue,sans-serif;font-size:11px;line-height:1;display:flex}.phoneStatusTime{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600}.phoneStatusIcons{color:inherit;align-items:center;gap:5px;display:inline-flex}.phoneSignal{opacity:.8;clip-path:polygon(0 100%,0 66%,20% 50%,20% 100%,40% 100%,40% 34%,58% 18%,58% 100%,76% 100%,76% 10%,92% 0,92% 100%,100% 100%);background:linear-gradient(0deg,currentColor 0 18%,#0000 18% 34%,currentColor 34% 52%,#0000 52% 68%,currentColor 68% 100%);width:11px;height:9px}.phoneWifi{width:10px;height:8px;position:relative}.phoneWifi:before,.phoneWifi:after{content:"";border:1.4px solid #0000;border-top:0;border-bottom-color:currentColor;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.phoneWifi:before{width:10px;height:8px;top:0}.phoneWifi:after{width:6px;height:4px;top:3px}.phoneBattery{border:1.3px solid;border-radius:3.5px;align-items:stretch;width:22px;height:11px;padding:1px;display:inline-flex;position:relative}.phoneBattery:after{content:"";background:currentColor;border-radius:1px;width:2px;height:4.5px;position:absolute;top:2.5px;right:-3px}.phoneBatteryFill{background:currentColor;border-radius:1.5px;width:64%;display:block}.phoneChrome{flex:none;height:12px;margin-bottom:1px;position:relative}.phoneNotch{background:#000000c7;border-radius:999px;width:118px;height:12px;margin-left:-59px;position:absolute;top:1px;left:50%;box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1px #ffffff08}html[data-theme=dark] .phoneNotch{background:#ffffffbd;box-shadow:inset 0 1px #00000014,inset 0 0 0 1px #00000008}.phoneScreen{background:var(--geist-background);min-height:0;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--geist-border) 64%, transparent), inset 0 12px 28px #ffffff0a, 0 0 0 1px #ffffff05;flex:1;position:relative;overflow:hidden}html[data-theme=dark] .phoneScreen{box-shadow:inset 0 0 0 1px #00000024,inset 0 12px 28px #00000014,0 0 0 1px #0000000f}.phoneHomeIndicator{background:color-mix(in srgb, var(--geist-foreground) 14%, var(--geist-border));border-radius:999px;flex:none;align-self:center;width:110px;height:4px;margin-top:0;margin-bottom:0}html[data-theme=dark] .phoneHomeIndicator{background:#00000038}.phoneIframe{border:0;width:100%;height:100%;display:block}.panelResizeHandle{cursor:col-resize;background:var(--geist-background);border-left:1px solid var(--geist-border);border-right:1px solid var(--geist-border);touch-action:none;width:8px;transition:background var(--geist-transition);flex-shrink:0;position:relative}.panelResizeHandle:before{content:"";background:var(--geist-border-hover);opacity:.35;width:2px;height:40px;transition:opacity var(--geist-transition), height var(--geist-transition), background var(--geist-transition);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.panelResizeHandle:hover,.panelResizeHandle.active{background:var(--geist-surface)}.panelResizeHandle:hover:before,.panelResizeHandle.active:before{opacity:.9;background:var(--geist-foreground);height:56px}@media (max-width:980px){.panelResizeHandle{cursor:row-resize;border-left:none;border-right:none;border-top:1px solid var(--geist-border);border-bottom:1px solid var(--geist-border);width:100%;height:8px}.panelResizeHandle:before{width:48px;height:2px}.panelResizeHandle:hover:before,.panelResizeHandle.active:before{width:64px;height:2px}}.phoneEmptyState{box-sizing:border-box;text-align:center;width:100%;height:100%;min-height:0;color:var(--geist-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.phoneEmptyIcon{opacity:.28;font-size:30px;line-height:1}.phoneEmptyTitle{color:var(--geist-foreground);font-size:13px;font-weight:600}.phoneEmptySub{color:var(--geist-secondary);max-width:210px;font-size:11px;line-height:1.45}.previewFrameStack{width:100%;height:100%;position:relative}.previewFrameLayer{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.previewFramePending{opacity:0;pointer-events:none}.previewPanel{background:var(--geist-surface);border-left:1px solid var(--geist-border);flex-direction:column;flex-shrink:0;width:min(520px,100%);min-width:0;display:flex}.previewPanelExtras{flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.previewPanelExtras>.liveComponentStack:first-child,.previewPanelExtras>.previewQrSection:first-child{border-top:none}.previewPanelExtrasResizer{background:var(--geist-background);border-top:1px solid var(--geist-border);border-bottom:1px solid var(--geist-border);cursor:ns-resize;touch-action:none;height:8px;transition:background var(--geist-transition);flex-shrink:0;position:relative}.previewPanelExtrasResizer:before{content:"";background:var(--geist-border-hover);opacity:.35;width:48px;height:2px;transition:opacity var(--geist-transition), width var(--geist-transition), background var(--geist-transition);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.previewPanelExtrasResizer:hover,.previewPanelExtrasResizer.active{background:var(--geist-surface)}.previewPanelExtrasResizer:hover:before,.previewPanelExtrasResizer.active:before{opacity:.9;background:var(--geist-foreground);width:64px}.previewPanelExtras>*{animation:.36s cubic-bezier(.22,1,.36,1) both preview-extras-enter}.previewPanelExtras>*+*{animation-delay:70ms}@keyframes preview-extras-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.previewPanelExtras>*{animation:none}}.previewPanelFullscreen{z-index:200;background:var(--geist-background);border-left:none;width:100%;position:fixed;inset:0}.previewPanelHeader{border-bottom:1px solid var(--geist-border);background:var(--geist-background);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.previewPanelTitle{font-size:13px;font-weight:600}.previewModeSwitch{border:1px solid var(--geist-border);background:var(--geist-surface);border-radius:6px;flex-shrink:0;margin-left:auto;padding:2px;display:inline-flex}.previewModeBtn{cursor:pointer;color:var(--geist-secondary);transition:all var(--geist-transition);background:0 0;border:0;border-radius:4px;padding:2px 10px;font-size:12px;font-weight:500}.previewModeBtn:hover{color:var(--geist-foreground)}.previewModeBtn.active{background:var(--geist-accent);color:var(--geist-accent-foreground)}.previewPanelBody{flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex;overflow:hidden}.previewPanelBodyFull{justify-content:stretch;align-items:stretch;padding:0}.previewMetricStack{border-bottom:1px solid var(--geist-border);background:var(--geist-background);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;min-height:38px;padding:6px 16px;font-size:12px;display:flex;overflow:visible}.previewMetricLabel{color:var(--geist-secondary);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:11px;font-weight:600}.previewMetricList{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.previewMetricItem{border:1px solid var(--geist-border);background:var(--geist-surface);white-space:nowrap;cursor:help;border-radius:4px;outline:none;justify-content:space-between;align-items:baseline;gap:6px;min-width:70px;padding:2px 8px;display:inline-flex;position:relative}.previewMetricItem:focus-visible{border-color:var(--geist-border-hover);box-shadow:0 0 0 2px color-mix(in srgb, var(--geist-foreground) 12%, transparent)}.previewMetricName{color:var(--geist-secondary);font-size:10px;font-weight:700}.previewMetricValue{color:var(--geist-foreground);font-family:var(--geist-mono);font-size:11px;font-weight:600}.previewMetricValuePending{color:var(--geist-secondary)}.previewMetricTooltip{z-index:30;border:1px solid var(--geist-border);background:color-mix(in srgb, var(--geist-background) 96%, transparent);width:max-content;max-width:240px;box-shadow:var(--geist-shadow-md);color:var(--geist-foreground);opacity:0;pointer-events:none;text-align:left;transition:opacity var(--geist-transition), transform var(--geist-transition), visibility var(--geist-transition);visibility:hidden;white-space:normal;border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;font-size:11px;line-height:1.35;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.previewMetricTooltip:after{content:"";border-right:1px solid var(--geist-border);border-bottom:1px solid var(--geist-border);background:color-mix(in srgb, var(--geist-background) 96%, transparent);width:8px;height:8px;position:absolute;top:100%;left:50%;transform:translate(-50%,-4px)rotate(45deg)}.previewMetricItem:hover .previewMetricTooltip,.previewMetricItem:focus-visible .previewMetricTooltip{opacity:1;visibility:visible;transform:translate(-50%)}.previewMetricTooltipTitle{color:var(--geist-foreground);font-weight:700}.liveComponentStack{border-top:1px solid var(--geist-border);background:var(--geist-background);flex-shrink:0;align-items:center;gap:8px;min-height:36px;padding:6px 16px;font-size:12px;display:flex;overflow-x:auto}.liveComponentLabel{color:var(--geist-secondary);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:11px;font-weight:600}.liveComponentTags{flex-wrap:nowrap;gap:4px;min-width:0;display:flex}.liveComponentTag{background:var(--geist-surface);border:1px solid var(--geist-border);color:var(--geist-foreground);white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;animation:.3s ease-out tag-appear}.liveComponentEmpty{color:var(--geist-secondary);white-space:nowrap;font-size:11px}@keyframes tag-appear{0%{opacity:0;transform:translateY(4px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.previewFullIframe{border:0;width:100%;height:100%;display:block}.previewFullFrame{width:100%;height:100%;position:relative}.simulationBar{border-bottom:1px solid var(--geist-border);background:var(--geist-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;font-size:12px;display:flex}.simInfo{color:var(--geist-secondary);align-items:center;gap:6px;display:flex;position:relative}.simInfoIcon{border:1px solid var(--geist-border-hover);width:16px;height:16px;color:var(--geist-secondary);cursor:help;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Georgia,serif;font-size:10px;font-style:italic;font-weight:600;display:inline-flex}.simInfoToggle{cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:12px;display:inline-flex}.simInfoLabel{color:var(--geist-secondary);font-weight:500}.simTooltip{z-index:10;border-radius:var(--geist-radius-md);border:1px solid var(--geist-border);background:var(--geist-background);width:max-content;max-width:min(360px,100vw - 48px);box-shadow:var(--geist-shadow-md);color:var(--geist-secondary);padding:8px 12px;font-size:12px;line-height:1.5;position:absolute;top:calc(100% + 4px);left:16px}.simSpeed{align-items:center;gap:8px;display:flex}.simSpeedLabel{color:var(--geist-secondary);font-weight:500}.simSpeedSlider{width:80px;height:4px;accent-color:var(--geist-foreground);cursor:pointer}.simSpeedValue{text-align:right;min-width:28px;font-family:var(--geist-mono);color:var(--geist-foreground);font-weight:500}.previewQrSection{border-top:1px solid var(--geist-border);background:var(--geist-background);flex-direction:column;flex-shrink:0;gap:10px;padding:12px 16px;display:flex;container:preview-qr/inline-size}.previewQrSectionEmpty{justify-content:center;min-height:148px}.previewQrEmptyState{border:1px dashed var(--geist-border);border-radius:var(--geist-radius-md);background:var(--geist-surface);flex-direction:column;gap:4px;padding:16px;display:flex}.previewQrEmptyTitle{color:var(--geist-foreground);font-size:12px;font-weight:600}.previewQrEmptyDesc{max-width:560px;color:var(--geist-secondary);font-size:11px;line-height:1.45}.previewQrContent{align-items:flex-start;gap:12px;min-height:128px;display:flex}.previewQrContentAlt{border-top:1px dashed var(--geist-border);padding-top:10px}@container preview-qr (width<=380px){.previewQrContent{gap:10px}.previewQrDesc{display:none}}.previewQrInfo{flex:1;min-width:0}.previewQrTitle{margin-bottom:2px;font-size:12px;font-weight:600}.previewQrDesc{color:var(--geist-secondary);font-size:11px;line-height:1.35}.previewQrUrl{font-size:11px;font-family:var(--geist-mono);color:var(--geist-secondary);word-break:break-all;margin-top:6px;line-height:1.4}.previewQrUrlRow{align-items:center;gap:8px;max-width:100%;margin-top:6px;display:inline-flex}.previewQrUrlText{min-width:0;font-size:11px;font-family:var(--geist-mono);color:var(--geist-secondary);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;overflow:hidden}.previewQrCopyBtn{border:1px solid var(--geist-border);background:var(--geist-surface);height:24px;color:var(--geist-secondary);cursor:pointer;transition:all var(--geist-transition);border-radius:999px;flex-shrink:0;padding:0 10px;font-size:11px;font-weight:600}.previewQrCopyBtn:hover{color:var(--geist-foreground);border-color:var(--geist-border-hover)}.previewQrPlaceholder{border-radius:var(--geist-radius-md);border:1px dashed var(--geist-border);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.previewQrPlaceholderText{color:var(--geist-secondary);font-size:10px}.previewQrUnavailable{border-radius:var(--geist-radius-md);border:1px dashed var(--geist-border);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:128px;height:128px;padding:12px;display:flex}.previewQrUnavailableLabel{color:var(--geist-foreground);letter-spacing:.01em;font-size:11px;font-weight:600}.previewQrUnavailableSubtext{color:var(--geist-secondary);font-size:10.5px;line-height:1.35}.previewShareOverlay{z-index:300;background:#0000008c;position:fixed;inset:0}.previewShareSheet{z-index:310;background:var(--geist-background);border-top:1px solid var(--geist-border);max-height:85vh;padding-bottom:env(safe-area-inset-bottom,0px);border-top-left-radius:16px;border-top-right-radius:16px;outline:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.previewShareHandle{background:var(--geist-border);border-radius:999px;flex-shrink:0;width:36px;height:4px;margin:10px auto 4px}.previewShareTitle{letter-spacing:.11em;text-transform:uppercase;color:var(--geist-secondary);flex-shrink:0;margin:0;padding:8px 16px 10px;font-size:11px;font-weight:700}.previewShareDescription{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.previewShareBody{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.previewEmpty{box-sizing:border-box;text-align:center;width:100%;height:100%;color:var(--geist-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.previewEmptyIcon{opacity:.4;font-size:32px}.previewEmptySub{font-size:12px}.cardPreviewLoading{box-sizing:border-box;background:var(--geist-background);color:var(--geist-secondary);pointer-events:none;opacity:1;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;transition:opacity .24s cubic-bezier(.22,.61,.36,1);display:flex;position:absolute;inset:0}.cardPreviewLoading[data-revealed=true]{opacity:0}.cardPreviewLoadingTitle{letter-spacing:.01em;text-align:center;max-width:22ch;font-size:14px;font-weight:500;animation:1.8s ease-in-out infinite card-preview-pulse}.cardPreviewLoadingDots{gap:4px;display:inline-flex}.cardPreviewLoadingDots span{opacity:.35;background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite card-preview-dot}.cardPreviewLoadingDots span:nth-child(2){animation-delay:.15s}.cardPreviewLoadingDots span:nth-child(3){animation-delay:.3s}@keyframes card-preview-pulse{0%,to{opacity:.55}50%{opacity:.85}}@keyframes card-preview-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:.9;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.cardPreviewLoadingTitle,.cardPreviewLoadingDots span{animation:none}}@media (max-width:980px){.previewPanel{flex-shrink:1;width:100%}.tabNav{gap:0}.tabNavItem{padding:6px 8px;font-size:12px}.previewPanelBody{min-height:460px}}@media (max-width:720px){.topBar{gap:8px;padding:0 10px}.brand{display:none}.brandLogo{width:22px;height:22px}.protocolLabel{display:none}.protocolSelect{max-width:120px}.previewPanelBody{min-height:420px;padding:10px}.phoneWrap{padding:10px}}.mobileTabBar{background:var(--geist-background);border-top:1px solid var(--geist-border);padding-bottom:env(safe-area-inset-bottom,0px);flex-shrink:0;display:none}.mobileTab{color:var(--geist-secondary);cursor:pointer;transition:color var(--geist-transition);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 4px 7px;font-size:11px;font-weight:500;display:flex;position:relative}.mobileTab:hover{color:var(--geist-foreground)}.mobileTab.active{color:var(--geist-foreground);font-weight:600}.mobileTab.active:before{content:"";background:var(--geist-foreground);border-radius:0 0 999px 999px;width:32px;height:2px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.mobileTabLabel{letter-spacing:.01em}@media (max-width:720px){.mobileTabBar{display:flex}}