ariadne-studio 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#1c2b4a;--navy-hover:#142038;--thread:#e8b43a;--thread-strong:#c48a0e;--thread-soft:#fdf3d0;--sea:#1f6f9f;--ink:#1a2233;--ink-2:#5b6474;--ink-3:#8a93a3;--line:#dcdfe6;--line-2:#ebedf2;--paper:#f4f3ee;--panel:#fff;--panel-2:#f7f7f9;--stage:#0f1627;--pass:#1e7d3c;--pass-soft:#e6f4ea;--fail:#b3261e;--fail-soft:#fdecea;--warn:#9a5b00;--warn-soft:#fdebd3;--info:#1f6f9f;--info-soft:#e8f2f9;--block:#5b4b9a;--block-soft:#f1eefa;--block-line:#d9d2f0;--navy-text:#1c2b4a;--on-navy:#fff;--on-block:#fff;--on-stage:#fff;--shadow:#1a223324;--shadow-lg:#0f16274d;--scrim:#0f162780;--radius:6px;--radius-card:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--navy:#3d5a96;--navy-hover:#4a69a8;--navy-text:#9db6e8;--thread:#e8b43a;--thread-strong:#f0c45a;--thread-soft:#3a3014;--sea:#6cb4e0;--ink:#e6e9ef;--ink-2:#a9b1bf;--ink-3:#7a8394;--line:#343d4f;--line-2:#2a3141;--paper:#12161f;--panel:#1a202b;--panel-2:#232a37;--stage:#080b12;--pass:#5cc27a;--pass-soft:#15301f;--fail:#f2766b;--fail-soft:#3a1a18;--warn:#f0a640;--warn-soft:#3a2a12;--info:#6cb4e0;--info-soft:#16293a;--block:#a796e6;--block-soft:#252040;--block-line:#3e3566;--on-block:#15121f;--shadow:#00000073;--shadow-lg:#0009;--scrim:#0009}*{box-sizing:border-box}body{font:14px/1.45 var(--font);color:var(--ink);background:var(--paper);margin:0}a{color:var(--sea);text-underline-offset:2px}code{font-family:var(--mono);font-size:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);height:32px;color:var(--ink);cursor:pointer;white-space:nowrap;padding:0 12px}button:hover:not(:disabled){background:var(--panel-2)}button.primary{border-color:var(--navy);background:var(--navy);color:var(--on-navy)}button.primary:hover:not(:disabled){border-color:var(--navy-hover);background:var(--navy-hover)}button.danger{border-color:var(--fail);color:var(--fail)}button.danger:hover:not(:disabled){background:var(--fail-soft)}button.link{height:auto;color:var(--sea);text-underline-offset:2px;background:0 0;border:none;padding:0 2px;text-decoration:underline}button.link:hover:not(:disabled){background:0 0}button.toggle-on,button.toggle-on:hover:not(:disabled){border-color:var(--pass);background:var(--pass-soft);color:var(--pass);font-weight:600}button:disabled{cursor:default;opacity:.45}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);height:32px;color:var(--ink);padding:0 10px}textarea{resize:vertical;height:auto;padding:6px 10px}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:focus,select:focus,textarea:focus{border-color:var(--navy-text)}input:disabled,select:disabled,textarea:disabled{background:var(--panel-2);color:var(--ink-3)}input[type=checkbox]{height:auto;accent-color:var(--navy-text);padding:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--thread);outline-offset:1px}.app{flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:nowrap;align-items:center;gap:12px;min-height:52px;padding:8px 16px;display:flex}.brand{align-items:center;gap:8px;margin-right:8px;text-decoration:none;display:inline-flex}.brand svg{flex:none;display:block}.brand-name{color:var(--navy-text);letter-spacing:-.01em;font-size:16px;font-weight:650}.brand-sub{color:var(--ink-3);font-size:12px}.field-label{white-space:nowrap;color:var(--ink-2);flex:none;margin-right:4px;font-size:12px}.status{text-overflow:ellipsis;background:var(--panel-2);min-width:140px;height:26px;color:var(--ink-2);white-space:nowrap;border-radius:13px;flex:0 auto;align-items:center;gap:6px;margin-left:auto;padding:0 10px;font-size:12px;display:inline-flex;overflow:hidden}.status-text{text-overflow:ellipsis;overflow:hidden}.status-dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px}.status-on{color:var(--pass)}.status-on .status-dot{background:var(--pass)}.status-busy{color:var(--thread-strong)}.status-busy .status-dot{background:var(--thread);animation:1.2s ease-in-out infinite pulse}.workspace{background:var(--paper);flex:1;gap:16px;min-height:0;padding:16px;display:flex}.side{flex-direction:column;flex:1;gap:12px;min-width:320px;min-height:0;display:flex}.connection{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);flex:none;padding:10px 14px}.connection-on{align-items:center;gap:10px;display:flex}.connection-dot{background:var(--pass);border-radius:50%;flex:none;width:8px;height:8px}.connection-summary{white-space:nowrap;flex:1;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.connection-summary strong{text-overflow:ellipsis;overflow:hidden}.connection-meta{color:var(--ink-3);font-size:12px}.connection-app{text-overflow:ellipsis;color:var(--ink-2);font-family:var(--mono);font-size:12px;overflow:hidden}.connection-form{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.connection-field{flex-direction:column;flex:180px;gap:3px;min-width:0;display:flex}.connection-field input,.connection-device select{width:100%;min-width:0}.connection-device{gap:4px;display:flex}.connection-device select{flex:1}.connection-actions{gap:8px;display:flex}.connection-help{color:var(--ink-2);margin:8px 0 0;font-size:12px}button.icon-button{width:32px;color:var(--ink-2);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}button.icon-button:hover:not(:disabled),button.icon-button-on{color:var(--ink)}button.icon-button-on{background:var(--panel-2)}.menu-anchor{position:relative}.menu{z-index:20;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);width:260px;box-shadow:0 8px 24px var(--shadow);flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}button.menu-item{text-align:left;white-space:normal;border:none;flex-direction:column;align-items:flex-start;gap:1px;height:auto;padding:7px 10px;display:flex}.menu-item-hint{color:var(--ink-3);font-size:12px}.menu-check{border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:8px;padding:6px 10px;display:flex}.menu-check:hover{background:var(--panel-2)}.menu-check input{flex:none;margin:3px 0 0}.menu-check>span{flex-direction:column;gap:1px;display:flex}.menu-section{border-top:1px solid var(--line-2);flex-direction:column;gap:6px;padding:8px 10px 6px;display:flex}.menu-label{color:var(--ink-2);font-size:12px}.segmented{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);padding:2px;display:flex}.segmented button{height:26px;color:var(--ink-2);background:0 0;border:none;flex:1;font-size:13px}.segmented button.segmented-on,.segmented button.segmented-on:hover:not(:disabled){background:var(--panel);color:var(--ink);box-shadow:0 1px 2px var(--shadow);font-weight:600}.footer{border-top:1px solid var(--line);background:var(--panel);color:var(--ink-2);padding:6px 16px;font-size:12px}.mirror{flex-direction:column;align-items:center;min-height:0;display:flex}.stage{background:var(--stage);border-radius:12px;flex:1;justify-content:center;align-self:stretch;align-items:stretch;min-height:0;padding:12px;display:flex}.mirror-frame{flex:1;justify-content:center;min-height:0;display:flex}.screen{background:var(--stage);cursor:crosshair;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;max-width:60vw;height:100%;position:relative;overflow:hidden}.screen-busy{cursor:progress}.screen-expect{cursor:help}.screen img{width:100%;height:100%;display:block}.outline{pointer-events:none;position:absolute}.outline-hover{outline:2px solid var(--thread);outline-offset:-2px}.outline-hit{outline:3px solid var(--thread);outline-offset:-3px;background:#e8b43a2e}.outline-expect{outline:2px dashed var(--pass);outline-offset:-2px;background:#1e7d3c1f}.mirror-empty{color:#ffffffb3;text-align:center;border:1px dashed #ffffff2e;border-radius:8px;flex-direction:column;align-self:center;align-items:center;gap:8px;max-width:320px;padding:24px;display:flex}.mirror-empty strong{color:var(--on-stage);font-size:15px}button.thread-button,a.thread-button{border-color:var(--thread);background:var(--thread);color:var(--stage);margin-top:4px;font-weight:600}button.thread-button:hover:not(:disabled),a.thread-button:hover{border-color:var(--thread-strong);background:var(--thread-strong)}button.link-on-dark,button.link-on-dark:hover:not(:disabled){color:var(--thread)}.stage-bar{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);flex:none;justify-content:space-between;align-self:stretch;align-items:center;gap:12px;min-height:52px;margin-bottom:8px;padding:8px 8px 8px 14px;display:flex}.stage-bar-live{border-color:color-mix(in srgb, var(--thread-strong) 50%, transparent);background:var(--thread-soft)}.stage-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.phone-banner{border:1px solid color-mix(in srgb, var(--thread-strong) 40%, transparent);border-radius:var(--radius-card);background:var(--thread-soft);width:0;min-width:100%;color:var(--ink);flex:none;align-self:stretch;margin:0 0 8px;padding:8px 14px;font-size:13px}.phone-banner-prompt{border-color:color-mix(in srgb, var(--warn) 50%, transparent)}.phone-banner-prompt summary{color:var(--ink-2);cursor:pointer;margin-top:4px;font-size:12px}.diagnostics-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.diagnostics-row a.thread-button{border:1px solid var(--thread);border-radius:var(--radius);flex:none;align-items:center;height:32px;margin-top:0;padding:0 12px;text-decoration:none;display:inline-flex}.phone-banner-paused{border-color:color-mix(in srgb, var(--warn) 50%, transparent);color:var(--warn)}.stage-state{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.stage-state-idle{color:var(--ink-2)}.stage-state-word{color:var(--thread-strong);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.stage-state-name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.stage-state-meta{color:var(--ink-2);font-size:12px}.rec-dot-lg{width:10px;height:10px}.stage-live{box-shadow:0 0 0 3px var(--thread)}.mirror-caption{max-width:420px;min-height:1.4em;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:12px;overflow:hidden}.mirror-caption-expect{color:var(--pass);font-weight:600}.toolbar{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);flex-direction:column;gap:6px;width:100%;max-width:600px;margin-top:8px;padding:8px;display:flex}.mirror-controls{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin:0;display:flex}.mirror-controls>input{flex:1;width:auto;min-width:140px}.toolbar-sep{background:var(--line-2);align-self:center;width:1px;height:20px}.inline-form{flex:1;gap:6px;display:flex}.inline-form input{flex:1;min-width:0}.case-panel{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);flex-direction:column;flex:1;min-width:320px;display:flex;overflow:hidden}.panel-body{flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.panel-tabs{border-bottom:1px solid var(--line);flex:none;gap:4px;padding:6px 12px 0;display:flex}.panel-tabs button,.guide-tabs button{height:38px;color:var(--ink-2);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:8px;margin-bottom:-1px;padding:0 12px;font-weight:600;display:inline-flex}.panel-tabs button:hover:not(:disabled),.guide-tabs button:hover:not(:disabled){color:var(--ink);background:0 0}.panel-tabs button.tab-on,.guide-tabs button.tab-on{border-bottom-color:var(--navy-text);color:var(--navy-text)}.tab-file{align-items:center;min-width:0;display:inline-flex}.panel-tabs .tab-file button:first-child{min-width:0;padding-right:6px}.tab-file-name{max-width:200px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.panel-tabs button.tab-file-close{border-radius:var(--radius);border:none;justify-content:center;width:22px;height:22px;margin:0;padding:0}.panel-tabs button.tab-file-close:hover:not(:disabled){background:var(--panel-2)}.tab-dot{background:var(--thread);border-radius:50%;width:9px;height:9px}.tab-dot-live{animation:1.2s ease-in-out infinite pulse}.tab-count{background:var(--panel-2);min-width:20px;color:var(--ink-2);text-align:center;border-radius:10px;padding:0 6px;font-size:11px;line-height:18px}.case-panel h2{align-items:center;gap:10px;margin:0 0 4px;font-size:18px;font-weight:600;display:flex}.case-panel h3{color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase;margin:24px 0 8px;font-size:12px;font-weight:600}.case-meta,.hint,.path{color:var(--ink-2);font-size:12px}.empty{color:var(--ink-2)}.rec{background:var(--thread-soft);height:20px;color:var(--thread-strong);letter-spacing:.04em;text-transform:uppercase;border-radius:10px;flex:none;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.rec-dot{background:var(--thread);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.detail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.case-actions{gap:8px;display:flex}.case-actions.wrap{flex-wrap:wrap;margin:8px 0 4px}.export-links{color:var(--ink-2);margin:6px 0;font-size:12px}.section-head{justify-content:space-between;align-items:baseline;display:flex}.composer h3:first-of-type{margin-top:20px}.field{flex-direction:column;gap:4px;margin-top:12px;display:flex}.field-title{color:var(--ink-2);font-size:12px;font-weight:600}.field input{height:36px;font-size:15px}.field input.needs-value{border-color:var(--thread-strong);background:var(--thread-soft)}.field-help{color:var(--thread-strong);font-size:12px;font-weight:600}.section-hint{margin:-4px 0 8px}.record-row{align-items:center;gap:12px;margin-top:12px;display:flex}.record-row .hint{flex:1}button.record-button{flex:none;align-items:center;gap:8px;height:36px;padding:0 16px;font-weight:600;display:inline-flex}.record-dot{background:var(--thread);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 2px #e8b43a4d}.finished-title{color:var(--pass);align-items:center;gap:6px;font-weight:600;display:inline-flex}.finished+.composer h2{margin-top:16px}.empty-state{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 0;display:flex}.stack,.palette{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.palette{gap:10px}.piece{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:8px 10px;position:relative}.piece-start{border-left:4px solid var(--navy-text);border-radius:14px 8px 8px;align-items:center;gap:8px;font-size:13px;display:flex}.piece-start-label{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.piece-start-label span{color:var(--ink-2);flex:none;font-size:12px;font-weight:600}.piece-start-label select{flex:1;min-width:0}.piece-start .piece-icon{color:var(--navy-text)}.piece-block{border-color:var(--block-line);border-left:4px solid var(--block);background:var(--block-soft)}.piece-block:before{content:"";border:1px solid var(--block-line);background:var(--block-soft);border-bottom:none;border-radius:6px 6px 0 0;width:16px;height:6px;position:absolute;top:-6px;left:26px}.piece-block[draggable=true]{cursor:grab}.piece-block[draggable=true]:hover{border-color:color-mix(in srgb, var(--block) 45%, transparent);border-left-color:var(--block)}.piece-block[draggable=true]:active{cursor:grabbing}.piece-broken{border-left-color:var(--ink-3);background:var(--panel-2);opacity:.8}.piece-broken:before{background:var(--panel-2)}.piece-row{align-items:center;gap:8px;min-height:28px;display:flex}.piece-icon{color:var(--block);flex:none;display:inline-flex}.grip{color:var(--ink-3);flex:none;display:inline-flex}.piece-name{min-width:0;color:var(--ink);flex:1;font-weight:600}.piece-meta{color:var(--block);flex:none;font-size:12px}.piece-body{margin-left:56px}.piece-file{color:var(--ink-2);font-family:var(--mono);font-size:11px}.piece-vars{color:var(--ink-2);margin-top:2px;font-size:12px}.piece-missing{color:var(--warn);font-weight:600}.piece-error{color:var(--fail);margin-top:2px;font-size:12px}.piece-add{border-color:var(--block-line);height:28px;color:var(--block);flex:none;font-weight:600}.piece-tools{flex:none;gap:2px;display:inline-flex}.piece-tools button{width:26px;height:26px;color:var(--ink-2);background:0 0;border:none;padding:0}.piece-tools button:hover:not(:disabled){background:color-mix(in srgb, var(--block) 12%, transparent);color:var(--block)}.piece-steps summary{color:var(--block);cursor:pointer;margin-top:4px;font-size:12px;font-weight:600}.piece-steps ol{color:var(--ink-2);margin:4px 0 2px;padding-left:20px;font-size:12px}.drop-slot{border:2px dashed var(--line);min-height:44px;color:var(--ink-3);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:8px;font-size:13px;display:flex}.drop-slot-active{border-color:var(--block);background:var(--block-soft);color:var(--block)}.drop-before{box-shadow:0 -5px 0 -1px var(--thread)}.stack-note{color:var(--ink-2);padding:4px 2px;font-size:12px}.stack-compact{gap:6px;margin:12px 0 4px}.stack-compact .piece{padding:4px 10px;font-size:13px}.stack-compact .piece-row{min-height:24px}.block-settings{border-top:1px dashed var(--block-line);flex-direction:column;gap:6px;margin:6px 0 2px 56px;padding-top:6px;display:flex}.setting-row{align-items:center;gap:8px;display:flex}.setting-title{color:var(--block);flex:none;font-size:12px;font-weight:600}.setting-row select{flex:1;min-width:0;height:28px;font-size:13px}.setting-values,.new-user{flex-direction:column;gap:4px;display:flex}.setting-value{grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;display:grid}.setting-value code,.new-user-label{color:var(--ink-2);text-overflow:ellipsis;overflow:hidden}.new-user-label{font-size:12px}.setting-value select,.setting-value input{height:28px;font-size:13px}.new-user .setting-value{grid-template-columns:110px minmax(0,1fr)}.new-user .hint{margin:2px 0}.new-user .case-actions button{height:28px}.piece-values{color:var(--block);font-weight:400}.block-settings .piece-missing{margin:0;font-size:12px}.run-blocks{margin-top:16px}.run-blocks>summary{color:var(--block);cursor:pointer;font-weight:600}.run-blocks .palette{margin-top:8px}.drop-slot-steps{min-height:40px;margin-top:8px}.palette-empty{border:1px dashed var(--line);border-radius:8px;padding:12px;font-size:13px}.steps{margin:12px 0;padding:0;list-style:none}.step{border-bottom:1px solid var(--line-2);border-radius:6px;grid-template-columns:28px 64px 1fr auto;align-items:center;gap:8px;margin:0 -8px;padding:8px;display:grid}.step-detail-row{grid-template-columns:28px 64px 1fr 92px auto 28px;align-items:start}li.step:hover{background:var(--panel-2)}li.step:hover .step-index,li.step:hover .step-kind,li.step:hover .row-menu summary:hover,li.step:hover .row-menu[open] summary{background:var(--line-2)}.step-kept{opacity:.55}.step-block,li.step.step-block:hover{border-left:4px solid var(--block);background:var(--block-soft)}.step-kind.step-kind-block,li.step:hover .step-kind.step-kind-block{background:var(--block);color:var(--on-block);align-items:center;gap:4px;display:inline-flex}.step-index{background:var(--panel-2);width:22px;height:22px;color:var(--ink-2);border-radius:50%;justify-content:center;justify-self:end;align-items:center;font-size:12px;display:inline-flex}.step-kind{background:var(--panel-2);color:var(--ink-2);border-radius:4px;justify-self:start;padding:1px 6px;font-size:11px;font-weight:600}.step-detail{overflow-wrap:anywhere;color:var(--ink);font-family:var(--font);font-size:13px}.step-detail.warn{color:var(--warn)}.selector{color:var(--ink-3);font-family:var(--mono);font-size:11px;display:block}.review{color:var(--warn);font-family:var(--font);margin-top:2px;font-size:12px;display:block}.note{color:var(--ink-2);font-family:var(--font);font-size:12px;font-style:italic;display:block}.step-error{color:var(--fail);font-family:var(--font);margin-top:2px;font-size:12px;display:block}.thumb{border:1px solid var(--line);border-radius:4px;height:64px;display:block}.thumb-replay{border-color:var(--sea)}.shots{gap:4px;display:flex}.result-cell{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.step-editor{flex-direction:column;gap:6px;margin-top:6px;display:flex}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:10px;justify-self:start;padding:1px 8px;font-size:11px;font-weight:600}.badge-passed{background:var(--pass-soft);color:var(--pass)}.badge-failed{background:var(--fail-soft);color:var(--fail)}.badge-not-run{background:var(--panel-2);color:var(--ink-2)}.tag{background:var(--panel-2);color:var(--ink-2);border-radius:10px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:600}.tag-flaky{background:var(--warn-soft);color:var(--warn)}.tag-failed{background:var(--fail-soft);color:var(--fail)}.history{vertical-align:middle;gap:3px;display:inline-flex}.history-note{color:var(--ink-3);font-size:12px}.dot{border-radius:50%;width:8px;height:8px}.dot-passed{background:var(--pass)}.dot-failed{background:var(--fail)}.step-time,.similar{color:var(--ink-2);font-size:11px}.similar-warn{color:var(--warn);font-weight:600}.run-summary,.suite-bar,.editing-note,.picker,.finished,.yaml{border-radius:var(--radius);border:1px solid #0000;padding:10px 12px}.run-summary{border-color:var(--line-2);background:var(--panel-2);margin:8px 0}.suite-bar{border-color:var(--line-2);background:var(--panel-2);flex-direction:column;gap:4px;margin:6px 0 10px;display:flex}.suite-actions{align-items:center;gap:10px;display:flex}.run-summary.run-passed,.suite-bar.run-passed{border-color:color-mix(in srgb, var(--pass) 40%, transparent);background:var(--pass-soft)}.run-summary.run-failed,.suite-bar.run-failed{border-color:color-mix(in srgb, var(--fail) 40%, transparent);background:var(--fail-soft)}.run-error{color:var(--fail)}.run-select{height:26px;margin-left:8px;font-size:12px}.failure-shot{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.device-note{color:var(--ink-2);margin-top:4px;font-size:12px}.editing-note{border-color:color-mix(in srgb, var(--thread-strong) 40%, transparent);background:var(--thread-soft);font-size:13px}.picker{border-color:color-mix(in srgb, var(--pass) 40%, transparent);background:var(--pass-soft);margin-top:8px}.case-panel .picker h3{color:var(--ink);letter-spacing:0;text-transform:none;margin:0 0 4px;font-size:13px}.picker-list{margin:8px 0;padding:0;list-style:none}.picker-list li{padding:3px 0}.picker-list code{color:var(--ink-2);font-family:var(--mono);margin-left:6px;font-size:12px}.finished{border-color:color-mix(in srgb, var(--pass) 40%, transparent);background:var(--pass-soft);margin-top:16px}.finished-head{justify-content:space-between;align-items:center;display:flex}.yaml{border-color:var(--line-2);background:var(--panel-2);font-family:var(--mono);margin:8px 0 0;font-size:12px;overflow-x:auto}.files{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);flex-direction:column;flex:none;width:260px;min-height:0;display:flex;overflow:hidden}.files[hidden]{display:none}.files-head{border-bottom:1px solid var(--line);flex:none;align-items:center;height:45px;padding:0 6px 0 14px;display:flex}.files-title{color:var(--ink-2);flex:1;font-weight:600}.files-tree{flex:1;min-height:0;padding:6px;overflow:auto}.files-list{margin:0;padding:0;list-style:none}button.files-row{width:100%;height:26px;color:var(--ink);text-align:left;background:0 0;border:none;align-items:center;gap:5px;padding-right:6px;font-size:13px;display:flex}button.files-row:hover:not(:disabled){background:var(--panel-2)}button.files-row-on,button.files-row-on:hover:not(:disabled){background:var(--panel-2);color:var(--navy-text);font-weight:600}.files-chevron{width:12px;color:var(--ink-3);flex:none;display:inline-flex}.files-chevron-open{transform:rotate(90deg)}.files-row .icon{flex:none}.files-kind{color:var(--ink-2);flex:none;display:inline-flex}.files-name{text-overflow:ellipsis;overflow:hidden}.file-view .path{overflow-wrap:anywhere;margin:0}.file-text{white-space:pre}.file-image{border:1px solid var(--line-2);border-radius:var(--radius);max-width:100%;max-height:70vh;margin-top:8px;display:block}.yaml-box summary{color:var(--ink-2);cursor:pointer;margin-top:8px;font-size:12px}.saved-cases{margin:0;padding:0;list-style:none}.saved-cases li{border-bottom:1px solid var(--line-2);border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;margin:0 -8px;padding:8px;display:grid}.saved-cases li:hover{background:var(--panel-2)}.saved-name{font-size:14px;font-weight:600}.saved-muted .saved-name,.tree-mark{color:var(--ink-3)}.saved-cases .path{grid-column:1}.saved-actions{grid-area:1/2/span 2;gap:6px;display:flex}.row-menu{position:relative}.row-menu summary{width:24px;height:24px;color:var(--ink-2);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:16px;list-style:none;display:inline-flex}.row-menu summary::-webkit-details-marker{display:none}.row-menu summary:hover,.row-menu[open] summary{background:var(--panel-2)}.row-menu-items{z-index:5;border:1px solid var(--line);background:var(--panel);min-width:220px;box-shadow:0 8px 24px var(--shadow);border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;right:0}.row-menu-items button{text-align:left;background:0 0;border:none;border-radius:4px;width:100%}.row-menu-items button.danger{color:var(--fail)}.row-menu-items .hint{padding:4px 12px}dialog.setup-dialog{border:1px solid var(--line);background:var(--panel);width:min(780px,100vw - 48px);max-height:calc(100vh - 48px);color:var(--ink);box-shadow:0 24px 64px var(--shadow-lg);border-radius:12px;padding:0}dialog.setup-dialog[open]{flex-direction:column;display:flex}dialog.setup-dialog::backdrop{background:var(--scrim)}.dialog-head,.dialog-foot{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.dialog-head{border-bottom:1px solid var(--line-2)}.dialog-head h2{margin:0;font-size:18px;font-weight:600}.dialog-foot{border-top:1px solid var(--line-2)}.dialog-body{flex:1;min-height:0;padding:16px 20px 20px;overflow-y:auto}.dialog-body h3{color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase;margin:20px 0 8px;font-size:12px;font-weight:600}.lede{color:var(--ink-2);margin:0}button.icon-button{border:none;justify-content:center;align-items:center;width:32px;padding:0;display:inline-flex}.checks{border:1px solid var(--line-2);border-radius:8px;margin:0;padding:0;list-style:none}.check-row{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.check-row:last-child{border-bottom:none}.check-mark{border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.check-ok{background:var(--pass-soft);color:var(--pass)}.check-missing{background:var(--fail-soft);color:var(--fail)}.check-warn{background:var(--warn-soft);color:var(--warn)}.check-title{font-weight:600}.check-detail{color:var(--ink-2);font-size:13px}.device-states,.avds{margin:2px 0 0;padding:0;list-style:none}.device-states li{padding:1px 0}.device-states .device-ok strong{color:var(--pass)}.device-states .device-warn{color:var(--warn)}.avds li{align-items:center;gap:10px;padding:2px 0;display:flex}.avds li>span:first-child{min-width:160px;color:var(--ink);font-family:var(--mono);font-size:12px}.avds button{height:26px;font-size:12px}.guide-tabs{border-bottom:1px solid var(--line);gap:4px;margin-top:20px;display:flex}.guide{margin:12px 0 0;padding-left:22px}.guide li{margin-bottom:10px;padding-left:4px}.guide li::marker{color:var(--navy-text);font-weight:700}.guide-done{color:var(--pass);font-weight:600}.guide-note{margin:0}code.command{background:var(--panel-2);color:var(--ink);white-space:nowrap;border-radius:4px;padding:1px 6px}.toasts{z-index:10;flex-direction:column;gap:8px;max-width:420px;display:flex;position:fixed;bottom:32px;right:16px}.toast{border:1px solid var(--line);background:var(--panel);box-shadow:0 8px 24px var(--shadow);border-left:4px solid;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.toast span{flex:1}.toast-error{border-left-color:var(--fail)}.toast-info{border-left-color:var(--info)}.toast button{width:24px;height:24px;color:var(--ink-2);background:0 0;border:none;flex:none;padding:0;font-size:16px}@media (prefers-reduced-motion:reduce){.status-busy .status-dot,.tab-dot-live,.rec-dot{animation:none}}.drag-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.drag-line line{stroke:var(--thread);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke}.drag-line circle{fill:var(--thread);stroke:var(--thread);stroke-width:10px;vector-effect:non-scaling-stroke}.screen-menu{z-index:20;border:1px solid var(--line);background:var(--panel);min-width:200px;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 18%, transparent);border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed}.screen-menu button{text-align:left;background:0 0;border:none;border-radius:4px;width:100%}.screen-menu button:focus-visible{outline:2px solid var(--thread);outline-offset:-2px}.phone-buttons{border-radius:var(--radius-card);background:var(--stage);flex-wrap:wrap;justify-content:center;align-items:stretch;gap:2px;width:100%;max-width:600px;margin-top:6px;padding:4px;display:flex;container-type:inline-size}button.phone-button{border-radius:var(--radius);min-width:44px;height:auto;color:var(--on-stage);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 6px;font-size:11px;display:inline-flex}button.phone-button:hover:not(:disabled){background:color-mix(in srgb, var(--on-stage) 14%, transparent)}button.phone-button:disabled{color:var(--ink-3);cursor:default}.phone-buttons-sep{background:color-mix(in srgb, var(--on-stage) 20%, transparent);align-self:center;width:1px;height:24px;margin:0 4px}@container (width<=560px){.phone-button-label{display:none}}.mirror-frame{container-type:size}.screen.screen-landscape{max-width:none;height:auto;width:min(100cqw, calc(100cqh * var(--screen-ratio)));align-self:center}