@font-face{font-family:Geist Variable;src:url(/fonts/geist-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono Variable;src:url(/fonts/geist-mono-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 900;font-display:swap}:root{--bg: #0a0c0e;--surface: #111417;--surface-2: #181b1f;--surface-3: #21252a;--line: rgba(236, 235, 230, .08);--line-strong: rgba(236, 235, 230, .16);--text: #ecebe6;--text-2: #a4a8ad;--text-3: #80858b;--ink: #ecebe6;--ink-text: #0a0c0e;--ink-hover: #ffffff;--accent: #34e0b4;--signal: var(--accent);--online: var(--accent);--warn: #f2b84b;--danger: #ff6f61;--danger-solid: #d9483b;--shadow: 0 24px 60px rgba(0, 0, 0, .5);--r-sm: 8px;--r: 12px;--r-lg: 18px;--ease: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--font: "Geist Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #efede8;--surface: #f8f7f3;--surface-2: #e9e7e1;--surface-3: #dedbd3;--line: rgba(22, 24, 27, .1);--line-strong: rgba(22, 24, 27, .2);--text: #16181b;--text-2: #50555b;--text-3: #62676d;--ink: #16181b;--ink-text: #f8f7f3;--ink-hover: #000000;--accent: #077a58;--warn: #8f5800;--danger: #c5382b;--danger-solid: #c5382b;--shadow: 0 24px 60px rgba(22, 24, 27, .18);color-scheme:light}}.session,.toast-dark{--bg: #0a0c0e;--surface: #111417;--surface-2: #181b1f;--surface-3: #21252a;--line: rgba(236, 235, 230, .09);--line-strong: rgba(236, 235, 230, .17);--text: #ecebe6;--text-2: #a4a8ad;--text-3: #80858b;--ink: #ecebe6;--ink-text: #0a0c0e;--accent: #34e0b4;--warn: #f2b84b;--danger: #ff6f61;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;font:400 16px/1.5 var(--font);font-feature-settings:"cv11","ss01";color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}body.in-session{overflow:hidden;background:#000}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.12;letter-spacing:-.03em;font-weight:620}h2{font-size:19px;line-height:1.25;letter-spacing:-.02em;font-weight:600;text-wrap:balance}p{text-wrap:pretty}.subtle{color:var(--text-2);font-size:14px;line-height:1.45}.strong{font-weight:600}.subtle.small{font-size:13px}.subtle.block{display:block;font-size:12.5px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;cursor:pointer}button,a,input,label,summary{touch-action:manipulation}button:disabled{cursor:default}a{color:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:6px}.app{margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));min-height:100%}body.in-session .app{max-width:none;padding:0}.section-label,.eyebrow{font:500 11px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--text-3)}.orbit-mark{color:var(--text);display:block}.orbit-mark .orbit-sat{transform-origin:24px 24px}.orbit-mark.spin .orbit-sat{animation:orbit 3.6s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--r);border:1px solid var(--line-strong);background:transparent;color:var(--text);font-weight:560;font-size:15.5px;letter-spacing:-.005em;transition:transform .16s var(--ease),background-color .18s,border-color .18s,opacity .2s}.button:hover:not(:disabled){background:var(--surface-2)}.button:active:not(:disabled){transform:scale(.97)}.button.block{width:100%}.button.primary{background:var(--ink);color:var(--ink-text);border-color:transparent}.button.primary:hover:not(:disabled){background:var(--ink-hover)}.button.quiet{border-color:transparent;color:var(--text-2)}.button.quiet:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.button.busy{opacity:.65}.button.busy:after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:orbit .7s linear infinite}.button.small{min-height:44px;margin-top:8px}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--r);border:none;background:transparent;color:var(--text-2);transition:background-color .16s,color .16s,transform .16s var(--ease)}.icon-button:hover{background:var(--surface-2);color:var(--text)}.icon-button:active{transform:scale(.94)}.text-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;background:none;border:none;color:var(--text-2);font-size:14.5px;font-weight:500;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px;transition:color .16s,text-decoration-color .16s}.text-link:hover{color:var(--text);text-decoration-color:var(--text-2)}.stack{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field>span:first-child{font-size:13px;color:var(--text-2);font-weight:500}input:not([type=checkbox]){width:100%;height:50px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;font-size:16px;transition:border-color .16s,background-color .16s}input::placeholder{color:var(--text-3)}input:hover:not(:focus){border-color:color-mix(in srgb,var(--text) 28%,transparent)}input:focus{outline:none;border-color:var(--text);background:var(--bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 16%,transparent)}input.mono{font-family:var(--mono);letter-spacing:.06em}input.big{height:56px;font-size:21px;font-weight:500}input.code{text-transform:uppercase;letter-spacing:.32em}input.pin{text-align:center;letter-spacing:.4em}.input-with-action{position:relative;display:block}.input-with-action input{padding-right:52px}.input-with-action .icon-button{position:absolute;right:3px;top:50%;transform:translateY(-50%)}.input-with-action .icon-button:active{transform:translateY(-50%) scale(.94)}.form-error{color:var(--danger);font-size:14px}.form-error:empty{display:none}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:46px;height:28px;margin:0;border-radius:999px;background:var(--surface-3);border:1px solid var(--line-strong);position:relative;transition:background-color .2s,border-color .2s;cursor:pointer}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--text-2);transition:transform .22s var(--ease),background-color .2s}.switch:checked{background:var(--accent);border-color:transparent}.switch:checked:after{transform:translate(18px);background:#04150f}.switch:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:999px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.view{max-width:560px;margin:0 auto}.auth{display:flex;flex-direction:column;min-height:calc(100dvh - 48px);justify-content:center;gap:32px;animation:view-in .5s var(--ease) both}.auth-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;row-gap:28px;align-content:end}.auth-mark{display:block}.auth-hero h1{font-size:22px;font-weight:620;letter-spacing:-.03em}.auth-hero p{grid-column:1 / -1}.auth-hero p{font-size:32px;line-height:1.08;letter-spacing:-.035em;font-weight:620;max-width:12ch;text-wrap:balance}.auth-card{display:block}.auth-card .stack{gap:14px}.auth>.text-link{align-self:flex-start;margin-top:-12px}.google-slot{display:flex;justify-content:center;min-height:44px;color-scheme:light}.divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--text-3);font:500 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line-strong)}#signupHint{padding-left:12px;border-left:2px solid var(--warn)}#authToggle{margin-top:-4px}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}}@media(min-width:860px){.app:has(.auth:not([hidden])){display:grid}.view.auth{max-width:1040px;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:1fr auto auto 1fr;column-gap:96px;align-content:center;align-items:start;gap:0 96px;position:relative;isolation:isolate}.auth-hero{grid-row:1 / 5;grid-column:1;align-self:center;position:relative;min-height:420px;padding-bottom:8px}.auth-hero p{font-size:56px;max-width:11ch}.auth-hero:before{content:"";position:absolute;inset:-80px -40px auto -120px;height:520px;z-index:-1;background:repeating-radial-gradient(circle at 34% 40%,transparent 0 46px,var(--line) 46px 47px);-webkit-mask-image:radial-gradient(circle at 34% 40%,#000,transparent 68%);mask-image:radial-gradient(circle at 34% 40%,#000,transparent 68%)}.auth-card{grid-row:2;grid-column:2}.auth>.text-link{grid-row:3;grid-column:2;margin-top:18px}}#devicesView{max-width:720px;animation:view-in .45s var(--ease) both}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;min-height:44px}.brand{display:flex;align-items:center;gap:10px;font-weight:620;font-size:17px;letter-spacing:-.02em}.avatar{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--text);font:560 15px var(--font);transition:background-color .16s,transform .16s var(--ease)}button.avatar:hover{background:var(--surface-2)}button.avatar:active{transform:scale(.94)}.avatar.large{width:52px;height:52px;font-size:20px;background:var(--surface-2);border-color:transparent}.page-head{margin-bottom:22px;display:flex;flex-direction:column;gap:6px}.page-head h1{font-size:34px}.page-head .subtle{font:500 12px/1.3 var(--mono);letter-spacing:.02em;color:var(--text-3);text-transform:none}.page-head .subtle:empty{display:none}.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-strong)}.list:empty{display:none}.device{display:flex;align-items:center;border-bottom:1px solid var(--line);animation:row-in .42s var(--ease) both}.device:nth-child(2){animation-delay:40ms}.device:nth-child(3){animation-delay:80ms}.device:nth-child(n+4){animation-delay:.12s}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}}.device-main{flex:1;min-width:0;display:flex;align-items:center;gap:16px;min-height:84px;padding:14px 8px 14px 4px;border:none;border-radius:var(--r);background:none;text-align:left;transition:background-color .16s,transform .16s var(--ease)}.device-main:not(:disabled):hover{background:var(--surface)}.device-main:not(:disabled):active{transform:scale(.99)}.device-main:disabled{opacity:.6}.device-glyph{position:relative;flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-strong);color:var(--text-3)}.device.online .device-glyph{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.device-ring{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%}.device.online .device-ring:after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--bg),0 0 12px color-mix(in srgb,var(--accent) 70%,transparent)}.device.online .device-ring{animation:orbit 7s linear infinite}.device-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.device-name{font-weight:580;font-size:17px;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-meta{font-size:13px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device.online .device-meta{color:var(--accent)}.device-chevron{color:var(--text-3);display:grid;transition:transform .2s var(--ease),color .16s}.device-main:not(:disabled):hover .device-chevron{transform:translate(3px);color:var(--text)}.device-main:disabled .device-chevron{visibility:hidden}.device-more{margin-left:2px;flex:none}.wake-button{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:44px;padding:0 14px;margin-right:2px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--warn) 50%,transparent);background:transparent;color:var(--warn);font-size:14px;font-weight:580;transition:background-color .16s,transform .16s var(--ease)}.wake-button:hover{background:color-mix(in srgb,var(--warn) 12%,transparent)}.wake-button:active{transform:scale(.96)}.wake-button svg{width:18px;height:18px}.add-row{display:flex;align-items:center;gap:16px;width:100%;min-height:72px;margin-top:8px;padding:10px 4px;border:none;border-radius:var(--r);background:transparent;color:var(--text);font-weight:560;font-size:16px;letter-spacing:-.01em;text-align:left;transition:background-color .16s,transform .16s var(--ease)}.add-row:hover{background:var(--surface)}.add-row:active{transform:scale(.99)}.add-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--ink-text)}.links{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.empty{padding:28px 4px 8px;display:grid;gap:14px;justify-items:start}.empty-art,.connecting-art{position:relative;display:inline-grid;place-items:center;color:var(--text-3)}.empty-art .orbit-mark,.connecting-art .orbit-mark{color:var(--text-3);opacity:.55}.empty-art .orbit-core,.connecting-art .orbit-core{display:none}.empty-art .orbit-ring,.connecting-art .orbit-ring{stroke-width:1}.empty-mac,.connecting-mac{position:absolute;color:var(--text-2);transform:scale(1.5)}.empty ol{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:10px;color:var(--text-2)}.empty li{counter-increment:step;position:relative;padding-left:34px}.empty li:before{content:"0" counter(step);position:absolute;left:0;top:.2em;font:500 12px var(--mono);color:var(--text-3)}.empty strong{color:var(--text);font-weight:560}@media(min-width:700px){.topbar{margin-bottom:64px}.page-head h1{font-size:44px}.device-main{min-height:92px}}dialog.sheet{margin:auto auto 0;width:100%;max-width:480px;padding:0;border:1px solid var(--line-strong);border-bottom:none;border-radius:22px 22px 0 0;background:var(--surface);color:var(--text);box-shadow:var(--shadow);max-height:calc(100dvh - 12px);overflow-y:auto;overscroll-behavior:contain;animation:sheet-in .36s var(--ease)}dialog.sheet.closing{animation:sheet-out .2s var(--ease-in-out) forwards}dialog.sheet::backdrop{background:#04050699;animation:fade .24s ease-out}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-out{to{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.sheet-body{display:flex;flex-direction:column;gap:16px;padding:10px 22px max(22px,env(safe-area-inset-bottom))}.sheet-body.center{text-align:center}.sheet-body h2{font-size:22px;letter-spacing:-.03em}.sheet-grip{width:36px;height:4px;border-radius:2px;background:var(--line-strong);margin:0 auto 8px}.sheet-icon{display:grid;place-items:center;width:56px;height:56px;margin:4px auto 0;border-radius:50%;border:1px solid var(--line-strong);color:var(--text)}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.sheet-actions .button{width:100%}.account-head{display:flex;align-items:center;gap:14px;padding-bottom:4px}.account-head .subtle{font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-3)}.account-head .strong{overflow-wrap:anywhere}.menu-row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line-strong);background:transparent;font-weight:560;text-align:left;transition:background-color .16s,transform .16s var(--ease)}.menu-row:hover{background:var(--surface-2)}.menu-row:active{transform:scale(.985)}.menu-row.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.menu-row span{display:grid}.relay-section{display:flex;flex-direction:column;gap:10px;padding:16px 0 6px;border-top:1px solid var(--line)}.relay-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.relay-list:empty{display:none}.relay{display:flex;align-items:center;gap:12px;padding:4px 0 4px 2px;border-bottom:1px solid var(--line)}.relay:last-child{border-bottom:none}.relay .dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--text-3)}.relay .dot.online{background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}.relay-text{flex:1;display:flex;flex-direction:column;min-width:0}.relay-text strong{font-size:15px;font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relay-text .subtle{font-size:13px;color:var(--text-3)}.command{margin:0;padding:14px;border-radius:var(--r);background:var(--bg);border:1px solid var(--line-strong);font:13px/1.55 var(--mono);white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}@media(min-width:640px){dialog.sheet{margin:auto;border-radius:20px;border-bottom:1px solid var(--line-strong);animation:pop-in .3s var(--ease)}dialog.sheet.closing{animation:pop-out .16s ease-in forwards}.sheet-grip{display:none}.sheet-body{padding:28px}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(6px)}}@keyframes pop-out{to{opacity:0;transform:scale(.98)}}}.toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(440px,calc(100vw - 32px));padding:12px 16px;border-radius:var(--r);background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong);box-shadow:0 16px 40px #0006;font-size:14.5px;font-weight:500;line-height:1.35;opacity:0;transform:translate(-50%,12px) scale(.98);pointer-events:none;transition:opacity .2s,transform .3s var(--ease)}.toast.visible{opacity:1;transform:translate(-50%)}.toast:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--text-3)}.toast[data-kind=error]:before{background:var(--danger)}.toast[data-kind=ok]:before{background:var(--accent);box-shadow:0 0 8px var(--accent)}body.in-session .toast{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 76px)}@media(min-width:700px),(orientation:landscape){body.in-session .toast{bottom:max(24px,env(safe-area-inset-bottom))}}.remember-row{text-align:left;margin:14px 0 4px}.session{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:10}.session{touch-action:none;overscroll-behavior:none}.stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;background:#000}.stage video{flex:1;width:100%;height:100%;object-fit:contain;background:#000;will-change:transform}.stage video.interactive{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:none}.text-sink{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;border:0;padding:0;resize:none;font-size:16px}.session-chip{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;max-width:calc(100% - 24px);padding:7px 14px 7px 12px;border-radius:999px;background:#0a0c0edb;border:1px solid var(--line-strong);color:var(--text);font-size:13px;font-weight:560;pointer-events:none;white-space:nowrap;transition:opacity .4s}.chip-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--warn)}.session-chip[data-kind=ok] .chip-dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}.chip-stats{color:var(--text-3);font:500 12px var(--mono);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.chip-stats:empty{display:none}.connecting{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;background:repeating-radial-gradient(circle at 50% 42%,transparent 0 63px,rgba(236,235,230,.05) 63px 64px),#0a0c0e;color:var(--text);transition:opacity .45s var(--ease),visibility .45s}.connecting.done{opacity:0;visibility:hidden}.connecting-art{margin-bottom:20px}.connecting .connecting-art .orbit-mark{color:#ecebe624}.connecting .connecting-mac{color:var(--text);transform:scale(1.8)}.connecting h2{font-size:24px;letter-spacing:-.03em}.connecting p{color:var(--text-2);min-height:1.4em;font:500 13px/1.4 var(--mono);letter-spacing:.01em}.connecting p[data-kind=error]{color:var(--danger)}.connecting .button{margin-top:22px;min-width:140px}.zoom-pill{position:absolute;top:calc(max(12px,env(safe-area-inset-top)) + 44px);right:12px;min-height:36px;padding:0 13px;border:1px solid var(--line-strong);border-radius:999px;background:#0a0c0edb;color:var(--text);font:500 12.5px var(--mono);font-variant-numeric:tabular-nums}.zoom-pill:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.remote-cursor{position:absolute;left:0;top:0;pointer-events:none;z-index:3;will-change:transform}.remote-cursor img{position:absolute;left:0;top:0;max-width:none;image-rendering:auto}.hold-ring{position:absolute;left:-22px;top:-22px;width:44px;height:44px;border-radius:50%;background:#969ba559;border:2px solid rgba(220,224,230,.8);transform:scale(.3);opacity:0;transition:transform .18s var(--ease),opacity .18s}.remote-cursor.holding .hold-ring{transform:scale(1);opacity:1}.takeover{position:absolute;top:max(60px,calc(env(safe-area-inset-top) + 52px));left:50%;transform:translate(-50%);z-index:30;width:min(360px,calc(100% - 24px));padding:14px 16px;border-radius:14px;background:var(--surface-2, #1b1d20);border:1px solid var(--line-strong, rgba(255, 255, 255, .16));box-shadow:0 18px 50px #0000008c;color:var(--text, #ecebe6);animation:takeover-in .24s var(--ease, ease-out)}.takeover p{margin:0 0 4px}.takeover-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.takeover-actions .button{margin-top:0;min-width:96px}@keyframes takeover-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media(prefers-reduced-motion:reduce){.takeover{animation:none}}.dock{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:5px;border-radius:18px;background:#111417f0;border:1px solid var(--line-strong);box-shadow:0 14px 40px #0000008c;color:var(--text);animation:dock-in .4s var(--ease)}@keyframes dock-in{0%{opacity:0;transform:translate(-50%,14px)}}.dock-button{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:13px;border:none;background:transparent;color:var(--text-2);transition:background-color .16s,color .16s,transform .16s var(--ease)}.dock-button:hover{background:var(--surface-3);color:var(--text)}.dock-button:active{transform:scale(.92)}.dock-button[aria-expanded=true]{background:var(--surface-3);color:var(--text)}.dock-button.active{color:var(--accent)}.dock-button.danger{color:#fff;background:var(--danger-solid)}.dock-button.danger:hover{background:#ec5b4d}.dock-button.has-latch:after{content:"";position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.dock-sep{width:1px;height:26px;margin:0 4px;background:var(--line-strong)}.dock-collapse{display:none}.popover{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:min(348px,calc(100vw - 24px));max-height:calc(100dvh - 110px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;padding:16px;border-radius:18px;background:#111417fa;border:1px solid var(--line-strong);box-shadow:0 20px 56px #0009;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;animation:pop-up .24s var(--ease)}@keyframes pop-up{0%{opacity:0;transform:translate(-50%,8px) scale(.98)}}.popover-title{display:flex;align-items:baseline;gap:8px;margin:14px 0 8px;font:500 11px/1.3 var(--mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.09em}.popover-title:first-child{margin-top:0}.popover-title .subtle{text-transform:none;letter-spacing:0;font:500 12px var(--font);color:var(--text-3);margin:0}.key-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px}.key{min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);box-shadow:0 1px 0 var(--line-strong);color:var(--text);font-size:17px;font-weight:500;transition:background-color .12s,transform .12s var(--ease),box-shadow .12s}.key.wide{font-size:13.5px;font-family:var(--mono)}.key:hover{background:var(--surface-3)}.key:active{transform:translateY(1px);box-shadow:none;background:var(--surface-3)}.key.active{background:var(--accent);color:#04150f;border-color:transparent;box-shadow:none}.arrows{display:grid;grid-template-columns:repeat(3,52px);grid-template-areas:". up ." "left down right";justify-content:center;gap:6px;margin:12px 0 4px}.arrows [data-key=ArrowUp]{grid-area:up}.arrows [data-key=ArrowLeft]{grid-area:left}.arrows [data-key=ArrowDown]{grid-area:down}.arrows [data-key=ArrowRight]{grid-area:right}.combo-list{display:flex;flex-direction:column}.combo,.choice{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px;border-radius:10px;border:none;background:transparent;color:var(--text);text-align:left;font-size:14.5px;transition:background-color .14s}.combo:hover,.choice:hover{background:var(--surface-2)}.combo:active,.choice:active{background:var(--surface-3)}.combo kbd{min-width:84px;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);font:500 12px var(--mono);color:var(--text-2);text-align:center}.choice{flex-direction:column;align-items:flex-start;gap:0}.choice[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.choice .subtle{color:var(--text-3);font:500 12px var(--mono)}.choice-list{display:flex;flex-direction:column;margin-bottom:4px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;margin-bottom:8px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}.segmented button{min-height:36px;border:none;border-radius:9px;background:transparent;color:var(--text-2);font-size:13px;font-weight:560;transition:background-color .16s,color .16s}.segmented button:hover{color:var(--text)}.segmented button[aria-checked=true]{background:var(--surface-3);color:var(--text);box-shadow:0 0 0 1px var(--line-strong)}@media(pointer:coarse){.segmented button{min-height:44px}}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;margin-top:6px;padding:10px 2px 2px;border-top:1px solid var(--line);font-size:14.5px;font-weight:500;color:var(--text);cursor:pointer}.switch-row .subtle.block{color:var(--text-3);font-weight:400;margin-top:1px}.action{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 6px;border:none;border-radius:12px;background:transparent;color:var(--text);text-align:left;transition:background-color .14s,transform .14s var(--ease)}.switch-row+.action,.action+.action{margin-top:2px}.action:hover{background:var(--surface-2)}.action:active{transform:scale(.985)}.action>span:last-child{display:flex;flex-direction:column}.action strong{font-weight:560;font-size:15px}.action .subtle{color:var(--text-3);font-size:13px}.action-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;border:1px solid var(--line-strong);color:var(--text-2)}.action-icon svg{width:20px;height:20px}.clip-text{width:100%;margin-top:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--bg);color:var(--text);font:16px var(--font);resize:vertical}.clip-text:focus{outline:none;border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 16%,transparent)}.clip-text::placeholder{color:var(--text-3)}.transfers{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.transfers:empty{display:none}.transfer{display:grid;gap:5px;padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}.transfer-name{font-size:14px;font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-meta{font:500 12px var(--mono);color:var(--text-3);font-variant-numeric:tabular-nums}.transfer[data-state=error] .transfer-meta{color:var(--danger)}.transfer[data-state=ok] .transfer-meta{color:var(--accent)}.bar{height:3px;border-radius:2px;background:var(--surface-3);overflow:hidden}.bar>span{display:block;height:100%;width:0;background:var(--text);transition:width .2s linear}.transfer[data-state=error] .bar>span{background:var(--danger)}.transfer[data-state=ok] .bar>span{background:var(--accent)}@media(max-width:420px){.dock{gap:0;padding:4px}.dock-button{width:44px;height:44px;border-radius:12px}.dock-sep{margin:0 2px}}@media(min-width:700px),(orientation:landscape){.dock{left:max(12px,env(safe-area-inset-left));top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;gap:2px;animation:dock-in-left .4s var(--ease)}@keyframes dock-in-left{0%{opacity:0;transform:translate(-14px,-50%)}}.dock-sep{width:26px;height:1px;margin:4px 0}.dock-collapse{display:grid;color:var(--text-3)}.dock-collapse svg{transform:rotate(180deg);transition:transform .24s var(--ease)}.dock.collapsed{padding:3px;border-radius:0 14px 14px 0;left:0;opacity:.6;border-left:none;transition:opacity .2s}.dock.collapsed:hover{opacity:1}.dock.collapsed>*:not(.dock-collapse){display:none}.dock.collapsed .dock-collapse{width:28px;height:44px}.dock.collapsed .dock-collapse svg{transform:none}.popover{left:calc(100% + 10px);bottom:auto;top:50%;transform:translateY(-50%);max-height:calc(100dvh - 24px);animation:pop-side .24s var(--ease)}@keyframes pop-side{0%{opacity:0;transform:translate(-8px,-50%) scale(.98)}}}@media(hover:hover)and ((min-width:700px)or (orientation:landscape)){.dock-button[aria-label]:not(.dock-collapse):hover:before,.dock-button[aria-label]:not(.dock-collapse):focus-visible:before{content:attr(aria-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:5px 9px;border-radius:8px;background:var(--surface-3);border:1px solid var(--line-strong);color:var(--text);font:500 12.5px var(--font);white-space:nowrap;pointer-events:none;animation:tip-in .14s var(--ease) .4s both}.dock-button[aria-expanded=true]:before{display:none}@keyframes tip-in{0%{opacity:0}}}@media(orientation:landscape)and (max-height:520px){.dock{display:grid;grid-template-columns:repeat(2,auto);gap:2px;padding:4px}.dock[hidden]{display:none}.dock-button{width:44px;height:44px;border-radius:12px}.dock-sep{display:none}.dock.collapsed{display:flex}}
