:root{color-scheme:dark;--page: #15171e;--card: #1b1e28;--raised: #252938;--fg: #e9ecf5;--muted: #9ca5ba;--accent: #a89bff;--accent-ink: #15171e;--border: #303545;--terminal: #15171e;--green: #6fdc9a;--red: #ff6b81;--yellow: #f2c66d;--blue: #7aa5ff;--hairline: color-mix(in srgb, var(--fg) 9%, transparent);--press: color-mix(in srgb, var(--fg) 8%, transparent);--shadow: 0 10px 30px rgb(0 0 0 / .45);--font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--dur-press: 90ms;--dur-fast: .12s;--dur-base: .16s;--dur-slow: .2s;--ease: cubic-bezier(.2, 0, 0, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}:root[data-theme=light]{color-scheme:light;--page: #eef0f4;--card: #ffffff;--raised: #ffffff;--fg: #1c1e23;--muted: #4f5566;--accent: #6a55e0;--accent-ink: #ffffff;--border: #d5d9e1;--terminal: #ffffff;--green: #1a7431;--red: #c4231c;--yellow: #8a5d00;--blue: #0b5cc2;--shadow: 0 10px 30px rgb(20 24 40 / .16)}:root[data-keyboard]{--safe-bottom: 0px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--page);color:var(--fg);font-family:var(--font-ui);font-size:15px;line-height:20px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}.app{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--vv-height, 100dvh);display:flex;flex-direction:column;background:var(--page)}.icon-button{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--fg);transition:background var(--dur-press) var(--ease)}.icon-button.small{width:36px;height:36px}.icon-button:active:not(:disabled),.icon-button.on{background:var(--press)}.icon-button.on{color:var(--accent)}.button{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--raised);border:1px solid var(--border);font-weight:500;transition:transform var(--dur-press) var(--ease),background var(--dur-press) var(--ease)}.button:active:not(:disabled){transform:scale(.98)}.button.small{min-height:32px;padding:0 var(--space-3);font-size:13px}.button.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.button.ghost{background:transparent;border-color:transparent;color:var(--accent)}.button.block{width:100%}.agent-icon{flex:none;display:inline-block}.agent-icon.mono{background:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.agent-icon.shell{color:var(--muted)}.dot{width:8px;height:8px;flex:none;border-radius:var(--radius-full);background:var(--muted)}.dot-working,.dot-connecting,.dot-starting{background:var(--blue);animation:pulse 1.4s var(--ease) infinite}.dot-starting,.dot-connecting{background:var(--muted)}.dot-waiting{background:var(--yellow);box-shadow:0 0 0 3px color-mix(in srgb,var(--yellow) 22%,transparent)}.dot-done,.dot-online{background:var(--green)}.dot-error{background:var(--red)}.dot-offline,.dot-ended{background:transparent;box-shadow:inset 0 0 0 1.5px var(--muted)}@keyframes pulse{50%{opacity:.35}}.segmented{display:inline-flex;padding:2px;gap:2px;border-radius:var(--radius-md);background:var(--press)}.segmented button{min-height:30px;padding:0 var(--space-3);border-radius:6px;font-size:13px;font-weight:500;color:var(--muted);transition:background var(--dur-fast) var(--ease)}.segmented button.on{background:var(--raised);color:var(--fg);box-shadow:0 1px 3px #0000002e}.switch{width:51px;height:31px;flex:none;border-radius:var(--radius-full);background:var(--border);position:relative;transition:background var(--dur-base) var(--ease)}.switch span{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:var(--radius-full);background:#fff;box-shadow:0 2px 6px #00000040;transition:transform var(--dur-base) var(--ease)}.switch.on{background:var(--green)}.switch.on span{transform:translate(20px)}.sheet-layer{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--vv-height, 100dvh);z-index:70;display:flex;flex-direction:column;justify-content:flex-end}.sheet-backdrop{position:absolute;inset:0;background:#00000073;animation:fade var(--dur-slow) var(--ease)}.sheet{position:relative;max-height:calc(var(--vv-height, 100dvh) - var(--safe-top) - 24px);display:flex;flex-direction:column;background:var(--card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow);animation:rise var(--dur-slow) var(--ease)}.sheet:focus{outline:none}.sheet-grip{width:36px;height:5px;margin:var(--space-2) auto 0;border-radius:var(--radius-full);background:var(--border)}.sheet-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) calc(var(--space-2) + var(--safe-right)) 0 calc(var(--space-4) + var(--safe-left))}.sheet-head h2{flex:1;min-width:0;font-size:17px;line-height:22px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-body{overflow-y:auto;padding:var(--space-2) calc(var(--space-4) + var(--safe-right)) calc(var(--space-4) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-left));display:flex;flex-direction:column;gap:var(--space-3)}.sheet-group{border-radius:var(--radius-lg);background:var(--page);padding:var(--space-1) var(--space-3)}.row{min-height:48px;display:flex;align-items:center;gap:var(--space-3)}.row+.row{border-top:1px solid var(--hairline)}.row-icon{color:var(--muted);flex:none}.row-label{flex:1;min-width:0;font-weight:500}.row-note{padding:0 0 var(--space-3);font-size:13px;line-height:18px;color:var(--muted)}.row-button{width:100%;font-weight:500;text-align:left}.row-button.danger{color:var(--red)}.stepper{display:flex;align-items:center;gap:var(--space-1)}.stepper-value{min-width:28px;text-align:center;font-variant-numeric:tabular-nums;font-weight:500}.safety-code{font-family:var(--font-mono);font-size:15px;letter-spacing:.04em}.mac-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.mac-card-name{font-size:17px;line-height:22px;font-weight:600}.mac-card-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.demo-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-3)}.demo-actions .button{min-height:36px;font-size:13px}.toasts{position:fixed;z-index:80;top:calc(var(--vv-top, 0px) + var(--safe-top) + 60px);left:calc(var(--space-4) + var(--safe-left));right:calc(var(--space-4) + var(--safe-right));display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);max-width:100%;padding:10px var(--space-4);border-radius:var(--radius-full);background:var(--raised);border:1px solid var(--border);box-shadow:var(--shadow);font-size:13px;line-height:18px;font-weight:500;text-align:center;animation:drop var(--dur-base) var(--ease)}.toast button{pointer-events:auto;flex:none;min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--accent);color:var(--accent-ink);font-weight:600}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes drop{0%{opacity:0;transform:translateY(-8px)}}.home{flex:1;min-height:0;display:flex;flex-direction:column}.home-bar{display:flex;align-items:center;gap:var(--space-3);padding:calc(var(--safe-top) + var(--space-2)) calc(var(--space-2) + var(--safe-right)) var(--space-2) calc(var(--space-4) + var(--safe-left))}.mark{flex:none;margin:-2px}.home-mac{flex:1;min-width:0}.home-mac-name{font-size:20px;line-height:26px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-status{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--muted)}.home-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2) calc(var(--space-4) + var(--safe-right)) 0 calc(var(--space-4) + var(--safe-left));display:flex;flex-direction:column;gap:var(--space-5)}.home-scroll.stale .group{opacity:.55}.offline-card{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--border);color:var(--muted)}.offline-card strong{display:block;color:var(--fg);font-weight:600}.offline-card p{font-size:13px;line-height:18px;margin:2px 0 var(--space-2)}.group{display:flex;flex-direction:column;gap:var(--space-2)}.group-title{font-size:13px;line-height:18px;font-weight:600;color:var(--muted);padding:0 var(--space-1)}.group-title.needs{color:var(--yellow)}.cards,.list{list-style:none;margin:0;padding:0}.cards{display:flex;flex-direction:column;gap:var(--space-2)}.list{border-radius:var(--radius-lg);background:var(--card);overflow:hidden}.list li+li .tab-row{box-shadow:inset 0 1px 0 var(--hairline)}.list li.fresh{animation:fresh 2.4s var(--ease)}@keyframes fresh{0%{background:color-mix(in srgb,var(--accent) 22%,transparent)}}.tab-row{width:100%;min-height:60px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);text-align:left;transition:background var(--dur-press) var(--ease)}.tab-row:active{background:var(--press)}.needs-card{padding:0 0 var(--space-3);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--yellow) 8%,var(--card));border:1px solid color-mix(in srgb,var(--yellow) 34%,transparent)}.needs-head{width:100%;min-height:56px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);text-align:left;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.needs-head:active{background:var(--press)}.row-chevron{flex:none;color:var(--muted)}.needs-question{padding:0 var(--space-3);font-weight:600;color:var(--yellow)}.needs-detail{margin:var(--space-2) var(--space-3) 0;padding:var(--space-2) var(--space-3);max-height:120px;overflow:auto;border-radius:var(--radius-md);background:var(--page);font-family:var(--font-mono);font-size:13px;line-height:18px;white-space:pre-wrap;word-break:break-word}.needs-options{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) var(--space-3) 0}.needs-note{padding:0 var(--space-3);font-size:13px;line-height:18px;color:var(--muted)}.row-main{flex:1;min-width:0}.row-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{display:flex;align-items:center;gap:6px;margin-top:1px;font-size:13px;line-height:18px;color:var(--muted)}.row-meta span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta .dot{width:7px;height:7px}.row-meta.state-waiting{color:var(--yellow)}.row-meta.state-working{color:var(--blue)}.row-meta.state-error{color:var(--red)}.sheet .list,.sheet .empty.small{background:var(--page)}.toast span{min-width:0}.toast:has(button) span{text-align:left}.tab-row.current{background:color-mix(in srgb,var(--accent) 12%,transparent)}.workspace-head{display:flex;align-items:center;gap:var(--space-2);padding-left:var(--space-1)}.workspace-dot{width:10px;height:10px;flex:none;border-radius:3px}.workspace-text{flex:1;min-width:0}.workspace-text h2{font-size:15px;line-height:20px;font-weight:600}.workspace-text p{font-size:12px;line-height:16px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-mark{flex:none;color:var(--muted)}.place{display:flex;flex-direction:column;gap:var(--space-1)}.place-head{display:flex;align-items:center;gap:6px;padding-left:var(--space-3)}.place-text{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--space-2)}.place-text span,.place-text small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-text span{flex:none;max-width:100%;font-size:14px;line-height:20px;font-weight:600}.place-text small{flex:0 1 auto;font-size:12px;color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:var(--space-6) 0}.empty.small{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--card);font-size:13px}.fab-room{height:calc(84px + var(--safe-bottom));flex:none}.fab{position:absolute;right:calc(var(--space-4) + var(--safe-right));bottom:calc(var(--space-4) + var(--safe-bottom));height:52px;padding:0 var(--space-5) 0 var(--space-4);display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);background:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:var(--shadow);transition:transform var(--dur-press) var(--ease)}.fab:active:not(:disabled){transform:scale(.96)}.sheet-body>.segmented{display:flex}.sheet-body>.segmented button{flex:1}.field-label{font-size:13px;line-height:18px;font-weight:600;color:var(--muted);margin-bottom:calc(var(--space-1) * -1)}.choice-list{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--page);overflow:hidden}.choice{display:flex;flex:none;align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) var(--space-3);text-align:left}.choice+.choice{box-shadow:inset 0 1px 0 var(--hairline)}.choice-list.places{flex:none;max-height:min(44vh,344px);overflow-y:auto;overscroll-behavior:contain}.choice.child{min-height:48px;gap:var(--space-2);padding-left:30px}.choice+.choice.child{box-shadow:none;background-image:linear-gradient(var(--hairline),var(--hairline));background-repeat:no-repeat;background-size:calc(100% - 30px) 1px;background-position:right top}.choice.on{background:color-mix(in srgb,var(--accent) 14%,transparent)}.choice-text{display:flex;flex-direction:column;min-width:0}.choice-text span{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-text small{font-size:12px;line-height:16px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.agent-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--page);border:1.5px solid transparent;font-size:12px;line-height:16px;font-weight:500;text-align:center}.agent-choice.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--page))}.text-field{width:100%;resize:none;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--page);font-size:16px;line-height:22px;outline:none}.text-field:focus{border-color:var(--accent)}.tab-view{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--terminal)}.bar{flex:none;display:flex;align-items:center;gap:var(--space-1);padding:calc(var(--safe-top) + 2px) calc(var(--space-1) + var(--safe-right)) 2px calc(var(--space-1) + var(--safe-left));background:var(--card);border-bottom:1px solid var(--hairline)}.bar-title{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-1);border-radius:var(--radius-md);text-align:left}.bar-title:active{background:var(--press)}.bar-caret{flex:none;margin-left:2px;color:var(--muted);vertical-align:-2px}.icon-button.back{position:relative}.badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--yellow);color:var(--page);font-size:11px;line-height:18px;font-weight:600;text-align:center}.bar-text{min-width:0}.bar-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-sub{display:flex;align-items:center;gap:6px;font-size:12px;line-height:16px;color:var(--muted)}.bar-sub span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-sub .dot{width:7px;height:7px}.bar-sub.state-waiting{color:var(--yellow)}.bar-sub.state-working{color:var(--blue)}.term-wrap{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.jump{position:absolute;right:calc(var(--space-3) + var(--safe-right));bottom:var(--space-3);display:flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--raised);border:1px solid var(--border);box-shadow:var(--shadow);font-size:13px;font-weight:600;animation:rise-small var(--dur-base) var(--ease)}.term-view{box-sizing:content-box;flex:1;min-height:0;padding:var(--space-2) var(--safe-right) var(--space-1) calc(var(--space-2) + var(--safe-left));overflow:hidden}.term-view-phone,.term-view-phone *{touch-action:none}.term-view-mac{overflow:auto;scrollbar-width:none}.term-view-mac,.term-view-mac *{touch-action:pan-x pan-y}.term-view-mac::-webkit-scrollbar{display:none}.term-view .xterm{height:100%}.term-view-phone .xterm{height:auto}.term-view-mac .xterm{height:auto;width:max-content;padding-right:var(--space-2)}.term-view .xterm-viewport{background:transparent!important}.term-view .xterm-scrollable-element>.scrollbar{display:none!important}.attention{flex:none;margin:0 calc(var(--space-2) + var(--safe-right)) var(--space-2) calc(var(--space-2) + var(--safe-left));padding:var(--space-2) var(--space-3) var(--space-3);border-radius:var(--radius-lg);background:var(--card);border:1px solid color-mix(in srgb,var(--yellow) 38%,var(--border));box-shadow:var(--shadow);max-height:52%;overflow-y:auto;animation:rise-small var(--dur-slow) var(--ease)}@keyframes rise-small{0%{opacity:0;transform:translateY(12px)}}.attention-head{display:flex;align-items:center;gap:var(--space-2);margin-right:calc(var(--space-2) * -1)}.attention-from{flex:1;font-size:13px;font-weight:500;color:var(--yellow)}.attention-title{font-size:17px;line-height:22px;font-weight:600}.attention-detail{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--page);font-family:var(--font-mono);font-size:13px;line-height:18px;white-space:pre-wrap;word-break:break-word}.attention-options{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.option{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--page);border:1px solid var(--border);text-align:left;font-weight:500;line-height:19px;transition:transform var(--dur-press) var(--ease)}.option:first-child{border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.option:active:not(:disabled){transform:scale(.99);background:var(--press)}.option kbd{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:var(--raised);border:1px solid var(--border);font-family:var(--font-mono);font-size:12px}.question-pill{align-self:center;display:flex;align-items:center;gap:6px;margin-bottom:var(--space-2);min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-full);background:color-mix(in srgb,var(--yellow) 18%,var(--card));color:var(--yellow);font-size:13px;font-weight:600}.control-banner{flex:none;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) calc(var(--space-3) + var(--safe-right)) var(--space-2) calc(var(--space-3) + var(--safe-left));background:var(--card);border-top:1px solid var(--hairline);font-size:13px;line-height:18px;color:var(--muted)}.control-banner span{flex:1}.keybar{flex:none;display:flex;gap:6px;padding:6px calc(var(--space-2) + var(--safe-right)) 6px calc(var(--space-2) + var(--safe-left));overflow-x:auto;scrollbar-width:none;background:var(--card);border-top:1px solid var(--hairline)}.keybar::-webkit-scrollbar{display:none}.key{flex:none;min-width:44px;height:40px;padding:0 var(--space-2);border-radius:var(--radius-md);background:var(--raised);border:1px solid var(--border);font-family:var(--font-mono);font-size:14px;font-weight:500}:root[data-theme=light] .key{background:var(--page)}.key:active:not(:disabled){background:var(--press);transform:translateY(1px)}.attachments{flex:none;display:flex;gap:var(--space-2);margin:0;padding:var(--space-2) calc(var(--space-2) + var(--safe-right)) 0 calc(var(--space-2) + var(--safe-left));list-style:none;overflow-x:auto;background:var(--card)}.attachment{position:relative;flex:none;width:56px;height:56px;border-radius:var(--radius-md);overflow:hidden;background:var(--raised);border:1px solid var(--border)}.attachment img{width:100%;height:100%;object-fit:cover}.attachment.failed{border-color:var(--red)}.attachment-alert{position:absolute;inset:0;margin:auto;color:var(--red)}.attachment-progress{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);transition:width var(--dur-fast) var(--ease)}.attachment-remove{position:absolute;top:2px;right:2px;width:24px;height:24px;display:grid;place-items:center;border-radius:var(--radius-full);background:#0009;color:#fff}.composer{flex:none;display:flex;align-items:flex-end;gap:var(--space-1);padding:var(--space-1) calc(var(--space-2) + var(--safe-right)) calc(var(--space-2) + var(--safe-bottom)) calc(var(--space-2) + var(--safe-left));background:var(--card)}.composer textarea{overflow-y:hidden;flex:1;min-width:0;min-height:40px;max-height:128px;resize:none;padding:9px var(--space-3);border-radius:20px;border:1px solid var(--border);background:var(--page);font-size:16px;line-height:22px;outline:none}.composer textarea:focus{border-color:var(--accent)}.composer.raw textarea{border-style:dashed;border-color:var(--accent);caret-color:transparent}.composer .icon-button.small{width:40px;height:40px}.round-button{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:var(--radius-full);transition:transform var(--dur-press) var(--ease)}.round-button:active:not(:disabled){transform:scale(.92)}.round-button.send{background:var(--accent);color:var(--accent-ink)}.round-button.stop{background:var(--raised);border:1px solid var(--border);color:var(--fg)}.load-failed{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6) calc(var(--space-5) + var(--safe-right)) var(--space-6) calc(var(--space-5) + var(--safe-left));text-align:center;color:var(--muted)}.scanner{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--vv-height, 100dvh);z-index:75;background:#000;color:#fff}.scanner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;left:50%;top:45%;width:min(66vw,280px);aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid rgb(255 255 255 / .9);border-radius:var(--radius-xl);box-shadow:0 0 0 100vmax #00000080}.scanner-top{position:absolute;top:calc(var(--safe-top) + var(--space-2));left:calc(var(--space-2) + var(--safe-left))}.scanner-top .icon-button{color:#fff;background:#00000059}.scanner-bottom{position:absolute;left:0;right:0;bottom:calc(var(--safe-bottom) + var(--space-6));padding:0 calc(var(--space-5) + var(--safe-right)) 0 calc(var(--space-5) + var(--safe-left));text-align:center;font-weight:500;text-shadow:0 1px 3px rgb(0 0 0 / .6)}.scanner-problem{display:inline-flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:#0009;text-align:left;text-shadow:none}.scanner-problem svg{flex:none;margin-top:1px}.scanner-retry{display:block;margin:var(--space-3) auto 0}.scan-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.pair{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-5);max-width:480px;width:100%;margin:0 auto;padding:calc(var(--safe-top) + var(--space-6)) calc(var(--space-5) + var(--safe-right)) calc(var(--safe-bottom) + var(--space-5)) calc(var(--space-5) + var(--safe-left))}.pair-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding-top:var(--space-5)}.pair-hero h1{font-size:26px;line-height:32px;font-weight:600;letter-spacing:-.01em}.pair-hero p{color:var(--muted)}.pair-steps{list-style:none;margin:0;padding:var(--space-1) var(--space-4);border-radius:var(--radius-lg);background:var(--card)}.pair-steps li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0}.pair-steps li+li{border-top:1px solid var(--hairline)}.step-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.pair-code{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--card);color:var(--green)}.pair-code code{font-family:var(--font-mono);font-size:24px;letter-spacing:.06em;color:var(--fg)}.pair-bad{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--red) 12%,var(--card));color:var(--red);font-weight:500}.pair-note{display:flex;gap:var(--space-2);align-items:flex-start;font-size:13px;line-height:18px;color:var(--muted)}.pair-note svg{flex:none;margin-top:1px;color:var(--green)}.pair-mac{color:var(--accent)}.pair-code-inline{font-family:var(--font-mono);font-size:20px;letter-spacing:.06em}.spin{color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pair-actions{display:flex;flex-direction:column;gap:var(--space-2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
