:root{--ink:#1b2434;--muted:#7d8796;--line:#e5e9ef;--purple:#6559ca;--bg:#f7f8fa;--green:#24836c;--red:#b95350}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{outline-offset:4px}button{cursor:pointer}header{height:78px;padding:0 42px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:750;letter-spacing:-.8px}.brand svg{width:30px;height:30px;fill:var(--purple);transform:rotate(-12deg)}.brand small{font-size:12px;letter-spacing:.4px;color:var(--muted);font-weight:500;margin-left:14px;border-left:1px solid var(--line);padding-left:14px}.header-right{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.header-right a{margin-left:25px;color:var(--ink)}.dot{width:6px;height:6px;background:#68a78f;border-radius:50%}.layout{max-width:1640px;display:grid;grid-template-columns:215px minmax(0,1fr);margin:auto}aside{padding:35px 18px 25px 26px;position:sticky;top:78px;height:calc(100vh - 78px);overflow:auto;border-right:1px solid var(--line)}.aside-title{font-size:11px;font-weight:600;color:var(--muted);padding:0 12px 15px;letter-spacing:1px}nav{display:flex;flex-direction:column;gap:4px}.cat{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;width:100%;padding:10px 12px;border-radius:7px;color:#626d7c;font-size:12px}.cat:hover{background:#edf0f5}.cat.active{background:#eceaf8;color:var(--purple);font-weight:650}.cat .mark{width:21px;height:21px;display:grid;place-items:center;background:#e9edf3;border-radius:5px;font-size:10px;font-weight:700}.cat.active .mark{background:#dad5f3}.cat .count{margin-left:auto;font-size:11px;color:#8d94a2}.cat.failure{margin-top:12px;border-top:1px solid var(--line);border-radius:0;padding-top:19px;color:var(--red)}.cat.failure.active{border-radius:7px;background:#f9eae7}.aside-note{margin:32px 12px 0;padding-top:23px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.aside-note strong{color:#556174;font-size:12px}.aside-note a{margin-top:12px;color:var(--purple)}main{padding:45px 45px 20px;min-width:0}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--purple);font-weight:650}h1{font-size:38px;font-weight:650;letter-spacing:-1.3px;margin:12px 0 14px;line-height:1.25}.lead{font-size:14px;color:#778292;line-height:1.9;margin:0}.intro{position:relative;padding-bottom:28px}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:31px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 0}.stats>div{padding:0 26px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats strong{font-size:28px;font-weight:600;letter-spacing:-.8px;display:block}.stats strong span{font-size:12px;margin-left:5px;color:#8e96a3;font-weight:450;letter-spacing:0}.stats small{font-size:11px;color:var(--muted);display:block;margin-top:2px}.notice{font-size:11px;color:#7e8596;background:#efeff7;border:1px solid #e6e5f1;border-radius:7px;padding:11px 15px;display:flex;gap:13px;align-items:flex-start}.notice>span{white-space:nowrap;color:var(--purple);font-weight:650}.library{margin-top:35px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.toolbar>div:first-child{display:flex;align-items:baseline;gap:12px}.toolbar h2{font-size:19px;margin:0;font-weight:600;white-space:nowrap}#view-count{font-size:11px;color:var(--muted)}.filters{display:flex;gap:10px}.search{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:7px;gap:8px;padding:8px 11px;color:#8a93a2}.search input{border:0;background:none;outline:none;width:190px;font-size:12px;color:var(--ink)}select{background:white;border:1px solid var(--line);border-radius:7px;color:#677284;font-size:12px;padding:8px 10px}.group{margin-bottom:32px;scroll-margin-top:110px}.group-title{display:flex;align-items:center;gap:9px;margin:22px 0 13px;font-size:14px;font-weight:650}.group-title small{font-size:11px;font-weight:450;color:var(--muted)}.group-title .badge{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:6px;background:#e6e9f4;color:#637098;font-size:10px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{transform:translateY(-2px);box-shadow:0 7px 22px #1c27400c}.thumb{position:relative;display:block;border:0;padding:0;width:100%;background:#121926;cursor:pointer;overflow:hidden;aspect-ratio:1024/896}.thumb img{width:100%;height:100%;object-fit:contain;display:block}.thumb:after{content:'▶';position:absolute;inset:0;margin:auto;width:42px;height:42px;border-radius:50%;background:#121827cc;color:white;display:grid;place-items:center;padding-left:3px;border:1px solid #ffffff50;font-size:13px;opacity:0;transition:opacity .2s}.thumb:hover:after,.thumb:focus:after{opacity:1}.duration{position:absolute;bottom:8px;right:9px;font-size:10px;color:white;background:#111827bb;padding:2px 5px;border-radius:3px}.card-body{padding:14px 15px}.card-tags{display:flex;justify-content:space-between;font-size:10px;color:#8b95a3;margin-bottom:7px}.status-good{color:var(--green)}.status-bad{color:var(--red)}.card h3{font-size:13px;font-weight:550;line-height:1.6;margin:0 0 11px;min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-foot{font-size:10px;color:#9ba3af;display:flex;justify-content:space-between;border-top:1px solid #f0f2f5;padding-top:10px}.card-foot button{background:none;color:var(--purple);border:0;padding:0;font-size:11px}.empty{padding:70px 15px;text-align:center;color:var(--muted)}.method{padding:35px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:40px;scroll-margin-top:110px}.method h2{font-size:20px;letter-spacing:-.5px;font-weight:600}.method p{margin:0 0 14px;font-size:12px;color:#7a8493;line-height:1.9}.method a{color:var(--purple)}footer{padding:25px 0 10px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.3px;color:#a0a7b3;border-top:1px solid var(--line)}dialog{padding:0;border:1px solid #d9dfe8;border-radius:12px;width:min(1380px,96vw);max-height:94vh;color:var(--ink);background:#fff;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#0c1429bb;backdrop-filter:blur(5px)}.player-top{padding:18px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.player-top h2{font-size:18px;font-weight:600;margin:4px 0 0}.icon-btn{background:#f2f4f7;border:0;border-radius:50%;width:34px;height:34px;color:#718097}.player-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.screen{background:#0c1320;min-width:0;display:flex;flex-direction:column;justify-content:center}.screen video{display:block;width:100%;max-height:70vh}.playback-note{color:#8490a4;font-size:10px;text-align:center;padding:7px}.player-nav{display:flex;justify-content:space-between;align-items:center;padding:12px;color:#95a2b5;font-size:11px}.player-nav button{background:#1b2638;border:1px solid #2a374c;color:#b3bfd2;border-radius:5px;font-size:11px;padding:7px 13px}.details{padding:20px;max-height:78vh;overflow:auto}.detail-label{font-size:11px;color:#8b94a2}#goal{font-size:14px;line-height:1.7;margin:8px 0 15px;overflow-wrap:anywhere}#payloads{font-size:11px;color:#6d7785;overflow-wrap:anywhere}.outcome{padding:10px;background:#f3f6f8;font-size:11px;border-radius:6px;margin:16px 0}.downloads{display:flex;gap:18px;font-size:11px;color:var(--purple)}.action-heading{display:flex;justify-content:space-between;font-size:11px;margin:25px 0 10px}.action-heading span{color:#929baa}#actions{list-style:none;padding:0;margin:0;max-height:340px;overflow:auto}#actions button{display:flex;gap:12px;width:100%;border:0;border-bottom:1px solid #f0f2f5;background:white;text-align:left;padding:9px 6px;font-size:11px;color:#596579}#actions button.active{background:#eceaf9;color:var(--purple)}#actions .step{color:#9ba4b3;min-width:20px}#actions .stamp{margin-left:auto;color:#9ba4b3}#verification{font-weight:600}@media(min-width:1600px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){main{padding:32px 25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:190px minmax(0,1fr)}.stats>div{padding:0 16px}.toolbar{align-items:flex-start;flex-direction:column}.filters{width:100%}.search{flex:1}.search input{width:100%}.player-body{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}}@media(max-width:740px){header{padding:0 18px;height:65px}.brand{font-size:20px}.brand small{font-size:11px;margin-left:8px;padding-left:8px}.header-right{display:none}.layout{display:block}aside{position:sticky;top:65px;background:var(--bg);height:auto;padding:9px 12px;border-right:0;border-bottom:1px solid var(--line);z-index:9;overflow:auto}.aside-title,.aside-note{display:none}nav{flex-direction:row;min-width:max-content;gap:5px}.cat{width:auto;padding:7px 10px;gap:6px}.cat .mark{display:none}.cat .count{margin-left:4px}.cat.failure{margin:0;padding:7px 10px;border:0}.cat.failure.active{border-radius:7px}main{padding:27px 18px}h1{font-size:30px}.stats{grid-template-columns:1fr 1fr;row-gap:18px;padding:17px 0}.stats>div:nth-child(2){border:0}.stats strong{font-size:25px}.stats small{font-size:10px}.notice{font-size:10px;gap:8px}.grid{gap:12px}.card-body{padding:11px}.card h3{font-size:12px}.card-foot{flex-wrap:wrap;gap:5px}.method{display:block}.method h2{margin-bottom:22px}footer{display:block}footer span{display:block;margin-bottom:5px}.player-body{display:block}.details{max-height:none}.screen video{max-height:47vh}.player-top{padding:12px}.player-top h2{font-size:15px}.details{padding:16px}#actions{max-height:230px}.header-right a{display:none}}@media(max-width:420px){.grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}.search{min-width:180px}h1{font-size:28px}}
