:root,[data-theme=dark]{color-scheme:dark;--canvas: #101112;--rail: #151718;--surface: #1b1e20;--surface-raised: #202326;--field: #151819;--line: #343a3d;--line-soft: #292e31;--ink: #e7e9e9;--ink-soft: #d2d8d8;--muted: #8c969a;--faint: #697278;--accent: #c4b6dc;--accent-ink: #1b1820;--accent-soft: #312c3b;--accent-line: #514965;--accent-hover: #d7cee6;--warn: #c39a72;--good: #83ad97;--bad: #d48a8a;--shadow: rgba(0,0,0,.32)}[data-theme=light]{color-scheme:light;--canvas: #f3f3f1;--rail: #ebebe8;--surface: #ffffff;--surface-raised: #fafaf8;--field: #f7f7f5;--line: #d6d9d9;--line-soft: #e6e8e8;--ink: #1d2022;--ink-soft: #33393c;--muted: #6b7478;--faint: #8b9497;--accent: #6a5890;--accent-ink: #ffffff;--accent-soft: #efeaf6;--accent-line: #cfc4e2;--accent-hover: #5a4a7c;--warn: #a8743f;--good: #3f8762;--bad: #b65353;--shadow: rgba(30,30,40,.06)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-width:320px;background:var(--canvas);color:var(--ink);font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,PingFang SC,Microsoft YaHei,monospace;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent)}::selection{background:var(--accent-soft)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 28px;border-bottom:1px solid var(--line);background:var(--canvas);position:sticky;top:0;z-index:5}.embedded .topbar{min-height:52px;padding:0 20px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);font-size:10px;font-weight:700;flex:none}.brand-name{font-size:14px;letter-spacing:-.03em;white-space:nowrap}.brand-name small{display:block;margin-top:1px;color:var(--muted);font-size:9px;letter-spacing:.09em;text-transform:uppercase}.tabs{display:flex;gap:2px;border:1px solid var(--line);padding:2px;background:var(--surface)}.tabs button{border:0;background:transparent;color:var(--muted);padding:5px 13px;min-height:28px}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--accent);background:var(--accent-soft)}.top-actions{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 8px;border:1px solid var(--line);color:var(--muted);font-size:11px;white-space:nowrap}.chip b{color:var(--ink);font-weight:500}.chip.accent{border-color:var(--accent-line);color:var(--accent)}.icon-btn{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--muted)}.icon-btn:hover{color:var(--accent);border-color:var(--accent)}main{width:100%;max-width:1440px;margin:0 auto;padding:26px 28px 48px;flex:1}.embedded main{padding:18px 20px 36px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}h1{margin:0;font-size:clamp(21px,2.6vw,27px);line-height:1;letter-spacing:-.06em;font-weight:600}.heading-note{margin:8px 0 0;color:var(--muted);font-size:12px}.studio{display:grid;grid-template-columns:minmax(330px,420px) minmax(0,1fr);gap:12px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line)}.panel+.panel{margin-top:10px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:12px;font-weight:600}.panel-head span,.panel-head .note{color:var(--muted);font-size:10px}.panel-body{padding:16px}.sticky{position:sticky;top:72px}.embedded .sticky{top:64px}.field-group+.field-group{margin-top:16px}.label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px;color:var(--ink-soft);font-size:11px}.label small{color:var(--muted);font-size:10px}.field{width:100%;height:34px;border:1px solid var(--line);border-radius:1px;background:var(--field);color:var(--ink);padding:0 10px;outline:none}textarea.field{height:auto;min-height:76px;padding:8px 10px;line-height:1.6;resize:vertical}.field:focus{border-color:var(--accent)}.field::placeholder{color:var(--faint)}select.field{padding-right:6px}.row{display:flex;gap:7px;align-items:center}.row>.field{flex:1;min-width:0}.hint{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.hint.warn{color:var(--warn)}.seg{display:flex;border:1px solid var(--line);background:var(--field)}.seg button{flex:1;min-height:32px;border:0;border-right:1px solid var(--line-soft);background:transparent;color:var(--muted);padding:0 8px;white-space:nowrap}.seg button:last-child{border-right:0}.seg button:hover{color:var(--ink)}.seg button.active{color:var(--accent);background:var(--accent-soft)}.option{display:block;border:1px solid var(--line);background:var(--field);padding:11px 12px;cursor:pointer}.option+.option{margin-top:7px}.option.on{border-color:var(--accent-line);background:var(--accent-soft)}.option-top{display:flex;align-items:center;gap:9px}.option-top input{accent-color:var(--accent);margin:0}.option-top strong{font-size:12px;font-weight:600}.option-top .meta{margin-left:auto;color:var(--muted);font-size:10px}.option p{margin:6px 0 0 22px;color:var(--muted);font-size:10px;line-height:1.6}.subchecks{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 0 22px}.subchecks button{min-height:24px;padding:0 8px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:10px}.subchecks button.on{border-color:var(--accent-line);color:var(--accent)}.btn{min-height:34px;padding:0 13px;border:1px solid var(--line);color:var(--ink);background:transparent;border-radius:1px;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.btn.primary:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-ink)}.btn.block{width:100%;min-height:40px}.btn.small{min-height:26px;padding:0 9px;font-size:11px}.btn.danger:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}.actions{display:flex;gap:7px;margin-top:18px}.actions .btn.primary{flex:1}.error-box{margin-top:12px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--bad) 45%,var(--line));color:var(--bad);font-size:11px;background:color-mix(in srgb,var(--bad) 7%,transparent)}.summary{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(2,minmax(150px,.8fr));gap:8px;margin-bottom:10px}.metric{min-height:106px;padding:16px 17px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 25px var(--shadow);min-width:0}.metric.lead{background:var(--accent-soft);border-color:var(--accent-line)}.metric-label{color:var(--muted);font-size:10px}.metric-value{margin-top:10px;color:var(--ink);font-size:25px;line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:-.05em;overflow-wrap:anywhere}.metric-value small{font-size:12px;color:var(--muted);letter-spacing:0}.metric.lead .metric-value{color:var(--accent)}.metric-foot{display:flex;align-items:center;gap:7px;margin-top:12px;color:var(--muted);font-size:10px;flex-wrap:wrap}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--muted);flex:none}.dot.pass,.dot.ok{background:var(--good)}.dot.fail,.dot.warn{background:var(--warn)}.dot.error{background:var(--bad)}.dot.unknown,.dot.skipped,.dot.info{background:var(--faint)}.dot.running{background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap}th{color:var(--faint);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}td{color:var(--ink-soft);font-size:11px}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}.num{text-align:right;font-variant-numeric:tabular-nums}.state{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.state.pass,.state.done{color:var(--good)}.state.fail,.state.failed{color:var(--warn)}.state.error{color:var(--bad)}.row-action{border:0;background:transparent;color:var(--accent);padding:3px 0}.row-action.danger{color:var(--muted)}.row-action.danger:hover{color:var(--bad)}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono-small{font-size:10px;color:var(--muted)}.rank{padding:4px 16px 10px}.rank-item{display:grid;grid-template-columns:22px minmax(0,1fr) 70px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft)}.rank-item:last-child{border-bottom:0}.rank-no{color:var(--faint);font-size:10px}.rank-name{min-width:0}.rank-name strong{font-size:12px;font-weight:500}.rank-name small{margin-left:7px;color:var(--muted);font-size:10px}.bar{height:4px;margin-top:6px;background:var(--line-soft)}.bar i{display:block;height:100%;background:var(--accent)}.rank-item:first-child .rank-name strong{color:var(--accent)}.rank-val{text-align:right;font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-soft)}.checks{padding:0 16px}.check{border-bottom:1px solid var(--line-soft)}.check:last-child{border-bottom:0}.check-row{display:grid;grid-template-columns:14px minmax(110px,160px) minmax(0,1fr) 70px 16px;gap:10px;align-items:start;padding:12px 0;cursor:pointer}.check-row .dot{margin-top:6px}.check-name{font-size:12px}.check-name small{display:block;color:var(--faint);font-size:9px;margin-top:2px}.check-reason{color:var(--ink-soft);font-size:11px;line-height:1.6}.check-reason .err{display:block;color:var(--muted);font-size:10px;margin-top:3px;overflow-wrap:anywhere}.check-score{text-align:right;font-size:11px;font-variant-numeric:tabular-nums}.caret{color:var(--faint);font-size:10px;margin-top:3px;transition:transform .15s}.caret.open{transform:rotate(90deg)}.evidence{margin:0 0 12px 24px;padding:10px 12px;background:var(--field);border:1px solid var(--line-soft);font-size:10px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto}.console{margin:0;padding:12px 16px;max-height:320px;overflow:auto;font-size:11px;line-height:1.75;background:var(--field)}.console div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px}.console time{color:var(--faint)}.console .ok{color:var(--good)}.console .warn{color:var(--warn)}.console .error{color:var(--bad)}.samples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 16px}.sample{border:1px solid var(--line-soft);padding:10px 11px;background:var(--field);min-width:0}.sample header{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.sample .big{margin-top:6px;font-size:18px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.sample .big small{color:var(--muted);font-size:11px}.sample .err{margin-top:4px;color:var(--warn);font-size:10px;overflow-wrap:anywhere}.empty{min-height:300px;display:grid;place-items:center;text-align:center;padding:30px;border:1px dashed var(--line);background:var(--surface)}.empty h3{margin:0 0 8px;font-size:14px}.empty p{margin:0 0 16px;color:var(--muted);font-size:11px;max-width:420px;line-height:1.7}.empty .families{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:14px}.badge{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border:1px solid var(--line);font-size:10px;color:var(--muted);white-space:nowrap}.badge.good{border-color:color-mix(in srgb,var(--good) 50%,var(--line));color:var(--good)}.badge.warn{border-color:color-mix(in srgb,var(--warn) 50%,var(--line));color:var(--warn)}.footer-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:10px;flex-wrap:wrap}.doc{padding:4px 20px 18px;color:var(--ink-soft);font-size:12px;line-height:1.85}.doc h3{margin:18px 0 6px;font-size:12px;color:var(--accent)}.doc p,.doc li{color:var(--ink-soft)}.doc ul{padding-left:18px;margin:6px 0}.doc code{background:var(--field);border:1px solid var(--line-soft);padding:0 4px;font-size:11px}.toast{position:fixed;right:20px;bottom:20px;z-index:20;padding:9px 14px;border:1px solid var(--accent-line);background:var(--surface-raised);color:var(--ink);box-shadow:0 12px 25px var(--shadow);font-size:11px}@media (max-width: 1080px){.studio{grid-template-columns:1fr}.sticky{position:static}}@media (max-width: 720px){.topbar{flex-wrap:wrap;padding:10px 14px;gap:10px}.tabs{order:3;width:100%}.tabs button{flex:1}main,.embedded main{padding:16px 12px 30px}.summary{grid-template-columns:1fr 1fr}.metric.lead{grid-column:1 / -1}.samples{grid-template-columns:1fr}.check-row{grid-template-columns:14px minmax(0,1fr) 56px 14px}.check-reason{grid-column:2 / -1;grid-row:2}.page-heading{display:block}}
