*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0f1117;--color-bg-deep:#1e1e2e;--color-surface:#1a1d27;--color-surface-2:#313244;--color-surface-deep:#181825;--color-border:#2a2d3a;--color-text:#e2e8f0;--color-text-bright:#cdd6f4;--color-text-muted:#8892a4;--color-subtext:#8b8fa8;--color-accent:#6366f1;--color-mauve:#cba6f7;--color-purple:#a78bfa;--color-blue:#89b4fa;--color-sky:#89dceb;--color-cyan:#22d3ee;--color-ok:#22c55e;--color-green-subtle:#a6e3a1;--color-warning:#f59e0b;--color-yellow-subtle:#f9e2af;--color-fail:#ef4444;--color-red-subtle:#f38ba8;--radius:8px;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace}[data-theme=light]{--color-bg:#eff1f5;--color-bg-deep:#e6e9ef;--color-surface:#e6e9ef;--color-surface-2:#acb0be;--color-surface-deep:#dce0e8;--color-border:#ccd0da;--color-text:#4c4f69;--color-text-bright:#4c4f69;--color-text-muted:#6c6f85;--color-subtext:#7c7f93;--color-accent:#8839ef;--color-mauve:#7287fd;--color-purple:#7c3aed;--color-blue:#1e66f5;--color-sky:#04a5e5;--color-cyan:#0891b2;--color-ok:#40a02b;--color-green-subtle:#a6d189;--color-warning:#df8e1d;--color-yellow-subtle:#e5c890;--color-fail:#d20f39;--color-red-subtle:#e78284}html,body{background-color:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}#root{height:100%}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:2rem 2.5rem 1.5rem}.app-header h1{letter-spacing:-.02em;color:var(--color-text);font-size:1.75rem;font-weight:700}.tagline{color:var(--color-text-muted);margin-top:.25rem;font-size:.95rem}.app-main{flex-direction:column;flex:1;gap:2rem;padding:2rem 2.5rem;display:flex}.capability-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.cap-card{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:.4rem;padding:1.25rem 1.5rem;display:flex}.cap-card.cap-ok{border-color:var(--color-ok)}.cap-card.cap-fail{border-color:var(--color-fail)}.cap-icon{font-size:1.25rem}.cap-card.cap-ok .cap-icon{color:var(--color-ok)}.cap-card.cap-fail .cap-icon{color:var(--color-fail)}.cap-card strong{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.9rem}.cap-card p{color:var(--color-text);font-size:.875rem;line-height:1.5}.phase-banner{border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);padding:1.5rem}.phase-banner h2{color:var(--color-accent);margin-bottom:.75rem;font-size:1.1rem}.phase-banner p{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9rem}.phase-banner ul{flex-direction:column;gap:.4rem;list-style:none;display:flex}.phase-banner li{color:var(--color-text-muted);padding-left:1.25rem;font-size:.875rem;position:relative}.phase-banner li:before{content:"â†’";color:var(--color-accent);position:absolute;left:0}.app-header-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:not(:disabled):hover{opacity:.88}.btn:not(:disabled):active{transform:scale(.97)}.btn--primary{background:var(--color-accent);color:#fff}.btn--danger{background:var(--color-fail);color:#fff}.btn--warning{background:var(--color-warning);color:#000}.btn--export{background:var(--color-ok);color:#fff}.btn-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:.875rem;height:.875rem;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.device-connected-banner{border-radius:var(--radius);background:color-mix(in srgb, var(--color-ok) 15%, var(--color-surface));border:1px solid var(--color-ok);align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;display:flex}.serial{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.8rem}.mqds-badge{background:color-mix(in srgb, var(--color-warning) 15%, transparent);border:1px solid color-mix(in srgb, var(--color-warning) 40%, transparent);color:var(--color-warning);border-radius:10px;margin-left:auto;padding:1px 8px;font-size:.72rem;font-weight:700}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot--ok{background:var(--color-ok);box-shadow:0 0 6px var(--color-ok);animation:2s ease-in-out infinite pulse-ok}@keyframes pulse-ok{0%,to{opacity:1}50%{opacity:.6}}.doctor-panel{border-radius:var(--radius);border:1px solid var(--color-fail);background:color-mix(in srgb, var(--color-fail) 10%, var(--color-surface));flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.doctor-header{align-items:center;gap:.6rem;display:flex}.doctor-icon{color:var(--color-fail);font-size:1.1rem}.doctor-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:.7rem;font-family:var(--font-mono);margin-left:auto}.doctor-message{color:var(--color-text);font-size:.9rem}.doctor-steps{flex-direction:column;gap:.35rem;padding-left:1.25rem;display:flex}.doctor-steps li{color:var(--color-text-muted);font-size:.875rem;line-height:1.5}.doctor-retry{align-self:flex-start;margin-top:.25rem}.mirror-section{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.mirror-header{align-items:center;gap:1rem;display:flex}.mirror-label{color:var(--color-text);font-size:.875rem;font-weight:600}.mirror-dims{color:var(--color-text-muted);font-size:.8rem;font-family:var(--font-mono)}.mirror-frames{font-size:.75rem;font-family:var(--font-mono);color:var(--color-ok);opacity:.85}.mirror-stop{margin-left:auto}.mirror-error{color:var(--color-fail);font-size:.875rem}.mirror-canvas{border-radius:calc(var(--radius) - 2px);background:#000;width:100%;max-width:100%;height:auto;max-height:min(70vh,680px);margin:0 auto;display:block}.mirror-canvas--active{border:1px solid var(--color-ok)}.mirror-canvas-wrapper{width:-moz-fit-content;width:fit-content;margin:0 auto;display:block;position:relative}.mirror-overlay{pointer-events:none;border-radius:calc(var(--radius) - 2px);position:absolute;inset:0;overflow:hidden}.click-ripple{background:var(--ripple-color,#f44);pointer-events:none;border-radius:50%;width:28px;height:28px;animation:.55s ease-out forwards ripple-pop;position:absolute;transform:translate(-50%,-50%)scale(0)}@keyframes ripple-pop{0%{opacity:.9;transform:translate(-50%,-50%)scale(0)}50%{opacity:.7;transform:translate(-50%,-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}.mirror-overlay-settings{color:var(--color-text-muted);align-items:center;gap:.5rem;padding:.3rem 0;font-size:.78rem;display:flex}.mos-label{cursor:pointer;-webkit-user-select:none;user-select:none}.mos-checkbox{cursor:pointer;width:.9rem;height:.9rem;accent-color:var(--color-accent)}.mos-color{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:3px;width:1.6rem;height:1.4rem;padding:0}.mos-color:disabled{opacity:.35;cursor:not-allowed}.tree-panel{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.tree-header{align-items:center;gap:1rem;display:flex}.tree-header strong{color:var(--color-text);font-size:.875rem}.tree-error{color:var(--color-fail);font-size:.875rem}.tree-count{color:var(--color-text-muted);font-size:.8rem;font-family:var(--font-mono)}.tree-json{font-size:.75rem;font-family:var(--font-mono);color:var(--color-text);background:var(--color-bg);border-radius:calc(var(--radius) - 2px);white-space:pre;max-height:300px;padding:1rem;overflow:auto}.studio-layout{align-items:flex-start;gap:1.5rem;display:flex}.studio-layout>.mirror-section{flex-shrink:0}.studio-side-panel{flex-direction:column;flex:1;gap:1rem;min-width:260px;max-height:80vh;display:flex;overflow-y:auto}.recorder-panel{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.recorder-title-row{border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding:.5rem .75rem .25rem;display:flex}.recorder-title-row strong{color:var(--color-text);font-size:.82rem}.recorder-mode-hint{color:var(--color-text-muted);opacity:.6;margin-left:auto;font-size:.65rem}.recorder-mode-toggle{gap:0;padding:.5rem .75rem .35rem;display:flex}.recorder-mode-btn{text-align:center;border:2px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;letter-spacing:.03em;background:0 0;flex:1;padding:.55rem 0;font-size:.92rem;font-weight:700;transition:background .12s,color .12s,border-color .12s}.recorder-mode-btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.recorder-mode-btn:last-child{border-radius:0 var(--radius) var(--radius) 0;border-left:none}.recorder-mode-btn--drive{background:color-mix(in srgb, var(--color-ok) 15%, transparent);color:var(--color-ok);border-color:var(--color-ok)}.recorder-mode-btn--inspect{background:color-mix(in srgb, var(--color-cyan) 15%, transparent);color:var(--color-cyan);border-color:var(--color-cyan)}.recorder-mode-btn--assist{background:color-mix(in srgb, var(--color-purple) 15%, transparent);color:var(--color-purple);border-color:var(--color-purple)}.recorder-mode-btn:hover:not(.recorder-mode-btn--drive):not(.recorder-mode-btn--inspect):not(.recorder-mode-btn--assist){background:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-text)}.assist-bar{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-purple) 5%, transparent)}.assist-bar-input-row{align-items:center;gap:.4rem;padding:.5rem .75rem .3rem;display:flex}.assist-bar-icon{flex-shrink:0;font-size:.85rem}.assist-bar-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:calc(var(--radius) - 4px);color:var(--color-text);outline:none;flex:1;padding:.4rem .55rem;font-size:.78rem}.assist-bar-input:focus{border-color:var(--color-purple)}.assist-bar-input:disabled{opacity:.5}.assist-bar-add{flex-shrink:0;padding:.35rem .7rem!important;font-size:.72rem!important}.assist-bar-hint{color:var(--color-text-muted);padding:0 .75rem .5rem;font-size:.68rem}.assist-bar-autocomplete{flex-wrap:wrap;align-items:center;gap:.25rem;padding:0 .75rem .4rem;display:flex}.assist-bar-autocomplete-label{color:var(--color-text-muted);margin-right:.15rem;font-size:.62rem}.assist-bar-chip{color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:4px;padding:.05rem .4rem;font-size:.62rem}.assist-bar-chip--clickable{color:var(--color-purple);cursor:pointer}.assist-bar-chip--clickable:hover{background:color-mix(in srgb, var(--color-purple) 15%, var(--color-surface-2))}.assist-bar-feedback{padding:.25rem .75rem .55rem}.assist-bar-feedback--muted{color:var(--color-text-muted);font-size:.68rem}.assist-bar-feedback-label{margin-bottom:.3rem;font-size:.68rem}.assist-bar-feedback-label--warn{color:var(--color-warning)}.assist-bar-feedback-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.assist-bar-suggestions{flex-wrap:wrap;gap:.3rem;display:flex}.assist-bar-match-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) - 4px);align-items:center;gap:.4rem;margin-bottom:.25rem;padding:.3rem .45rem;display:flex}.assist-bar-match-class{color:var(--color-purple);border:1px solid color-mix(in srgb, var(--color-purple) 40%, transparent);border-radius:3px;flex-shrink:0;padding:.05rem .3rem;font-size:.58rem;font-weight:700}.assist-bar-match-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.7rem;overflow:hidden}.assist-bar-preview-chip{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-purple) 30%, transparent);border-radius:calc(var(--radius) - 4px);padding:.25rem .55rem;font-size:.68rem}.assist-bar-pick-error{color:var(--color-fail);margin-top:.3rem;font-size:.68rem}.assist-bar-flash{color:var(--color-ok);padding:0 .75rem .5rem;font-size:.68rem}.recorder-actions-row{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.35rem;padding:.25rem .75rem .4rem;display:flex}.recorder-actions-row .btn{padding:.3rem .6rem;font-size:.72rem}.recorder-count{color:var(--color-text-muted);font-size:.8rem;font-family:var(--font-mono)}.rec-dot{background:#fff;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:.9s ease-in-out infinite pulse-rec;display:inline-block}@keyframes pulse-rec{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.recorder-hint{color:var(--color-text-muted);border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);padding:.5rem .75rem;font-size:.8rem}.step-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.step-item{border-radius:calc(var(--radius) - 4px);background:color-mix(in srgb, var(--color-border) 30%, transparent);flex-direction:column;display:flex}.step-item--expanded{background:color-mix(in srgb, var(--color-accent) 6%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-accent) 20%, transparent)}.step-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.8rem;display:flex}.step-row:hover{background:color-mix(in srgb, var(--color-accent) 7%, transparent)}.step-num{font-family:var(--font-mono);color:var(--color-text-muted);text-align:right;flex-shrink:0;min-width:1.25rem;font-size:.7rem}.step-type{font-family:var(--font-mono);color:var(--color-accent);flex-shrink:0;font-size:.75rem;font-weight:600}.step-desc{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.step-expand-icon{color:var(--color-text-muted);flex-shrink:0;font-size:.65rem}.step-actions{flex-shrink:0;align-items:center;gap:.2rem;margin-left:.1rem;display:flex}.step-action-btn{width:1.4rem;height:1.4rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:.7rem;line-height:1;transition:background .1s,color .1s;display:inline-flex}.step-action-btn:hover{background:color-mix(in srgb, var(--color-border) 60%, transparent);color:var(--color-text)}.step-action-btn--move:hover{color:var(--color-text)}.step-action-btn--rerecord:hover{color:var(--color-accent)}.step-action-btn--delete:hover{color:var(--color-fail)}.step-action-btn:disabled{opacity:.3;cursor:not-allowed}.strategy-badge{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:.1rem .35rem;font-size:.62rem;font-weight:700}.strategy-badge--high{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.strategy-badge--medium{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent)}.strategy-badge--low{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.strategy-badge--none{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-border) 50%, transparent)}.rerecord-banner{border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb, var(--color-warning) 12%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-warning) 40%, transparent);color:var(--color-warning);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;display:flex}.rerecord-dot{background:var(--color-warning);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:.9s ease-in-out infinite pulse-rec;display:inline-block}.step-label-editor{border-top:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);align-items:center;gap:.5rem;padding:.4rem .6rem .2rem;display:flex}.step-label-editor__lbl{color:var(--color-text-muted);white-space:nowrap;min-width:5.5rem;font-size:.72rem}.step-label-editor__input{background:var(--color-surface0);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;flex:1;padding:.2rem .4rem;font-size:.78rem}.step-label-editor__input:focus{border-color:var(--color-blue);outline:none}.candidate-inspector{border-top:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);background:color-mix(in srgb, var(--color-bg) 60%, transparent);flex-direction:column;gap:.25rem;padding:.5rem .6rem .6rem;display:flex}.ci-empty{color:var(--color-text-muted);padding:.15rem 0;font-size:.75rem}.ci-row{align-items:center;gap:.4rem;min-height:1.6rem;display:flex}.ci-row--coord{border-top:1px solid color-mix(in srgb, var(--color-border) 40%, transparent);margin-top:.1rem;padding-top:.25rem}.ci-badge{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:.1rem .3rem;font-size:.6rem;font-weight:700}.ci-badge--high{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.ci-badge--medium{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent)}.ci-badge--low{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.ci-badge--none{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-border) 50%, transparent)}.ci-value{font-family:var(--font-mono);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.72rem;overflow:hidden}.ci-value--coord{color:var(--color-text-muted)}.ci-fallback-note{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;font-size:.65rem}.ci-actions{flex-shrink:0;align-items:center;gap:.2rem;display:flex}.ci-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:3px;align-items:center;gap:.2rem;padding:.15rem .4rem;font-size:.65rem;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.ci-btn:hover{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));color:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 40%, transparent)}.ci-btn--remove:hover{color:var(--color-fail);border-color:color-mix(in srgb, var(--color-fail) 40%, transparent);background:color-mix(in srgb, var(--color-fail) 8%, var(--color-surface))}.ci-btn--save:hover{color:var(--color-ok);border-color:color-mix(in srgb, var(--color-ok) 40%, transparent);background:color-mix(in srgb, var(--color-ok) 8%, var(--color-surface))}.ci-btn--add{color:var(--color-muted);border-style:dashed;margin-top:.35rem}.ci-btn--add:hover{color:var(--color-accent);border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));border-style:solid}.ci-edit-form,.ci-add-form{flex-wrap:wrap;align-items:center;gap:.35rem;padding:.2rem 0;display:flex}.ci-edit-select{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;padding:.2rem .3rem;font-size:.78rem}.ci-edit-input{background:var(--color-surface);min-width:0;color:var(--color-text);border:1px solid var(--color-accent);border-radius:4px;flex:1;padding:.2rem .4rem;font-family:monospace;font-size:.8rem}.step-edit-form{border-top:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);background:color-mix(in srgb, var(--color-bg) 60%, transparent);flex-direction:column;gap:.4rem;padding:.5rem .6rem .6rem;display:flex}.sef-row{align-items:center;gap:.5rem;display:flex}.sef-label{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;min-width:6rem;font-size:.72rem}.sef-input{font-size:.78rem;font-family:var(--font-mono);border-radius:calc(var(--radius) - 4px);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);flex:1;min-width:0;padding:.25rem .5rem}.sef-input--short{flex:0 0 5rem}.sef-input:focus,.sef-select:focus{border-color:var(--color-accent);outline:none}.sef-select{border-radius:calc(var(--radius) - 4px);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;padding:.25rem .4rem;font-size:.78rem}.sef-unit{color:var(--color-text-muted);flex-shrink:0;font-size:.72rem}.sef-actions{gap:.4rem;padding-top:.2rem;display:flex}.replay-panel{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.replay-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.replay-header strong{color:var(--color-text);font-size:.875rem}.replay-summary{color:var(--color-text-muted);font-size:.8rem;font-family:var(--font-mono)}.replay-btn{margin-left:auto}.replay-error{color:var(--color-fail);font-size:.875rem}.replay-results{flex-direction:column;gap:.3rem;max-height:350px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.replay-result-item{border-radius:calc(var(--radius) - 4px);align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.8rem;display:flex}.replay-result-item--ok{background:color-mix(in srgb, var(--color-ok) 10%, transparent)}.replay-result-item--not_found{background:color-mix(in srgb, var(--color-fail) 10%, transparent)}.replay-badge{font-family:var(--font-mono);letter-spacing:.06em;border-radius:3px;padding:.1rem .4rem;font-size:.65rem;font-weight:700}.replay-badge--ok{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 15%, transparent)}.replay-badge--not_found{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 15%, transparent)}.replay-coords{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.7rem}.replay-result-item--error{background:color-mix(in srgb, var(--color-warning) 10%, transparent)}.replay-badge--error{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 15%, transparent)}.replay-detail{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.replay-detail--fail{color:var(--color-fail)}.replay-heal-hint{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-purple) 30%, transparent);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:.68rem}.replay-delay-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.replay-delay-label{color:var(--color-text-muted);font-size:.8rem}.replay-delay-input{width:5rem;font-size:.8rem;font-family:var(--font-mono);border-radius:calc(var(--radius) - 4px);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);text-align:right;padding:.25rem .5rem}.replay-delay-unit{color:var(--color-text-muted);font-size:.8rem}.command-toolbar{border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb, var(--color-border) 20%, transparent);border:1px solid var(--color-border);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.command-groups{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.command-group{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.command-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);white-space:nowrap;margin-right:.15rem;font-size:.65rem;font-weight:700}.cmd-btn{border-radius:calc(var(--radius) - 4px);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.cmd-btn:hover{background:color-mix(in srgb, var(--color-accent) 15%, var(--color-surface));border-color:var(--color-accent)}.cmd-btn--app{color:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 40%, transparent)}.cmd-btn--confirm{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.cmd-btn--confirm:hover{opacity:.88;background:var(--color-accent)}.cmd-btn--cancel{color:var(--color-text-muted)}.cmd-btn--assert{color:var(--color-cyan);border-color:color-mix(in srgb, var(--color-cyan) 30%, transparent)}.cmd-btn--assert:hover{background:color-mix(in srgb, var(--color-cyan) 10%, var(--color-surface));border-color:var(--color-cyan)}.cmd-btn--flow{color:var(--color-purple);border-color:color-mix(in srgb, var(--color-purple) 30%, transparent)}.cmd-btn--flow:hover{background:color-mix(in srgb, var(--color-purple) 10%, var(--color-surface));border-color:var(--color-purple)}.ctb-strip{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.3rem;padding:.35rem .6rem;display:flex}.ctb-chip{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;padding:.18rem .55rem;font-size:.72rem;font-weight:500;transition:background .1s,color .1s,border-color .1s}.ctb-chip:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-accent);border-color:var(--color-accent)}.ctb-chip--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.ctb-chip--active:hover{background:color-mix(in srgb, var(--color-accent) 85%, #000)}.ctb-panel{background:color-mix(in srgb, var(--color-accent) 5%, var(--color-surface));border-bottom:1px solid color-mix(in srgb, var(--color-accent) 30%, transparent);flex-wrap:wrap;gap:.35rem;padding:.5rem .7rem;animation:.12s ease-out form-appear;display:flex}.command-form-select{border-radius:calc(var(--radius) - 4px);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);outline:none;padding:.3rem .5rem;font-size:.8rem}.sef-info{color:var(--color-text-muted);padding:.25rem 0;font-size:.75rem;line-height:1.5}.command-form{border-top:2px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 6%, var(--color-surface));border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;animation:.15s ease-out form-appear;display:flex}@keyframes form-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.command-form-title{width:100%;color:var(--color-text);border-bottom:1px solid var(--color-border);margin-bottom:.1rem;padding-bottom:.1rem;font-size:.82rem;font-weight:700}.command-form-hint{width:100%;color:var(--color-accent);padding-bottom:.15rem;font-size:.72rem;font-weight:600}.ctb-capture-cta{background:color-mix(in srgb, var(--color-accent) 6%, transparent);border:1px dashed color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:4px;align-items:center;gap:.5rem;width:100%;padding:.3rem .5rem;font-size:.75rem;display:flex}.ctb-capture-cta--active{background:color-mix(in srgb, var(--color-ok) 8%, transparent);border-color:color-mix(in srgb, var(--color-ok) 40%, transparent);color:var(--color-ok)}.ctb-capture-btn{cursor:pointer;color:var(--color-accent);text-align:left;background:0 0;border:none;font-size:.75rem;font-weight:600}.ctb-capture-btn:hover{color:color-mix(in srgb, var(--color-accent) 80%, #000)}.ctb-capture-cancel{cursor:pointer;color:var(--color-ok);background:0 0;border:1px solid;border-radius:3px;margin-left:auto;padding:1px 6px;font-size:.65rem}.command-form input:first-of-type,.command-form select:first-of-type{animation:.5s ease-out .15s 2 input-pulse}@keyframes input-pulse{0%,to{border-color:var(--color-border)}50%{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 25%, transparent)}}.command-form-label{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem}.command-form-input{border-radius:calc(var(--radius) - 4px);border:1px solid var(--color-border);background:var(--color-bg);min-width:140px;color:var(--color-text);flex:1;padding:.3rem .6rem;font-size:.8rem}.command-form-input:focus{border-color:var(--color-accent);outline:none}.command-form-input:disabled{opacity:.5;cursor:wait}.pkg-count{color:var(--color-text-muted);white-space:nowrap;font-size:.7rem;font-family:var(--font-mono)}.replay-matchedby{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:.1rem .35rem;font-size:.62rem;font-weight:700}.replay-matchedby--high{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.replay-matchedby--medium{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent)}.replay-matchedby--low{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.replay-matchedby--none{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-border) 50%, transparent)}.replay-result-item--executing{background:color-mix(in srgb, var(--color-accent) 10%, transparent);border-left:2px solid var(--color-accent)}.replay-badge--executing{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 15%, transparent);align-items:center;gap:.3rem;display:inline-flex}.replay-spinner{border:2px solid color-mix(in srgb, var(--color-accent) 35%, transparent);border-top-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem;animation:.7s linear infinite spin;display:inline-block}.replay-step-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;padding:.75rem 1.5rem}.app-header-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.app-header h1{font-size:1.2rem;font-weight:700}.app-active-test{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:200px;padding:2px 8px;font-size:.8rem;overflow:hidden}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;gap:1rem;padding:1rem 1.5rem;display:flex;overflow-y:auto}.test-library{border-right:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 80%, transparent);flex-direction:column;flex-shrink:0;width:220px;min-width:180px;max-width:280px;display:flex;overflow:hidden}.lib-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.lib-title{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem;font-weight:700}.lib-header-actions{gap:4px;display:flex}.lib-tree{flex:1;padding:.25rem 0;overflow-y:auto}.lib-empty{color:var(--color-text-muted);padding:.75rem;font-size:.75rem;line-height:1.5}.lib-suite-row{cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:2px;padding:2px 6px;display:flex}.lib-suite-row:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent)}.lib-suite-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0 2px;font-size:.7rem;line-height:1}.lib-suite-name{text-overflow:ellipsis;white-space:nowrap;cursor:default;flex:1;font-size:.78rem;overflow:hidden}.lib-suite-actions{gap:2px;display:none}.lib-suite-row:hover .lib-suite-actions{display:flex}.lib-test-row{align-items:center;gap:2px;padding:2px 6px;display:flex}.lib-test-row:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent)}.lib-test-row--active{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}.lib-test-select{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:4px;min-width:0;padding:0;display:flex}.lib-test-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.lib-run-status{flex-shrink:0;font-size:.68rem;font-weight:700}.lib-run-status--passed{color:var(--color-ok)}.lib-run-status--failed{color:var(--color-fail)}.lib-run-status--passed_healed{color:var(--color-purple)}.lib-run-status--error{color:var(--color-warning)}.lib-action-btn{cursor:pointer;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 4px;font-size:.68rem}.lib-action-btn:hover{border-color:var(--color-border);color:var(--color-text)}.lib-action-btn--danger:hover{color:var(--color-fail);border-color:var(--color-fail)}.lib-action-btn--save{color:var(--color-ok)}.lib-action-btn--new{color:var(--color-accent)}.lib-rename-input{background:var(--color-input-bg,var(--color-surface));border:1px solid var(--color-accent);color:var(--color-text);border-radius:3px;outline:none;flex:1;min-width:0;padding:1px 4px;font-size:.78rem}.lib-new-form{align-items:center;gap:3px;padding:3px 6px;display:flex}.btn--save{background:color-mix(in srgb, var(--color-ok) 15%, transparent);color:var(--color-ok);border-color:color-mix(in srgb, var(--color-ok) 40%, transparent)}.btn--save:hover{background:color-mix(in srgb, var(--color-ok) 25%, transparent)}.step-drag-handle{cursor:grab;color:var(--color-text-muted);letter-spacing:-1px;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 4px;font-size:.7rem}.step-drag-handle:active{cursor:grabbing}.step-item--dragging{background:color-mix(in srgb, var(--color-accent) 12%, transparent);border-radius:4px;box-shadow:0 2px 8px #0003}.modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:420px;max-width:calc(100vw - 2rem);box-shadow:0 8px 32px #0006}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.875rem 1.25rem;font-size:.9rem;display:flex}.modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:2px 6px;font-size:.85rem}.modal-close:hover{color:var(--color-text)}.modal-body{flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.modal-field{flex-direction:column;gap:.25rem;display:flex}.modal-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.modal-input{background:var(--color-input-bg,var(--color-bg));border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;outline:none;padding:.45rem .6rem;font-size:.85rem}.modal-input:focus{border-color:var(--color-accent)}.modal-select{background:var(--color-input-bg,var(--color-bg));border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;outline:none;padding:.45rem .6rem;font-size:.85rem}.modal-select:focus{border-color:var(--color-accent)}.modal-hint{color:var(--color-text-muted);font-size:.78rem}.modal-error{color:var(--color-fail);font-size:.78rem}.modal-new-suite{align-items:center;gap:.5rem;display:flex}.modal-new-suite-btn{border:1px dashed var(--color-border);cursor:pointer;color:var(--color-accent);background:0 0;border-radius:4px;padding:4px 10px;font-size:.78rem}.modal-new-suite-btn:hover{border-color:var(--color-accent)}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.5rem;padding:.875rem 1.25rem;display:flex}.exec-history{border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;max-height:280px;overflow-y:auto}.exec-history-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:1;justify-content:space-between;align-items:center;padding:.45rem 1.25rem;display:flex;position:sticky;top:0}.exec-history-header:hover{background:color-mix(in srgb, var(--color-accent) 5%, var(--color-surface))}.exec-history-title{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;display:flex}.exec-history-test-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:400;overflow:hidden}.exec-history-count{color:var(--color-text-muted);font-size:.7rem}.exec-history-body{padding:.5rem 1.25rem}.exec-history-empty{color:var(--color-text-muted);padding:.5rem 0;font-size:.78rem}.exec-runs-table{border-collapse:collapse;width:100%;font-size:.76rem}.exec-runs-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);padding:4px 8px;font-size:.68rem;font-weight:600}.exec-run-row{cursor:pointer;border-bottom:1px solid color-mix(in srgb, var(--color-border) 40%, transparent)}.exec-run-row td{padding:5px 8px}.exec-run-row:hover{background:color-mix(in srgb, var(--color-accent) 5%, transparent)}.exec-run-row--expanded{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.exec-device{color:var(--color-text-muted);font-size:.72rem}.exec-status{border-radius:3px;align-items:center;gap:3px;padding:1px 5px;font-size:.72rem;font-weight:600;display:inline-flex}.exec-status--passed{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.exec-status--passed_healed{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 12%, transparent)}.exec-status--failed{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.exec-status--error{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent)}.exec-step-counts{font-size:.72rem}.exec-step-fail{color:var(--color-fail);margin-left:4px}.exec-detail-row td{background:color-mix(in srgb, var(--color-bg) 60%, transparent);padding:0!important}.run-detail{padding:.5rem .75rem}.run-detail-empty{color:var(--color-text-muted);padding:.25rem;font-size:.75rem}.run-detail-table{border-collapse:collapse;width:100%;font-size:.73rem}.run-detail-table th{color:var(--color-text-muted);text-transform:uppercase;text-align:left;border-bottom:1px solid var(--color-border);padding:3px 6px;font-size:.65rem;font-weight:600}.run-step-row td{padding:3px 6px}.run-step-row--not_found{background:color-mix(in srgb, var(--color-fail) 5%, transparent)}.run-step-row--error{background:color-mix(in srgb, var(--color-warning) 5%, transparent)}.run-step-type{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.68rem}.run-step-badge{font-size:.65rem;font-weight:700;font-family:var(--font-mono);border-radius:3px;padding:1px 4px}.run-step-badge--ok{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.run-step-badge--not_found{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.run-step-badge--passed_healed{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 12%, transparent)}.run-step-badge--error{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent)}.run-step-matched{font-family:var(--font-mono);color:var(--color-accent);font-size:.68rem}.run-step-detail{color:var(--color-text-muted);font-size:.7rem}.run-step-healhint{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-purple) 25%, transparent);border-radius:3px;margin-left:4px;padding:1px 5px;font-size:.68rem}.monaco-view{border-top:1px solid var(--color-border);background:var(--color-surface)}.monaco-view-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.monaco-view-header:hover{background:color-mix(in srgb, var(--color-accent) 5%, var(--color-surface))}.monaco-view-title{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.monaco-copy-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);background:0 0;border-radius:3px;padding:2px 8px;font-size:.68rem}.monaco-copy-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.monaco-view-body{border-top:1px solid var(--color-border)}.monaco-loading{color:var(--color-text-muted);text-align:center;padding:1rem;font-size:.78rem}.app-shell{height:100vh;min-height:unset;flex-direction:row;display:flex;overflow:hidden}.app-workspace{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sidebar{background:color-mix(in srgb, var(--color-surface) 95%, var(--color-bg));border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:48px;transition:width .18s;display:flex;overflow:hidden}.sidebar--expanded{width:200px}.sidebar-logo{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;padding:.75rem 0;display:flex}.sidebar-logo-text{letter-spacing:-.03em;color:var(--color-accent);white-space:nowrap;font-size:1rem;font-weight:800}.sidebar-logo-icon{color:var(--color-accent);font-size:1.1rem;font-weight:800}.sidebar-nav{flex:1;margin:0;padding:.5rem 0;list-style:none}.sidebar-item{cursor:pointer;width:100%;color:var(--color-text-muted);text-align:left;white-space:nowrap;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.82rem;font-weight:500;transition:background .1s,color .1s;display:flex;position:relative}.sidebar-item:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-text)}.sidebar-item--active{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-text);border-left-color:var(--color-accent)}.sidebar-item-icon{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.sidebar-item-label{text-overflow:ellipsis;overflow:hidden}.sidebar-toggle{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);background:0 0;border-radius:4px;flex-shrink:0;margin:.5rem auto;padding:.3rem .75rem;font-size:.75rem;font-weight:700}.sidebar-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.app-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1.25rem;display:flex}.app-topbar-left{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.app-active-test--unsaved{background:color-mix(in srgb, var(--color-warning) 10%, transparent);border-color:color-mix(in srgb, var(--color-warning) 30%, transparent);color:var(--color-warning)}.app-tab-area{flex:1;min-height:0;display:flex;overflow:hidden}.mirror-outer{flex-direction:column;flex-shrink:0;flex-basis:auto;max-width:min(60%,900px);display:flex;overflow:hidden}.mirror-outer--hidden{display:none!important}.app-tab-area--landscape .mirror-outer{max-width:min(50%,700px)}.app-tab-area--landscape .tab-content--record{min-width:380px}.mirror-landscape-badge{background:color-mix(in srgb, var(--color-warning) 15%, transparent);color:var(--color-warning);border:1px solid color-mix(in srgb, var(--color-warning) 30%, transparent);white-space:nowrap;border-radius:10px;padding:1px 6px;font-size:.68rem}.tab-content{flex:1;min-width:0;overflow-y:auto}.tab-content--record{flex-direction:column;gap:0;display:flex;overflow-y:auto}.tab-content--execution{flex-direction:column;display:flex;overflow-y:auto}.tab-content--full{overflow-y:auto}.tab-content--hidden{display:none}.test-cases-tab{flex-direction:column;height:100%;display:flex;overflow:hidden}.tcl-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem .75rem;display:flex}.tcl-title{margin:0;font-size:1.1rem;font-weight:700}.tcl-header-actions{align-items:center;gap:.5rem;display:flex}.tcl-body{flex:1;display:flex;overflow:hidden}.tcl-suite-panel{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.tcl-suite-tree-header{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:.5rem .75rem}.tcl-all-btn{cursor:pointer;color:var(--color-text-muted);text-align:left;background:0 0;border:none;border-radius:3px;width:100%;padding:3px 6px;font-size:.8rem}.tcl-all-btn:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-text)}.tcl-all-btn--active{color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 10%, transparent);font-weight:600}.tcl-suite-tree{flex:1;padding:.25rem 0;overflow-y:auto}.tcl-suite-row{border-left:2px solid #0000;align-items:center;gap:2px;padding:2px 6px;display:flex}.tcl-suite-row:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent)}.tcl-suite-row--selected{background:color-mix(in srgb, var(--color-accent) 12%, transparent);border-left-color:var(--color-accent)}.tcl-suite-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;padding:0 3px;font-size:.68rem;line-height:1}.tcl-suite-name{cursor:pointer;text-align:left;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:2px 0;font-size:.8rem;overflow:hidden}.tcl-suite-name:hover{color:var(--color-accent)}.tcl-suite-count{color:var(--color-text-muted);font-size:.68rem;font-weight:400}.tcl-suite-actions{gap:2px;display:none}.tcl-suite-row:hover .tcl-suite-actions{display:flex}.tcl-action-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 4px;font-size:.65rem}.tcl-action-btn:hover{border-color:var(--color-border);color:var(--color-text)}.tcl-action-btn--danger:hover{color:var(--color-fail);border-color:var(--color-fail)}.tcl-action-btn--save{color:var(--color-ok)}.tcl-rename-input{background:var(--color-bg);border:1px solid var(--color-accent);color:var(--color-text);border-radius:3px;outline:none;flex:1;min-width:0;padding:1px 4px;font-size:.78rem}.tcl-new-suite-form{align-items:center;gap:3px;padding:3px 6px;display:flex}.tcl-new-suite-form--root{border-top:1px solid var(--color-border);padding:6px 8px}.tcl-grid-panel{flex:1;padding:0;overflow-y:auto}.tcl-empty{color:var(--color-text-muted);padding:2rem 1.5rem;font-size:.85rem;line-height:1.6}.tcl-table{border-collapse:collapse;width:100%;font-size:.82rem}.tcl-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:2px solid var(--color-border);background:var(--color-surface);z-index:1;padding:.5rem .875rem;font-size:.7rem;font-weight:700;position:sticky;top:0}.tcl-th-check{width:36px}.tcl-row{cursor:pointer;border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);transition:background .1s}.tcl-row td{padding:.5rem .875rem}.tcl-row:hover{background:color-mix(in srgb, var(--color-accent) 5%, transparent)}.tcl-row--active{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.tcl-td-check,.tcl-th-check{text-align:center}.tcl-td-name{align-items:center;gap:6px;font-weight:500;display:flex}.tcl-test-icon{flex-shrink:0}.tcl-td-suite{color:var(--color-text-muted);font-size:.78rem}.tcl-td-date{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem}.tcl-td-handle{text-align:center;width:24px}.tcl-td-actions{text-align:right;width:36px;position:relative}.tcl-drag-handle{cursor:grab;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;opacity:0;padding:0 4px;font-size:.85rem;line-height:1;transition:opacity .1s;display:inline-block}.tcl-row:hover .tcl-drag-handle{opacity:1}.tcl-row--dragging{opacity:.4}.tcl-suite-drop-over .tcl-suite-row{background:color-mix(in srgb, var(--color-cyan) 15%, transparent)!important;border-left:3px solid var(--color-cyan)!important}.tcl-drag-ghost{background:var(--color-surface);border:1px solid var(--color-accent);white-space:nowrap;color:var(--color-text);border-radius:5px;padding:6px 12px;font-size:.82rem;box-shadow:0 4px 16px #0006}.tcl-menu-btn{cursor:pointer;color:var(--color-text-muted);opacity:0;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:1rem;line-height:1;transition:opacity .1s}.tcl-row:hover .tcl-menu-btn,.tcl-menu-btn--open{opacity:1}.tcl-menu-btn:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-text)}.tcl-context-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:200;min-width:150px;padding:4px 0;position:absolute;top:calc(100% + 2px);right:0;box-shadow:0 4px 16px #00000059}.tcl-cm-item{text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;padding:.4rem .875rem;font-size:.8rem;display:block}.tcl-cm-item:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.tcl-cm-item--danger{color:var(--color-fail)}.tcl-cm-item--danger:hover{background:color-mix(in srgb, var(--color-fail) 8%, transparent)}.tcl-cm-divider{background:var(--color-border);height:1px;margin:4px 0}.tcl-move-suite-list{border:1px solid var(--color-border);border-radius:4px;flex-direction:column;gap:2px;max-height:280px;padding:4px 0;display:flex;overflow-y:auto}.tcl-move-suite-item{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:.4rem .875rem;font-size:.82rem;display:flex}.tcl-move-suite-item:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent)}.tcl-move-suite-item--selected{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.tcl-move-suite-item input[type=radio]{accent-color:var(--color-accent);flex-shrink:0}.tcl-status{border-radius:3px;align-items:center;gap:3px;padding:1px 6px;font-size:.75rem;font-weight:600;display:inline-flex}.tcl-status--passed{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.tcl-status--failed{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.tcl-status--passed_healed{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 12%, transparent)}.tcl-status--error{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent)}.tcl-status--none{color:var(--color-text-muted);background:0 0}.tcl-tag{background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-accent);border:1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);border-radius:3px;align-items:center;gap:2px;margin-right:3px;padding:1px 5px;font-size:.65rem;display:inline-flex}.tcl-tag--editable{background:color-mix(in srgb, var(--color-accent) 15%, transparent)}.tcl-tag-remove{cursor:pointer;color:var(--color-accent);opacity:.7;background:0 0;border:none;padding:0 0 0 2px;font-size:.7rem;line-height:1}.tcl-tag-remove:hover{opacity:1}.tcl-tags-display{cursor:pointer;flex-wrap:wrap;align-items:center;gap:2px;min-height:20px;display:flex}.tcl-tags-display:hover{opacity:.75}.tcl-tags-add-hint{color:var(--color-subtext);font-size:.65rem;font-style:italic}.tcl-tag-filter-bar{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 80%, var(--color-bg));flex-wrap:wrap;align-items:center;gap:.35rem;padding:.3rem .875rem .35rem;display:flex}.tcl-tag-filter-label{color:var(--color-text-muted);flex-shrink:0;font-size:.7rem}.tcl-tag-filter-chip{cursor:pointer;background:color-mix(in srgb, var(--color-border) 50%, transparent);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:10px;padding:1px 8px;font-size:.68rem;transition:background .1s,color .1s}.tcl-tag-filter-chip:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);border-color:var(--color-accent)}.tcl-tag-filter-chip--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);font-weight:600}.tag-input-wrap{border:1px solid var(--color-accent);background:var(--color-bg);border-radius:4px;flex-wrap:wrap;align-items:center;gap:3px;padding:2px 4px;display:flex}.tag-input-wrap--inline{min-height:24px}.tag-inline-input{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;min-width:60px;font-size:.72rem}.tag-input-dropdown{z-index:300;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;max-height:180px;padding:.2rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0003}.tag-input-dropdown-item{cursor:pointer;text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;padding:.25rem .6rem;font-size:.75rem;display:block}.tag-input-dropdown-item:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.tag-input-dropdown-item--new{color:var(--color-accent);font-style:italic}.modal-input--tag{flex:1;min-width:80px;background:0 0!important;border:none!important;outline:none!important;padding:2px 4px!important;font-size:.82rem!important}.modal-field .tag-input-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);min-height:36px;padding:4px 6px}.modal-field .tag-input-wrap:focus-within{border-color:var(--color-accent)}.bulk-tag-popover{z-index:200;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:.35rem;min-width:220px;padding:.6rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #00000040}.bulk-tag-label{color:var(--color-text-muted);font-size:.72rem}.bulk-tag-input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:4px;padding:.3rem .5rem;font-size:.8rem}.bulk-tag-suggestion{cursor:pointer;background:color-mix(in srgb, var(--color-accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);color:var(--color-accent);text-align:left;border-radius:10px;padding:2px 8px;font-size:.72rem}.bulk-tag-suggestion:hover{background:color-mix(in srgb, var(--color-accent) 20%, transparent)}.bulk-tag-suggestion--remove{background:color-mix(in srgb, var(--color-fail) 10%, transparent);border-color:color-mix(in srgb, var(--color-fail) 25%, transparent);color:var(--color-fail)}.bulk-tag-suggestion--remove:hover{background:color-mix(in srgb, var(--color-fail) 20%, transparent)}.exec-tab{flex-direction:column;height:100%;padding:0;display:flex;overflow:hidden}.exec-queue-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:1rem;padding:.875rem 1.25rem;display:flex}.exec-queue-chips{flex-wrap:wrap;flex:1;align-items:center;gap:.4rem;display:flex}.exec-queue-empty{color:var(--color-text-muted);font-size:.8rem;font-style:italic}.exec-queue-chip{background:color-mix(in srgb, var(--color-border) 50%, transparent);border:1px solid var(--color-border);color:var(--color-text);white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;display:inline-flex}.exec-queue-chip--running{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-accent)}.exec-queue-chip--passed{border-color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 10%, transparent);color:var(--color-ok)}.exec-queue-chip--failed{border-color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 10%, transparent);color:var(--color-fail)}.exec-queue-chip--stopped{border-color:var(--color-text-muted);color:var(--color-text-muted)}.exec-chip-remove{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0 0 0 2px;font-size:.65rem;line-height:1}.exec-chip-remove:hover{color:var(--color-fail)}.exec-add-btn{border:1px dashed var(--color-border);cursor:pointer;color:var(--color-text-muted);background:0 0;border-radius:12px;padding:3px 10px;font-size:.72rem}.exec-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.exec-controls{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.exec-ctrl-btn{cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:5px;padding:.4rem .875rem;font-size:.8rem;font-weight:600;transition:background .1s}.exec-ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.exec-ctrl-btn:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.exec-ctrl-btn--play{background:var(--color-ok);color:#fff;border-color:var(--color-ok)}.exec-ctrl-btn--play:hover:not(:disabled){background:color-mix(in srgb, var(--color-ok) 85%, #000)}.exec-ctrl-btn--pause{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}.exec-ctrl-btn--stop{background:var(--color-fail);color:#fff;border-color:var(--color-fail)}.exec-picker{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:100;max-height:300px;margin:0 1.25rem;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000004d}.exec-queue-header{position:relative}.exec-picker-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;padding:.5rem .875rem;font-size:.78rem;font-weight:600;display:flex;position:sticky;top:0}.exec-picker-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:.8rem}.exec-picker-item{text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;padding:.45rem .875rem;font-size:.8rem;display:block}.exec-picker-item:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.exec-picker-empty{color:var(--color-text-muted);padding:.75rem .875rem;font-size:.78rem}.exec-progress-bar-outer{background:color-mix(in srgb, var(--color-border) 60%, transparent);flex-shrink:0;height:6px;margin:0;position:relative}.exec-progress-bar-inner{background:var(--color-accent);height:100%;transition:width .3s}.exec-progress-label{color:var(--color-text-muted);font-size:.72rem;position:absolute;top:8px;left:1.25rem}.exec-no-device{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 8%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-warning) 25%, transparent);flex-shrink:0;padding:.75rem 1.25rem;font-size:.82rem}.exec-live-panels{flex-direction:column;flex:1;gap:.75rem;min-height:0;margin-top:1.25rem;padding:.75rem 1.25rem 1.25rem;display:flex;overflow-y:auto}.exec-live-panel{border:1px solid var(--color-border);border-radius:var(--radius);flex-shrink:0;overflow:hidden}.exec-live-panel.exec-panel--running{border-color:var(--color-accent)}.exec-live-panel.exec-panel--passed{border-color:color-mix(in srgb, var(--color-ok) 50%, transparent)}.exec-live-panel.exec-panel--failed{border-color:color-mix(in srgb, var(--color-fail) 50%, transparent)}.exec-panel-header{cursor:pointer;background:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.5rem .875rem;display:flex}.exec-panel-chevron{color:var(--color-text-muted);font-size:.65rem}.exec-panel-name{flex:1;font-size:.82rem;font-weight:500}.exec-panel-count{color:var(--color-text-muted);font-size:.72rem}.exec-panel-badge{border-radius:3px;padding:1px 5px;font-size:.68rem;font-weight:700}.exec-panel-badge--passed{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.exec-panel-badge--failed{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.exec-panel-badge--stopped{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-border) 50%, transparent)}.exec-panel-badge--pending{color:var(--color-text-muted)}.exec-step-list{border-top:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);margin:0;padding:.25rem 0;list-style:none}.exec-step-row{align-items:center;gap:.5rem;padding:.2rem .875rem;font-size:.76rem;display:flex}.exec-step-row--ok{background:color-mix(in srgb, var(--color-ok) 4%, transparent)}.exec-step-row--not_found{background:color-mix(in srgb, var(--color-fail) 5%, transparent)}.exec-step-row--error{background:color-mix(in srgb, var(--color-warning) 5%, transparent)}.exec-step-row--executing{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.exec-step-row--pending{opacity:.45}.exec-step-num{color:var(--color-text-muted);text-align:right;min-width:18px;font-size:.65rem}.exec-step-type{font-family:var(--font-mono);color:var(--color-text-muted);flex-shrink:0;font-size:.7rem}.exec-step-desc{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.exec-step-badge{font-size:.65rem;font-weight:700;font-family:var(--font-mono);border-radius:2px;flex-shrink:0;align-items:center;gap:2px;padding:0 4px;display:flex}.exec-step-badge--ok{color:var(--color-ok)}.exec-step-badge--not_found{color:var(--color-fail)}.exec-step-badge--error{color:var(--color-warning)}.exec-step-matched{color:var(--color-text-muted);font-size:.62rem;font-weight:400}.exec-step-spinner{width:.55rem;height:.55rem}.exec-chip-spinner{border:2px solid color-mix(in srgb, var(--color-accent) 30%, transparent);border-top-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem;animation:.7s linear infinite spin;display:inline-block}.exec-done-banner{border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.82rem;display:flex}.reports-tab{flex-direction:column;height:100%;display:flex;overflow:hidden}.rep-confirm-overlay{z-index:500;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rep-confirm-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:420px;max-width:90vw;padding:1.5rem;box-shadow:0 8px 32px #0000004d}.rep-confirm-box--danger{border-color:var(--color-fail)}.rep-confirm-title{margin-bottom:.5rem;font-size:1rem;font-weight:700}.rep-confirm-body{color:var(--color-text-muted);margin-bottom:1rem;font-size:.85rem;line-height:1.5}.rep-confirm-actions{justify-content:flex-end;gap:.5rem;display:flex}.rep-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.rep-th-sortable:hover{color:var(--color-accent)}.rep-sort-icon{opacity:.5;margin-left:3px;font-size:.7rem}.rep-sort-icon--off{opacity:.3}.rep-th-check{text-align:center;width:32px;padding:.5rem .25rem}.rep-td-check{text-align:center;width:32px;padding:.25rem}.rep-run-row--checked td{background:color-mix(in srgb, var(--color-accent) 5%, transparent)!important}.rep-delete-btn{cursor:pointer;color:var(--color-text-muted);opacity:0;background:0 0;border:none;border-radius:3px;padding:1px 5px;font-size:.72rem;transition:opacity .1s}.rep-run-row:hover .rep-delete-btn{opacity:1}.rep-delete-btn:hover{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 10%, transparent)}.rep-tag-filter-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.35rem;padding:.3rem 1.5rem;display:flex}.rep-tag-filter-label{color:var(--color-text-muted);font-size:.7rem}.rep-tag-filter-chip{cursor:pointer;background:color-mix(in srgb, var(--color-border) 50%, transparent);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:10px;padding:1px 8px;font-size:.68rem;transition:background .1s,color .1s}.rep-tag-filter-chip:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);border-color:var(--color-accent)}.rep-tag-filter-chip--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);font-weight:600}.rep-groups-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;gap:.4rem;padding:.4rem 1.5rem;display:flex}.rep-group-chip{cursor:pointer;border:1px solid var(--gc,var(--color-accent));background:color-mix(in srgb, var(--gc,var(--color-accent)) 10%, transparent);color:var(--gc,var(--color-accent));border-radius:12px;align-items:center;gap:.35rem;padding:.22rem .6rem .22rem .45rem;font-size:.75rem;transition:opacity .1s;display:flex}.rep-group-chip--active{background:color-mix(in srgb, var(--gc,var(--color-accent)) 22%, transparent);font-weight:700}.rep-group-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.rep-group-count{opacity:.7;font-size:.65rem}.rep-group-delete{cursor:pointer;color:currentColor;opacity:.5;background:0 0;border:none;padding:0;font-size:.65rem}.rep-group-delete:hover{opacity:1}.rep-group-badge{vertical-align:middle;border:1px solid;border-radius:3px;margin-right:4px;padding:0 5px;font-size:.6rem;display:inline-block}.rep-bulk-bar{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));border-bottom:1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;padding:.4rem 1.5rem;display:flex}.rep-bulk-label{color:var(--color-accent);font-size:.8rem;font-weight:600}.rep-delete-filtered-bar{flex-shrink:0;padding:.2rem 1.5rem}.rep-delete-filtered-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:.72rem;text-decoration:underline}.rep-delete-filtered-btn:hover{color:var(--color-fail)}.rep-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem .75rem;display:flex}.sidebar-spacer{flex:1}.sidebar-nav--bottom{border-top:1px solid var(--color-border);margin-bottom:0;padding-top:4px}.tab-content--settings{overflow-y:auto}.fn-tab{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.fn-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-end;gap:.5rem;padding:1rem 1.5rem .75rem;display:flex}.fn-title{flex:1;font-size:1.2rem;font-weight:700}.fn-subtitle{color:var(--color-text-muted);width:100%;margin-top:-.3rem;font-size:.8rem}.fn-new-btn{margin-left:auto}.fn-body{flex:1;display:flex;overflow:hidden}.fn-list-panel{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow-y:auto}.fn-search{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);margin:.5rem;padding:.35rem .6rem;font-size:.8rem}.fn-search:focus{border-color:var(--color-accent);outline:none}.fn-empty{color:var(--color-text-muted);padding:.75rem;font-size:.8rem}.fn-list{padding:.25rem 0;list-style:none}.fn-list-item{cursor:pointer;width:100%;color:var(--color-text-muted);text-align:left;background:0 0;border:none;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;transition:background .1s;display:flex}.fn-list-item:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-text)}.fn-list-item--active{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);font-weight:600}.fn-list-icon{flex-shrink:0}.fn-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fn-list-meta{color:var(--color-subtext);font-size:.65rem}.fn-detail-panel{flex:1;padding:1rem 1.5rem;overflow-y:auto}.fn-detail-empty{color:var(--color-text-muted);text-align:center;padding:2rem;font-size:.85rem}.fn-detail-header{margin-bottom:.75rem}.fn-detail-title-row{align-items:center;gap:.75rem;display:flex}.fn-detail-title{font-size:1.05rem;font-weight:700}.fn-detail-actions{gap:.35rem;display:flex}.fn-action-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);background:0 0;border-radius:4px;padding:.2rem .55rem;font-size:.72rem;transition:background .1s}.fn-action-btn:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-text)}.fn-action-btn--danger:hover{background:color-mix(in srgb, var(--color-fail) 10%, transparent);color:var(--color-fail);border-color:var(--color-fail)}.fn-rename-row{align-items:center;gap:.4rem;display:flex}.fn-rename-input{border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);flex:1;padding:.35rem .6rem;font-size:.92rem}.fn-desc{color:var(--color-text-muted);cursor:pointer;margin:.35rem 0 .25rem;font-size:.82rem}.fn-desc--empty{color:var(--color-subtext);font-style:italic}.fn-desc:hover{color:var(--color-text)}.fn-desc-edit{gap:.4rem;margin:.25rem 0;display:flex}.fn-desc-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);flex:1;padding:.3rem .6rem;font-size:.82rem}.fn-stats{gap:.4rem;margin-top:.3rem;display:flex}.fn-stat-chip{background:color-mix(in srgb, var(--color-border) 50%, transparent);color:var(--color-text-muted);border-radius:10px;padding:1px 7px;font-size:.68rem}.fn-section{margin-top:1.25rem}.fn-section-header{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.fn-section-title{font-size:.85rem;font-weight:700}.fn-section-add-btn{border:1px dashed var(--color-border);cursor:pointer;color:var(--color-text-muted);background:0 0;border-radius:4px;padding:.15rem .5rem;font-size:.72rem}.fn-section-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.fn-section-hint{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.75rem}.fn-empty-inline{color:var(--color-subtext);font-size:.78rem}.fn-param-row{background:color-mix(in srgb, var(--color-border) 20%, transparent);border-radius:4px;align-items:center;gap:.5rem;margin:.2rem 0;padding:.3rem .5rem;display:flex}.fn-param-name code{color:var(--color-purple);font-size:.78rem}.fn-param-desc{color:var(--color-text-muted);flex:1;font-size:.75rem}.fn-param-default{color:var(--color-subtext);font-size:.7rem}.fn-param-remove{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;margin-left:auto;font-size:.7rem}.fn-param-remove:hover{color:var(--color-fail)}.fn-add-param-form{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.fn-param-input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:4px;min-width:100px;padding:.3rem .55rem;font-size:.78rem}.fn-steps-editor{flex-direction:column;gap:.4rem;display:flex}.fn-section--usage{border-top:1px solid var(--color-border);padding-top:1rem}.fn-usage-text{color:var(--color-text-muted);margin-bottom:.4rem;font-size:.82rem}.fn-usage-block{background:var(--color-bg-deep);border-radius:var(--radius);padding:.75rem}.fn-usage-code code{font-family:var(--font-mono);color:var(--color-text-bright);font-size:.78rem;display:block}.fn-create-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fn-create-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:.75rem;width:400px;padding:1.5rem;display:flex}.fn-modal-title{font-size:1rem;font-weight:700}.fn-modal-label{color:var(--color-text-muted);font-size:.78rem}.fn-modal-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:.45rem .6rem;font-size:.88rem}.fn-modal-input:focus{border-color:var(--color-accent);outline:none}.fn-modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.fn-toast{background:var(--color-surface-2);color:var(--color-text);z-index:2000;border-radius:20px;padding:.5rem 1.2rem;font-size:.82rem;animation:.2s ease-out form-appear;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.fn-tree{flex:1;padding:.25rem 0;overflow-y:auto}.fn-folder-header{cursor:pointer;align-items:center;gap:.3rem;padding:.32rem .5rem .32rem 0;display:flex}.fn-folder-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;width:14px;font-size:.65rem}.fn-folder-name{color:var(--color-text);flex:1;font-size:.78rem;font-weight:600}.fn-folder-count{color:var(--color-subtext);font-size:.65rem}.fn-folder-actions{gap:2px;display:none}.fn-folder-header:hover .fn-folder-actions{display:flex}.fn-icon-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;padding:1px 3px;font-size:.65rem}.fn-icon-btn:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-text)}.fn-icon-btn--danger:hover{color:var(--color-fail)}.fn-list-item-wrap{align-items:center;display:flex;position:relative}.fn-list-item-wrap--active .fn-list-item{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);font-weight:600}.fn-list-item-actions{flex-shrink:0;gap:2px;padding-right:4px;display:none}.fn-list-item-wrap:hover .fn-list-item-actions{display:flex}.fn-inline-rename{border:1px solid var(--color-accent);background:var(--color-bg);color:var(--color-text);border-radius:3px;flex:1;padding:.15rem .4rem;font-size:.78rem}.fn-edit-steps-hint{background:color-mix(in srgb, var(--color-purple) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-purple) 25%, transparent);border-radius:var(--radius);color:var(--color-text);margin:.5rem 0 1rem;padding:.6rem .875rem;font-size:.8rem}.fn-edit-banner{background:color-mix(in srgb, var(--color-purple) 18%, var(--color-surface));border-bottom:3px solid var(--color-purple);border-top:3px solid var(--color-purple);flex-wrap:wrap;align-items:center;gap:.7rem;padding:.7rem 1rem;animation:2.5s ease-in-out infinite fn-banner-pulse;display:flex}@keyframes fn-banner-pulse{0%,to{border-color:var(--color-purple)}50%{border-color:color-mix(in srgb, var(--color-purple) 50%, var(--color-mauve))}}.fn-edit-banner-icon{flex-shrink:0;font-size:1.3rem}.fn-edit-banner-text{color:var(--color-purple);flex:1;min-width:140px;font-size:.9rem;font-weight:600}.fn-edit-banner-text strong{color:var(--color-mauve);font-size:1rem}.fn-edit-save{background:var(--color-purple)!important;border-color:var(--color-purple)!important;color:#fff!important;padding:.4rem 1rem!important;font-size:.82rem!important;font-weight:700!important}.fn-edit-cancel{border:1px solid var(--color-purple)!important;color:var(--color-purple)!important;background:0 0!important;padding:.35rem .75rem!important;font-size:.78rem!important}.fn-edit-cancel:hover{background:color-mix(in srgb, var(--color-purple) 12%, transparent)!important}.fn-picker-dropdown{z-index:200;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-height:260px;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #00000040}.fn-picker-option{cursor:pointer;text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.32rem .75rem;font-size:.8rem;transition:background 80ms;display:flex}.fn-picker-option:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.fn-picker-option--active{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent)}.fn-picker-name{flex:1}.fn-picker-meta{color:var(--color-subtext);font-size:.68rem}.fn-picker-more{color:var(--color-subtext);padding:.3rem .75rem;font-size:.72rem}.fn-edit-steps-btn{background:var(--color-purple);color:#fff;border:2px solid var(--color-purple);border-radius:var(--radius);cursor:pointer;box-shadow:0 2px 8px color-mix(in srgb, var(--color-purple) 40%, transparent);padding:.4rem 1rem;font-size:.82rem;font-weight:700;transition:background .12s}.fn-edit-steps-btn:hover{background:color-mix(in srgb, var(--color-purple) 80%, #000)}.rlp-root{background:var(--color-bg);height:100%;display:flex;overflow:hidden}.rlp-left{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:1.25rem;width:360px;padding:2rem 1.75rem;display:flex;overflow-y:auto}.rlp-logo-row{flex-direction:column;gap:.25rem;display:flex}.rlp-logo{color:var(--color-accent);letter-spacing:-.03em;font-size:1.6rem;font-weight:900}.rlp-tagline{color:var(--color-text-muted);font-size:.85rem}.rlp-connect-btn{background:var(--color-accent);color:#fff;border-radius:var(--radius);cursor:pointer;letter-spacing:.01em;box-shadow:0 4px 16px color-mix(in srgb, var(--color-accent) 35%, transparent);border:none;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;transition:background .12s,transform .1s;display:flex}.rlp-connect-btn:hover{background:color-mix(in srgb, var(--color-accent) 85%, #000);transform:translateY(-1px)}.rlp-connect-icon{font-size:1.1rem}.rlp-steps-title{text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);margin-bottom:.5rem;font-size:.72rem;font-weight:700}.rlp-steps{flex-direction:column;gap:.6rem;display:flex}.rlp-step{align-items:flex-start;gap:.6rem;display:flex}.rlp-step-num{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;margin-top:1px;font-size:.65rem;font-weight:700;display:flex}.rlp-step-text{color:var(--color-text);font-size:.8rem;line-height:1.5}.rlp-browser-note{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-warning) 25%, transparent);border-radius:var(--radius);padding:.45rem .75rem;font-size:.72rem;line-height:1.5}.rlp-right{flex-direction:column;flex:1;gap:1rem;padding:2rem 2.5rem;display:flex;overflow-y:auto}.rlp-features-title{text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);font-size:.72rem;font-weight:700}.rlp-feature-card{border-radius:var(--radius);cursor:default;border:1.5px solid;align-items:flex-start;gap:1rem;min-height:110px;padding:1.25rem 1.5rem;transition:border-color .3s,background .3s;display:flex}.rlp-feature-icon{flex-shrink:0;margin-top:2px;font-size:2rem}.rlp-feature-title{margin-bottom:.4rem;font-size:1rem;font-weight:700}.rlp-feature-body{color:var(--color-text-muted);font-size:.82rem;line-height:1.6}.rlp-dots{justify-content:center;gap:6px;display:flex}.rlp-dot{cursor:pointer;background:var(--color-border);border:none;border-radius:50%;width:7px;height:7px;transition:background .25s,transform .15s}.rlp-dot--active{transform:scale(1.4)}.rlp-dot:hover{background:var(--color-text-muted)}.rlp-mini-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.25rem;display:grid}.rlp-mini-card{border-radius:var(--radius);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);text-align:center;background:0 0;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .3rem;font-size:.65rem;line-height:1.3;transition:background .1s,border-color .1s;display:flex}.rlp-mini-card:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent);border-color:var(--color-accent);color:var(--color-text)}.rlp-mini-card--active{background:color-mix(in srgb, var(--color-accent) 10%, transparent);border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.rlp-mini-icon{font-size:1.1rem}.rlp-mini-label{font-size:.62rem}@media (max-width:900px){.rlp-root{flex-direction:column}.rlp-left{border-right:none;border-bottom:1px solid var(--color-border);width:100%}.rlp-mini-grid{grid-template-columns:repeat(4,1fr)}}.tab-content--wiki{height:100%;display:flex;overflow:hidden}.wiki-page{width:100%;height:100%;display:flex;overflow:hidden}.wiki-nav{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:0;width:240px;display:flex;overflow-y:auto}.wiki-search-wrap{border-bottom:1px solid var(--color-border);padding:.6rem .75rem;position:relative}.wiki-search{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;color:var(--color-text);padding:.35rem 1.8rem .35rem .6rem;font-size:.8rem}.wiki-search:focus{border-color:var(--color-accent);outline:none}.wiki-search-clear{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:.8rem;position:absolute;top:50%;right:1.1rem;transform:translateY(-50%)}.wiki-search-results{padding:.4rem 0;list-style:none}.wiki-search-empty{color:var(--color-text-muted);padding:.5rem .875rem;font-size:.78rem}.wiki-cat{border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent)}.wiki-cat-header{cursor:pointer;width:100%;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.45rem .75rem;font-size:.75rem;font-weight:700;transition:background .1s;display:flex}.wiki-cat-header:hover{background:color-mix(in srgb, var(--color-accent) 6%, transparent);color:var(--color-text)}.wiki-cat-chevron{font-size:.65rem}.wiki-cat-articles{padding:0;list-style:none}.wiki-nav-item{text-align:left;cursor:pointer;width:100%;color:var(--color-text-muted);background:0 0;border:none;padding:.32rem .75rem .32rem 1.1rem;font-size:.78rem;line-height:1.4;transition:background .1s,color .1s;display:block}.wiki-nav-item:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-text)}.wiki-nav-item--active{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);font-weight:600}.wiki-nav-cat{color:var(--color-subtext);margin-bottom:1px;font-size:.65rem;display:block}.wiki-content{flex:1;padding:1.5rem 2rem 2.5rem;overflow-y:auto}.wiki-breadcrumb{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.72rem}.wiki-article-title{color:var(--color-text);border-bottom:2px solid var(--color-border);margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.35rem;font-weight:700}.wiki-article-body{max-width:720px}.wiki-p{color:var(--color-text);margin-bottom:.85rem;font-size:.88rem;line-height:1.7}.wiki-h3{color:var(--color-text);margin:1.4rem 0 .5rem;font-size:.97rem;font-weight:700}.wiki-h4{color:var(--color-text-muted);margin:1rem 0 .4rem;font-size:.87rem;font-weight:600}.wiki-callout{border-radius:var(--radius);margin:.75rem 0;padding:.55rem .875rem;font-size:.83rem;line-height:1.55}.wiki-callout--tip{background:color-mix(in srgb, var(--color-ok) 10%, transparent);color:var(--color-ok);border-left:3px solid var(--color-ok)}.wiki-callout--warn{background:color-mix(in srgb, var(--color-warning) 10%, transparent);color:var(--color-warning);border-left:3px solid var(--color-warning)}.wiki-callout--info{background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-accent);border-left:3px solid var(--color-accent)}.wiki-code{background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-mono);white-space:pre;color:var(--color-text-bright);margin:.75rem 0;padding:.75rem 1rem;font-size:.78rem;line-height:1.6;overflow-x:auto}.wiki-steps{counter-reset:wiki-step;margin:.6rem 0 .75rem 1.2rem;list-style:none}.wiki-steps li{counter-increment:wiki-step;color:var(--color-text);margin-bottom:.4rem;padding-left:.5rem;font-size:.87rem;line-height:1.65;position:relative}.wiki-steps li:before{content:counter(wiki-step);background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;margin-right:.55rem;font-size:.7rem;font-weight:700;display:inline-flex}.wiki-list{margin:.5rem 0 .75rem 1rem;list-style:outside}.wiki-list li{color:var(--color-text);margin-bottom:.25rem;font-size:.87rem;line-height:1.65}.wiki-table-wrap{margin:.75rem 0;overflow-x:auto}.wiki-table{border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius);width:100%;font-size:.82rem;overflow:hidden}.wiki-table th{background:var(--color-surface-2);text-align:left;color:var(--color-subtext);text-transform:uppercase;letter-spacing:.04em;padding:.45rem .75rem;font-size:.72rem;font-weight:600}.wiki-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:top;padding:.45rem .75rem}.wiki-table tr:last-child td{border-bottom:none}.wiki-table tr:hover td{background:color-mix(in srgb, var(--color-accent) 4%, transparent)}.settings-page{flex-direction:column;gap:2rem;max-width:760px;margin:0 auto;padding:2rem 1.5rem 3rem;display:flex}.settings-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted,var(--color-subtext));margin:0 0 .75rem;font-size:.75rem;font-weight:700}.settings-card{background:var(--color-surface,var(--color-bg-deep));border:1px solid var(--color-border,var(--color-surface-2));border-radius:10px;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.settings-field{align-items:center;gap:1rem;display:flex}.settings-label{color:var(--color-text-muted,var(--color-subtext));align-items:center;gap:.5rem;min-width:110px;font-size:.85rem;font-weight:500;display:flex}.settings-label-badge{background:var(--color-surface-2);color:var(--color-subtext);border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:400}.settings-value-static{color:var(--color-text,var(--color-text-bright));font-size:.9rem}.theme-toggle{border:1px solid var(--color-border);border-radius:6px;display:flex;overflow:hidden}.theme-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex:1;padding:.35rem 1rem;font-size:.82rem;font-weight:500;transition:background .12s,color .12s}.theme-btn+.theme-btn{border-left:1px solid var(--color-border)}.theme-btn:hover:not(.theme-btn--active){background:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-text)}.theme-btn--active{background:var(--color-accent);color:#fff;font-weight:700}.settings-input{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));border-radius:6px;outline:none;flex:1;padding:.4rem .7rem;font-size:.9rem;transition:border-color .15s}.settings-input:focus{border-color:var(--color-accent,var(--color-mauve))}.settings-input--disabled{opacity:.4;cursor:not-allowed}.settings-save-row{align-items:center;gap:1rem;display:flex}.settings-save-msg{color:var(--color-green-subtle);font-size:.85rem;animation:.2s fadeIn}.settings-card--actions{flex-direction:column;gap:.75rem;padding:0;overflow:hidden}.settings-action-card{border-bottom:1px solid var(--color-border,var(--color-surface-2));align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.settings-action-card:last-child{border-bottom:none}.settings-action-card--donate{background:linear-gradient(135deg,#cba6f70f 0%,#a6e3a10f 100%)}.settings-action-icon{text-align:center;flex-shrink:0;width:40px;font-size:1.6rem}.settings-action-body{flex:1}.settings-action-body h3{color:var(--color-text,var(--color-text-bright));margin:0 0 .2rem;font-size:.9rem;font-weight:600}.settings-action-body p{color:var(--color-text-muted,var(--color-subtext));margin:0;font-size:.8rem}.btn--donate{background:linear-gradient(135deg, var(--color-mauve), var(--color-green-subtle));color:var(--color-bg-deep);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.45rem 1rem;font-size:.85rem;font-weight:700;text-decoration:none}.btn--donate:hover{opacity:.9}.faq-list{background:var(--color-surface,var(--color-bg-deep));border:1px solid var(--color-border,var(--color-surface-2));border-radius:10px;overflow:hidden}.faq-item{border-bottom:1px solid var(--color-border,var(--color-surface-2))}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;color:var(--color-text,var(--color-text-bright));cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.9rem 1.25rem;font-size:.88rem;font-weight:500;transition:background .1s;display:flex}.faq-question:hover{background:#ffffff0a}.faq-item--open .faq-question{color:var(--color-accent,var(--color-mauve));background:#cba6f70d}.faq-arrow{color:var(--color-text-muted,var(--color-subtext));flex-shrink:0;font-size:.8rem;transition:color .1s}.faq-item--open .faq-arrow{color:var(--color-accent,var(--color-mauve))}.faq-answer{flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem 2.5rem;display:flex}.faq-line{color:var(--color-text-muted,var(--color-subtext));margin:.15rem 0;font-size:.83rem;line-height:1.55}.faq-line--indent{border-left:2px solid var(--color-border,var(--color-surface-2));color:var(--color-subtext);padding-left:.5rem}.support-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.support-modal{background:var(--color-surface,var(--color-bg-deep));border:1px solid var(--color-border,var(--color-surface-2));border-radius:12px;flex-direction:column;width:100%;max-width:540px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000080}.support-modal-header{border-bottom:1px solid var(--color-border,var(--color-surface-2));flex-shrink:0;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;display:flex}.support-modal-header h2{color:var(--color-text,var(--color-text-bright));margin:0;font-size:1rem;font-weight:600}.support-close{color:var(--color-text-muted,var(--color-subtext));cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:1rem}.support-close:hover{color:var(--color-text,var(--color-text-bright));background:#ffffff14}.support-form{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.support-field{flex-direction:column;gap:.35rem;display:flex}.support-label{color:var(--color-text-muted,var(--color-subtext));align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.support-label-hint{font-size:.75rem;font-weight:400}.support-select,.support-input,.support-textarea{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));border-radius:6px;outline:none;padding:.45rem .75rem;font-family:inherit;font-size:.88rem;transition:border-color .15s}.support-select:focus,.support-input:focus,.support-textarea:focus{border-color:var(--color-accent,var(--color-mauve))}.support-textarea{resize:vertical;min-height:120px}.support-file-btn{border:1px dashed var(--color-accent,var(--color-mauve));color:var(--color-accent,var(--color-mauve));cursor:pointer;background:#cba6f71a;border-radius:6px;align-items:center;gap:.5rem;width:-moz-fit-content;width:fit-content;padding:.4rem .9rem;font-size:.83rem;display:inline-flex}.support-file-btn:hover{background:#cba6f72e}.support-file-list{flex-direction:column;gap:4px;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.support-file-item{background:#ffffff0a;border-radius:5px;align-items:center;gap:.5rem;padding:.3rem .6rem;font-size:.8rem;display:flex}.support-file-name{color:var(--color-text,var(--color-text-bright));text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.support-file-size{color:var(--color-text-muted,var(--color-subtext));flex-shrink:0}.support-file-remove{color:var(--color-red-subtle);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.75rem}.support-file-note{color:var(--color-text-muted,var(--color-subtext));margin:.4rem 0 0;font-size:.75rem;font-style:italic}.support-actions{justify-content:flex-end;gap:.75rem;padding-top:.25rem;display:flex}.support-success{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;display:flex}.support-success-icon{color:var(--color-green-subtle);background:#a6e3a11f;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:2.5rem;display:flex}.support-success h3{color:var(--color-text,var(--color-text-bright));margin:0;font-size:1rem}.support-success p{color:var(--color-text-muted,var(--color-subtext));margin:0;font-size:.85rem}.support-success-email{font-size:.8rem!important}.sef-info{color:var(--color-text-muted,var(--color-subtext));margin:0;padding:.25rem 0;font-size:.78rem;font-style:italic}.sef-unmask-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;padding:.15rem .5rem;font-size:.72rem}.sef-unmask-btn:hover{border-color:var(--color-warning);color:var(--color-warning)}.sef-info code{background:#ffffff14;border-radius:3px;padding:1px 4px;font-family:monospace;font-size:.75rem;font-style:normal}.cmd-btn--print{color:var(--color-sky);background:#89dceb1f;border-color:#89dceb4d}.cmd-btn--print:hover{background:#89dceb38}.rep-title{margin:0;font-size:1.1rem;font-weight:700}.rep-summary{align-items:center;gap:.4rem;display:flex}.rep-summary-chip{border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}.rep-summary-chip--total{background:color-mix(in srgb, var(--color-border) 60%, transparent);color:var(--color-text-muted)}.rep-summary-chip--passed{background:color-mix(in srgb, var(--color-ok) 12%, transparent);color:var(--color-ok)}.rep-summary-chip--failed{background:color-mix(in srgb, var(--color-fail) 12%, transparent);color:var(--color-fail)}.rep-summary-chip--healed{background:color-mix(in srgb, var(--color-purple) 12%, transparent);color:var(--color-purple)}.rep-filters{border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;padding:.6rem 1.5rem;display:flex}.rep-filter-input{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;outline:none;width:220px;padding:.35rem .6rem;font-size:.82rem}.rep-filter-input:focus{border-color:var(--color-accent)}.rep-filter-select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;outline:none;padding:.35rem .6rem;font-size:.82rem}.rep-filter-select:focus{border-color:var(--color-accent)}.rep-filter-clear{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;padding:.3rem .5rem;font-size:.78rem}.rep-filter-clear:hover{background:color-mix(in srgb, var(--color-fail) 10%, transparent);color:var(--color-fail)}.rep-filter-count{color:var(--color-text-muted);margin-left:auto;font-size:.75rem}.rep-empty{color:var(--color-text-muted);padding:2rem 1.5rem;font-size:.85rem;line-height:1.6}.rep-table-wrapper{flex:1;overflow-y:auto}.rep-table{border-collapse:collapse;width:100%;font-size:.8rem}.rep-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:2px solid var(--color-border);background:var(--color-surface);z-index:1;padding:.5rem .875rem;font-size:.7rem;font-weight:700;position:sticky;top:0}.rep-run-row{cursor:pointer;border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent)}.rep-run-row td{padding:.5rem .875rem}.rep-run-row:hover{background:color-mix(in srgb, var(--color-accent) 5%, transparent)}.rep-run-row--expanded{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.rep-run-row--failed td:first-child{border-left:3px solid var(--color-fail)}.rep-run-row--passed td:first-child{border-left:3px solid var(--color-ok)}.rep-run-row--passed_healed td:first-child{border-left:3px solid var(--color-purple)}.rep-td-date{white-space:nowrap;color:var(--color-text-muted);font-size:.75rem}.rep-td-name{font-weight:500}.rep-td-device,.rep-td-android{color:var(--color-text-muted);font-size:.75rem}.rep-td-duration{white-space:nowrap;color:var(--color-text-muted);font-size:.75rem}.rep-status{border-radius:3px;align-items:center;gap:3px;padding:2px 6px;font-size:.75rem;font-weight:600;display:inline-flex}.rep-status--passed{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.rep-status--passed_healed{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 12%, transparent)}.rep-status--failed{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.rep-status--error{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent)}.rep-steps{font-size:.75rem}.rep-steps-fail{color:var(--color-fail);margin-left:4px}.rep-detail-row td{background:color-mix(in srgb, var(--color-bg) 60%, transparent);padding:0!important}.rep-detail{padding:.5rem 1rem}.rep-detail-empty{color:var(--color-text-muted);padding:.5rem;font-size:.75rem}.rep-detail-table{border-collapse:collapse;width:100%;font-size:.73rem}.rep-detail-table th{color:var(--color-text-muted);text-transform:uppercase;text-align:left;border-bottom:1px solid var(--color-border);padding:3px 6px;font-size:.65rem;font-weight:600}.rep-step-row td{padding:3px 6px}.rep-step-row--not_found{background:color-mix(in srgb, var(--color-fail) 5%, transparent)}.rep-step-row--error{background:color-mix(in srgb, var(--color-warning) 5%, transparent)}.rep-step-type{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.68rem}.rep-step-badge{font-size:.65rem;font-weight:700;font-family:var(--font-mono);border-radius:3px;padding:1px 4px}.rep-step-badge--ok{color:var(--color-ok);background:color-mix(in srgb, var(--color-ok) 12%, transparent)}.rep-step-badge--not_found{color:var(--color-fail);background:color-mix(in srgb, var(--color-fail) 12%, transparent)}.rep-step-badge--passed_healed{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 12%, transparent)}.rep-step-badge--error{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent)}.rep-step-matched{font-family:var(--font-mono);color:var(--color-accent);font-size:.68rem}.rep-td-tags{white-space:nowrap}.rep-tag{background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-accent);border:1px solid color-mix(in srgb, var(--color-accent) 25%, transparent);white-space:nowrap;border-radius:10px;margin-right:3px;padding:1px 6px;font-size:.62rem;display:inline-block}.rep-step-detail{color:var(--color-text-muted);font-size:.7rem}.rep-step-log{margin-top:4px}.rep-step-log-summary{color:var(--color-warning);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.68rem;display:flex}.rep-step-log-dl{border:1px solid var(--color-warning);color:var(--color-warning);cursor:pointer;background:0 0;border-radius:3px;padding:0 5px;font-size:.62rem;line-height:1.4}.rep-step-log-dl:hover{background:color-mix(in srgb, var(--color-warning) 15%, transparent)}.rep-step-log-pre{font-size:.65rem;font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);white-space:pre-wrap;word-break:break-all;border-radius:4px;max-height:200px;margin-top:4px;padding:.5rem;overflow:auto}.rep-step-healhint{color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-purple) 25%, transparent);border-radius:3px;margin-left:4px;padding:1px 5px;font-size:.68rem}.canvas-mode-toggle{border:1px solid var(--color-border);border-radius:5px;flex-shrink:0;display:flex;overflow:hidden}.mode-btn{cursor:pointer;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;padding:.35rem .85rem;font-size:.78rem;font-weight:500;transition:background .12s,color .12s}.mode-btn:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-text)}.mode-btn+.mode-btn{border-left:1px solid var(--color-border)}.mode-btn--active{background:color-mix(in srgb, var(--color-ok) 18%, transparent);color:var(--color-ok);font-weight:700}.mode-btn--inspect.mode-btn--active{background:color-mix(in srgb, var(--color-cyan) 20%, transparent);color:var(--color-cyan);font-weight:700}.mode-banner{align-items:center;gap:.4rem;padding:.4rem .875rem;font-size:.76rem;font-weight:500;display:flex}.mode-banner--inspect{background:color-mix(in srgb, var(--color-cyan) 10%, transparent);color:var(--color-cyan);border-top:1px solid color-mix(in srgb, var(--color-cyan) 30%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-cyan) 30%, transparent);animation:.15s ease-out form-appear}.custom-commands-header{align-items:center;padding:.4rem .75rem .1rem;display:flex}.custom-commands-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:.65rem;font-weight:700}.inspect-highlight-rect{border:2px solid var(--color-cyan);pointer-events:none;background:#22d3ee1a;border-radius:2px;animation:1.5s ease-in-out infinite inspect-pulse;position:absolute;box-shadow:0 0 0 1px #22d3ee4d,inset 0 0 0 1px #22d3ee33}@keyframes inspect-pulse{0%,to{box-shadow:0 0 0 1px #22d3ee4d,inset 0 0 0 1px #22d3ee33}50%{box-shadow:0 0 8px 2px #22d3ee80,inset 0 0 0 1px #22d3ee4d}}.inspect-panel{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--color-cyan) 35%, var(--color-border));background:var(--color-surface);flex-direction:column;flex-shrink:0;gap:0;display:flex;overflow:hidden}.inspect-header{background:color-mix(in srgb, var(--color-cyan) 8%, var(--color-surface));border-bottom:1px solid color-mix(in srgb, var(--color-cyan) 25%, var(--color-border));align-items:center;gap:.75rem;padding:.5rem .875rem;display:flex}.inspect-mode-label{letter-spacing:.08em;color:var(--color-cyan);text-transform:uppercase;font-size:.65rem;font-weight:800}.inspect-hint{color:var(--color-text-muted);font-size:.72rem}.inspect-loading{color:var(--color-text-muted);align-items:center;gap:.5rem;padding:1rem;font-size:.8rem;display:flex}.inspect-spinner{border:2px solid color-mix(in srgb, var(--color-cyan) 25%, transparent);border-top-color:var(--color-cyan);border-radius:50%;flex-shrink:0;width:.75rem;height:.75rem;animation:.7s linear infinite spin;display:inline-block}.inspect-empty{color:var(--color-text-muted);padding:1rem .875rem;font-size:.8rem;line-height:1.6}.inspect-classname{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.5rem .875rem;display:flex}.inspect-classname-text{font-family:var(--font-mono);color:var(--color-text);font-size:.78rem;font-weight:600}.inspect-badges{flex-wrap:wrap;gap:3px;display:flex}.inspect-badge{border-radius:3px;padding:1px 5px;font-size:.62rem;font-weight:600}.inspect-badge--on{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent)}.inspect-badge--dim{background:color-mix(in srgb, var(--color-border) 60%, transparent);color:var(--color-text-muted)}.inspect-badge--warn{background:color-mix(in srgb, var(--color-warning) 12%, transparent);color:var(--color-warning)}.inspect-attrs{border-collapse:collapse;border-bottom:1px solid var(--color-border);width:100%;font-size:.76rem}.inspect-attr-row td{padding:3px .875rem}.inspect-attr-row--dim{opacity:.6}.inspect-attr-label{font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap;vertical-align:top;width:90px;font-size:.68rem;padding-top:4px!important}.inspect-attr-value{color:var(--color-text);word-break:break-all;text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.inspect-attr-value--mono{font-family:var(--font-mono);font-size:.7rem}.inspect-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:.35rem .875rem .2rem;font-size:.65rem;font-weight:700}.inspect-selector-section{border-top:1px solid var(--color-border);padding-bottom:.4rem}.inspect-selector-none{color:var(--color-text-muted);padding:0 .875rem .5rem;font-size:.75rem}.inspect-candidates{flex-direction:column;gap:3px;margin:0;padding:0 .875rem .25rem;list-style:none;display:flex}.inspect-candidate{align-items:center;gap:6px;font-size:.75rem;display:flex}.inspect-cand-strategy{font-size:.62rem;font-family:var(--font-mono);background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);border-radius:3px;flex-shrink:0;padding:1px 5px;font-weight:700}.inspect-cand-value{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.inspect-cand-index{color:var(--color-text-muted);font-size:.65rem;font-family:var(--font-mono);flex-shrink:0}.inspect-ancestors-section{border-top:1px solid var(--color-border);padding-bottom:.4rem}.inspect-ancestors{color:var(--color-text-muted);word-break:break-word;padding:0 .875rem .25rem;font-size:.73rem;line-height:1.6}.inspect-ancestor{font-family:var(--font-mono);font-size:.68rem;display:inline}.inspect-ancestor--current{color:var(--color-accent);font-weight:600}.inspect-anc-id{color:var(--color-text-muted);font-size:.62rem}.inspect-anc-sep{color:var(--color-border);font-family:inherit}.inspect-assert-section{border-top:1px solid var(--color-border);padding-bottom:.75rem}.inspect-assert-form{flex-wrap:wrap;align-items:center;gap:.4rem;padding:0 .875rem;display:flex}.inspect-assert-select{background:var(--color-bg);border:1px solid var(--color-border);min-width:100px;color:var(--color-text);border-radius:4px;outline:none;flex:1;padding:.3rem .5rem;font-size:.78rem}.inspect-assert-select:focus{border-color:var(--color-accent)}.inspect-assert-input{background:var(--color-bg);border:1px solid var(--color-border);min-width:80px;color:var(--color-text);border-radius:4px;outline:none;flex:1;padding:.3rem .5rem;font-size:.78rem}.inspect-assert-input:focus{border-color:var(--color-accent)}.inspect-assert-btn{flex-shrink:0;padding:.3rem .75rem;font-size:.78rem}.nested-container{flex-direction:column;gap:.5rem;margin:0 .5rem .5rem 2.5rem;display:flex}.nested-branch{border:1px solid var(--color-border,var(--color-surface-2));background:#ffffff08;border-radius:8px;overflow:hidden}.nested-branch-header{border-bottom:1px solid var(--color-border,var(--color-surface-2));background:#ffffff0a;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.nested-branch-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent,var(--color-mauve));font-size:.72rem;font-weight:700}.nested-branch-count{color:var(--color-text-muted,var(--color-subtext));font-size:.7rem}.nested-step-list{margin:0;padding:0;list-style:none}.nested-step-item{border-bottom:1px solid #ffffff0d}.nested-step-item:last-child{border-bottom:none}.nested-step-row{align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.8rem;display:flex}.nested-step-num{text-align:right;width:18px;color:var(--color-text-muted,var(--color-subtext));flex-shrink:0;font-size:.7rem}.nested-step-type{color:var(--color-mauve);white-space:nowrap;background:#cba6f726;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:.68rem;font-weight:600}.nested-step-desc{color:var(--color-text,var(--color-text-bright));text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.nested-step-actions{flex-shrink:0;gap:2px;display:flex}.nsa-btn{color:var(--color-text-muted,var(--color-subtext));cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 5px;font-size:.75rem;line-height:1}.nsa-btn:hover{color:var(--color-text,var(--color-text-bright));background:#ffffff14}.nsa-btn:disabled{opacity:.3;cursor:default}.nsa-btn--delete:hover{color:var(--color-red-subtle)}.nested-step-edit{border-top:1px dashed var(--color-border,var(--color-surface-2));background:#ffffff05;padding:0 .6rem .4rem}.nested-empty{color:var(--color-text-muted,var(--color-subtext));margin:0;padding:.5rem .75rem;font-size:.75rem;font-style:italic}.nested-add-btn{border:none;border-top:1px dashed var(--color-border,var(--color-surface-2));width:100%;color:var(--color-accent,var(--color-mauve));cursor:pointer;text-align:left;background:0 0;padding:.35rem .75rem;font-size:.75rem;display:block}.nested-add-btn:hover{background:#cba6f714}.nested-picker{border-top:1px dashed var(--color-border,var(--color-surface-2));background:#ffffff05;flex-wrap:wrap;gap:4px;padding:.5rem .6rem;display:flex}.nested-picker-btn{border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));cursor:pointer;background:#ffffff0f;border-radius:4px;padding:3px 8px;font-size:.73rem}.nested-picker-btn:hover{border-color:var(--color-mauve);color:var(--color-mauve);background:#cba6f726}.nested-picker-btn--cancel{color:var(--color-text-muted,var(--color-subtext))}.nested-picker-btn--cancel:hover{border-color:var(--color-red-subtle);color:var(--color-red-subtle);background:#f38ba81f}.cmd-btn--pass{color:var(--color-green-subtle);background:#a6e3a11f;border-color:#a6e3a14d}.cmd-btn--pass:hover{background:#a6e3a138}.cmd-btn--fail{color:var(--color-red-subtle);background:#f38ba81f;border-color:#f38ba84d}.cmd-btn--fail:hover{background:#f38ba838}.cmd-btn--stop{color:var(--color-red-subtle);background:#f38ba826;border-color:#f38ba866;font-weight:600}.cmd-btn--stop:hover{background:#f38ba847}.cmd-btn--loop-ctrl{color:var(--color-yellow-subtle);background:#f9e2af1a;border-color:#f9e2af40}.cmd-btn--loop-ctrl:hover{background:#f9e2af33}.replay-badge--pass{color:var(--color-green-subtle);background:#a6e3a133;border:1px solid #a6e3a166}.replay-badge--fail{color:var(--color-red-subtle);background:#f38ba833;border:1px solid #f38ba866}.pc-description{color:var(--color-text-muted,var(--color-subtext));margin:0 0 .5rem;font-size:.8rem;line-height:1.5}.pc-description code{background:#ffffff14;border-radius:3px;padding:1px 4px;font-family:monospace;font-size:.75rem}.lf-wrapper{flex-direction:column;gap:0;display:flex}.lf-strategy{flex:none;max-width:150px}.lf-value{flex:1}.lf-hint{color:var(--color-text-muted,var(--color-subtext));padding:.1rem 0 .15rem 6.5rem;font-size:.7rem;font-style:italic;line-height:1.4}.lf-required{color:var(--color-yellow-subtle);margin:0;padding:.1rem 0 0 6.5rem;font-size:.72rem}.step-coord-warn{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-warning) 35%, transparent);cursor:help;white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:.62rem;font-weight:700;animation:2s ease-in-out infinite coord-warn-pulse}@keyframes coord-warn-pulse{0%,to{opacity:1}50%{opacity:.6}}.replay-running-label{color:var(--color-text-muted);flex:1;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.replay-btn{padding:.35rem .875rem!important;font-size:.8rem!important}.step-no-locator-warn{color:var(--color-yellow-subtle);white-space:nowrap;cursor:pointer;background:#f9e2af1f;border:1px solid #f9e2af4d;border-radius:4px;margin-left:.3rem;padding:1px 5px;font-size:.63rem;font-weight:700}.command-form-select{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));height:28px;color:var(--color-text,var(--color-text-bright));cursor:pointer;border-radius:5px;outline:none;flex-shrink:0;padding:0 .4rem;font-size:.78rem}.command-form-select:focus{border-color:var(--color-accent,var(--color-mauve))}.cmd-btn--var{color:var(--color-blue);background:#89b4fa1f;border-color:#89b4fa4d}.cmd-btn--var:hover{background:#89b4fa38}.inspect-attr-none{color:var(--color-border,var(--color-surface-2));-webkit-user-select:none;user-select:none;font-size:.75rem;font-style:italic}.inspect-attr-value--empty{opacity:.45}.inspect-attr-hint{color:var(--color-text-muted,var(--color-subtext));cursor:help;margin-left:2px;font-size:.7rem}.inspect-copy-btn{color:var(--color-text-muted,var(--color-subtext));cursor:pointer;opacity:0;vertical-align:middle;background:0 0;border:none;padding:0 3px;font-size:.75rem;transition:opacity .1s}.inspect-attr-row:hover .inspect-copy-btn{opacity:1}.inspect-copy-btn:hover{color:var(--color-green-subtle)}.inspect-attr-empty-label{color:#8b8fa88c;-webkit-user-select:none;user-select:none;font-size:.75rem;font-style:italic}.inspect-attr-text{word-break:break-all}.inspect-xpath-warn{color:var(--color-yellow-subtle);white-space:nowrap;vertical-align:middle;background:#f9e2af1f;border-radius:3px;margin-left:4px;padding:0 4px;font-size:.65rem;font-weight:600}.ci-edit-form--expanded{flex-direction:column;gap:4px}.ci-edit-row{align-items:center;gap:4px;display:flex}.ci-edit-row--index{padding:0 0 2px}.ci-index-label{color:var(--color-text-muted,var(--color-subtext));white-space:nowrap;cursor:help;min-width:52px;font-size:.72rem}.ci-edit-input--index{text-align:center;flex:none!important;width:52px!important}.ci-index-hint{color:var(--color-mauve);white-space:nowrap;font-size:.7rem;font-style:italic}.ci-index-badge{color:var(--color-mauve);background:#cba6f72e;border-radius:3px;flex-shrink:0;margin-left:2px;padding:1px 5px;font-size:.65rem;font-weight:700}.inspect-xpath-indexed{color:var(--color-blue);white-space:nowrap;vertical-align:middle;background:#89b4fa1f;border-radius:3px;margin-left:4px;padding:0 4px;font-size:.65rem;font-weight:600}.inspect-xpath-note{color:var(--color-text-muted,var(--color-subtext));padding:2px 0 6px;font-size:.7rem;font-style:italic;line-height:1.4}.lf-xpath-input{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));resize:vertical;border-radius:6px;outline:none;flex:1;min-height:42px;padding:.4rem .7rem;font-family:monospace;font-size:.82rem}.lf-xpath-input:focus{border-color:var(--color-accent,var(--color-mauve))}.lf-xpath-quality{align-items:center;gap:.5rem;padding:.15rem 0 .1rem 6.5rem;display:flex}.lf-quality-badge{white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:.65rem;font-weight:700}.lf-quality-badge--stable{color:var(--color-green-subtle);background:#a6e3a126}.lf-quality-badge--indexed{color:var(--color-blue);background:#89b4fa26}.lf-quality-badge--fragile{color:var(--color-yellow-subtle);background:#f9e2af26}.lf-xpath-quality-note{color:var(--color-text-muted,var(--color-subtext));font-size:.7rem;font-style:italic}.btn--new-test{color:var(--color-green-subtle);cursor:pointer;background:#a6e3a11a;border:1px solid #a6e3a14d;border-radius:6px;padding:.35rem .85rem;font-size:.82rem;font-weight:600;transition:background .15s}.btn--new-test:hover:not(:disabled){background:#a6e3a133}.btn--new-test:disabled{opacity:.35;cursor:not-allowed}.btn--load-test{color:var(--color-blue);cursor:pointer;background:#89b4fa1a;border:1px solid #89b4fa4d;border-radius:6px;padding:.35rem .85rem;font-size:.82rem;font-weight:600;transition:background .15s}.btn--load-test:hover:not(:disabled){background:#89b4fa33}.btn--load-test:disabled{opacity:.35;cursor:not-allowed}.swipe-trail-svg{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.btn--add-step-trigger{border:2px dashed var(--color-purple);color:var(--color-purple);cursor:pointer;opacity:.75;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;width:calc(100% - 1rem);margin:.5rem .5rem .75rem;padding:.4rem .9rem;font-size:.82rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex}.btn--add-step-trigger:hover{border-color:var(--color-purple);color:var(--color-purple);background:color-mix(in srgb, var(--color-purple) 8%, transparent);opacity:1}[data-theme=light] .btn--add-step-trigger{border-color:var(--color-accent);color:var(--color-accent);opacity:.85;font-weight:700}.quick-add-row{background:var(--color-surface,var(--color-bg-deep));border:1px solid var(--color-accent,var(--color-mauve));border-radius:8px;margin:.25rem .5rem .75rem;position:relative;overflow:visible}.quick-add-search{align-items:center;display:flex;position:relative}.quick-add-input{border:none;border-bottom:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));box-sizing:border-box;background:0 0;border-radius:8px 8px 0 0;outline:none;flex:1;width:100%;padding:.55rem 2.2rem .55rem .85rem;font-size:.88rem}.quick-add-input::placeholder{color:#cdd6f466}.quick-add-input:focus{background:#cba6f70a}.quick-add-close{color:var(--color-text-muted,var(--color-subtext));cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 6px;font-size:.8rem;line-height:1;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.quick-add-close:hover{color:var(--color-red-subtle);background:#ffffff14}.quick-add-dropdown{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-accent,var(--color-mauve));border-top:1px solid var(--color-border,var(--color-surface-2));z-index:9999;border-radius:0 0 8px 8px;max-height:300px;margin:0;padding:4px 0;list-style:none;position:absolute;top:100%;left:-1px;right:-1px;overflow-y:auto;box-shadow:0 12px 32px #00000080}.quick-add-option{cursor:pointer;align-items:baseline;gap:.6rem;padding:.45rem .85rem;font-size:.82rem;display:flex}.quick-add-option:hover,.quick-add-option--active{background:#cba6f724}.quick-add-option-label{color:var(--color-text,var(--color-text-bright));flex-shrink:0;min-width:130px;font-weight:600}.quick-add-option-desc{color:var(--color-text-muted,var(--color-subtext));text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.quick-add-option-empty{color:var(--color-text-muted,var(--color-subtext));padding:.5rem .85rem;font-size:.8rem;font-style:italic}.quick-add-hint-text{color:var(--color-text-muted,var(--color-subtext));border-top:1px solid var(--color-border,var(--color-surface-2));margin:0;padding:.3rem .85rem;font-size:.75rem}.quick-add-selected-badge{border-bottom:1px solid var(--color-border,var(--color-surface-2));background:#cba6f714;align-items:center;gap:.5rem;padding:.3rem .85rem;display:flex}.quick-add-selected-label{color:var(--color-mauve);font-size:.82rem;font-weight:600}.quick-add-selected-desc{color:var(--color-text-muted,var(--color-subtext));flex:1;font-size:.75rem}.quick-add-change-btn{border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text-muted,var(--color-subtext));cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:1px 7px;font-size:.7rem}.quick-add-change-btn:hover{border-color:var(--color-mauve);color:var(--color-mauve)}.quick-add-params{flex-direction:column;gap:.5rem;padding:.6rem .85rem;display:flex}.quick-add-element{flex-direction:column;gap:.5rem;display:flex}.quick-add-capture-cta{color:var(--color-text-muted,var(--color-subtext));background:#a6e3a112;border:1.5px dashed #a6e3a166;border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.quick-add-capture-cta--active{border-color:var(--color-green-subtle);color:var(--color-green-subtle);background:#a6e3a121;animation:1.2s ease-in-out infinite capture-pulse}.quick-add-capture-dot{background:var(--color-green-subtle);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1s infinite capture-pulse}.quick-add-capture-btn{color:var(--color-green-subtle);cursor:pointer;white-space:nowrap;background:#a6e3a11a;border:1px solid #a6e3a166;border-radius:5px;padding:.3rem .7rem;font-size:.78rem}.quick-add-capture-btn:hover{background:#a6e3a133}.quick-add-capture-cancel{color:var(--color-red-subtle);cursor:pointer;background:0 0;border:1px solid #f38ba866;border-radius:4px;margin-left:auto;padding:1px 8px;font-size:.72rem}.quick-add-captured{align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.quick-add-captured-ok{color:var(--color-green);font-size:1rem;font-weight:700;animation:.6s ease-in-out 3 capturedPulse}@keyframes capturedPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.08)}}.quick-add-locator-manual-row{justify-content:center;margin-top:.35rem;display:flex}.quick-add-locator-link{color:var(--color-blue);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0;font-size:.78rem;text-decoration:underline}.quick-add-locator-link:hover{color:var(--color-mauve)}.quick-add-field-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.quick-add-label{color:var(--color-text-muted,var(--color-subtext));flex-shrink:0;min-width:80px;font-size:.78rem}.quick-add-field{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));border-radius:5px;outline:none;flex:1;padding:.3rem .6rem;font-size:.82rem}.quick-add-field:focus{border-color:var(--color-accent,var(--color-mauve))}.quick-add-field--short{flex:none;max-width:90px}.quick-add-actions{flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.2rem;display:flex}.quick-add-confirm{padding:.35rem 1rem;font-size:.82rem}.quick-add-cancel{padding:.35rem .85rem;font-size:.82rem}.quick-add-hint{color:var(--color-yellow-subtle);font-size:.72rem;font-style:italic}.capture-mode-banner{color:var(--color-green-subtle);background:#a6e3a11a;border:1px solid #a6e3a159;border-radius:6px;align-items:center;gap:.6rem;margin:.4rem .5rem;padding:.4rem .75rem;font-size:.78rem;display:flex}.capture-mode-dot{background:var(--color-green-subtle);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1s infinite capture-pulse}.capture-mode-cancel{color:var(--color-green-subtle);cursor:pointer;background:0 0;border:1px solid #a6e3a166;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:.72rem}.capture-mode-cancel:hover{background:#a6e3a126}.btn--export-tc{color:var(--color-sky);cursor:pointer;background:#89dceb1a;border:1px solid #89dceb4d;border-radius:6px;padding:.3rem .75rem;font-size:.78rem}.btn--export-tc:hover:not(:disabled){background:#89dceb33}.btn--export-tc:disabled{opacity:.35;cursor:not-allowed}.tcl-filter-bar{background:var(--color-surface,var(--color-bg-deep));border-bottom:1px solid var(--color-border,var(--color-surface-2));flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.tcl-filter-input{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));min-width:140px;color:var(--color-text,var(--color-text-bright));border-radius:5px;outline:none;flex:1;padding:.28rem .6rem;font-size:.78rem}.tcl-filter-input:focus{border-color:var(--color-accent,var(--color-mauve))}.tcl-filter-select{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));cursor:pointer;border-radius:5px;outline:none;padding:.28rem .5rem;font-size:.78rem}.tcl-filter-date-label{color:var(--color-text-muted,var(--color-subtext));white-space:nowrap;font-size:.72rem}.tcl-filter-date{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));cursor:pointer;border-radius:5px;outline:none;padding:.25rem .4rem;font-size:.73rem}.tcl-filter-date:focus{border-color:var(--color-accent,var(--color-mauve))}.tcl-filter-clear{border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text-muted,var(--color-subtext));cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:.2rem .5rem;font-size:.72rem}.tcl-filter-clear:hover{border-color:var(--color-red-subtle);color:var(--color-red-subtle)}.tcl-filter-count{color:var(--color-text-muted,var(--color-subtext));white-space:nowrap;margin-left:auto;font-size:.72rem}.tc-import-toast{color:var(--color-green-subtle);background:#a6e3a11f;border:1px solid #a6e3a14d;border-radius:6px;flex-shrink:0;margin:.3rem .75rem;padding:.4rem .85rem;font-size:.78rem}.rep-filter-date{background:var(--color-bg,var(--color-surface-deep));border:1px solid var(--color-border,var(--color-surface-2));color:var(--color-text,var(--color-text-bright));cursor:pointer;border-radius:5px;outline:none;padding:.25rem .4rem;font-size:.73rem}.rep-filter-date:focus{border-color:var(--color-accent,var(--color-mauve))}.rep-filter-date-sep{color:var(--color-text-muted,var(--color-subtext));font-size:.8rem}.btn--export-rep{color:var(--color-sky);cursor:pointer;white-space:nowrap;background:#89dceb1a;border:1px solid #89dceb4d;border-radius:6px;margin-left:auto;padding:.3rem .85rem;font-size:.78rem}.btn--export-rep:hover:not(:disabled){background:#89dceb33}.btn--export-rep:disabled{opacity:.35;cursor:not-allowed}.rep-td-export{text-align:center;width:70px}.rep-export-btn{color:var(--color-sky);cursor:pointer;white-space:nowrap;background:#89dceb14;border:1px solid #89dceb40;border-radius:4px;padding:2px 7px;font-size:.7rem}.rep-export-btn:hover:not(:disabled){background:#89dceb2e}.rep-export-btn:disabled{opacity:.35;cursor:not-allowed}.rep-step-name{color:var(--color-text,var(--color-text-bright));text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.8rem;overflow:hidden}
