.browser-root{--bg:#fff;--bg-elevated:#fff;--bg-inset:#f9f9f9;--ink:#0d0d0d;--ink-2:#5d5d5d;--ink-3:#6b6b6b;--line:#0000001a;--line-heavy:#00000026;--hover:#0000000d;--primary-bg:#0d0d0d;--primary-ink:#fff;--bad:#d64b3c;--sans:ui-sans-serif, -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--shadow-menu:0 8px 24px #0000001f}:root.dark .browser-root{--bg:#212121;--bg-elevated:#2f2f2f;--bg-inset:#1a1a1a;--ink:#fff;--ink-2:#cdcdcd;--ink-3:#afafaf;--line:#ffffff26;--line-heavy:#fff3;--hover:#ffffff1a;--primary-bg:#fff;--primary-ink:#0d0d0d;--bad:#ff8577;--shadow-menu:0 8px 28px #00000080}.browser-root{background:var(--bg);min-width:0;height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;font-size:14px;line-height:1.45;display:flex;overflow:hidden}.browser-root.is-full{height:calc(100dvh / var(--ui-zoom,1));max-width:100vw}.browser-root *{box-sizing:border-box}.browser-root button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0}.browser-root button:disabled{opacity:.45;cursor:default}.browser-root :focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}.browser-head{border-bottom:1px solid var(--line);background:var(--bg-elevated);flex:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.browser-head h2{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;margin:0;font-size:14px;font-weight:600;overflow:hidden}.browser-head .browser-run-title{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.browser-icon{width:44px;height:44px;color:var(--ink-2);border-radius:10px;flex:none;place-items:center;text-decoration:none;display:grid}.browser-icon:hover{background:var(--hover);color:var(--ink)}.browser-head .browser-icon{width:36px;height:36px}.browser-root.is-full .browser-head .browser-icon{width:44px;height:44px}.browser-chrome{border-bottom:1px solid var(--line);background:var(--bg-inset);flex:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.browser-dots{flex:none;gap:6px;padding-left:2px;display:flex}.browser-dots i{background:var(--line-heavy);border-radius:50%;width:10px;height:10px}.browser-address{border:1px solid var(--line);background:var(--bg-elevated);border-radius:999px;flex:1;align-items:center;gap:8px;min-width:0;height:36px;padding:0 12px;display:flex}.browser-address svg{color:var(--ink-3);flex:none}.browser-address input{min-width:0;color:var(--ink);font-family:var(--sans);background:0 0;border:0;outline:none;flex:1;font-size:13px}.browser-address input:disabled{color:var(--ink-2);-webkit-text-fill-color:var(--ink-2);opacity:1}.browser-page-title{max-width:30%;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:13px;overflow:hidden}.browser-banner{border-bottom:1px solid var(--line);background:var(--primary-bg);color:var(--primary-ink);flex:none;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.browser-banner svg{flex:none}.browser-banner span{flex:1;min-width:0}.browser-banner button{background:var(--primary-ink);min-height:32px;color:var(--primary-bg);border-radius:999px;flex:none;padding:6px 12px;font-size:13px;font-weight:600}.browser-root.is-full .browser-banner button{min-height:44px;padding:6px 16px}.browser-banner.browser-signin,.browser-banner.browser-signin-bad{padding:8px 12px;font-size:12.5px;line-height:1.35}.browser-banner.browser-signin span,.browser-banner.browser-signin-bad span{white-space:normal}.browser-banner.browser-signin-bad{background:var(--danger-bg,#fdecec);color:var(--danger-ink,#8a1c1c)}.browser-alert{border:1px solid var(--line);border-left:3px solid var(--bad);background:var(--bg-inset);color:var(--ink-2);border-radius:10px;flex:none;margin:10px 14px 0;padding:10px 12px;font-size:13px}.browser-stage{background:var(--bg-inset);flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:14px;display:flex;overflow:auto}.browser-frame{border:1px solid var(--line);background:var(--bg-elevated);width:100%;max-width:1280px;box-shadow:var(--shadow-menu);border-radius:12px;position:relative;overflow:hidden}.browser-frame:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.browser-frame.is-live,.browser-frame.is-control{cursor:default}.browser-frame img{aspect-ratio:1280/800;object-fit:contain;background:var(--bg-elevated);width:100%;height:auto;display:block}.browser-frame.is-busy img{opacity:.55}.browser-working{background:var(--primary-bg);max-width:90%;color:var(--primary-ink);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12.5px;display:flex;position:absolute;bottom:14px;left:50%;overflow:hidden;transform:translate(-50%)}.browser-loading{width:100%;max-width:1280px}.browser-skeleton{border:1px solid var(--line);background:var(--bg-elevated);border-radius:12px;width:100%;max-width:1280px;overflow:hidden}.browser-skeleton-bar{border-bottom:1px solid var(--line);background:var(--bg-inset);align-items:center;gap:8px;padding:10px 12px;display:flex}.browser-skeleton-bar i{background:var(--line-heavy);border-radius:50%;width:10px;height:10px}.browser-skeleton-bar span{border-radius:999px;flex:1;height:22px;margin-left:6px}.browser-skeleton-body{padding:22px}.browser-skeleton-body span{border-radius:7px;height:14px;margin-bottom:12px;display:block}.browser-skeleton-body span:first-child{width:42%;height:24px}.browser-skeleton-body span:nth-child(2){width:92%}.browser-skeleton-body span:nth-child(3){width:84%}.browser-skeleton-body span:nth-child(4){width:66%}.browser-skeleton-body span:nth-child(5){width:74%}.browser-skeleton-body span:nth-child(6){width:38%;height:120px;margin-top:20px}.browser-skeleton-bar span,.browser-skeleton-body span{background:linear-gradient(90deg, var(--hover) 25%, var(--line) 37%, var(--hover) 63%);background-size:400% 100%;animation:1.4s infinite browser-shimmer}@keyframes browser-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.browser-skeleton-bar span,.browser-skeleton-body span,.browser-spin{animation:none}}.browser-note{max-width:1280px;color:var(--ink-2);text-align:center;margin:12px auto 0;font-size:13px}.browser-empty{width:100%;color:var(--ink-2);text-align:center;place-items:center;gap:10px;padding:40px 20px;display:grid}.browser-approval{border:1px solid var(--line-heavy);background:var(--bg-elevated);border-radius:14px;flex:none;margin:12px 14px 0;padding:14px}.browser-approval h3{margin:0 0 4px;font-size:14px;font-weight:600}.browser-approval p{color:var(--ink-2);margin:0 0 10px;font-size:13px}.browser-approval dl{background:var(--bg-inset);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:13px}.browser-approval dl div{gap:10px;padding:2px 0;display:flex}.browser-approval dt{width:84px;color:var(--ink-3);flex:none}.browser-approval dd{word-break:break-word;min-width:0;margin:0}.browser-actions{flex-wrap:wrap;gap:8px;display:flex}.browser-actions button{border:1px solid var(--line-heavy);border-radius:999px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:500}.browser-actions button:hover:not(:disabled){background:var(--hover)}.browser-actions button.primary{border-color:var(--primary-bg);background:var(--primary-bg);color:var(--primary-ink)}.browser-actions button.primary:hover:not(:disabled){opacity:.86;background:var(--primary-bg)}.browser-foot{border-top:1px solid var(--line);background:var(--bg-elevated);flex:none;padding:10px 14px}.browser-status{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.browser-status svg{flex:none}.browser-status span{flex:1;min-width:0}.browser-keys{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.browser-keys form{flex:240px;gap:8px;min-width:0;display:flex}.browser-keys input{border:1px solid var(--line);background:var(--bg-inset);min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:999px;outline:none;flex:1;padding:10px 14px}.browser-keys input:focus{border-color:var(--line-heavy)}.browser-keys button{border:1px solid var(--line-heavy);border-radius:999px;flex:none;min-width:44px;min-height:44px;padding:10px 14px;font-size:13px;font-weight:500}.browser-keys button:hover:not(:disabled){background:var(--hover)}.browser-buffer{background:var(--bg-inset);min-height:24px;color:var(--ink-2);font-family:var(--mono);letter-spacing:2px;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.browser-text{border-top:1px solid var(--line);color:var(--ink-2);margin-top:10px;padding-top:8px;font-size:13px}.browser-text summary{cursor:pointer}.browser-text pre{white-space:pre-wrap;word-break:break-word;max-height:180px;font-family:var(--mono);color:var(--ink-2);margin:8px 0 0;font-size:12px;overflow:auto}.browser-hint{color:var(--ink-3);margin:8px 0 0;font-size:12.5px}.browser-spin{animation:1s linear infinite browser-rotate}@keyframes browser-rotate{to{transform:rotate(360deg)}}@media (max-width:640px){.browser-root{overflow:hidden auto}.browser-stage{min-height:200px;padding:10px;overflow:visible}.browser-page-title,.browser-run-title,.browser-dots{display:none}.browser-chrome{padding:8px}.browser-frame{border-radius:10px}.browser-banner{flex-wrap:wrap}.browser-banner span{flex:1 0 100%}.browser-banner button{width:100%;min-height:44px}.browser-approval dl div{flex-wrap:wrap}.browser-approval dt{width:100%}.browser-actions button{flex:100%}}.browser-root.in-window{height:100%}.browser-root.in-window .browser-chrome{border-bottom:1px solid var(--line);padding:6px 8px}.browser-root.in-window .browser-dots{display:none}.browser-root.in-window .browser-stage{background:#fff;align-items:stretch;padding:0}.browser-root.in-window .browser-frame{max-width:none;box-shadow:none;border:0;border-radius:0}.browser-root.in-window .browser-frame.is-control{cursor:default}.browser-root.in-window .browser-frame img{aspect-ratio:auto;object-fit:contain;object-position:top left;background:#fff;width:100%;height:100%}.browser-root.in-window .browser-frame{height:100%}.browser-nav{gap:2px;display:inline-flex}
