:root{--bg: #f6f8fb;--surface: #ffffff;--surface-2: #f8fafc;--line: #e6eaf0;--line-2: #eef1f6;--ink: #0f1c36;--ink-2: #1e293b;--muted: #6b7a90;--faint: #93a1b5;--accent: #4a5fe8;--accent-hover: #3d51d4;--accent-soft: #eef1fe;--accent-ring: #c7d0fb;--nav-active: #101c39;--nav-bg: #0f1a33;--pass: #16a34a;--pass-bg: #e9f7ef;--fail: #dc2626;--fail-bg: #fdeeee;--warn: #b45309;--warn-bg: #fef4e2;--skip: #94a3b8;--r: 10px;--r-lg: 14px;--shadow: 0 1px 2px rgba(16, 28, 57, .04);--shadow-lg: 0 18px 44px rgba(16, 28, 57, .18);color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0}button{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.5rem .85rem;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);cursor:pointer;color:var(--ink-2);font-weight:500;transition:background .12s,border-color .12s,color .12s}button:hover:not(:disabled){background:var(--surface-2);border-color:#d6dce6}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.record{background:var(--surface);color:var(--ink-2)}button.record:hover:not(:disabled){color:var(--fail);border-color:#f3c6c6;background:#fff8f8}button.record.on{background:var(--fail);border-color:var(--fail);color:#fff}button.danger{color:var(--fail)}button.danger:hover:not(:disabled){background:var(--fail-bg);border-color:#f3c6c6}button.ghost{border-color:transparent;background:transparent}button.ghost:hover:not(:disabled){background:var(--surface-2);border-color:transparent}button.icon{padding:.45rem;width:2.1rem;height:2.1rem}button.sq{padding:0;width:2.4rem;height:2.4rem}input,select,textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);width:100%}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7a90' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:2rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}input::placeholder,textarea::placeholder{color:var(--faint)}code,pre,.mono{font-family:JetBrains Mono,Consolas,Menlo,monospace;font-size:12.5px}.app{display:flex;height:100vh;height:100dvh;background:var(--bg)}.sidebar{--surface: var(--nav-bg);--surface-2: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .09);--line-2: rgba(255, 255, 255, .06);--ink: #f1f4fb;--ink-2: #c6cfe0;--muted: #8d9ab3;--faint: #6f7c96;--accent: #8e9bff;--accent-soft: rgba(116, 132, 255, .16);--accent-ring: rgba(142, 155, 255, .45);--nav-active: #4a5fe8;color-scheme:dark;flex:0 0 17.5rem;background:var(--surface);border-right:1px solid #0a1326;color:var(--ink-2);display:flex;flex-direction:column;min-height:0;transition:flex-basis .2s ease}.sidebar button:hover:not(:disabled){border-color:transparent}.sidebar .logo{display:flex;align-items:center;gap:.7rem;padding:1.15rem 1.15rem 1rem}.sidebar .logo .mark{width:2.3rem;height:2.3rem;border-radius:11px;flex:0 0 auto;background:linear-gradient(140deg,#5b6ff0,#3f4fd8);color:#fff;display:grid;place-items:center;box-shadow:0 4px 10px #4a5fe852}.sidebar .logo .word{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.sidebar .logo .word em{font-style:normal;color:var(--accent)}.sidebar .logo .nav-toggle{margin-left:auto;color:var(--muted)}.sidebar .logo .nav-toggle:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.sidebar .context{flex:0 0 auto}.workspace{margin:0 .85rem .35rem;border:1px solid var(--line);border-radius:12px;padding:.6rem .7rem;display:flex;align-items:center;gap:.6rem;cursor:pointer;background:var(--surface);width:calc(100% - 1.7rem);text-align:left}.workspace:hover{background:var(--surface-2);border-color:#d6dce6}.sidebar .workspace:hover:not(:disabled){border-color:#ffffff29}.workspace .avatar{width:2rem;height:2rem;border-radius:9px;flex:0 0 auto;background:#4a5fe8;color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.workspace .meta{min-width:0;flex:1}.workspace .meta b{display:block;font-size:13.5px;color:var(--ink);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace .meta span{font-size:11.5px;color:var(--muted)}.workspace .chev{color:var(--faint);flex:0 0 auto}.sidebar nav{display:flex;flex-direction:column;padding:.35rem .85rem;gap:2px}.sidebar nav .group{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);padding:1.1rem .65rem .4rem;font-weight:700}.sidebar nav button{justify-content:flex-start;gap:.75rem;background:transparent;border-color:transparent;color:var(--ink-2);padding:.6rem .65rem;border-radius:11px;width:100%;font-weight:500;position:relative}.sidebar nav button:hover:not(:disabled){background:var(--surface-2);border-color:transparent}.sidebar nav button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.sidebar nav button.active,.sidebar nav button.active:hover:not(:disabled){background:var(--nav-active);color:#fff;font-weight:600;border-color:var(--nav-active)}.sidebar nav button.active svg{color:#fff}.sidebar nav button.active:before{content:"";position:absolute;left:-.85rem;top:.45rem;bottom:.45rem;width:3px;border-radius:0 3px 3px 0;background:var(--nav-active)}.sidebar nav button .count{margin-left:auto;font-size:11.5px;color:var(--faint);font-weight:500}.sidebar nav button.active .count{color:#ffffffb3}.sidebar .grow{flex:1}.sidebar .whoami{border-top:1px solid var(--line);padding:.85rem 1.1rem;display:flex;align-items:center;gap:.65rem;cursor:pointer;background:transparent;width:100%;text-align:left;border-radius:0;border-left:none;border-right:none;border-bottom:none}.sidebar .whoami:hover{background:var(--surface-2)}.sidebar .whoami.active{background:var(--accent-soft)}.sidebar .whoami .avatar{width:2.1rem;height:2.1rem;border-radius:50%;flex:0 0 auto;background:#8e9bff2e;color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:12.5px}.sidebar .whoami .who{min-width:0}.sidebar .whoami .who b{display:block;font-size:13.5px;color:var(--ink);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .whoami .who span{font-size:11.5px;color:var(--muted);text-transform:capitalize}.main{flex:1;min-width:0;display:flex;flex-direction:column}.body{flex:1;min-height:0;display:flex}.scroll{overflow:auto;min-height:0}.toolbar{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--line);flex:0 0 auto}.toolbar .title-block{min-width:7rem;flex:1 1 auto}.toolbar>button,.toolbar .status-group{flex:0 0 auto}.toolbar .title-block h1{font-size:20px;font-weight:700;letter-spacing:-.01em;border:none;padding:0;background:transparent;width:auto;min-width:12rem}.toolbar .title-block h1:focus{box-shadow:none;border-bottom:1px solid var(--accent);border-radius:0}.toolbar .title-block .sub{font-size:12.5px;color:var(--muted);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar .title-block input{width:100%;text-overflow:ellipsis}.toolbar .spacer{flex:0 0 .25rem}.toolbar .status-group{display:flex;align-items:center;gap:.6rem}.toolbar .status-group label{font-size:13px;color:var(--muted)}.toolbar .status-group select{width:auto;min-width:8rem}.editor-page{container:editor / inline-size}.editor-page .pane.centre{container:centre / inline-size}.title-input{font-size:clamp(16px,1.8cqi,20px);font-weight:700;letter-spacing:-.01em;border:none;padding:0;background:transparent}.toolbar-actions{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}.btn-group{display:inline-flex}.btn-group>button{border-radius:0;margin-left:-1px}.btn-group>button:first-child{border-radius:var(--r) 0 0 var(--r);margin-left:0}.btn-group>button:last-child{border-radius:0 var(--r) var(--r) 0}.btn-group>button:only-child{border-radius:var(--r)}.btn-group>button:hover:not(:disabled),.btn-group>button.on{position:relative;z-index:1}.label-short{display:none}.head-btn{white-space:nowrap}@container editor (max-width: 1080px){.editor-toolbar .btn-label{display:none}.editor-toolbar .btn-group>button{padding:.5rem .6rem}.editor-toolbar .status-group label{display:none}.toolbar .status-group .select-trigger{min-width:6.5rem}.editor-toolbar{gap:.75rem}}@container editor (max-width: 640px){.editor-toolbar{flex-wrap:wrap;row-gap:.55rem;padding:.6rem .75rem;gap:.5rem}.editor-toolbar>.sq{width:2.1rem;height:2.1rem}.editor-toolbar .title-block{flex:1 1 0;min-width:0}.toolbar-actions{flex:1 1 100%;min-width:0;gap:.4rem;justify-content:space-between}.toolbar-actions .status-group{flex:1 1 auto;min-width:0}.toolbar .status-group .select-trigger{min-width:0;width:100%;max-width:8rem;padding-left:.55rem;padding-right:1.6rem;font-size:13px}.editor-toolbar .btn-group>button{padding:.5rem}.editor-toolbar .run .label-long{display:none}.editor-toolbar .run .label-short{display:inline}.editor-toolbar .run{padding:.5rem .7rem}.toolbar .title-block .sub{font-size:11.5px}}@container centre (max-width: 560px){.centre-head{gap:.5rem;align-items:center}.centre-title{min-width:0;flex:1 1 auto}.centre-head h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.centre-head .sub{font-size:11.5px}.centre-head>.spacer{display:none}.head-btn{padding:.4rem .55rem;font-size:12.5px;gap:.3rem}.head-btn .label-long{display:none}.head-btn .label-short{display:inline}.centre-head .hint-long{display:none}.editor-page .pane.centre>.tabs{gap:.8rem;padding:0 .75rem}.editor-page .pane.centre>.tabs>button{white-space:nowrap;font-size:13px}.editor-page .pane.centre>.tabs .spacer{flex:1 1 0;min-width:0}.editor-page .pane.centre>.tabs .env-pill{flex:0 1 auto;min-width:2.4rem;max-width:9rem;padding:.3rem .6rem}.editor-page .pane.centre>.tabs .env-pill .select-trigger{min-width:0;overflow:hidden}.editor-page .pane.centre>.tabs .env-pill .select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}}@container centre (max-width: 400px){.editor-page .pane.centre>.tabs>button svg{display:none}}.page{padding:1.25rem;width:100%;overflow:auto}.page-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}.page-head h1{font-size:22px;font-weight:700;letter-spacing:-.01em}.page-head .spacer{flex:1}.page-head .sub{color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:.85rem;box-shadow:var(--shadow)}.card>header{padding:.75rem 1rem;border-bottom:1px solid var(--line-2);font-weight:650;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:.5rem}.card>header .spacer{flex:1}.card .card-body{padding:.9rem 1rem}.card ul.plain{list-style:none;margin:0;padding:0}.card ul.plain li{padding:.6rem 1rem;border-bottom:1px solid var(--line-2);display:flex;gap:.6rem;align-items:center}.card ul.plain li:last-child{border-bottom:none}.card ul.plain li:hover{background:var(--surface-2)}.card ul.plain li .spacer{flex:1}.card .muted{color:var(--muted)}.card a.link{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:none}.card a.link:hover{text-decoration:underline}table.grid{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}table.grid th{text-align:left;padding:.7rem .9rem;background:var(--surface-2);color:var(--muted);font-weight:650;font-size:12px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}table.grid td{padding:.7rem .9rem;border-bottom:1px solid var(--line-2)}table.grid tr:last-child td{border-bottom:none}table.grid tbody tr:hover td{background:var(--surface-2)}table.grid a{color:var(--accent);cursor:pointer;text-decoration:none;font-weight:600}table.grid a:hover{text-decoration:underline}.empty{padding:3rem 1rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-lg);background:var(--surface)}.empty p{margin:0 0 .5rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.85rem;margin-bottom:1.1rem}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;box-shadow:var(--shadow)}.tile b{display:block;font-size:27px;line-height:1.15;font-weight:700;letter-spacing:-.02em}.tile span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.tile.good b{color:var(--pass)}.tile.bad b{color:var(--fail)}.tile.warn b{color:var(--warn)}.cols2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;align-items:start}.cols2>*{min-width:0}@media(max-width:1150px){.cols2{grid-template-columns:1fr}}.healthbar{display:flex;height:.6rem;border-radius:999px;overflow:hidden;background:var(--line-2);margin:.35rem 0 .7rem}.healthbar i{display:block;height:100%}.healthbar i.p{background:var(--pass)}.healthbar i.f{background:var(--fail)}.healthbar i.e{background:var(--skip)}.trend{display:flex;align-items:flex-end;gap:3px;height:3.4rem}.trend .day{flex:1;height:100%;min-width:4px;display:flex;flex-direction:column-reverse;justify-content:flex-start;gap:1px}.trend .day i{display:block;border-radius:2px}.trend .day i.p{background:var(--pass)}.trend .day i.f{background:var(--fail)}.sev{font-size:10.5px;padding:.15rem .45rem;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.sev.failing{background:var(--fail-bg);color:var(--fail)}.sev.drifting{background:var(--warn-bg);color:var(--warn)}.sev.never-run{background:var(--line-2);color:var(--muted)}.sev.ok{background:var(--pass-bg);color:var(--pass)}.filters{display:flex;gap:.5rem;align-items:center;margin-bottom:.9rem;flex-wrap:wrap}.filters .searchbox{position:relative;max-width:22rem;flex:1 1 16rem}.filters .searchbox svg{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--faint)}.filters .searchbox input{padding-left:2.1rem}.chip{padding:.4rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;font-size:12.5px;white-space:nowrap;font-weight:500}.chip:hover{border-color:var(--accent-ring);background:var(--surface-2)}.chip.on{background:var(--nav-active);color:#fff;border-color:var(--nav-active)}.chip .n{opacity:.6;margin-left:.35rem}.editor{--rail-w: 3.6rem;--lib-w: 16rem;--col-lrail: 0px;--col-lib: 0px;--col-panel: 0px;display:grid;grid-template-columns:var(--col-lrail) var(--col-lib) minmax(0,1fr) var(--col-panel) var(--rail-w);width:100%;min-height:0;position:relative;overflow:hidden}.editor>.lib-rail{grid-column:1}.editor>.pane.centre{grid-column:3}.editor>.panel-rail{grid-column:5}.editor.lib-available{--col-lrail: var(--rail-w)}.editor.lib-open.lib-pinned{--col-lib: var(--lib-w)}.editor.panel-open.panel-pinned{--col-panel: min(24rem, 40%)}.editor>.pane{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--surface)}.editor>.pane.left{border-right:1px solid var(--line)}.editor>.pane.right{border-left:1px solid var(--line)}.editor>.pane.centre{background:var(--bg)}.pane-head{padding:1rem 1.1rem .7rem;flex:0 0 auto}.pane-head h2{font-size:14.5px;font-weight:650}.pane-head .sub{font-size:12px;color:var(--muted);margin-top:.1rem}.lib-group{padding:0 .85rem .15rem}.lib-group h3{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);font-weight:700;padding:.7rem .25rem .45rem}.lib-group h3 .lib-toggle{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;justify-content:flex-start;gap:.4rem;padding:.3rem .35rem;margin:-.3rem -.35rem;width:calc(100% + .7rem);border:none;background:transparent;border-radius:7px}.lib-group h3 .lib-toggle:hover:not(:disabled){background:var(--surface-2);color:var(--ink-2);border:none}.lib-group h3 .lib-toggle .n{font-size:10px;letter-spacing:0;font-weight:600;color:var(--faint);background:var(--line-2);border-radius:999px;padding:.05rem .4rem}.lib-group h3 .lib-toggle svg{margin-left:auto;transform:rotate(-90deg);transition:transform .22s ease}.lib-group.open h3 .lib-toggle svg{transform:rotate(0)}.lib-group h3 .lib-toggle:disabled{opacity:1;cursor:default}.picker-groups .lib-group{padding:0}.lib-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s ease,opacity .2s ease}.lib-body>div{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s linear .25s}.lib-group.open .lib-body{grid-template-rows:1fr;opacity:1}.lib-group.open .lib-body>div{visibility:visible;transition-delay:0s}@media(prefers-reduced-motion:reduce){.lib-body,.lib-body>div,.lib-group h3 .lib-toggle svg{transition:none}}.lib-item{display:flex;align-items:center;gap:.6rem;width:100%;border:1px solid var(--line);border-radius:var(--r);padding:.55rem .6rem;margin-bottom:.4rem;background:var(--surface);cursor:pointer;text-align:left;font-weight:500;color:var(--ink-2)}.lib-item:hover{border-color:var(--accent-ring);background:var(--accent-soft)}.lib-item .glyph{color:var(--muted);flex:0 0 auto;display:grid;place-items:center}.lib-item:hover .glyph{color:var(--accent)}.lib-item .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-item .add{color:var(--faint);flex:0 0 auto}.lib-item:hover .add{color:var(--accent)}.tabs{display:flex;align-items:center;gap:1.2rem;border-bottom:1px solid var(--line);padding:0 1.1rem;background:var(--surface);flex:0 0 auto}.tabs button{border:none;background:transparent;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.8rem .15rem;color:var(--muted);font-weight:600;gap:.45rem}.tabs button:hover:not(:disabled){color:var(--ink);background:transparent;border-color:transparent}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs .spacer{flex:1}.pane.right .tabs button{min-width:0}.pane.right .tabs button:last-child{flex:0 1 auto}.panel-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16rem}.panel-tab-error{width:.5rem;height:.5rem;border-radius:50%;background:var(--fail);flex:0 0 auto}.editor>.side-panel{position:absolute;top:0;bottom:0;right:var(--rail-w);z-index:20;width:min(24rem,calc(100% - var(--rail-w)));box-shadow:-14px 0 32px #101c391f;transform:translate(calc(100% + var(--rail-w)));visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}.editor.panel-open>.side-panel{transform:none;visibility:visible;transition-delay:0s}.side-panel-head{display:flex;align-items:flex-start;gap:.5rem;border-bottom:1px solid var(--line)}.side-panel-head>div{flex:1;min-width:0}.side-panel-head .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-panel-head button{margin-top:-.3rem;color:var(--muted)}.side-panel-head button:last-child{margin-right:-.4rem}.side-panel-head button.pin.on{color:var(--accent);background:var(--accent-soft)}.editor.panel-pinned.panel-open>.side-panel{grid-column:4;position:static;width:auto;transform:none;box-shadow:none;transition:none}.lib-rail{display:flex;flex-direction:column;gap:.35rem;padding:.6rem .35rem;background:var(--surface);border-right:1px solid var(--line);position:relative;z-index:21}.lib-rail button{flex-direction:column;gap:.2rem;padding:.55rem .2rem;border-color:transparent;background:transparent;color:var(--muted);font-size:11px;font-weight:600}.lib-rail button:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:transparent}.lib-rail button.active,.lib-rail button.active:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.editor>.library{position:absolute;top:0;bottom:0;left:var(--rail-w);z-index:20;width:var(--lib-w);border-right:1px solid var(--line);box-shadow:14px 0 32px #101c391f;transform:translate(calc(-100% - var(--rail-w)));visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}.editor.lib-open>.library{transform:none;visibility:visible;transition-delay:0s}.editor.lib-open.lib-pinned>.library{grid-column:2;position:static;width:auto;box-shadow:none;transition:none}@media(prefers-reduced-motion:reduce){.editor>.library{transition:none}}.panel-rail{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:.6rem .35rem;background:var(--surface);border-left:1px solid var(--line);position:relative;z-index:21}.panel-rail button{flex-direction:column;gap:.2rem;padding:.55rem .2rem;position:relative;border-color:transparent;background:transparent;color:var(--muted);font-size:11px;font-weight:600}.panel-rail button:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:transparent}.panel-rail button.active,.panel-rail button.active:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.panel-rail .panel-tab-error{position:absolute;top:.4rem;right:.55rem;box-shadow:0 0 0 2px var(--surface)}@media(prefers-reduced-motion:reduce){.editor>.side-panel{transition:none}}.env-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent-soft);color:var(--ink-2);border-radius:999px;padding:.3rem .85rem;font-size:12.5px;font-weight:600;border:1px solid transparent;margin:.4rem 0}.env-pill select{border:none;background:transparent;padding:0 1.1rem 0 0;width:auto;font:inherit;font-weight:600;color:inherit;box-shadow:none;background-position:right 0 center}.env-pill select:focus{box-shadow:none}.env-pill .dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--pass);flex:0 0 auto}.env-pill.none .dot{background:var(--skip)}.centre-body{flex:1;min-height:0;overflow:auto;padding:1.1rem 1.25rem}.centre-head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:.9rem}.centre-head h2{font-size:19px;font-weight:700;letter-spacing:-.01em}.editor-page .centre-head h2{font-size:clamp(15px,2.2cqi,19px)}.centre-head .sub{font-size:12.5px;color:var(--muted);margin-top:.2rem}.centre-head .spacer{flex:1}.step-card{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:.7rem .8rem;cursor:pointer;box-shadow:var(--shadow);transition:border-color .12s,box-shadow .12s,background .12s}.step-card:hover{border-color:var(--accent-ring)}.step-card.selected{border-color:var(--accent);background:#fbfcff;box-shadow:0 0 0 3px var(--accent-ring)}.step-card.off{opacity:.5}.step-card.dragover{border-top:2px solid var(--accent)}.step-card .num{width:1.9rem;height:1.9rem;border-radius:9px;flex:0 0 auto;background:var(--surface-2);border:1px solid var(--line-2);display:grid;place-items:center;font-size:12.5px;font-weight:650;color:var(--muted)}.step-card .glyph{width:2.1rem;height:2.1rem;border-radius:9px;flex:0 0 auto;background:var(--surface-2);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--ink-2)}.step-card.selected .glyph{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent)}.step-card .body{flex:1;min-width:0;display:block}.step-card .body b{display:block;font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-card .body span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.step-card .marks{display:flex;align-items:center;gap:.35rem;flex:0 0 auto}.step-card .chev{color:var(--faint);flex:0 0 auto}.step-card .reorder{display:flex;flex-direction:column;gap:1px;flex:0 0 auto}.step-card .reorder button{padding:0;width:1.4rem;height:1.15rem;border-color:transparent;background:transparent;color:var(--faint);border-radius:5px}.step-card .reorder button:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:transparent}.insert-gap{height:.6rem}.insert-slot{position:relative;height:.6rem}.insert-slot .insert-hit{position:absolute;left:0;right:0;top:-.3rem;height:1.2rem;z-index:2;padding:0;border:none;background:transparent;cursor:pointer;border-radius:0}.insert-slot .line{position:absolute;left:.4rem;right:.4rem;top:50%;height:2px;margin-top:-1px;background:var(--accent-ring);border-radius:2px;opacity:0;transition:opacity .12s}.insert-slot .plus{position:absolute;left:50%;top:50%;width:1.3rem;height:1.3rem;transform:translate(-50%,-50%);display:grid;place-items:center;background:var(--surface);color:var(--accent);border:1px solid var(--accent-ring);border-radius:50%;box-shadow:var(--shadow);opacity:0;transition:opacity .12s}.insert-slot .insert-hit:hover .line,.insert-slot .insert-hit:hover .plus,.insert-slot .insert-hit:focus-visible .line,.insert-slot .insert-hit:focus-visible .plus,.insert-slot.open .line,.insert-slot.open .plus{opacity:1}.insert-slot .insert-hit:hover .plus,.insert-slot.open .plus{background:var(--accent);color:#fff;border-color:var(--accent)}.insert-slot .popover{right:auto;left:50%;transform:translate(-50%);top:1rem}.step-children{margin-left:1.6rem;padding-left:.85rem;border-left:2px solid var(--line)}.branch-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700;margin:.1rem 0 .4rem 1.7rem}.step-empty{border:1px dashed var(--line);border-radius:var(--r);padding:.7rem .85rem;margin-bottom:.6rem;color:var(--faint);font-size:13px}.results{padding:.35rem 0}.result-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-radius:var(--r);font-size:13.5px;background:var(--surface);border:1px solid var(--line);margin-bottom:.35rem}.result-row .mark{font-weight:700;font-size:11px;min-width:3.3rem;letter-spacing:.03em}.result-row .rlabel{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-row .dur{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.result-row.indent{margin-left:1.5rem}.mark.passed{color:var(--pass)}.mark.failed,.mark.error{color:var(--fail)}.mark.warned{color:var(--warn)}.mark.skipped{color:var(--skip)}.mark.running{color:var(--accent)}.badge{font-size:10.5px;padding:.15rem .45rem;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.badge.degraded{background:var(--warn-bg);color:var(--warn)}.badge.soft{background:var(--accent-soft);color:var(--accent)}.badge.retry{background:var(--line-2);color:var(--muted)}.badge.module{background:var(--line-2);color:var(--ink-2);text-transform:none;letter-spacing:0;font-weight:600}.badge.draft{background:var(--line-2);color:var(--muted)}.badge.ready{background:var(--pass-bg);color:var(--pass)}.badge.deprecated{background:var(--warn-bg);color:var(--warn)}.error-detail{margin:-.1rem 0 .5rem 1.5rem;padding:.6rem .75rem;background:var(--fail-bg);border-left:3px solid var(--fail);border-radius:var(--r);color:#8c1d18;white-space:pre-wrap;font-size:13px}.expected-actual{display:flex;gap:1rem;margin-top:.4rem}.expected-actual div{flex:1}.expected-actual b{display:block;font-size:10.5px;text-transform:uppercase;color:var(--muted)}.summary{display:flex;gap:1.4rem;padding:.85rem 1rem;align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-top:.6rem}.summary .stat b{font-size:18px;display:block;font-weight:700}.summary .stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.summary.passed{border-left:3px solid var(--pass)}.summary.failed{border-left:3px solid var(--fail)}.issues{padding:.65rem .8rem;background:var(--fail-bg);border-radius:var(--r);margin-bottom:.7rem;font-size:13px}.issues.warn{background:var(--warn-bg)}.issues div{margin-bottom:.15rem}.shot{max-width:100%;border:1px solid var(--line);border-radius:var(--r);margin-top:.45rem}.kv{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem}.kv dt{color:var(--muted)}.kv dd{margin:0}.props{padding:0 1.1rem 1.5rem}.field{margin-bottom:.85rem}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:.35rem}.field .hint{font-size:11.5px;color:var(--muted);margin-top:.3rem;font-weight:400;line-height:1.45}.row{display:flex;gap:.6rem}.row>*{flex:1;min-width:0}.check{display:flex;align-items:center;gap:.45rem}.check input{width:auto}.strategy{display:flex;gap:.35rem;align-items:center;margin-bottom:.35rem}.strategy select{flex:0 0 6.5rem;padding:.4rem 1.6rem .4rem .5rem;font-size:12.5px}.strategy input{flex:1;padding:.4rem .5rem;font-size:12.5px}.strategy .order{color:var(--faint);font-size:11px;min-width:.9rem}.script{padding:.5rem 0 1rem;line-height:1.9}.script .line{display:flex;gap:.6rem;align-items:baseline;border-radius:var(--r);padding:.12rem .5rem}.script .line .n{color:var(--faint);flex:0 0 auto;min-width:1.9rem;text-align:right;font-variant-numeric:tabular-nums}.script .line>span:not(.n){min-width:0;overflow-wrap:anywhere}.script .line.marker{color:var(--muted);font-style:italic}.script .line.off{opacity:.45;text-decoration:line-through}.script .line:hover{background:var(--surface)}.script .line.selected{background:var(--accent-soft)}pre.dsl{margin:0;padding:1rem;white-space:pre;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);line-height:1.6}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1c3666;display:grid;place-items:center;z-index:40;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border-radius:16px;width:min(36rem,100%);box-shadow:var(--shadow-lg)}.modal>header{padding:1rem 1.15rem;border-bottom:1px solid var(--line);font-weight:700;font-size:15px;display:flex;align-items:center}.modal>.modal-body{padding:1.15rem;max-height:60vh;overflow:auto}.modal>footer{padding:.85rem 1.15rem;border-top:1px solid var(--line);display:flex;gap:.5rem;justify-content:flex-end;align-items:center}.modal>footer .spacer{flex:1}.popover{position:absolute;right:0;top:calc(100% + .4rem);z-index:30;width:19rem;max-height:22rem;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.6rem}.popover-anchor{position:relative}.rec-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--fail);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.toast{position:fixed;bottom:1.15rem;right:1.15rem;padding:.7rem 1rem;background:var(--nav-active);color:#fff;border-radius:var(--r);z-index:50;box-shadow:var(--shadow-lg);font-weight:500}.toast.error{background:var(--fail)}.thumb{width:4.2rem;height:2.6rem;object-fit:cover;object-position:top left;border:1px solid var(--line);border-radius:6px;cursor:zoom-in;background:var(--surface-2);flex:0 0 auto}.thumb:hover{border-color:var(--accent)}.filmstrip{display:flex;gap:.6rem;overflow-x:auto;padding:.2rem 0 .6rem}.frame{flex:0 0 auto;width:11rem;cursor:zoom-in}.frame img{width:100%;height:6.6rem;object-fit:cover;object-position:top left;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}.frame:hover img{border-color:var(--accent)}.frame .cap{font-size:11.5px;color:var(--muted);margin-top:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame .cap b{color:var(--ink);font-weight:600}.frame.failed img{border-color:var(--fail);box-shadow:0 0 0 2px var(--fail-bg)}.frame.warned img{border-color:var(--warn)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#091020d1;z-index:60;display:flex;flex-direction:column;padding:1rem}.lightbox header{display:flex;align-items:center;gap:.75rem;color:#fff;padding:.25rem .5rem .75rem}.lightbox header b{font-size:15px}.lightbox header .spacer{flex:1}.lightbox header .muted{color:#9dbad2;font-size:12.5px}.lightbox .stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:.75rem}.lightbox .stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--r);background:#fff;box-shadow:var(--shadow-lg)}.lightbox button{background:#ffffff1f;border-color:transparent;color:#fff}.lightbox button:hover:not(:disabled){background:#ffffff38;border-color:transparent}button.toggle.on{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent)}.res-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}.res-card+.res-card{border-top:1px solid var(--line-2)}.res-card.open{background:var(--surface-2)}.res-head{display:flex;align-items:center;gap:.85rem;width:100%;padding:.85rem 1rem;background:transparent;border:none;border-radius:0;text-align:left;cursor:pointer}.res-head:hover{background:var(--surface-2);border-color:transparent}.res-card.open .res-head:hover{background:transparent}.res-status{width:1.9rem;height:1.9rem;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-weight:800;font-size:13px}.res-status.passed{background:var(--pass-bg);color:var(--pass)}.res-status.failed{background:var(--fail-bg);color:var(--fail)}.res-status.warned{background:var(--warn-bg);color:var(--warn)}.res-status.skipped{background:var(--line-2);color:var(--skip)}.rot45{transform:rotate(45deg)}.res-title{flex:1;min-width:0}.res-title b{display:block;font-size:14.5px;font-weight:650;color:var(--ink)}.res-title span{display:block;font-size:12px;color:var(--muted);margin-top:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-dur{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 auto;font-size:13px}.res-chev{color:var(--faint);flex:0 0 auto;display:grid;place-items:center}.res-body{padding:0 1rem 1rem 3.85rem}.res-shot{display:block;width:100%;max-width:40rem;height:auto;max-height:26rem;object-fit:cover;object-position:top center;border:1px solid var(--line);border-radius:var(--r);background:#fff;cursor:zoom-in}.res-shot:hover{border-color:var(--accent)}.res-noshot{display:flex;align-items:center;gap:.5rem;color:var(--faint);border:1px dashed var(--line);border-radius:var(--r);padding:1rem}.res-meta{display:flex;align-items:center;gap:1rem;margin-top:.75rem;font-size:13px;color:var(--muted)}.res-meta .drift{color:var(--warn);font-weight:600}.pill{font-size:12.5px;font-weight:600;padding:.3rem .8rem;border-radius:999px}.pill.passed{background:var(--pass-bg);color:var(--pass)}.pill.failed{background:var(--fail-bg);color:var(--fail)}.pill.warned{background:var(--warn-bg);color:var(--warn)}.pill.skipped{background:var(--line-2);color:var(--muted)}.jump-list{display:flex;flex-direction:column}.jump-row{display:flex;align-items:center;gap:.8rem;width:100%;padding:.7rem .85rem;background:transparent;border:none;border-bottom:1px solid var(--line-2);border-radius:0;text-align:left;cursor:pointer}.jump-row:last-child{border-bottom:none}.jump-row:hover{background:var(--surface-2);border-color:transparent;border-bottom:1px solid var(--line-2)}.jump-row img,.jump-blank{width:4rem;height:2.5rem;flex:0 0 auto;object-fit:cover;object-position:top left;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.jump-blank{display:grid;place-items:center;color:var(--faint)}.jump-label{flex:1;min-width:0;font-size:13.5px;font-weight:550;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jump-chev{color:var(--faint);flex:0 0 auto}.tally{display:flex;align-items:center;padding:.45rem 0;font-size:14.5px}.tally span{flex:1;display:flex;align-items:center;gap:.6rem}.tally b{font-weight:650;font-variant-numeric:tabular-nums}.tally .dot{width:.6rem;height:.6rem;border-radius:50%;display:inline-block}.tally .dot.pass{background:var(--pass)}.tally .dot.fail{background:var(--fail)}.tally .dot.img{background:#7c6bf0}.tally-note{margin:.8rem 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}.report{display:grid;grid-template-columns:1fr 22rem;gap:.9rem;align-items:start}.report>*{min-width:0}@media(max-width:1150px){.report{grid-template-columns:1fr}}:root{--chart-pass: #4ec99a;--chart-fail: #ee7f7f}.health-head{align-items:flex-start;padding:1rem 1.15rem .9rem}.health-head .titles b{display:block;font-size:15.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.health-head .titles span{display:block;font-size:12.5px;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;margin-top:.15rem}.health-head .link{display:inline-flex;align-items:center;gap:.2rem;font-size:13px;text-transform:none;letter-spacing:0}.bars{display:flex;align-items:flex-end;gap:.5rem;height:10rem;border-bottom:1px solid var(--line);padding:0 .15rem}.bar-col{flex:1;min-width:0;height:100%;padding:0;gap:0;display:flex;flex-direction:column;justify-content:flex-end;background:transparent;border:none;border-radius:0;cursor:pointer}.bar-col:hover{background:transparent;border-color:transparent}.bar-track{flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:center;width:100%}.bar{display:block;width:100%;max-width:2.9rem;border-radius:5px 5px 0 0;transition:filter .12s}.bar.passed{background:var(--chart-pass)}.bar.failed,.bar.error{background:var(--chart-fail)}.bar-col:hover .bar{filter:brightness(.92)}.bar-label{font-size:11.5px;color:var(--muted);padding-top:.5rem;font-variant-numeric:tabular-nums;white-space:nowrap}.legend{display:flex;gap:1.4rem;padding-top:.85rem;font-size:13px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:.45rem}.legend .dot{width:.6rem;height:.6rem;border-radius:50%;display:inline-block}.legend .dot.pass{background:var(--chart-pass)}.legend .dot.fail{background:var(--chart-fail)}.rec-modal{width:min(32rem,100%)}.rec-header{display:flex;align-items:flex-start;gap:.8rem}.rec-icon{width:2.4rem;height:2.4rem;border-radius:11px;flex:0 0 auto;background:#eceafd;color:#6b5ce7;display:grid;place-items:center}.rec-titles b{display:block;font-size:17px;font-weight:700;letter-spacing:-.01em}.rec-titles span{display:block;font-size:12.5px;color:var(--muted);font-weight:400;margin-top:.15rem}.rec-source{display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;background:var(--surface-2);margin-bottom:1rem}.rec-source .glyph{color:var(--ink-2);flex:0 0 auto}.rec-source-text{flex:1;min-width:0}.rec-source-text b{display:block;font-size:13.5px;font-weight:650}.rec-source-text span{display:block;font-size:12px;color:var(--muted);margin-top:.1rem}.tag-local{flex:0 0 auto;font-size:11.5px;font-weight:600;padding:.2rem .6rem;border-radius:999px;background:#fdf3d3;color:#8a6100}.rec-banner{border:1px solid #f6d5d5;background:#fdf4f4;border-radius:12px;padding:.8rem .9rem;margin:1rem 0}.rec-banner b{display:block;font-size:13.5px;color:var(--fail);font-weight:650}.rec-banner span{display:block;font-size:13px;color:var(--ink-2);margin-top:.25rem;font-weight:600}.rec-banner span.muted{color:var(--muted);font-weight:400;margin-top:.1rem}.rec-banner.live{border-color:#cdd6fb;background:var(--accent-soft)}.rec-banner.live b{color:var(--accent)}.rec-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--fail);margin-right:.35rem;animation:pulse 1.2s infinite}.rec-dot.still{animation:none}.rec-preview{display:block;width:100%;max-height:17rem;object-fit:cover;object-position:top center;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:.9rem}.rec-steps{border:1px solid var(--line);border-radius:12px;max-height:11rem;overflow-y:auto;background:var(--surface)}.rec-step{padding:.55rem .8rem;border-bottom:1px solid var(--line-2)}.rec-step:last-child{border-bottom:none}.rec-step b{display:block;font-size:13px;font-weight:650}.rec-step span{display:block;font-size:11.5px;color:var(--muted);margin-top:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warn-icon{width:2.4rem;height:2.4rem;border-radius:11px;flex:0 0 auto;background:var(--warn-bg);color:var(--warn);display:grid;place-items:center}.rec-banner.live.paused{border-color:#d9d2f0;background:#f4f1fd}.rec-banner.live.paused b{color:#6b5ce7}.tag-check{display:inline-block;margin-left:.45rem;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .35rem;border-radius:4px;background:var(--pass-bg);color:var(--pass);vertical-align:1px}.tag-lookup{display:inline-block;margin-left:.45rem;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .35rem;border-radius:4px;background:var(--accent-soft);color:var(--accent);vertical-align:1px}.rec-step .rec-facts{display:flex;flex-wrap:wrap;gap:.3rem .8rem;white-space:normal}.rec-step .rec-facts>span{display:inline;margin:0}.lookup-controls{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.lookup-control{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-bottom:1px solid var(--line-2);font-size:12.5px;min-width:0}.lookup-control:last-child{border-bottom:none}.lookup-control .lc-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.lookup-control b{font-weight:600}.lookup-control b .muted{font-weight:400;font-size:11px}.lookup-control .mono{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lookup-control.missing{background:var(--warn-bg)}.lookup-control.missing .mono{color:var(--warn)}.lookup-history{margin:.2rem 0 0;padding:.4rem .6rem .4rem 2rem;font-size:12.5px;border:1px solid var(--line-2);border-radius:var(--r);max-height:12rem;overflow-y:auto}.lookup-history li{padding:.1rem 0}.lookup-history .mono{color:var(--faint);font-size:11px;margin-right:.3rem}.locked-banner{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.15rem;background:var(--warn-bg);color:var(--warn);border-bottom:1px solid #f6dfb5;font-size:13px}.locked-banner b{color:var(--ink)}.locked-banner>span{flex:1}.locked-banner>button{flex:0 0 auto;padding:.35rem .7rem;font-size:12.5px}.plain-fieldset{border:0;margin:0;padding:0;min-width:0}.plain-fieldset:disabled{opacity:.75}.lib-item:disabled{opacity:.45;cursor:not-allowed}.label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.label-row .pick-btn{padding:.15rem .5rem;font-size:12px;color:var(--accent)}.picker-state{display:flex;align-items:center;gap:.6rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);font-size:13px;margin-bottom:.9rem}.picker-state .dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--skip);flex:0 0 auto}.picker-state.picking{border-color:#f7c6c6;background:var(--fail-bg)}.picker-state.picking .dot{background:var(--fail);animation:pulse 1.2s infinite}.picker-state.browsing .dot{background:var(--pass)}.picked-summary{font-size:13px;font-weight:600;margin-bottom:.3rem;word-break:break-all}.picked-list{margin:.6rem 0 0;padding-left:1.3rem}.picked-list li{padding:.2rem 0;font-size:12.5px}.picked-list li>*{vertical-align:middle;margin-right:.4rem}.picked-list li .mono{display:inline-block;max-width:26rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-steps{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.gen-step{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem .75rem;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:13px}.gen-step:last-child{border-bottom:0}.gen-step.off{opacity:.45}.gen-step input{margin-top:.2rem}.gen-step .n{color:var(--faint);font-weight:650;width:1.2rem;text-align:right}.gen-step .glyph{color:var(--ink-2);margin-top:.05rem}.gen-step .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.gen-step .body .mono{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-step .src{font-size:11.5px;color:var(--faint);font-style:italic}.gen-step .problem{font-size:11.5px;color:var(--warn)}.gen-step .problem.error{color:var(--fail)}.suite-filter-btn{display:inline-flex;align-items:center;gap:.45rem;min-width:12rem;background:var(--surface);color:var(--ink-2)}.suite-filter-btn .label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14rem}.suite-filter-btn .n,.suite-option .n{color:var(--faint);font-size:12px;font-weight:600}.suite-filter-btn.on{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--accent)}.suite-filter-pop{left:0;right:auto;width:17rem;padding:.5rem}.suite-filter-pop .searchbox{position:relative;margin-bottom:.4rem}.suite-filter-pop .searchbox svg{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--faint)}.suite-filter-pop .searchbox input{padding-left:2rem;width:100%}.suite-options{max-height:16rem;overflow:auto}.suite-option{display:flex;align-items:center;gap:.45rem;width:100%;border:0;background:transparent;padding:.45rem .5rem;border-radius:8px;text-align:left}.suite-option.active{background:var(--surface-2)}.suite-option.selected{color:var(--accent);font-weight:600}.suite-option .check{width:14px;display:inline-grid;place-items:center}.suite-option .label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger{display:flex;align-items:center;justify-content:flex-start;gap:.4rem;width:100%;font:inherit;font-weight:400;text-align:left;padding:.55rem .6rem .55rem .7rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink)}.select-trigger:hover:not(:disabled){background:var(--surface);border-color:var(--line)}.select-trigger:focus-visible,.select-trigger[aria-expanded=true]{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.select-trigger:disabled{opacity:.6;cursor:not-allowed}.select-trigger .select-value{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-trigger svg{flex:0 0 auto;color:var(--muted)}.select-pop{position:fixed;z-index:1000;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:.45rem}.select-pop .searchbox{position:relative;margin-bottom:.35rem;flex:0 0 auto}.select-pop .searchbox svg{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--faint)}.select-pop .searchbox input{padding:.45rem .6rem .45rem 2rem;font-size:13px}.select-options{overflow:auto;min-height:0}.select-group{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);padding:.5rem .5rem .2rem}.select-option{display:flex;align-items:center;justify-content:flex-start;gap:.45rem;width:100%;border:0;background:transparent;padding:.42rem .5rem;border-radius:8px;text-align:left;font-size:13px;font-weight:400;color:var(--ink)}.select-option:hover:not(:disabled){background:transparent}.select-option.active{background:var(--surface-2)}.select-option.active:hover:not(:disabled){background:var(--surface-2)}.select-option.selected{color:var(--accent);font-weight:600}.select-option:disabled{color:var(--faint);cursor:default}.select-option .check{width:14px;display:inline-grid;place-items:center;flex:0 0 auto}.select-option .label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-empty{padding:.7rem;color:var(--muted);font-size:13px}.toolbar .status-group .select-trigger{width:auto;min-width:8rem}.env-pill .select-trigger{border:none;background:transparent;padding:0;width:auto;gap:.25rem;font-weight:600;color:inherit;box-shadow:none}.env-pill .select-trigger:hover:not(:disabled){background:transparent}.env-pill .select-trigger svg{color:inherit}.strategy .select-trigger{flex:0 0 6.5rem;width:6.5rem;padding:.4rem .4rem .4rem .5rem;font-size:12.5px}.auth{min-height:100vh;display:grid;place-items:center;padding:2rem 16px;background:var(--bg)}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;overflow:auto;background:#0f1c3659;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.auth-overlay .auth{background:transparent}.auth-card{width:min(24rem,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:1.75rem 1.6rem 1.4rem}.auth-card .logo{display:flex;align-items:center;gap:.6rem;margin-bottom:1.4rem}.auth-card .logo .mark{width:2.3rem;height:2.3rem;border-radius:11px;display:grid;place-items:center;background:linear-gradient(140deg,#5b6ff0,#3f4fd8);color:#fff;box-shadow:0 4px 10px #4a5fe852}.auth-card .logo .word{font-size:19px;font-weight:800;letter-spacing:-.02em}.auth-card .logo .word em{font-style:normal;color:var(--accent)}.auth-card h1{font-size:20px;letter-spacing:-.01em;margin-bottom:.4rem}.auth-card .lead{color:var(--muted);margin:0 0 1rem;line-height:1.5}.auth-card h1+.field,.auth-card h1+.issues{margin-top:1rem}.auth-card input{width:100%}.auth-card .issues{line-height:1.45}.issues.ok{background:var(--pass-bg)}.field .hint.bad{color:var(--fail)}button.wide{width:100%;padding:.65rem;margin-top:.25rem}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:1.1rem;font-size:13px;color:var(--muted)}.auth-links a{color:var(--accent);cursor:pointer;font-weight:600}.auth-links a:hover{text-decoration:underline}.sidebar .whoami-row{display:flex;align-items:center;border-top:1px solid var(--line)}.sidebar .whoami-row .whoami{border-top:none;flex:1;min-width:0}.sidebar .whoami-row .signout{margin-right:.6rem;color:var(--muted);flex:0 0 auto}.sidebar .whoami-row .signout:hover:not(:disabled){color:var(--fail)}.sidebar nav.scrolling{flex:1;min-height:0;overflow-y:auto}.switcher{position:relative}.switcher .popover{left:.85rem;right:auto;width:calc(100% - 1.7rem);top:calc(100% + .1rem);padding:.4rem}.sidebar .switcher-option,.switcher-option{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;background:transparent;border-color:transparent;padding:.5rem .55rem;border-radius:9px;justify-content:flex-start;font-weight:500}.switcher-option:hover:not(:disabled){background:var(--surface-2);border-color:transparent}.sidebar nav .switcher-option.selected,.switcher-option.selected{background:var(--accent-soft);color:var(--accent);font-weight:600}.switcher-option .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-option .role{font-size:11px;color:var(--muted);font-weight:500}.switcher-sep{height:1px;background:var(--line);margin:.35rem .2rem}.switcher-heading{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700;padding:.4rem .55rem .2rem}.sidebar .project-switch{margin:.1rem .85rem .35rem;padding:.5rem .65rem;border:1px dashed var(--line);border-radius:11px;display:flex;align-items:center;gap:.55rem;width:calc(100% - 1.7rem);background:var(--surface-2);text-align:left;justify-content:flex-start;color:var(--ink-2)}.sidebar .project-switch:hover:not(:disabled){border-color:var(--accent-ring);background:var(--accent-soft)}.project-switch .meta{flex:1;min-width:0}.project-switch .meta b{display:block;font-size:13px;font-weight:650;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-switch .meta span{font-size:11px;color:var(--muted)}.sidebar nav button.nested{padding-left:2.1rem;font-size:13px}.sidebar nav button.nested:after{content:"";position:absolute;left:1.25rem;top:0;height:50%;width:.55rem;border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-bottom-left-radius:5px}.sidebar nav button.nested.active:after{border-color:transparent}.nav-collapsed .sidebar{flex-basis:4.5rem}.nav-collapsed .sidebar .logo{flex-direction:column;padding:1rem .5rem .8rem;gap:.55rem}.nav-collapsed .sidebar .logo .word{display:none}.nav-collapsed .sidebar .logo .nav-toggle{margin:0}.nav-collapsed .sidebar .workspace,.nav-collapsed .sidebar .project-switch{width:calc(100% - 1.1rem);margin-left:.55rem;margin-right:.55rem;padding:.5rem 0;justify-content:center}.nav-collapsed .sidebar .workspace .meta,.nav-collapsed .sidebar .workspace .chev,.nav-collapsed .sidebar .project-switch .meta,.nav-collapsed .sidebar .project-switch>svg:last-child{display:none}.nav-collapsed .sidebar .switcher .popover{left:calc(100% - .2rem);top:0;width:17rem}.nav-collapsed .sidebar nav{padding:.35rem .55rem}.nav-collapsed .sidebar nav button{justify-content:center;padding:.6rem 0}.nav-collapsed .sidebar nav button>span{display:none}.nav-collapsed .sidebar nav button.nested{padding-left:0}.nav-collapsed .sidebar nav button.nested:after{display:none}.nav-collapsed .sidebar nav button.active:before{left:-.55rem}.nav-collapsed .sidebar nav .group{font-size:0;padding:.45rem .35rem}.nav-collapsed .sidebar nav .group:before{content:"";display:block;height:1px;background:var(--line)}.nav-collapsed .sidebar .whoami-row{flex-direction:column;padding-bottom:.4rem}.nav-collapsed .sidebar .whoami-row .whoami{justify-content:center;padding:.7rem 0 .4rem}.nav-collapsed .sidebar .whoami .who{display:none}.nav-collapsed .sidebar .whoami-row .signout{margin:0}.nav-mobile .sidebar{position:fixed;top:0;bottom:0;left:0;z-index:60;width:min(18rem,86vw);transform:translate(-100%);transition:none}.nav-mobile.nav-animate .sidebar{transition:transform .25s ease,box-shadow .25s ease}.nav-open .sidebar{transform:none;box-shadow:0 0 48px #04091673}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#080e1e80;opacity:0;pointer-events:none;transition:opacity .25s ease}.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.mobile-bar{display:flex;align-items:center;gap:.55rem;flex:0 0 auto;padding:.5rem .75rem;background:var(--nav-bg);color:#f1f4fb}.mobile-bar button{color:inherit}.mobile-bar button:hover:not(:disabled){background:#ffffff14}.mobile-bar .mark{width:1.7rem;height:1.7rem;border-radius:8px;flex:0 0 auto;background:linear-gradient(140deg,#5b6ff0,#3f4fd8);display:grid;place-items:center}.mobile-bar .where{font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.sidebar,.nav-mobile.nav-animate .sidebar,.nav-backdrop{transition:none}}.badge.role{background:var(--accent-soft);color:var(--accent);text-transform:none;letter-spacing:0;font-weight:650}.badge.role.admin{background:#efe9fd;color:#6b3fd4}.badge.role.viewer{background:var(--line-2);color:var(--muted)}.badge.private{background:#fdf2e8;color:#a3561c;text-transform:none;letter-spacing:0;display:inline-flex;align-items:center;gap:.25rem}.badge.shared{background:var(--line-2);color:var(--ink-2);text-transform:none;letter-spacing:0;display:inline-flex;align-items:center;gap:.25rem}.chip-button{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-weight:550}.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.matrix th,.matrix td{padding:.5rem .7rem;border-bottom:1px solid var(--line);text-align:center}.matrix th:first-child,.matrix td:first-child{text-align:left}.matrix thead th{background:var(--surface-2);font-size:12px;color:var(--muted);font-weight:650}.matrix tbody tr:last-child td{border-bottom:none}.matrix td.yes{color:var(--pass);font-weight:700}.matrix td.no{color:var(--line)}.matrix td.mine{background:var(--accent-soft)}.matrix th.mine{background:var(--accent-soft);color:var(--accent)}.welcome{max-width:34rem;margin:3rem auto}.welcome h1{font-size:24px;margin:0 0 .4rem}.welcome .panel{padding:1.25rem}.data-grid{border-collapse:collapse;font-size:13px}.data-grid th,.data-grid td{border:1px solid var(--line);padding:0}.data-grid th{background:var(--surface-2)}.data-grid input{border:none;border-radius:0;padding:.4rem .5rem;min-width:9rem;width:100%;background:transparent}.data-grid th input{font-weight:650;font-family:JetBrains Mono,Consolas,monospace;font-size:12px}.data-grid td.rownum{color:var(--faint);font-size:11px;text-align:center;padding:0 .4rem;background:var(--surface-2)}.data-grid td.act,.data-grid th.act{border:none;background:transparent;padding:0 .2rem}.script-editor .code-area{font-size:12.5px;line-height:1.55;-moz-tab-size:2;tab-size:2;white-space:pre;overflow-x:auto;min-height:9rem}.script-try button{margin-top:.45rem}.script-outcome{margin-top:.55rem;border-radius:var(--r);padding:.55rem .7rem;font-size:12.5px}.script-outcome.ok{background:var(--pass-bg)}.script-outcome.failed{background:var(--fail-bg)}.script-outcome-head{font-weight:600}.script-outcome.ok .script-outcome-head{color:var(--pass)}.script-outcome.failed .script-outcome-head{color:var(--fail)}.script-outcome pre{margin:.35rem 0 0;white-space:pre-wrap;word-break:break-word;max-height:14rem;overflow:auto}.script-outcome .script-logs{color:var(--muted);border-top:1px solid var(--line);padding-top:.35rem}
