:root{--pine:#173f35;--pine-hover:#235747;--paper:#f7f8f4;--surface:#fff;--ink:#202d28;--muted:#64716b;--line:#dce2dc;--danger:#a53336;--warning:#875c13;--success:#246448;--font-body:14px;--font-small:12px;--font-label:12px;--font-title:28px;--font-section:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-small:4px;--radius-control:6px;--radius:8px;--radius-large:12px;--border-width:1px;--shadow:none;font-family:PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box;scrollbar-width:none!important}::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}body{margin:0;font-size:var(--font-body);line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p{margin:0}h1{font-size:var(--font-title);line-height:1.4;letter-spacing:-.6px}h1,h2{font-weight:600}h2{font-size:var(--font-section);line-height:1.5}h3{font-size:var(--font-body);font-weight:600}p{overflow-wrap:anywhere}svg{flex-shrink:0;vertical-align:middle}input,select,textarea{width:100%;border:1px solid #c8d2ca;border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:9px 11px;min-height:40px}textarea{resize:vertical;line-height:1.65}input::placeholder,textarea::placeholder{color:#657166}input[type=checkbox],input[type=radio]{width:16px;min-height:16px;height:16px;margin:0;accent-color:var(--pine)}input[type=file]{font-size:var(--font-small);padding:8px}select[multiple]{min-height:64px}label{font-size:13px}:focus-visible{outline:3px solid #86ac9c;outline-offset:3px}.app-shell{min-height:100vh;display:grid;grid-template-columns:216px minmax(0,1fr)}.sidebar{background:var(--pine);color:#e9f1e8;padding:32px 20px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:600;letter-spacing:2px;line-height:1.25}.brand-mark{height:44px;width:44px;display:block;flex-shrink:0;color:#e8edcc;background:currentColor;-webkit-mask:url(/images/xianji-logo.webp) center/contain no-repeat;mask:url(/images/xianji-logo.webp) center/contain no-repeat}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:5px;font-weight:400;opacity:.7}.workspace-label{font-size:12px;color:#a8bfb5;letter-spacing:2px;margin:48px 12px 14px}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 12px;border-radius:var(--radius-control);font-size:13px;margin:3px 0;color:#c0d0c8}.nav-item.active{background:#31564a;color:#fff}.nav-item:hover{background:#294e42}.sidebar-bottom{margin-top:auto}.quiet-note{gap:var(--space-2);color:#adc3b7;font-size:var(--font-label);padding:16px 0;border-bottom:1px solid #426255;margin-bottom:18px}.profile,.quiet-note{display:flex;align-items:center}.profile{gap:10px}.avatar{height:32px;width:32px;background:#d1dfc7;color:var(--pine);border-radius:50%;display:grid;place-items:center}.profile strong{font-size:var(--font-small);display:block}.profile .text-button{font-size:12px;color:#b9cec1}.main-shell{min-width:0;display:flex;flex-direction:column}.topbar{height:68px;border-bottom:1px solid var(--line);background:#ffffffb3;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:var(--font-small)}.topbar strong{font-weight:500}.slash{margin:0 14px;color:#a6b1a8}.topbar-note{color:var(--muted);display:flex;gap:var(--space-2);align-items:center;font-size:var(--font-label)}.environment-dot,.live-dot{background:#6b8d74;width:6px;height:6px;border-radius:50%;display:inline-block}.main-content{padding:40px;max-width:1400px;width:100%;margin:0 auto;flex:1 1}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:var(--space-6)}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:#596b5d}.page-title h1{margin:10px 0}.muted{color:var(--muted);font-size:13px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:16px}.section-heading p{margin-top:5px}.count{font-size:var(--font-label);background:#e9eee8;color:#536455;border-radius:4px;display:inline-block;min-width:24px;text-align:center;padding:1px 6px;margin-left:6px}.button,.count{font-weight:500}.button{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-control);font-size:var(--font-small);white-space:nowrap}.primary{background:var(--pine);color:white;border-color:var(--pine)}.primary:hover{background:var(--pine-hover)}.secondary{background:white;border-color:#ccd5cd;color:var(--ink)}.secondary:hover{background:#f1f4ee}.danger{background:var(--danger);color:white}.quiet{background:transparent;color:var(--muted)}.quiet:hover{background:#edf1e9}.text-button{border:0;background:none;padding:0;color:var(--pine);font-size:var(--font-small)}.icon-button{border:1px solid transparent;background:transparent;width:34px;height:34px;display:inline-grid;place-items:center;border-radius:5px;color:var(--muted);padding:0}.icon-button:hover{background:#e8eee6}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow)}.panel>h2{display:flex;gap:var(--space-2);align-items:center}.panel>h2,.panel>p{margin-bottom:16px}.panel>h3{margin:20px 0 8px}.stack{display:flex;flex-direction:column;gap:20px}.form-grid,.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.field{display:flex;flex-direction:column;gap:7px;color:#43554a;font-weight:500;min-width:0}.field small{color:var(--muted);font-size:var(--font-label);font-weight:400}.form-actions,.full{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:var(--space-4)}.error{background:#fff1ef;color:var(--danger);border:1px solid #ecc6bf;padding:12px;border-radius:var(--radius-control)}.error,.success{font-size:var(--font-small)}.success{color:var(--success)}.notice{padding:16px;background:#eef4eb;border:1px solid #d7e1d0;border-radius:var(--radius-control);color:#36553b;font-size:var(--font-small)}.notice a{text-decoration:underline;font-weight:600}.warning{background:#fbf4e5;border-color:#e9d6ab;color:var(--warning)}.empty{padding:56px 24px;text-align:center;border:1px dashed #ced7cc;border-radius:var(--radius);color:#7c8d7e;background:#f8faf5}.empty h3{font-size:16px;color:var(--ink);margin:16px 0 8px}.empty p{max-width:470px;margin:auto;color:var(--muted);font-size:13px}.disclosure{margin-bottom:16px}.disclosure>summary{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--pine);background:var(--pine);color:white;border-radius:var(--radius-control);font-size:var(--font-small);cursor:pointer;list-style:none}.disclosure>summary::-webkit-details-marker{display:none}.disclosure[open]>summary{margin-bottom:16px}.disclosure.subtle>summary{border-color:#cbd5ca;background:transparent;color:var(--pine)}.disclosure.subtle{margin:20px 0 0}.product-list{display:flex;flex-direction:column;gap:12px}.product-row{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6);transition:border-color .15s}.product-row:hover{border-color:#95ad94;box-shadow:var(--shadow)}.product-icon{height:48px;width:48px;display:grid;place-items:center;background:#eef2e8;color:#4e6f54;border:1px solid #e2e8da;border-radius:10px;flex-shrink:0}.grow{flex:1 1;min-width:0}.row-title{display:flex;gap:12px;align-items:center}.row-title h3{font-size:17px;font-weight:600}.product-row p{color:var(--muted);font-size:var(--font-small);margin-top:4px}.code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:var(--font-label);color:#63715f;letter-spacing:.3px}.platform-label{border:1px solid var(--line);border-radius:4px;color:#647864;padding:2px 8px;font-size:12px}.page-footer{padding:20px 40px;display:flex;justify-content:space-between;color:#63715f;font-size:12px;letter-spacing:1px}.page-footer span{letter-spacing:2px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0;margin-bottom:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics>div{padding:0 24px;border-right:1px solid var(--line)}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics span{font-size:var(--font-label);color:var(--muted);display:block}.metrics strong{font-size:30px;font-weight:500;line-height:1.4;display:block;margin-top:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metrics small{font-size:var(--font-label);font-weight:400;color:#64715d;margin-left:8px}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow:auto;white-space:nowrap}.tabs a{padding:0 0 14px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.tabs a.active{color:var(--pine);font-weight:600;border-color:var(--pine)}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.simple-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:12px 0;border-bottom:1px solid #edf0e9;font-size:13px}.simple-row:last-child{border-bottom:0}.simple-row strong{font-weight:500}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:20px}.inline-form .field{flex:1 1}.config-grid .form-grid{margin-top:20px}.environment-row{padding:12px 0;border-bottom:1px solid #edf0e9}.environment-row strong{font-size:13px;display:block}.environment-row a{font-size:var(--font-label);color:var(--muted);overflow-wrap:anywhere}.checkbox,.checks,.checks label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-small)}.checks{gap:20px;min-height:40px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 8px;background:#eef1ec;color:#5c6d5b;border-radius:4px;white-space:nowrap}.badge i{width:4px;height:4px;border-radius:50%;background:currentColor}.badge-closed,.badge-passed{background:#e8f2e6;color:#37623e}.badge-P0,.badge-P1,.badge-failed{background:#fceeea;color:#9a4640}.badge-blocked,.badge-pending_retest{background:#fbf2d9;color:#87641b}.badge-in_progress,.badge-reopened{background:#eaf0f7;color:#42627d}.case-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white}.case-row{border-bottom:1px solid var(--line)}.case-row:last-child{border-bottom:0}.case-row>summary{display:flex;align-items:center;gap:var(--space-4);padding:18px 20px;cursor:pointer;list-style:none}.case-row>summary strong{flex:1 1;font-weight:500;font-size:13px}.case-row>summary .muted{font-size:var(--font-label)}.case-row.archived>summary{opacity:.6}.case-detail{padding:var(--space-6);border-top:1px solid var(--line);background:#fafcf8}.preline{white-space:pre-wrap;font-size:13px;line-height:1.8}.plan-section{margin-top:12px}.plan-row{display:flex;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fafbf8}.plan-row strong{font-size:13px;display:block;margin-bottom:10px}.step-number{font-size:var(--font-label);color:#73836c}.row-tools{display:flex;flex-direction:column}.align-start{align-self:flex-start}.published-list{margin-top:20px}.run-row{display:flex;align-items:center;gap:var(--space-4);padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.run-row:hover{border-color:#9baf95}.run-row>span:not(.product-icon){font-size:var(--font-small);color:var(--pine)}.run-row h3{font-size:16px;font-weight:500}.run-row p{margin-top:5px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:var(--font-small)}th{text-align:left;font-weight:500;color:var(--muted);background:#f3f5f0;padding:12px 16px;white-space:nowrap}td{padding:16px;border-top:1px solid var(--line)}td a{display:flex;flex-direction:column;gap:4px}td strong{font-size:13px;font-weight:500}td .muted{font-size:var(--font-label)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-small);color:var(--muted);margin-bottom:24px}.issue-header{margin-bottom:28px}.issue-header h1{margin:12px 0}.issue-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-6)}.metadata-row{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--font-label);color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}.metadata-row strong{margin-left:4px;color:#435648;font-weight:500}.issue-description,.issue-grid .two-columns{margin-bottom:24px}.issue-grid h3{margin-bottom:8px}.retest-panel{border-color:#a5b999;background:#f8fbf3}.activity-list{list-style:none;margin:0;padding:0}.activity-list li{display:flex;gap:14px;padding:0 0 20px;position:relative}.activity-list li>div{flex:1 1;min-width:0}.activity-list .simple-row{padding:0;border:0}.activity-list time{font-size:12px;color:var(--muted)}.activity-dot{width:7px;height:7px;background:#a4b59a;border-radius:50%;margin-top:8px;flex-shrink:0}.activity-status{font-size:var(--font-label);color:#607052;margin:4px 0}.activity-list .preline{font-size:var(--font-small);color:#5c6e5f}.execution-record{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:10px}.execution-record .simple-row{border:0}.attachment-link,.execution-record p{font-size:var(--font-small)}.attachment-link{color:var(--pine)}.auth-page{min-height:100vh;display:grid;grid-template-columns:46% 54%}.auth-story{background:var(--pine);color:#ecf1e8;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-story .eyebrow{color:#b6cbb8;font-size:12px}.auth-story h1{font-size:36px;line-height:1.6;font-weight:500;letter-spacing:1px;margin:24px 0}.auth-story p:not(.eyebrow){color:#bacbbd;line-height:2;font-size:var(--font-body)}.story-rule{width:40px;height:1px;background:#678575;margin:32px 0}.auth-story>div>span{font-family:Songti SC,serif;color:#d0d6b9;font-size:var(--font-body);letter-spacing:4px}.auth-story>small{color:#9bb4a6;font-size:12px;letter-spacing:2px}.auth-panel{display:grid;place-items:center;padding:48px}.auth-form{width:100%;max-width:360px}.auth-form h2{font-size:26px;font-weight:500;margin:14px 0}.auth-form>p{margin-bottom:28px}.auth-help{font-size:var(--font-label);color:var(--muted);margin-top:24px}.auth-form .notice{margin:16px 0}.join-page{min-height:100vh;display:flex;align-items:center;flex-direction:column;gap:32px;padding:48px}.join-page .brand-mark{background:var(--pine)}.join-page .auth-form{max-width:500px}.join-page h1{font-size:24px;margin:12px 0}.join-page .stack{margin:24px 0}.loading-page{display:flex;align-items:center;justify-content:center;gap:12px;min-height:100vh;color:var(--muted)}.spinner{width:18px;height:18px;border:2px solid #cbd7c6;border-top:2px solid var(--pine);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-page{min-height:100vh;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6)}.error-page p{margin:0}.workbench{height:100dvh;display:flex;flex-direction:column;background:#fff;overflow:hidden}.workbench-header{height:76px;flex-shrink:0;display:flex;align-items:center;gap:var(--space-4);padding:0 24px;border-bottom:1px solid var(--line)}.workbench-header h1{font-size:16px;font-weight:600;letter-spacing:0}.workbench-header p{font-size:var(--font-label);color:var(--muted);margin-top:4px}.workbench-header p span{margin:0 6px;color:#b5bfb1}.snapshot-label{gap:6px;font-size:12px;color:#6c7e66;margin-right:12px}.run-progress,.snapshot-label{display:flex;align-items:center}.run-progress{gap:var(--space-6);padding:12px 24px;border-bottom:1px solid var(--line);background:#fafbf7;min-height:56px;flex-shrink:0}.progress-label{display:flex;gap:var(--space-4);align-items:center;font-size:var(--font-small)}.progress-label strong{font-weight:600}.progress-label strong span{font-weight:400;color:var(--muted)}.progress-label .muted{font-size:12px}.progress-track{height:4px;background:#e4eade;flex:1 1;min-width:40px;border-radius:4px;overflow:hidden}.progress-track span{height:100%;display:block;background:#718b5f}.result-counts{display:flex;gap:var(--space-4);font-size:12px;color:var(--muted)}.result-counts>span{display:flex;gap:5px;align-items:center}.dot{width:5px;height:5px;border-radius:50%;background:#a3aea0}.dot.passed{background:#729665}.dot.failed{background:#c66a61}.dot.blocked{background:#c4a252}.workbench-body{display:grid;grid-template-columns:minmax(0,var(--preview-width)) 9px minmax(360px,1fr);flex:1 1;min-height:0}.preview-panel{display:flex;flex-direction:column;background:#eef1ea;min-width:0}.preview-toolbar{display:flex;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);background:#fff;min-height:54px}.preview-toolbar strong,.url-text{font-size:var(--font-label);white-space:nowrap}.url-text{overflow:hidden;text-overflow:ellipsis;color:#64715d;flex:1 1}.preview-mode{display:flex;gap:12px;align-items:center;justify-content:center;padding:12px}.preview-mode button{display:flex;gap:6px;align-items:center;background:transparent;border:1px solid transparent;font-size:var(--font-label);color:#61715a;padding:7px 12px;border-radius:5px}.preview-mode .selected{background:#fff;border-color:#d5decf;color:var(--pine)}.external-mode{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px}.preview-symbol{width:84px;height:84px;display:grid;place-items:center;color:#78916c;border:1px solid #cdd8c5;border-radius:20px;margin-bottom:28px;background:#f5f7ef}.external-mode h2{font-size:24px;font-weight:500;margin:12px 0}.external-mode>p:not(.eyebrow){color:#61715a;font-size:13px;line-height:1.9}.external-mode .button{margin:24px 0 16px}.external-mode small{font-size:12px;color:#61715a}.external-mode .text-button{margin-top:28px;font-size:var(--font-label)}.embed-notice{font-size:12px;color:#6b7964;padding:10px 16px;background:#f6f8f0}.product-frame{width:100%;flex:1 1;border:0;background:white}.resize-handle{display:grid;place-items:center;cursor:col-resize;background:#e7ece1;border-right:1px solid #d5ddce;border-left:1px solid #d5ddce;touch-action:none;color:#607052;z-index:1}.resize-handle svg{width:10px}.execution-panel{display:flex;flex-direction:column;min-width:0;background:#fff;min-height:0}.execution-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 10px;font-size:12px}.execution-toolbar .muted{font-size:12px}.unsaved{color:var(--warning)}.case-switch{padding:0 24px 16px;border-bottom:1px solid var(--line)}.case-switch label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.case-switch select{font-size:var(--font-small)}.execution-scroll{overflow:auto;flex:1 1;padding:var(--space-6);overscroll-behavior:contain}.case-heading{margin-bottom:24px}.case-heading h2{font-size:20px;margin:14px 0 8px}.case-heading .muted{font-size:var(--font-label)}.test-section{margin-bottom:24px}.test-section h3{font-size:var(--font-small);color:#66745f;margin-bottom:10px}.steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.steps li{display:flex;gap:12px}.steps li>span{width:22px;height:22px;border:1px solid #d9e1d3;border-radius:5px;display:grid;place-items:center;color:#607052;font-size:12px;flex-shrink:0}.steps p{font-size:13px;padding-top:1px}.expected-box{padding:16px;background:#f1f6ec;border:1px solid #dce6d4;border-radius:var(--radius-control);margin-bottom:24px}.expected-box h3{font-size:var(--font-small);display:flex;align-items:center;gap:var(--space-2);color:#4c7045;margin-bottom:8px}.expected-box p{font-size:var(--font-small);color:#52694b}.result-options{border:0;margin:0;padding:0;display:flex;gap:var(--space-2)}.result-options legend{font-size:var(--font-small);font-weight:500;margin-bottom:10px}.result-options label{display:flex;align-items:center;justify-content:center;gap:5px;flex:1 1;border:1px solid var(--line);padding:8px 4px;border-radius:5px;font-size:var(--font-label);cursor:pointer}.result-options input{width:12px;height:12px;min-height:12px}.result-options .chosen{border-color:#709363;background:#f0f6e9;color:#3c6333}.result-options .chosen.failed{border-color:#ca9185;background:#fff1ed;color:#9e4c40}.result-options .chosen.blocked{border-color:#c9af76;background:#fcf4df;color:#846421}.execution-actions{display:flex;justify-content:space-between;gap:12px}.execution-form{gap:var(--space-4)}.bug-fields{border:1px solid #e7d4cb;background:#fcf7f1;padding:16px;border-radius:var(--radius-control)}.case-navigation{padding:12px 16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.case-navigation>span{font-size:var(--font-label);color:var(--muted)}@media (min-width:1600px){.main-content{padding:48px 56px}}@media (max-width:1100px){.sidebar{padding:24px 14px}.app-shell{grid-template-columns:184px minmax(0,1fr)}.main-content{padding:28px}.topbar{padding:0 28px}.issue-grid{grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-4)}.panel{padding:20px}.result-counts{gap:10px}.progress-label .muted,.snapshot-label{display:none}.workbench-body{grid-template-columns:minmax(0,var(--preview-width)) 9px minmax(340px,1fr)}.auth-story{padding:40px}.auth-story h1{font-size:30px}}@media (max-width:800px){.app-shell{display:block}.sidebar{height:auto;position:static;padding:14px 20px;flex-direction:row;align-items:center;justify-content:space-between}.sidebar .brand{font-size:var(--font-section)}.brand-mark{height:36px;width:36px}.sidebar .quiet-note,.sidebar nav,.workspace-label{display:none}.sidebar-bottom{margin:0}.topbar{height:52px;padding:0 20px}.topbar-note{display:none}.main-content{padding:24px 20px}.page-title{margin-bottom:24px}h1{font-size:24px}.config-grid,.issue-grid{grid-template-columns:1fr}.metrics>div{padding:0 12px}.metrics span{font-size:12px}.metrics strong{font-size:24px}.case-row>summary{gap:10px;flex-wrap:wrap}.case-row>summary .muted{display:none}.workbench{height:auto;min-height:100dvh;overflow:visible}.workbench-header{padding:12px;height:auto;min-height:72px;gap:10px}.workbench-header h1{font-size:var(--font-body)}.workbench-header .button{font-size:12px;padding:6px 10px}.run-progress{padding:10px 16px;flex-wrap:wrap;gap:10px}.result-counts{width:100%;justify-content:space-between}.workbench-body{display:flex;flex-direction:column}.preview-panel{min-height:260px}.external-mode{padding:var(--space-6)}.external-mode .eyebrow,.preview-symbol{display:none}.external-mode h2{font-size:20px}.external-mode .text-button{margin-top:12px}.external-mode>p:not(.eyebrow){display:none}.external-mode .button{margin:12px 0}.resize-handle{display:none}.product-frame{min-height:440px}.execution-scroll{overflow:visible}.execution-panel{border-top:1px solid var(--line)}.case-navigation{position:sticky;bottom:0;background:#fff}.auth-page{grid-template-columns:1fr}.auth-story{min-height:auto;padding:28px}.auth-story>div,.auth-story>small{display:none}.auth-panel{padding:40px 24px;align-items:start}.auth-form{max-width:420px}.tabs{gap:var(--space-6)}.page-footer{padding:20px}.topbar .slash{margin:0 8px}}@media (max-width:480px){.form-grid,.two-columns{grid-template-columns:1fr}.product-row{padding:16px;gap:12px}.product-row .platform-label{display:none}.product-icon{width:40px;height:40px}.row-title h3{font-size:15px}.metrics{gap:20px;grid-template-columns:repeat(2,1fr)}.metrics>div:nth-child(3){padding-left:0}.metrics>div:nth-child(2){border:0}.page-title h1{font-size:22px}.case-detail{padding:16px}.case-row>summary strong{flex-basis:60%}.tabs a{font-size:var(--font-small)}.issue-header h1{font-size:24px}.panel{padding:18px}.join-page{padding:28px 16px}.section-heading{flex-wrap:wrap}.plan-row .row-tools{flex-direction:column}.result-options{gap:6px}.workbench-header p{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}h1,h2,h3{text-wrap:balance;overflow-wrap:anywhere}.loading-skeleton{max-width:1120px;margin:48px auto;padding:24px;display:flex;flex-direction:column;gap:20px}.skeleton-line{background:#e4eade;border-radius:var(--radius-control);height:20px;width:45%}.skeleton-heading{height:36px;width:60%}.skeleton-row{background:#edf1e9;height:64px;border-radius:var(--radius-control);border:1px solid var(--line)}.assignment-row,.notification-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;border-bottom:var(--border-width) solid var(--line)}.assignment-row .inline-form{flex:0 1 380px}.assignment-row p,.notification-row p{margin:6px 0 0}.published-list .disclosure summary .badge{margin-left:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:760px){.assignment-row,.notification-row{align-items:stretch;flex-direction:column}.assignment-row .inline-form{flex-basis:auto}}.mobile-notifications{display:none}.scope-options{border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);max-height:360px;overflow:auto}.scope-options legend{font-size:var(--font-small);padding:0 8px}.attachment-item{padding:var(--space-4) 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.attachment-preview{display:block;width:auto;max-width:100%;max-height:520px;object-fit:contain;margin-top:var(--space-4)}.quick-workbench{height:auto;min-height:100dvh;overflow:visible}.quick-workbench .workbench-body{display:block;max-width:760px;width:100%;margin:0 auto}.quick-workbench .preview-panel,.quick-workbench .resize-handle{display:none}.test-browser{display:flex;flex-direction:column;flex:1 1;min-width:0;min-height:0;background:var(--surface)}.test-browser-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 0;font-size:12px}.test-browser-heading>span:first-child{display:flex;align-items:center;gap:7px;font-weight:600}.test-browser-kind{color:var(--muted);text-align:right}.test-browser-toolbar{display:flex;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid var(--line)}.browser-navigation{display:flex;gap:1px;flex-shrink:0}.test-browser-toolbar .icon-button{width:30px;height:36px;min-width:30px;padding:0}.test-browser-address{flex:1 1;min-width:0;min-height:36px;font-size:12px;padding:7px 9px;background:var(--paper)}.test-browser-toolbar .button{flex-shrink:0;min-height:36px;padding:7px 12px;font-size:12px}.test-browser-status{font-size:11px;color:var(--muted);padding:5px 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--line);flex-shrink:0}.test-browser-error{margin:0;padding:10px 14px;color:var(--danger);background:#fff5f3;font-size:12px}.native-browser-surface{position:relative;flex:1 1;min-height:0;background:var(--paper)}.browser-empty,.browser-web-fallback{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;text-align:center;color:var(--muted);padding:32px}.browser-empty{height:100%}.browser-empty h2,.browser-web-fallback h2{font-size:20px;color:var(--ink)}.browser-empty p,.browser-web-fallback>p{max-width:440px;font-size:13px;line-height:1.9}.browser-web-fallback{flex:1 1;background:var(--paper);overflow-y:auto}.desktop-start-help{width:100%;max-width:440px;padding:13px 16px;border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:var(--surface);font-size:12px}.desktop-start-help summary{color:var(--pine);cursor:pointer;font-weight:600}.desktop-start-help p{padding-top:10px}.desktop-start-help code{display:inline-block;padding:1px 5px;background:var(--paper);border-radius:3px}.browser-fallback-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin-top:4px}.browser-fallback-actions .text-button{font-size:12px}.browser-preview-notice{display:flex;gap:10px;align-items:center;justify-content:space-between}.browser-preview-notice .text-button{flex-shrink:0;font-size:12px}.browser-loading{animation:spin 1.2s linear infinite}@media (max-width:800px){.preview-panel .test-browser{min-height:500px}.browser-web-fallback{padding:24px 18px}.test-browser-toolbar{gap:4px;padding-inline:8px}.test-browser-toolbar .icon-button{width:26px;min-width:26px}}@media (prefers-reduced-motion:reduce){.browser-loading{animation:none}}.quick-workbench .execution-scroll{overflow:visible}.quick-context{padding:var(--space-5);border-bottom:1px solid var(--line)}.quick-context p{color:var(--muted);margin:var(--space-3) 0}.quick-workbench .case-navigation{position:sticky;bottom:0;background:var(--surface,#fff)}.quick-workbench .execution-panel{min-width:0}.table-wrap:focus-visible{outline:2px solid var(--pine);outline-offset:4px}@media (max-width:800px){.mobile-notifications{display:inline-flex;padding:10px 0 10px 14px;flex-shrink:0}.topbar>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workbench-header{flex-wrap:wrap}.workbench-header .grow{flex-basis:calc(100% - 56px);min-width:0}.workbench-header .button{min-height:44px}.inline-form,.page-title,.row-tools,.section-heading{flex-wrap:wrap}.inline-form .field{min-width:0}input,select,textarea{font-size:16px;max-width:100%}.button,.icon-button{min-height:44px}.icon-button{min-width:44px}.checkbox,.result-options label{min-height:44px}.grow,.main-content,.main-shell,.panel{min-width:0}.simple-row{flex-wrap:wrap}.table-wrap{max-width:100%}.quick-workbench .execution-scroll{padding:20px}.case-switch select{width:100%;min-width:0}}.coverage-table td>.code,.coverage-table td>small,.coverage-table td>strong{display:block}.coverage-table td:first-child{min-width:170px}.coverage-table .code{white-space:normal;overflow-wrap:anywhere;margin-bottom:4px}.website-record-card{border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);overflow:hidden}.website-record-card>summary{cursor:pointer;padding:14px;list-style:none}.website-record-card>summary::-webkit-details-marker{display:none}.website-record-card>summary h3{overflow-wrap:anywhere;margin-top:9px;font-size:14px}.website-record-card>summary p{margin-top:6px;font-size:11px;color:var(--muted)}.website-record-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.website-result{font-size:11px;line-height:1.7;padding:1px 7px;border-radius:4px;color:#45534d;background:#edf1ed}.website-result-failed{color:#963438;background:#f9eded}.website-result-passed{color:#246448;background:#eaf3ed}.website-result-blocked{color:#785716;background:#f8f0dc}.website-followup{font-size:11px;color:var(--muted)}.website-followup-in_progress{color:#87600d}.website-followup-resolved{color:var(--success)}.website-record-content{padding:0 14px 14px;display:flex;flex-direction:column;gap:16px}.website-activity-list p,.website-record-detail{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.website-record-url{display:block;font-size:11px;color:var(--pine);text-decoration:underline;overflow-wrap:anywhere}.website-record-url svg{margin-left:5px}.website-record-followup{padding-top:13px;border-top:1px solid var(--line)}.website-record-followup fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.website-record-followup .error,.website-record-followup .website-record-actions{grid-column:1/-1}.website-comment-form .button,.website-record-followup .button{font-size:12px;min-height:34px}.website-activity-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.website-activity-list li{padding-top:12px}.website-activity-list li>div{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:4px}.website-activity-list time{color:var(--muted)}.website-comment-form{display:flex;flex-direction:column;gap:10px}.website-comment-form>.button{align-self:flex-start}.focused-test-workspace{height:100dvh;min-height:400px;display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.focused-test-header{min-height:66px;display:flex;align-items:center;gap:24px;padding:10px 22px;border-bottom:1px solid var(--line);background:var(--paper);flex-shrink:0}.focused-test-back{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;min-height:40px;font-size:13px}.focused-test-identity{min-width:0;flex:1 1}.focused-test-identity h1{font-size:16px;line-height:1.4;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focused-test-identity>span{display:flex;align-items:center;gap:5px;font-size:11px;color:#52645a;margin-top:3px}.focused-share{font-size:12px;flex-shrink:0}.focused-test-body{flex:1 1;display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:0}.focused-site{display:flex;min-width:0;min-height:0}.test-browser-guided .test-browser-heading{min-height:49px;padding:10px 18px;border-bottom:1px solid var(--line);font-size:13px}.test-browser-guided .environment-dot{display:none}.test-browser-guided .test-browser-kind{font-size:12px;color:#52645a}.test-browser-guided .test-browser-toolbar{padding:10px 14px}.focused-records{display:flex;flex-direction:column;min-width:0;min-height:0;border-left:1px solid var(--line);background:var(--surface)}.focused-record-tabs{display:flex;flex-shrink:0;min-height:49px;border-bottom:1px solid var(--line);padding:0 18px;gap:22px}.focused-record-tabs>button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:10px 1px;color:#52645a;font-size:13px}.focused-record-tabs>button[aria-selected=true]{color:var(--pine);border-bottom-color:var(--pine);font-weight:600}.focused-record-tabs>button>span{margin-left:4px;font-size:12px}.focused-record-panel,.focused-team-panel{flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.focused-record-panel[hidden],.focused-team-panel[hidden]{display:none}.focused-team-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);color:#52645a;font-size:12px}.focused-team-heading .text-button{display:inline-flex;align-items:center;gap:5px;font-size:12px}.focused-team-scroll{min-height:0;flex:1 1;overflow-y:auto;overscroll-behavior:contain}.focused-team-scroll .website-record-card>summary{padding:16px 18px}.focused-team-scroll .website-record-content{padding:0 18px 18px}.website-record-card>summary:hover{background:var(--paper)}.website-record-card>summary h3{padding-right:22px}.website-record-card>summary:after{content:"展开详情与评论";display:block;margin-top:9px;font-size:11px;color:var(--pine)}.website-record-card[open]>summary:after{content:"收起详情"}.focused-team-empty{padding:38px 24px;color:#52645a;text-align:left}.focused-team-empty h2{font-size:16px;color:var(--ink);margin:16px 0 8px}.focused-team-empty p{font-size:13px;line-height:1.8;margin-bottom:22px}.website-record-followup fieldset{border:0;padding:0;margin:0;min-width:0}.website-comment-form .field,.website-record-followup .field{font-size:12px;gap:5px}.website-comment-form textarea,.website-record-followup select{font-size:13px}.website-record-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.website-record-actions .text-button{font-size:12px}.website-workspace-feedback{margin:0;padding:9px 22px;font-size:12px;flex-shrink:0;border-bottom:1px solid var(--line)}.website-navigation-prompt{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:12px 22px;background:#fff8e8;border-bottom:1px solid #e6d8b9;flex-shrink:0}.website-navigation-prompt p{font-size:13px;flex:1 1}.website-test-home{max-width:1000px;margin:0 auto}.website-test-home-heading{margin-bottom:28px}.website-test-home-heading h1{font-size:26px}.website-test-home-heading p{margin-top:8px;font-size:14px;color:#52645a}.website-start-form{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.website-start-form fieldset{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;border:0;padding:0;margin:0;min-width:0}.website-start-form input{font-size:14px}.website-start-form .website-start-url input,.website-start-form>fieldset>button{min-height:44px}.website-start-team{grid-column:1/-1;display:flex;align-items:start;justify-content:space-between;gap:20px;font-size:12px;color:#52645a}.website-start-team>span{display:flex;align-items:center;gap:7px;padding:4px 0}.website-start-team details{max-width:300px}.website-start-team details summary{cursor:pointer;padding:4px 0}.website-start-team details input{margin-top:8px;font-size:12px}.website-recent-tests{margin-top:36px}.website-recent-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.website-recent-heading h2{font-size:16px}.website-recent-heading .text-button{display:inline-flex;align-items:center;gap:6px;font-size:12px}.website-session-row{display:flex;align-items:center;gap:18px;width:100%;text-align:left;padding:18px 4px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink)}.website-session-row:hover{background:#eef2ed}.website-session-row-name{flex:1 1;min-width:0}.website-session-row-name small,.website-session-row-name strong{display:block;overflow-wrap:anywhere}.website-session-row-name strong{font-size:14px}.website-session-row-name small{font-size:12px;color:#52645a;margin-top:4px}.website-session-row-count{font-size:12px;color:#52645a;white-space:nowrap}.website-recent-empty{padding:24px 0;font-size:13px;color:#52645a}@media (max-width:1080px){.focused-test-body{grid-template-columns:minmax(0,1fr) 360px}.test-browser-guided .test-browser-kind{display:none}}@media (max-width:760px){.focused-test-workspace{height:auto;min-height:100dvh;overflow:visible}.focused-test-header{padding:9px 12px;gap:12px;flex-wrap:wrap}.focused-test-identity h1{font-size:14px}.focused-test-identity>span{font-size:11px}.focused-share{padding:6px 9px;font-size:11px}.focused-test-body{display:flex;flex-direction:column}.focused-site{height:54dvh;min-height:340px;flex-shrink:0}.focused-records{height:620px;border-left:0;border-top:1px solid var(--line)}.website-start-form{padding:18px}.website-start-form fieldset{grid-template-columns:minmax(0,1fr)}.website-start-team{flex-wrap:wrap}.website-session-row{gap:10px}.website-session-row-count{font-size:11px}}.app-shell{grid-template-columns:232px minmax(0,1fr)}.sidebar{padding:var(--space-8) var(--space-4) var(--space-5);height:100dvh}.sidebar>.brand{margin:0 var(--space-1);flex-shrink:0}.project-navigation{display:flex;flex-direction:column;min-height:0;flex:1 1;margin-top:var(--space-8)}.sidebar-create{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:#f2f5e9;font:inherit;font-size:13px;text-align:left;cursor:pointer;flex-shrink:0}.sidebar-create:active:not(:disabled),.sidebar-create:focus-visible:not(:disabled),.sidebar-create:hover:not(:disabled){background:#294e42}.sidebar-create:disabled{opacity:.55;cursor:default}.project-navigation .workspace-label{margin:var(--space-6) var(--space-3) var(--space-2);letter-spacing:1px}.sidebar-projects{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#557564 transparent;padding-bottom:var(--space-4)}.project-nav-item{min-height:36px;padding:var(--space-2) var(--space-3);gap:var(--space-2);margin:var(--space-1) 0}.project-nav-item svg{flex-shrink:0}.project-nav-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-feedback{padding:var(--space-2) var(--space-3);color:#c0d0c8;font-size:var(--font-small)}.sidebar-feedback p{margin:0 0 var(--space-2)}.sidebar-retry{display:inline-flex;align-items:center;gap:var(--space-2);border:0;padding:var(--space-1) 0;background:transparent;color:#f2f5e9;cursor:pointer}.sidebar-bottom{flex-shrink:0;padding-top:var(--space-3)}.sidebar :focus-visible{outline:2px solid #d1dfc7;outline-offset:2px}.project-dialog{margin:auto;padding:var(--space-6);width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius-large);background:var(--surface);color:var(--ink)}.project-dialog::backdrop{background:rgb(16 35 28/.45)}.project-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.project-dialog-heading h2{margin:0}.project-dialog>.muted{margin:var(--space-2) 0 var(--space-6);font-size:var(--font-small)}.project-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:var(--space-4)}.project-dialog-actions{justify-content:flex-end}.project-dialog :focus-visible{outline-color:var(--pine)}@media (max-width:800px){.sidebar{height:auto;flex-wrap:wrap;gap:var(--space-4)}.project-navigation{flex-basis:100%;order:3;margin-top:0;max-height:260px}.sidebar .sidebar-projects{display:block}.project-navigation .workspace-label{display:block;margin-top:var(--space-4)}.sidebar-bottom{padding-top:0;display:flex;align-items:center;gap:var(--space-3)}.sidebar-bottom>.nav-item{font-size:var(--font-small);padding:var(--space-1)}}@media (min-width:801px){.app-shell-workspace{height:100dvh;min-height:0;overflow:hidden}.app-shell-workspace .main-shell{min-height:0}.app-shell-workspace .topbar{flex-shrink:0}.app-shell-workspace .main-content{min-height:0;max-width:none;padding:0;overflow:auto}.app-shell-workspace .page-footer{flex-shrink:0;padding:var(--space-2) var(--space-6)}}.app-shell-workspace .main-content{max-width:none;padding:0}.project-nav-row{display:flex;align-items:center;border-radius:var(--radius-control);margin:var(--space-1) 0}.project-nav-row.active{background:#395e4f}.project-nav-row .project-nav-item{flex:1 1;min-width:0;margin:0;padding-right:4px}.project-more{display:grid;place-items:center;width:28px;height:32px;flex-shrink:0;margin-right:4px;border:0;border-radius:5px;background:transparent;color:#c0d0c8;cursor:pointer}.project-more:focus-visible,.project-more:hover{color:white;background:#ffffff1a}.project-action-menu{position:fixed;inset:auto;margin:0;width:176px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:0 6px 24px #10231c26}.project-action-menu :is(button,a){display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 10px;border:0;border-radius:5px;font:inherit;font-size:13px;text-align:left;background:transparent;color:inherit;cursor:pointer}.project-action-menu :is(button,a):focus-visible,.project-action-menu :is(button,a):hover{background:var(--paper)}.project-action-menu .project-delete{color:#a33131;border-top:1px solid var(--line);border-radius:0;margin-top:4px}.project-management-form{margin-top:20px}.project-management-form p{margin:0;line-height:1.7;overflow-wrap:anywhere}.project-management-form .project-delete-confirm{background:#a33131;color:white;border-color:#a33131}.sidebar-archive-toggle{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 12px;border:0;background:transparent;color:#c0d0c8;cursor:pointer;font:inherit;font-size:12px;text-align:left}.sidebar-archive-toggle:hover{color:white}@media (min-width:1100px){.app-shell-workspace{grid-template-columns:216px minmax(0,1fr)}}.app-shell-workspace .sidebar{padding:20px 14px}.app-shell-workspace .page-footer{display:none}.app-shell-workspace .main-content{overflow:hidden}.project-platform{display:block;font-size:12px;opacity:.76;font-weight:400;margin-top:4px}.project-nav-item>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.project-nav-row .nav-item{min-height:60px}.app-shell-workspace .sidebar-create{justify-content:center;border:1px solid #9ab6a8;background:transparent}.app-shell-workspace .project-navigation{margin-top:24px}