:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c10;--bg-elevated:#101217;--surface:#16181d;--surface-2:#1c1f26;--surface-hover:#20232b;--border:#2a2d34;--border-strong:#383c45;--text:#e8e9ec;--text-dim:#9a9ea6;--text-faint:#6b7079;--accent:#6c5ce7;--accent-hover:#7d6ff0;--accent-soft:#6c5ce724;--danger:#ff6b6b;--danger-soft:#ff6b6b1f;--online:#34c759;--online-soft:#34c7591f;--offline:#5a5f68;--radius:12px;--radius-sm:8px;--shadow:0 1px 0 #ffffff08 inset, 0 8px 24px -12px #0009;--topbar-bg:#0b0c10d1;--hover-tint:#ffffff08;--warn:#ffb84d;--warn-text:#ffd38a;--btn-bg:#1f222a;--btn-bg-hover:#282c35;--btn-border:#3a3e48;--btn-text:#e8e9ec;--btn-shadow:0 1px 0 #ffffff0a inset, 0 1px 2px #00000059;--topbar-h:56px;--page-pad:28px;-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--bg-elevated:#fff;--surface:#fff;--surface-2:#f1f2f5;--surface-hover:#eceef2;--border:#e2e4e9;--border-strong:#cdd1d8;--text:#15171c;--text-dim:#5a606b;--text-faint:#8a909a;--accent:#6c5ce7;--accent-hover:#5a4ad8;--accent-soft:#6c5ce71a;--danger:#dc3c43;--danger-soft:#dc3c4314;--online:#1e9a4a;--online-soft:#1e9a4a1a;--offline:#a4a9b2;--shadow:0 1px 2px #1018280d, 0 8px 24px -14px #10182824;--topbar-bg:#ffffffd9;--hover-tint:#10182809;--warn:#c77700;--warn-text:#9a5b00;--btn-bg:#fff;--btn-bg-hover:#f3f4f7;--btn-border:#d3d7de;--btn-text:#1d2027;--btn-shadow:0 1px 2px #10182812}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}a{color:var(--accent-hover)}h1,h2,h3{letter-spacing:-.01em}button{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform 60ms}button:hover{background:var(--accent-hover)}button:is(:not([class]),.small,.danger-solid):not(.ghost):not([role]){box-shadow:inset 0 1px #ffffff24,0 1px 2px #1018282e}button:is(:not([class]),.small,.ghost,.danger-solid):not([role]):active:not(:disabled){transform:translateY(1px)}button:has(>.icon-svg){justify-content:center;align-items:center;gap:6px;display:inline-flex}.icon-svg{flex:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;filter:saturate(.5)}button.ghost{background:var(--btn-bg);border-color:var(--btn-border);color:var(--btn-text);box-shadow:var(--btn-shadow)}button.ghost:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--border-strong);color:var(--text)}button.small{padding:6px 12px;font-size:13px}button.icon{justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:6px;line-height:1;display:inline-flex}button.small.icon{min-width:28px;min-height:28px;padding:5px}button.ghost.danger:hover:not(:disabled){background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger)}button.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}button.danger-solid:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 88%, black);border-color:color-mix(in srgb, var(--danger) 88%, black)}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite avatar-spin;display:inline-block}input,textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .12s}input:hover{border-color:var(--border-strong)}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}select{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;padding:6px 10px;font-size:13px}code{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.error{color:var(--danger);margin:0;font-size:13px}.hint{color:var(--text-dim);font-size:14px}.hint.small,.error.small{margin:0;font-size:12.5px;line-height:1.45}.field{color:var(--text-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.field-row{gap:8px;display:flex}.field-row input{flex:1;min-width:0}.pill{white-space:nowrap;color:var(--accent-hover);background:var(--accent-soft);border:1px solid #6c5ce74d;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.pill.muted{color:var(--text-faint);border-color:var(--border);background:0 0}.pill.ok{color:var(--online);background:var(--online-soft);border-color:#34c7594d}.pill.danger{color:var(--danger);background:var(--danger-soft);border-color:#ff6b6b4d}.count{color:var(--text-dim);background:var(--surface-2);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:500}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent-hover);vertical-align:-1px;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.topbar{z-index:40;height:var(--topbar-h);padding:0 var(--page-pad);background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);align-items:center;gap:28px;display:flex;position:sticky;top:0}.topbar-brand{color:var(--text);align-items:center;gap:10px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.topbar-nav{gap:4px;display:flex}.topbar-nav a{border-radius:var(--radius-sm);color:var(--text-dim);padding:7px 12px;font-size:14px;font-weight:500;text-decoration:none}.topbar-nav a:hover{color:var(--text);background:var(--surface)}.topbar-nav a.active{color:var(--text);background:var(--surface-2)}.topbar-actions{gap:8px;margin-left:auto;display:flex}.page{max-width:1680px;padding:24px var(--page-pad) 40px;margin:0 auto}.page-header{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.page-header-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.page-header-titles{min-width:0}.page-header h1{margin:0;font-size:26px;font-weight:700}.page-subtitle{color:var(--text-dim);margin:4px 0 0;font-size:14px}.page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crumbs{color:var(--text-faint);flex-wrap:wrap;gap:2px;margin-bottom:6px;font-size:13px;display:flex}.crumbs a{color:var(--text-dim);text-decoration:none}.crumbs a:hover{color:var(--text)}.crumbs-sep{color:var(--text-faint);margin:0 6px}.crumbs.inline{margin:0;font-size:14px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:18px 20px}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-header h2{margin:0;font-size:16px;font-weight:650}.panel-tools{align-items:center;gap:8px;display:flex}.panel-tools .search{width:200px;padding:6px 12px;font-size:13px}.stats{border-bottom:1px solid var(--border);flex-wrap:wrap;margin-top:6px;padding:14px 0 18px;display:flex}.stat{border-left:1px solid var(--border);flex-direction:column;gap:2px;padding:0 32px;display:flex}.stat:first-child{border-left:none;padding-left:0}.stat-label{color:var(--text-dim);order:2;font-size:12.5px}.stat-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.2}.stat.ok .stat-value{color:var(--online)}.stat-suffix{color:var(--text-dim);font-size:13px;font-weight:500}.dash-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.dash-side{top:calc(var(--topbar-h) + 20px);flex-direction:column;gap:20px;display:flex;position:sticky}.device-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.device-tile{border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);transition:border-color .12s,transform .12s,background .12s;position:relative}.device-tile:hover{border-color:var(--accent);background:var(--surface-2)}.device-tile-link{color:inherit;flex-direction:column;gap:12px;height:100%;padding:16px;text-decoration:none;display:flex}.device-tile-top{align-items:center;gap:12px;padding-right:28px;display:flex}.device-tile-icon{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.device-tile-icon-screen{border:2px solid var(--offline);border-radius:3px;width:14px;height:22px}.device-tile.online .device-tile-icon{background:var(--online-soft);border-color:#34c75959}.device-tile.online .device-tile-icon-screen{border-color:var(--online);box-shadow:0 0 10px #34c75973}.device-tile-titles{flex-direction:column;min-width:0;display:flex}.device-tile-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;overflow:hidden}.device-tile-meta{color:var(--text-dim);font-size:12.5px}.device-tile .status-chips{gap:4px}.device-tile .status-chip{gap:4px;padding:1px 6px;font-size:10.5px}.device-tile-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.device-tile-seen{color:var(--text-faint);font-size:12px}.device-tile-info{position:absolute;top:14px;right:14px}.empty-state{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.empty-state h3{margin:4px 0 0}.empty-state .hint{max-width:420px;margin:0 0 8px}.empty-state-icon{font-size:34px}.inline-create{gap:6px;margin-bottom:12px;display:flex}.inline-create input{flex:1;min-width:0;padding:6px 10px}.collection-list{flex-direction:column;margin:0 -8px;padding:0;list-style:none;display:flex}.collection-list a{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:10px;padding:9px 8px;text-decoration:none;display:flex}.collection-list a:hover{background:var(--surface-hover)}.collection-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:550;overflow:hidden}.collection-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12.5px;display:flex}.collection-arrow{color:var(--text-faint);font-size:18px;line-height:1}@media (width<=1100px){.dash-layout{grid-template-columns:minmax(0,1fr)}.dash-side{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid;position:static}}@media (width<=640px){:root{--page-pad:16px}.topbar{gap:12px}.topbar-brand span{display:none}.stat{padding:0 16px}}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;max-height:calc(100vh - 48px);display:flex;box-shadow:0 30px 80px -20px #000c}.dialog-header{justify-content:space-between;align-items:center;padding:18px 22px 0;display:flex}.dialog-header h2{margin:0;font-size:18px}.dialog-body{padding:18px 22px;overflow:auto}.dialog-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.pair-steps{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.pair-steps li{gap:14px;display:flex}.pair-steps strong{margin-bottom:3px;display:block}.pair-step-num{width:28px;height:28px;color:var(--accent-hover);background:var(--accent-soft);border:1px solid #6c5ce759;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.pair-step-code{flex-direction:column;flex:1;align-items:flex-start;gap:10px;display:flex}.pair-code{align-items:center;gap:8px;display:flex}.pair-code span{font-variant-numeric:tabular-nums;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:10px;justify-content:center;align-items:center;width:46px;height:58px;font-size:30px;font-weight:700;display:flex}.pair-code button{margin-left:6px}.pair-waiting{color:var(--text-dim);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.pair-success{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 0 8px;display:flex}.pair-success h3{margin:6px 0 0;font-size:19px}.pair-success .hint{margin:0}.pair-success-icon{width:56px;height:56px;color:var(--online);background:var(--online-soft);border:1px solid #34c75966;border-radius:50%;justify-content:center;align-items:center;font-size:28px;display:flex}.auth-page{background:radial-gradient(800px 400px at 50% -10%, #6c5ce738, transparent 70%), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:24px;display:flex}.auth-brand{align-items:center;gap:12px;font-size:20px;font-weight:700;display:flex}.auth-form{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:14px;width:min(380px,100%);padding:28px;display:flex;box-shadow:0 30px 80px -30px #000c}.auth-form h1{margin:0 0 4px;font-size:22px}.auth-form button[type=submit]{margin-top:4px;padding:11px 16px}.switch-link{color:var(--text-dim);margin:0;font-size:13.5px}.switch-link a{color:var(--accent-hover)}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.online{background:var(--online);box-shadow:0 0 6px #34c759b3}.dot.offline{background:var(--offline)}.boards-info{flex:none;position:relative}.boards-info-button{border:1px solid var(--border);width:26px;height:26px;color:var(--text-dim);background:0 0;border-radius:50%;padding:0;font-size:13px;line-height:1}.boards-info-button:hover,.boards-info-button[aria-expanded=true]{color:var(--text);border-color:var(--accent);background:0 0}.boards-info-popover{z-index:20;background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:10px;flex-direction:column;gap:8px;width:240px;padding:12px;font-size:13px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px -12px #000000b3}.boards-info-title{margin:0;font-weight:600}.boards-info-popover ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.boards-info-popover li{justify-content:space-between;align-items:center;gap:8px;display:flex}.boards-info-popover a{color:var(--accent-hover);overflow-wrap:anywhere}.boards-info-head,.boards-info-places{flex-direction:column;gap:8px;display:flex}.boards-info-popover.with-journal{top:calc(var(--topbar-h,56px) + 12px);width:min(560px,100vw - 32px);height:min(760px, calc(100vh - var(--topbar-h,56px) - 28px));z-index:60;gap:12px;padding:16px;position:fixed;right:16px}.with-journal .boards-info-head{border-bottom:1px solid var(--border);flex:none;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:12px;display:grid}.quick-panel-head{border-bottom:1px solid var(--border);flex:none;padding-bottom:10px}.quick-scenarios{flex:1;min-height:0;overflow-y:auto}.boards-info-popover .quick-scenario-list{gap:2px}.boards-info-popover .quick-scenario{border-bottom:1px solid var(--border);padding:8px 4px}.quick-scenario-text{flex-direction:column;gap:2px;min-width:0;display:flex}.quick-scenario-name{overflow-wrap:anywhere;font-weight:500}.quick-scenario button{flex:none}.boards-info-button.quick-running{color:var(--accent);border-color:var(--accent)}.boards-info-journal{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.boards-info-journal-list{flex:1;min-height:0;overflow-y:auto}.board-page .page-header{margin-bottom:16px}.board-toolbar{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 18px;padding:8px 12px;display:flex}.board-toolbar .segmented{margin-left:auto}.board-toolbar .toggle{max-width:200px}.page-kind{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:13px;font-weight:500}.board-body.with-aside{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.board-main{min-width:0}.group-side{top:calc(var(--topbar-h) + 16px);max-height:calc(100vh - var(--topbar-h) - 32px);flex-direction:column;gap:12px;min-width:0;display:flex;position:sticky}.group-scenarios,.group-journal{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-width:0;min-height:0;padding:12px;display:flex}.group-scenarios{flex:none;max-height:40vh}.group-journal{flex:auto}.group-scenario-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.group-scenario-list li{align-items:center;gap:6px;display:flex}.group-scenario-info{flex-direction:column;flex:1;min-width:0;display:flex}.group-scenario-status{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.group-scenario-status.ok{background:var(--online)}.group-scenario-status.failed{background:var(--danger)}.group-scenario-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.group-run{background:#6c5ce724;border:1px solid #6c5ce773;border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;font-size:13px;display:flex}.group-run-text{flex:1;min-width:0}.group-run-pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite group-run-pulse}@keyframes group-run-pulse{50%{opacity:.3}}.group-journal-pick-actions{gap:6px;display:flex}.group-journal-list li.group-level{color:var(--text-dim);font-style:italic}.group-journal-list li.pickable{cursor:pointer;-webkit-user-select:none;user-select:none}.group-journal-list li.picked{background:#6c5ce729}.group-journal-list li input[type=checkbox]{pointer-events:none;margin:0}.group-journal-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.group-journal-header h2{margin:0;font-size:15px}.group-journal-list{flex-direction:column;flex:auto;gap:4px;min-height:0;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex;overflow-y:auto}.group-journal-list li,.journal-session-lines li{border-left:2px solid #0000;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding:5px 6px;display:flex}.group-journal-list li:hover,.journal-session-lines li:hover{background:var(--hover-tint)}.group-journal-list li.failed,.journal-session-lines li.failed{border-left-color:var(--danger)}.group-journal-time{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11.5px}.group-journal-device{color:var(--device-color);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:600;overflow:hidden}.group-journal-source{color:var(--text-dim);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:10.5px}.group-journal-text{overflow-wrap:anywhere;flex-basis:100%}.group-journal-error{color:var(--danger)}@media (width<=900px){.board-body.with-aside{grid-template-columns:minmax(0,1fr)}.group-side{max-height:none;position:static}.group-journal{max-height:360px}}.board-grid{grid-template-columns:repeat(var(--columns,3), minmax(0, 1fr));gap:var(--gap,16px);align-items:stretch;display:grid}.board-tile-header .boards-info-button{width:22px;height:22px;font-size:11px}.board-tile-screen{flex:1;justify-content:center;align-items:center;display:flex}.board-tile{cursor:pointer;transition:border-color .12s}.board-tile:hover,.board-tile:focus-visible{border-color:var(--accent);outline:none}.board-tile.offline .screen-thumb{opacity:.5}.screen-thumb{max-width:100%;box-shadow:0 0 0 1px var(--border);background:#000;border-radius:10px;position:relative;overflow:hidden}.screen-thumb canvas{width:100%;height:100%;display:block}.screen-thumb-hint{color:var(--text-dim);pointer-events:none;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.device-modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);background:#000000bf;justify-content:center;align-items:center;padding:2vh 1.5vw;display:flex;position:fixed;inset:0}.device-modal{background:var(--bg);border:1px solid var(--border);border-radius:16px;width:min(1440px,100%);height:96vh;max-height:100%;overflow:hidden;box-shadow:0 30px 80px -20px #000c}.device-modal-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.ghost-link{color:var(--text-dim);font-size:13px;text-decoration:none}.ghost-link:hover{color:var(--text)}.device-detail.workspace-modal{flex-direction:column;max-width:none;height:100%;margin:0;padding:12px 18px 14px;display:flex}.workspace-modal header{border-bottom:1px solid var(--border);align-items:center;gap:8px 12px;margin-bottom:10px;padding-bottom:10px}.workspace-modal header h1{white-space:nowrap;text-overflow:ellipsis;max-width:40%;font-size:17px;overflow:hidden}.workspace-modal .status-badge{margin-left:0;font-size:12px}.workspace-body{flex:1;grid-template-columns:auto minmax(320px,1fr);gap:24px;min-height:0;display:grid}.workspace-phone{flex-direction:column;align-items:flex-start;min-height:0;display:flex}.workspace-phone .layer-toggle{justify-content:flex-start;gap:8px 16px;margin:0 0 10px}.workspace-panel{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}@media (width<=900px){.device-modal{height:auto;overflow:auto}.workspace-body{grid-template-columns:1fr}.workspace-phone{align-items:center}}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.segmented-label{color:var(--text-dim);padding:0 8px 0 10px;font-size:12px}.segmented button{min-width:30px;color:var(--text-dim);font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:999px;padding:4px 8px;font-size:13px}.segmented button:hover{color:var(--text);background:var(--border)}.segmented button.active{background:var(--accent);color:#fff}.board-tile{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;min-width:0;padding:8px 10px 10px;display:flex}.board-tile-header{align-items:center;gap:8px;min-width:0;display:flex}.board-tile-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.device-name{font-weight:600}.status-chips{flex-wrap:wrap;gap:4px 6px;display:inline-flex}.status-chip{border:1px solid var(--border);color:var(--text-dim);cursor:help;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;line-height:1.5;display:inline-flex}.status-chip.ok{color:var(--online);border-color:#34c75959}.status-chip.off{color:var(--danger);border-color:#ff6b6b66}.status-dots{cursor:help;flex:none;gap:3px;display:inline-flex}.status-dot{background:var(--offline);border-radius:50%;flex:none;width:7px;height:7px}.status-dot.ok{background:var(--online)}.status-dot.off{background:var(--danger)}.device-last-seen{margin-top:4px;display:block}.device-meta{color:var(--text-dim);font-size:13px}.device-detail.workspace-page{max-width:1680px;min-height:calc(100vh - var(--topbar-h));padding:18px var(--page-pad) 20px;flex-direction:column;margin:0 auto;display:flex}.workspace-page header{border-bottom:1px solid var(--border);align-items:center;padding-bottom:14px}.workspace-page header h1{white-space:nowrap;text-overflow:ellipsis;max-width:40%;font-size:22px;overflow:hidden}.workspace-page .workspace-body{grid-template-columns:auto minmax(360px,1fr);gap:28px}.workspace-page .workspace-panel{height:calc(100vh - var(--topbar-h) - 120px);top:calc(var(--topbar-h) + 16px);position:sticky}.workspace-page .workspace-phone{align-items:flex-start}.device-detail header{flex-wrap:wrap;align-items:baseline;gap:12px 16px;margin-bottom:16px;display:flex}.device-detail h1{margin:0;font-size:20px}.back-link{color:var(--text-dim);font-size:14px;text-decoration:none}.back-link:hover{color:var(--text)}.status-badge{color:var(--text-dim);align-items:center;gap:7px;margin-left:auto;font-size:13px;display:flex}.status-badge.online{color:var(--online)}.status-badge.offline{color:var(--danger)}.scenario-info{flex-direction:column;min-width:0;display:flex}.scenario-name{overflow-wrap:anywhere;font-weight:600}.scenario-meta{color:var(--text-dim);font-size:12px}.scenario-meta .step-ok{color:var(--online)}.scenario-meta .step-fail{color:var(--danger)}.scenario-actions{gap:6px;display:flex}.phone-frame{margin:0 auto;position:relative}.phone-nub{display:none}.virtual-screen-wrap{border:1px solid var(--border);border-radius:var(--screen-radius,12px);height:var(--screen-h,calc((100vh - 260px) * var(--zoom,1)));background:#000;justify-content:center;align-items:center;max-width:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}.layer{width:100%;height:100%;position:absolute;inset:0}.stream-layer{object-fit:contain;pointer-events:none}.blocks-layer{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.blocks-layer.control-off,.blocks-layer.control-off *{pointer-events:none;cursor:default}@media (width>=720px){.phone-frame{width:fit-content;padding:calc(9px * var(--zoom,1));border-radius:calc(var(--screen-radius,calc(43px * var(--zoom,1))) + 9px * var(--zoom,1));background:linear-gradient(155deg,#45485a 0%,#202128 22%,#0c0c0f 55%,#2a2c38 100%);box-shadow:0 40px 90px -20px #000000a6,inset 0 2px #ffffff0f,inset 0 -2px #00000080}.phone-nub{background:linear-gradient(90deg,#1a1b20,#333544);border-radius:3px;display:block;position:absolute}.phone-nub-power{right:-3px;top:calc(130px * var(--zoom,1));width:3px;height:calc(64px * var(--zoom,1))}.phone-nub-volume{left:-3px;top:calc(110px * var(--zoom,1));width:3px;height:calc(90px * var(--zoom,1))}.virtual-screen-wrap{height:var(--screen-h,calc((100vh - 320px) * var(--zoom,1)));min-height:calc(320px * var(--zoom,1));border-radius:var(--screen-radius,calc(43px * var(--zoom,1)));background:#000;border:none;padding:0;box-shadow:inset 0 0 0 1px #ffffff0d}.system-buttons{width:fit-content;margin:calc(20px * var(--ui-scale,1)) auto 0;padding:calc(6px * var(--ui-scale,1));gap:calc(4px * var(--ui-scale,1));background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:0 12px 30px -14px #0009}.system-buttons button{width:calc(40px * var(--ui-scale,1));height:calc(40px * var(--ui-scale,1));max-width:none;font-size:calc(15px * var(--ui-scale,1));border-color:#0000;border-radius:50%;padding:0;transition:background .15s,color .15s}.system-buttons button:hover:not(:disabled){background:var(--border);color:var(--text)}.system-buttons-sep{background:var(--border);align-self:stretch;width:1px;margin:6px 4px}}.node-rect{fill:#0000;stroke:#6c5ce738;stroke-width:1px;vector-effect:non-scaling-stroke;transition:fill .1s,stroke .1s}.node-rect.clickable{fill:#6c5ce70d;stroke:#6c5ce780}.node-rect.scrollable{stroke-dasharray:4 3}.node-rect:hover{fill:#6c5ce72e;stroke:var(--accent);stroke-width:1.5px}.node-label{fill:#f2f3f5;fill-opacity:.9;stroke:#000000b3;stroke-width:4px;paint-order:stroke;pointer-events:none}.node-label.from-description{fill:#c9c3ff;font-style:italic}.with-stream .node-label{fill-opacity:.5;stroke-opacity:.4}.zoom-control{margin-left:8px;display:flex}.layer-toggle .zoom-control button{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);border-radius:0;justify-content:center;padding:5px 12px}.layer-toggle .zoom-control button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.layer-toggle .zoom-control button+button{border-left:none}.layer-toggle .zoom-control button:first-child{border-radius:999px 0 0 999px}.layer-toggle .zoom-control button:last-child{border-radius:0 999px 999px 0}.layer-toggle .zoom-control .zoom-value{font-variant-numeric:tabular-nums;min-width:56px}.layer-toggle{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px 16px;margin:4px 0 16px;display:flex}.toggle{flex-direction:column;align-items:flex-start;gap:2px;max-width:220px;display:flex}.toggle>button{color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.toggle>button:hover{background:0 0}.toggle.disabled>button{color:var(--text-dim);opacity:.6;cursor:not-allowed}.toggle.toggle-row{flex-direction:row;align-items:center;gap:6px;position:relative}.toggle.toggle-row>.toggle-info{width:18px;height:18px;color:var(--text-dim);opacity:1;cursor:help;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.toggle.toggle-row>.toggle-info:hover{color:var(--accent-hover);background:var(--accent-soft)}.toggle-reason-pop{z-index:30;border:1px solid var(--border);background:var(--surface);width:max-content;max-width:260px;color:var(--text);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.4;animation:.15s toggle-reason-in;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px -10px #00000080}@keyframes toggle-reason-in{0%{opacity:0;transform:translateY(-3px)}}.toggle-track{background:var(--offline);border-radius:999px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.toggle-track.on{background:var(--online)}.toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle-track.on .toggle-thumb{transform:translate(14px)}.master-toggle{position:relative}.master-toggle-mixed{color:var(--text-dim);font-size:11px}.master-toggle-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;width:250px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px -12px #000000b3}.master-toggle-warning{color:var(--warn-text);background:#ffb84d14;border:1px solid #ffb84d59;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;font-size:12px;display:flex}.master-toggle-warning ul{margin:0;padding-left:16px}.master-toggle-warning span{color:var(--text-dim)}.board-tile-warning{color:var(--warn);cursor:help;flex:none;font-size:13px}.master-toggle-menu button{text-align:left}.master-toggle-menu p{color:var(--text-dim);margin:0 0 4px;font-size:12px}.toggle-track.mixed{background:linear-gradient(90deg, var(--online) 50%, var(--offline) 50%)}.toggle-track.mixed .toggle-thumb{transform:translate(7px)}.toggle>button:focus-visible .toggle-track{outline:2px solid var(--accent);outline-offset:2px}.toggle-reason{color:var(--text-dim);font-size:11px;line-height:1.3}.blocks-hidden .node-rect{fill:#0000;stroke:#0000}.blocks-hidden .node-label{display:none}.screen-hint{text-align:center;pointer-events:none;z-index:1;padding:0 24px;position:absolute}.long-press-marker{fill:#ffffff26;stroke:#fff;stroke-width:4px;pointer-events:none}.phone-stage{flex-direction:column;display:flex}.phone-column{flex-direction:column;align-items:center;display:flex}@media (width>=720px){.phone-stage{grid-template-columns:1fr auto 1fr;align-items:center;column-gap:20px;display:grid}.phone-stage .phone-column{grid-column:2}.phone-view.compact .phone-stage{justify-content:start;column-gap:calc(12px * var(--ui-scale,1));grid-template-columns:auto auto}.phone-view.compact .phone-stage .phone-column{grid-column:1}.phone-view.compact .phone-stage .side-column{grid-column:2}.phone-view.compact .virtual-screen-wrap{min-height:0}.phone-stage .side-column{grid-column:3;justify-self:start}.phone-stage .side-controls{flex-direction:column;margin:0}.phone-stage .side-controls button{flex:none}.side-controls .system-buttons-sep{width:auto;height:1px;margin:4px 6px}}.system-buttons{justify-content:center;gap:10px;margin-top:12px;display:flex}.system-buttons button{flex:1;max-width:140px}.edit-overlay{z-index:10;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.edit-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:8px;padding:16px;display:flex}button.danger{color:var(--danger)}.workspace-page .workspace-remove{margin-left:auto}.device-journal{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.device-journal .group-journal-list{flex:auto;min-height:0}.device-journal-note{flex:none}.journal-filter{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.journal-filter button{border:1px solid var(--border);max-width:150px;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;display:inline-flex;overflow:hidden}.journal-filter button:hover{background:var(--surface-hover);color:var(--text)}.journal-filter button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.journal-filter-dot{background:var(--device-color,var(--text-dim));border-radius:50%;flex:none;width:7px;height:7px}.journal-sessions{gap:6px}.journal-sessions>li.journal-session{border:1px solid var(--border);border-left:1px solid var(--border);background:0 0;border-radius:8px;padding:0;display:block}.journal-sessions>li.journal-session:hover{background:0 0}.journal-sessions>li.journal-session.kind-ai{border-left:3px solid var(--accent)}.journal-sessions>li.journal-session.kind-scenario,.journal-sessions>li.journal-session.kind-groupRun{border-left:3px solid var(--online)}.journal-session-head{align-items:center;gap:4px;padding-right:6px;display:flex}.journal-session-toggle{min-width:0;color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:auto;align-items:flex-start;gap:2px;padding:6px 8px 6px 26px;font-size:12.5px;display:flex;position:relative}.journal-session-toggle:hover:not(:disabled){background:var(--hover-tint)}.journal-session-toggle:disabled{cursor:default;opacity:1}.journal-session-chevron{color:var(--text-dim);border-radius:4px;padding:1px;transition:transform .15s,color .15s;position:absolute;top:6px;left:4px}.journal-session-toggle:hover:not(:disabled) .journal-session-chevron{color:var(--text)}.journal-session.open .journal-session-chevron{color:var(--text);transform:rotate(90deg)}.journal-session-title{align-items:baseline;gap:6px;min-width:0;max-width:100%;display:flex}.journal-session-tag{background:var(--hover-tint);color:var(--text-dim);border-radius:4px;flex:none;padding:1px 6px;font-size:10.5px;font-weight:600}.journal-session-tag.tone-ai{background:var(--accent-soft);color:var(--accent-hover)}.journal-session-tag.tone-scenario{background:var(--online-soft);color:var(--online)}.journal-session-tag.tone-manual{background:var(--surface-2);color:var(--text)}.journal-session-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.journal-session-status{border:1px solid var(--border);color:var(--text-dim);border-radius:4px;flex:none;padding:0 5px;font-size:10.5px}.journal-session-status.running{color:var(--accent);border-color:var(--accent)}.journal-session-status.ok{color:var(--online);border-color:var(--online)}.journal-session-status.cut{color:var(--warn-text);border-color:var(--warn)}.journal-session-status.failed{color:var(--danger);border-color:var(--danger)}.journal-session-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:11.5px;display:flex}.journal-session-action{flex:none;display:none}.journal-session.open .journal-session-action,.journal-session-head:hover .journal-session-action,.journal-session-head:focus-within .journal-session-action{display:inline-flex}@media (hover:none){.journal-session-action{display:inline-flex}}.journal-session-lines{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin:0;padding:0 4px 4px;list-style:none;display:flex}.workspace-panel{gap:0}.device-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.device-panel-tabs{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex:none;align-items:center;gap:2px;padding:0 8px 0 6px;display:flex}.device-panel-tabs>button{color:var(--text-dim);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;margin-bottom:-1px;padding:11px 12px 10px;font-size:13.5px;font-weight:500;display:inline-flex;position:relative}.device-panel-tabs>button:hover{color:var(--text);background:0 0}.device-panel-tabs>button.active{color:var(--text);border-bottom-color:var(--accent)}.device-panel-tab-icon{color:var(--accent-hover)}.device-panel-count{background:var(--hover-tint);border:1px solid var(--border);text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px;line-height:16px}.device-panel-busy{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 0 var(--accent);border-radius:50%;animation:1.4s ease-out infinite panel-pulse}@keyframes panel-pulse{0%{box-shadow:0 0 0 0 var(--accent-soft)}to{box-shadow:0 0 0 7px #0000}}.device-panel-tabs-end{align-items:center;gap:8px;margin-left:auto;display:flex}.device-panel-help{width:24px;height:24px;color:var(--text-dim);cursor:help;border-radius:50%;place-items:center;font-size:14px;display:grid;position:relative}.device-panel-help:hover,.device-panel-help:focus-visible{color:var(--text);background:var(--hover-tint)}.device-panel-help:hover:after,.device-panel-help:focus-visible:after{content:attr(data-tip);z-index:20;border:1px solid var(--border-strong);background:var(--surface-2);width:280px;color:var(--text);box-shadow:var(--shadow);white-space:normal;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.45;position:absolute;top:calc(100% + 6px);right:0}.device-panel-body{flex-direction:column;flex:1;min-height:0;padding:12px 14px;display:flex;overflow:hidden}.device-panel-body>.device-journal,.device-panel-body>.scenario-panel{flex:1;min-height:0}.device-panel-body .device-journal .group-journal-list{overflow-y:auto}.chevron{color:var(--text-dim);flex:none;transition:transform .15s}[aria-expanded=true]>.chevron{color:var(--text);transform:rotate(90deg)}.assistant{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.assistant-scroll{flex:1;min-height:0;margin:-12px -14px 0;padding:14px 14px 4px;overflow-y:auto}.assistant-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;padding:16px;display:flex}.assistant-empty h3{margin:4px 0 0;font-size:16px}.assistant-empty .hint{max-width:420px;margin:0}.assistant-examples{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.assistant-examples button{border-radius:999px}.assistant-recommendations{flex-wrap:wrap;flex:none;gap:6px;margin-bottom:8px;display:flex}.assistant-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;align-items:center;font-size:12px;display:inline-flex;overflow:hidden}.assistant-chip button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:none}.assistant-chip-run{padding:4px 4px 4px 10px}.assistant-chip-run:hover:not(:disabled){color:var(--text)}.assistant-chip-run:disabled{opacity:.5;cursor:default}.assistant-chip-hide{color:var(--text-faint);padding:4px 9px 4px 5px}.assistant-chip-hide:hover{color:var(--text)}.assistant-avatar{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-hover);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.assistant-avatar.large{width:44px;height:44px;font-size:20px}.assistant-avatar.working{animation:2.4s linear infinite avatar-spin}@keyframes avatar-spin{to{transform:rotate(360deg)}}.assistant-turns{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.chat-turn{flex-direction:column;gap:4px;display:flex}.chat-user{flex-direction:column;align-items:flex-end;gap:1px;padding-left:15%;display:flex}.chat-time{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:11px}.chat-bubble{overflow-wrap:anywhere;white-space:pre-wrap;border-radius:14px;padding:8px 12px;font-size:13.5px;line-height:1.45}.chat-bubble.user{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-bubble-label{opacity:.8;margin-bottom:2px;font-size:11px;display:block}.chat-assistant{align-items:flex-start;gap:8px;padding-right:8%;display:flex}.chat-bubble.assistant{background:var(--surface-2);border:1px solid var(--border);white-space:normal;border-top-left-radius:4px;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.chat-summary{align-items:baseline;gap:6px;margin:0;display:flex}.chat-status-mark:empty{display:none}.status-ok .chat-status-mark{color:var(--online)}.status-fail .chat-status-mark{color:var(--danger)}.status-stopped .chat-status-mark,.status-cut .chat-status-mark{color:var(--warn)}.status-running .chat-summary{color:var(--text-dim)}.chat-typing{gap:3px;margin-left:2px;display:inline-flex}.chat-typing i{background:var(--text-dim);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite typing}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-details-toggle{color:var(--text-dim);background:0 0;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:4px;padding:2px 6px 2px 2px;font-size:12px;display:inline-flex}.chat-details-toggle:hover{background:var(--hover-tint);color:var(--text)}.chat-iterations{border-left:2px solid var(--border);flex-direction:column;gap:8px;margin:0;padding:0 0 0 10px;list-style:none;display:flex}.chat-iterations>li{flex-direction:column;gap:4px;display:flex}.chat-thought{color:var(--text-dim);margin:0;font-size:12.5px}.chat-rejected{color:var(--danger);margin:0;font-size:12.5px}.chat-actions{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.chat-saved{color:var(--online);align-self:center;font-size:12.5px}.run-steps{flex-direction:column;gap:2px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.run-step{align-items:baseline;gap:6px;display:flex}.run-step-mark{text-align:center;flex:none;width:12px}.run-step.step-ok .run-step-mark{color:var(--online)}.run-step.step-fail .run-step-mark,.run-step-error{color:var(--danger)}.run-step.step-pending{color:var(--text-dim)}.run-step.step-skipped{color:var(--text-faint);text-decoration:line-through}.assistant-error{margin:0}.assistant-composer{border:1px solid var(--border-strong);background:var(--bg-elevated);border-radius:12px;flex-direction:column;flex:none;gap:6px;padding:8px 8px 8px 12px;transition:border-color .15s;display:flex}.assistant-composer:focus-within{border-color:var(--accent)}.assistant-composer.disabled{opacity:.6}.assistant-composer textarea{resize:none;width:100%;color:var(--text);font:inherit;box-shadow:none;background:0 0;border:none;outline:none;padding:4px 0;font-size:14px;line-height:1.45}.assistant-composer-bar{align-items:center;gap:10px;display:flex}.assistant-composer-bar .toggle{font-size:12.5px}.assistant-composer-hint{color:var(--text-faint);margin-left:auto;font-size:11px}@media (width<=1100px){.assistant-composer-hint{display:none}.assistant-composer-bar>button{margin-left:auto}}.scenario-panel{flex-direction:column;gap:10px;min-height:0;display:flex;overflow-y:auto}.scenario-panel-create{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scenario-panel-empty{text-align:center;padding:24px 12px}.scenario-panel-empty h3{margin:0 0 6px;font-size:15px}.scenario-panel-empty .hint{max-width:420px;margin:0 auto}.scenario-cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.scenario-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px}.scenario-card.running{border-color:var(--accent)}.scenario-card-head{align-items:center;gap:8px;padding:4px 8px 4px 4px;display:flex}.scenario-card-toggle{min-width:0;color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:6px;padding:6px;display:flex}.scenario-card-toggle:hover{background:var(--hover-tint)}.scenario-card-text{flex-direction:column;min-width:0;display:flex}.scenario-card .scenario-actions button.icon{padding:4px 8px}.scenario-run{flex-direction:column;gap:6px;padding:0 12px 10px 32px;display:flex}.scenario-progress{background:var(--hover-tint);border-radius:2px;height:4px;overflow:hidden}.scenario-progress span{background:var(--accent);height:100%;transition:width .3s;display:block}.scenario-progress span.ok{background:var(--online)}.scenario-progress span.fail{background:var(--danger)}.scenario-run-status{color:var(--text-dim);margin:0;font-size:12.5px}.scenario-run-status.ok{color:var(--online)}.scenario-run-status.fail{color:var(--danger)}.scenario-failure{align-items:flex-start;gap:10px;display:flex}.scenario-card>.scenario-failure{padding:0 12px 10px 32px}.scenario-failure:has(.failure-shot.big){flex-direction:column}.scenario-failure .scenario-run-status{overflow-wrap:anywhere;flex:1;min-width:0}.failure-shot{flex:none;width:64px;display:block;position:relative}.failure-shot-image{border:1px solid var(--border-strong);background:var(--bg);cursor:zoom-in;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.failure-shot-image:hover{background:var(--bg);border-color:var(--accent)}.failure-shot img{width:100%;height:auto;display:block}.failure-shot.big{width:min(100%,300px)}.failure-shot.big .failure-shot-image{cursor:zoom-out}.failure-shot-delete{color:#fff;opacity:0;background:#000000a6;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:opacity .15s;display:inline-flex;position:absolute;top:4px;right:4px}.failure-shot:hover .failure-shot-delete,.failure-shot-delete:focus-visible{opacity:1}.failure-shot-delete:hover{background:var(--danger)}@media (hover:none){.failure-shot-delete{opacity:1}}.group-journal-text .failure-shot{margin-top:6px}.journal-shots-bar{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.scenario-card-body{border-top:1px solid var(--border);padding:8px 12px 12px 32px;font-size:12.5px}.scenario-instruction{margin:0 0 6px}.scenario-step-list{color:var(--text-dim);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.scenario-step-list li{border-radius:6px;align-items:baseline;gap:6px;padding:3px 6px;transition:background .2s,color .2s;display:flex}.scenario-step-list .step-n{min-width:18px;color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none}.scenario-step-list .step-state{text-align:center;flex:none;width:14px;font-weight:700}.scenario-step-list li.run-pending{color:var(--text-faint)}.scenario-step-list li.run-running{background:var(--accent-soft);color:var(--text);font-weight:500}.scenario-step-list li.run-running .step-state:before{content:"";border:2px solid var(--accent);border-right-color:#0000;border-radius:50%;width:9px;height:9px;animation:.8s linear infinite avatar-spin;display:inline-block}.scenario-step-list li.run-ok{color:var(--text)}.scenario-step-list li.run-ok .step-state{color:var(--online)}.scenario-step-list li.run-fail{background:var(--danger-soft);color:var(--text)}.scenario-step-list li.run-fail .step-state,.step-state-error{color:var(--danger)}.scenario-step-list li.run-skipped{color:var(--text-faint);text-decoration:line-through}.chat-bubble.assistant.status-help.waiting{border-color:var(--accent);background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--surface-2)}.status-help .chat-status-mark{background:var(--text-faint);color:#fff;border-radius:50%;align-self:center;place-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-grid}.status-help.waiting .chat-status-mark{background:var(--accent)}.chat-help{flex-direction:column;gap:4px;display:flex}.chat-help-hint{margin:0}.assistant-recording{border:1px solid var(--danger);background:var(--danger-soft);border-radius:12px;flex-direction:column;flex:none;gap:6px;padding:10px 12px;font-size:13px;display:flex}.assistant-recording-text{align-items:baseline;gap:8px;display:flex}.recording-dot{background:var(--danger);border-radius:50%;flex:none;width:9px;height:9px;animation:1.2s ease-in-out infinite recording-blink}@keyframes recording-blink{50%{opacity:.3}}.assistant-composer.answering{border-color:var(--accent)}.assistant-composer-context{color:var(--accent-hover);font-size:11.5px;font-weight:500}.recording-veil{z-index:60;-webkit-backdrop-filter:blur(1.5px);background:#05060a8c;position:fixed;inset:0}.device-detail.recording .workspace-phone{z-index:61;position:relative}.device-detail.recording .workspace-panel{z-index:61}.workspace-modal.recording .workspace-panel{position:relative}.device-detail.recording .edit-overlay{z-index:62}.device-detail.recording .device-panel{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.device-panel-tabs>button:disabled{opacity:.45;cursor:not-allowed}.recorder{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.recorder-head{align-items:center;gap:10px;font-size:15px;display:flex}.recorder-indicator{background:var(--danger);border-radius:50%;width:12px;height:12px}.recorder.status-recording .recorder-indicator{animation:1.2s ease-in-out infinite recording-blink}.recorder.status-paused .recorder-indicator{background:var(--warn)}.recorder.status-review .recorder-indicator{background:var(--text-faint)}.recorder-title{font-weight:600}.recorder-time{font-variant-numeric:tabular-nums;color:var(--text-dim)}.recorder-count{color:var(--text-dim);margin-left:auto;font-size:12.5px}.recorder-hint{margin:0}.recorder-steps{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;flex:1;gap:2px;min-height:60px;margin:0;padding:6px;font-size:13px;list-style:none;display:flex;overflow-y:auto}.recorder-steps li{border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.recorder-steps li:hover{background:var(--hover-tint)}.recorder-steps li.recorder-empty{justify-content:center;padding:12px}.recorder-step-n{border:1px solid var(--border);min-width:20px;height:20px;color:var(--text-dim);border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.recorder-step-text{overflow-wrap:anywhere;flex:1;min-width:0}.recorder-save{flex-direction:column;gap:8px;display:flex}.recorder-controls{flex-wrap:wrap;gap:8px;display:flex}.steps-editor{flex-direction:column;gap:10px;display:flex}.steps-editor-meta{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px;display:grid}@media (width<=1100px){.steps-editor-meta{grid-template-columns:1fr}}.steps-editor-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.steps-editor-list>li{border:1px solid var(--border);background:var(--surface);border-radius:8px}.steps-editor-list>li.open{border-color:var(--accent)}.steps-editor-list>li.invalid{border-color:var(--danger)}.steps-editor-row{align-items:center;gap:6px;padding:4px 6px;display:flex}.steps-editor-summary{text-align:left;min-width:0;color:var(--text);overflow-wrap:anywhere;background:0 0;border:none;border-radius:6px;flex:1;padding:4px 6px;font-size:13px}.steps-editor-summary:hover{background:var(--hover-tint)}.steps-editor-problem{color:var(--danger)}.steps-editor-result{flex:none;font-weight:700}.steps-editor-result.ok{color:var(--online)}.steps-editor-result.fail{color:var(--danger)}.steps-editor-actions{gap:2px;display:flex}.steps-editor-actions button.icon{padding:3px 7px}.steps-editor-error{color:var(--danger);margin:0 10px 6px 34px;font-size:12px}.steps-editor-fields{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:8px 12px 12px 34px;display:flex}.steps-editor-fields .hint{margin:0}.steps-editor-inline{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.steps-editor-inline .small-field input{width:90px}.steps-editor-check{color:var(--text-dim);align-items:center;gap:6px;padding-bottom:8px;font-size:13px;display:inline-flex}.swipe-fields{flex-direction:row;align-items:flex-start;gap:14px}.swipe-fields-controls{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.swipe-preview{flex:none}.swipe-preview-screen{fill:var(--bg-elevated);stroke:var(--border-strong);stroke-width:1.5px}.steps-editor-inline button.icon.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.steps-editor-list>li.step-item{transition:border-color .15s,opacity .15s;position:relative}.steps-editor-list>li.step-item:hover{border-color:var(--border-strong)}.steps-editor-list>li.step-item.open{border-color:var(--accent)}.steps-editor-list>li.step-item.invalid{border-color:var(--danger)}.steps-editor-list>li.dragged{opacity:.4}.steps-editor-list>li.drop-before:before,.steps-editor-list>li.drop-after:after{content:"";background:var(--accent);height:3px;box-shadow:0 0 0 2px var(--accent-soft);border-radius:2px;position:absolute;left:4px;right:4px}.steps-editor-list>li.drop-before:before{top:-4px}.steps-editor-list>li.drop-after:after{bottom:-4px}.steps-editor-list.dragging .steps-editor-actions{visibility:hidden}.step-grip{width:18px;height:28px;color:var(--text-faint);cursor:grab;touch-action:none;border-radius:5px;flex:none;place-items:center;display:grid}.step-grip svg{fill:currentColor}.step-grip:hover,.step-grip:focus-visible{color:var(--text);background:var(--hover-tint);outline:none}.steps-editor-list.dragging .step-grip{cursor:grabbing}.step-index{text-align:right;min-width:16px;color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.steps-editor-summary{align-items:center;gap:10px;display:flex}.step-chip{text-align:center;background:var(--hover-tint);min-width:62px;color:var(--text-dim);border-radius:5px;flex:none;padding:2px 7px;font-size:11px;font-weight:600}.step-chip.type-launch{color:#4f8cff;background:#4f8cff24}.step-chip.type-tap{background:var(--accent-soft);color:var(--accent-hover)}.step-chip.type-type{color:#10b981;background:#10b98124}.step-chip.type-swipe{color:#d48806;background:#f59e0b26}.step-chip.type-waitFor{color:#0891b2;background:#06b6d424}.step-chip.type-systemAction{background:var(--surface-2);color:var(--text-dim)}.step-text{flex-direction:column;min-width:0;display:flex}.step-main{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.step-detail{color:var(--text-faint);font-size:11.5px}.steps-editor-problem{font-size:11.5px}.steps-editor-actions{opacity:0;transition:opacity .12s}.step-item:hover .steps-editor-actions,.step-item:focus-within .steps-editor-actions,.step-item.open .steps-editor-actions,.steps-editor-actions.busy{opacity:1}@media (hover:none){.steps-editor-actions{opacity:1}}.steps-editor-actions button.icon.danger:hover:not(:disabled){color:var(--danger)}.steps-add-button{border-style:dashed;align-self:flex-start}.steps-add-menu{border:1px solid var(--border-strong);background:var(--surface-2);box-shadow:var(--shadow);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;margin:6px 8px 8px;padding:8px;display:grid}.steps-editor>.steps-add-menu{margin:0}.steps-add-option{background:var(--bg-elevated);color:var(--text);text-align:left;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:8px;font-size:13px;display:flex}.steps-add-option:hover{border-color:var(--accent);background:var(--bg-elevated)}.steps-add-text{flex-direction:column;min-width:0;display:flex}.steps-add-text .hint{margin:0}.steps-add-cancel{place-self:center start}.steps-editor-savebar{z-index:2;border-top:1px solid var(--border);background:var(--bg-elevated);border-radius:0 0 10px 10px;align-items:center;gap:8px;margin:0 -12px -12px -32px;padding:10px 12px 10px 32px;display:flex;position:sticky;bottom:-12px}.steps-editor-savebar .hint{margin-right:auto}.steps-editor-savebar.dirty .hint{color:var(--warn-text)}.journal-session-lines li.journal-run{border-left-color:var(--online)}.journal-session-lines li.journal-run.run-running{border-left-color:var(--accent)}.journal-session-lines li.journal-run.failed{border-left-color:var(--danger)}.journal-run-toggle{min-width:0;box-shadow:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:2px 6px;margin:0;padding:2px 4px 2px 0;display:flex}.journal-run-toggle:hover:not(:disabled){background:0 0}.journal-run-toggle:disabled{cursor:inherit;opacity:1}.journal-run-toggle .journal-session-chevron{flex:none;padding:0;position:static}.journal-session .journal-run .journal-run-toggle .journal-session-chevron{color:var(--text-dim);transform:none}.journal-session .journal-run.open .journal-run-toggle .journal-session-chevron{color:var(--text);transform:rotate(90deg)}.journal-run-toggle:hover:not(:disabled) .journal-session-chevron{color:var(--text)}.journal-run-name{overflow-wrap:anywhere;font-weight:600}.journal-run-status{border:1px solid var(--border);color:var(--text-dim);font-variant-numeric:tabular-nums;border-radius:4px;flex:none;padding:0 5px;font-size:10.5px}.journal-run-status.running{color:var(--accent);border-color:var(--accent)}.journal-run-status.ok{color:var(--online);border-color:color-mix(in srgb, var(--online) 50%, transparent)}.journal-run-status.failed{color:var(--danger);border-color:var(--danger)}.journal-run-steps{border-left:1px solid var(--border);flex-direction:column;flex-basis:100%;gap:1px;margin:2px 0 2px 18px;padding:0 0 0 8px;list-style:none;display:flex}.journal-session-lines .journal-run-steps li{flex-wrap:nowrap;padding:2px 4px;font-size:12px}.journal-session-lines .journal-run-steps li .group-journal-text{flex:auto}.journal-run-step-n{min-width:16px;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.group-scenario-legacy{color:var(--warn-text);border:1px solid var(--warn);border-radius:4px;margin-left:6px;padding:0 5px;font-size:10.5px;font-weight:500}.device-name{align-items:center;gap:4px;min-width:0;max-width:45%;display:inline-flex}.workspace-page header .device-name h1,.workspace-modal header .device-name h1{min-width:0;max-width:none}.device-name-edit{opacity:.55;flex:none;transition:opacity .15s}.device-name:hover .device-name-edit,.device-name-edit:focus-visible{opacity:1}.device-name-field{flex-direction:column;gap:4px;min-width:0;display:inline-flex}.device-name-field-row{align-items:center;gap:6px;display:flex}.device-name-field input{min-width:220px;font-size:15px;font-weight:600}.device-name-field input[aria-invalid=true]{border-color:var(--danger)}.device-name-error{color:var(--danger);font-size:12px}.pair-name{flex-direction:column;align-items:center;gap:6px;margin:14px 0 6px;display:flex}.pair-name-label{font-weight:600}.pair-name-done{align-items:center;gap:8px;font-size:16px;display:flex}.boards-info-device{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:2px;padding-bottom:10px;display:flex}.boards-info-device .hint{margin:0}.boards-info-model{overflow-wrap:anywhere;margin:2px 0 0;font-weight:600}.boards-info-popover .boards-info-id{color:var(--text-dim);background:var(--hover-tint);border:1px solid var(--border);box-shadow:none;border-radius:4px;align-self:flex-start;margin-top:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.board-body.with-aside{grid-template-columns:minmax(0,1fr) 400px}.group-side{height:calc(100vh - var(--topbar-h) - 32px)}.group-panel{flex:1}.group-panel .device-panel-body{padding:10px 12px 12px}.group-panel .group-scenarios,.group-panel .group-journal{background:0 0;border:none;border-radius:0;flex:1;min-height:0;max-height:none;padding:0}.group-panel .group-scenarios{margin:0 -4px;padding:0 4px;overflow-y:auto}.group-panel .group-journal-header{justify-content:flex-end;align-items:center}.group-panel .group-journal-header:empty{display:none}.group-panel>.group-run{text-align:left;width:auto;color:var(--text);font:inherit;box-shadow:none;cursor:pointer;flex:none;margin:10px 12px 0;font-size:13px}.group-panel>.group-run:hover{background:#6c5ce733}.gs-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.gs-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;transition:border-color .15s,box-shadow .15s}.gs-card:hover{border-color:var(--border-strong)}.gs-card.running{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.gs-card-head{align-items:center;gap:6px;padding:8px 8px 8px 4px;display:flex}.gs-card-toggle{min-width:0;box-shadow:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:flex-start;gap:4px;padding:2px 4px;display:flex}.gs-card-toggle:hover{background:0 0}.gs-card-chevron{color:var(--text-dim);flex:none;margin-top:3px;transition:transform .15s}.gs-card.open .gs-card-chevron{color:var(--text);transform:rotate(90deg)}.gs-card-titles{flex-direction:column;gap:1px;min-width:0;display:flex}.gs-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.gs-card-meta{color:var(--text-dim);font-size:11.5px}.gs-card.running .gs-card-meta{color:var(--accent-hover);font-weight:500}.gs-card-pulse{background:var(--accent);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:6px;animation:1.2s ease-in-out infinite group-run-pulse;display:inline-block}.gs-card-actions{flex:none;align-items:center;gap:4px;display:flex}.gs-phases{flex-direction:column;gap:0;margin:0;padding:2px 10px 10px 12px;list-style:none;display:flex}.gs-phase{gap:10px;padding-bottom:8px;display:flex;position:relative}.gs-phase:not(:last-child):before{content:"";background:var(--border);width:2px;position:absolute;top:22px;bottom:0;left:10px}.gs-phase-n{border:1.5px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text-dim);font-variant-numeric:tabular-nums;z-index:1;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.gs-phase.state-running .gs-phase-n{border-color:var(--accent);color:var(--accent-hover);box-shadow:0 0 0 3px var(--accent-soft)}.gs-phase.state-ok .gs-phase-n{border-color:var(--online);background:var(--online-soft);color:var(--online)}.gs-phase.state-ok:not(:last-child):before{background:var(--online);opacity:.5}.gs-phase.state-failed .gs-phase-n{border-color:var(--danger);color:var(--danger)}.gs-phase.state-skipped,.gs-phase.state-pending{opacity:.6}.gs-lanes{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:1px;display:flex}.gs-together{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.gs-lane{border-left:3px solid var(--device-color);align-items:baseline;gap:6px;min-width:0;padding-left:8px;display:flex}.gs-lane-device{max-width:110px;color:var(--device-color);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:12px;font-weight:600;overflow:hidden}.gs-lane-steps{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.gs-step{background:var(--hover-tint);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;align-items:baseline;gap:4px;max-width:100%;padding:1px 7px;font-size:12px;display:inline-flex}.gs-step small{font-variant-numeric:tabular-nums;opacity:.8;font-size:10.5px}.gs-step.legacy{color:var(--text-dim);text-decoration:line-through}.gs-step.state-running{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.gs-step.state-ok{border-color:color-mix(in srgb, var(--online) 55%, transparent);background:var(--online-soft);color:var(--online)}.gs-step.state-ok:before{content:"✓"}.gs-step.state-failed{border-color:var(--danger);color:var(--danger)}.gs-step.state-failed:before{content:"✕"}.gs-step.state-skipped{color:var(--text-dim);text-decoration:line-through}.gs-run-error{color:var(--danger);overflow-wrap:anywhere;margin:-4px 12px 10px 44px;font-size:12px}.gs-new{align-self:flex-start;margin-top:10px}.gs-empty{flex-direction:column;align-items:flex-start;gap:8px;padding:18px 4px;display:flex}.gs-empty-title{margin:0;font-weight:600}.gs-empty .hint{margin:0}@media (width<=900px){.group-side{height:70vh}}.journal-session-lines li.journal-phase-divider{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);border-left:none;align-items:center;gap:8px;padding:6px 2px 2px;font-size:10.5px;font-weight:600;display:flex}.journal-session-lines li.journal-phase-divider:hover{background:0 0}.journal-session-lines li.journal-phase-divider:after{content:"";background:var(--border);flex:1;height:1px}.screen-off-cover{z-index:5;border-radius:inherit;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#e8eaf0;background:#08090cd1;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.screen-off-title{font-size:calc(14px * var(--ui-scale,1));letter-spacing:.01em;font-weight:600}.system-buttons button.wake-attention{color:var(--accent-hover);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.boards-info-popover .boards-info-toggle{color:var(--text);cursor:pointer;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;display:flex}.boards-info-toggle input{accent-color:var(--accent);margin:0}.ai-alert{border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 8%, var(--surface));text-align:left;border-radius:10px;gap:10px;padding:10px 12px;display:flex}.ai-alert.tone-warn{border-color:color-mix(in srgb, var(--warn) 50%, transparent);background:color-mix(in srgb, var(--warn) 10%, var(--surface))}.ai-alert.compact{margin-top:8px}.ai-alert-icon{background:var(--danger);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid}.ai-alert.tone-warn .ai-alert-icon{background:0 0;font-size:16px}.ai-alert-body{min-width:0}.ai-alert-title{color:var(--text);margin:1px 0 2px;font-size:13.5px;font-weight:600}.ai-alert-hint{color:var(--text-dim);margin:0;font-size:12.5px;line-height:1.45}.ai-alert-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ai-alert-actions:empty{display:none}.ai-alert-link{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:7px;align-items:center;padding:4px 10px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.ai-alert-link:hover{border-color:var(--accent)}.ai-alert-link.primary{background:var(--accent);border-color:var(--accent);color:#fff}.ai-alert-link.primary:hover{background:var(--accent-hover)}.page.settings-page{max-width:calc(1120px + 2 * var(--page-pad))}.st{flex-direction:column;gap:18px;display:flex}.st-hero{color:#fff;background:radial-gradient(120% 140% at 100% 0,#ffffff38 0%,#0000 55%),radial-gradient(90% 120% at 0 100%,#38bdf859 0%,#0000 60%),linear-gradient(120deg,#5b4bd6 0%,#7c5cf0 55%,#a35cf0 100%);border-radius:18px;align-items:center;gap:18px;padding:22px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px -22px #5b4bd6bf}.st-hero-avatar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border:1px solid #ffffff59;border-radius:16px;flex:none;place-items:center;width:56px;height:56px;font-size:24px;font-weight:700;display:grid}.st-hero-who{flex-direction:column;gap:2px;min-width:0;display:flex}.st-hero-label{letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-size:11px;font-weight:600}.st-hero-email{text-overflow:ellipsis;white-space:nowrap;font-size:19px;overflow:hidden}.st-hero-since{opacity:.8;font-size:12.5px}.st-hero-stats{gap:10px;margin-left:auto;display:flex}.st-stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff24;border:1px solid #ffffff38;border-radius:12px;flex-direction:column;gap:2px;min-width:128px;padding:10px 14px;display:flex}.st-stat-value{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:18px;font-weight:700;display:flex}.st-stat-value small{opacity:.75;font-size:13px;font-weight:500}.st-stat-key .st-stat-value{font-size:14px}.st-stat-label{opacity:.8;font-size:11.5px}.st-dot{background:#cbd5e1;border-radius:50%;width:8px;height:8px}.st-stat-key.tone-ok .st-dot{background:#4ade80;box-shadow:0 0 0 3px #4ade804d}.st-stat-key.tone-bad .st-dot{background:#fca5a5;box-shadow:0 0 0 3px #fca5a559}.st-stat-key.tone-busy .st-dot{animation:1.2s ease-in-out infinite group-run-pulse}.st-hero-logout{color:#fff;box-shadow:none;background:#ffffff1f;border:1px solid #fff6;border-radius:10px;flex:none;padding:8px 14px;font-weight:600}.st-hero-logout:hover{background:#ffffff3d}.st-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.st-side>.st-card:last-child{flex:1}.st-ai .st-steps{margin-top:auto}.st-side{flex-direction:column;gap:18px;min-width:0;display:flex}.st-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:16px;min-width:0;padding:20px;display:flex}.st-card-head{align-items:flex-start;gap:12px;display:flex}.st-card-head h2{margin:1px 0 3px;font-size:16px}.st-card-head p{color:var(--text-dim);margin:0;font-size:13px;line-height:1.45}.st-card-icon{background:linear-gradient(135deg, var(--accent-soft), color-mix(in srgb, var(--accent) 22%, transparent));width:36px;height:36px;color:var(--accent-hover);border-radius:11px;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}.st-key{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex}.st-key.tone-ok{border-color:color-mix(in srgb, var(--online) 40%, transparent);background:color-mix(in srgb, var(--online) 7%, var(--surface))}.st-key.tone-bad{border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 6%, var(--surface))}.st-key-ring{border:2px solid var(--border-strong);width:42px;height:42px;color:var(--text-dim);border-radius:50%;flex:none;place-items:center;font-size:17px;font-weight:700;display:grid}.st-key.tone-ok .st-key-ring{border-color:var(--online);background:var(--online);color:#fff;box-shadow:0 0 0 5px var(--online-soft)}.st-key.tone-bad .st-key-ring{border-color:var(--danger);background:var(--danger);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb, var(--danger) 15%, transparent)}.st-key.tone-busy .st-key-ring{border-color:var(--accent-soft);border-top-color:var(--accent);animation:.9s linear infinite spin}.st-key-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.st-key-text strong{font-size:15px}.st-key-text span{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12.5px}.st-key-actions{flex:none;gap:6px;display:flex}.st-key-input{gap:8px;display:flex}.st-key-input input{border-radius:11px;flex:1;min-width:0;height:42px;padding:0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.st-key-input button{border-radius:11px;height:42px;padding:0 18px}.st-steps{background:linear-gradient(135deg, var(--accent-soft), transparent 70%);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:14px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.st-steps-title{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-hover);font-size:11.5px;font-weight:700}.st-steps ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.st-steps li{color:var(--text);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.4;display:flex}.st-step-n{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.st-steps-link{background:var(--accent);color:#fff;border-radius:9px;align-self:flex-start;padding:7px 12px;font-size:13px;font-weight:600;text-decoration:none}.st-steps-link:hover{background:var(--accent-hover)}.st-phones{justify-content:space-between;align-items:center;gap:12px;display:flex}.st-phones-count{align-items:baseline;gap:8px;display:flex}.st-phones-count strong{font-variant-numeric:tabular-nums;font-size:30px;line-height:1}.st-phones-count span{color:var(--text-dim);font-size:13px}.st-server{border:1px dashed var(--border-strong);width:100%;box-shadow:none;color:var(--text);text-align:left;cursor:pointer;background:0 0;border-radius:11px;align-items:center;gap:10px;padding:10px 12px;display:flex}.st-server:hover{border-color:var(--accent);background:var(--accent-soft)}.st-server-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);flex:none;font-size:11px;font-weight:700}.st-server code{text-overflow:ellipsis;white-space:nowrap;background:0 0;flex:1;min-width:0;padding:0;font-size:12.5px;overflow:hidden}.st-server-copy{color:var(--accent-hover);flex:none;font-size:12px;font-weight:600}.st-themes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.st-theme{border:1.5px solid var(--border);box-shadow:none;color:var(--text);cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;gap:8px;padding:8px;display:flex}.st-theme:hover{border-color:var(--border-strong)}.st-theme.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.st-theme-preview{border:1px solid #00000014;border-radius:8px;height:58px;display:block;position:relative;overflow:hidden}.st-theme-preview.preview-light{background:#f4f5f8}.st-theme-preview.preview-dark{background:#111318}.st-theme-preview.preview-system{background:linear-gradient(90deg,#f4f5f8 50%,#111318 50%)}.st-theme-preview i{border-radius:3px;display:block;position:absolute}.st-theme-preview .bar{background:#6c5ce7d9;border-radius:0;height:10px;top:0;left:0;right:0}.st-theme-preview .line{background:#7f7f8c73;width:60%;height:6px;top:20px;left:10px}.st-theme-preview .line.short{width:38%;top:32px}.st-theme-preview .dot{background:#6c5ce7;border-radius:50%;width:14px;height:14px;bottom:8px;right:10px}.st-theme-label{text-align:center;font-size:12.5px;font-weight:500}@media (width<=980px){.st-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.st-hero{flex-wrap:wrap}.st-hero-stats{width:100%;margin-left:0}.st-stat{flex:1;min-width:0}.st-steps ol{grid-template-columns:minmax(0,1fr)}}.screen-control{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:2px;padding:2px;font-size:12px;display:inline-flex}.screen-control.off{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.screen-control-state{color:var(--text-dim);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.screen-control.on .screen-control-state{color:var(--online)}.screen-control.off .screen-control-state{color:var(--text)}.screen-control button{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.screen-control .screen-control-action:not(.primary-action){border:1px solid var(--border);color:var(--text);background:0 0}.screen-control .screen-control-action:not(.primary-action):hover:not(:disabled){border-color:var(--text-dim)}.screen-control .screen-control-auto{color:var(--text-dim);background:0 0;border:none;padding-left:8px}.screen-control .screen-control-auto:hover:not(:disabled){color:var(--text)}.toggle-track.small{width:26px;height:15px}.toggle-track.small .toggle-thumb{width:11px;height:11px;top:2px;left:2px}.toggle-track.small.on .toggle-thumb{transform:translate(11px)}.screen-bulk{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.screen-bulk-group{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.screen-bulk-label{color:var(--text-dim);cursor:help;align-items:baseline;gap:6px;padding:0 8px 0 10px;font-size:12px;display:inline-flex}.screen-bulk-label small{font-variant-numeric:tabular-nums;opacity:.8;font-size:11px}.screen-bulk-group button{color:var(--text);white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:4px 10px;font-size:12.5px}.screen-bulk-group button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-hover)}.screen-bulk{position:relative}.screen-bulk-message{z-index:20;border-radius:var(--radius);background:var(--surface);width:max-content;max-width:min(520px,90vw);color:var(--danger);border:1px solid #ff6b6b66;padding:8px 12px;font-size:12.5px;line-height:1.4;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #00000040}.board-tile-sleep{color:var(--text-dim);border:1px solid var(--border);border-radius:999px;flex:none;padding:0 6px;font-size:10.5px;line-height:1.6}.board-toolbar .screen-bulk .toggle{max-width:none}.screen-bulk .toggle>button{white-space:nowrap}.side-column{align-items:center;gap:calc(12px * var(--ui-scale,1));flex-direction:column;display:flex}.open-app-pill{width:calc(54px * var(--ui-scale,1));height:calc(54px * var(--ui-scale,1));background:var(--surface);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background .15s;display:inline-flex;box-shadow:0 12px 30px -14px #0009}.open-app-pill:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.open-app-pill .logo{width:calc(32px * var(--ui-scale,1));height:calc(32px * var(--ui-scale,1));flex:none;display:block}.stream-controls{align-items:center;gap:6px;display:inline-flex}.stream-mode{align-items:center;gap:4px;display:inline-flex;position:relative}.stream-mode-switch{border:1px solid var(--border);background:var(--bg);border-radius:999px;gap:2px;padding:3px;display:inline-flex;position:relative;box-shadow:inset 0 1px 2px #00000040}.stream-mode-switch button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500;line-height:1.4;transition:background .15s,color .15s,box-shadow .15s}.stream-mode-switch button:hover:not(.active){color:var(--text);background:var(--border)}.stream-mode-switch button.active{background:var(--accent);color:#fff;cursor:default;box-shadow:0 1px 3px #00000059}.stream-mode-switch button.active.lite{color:#1a1206;background:#f5b041}.stream-mode-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stream-mode-info{width:18px;height:18px;color:var(--text-dim);cursor:help;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.stream-mode-info:hover,.stream-mode-info[aria-expanded=true]{color:var(--accent-hover);background:var(--accent-soft)}.stream-mode-asked{background:var(--accent-soft);color:var(--text);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;animation:1.6s ease-in-out infinite gse-pulse}.stream-mode-pop{z-index:30;border:1px solid var(--border);background:var(--surface);width:320px;color:var(--text-dim);border-radius:10px;flex-direction:column;gap:8px;padding:10px;font-size:12px;line-height:1.45;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 32px -10px #0000008c}.stream-mode-item{border:1px solid #0000;border-radius:8px;padding:8px 10px}.stream-mode-item p{margin:0}.stream-mode-item.current{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.stream-mode-title{color:var(--text);align-items:baseline;gap:6px;font-weight:600;display:flex;margin-bottom:2px!important}.stream-mode-title small{color:var(--accent-hover);font-size:10.5px;font-weight:500}.stream-mode-request{flex-direction:column;align-items:flex-start;gap:6px;padding:2px 2px 0;display:flex}.stream-mode-request .hint{margin:0}.assistant .toggle-reason-pop{top:auto;bottom:calc(100% + 6px)}.stream-mode-item .stream-mode-warn{color:#f5b041;margin-top:4px}.scenario-filter{margin:4px 0 10px}.scenario-filter button{max-width:none}.scenario-owner{color:var(--accent-hover)}.gse{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:min(880px,100%);max-height:100%;display:flex;overflow:hidden;box-shadow:0 24px 64px -16px #0009}.gse-head{align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.gse-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.gse-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);font-size:11.5px;font-weight:500}input.gse-name{width:100%;box-shadow:none;color:var(--text);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:21px;font-weight:600}input.gse-name:focus{box-shadow:0 1px 0 var(--accent);outline:none}input.gse-name::placeholder{color:var(--text-faint)}.gse-close{flex:none}.gse-dot{background:var(--device-color,var(--text-dim));border-radius:50%;flex:none;width:8px;height:8px}.gse-phones{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:0 20px 14px;display:flex}.gse-label{color:var(--text-dim);margin-right:4px;font-size:12.5px}.gse-phone{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:999px;align-items:center;gap:7px;padding:3px 4px 3px 10px;font-size:13px;font-weight:500;display:inline-flex}.gse-phone.not-member{border-color:var(--danger);color:var(--danger)}button.gse-phone-remove,button.gse-chip-remove{width:20px;height:20px;color:var(--text-faint);box-shadow:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}button.gse-phone-remove:hover,button.gse-chip-remove:hover{background:var(--danger-soft);color:var(--danger)}button.gse-phone-swap{border:1px solid var(--danger);color:var(--danger);box-shadow:none;background:0 0;border-radius:999px;padding:1px 8px;font-size:12px}button.gse-phone-swap:hover{background:var(--danger-soft)}button.gse-phone-add,button.gse-add,button.gse-add-more,button.gse-add-step{border:1px dashed var(--border-strong);color:var(--text-dim);box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:inline-flex}button.gse-phone-add:hover,button.gse-add:hover,button.gse-add-more:hover,button.gse-add-step:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}button.gse-phone-add{border-radius:999px;padding:4px 12px}button.gse-add{border-radius:8px;padding:5px 12px}button.gse-add-more{border-radius:8px;width:30px;height:30px;padding:0}button.gse-add-step{border-radius:12px;width:100%;margin-top:12px;padding:12px}.gse-body{background:var(--bg-elevated);flex:1;min-height:0;padding:14px 20px 20px;overflow:auto}.gse-legend{color:var(--text-dim);margin:0 0 14px;font-size:12.5px}.gse-notice{background:var(--hover-tint);color:var(--text-dim);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:13px}.gse-flow{margin:0;padding:0;list-style:none}.gse-step-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px 14px 14px}.gse-step-head{align-items:center;gap:10px;min-height:28px;display:flex}.gse-step-num{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-hover);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12.5px;font-weight:600;display:inline-flex}.gse-step-title{white-space:nowrap;font-size:14px;font-weight:600}.gse-step-sub{color:var(--text-dim);font-size:12.5px}.gse-step-tools{white-space:nowrap;opacity:.5;align-items:center;gap:4px;margin-left:auto;transition:opacity .12s;display:flex}.gse-step-card:hover .gse-step-tools,.gse-step-card:focus-within .gse-step-tools{opacity:1}.gse-then{align-items:center;gap:12px;height:36px;padding-left:44px;display:flex;position:relative}.gse-then:before{content:"";border-left:2px solid var(--border-strong);position:absolute;top:0;bottom:0;left:26px}.gse-then-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);font-size:11.5px;font-weight:500}button.gse-then-join{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);box-shadow:none;opacity:0;border-radius:999px;padding:2px 10px;font-size:12px;transition:opacity .12s}.gse-then:hover button.gse-then-join,button.gse-then-join:focus-visible{opacity:1}button.gse-then-join:hover{border-color:var(--accent);color:var(--text)}.gse-lanes{gap:6px;margin-top:10px;display:grid}.gse-lane{background:var(--hover-tint);border-radius:10px;grid-template-columns:minmax(110px,160px) 1fr;align-items:center;gap:12px;min-height:46px;padding:7px 10px;display:grid}.gse-lane.filled{box-shadow:inset 3px 0 0 var(--device-color)}.gse-lane-phone{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:500;display:flex;overflow:hidden}.gse-lane-items{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.gse-seq{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.gse-chip-then{color:var(--text-faint);font-size:13px}.gse-chip{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;width:240px;min-width:0;max-width:100%;min-height:30px;padding:3px 5px 3px 11px;font-size:13px;display:inline-flex}.gse-chip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.gse-chip-meta{color:var(--text-dim);flex:none;font-size:11.5px}.gse-chip.missing,.gse-chip.legacy{border-style:dashed;border-color:var(--danger);color:var(--text-dim)}.gse-chip.missing .gse-chip-name,.gse-chip.legacy .gse-chip-name{font-weight:400;text-decoration:line-through}.gse-chip.pending{color:var(--text-dim);border-style:dashed;padding-right:11px;animation:1.2s ease-in-out infinite gse-pulse}@keyframes gse-pulse{50%{opacity:.5}}.gse-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 20px;display:flex}.gse-summary{min-width:0;color:var(--warn-text);flex:1;font-size:13px}.gse-summary.ready{color:var(--text-dim)}.gse-pop-anchor{display:inline-flex}.gse-pop{z-index:80;border:1px solid var(--border-strong);background:var(--surface-2);border-radius:12px;flex-direction:column;animation:.1s ease-out gse-pop-in;display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 48px -12px #0009}@keyframes gse-pop-in{0%{opacity:0;transform:translateY(-3px)}}.gse-menu{outline:none;flex-direction:column;min-height:0;display:flex}.gse-menu>span[tabindex]{outline:none}input.gse-menu-search{width:auto;margin:8px 8px 2px}.gse-menu-list{min-height:0;max-height:380px;padding:4px 6px 6px;overflow:auto}.gse-menu-section+.gse-menu-section{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.gse-menu-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding:8px 10px 4px;font-size:11px;font-weight:600}.gse-menu-hint{color:var(--text-dim);padding:0 10px 6px;font-size:12px}.gse-menu-empty{color:var(--text-dim);text-align:center;margin:0;padding:14px 10px;font-size:13px}button.gse-menu-item{width:100%;color:var(--text);box-shadow:none;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;font-weight:400;display:flex}button.gse-menu-item.active{background:var(--surface-hover)}.gse-menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gse-menu-meta{max-width:45%;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:12px;overflow:hidden}@media (width<=640px){.gse-step-sub{display:none}.gse-lane{grid-template-columns:1fr;gap:6px}.gse-step-tools,button.gse-then-join{opacity:1}}.gse-tip{z-index:90;border:1px solid var(--border-strong);background:var(--bg-elevated);max-width:380px;color:var(--text);white-space:normal;overflow-wrap:anywhere;pointer-events:none;border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:400;line-height:1.4;position:fixed;box-shadow:0 10px 28px -8px #0009}.gse-tip.above{transform:translateY(-100%)}.gse-step-count{cursor:help;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.gse-tip-steps{max-height:60vh;margin:0;padding-left:20px;overflow:hidden}.gse-tip-steps li+li{margin-top:3px}.gse-tip-steps li::marker{color:var(--text-faint);font-variant-numeric:tabular-nums}
