:root{--brand: #33117C;--brand-700: #2a0e66;--brand-50: #f2eefb;--brand-100: #e4dbf6;--ink: #10182F;--ink-2: #20243D;--gold: #D4AF37;--blue: #5C83EE;--magenta: #ED45BE;--green: #1f9d6b;--green-bg: #e7f6ef;--amber: #c8880f;--amber-bg: #fbf1dc;--red: #c0392b;--red-bg: #fbeae8;--blue-bg: #e9eefc;--surface: #ffffff;--bg: #f6f7fb;--n-50: #fafbfc;--n-100: #f0f1f5;--n-200: #e4e6ee;--n-300: #d2d6e1;--text: #2b3245;--text-muted: #6b7389;--text-faint: #9aa1b4;--shadow-sm: 0 1px 2px rgba(16,24,47,.06), 0 1px 3px rgba(16,24,47,.04);--shadow-md: 0 2px 8px rgba(16,24,47,.06), 0 6px 20px rgba(16,24,47,.05);--shadow-lg: 0 12px 40px rgba(16,24,47,.12);--r-sm: 6px;--r: 10px;--r-lg: 14px;--r-xl: 20px;--font-head: "Poppins", sans-serif;--font-body: "Roboto", sans-serif;--font-mono: "SFMono-Regular", "Lucida Console", monospace;--sidebar-w: 248px;--header-h: 60px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--ink);margin:0;font-weight:600;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}::selection{background:var(--brand-100)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#c7cce0;padding:18px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto}.brand-mark{display:flex;align-items:center;gap:10px;padding:6px 10px 20px}.brand-logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--brand) 0%,var(--blue) 100%);display:grid;place-items:center;color:#fff;font-family:var(--font-head);font-weight:700;font-size:16px}.brand-name{font-family:var(--font-head);font-weight:600;font-size:18px;color:#fff;letter-spacing:-.02em}.brand-name span{color:var(--gold)}.nav-group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#6f78a0;padding:16px 12px 6px;font-weight:500}.nav-link{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--r-sm);color:#c7cce0;font-size:13.5px;font-weight:400;transition:background .12s,color .12s}.nav-link:hover{background:#ffffff0f;color:#fff}.nav-link.active{background:var(--brand);color:#fff;font-weight:500}.nav-link svg{width:17px;height:17px;flex-shrink:0;opacity:.9}.sidebar-footer{margin-top:auto;padding:14px 12px 4px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px;flex-shrink:0}.sidebar-footer .u-name{color:#fff;font-size:13px;font-weight:500}.sidebar-footer .u-role{color:#8089ac;font-size:11.5px}.main{display:flex;flex-direction:column;min-width:0}.topbar{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--n-200);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.topbar .crumbs{font-size:13px;color:var(--text-muted)}.topbar .crumbs b{color:var(--ink);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:10px}.role-switch{display:inline-flex;background:var(--n-100);border-radius:var(--r-sm);padding:3px;gap:2px}.role-switch button{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:500;padding:4px 11px;border-radius:5px;transition:background .12s,color .12s}.role-switch button svg{width:13px;height:13px}.role-switch button:hover{color:var(--ink)}.role-switch button.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.content{padding:26px 32px 60px;max-width:1560px;width:100%;margin:0 auto}.page-head{margin-bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-head h1{font-size:23px}.page-head p{color:var(--text-muted);margin:5px 0 0;font-size:13.5px}.card{background:var(--surface);border:1px solid var(--n-200);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-head{padding:16px 20px;border-bottom:1px solid var(--n-100);display:flex;justify-content:space-between;align-items:center}.card-head h3{font-size:15px}.card-head .sub{font-size:12.5px;color:var(--text-muted);font-family:var(--font-body)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat{background:var(--surface);border:1px solid var(--n-200);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm);text-align:left;display:block;width:100%;transition:box-shadow .15s,transform .15s,border-color .15s}button.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:var(--n-300)}.stat-top{display:flex;justify-content:space-between;align-items:flex-start}.stat-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.stat-icon svg{width:19px;height:19px}.stat-val{font-family:var(--font-head);font-size:28px;font-weight:600;color:var(--ink);margin-top:12px;line-height:1}.stat-label{color:var(--text-muted);font-size:12.5px;margin-top:6px}.stat-delta{font-size:11.5px;margin-top:8px;font-weight:500}.stat-delta.up{color:var(--green)}.stat-delta.down{color:var(--red)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:100px;font-size:11.5px;font-weight:500;line-height:1.4;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.green{background:var(--green-bg);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.purple{background:var(--brand-50);color:var(--brand)}.badge.gray{background:var(--n-100);color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 15px;border-radius:var(--r-sm);font-size:13px;font-weight:500;border:1px solid transparent;transition:background .12s,box-shadow .12s,opacity .12s,border-color .12s}.btn svg{width:15px;height:15px}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-700)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--n-300)}.btn-ghost:hover{background:var(--n-50);border-color:var(--text-faint)}.btn-subtle{background:var(--brand-50);color:var(--brand)}.btn-subtle:hover{background:var(--brand-100)}.btn-sm{padding:5px 11px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--surface);color:var(--red);border-color:#efc9c4}.btn-danger:hover{background:var(--red-bg)}.input,.select{width:100%;padding:8px 12px;border:1px solid var(--n-300);border-radius:var(--r-sm);background:var(--surface);color:var(--text);transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}textarea.input{resize:vertical;min-height:84px;line-height:1.55}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--n-300);border-radius:var(--r-sm);padding:0 10px;background:var(--surface);min-width:240px}.search input{border:none;outline:none;padding:8px 0;width:100%;background:transparent}.search svg{width:15px;height:15px;color:var(--text-faint)}.field-label{font-size:12px;font-weight:500;color:var(--text);margin-bottom:6px;display:block}.table-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;padding:11px 16px;font-weight:500;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--n-200);background:var(--n-50);white-space:nowrap;-webkit-user-select:none;user-select:none}.tbl th.sortable{cursor:pointer}.tbl th.sortable:hover{color:var(--ink)}.tbl td{padding:13px 16px;border-bottom:1px solid var(--n-100);vertical-align:middle}.tbl tbody tr{transition:background .1s}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr.clickable:hover{background:var(--n-50)}.tbl tbody tr:last-child td{border-bottom:none}.who{display:flex;align-items:center;gap:10px}.who .avatar{width:30px;height:30px;font-size:11.5px}.who .nm{font-weight:500;color:var(--ink)}.who .sub{font-size:11.5px;color:var(--text-muted)}.score{display:inline-flex;align-items:baseline;gap:2px;font-family:var(--font-head);font-weight:600}.score .n{font-size:15px}.score .d{font-size:11px;color:var(--text-faint)}.score.s-high .n{color:var(--green)}.score.s-mid .n{color:var(--amber)}.score.s-low .n{color:var(--red)}.sbar{height:6px;border-radius:100px;background:var(--n-100);overflow:hidden}.sbar>i{display:block;height:100%;border-radius:100px}.sbar.s-high>i{background:var(--green)}.sbar.s-mid>i{background:var(--amber)}.sbar.s-low>i{background:var(--red)}.row{display:flex;gap:20px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.split-main{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:start}.split-side{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start}.split-report{display:grid;grid-template-columns:1fr 1.7fr;gap:20px;align-items:start}.split-left{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}.split-right{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.split-even{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.stack{display:flex;flex-direction:column;gap:20px}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.mono{font-family:var(--font-mono)}.right{margin-left:auto}.divider{height:1px;background:var(--n-100);margin:16px 0}.kv{display:flex;flex-direction:column;gap:3px}.kv .k{font-size:11.5px;color:var(--text-muted)}.kv .v{font-size:13.5px;color:var(--ink);font-weight:500}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:100px;font-size:12px;background:var(--n-100);color:var(--text);border:1px solid transparent}.chip.sel{background:var(--brand-50);color:var(--brand);border-color:var(--brand-100);font-weight:500}.chip.on{cursor:pointer}.bar-list{display:flex;flex-direction:column;gap:14px}.bar-row .top{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12.5px}.bar-row .top .lbl{color:var(--text);font-weight:500}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--n-200)}.tl-item{position:relative;padding-bottom:20px}.tl-item:last-child{padding-bottom:0}.tl-dot{position:absolute;left:-26px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--brand)}.tl-dot.green{border-color:var(--green)}.tl-dot.red{border-color:var(--red)}.tl-dot.amber{border-color:var(--amber)}.tl-dot.gray{border-color:var(--n-300)}.tl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tl-head .who-n{font-weight:500;color:var(--ink);font-size:13px}.tl-time{font-size:11.5px;color:var(--text-faint)}.tl-body{font-size:13px;color:var(--text);margin-top:4px}.empty{text-align:center;padding:48px 20px;color:var(--text-muted)}.empty .ico{width:44px;height:44px;margin:0 auto 14px;color:var(--text-faint)}.empty h4{color:var(--ink);font-size:15px;margin-bottom:4px}.banner{display:flex;gap:11px;align-items:flex-start;padding:12px 15px;border-radius:var(--r);font-size:13px;border:1px solid}.banner svg{width:17px;height:17px;flex-shrink:0;margin-top:1px}.banner.info{background:var(--blue-bg);border-color:#cdd9f7;color:#2b4a9e}.banner.warn{background:var(--amber-bg);border-color:#f0dcae;color:#8a5d08}.banner.ai{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-700)}.ai-block{background:linear-gradient(180deg,var(--brand-50),#fff);border:1px solid var(--brand-100);border-radius:var(--r-lg);padding:18px 20px}.ai-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--brand);margin-bottom:10px}.ai-tag svg{width:14px;height:14px}.ai-block p{margin:0 0 10px;color:var(--ink-2);line-height:1.6}.ai-block p:last-child{margin-bottom:0}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--n-200);margin-bottom:20px}.tab{padding:9px 15px;font-size:13.5px;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}.tab:hover{color:var(--ink)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.pc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.pc-list li{display:flex;gap:9px;font-size:13px;line-height:1.5;align-items:flex-start}.pc-list li svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}.pc-list.pros li svg{color:var(--green)}.pc-list.cons li svg{color:var(--amber)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182f80;display:grid;place-items:center;z-index:100;padding:20px}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-width:460px}.modal-head{padding:18px 22px;border-bottom:1px solid var(--n-100);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:20px 22px}.modal-foot{padding:14px 22px;border-top:1px solid var(--n-100);display:flex;justify-content:flex-end;gap:10px}.pipe{display:flex;gap:10px}.pipe-col{flex:1;background:var(--n-50);border:1px solid var(--n-200);border-radius:var(--r);padding:12px;min-height:80px}.pipe-col .ph{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--ink);margin-bottom:10px}.pipe-col .ph .ct{background:var(--surface);border:1px solid var(--n-200);border-radius:100px;padding:1px 8px;font-size:11px;color:var(--text-muted)}.pipe-card{background:var(--surface);border:1px solid var(--n-200);border-radius:var(--r-sm);padding:9px 10px;margin-bottom:7px;font-size:12.5px;box-shadow:var(--shadow-sm)}.pipe-card .pc-nm{font-weight:500;color:var(--ink)}.pipe-card .pc-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.pg-shell{max-width:820px;margin:0 auto}.pg-steps{display:flex;align-items:center;gap:8px;justify-content:center;margin-bottom:28px}.pg-step{display:flex;align-items:center;gap:8px}.pg-step .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;background:var(--n-100);color:var(--text-muted)}.pg-step.on .n{background:var(--brand);color:#fff}.pg-step.done .n{background:var(--green);color:#fff}.pg-step .t{font-size:12.5px;color:var(--text-muted);font-weight:500}.pg-step.on .t{color:var(--ink)}.pg-conn{width:34px;height:2px;background:var(--n-200)}.radio-card{display:flex;gap:11px;padding:13px 15px;border:1px solid var(--n-300);border-radius:var(--r);cursor:pointer;transition:border-color .12s,background .12s}.radio-card:hover{border-color:var(--brand);background:var(--brand-50)}.radio-card.sel{border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 0 1px var(--brand)}.radio-card .rc-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--n-300);flex-shrink:0;margin-top:1px;display:grid;place-items:center}.radio-card.sel .rc-dot{border-color:var(--brand)}.radio-card.sel .rc-dot:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--brand)}.radio-card.ro{cursor:default}.radio-card.ro:not(.sel){opacity:.55}.radio-card.ro:hover{border-color:var(--n-300);background:transparent}.radio-card.ro.sel:hover{border-color:var(--brand);background:var(--brand-50)}.analyzing{display:flex;flex-direction:column;align-items:center;gap:18px;padding:50px 20px}.spinner{width:42px;height:42px;border:3px solid var(--brand-100);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ring-wrap{display:grid;place-items:center}.ring-val{font-family:var(--font-head);font-weight:600;font-size:30px;color:var(--ink)}.dash-row3{display:grid;grid-template-columns:1.4fr 1fr 1.1fr;gap:20px;align-items:start}@media (max-width: 1200px){.dash-row3{grid-template-columns:1fr 1fr}.dash-row3>:first-child{grid-column:1 / -1}}@media (max-width: 760px){.dash-row3{grid-template-columns:1fr}.dash-row3>:first-child{grid-column:auto}}@media (min-width: 1700px){.content{max-width:1760px;padding:32px 48px 72px}.stat-grid{gap:20px}.stack{gap:24px}.report-page{max-width:1320px}}@media (min-width: 2200px){.content{max-width:1960px;padding:40px 64px 80px}.report-page{max-width:1440px}}@media (max-width: 1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width: 920px){:root{--sidebar-w: 72px}.app{grid-template-columns:var(--sidebar-w) 1fr}.brand-name,.nav-link span,.nav-group-label,.sidebar-footer .u-meta{display:none}.nav-link{justify-content:center;padding:11px}.brand-mark{justify-content:center;padding:6px 0 20px}.sidebar-footer{justify-content:center}.grid-2,.grid-3,.split-main,.split-side,.split-report,.split-left,.split-right,.split-even{grid-template-columns:1fr}.monitor-dock{position:static}.cam-tile{max-width:320px;margin:0 auto}.content{padding:20px 16px 50px}.topbar{padding:0 16px}}@media (max-width: 560px){.stat-grid{grid-template-columns:1fr!important}.pipe{flex-direction:column}.page-head{flex-direction:column;align-items:stretch}.topbar{height:auto;min-height:var(--header-h);flex-wrap:wrap;gap:8px;padding:10px 14px}.topbar .crumbs{display:none}.topbar-actions{flex-wrap:wrap}.pg-steps{gap:6px}.pg-step .t{display:none}.pg-conn{width:18px}.search{min-width:0;width:100%}.ring-wrap{margin:0 auto}}.check-list{display:flex;flex-direction:column;gap:10px}.check-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--n-200);border-radius:var(--r);background:var(--surface);transition:border-color .15s,background .15s}.check-row.done{border-color:var(--green);background:var(--green-bg)}.check-row.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.check-box{width:22px;height:22px;border-radius:6px;border:2px solid var(--n-300);display:grid;place-items:center;flex-shrink:0;margin-top:1px;color:#fff;transition:background .15s,border-color .15s}.check-row.done .check-box{background:var(--green);border-color:var(--green)}.check-row.active .check-box{border-color:var(--brand)}.check-row .ct{flex:1}.check-row .ct .t{font-weight:500;color:var(--ink);font-size:13.5px}.check-row .ct .s{color:var(--text-muted);font-size:12.5px;margin-top:2px}.check-row .mono-link{font-family:var(--font-mono);font-size:11.5px;color:var(--brand);word-break:break-all}.perm-grid{display:flex;flex-direction:column;gap:12px}.perm{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--n-200);border-radius:var(--r-lg);background:var(--surface)}.perm.granted{border-color:var(--green);background:var(--green-bg)}.perm.denied{border-color:var(--amber);background:var(--amber-bg)}.perm-ico{width:40px;height:40px;border-radius:10px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;flex-shrink:0}.perm.granted .perm-ico{background:#fff;color:var(--green)}.perm .pt{flex:1}.perm .pt .h{font-weight:600;color:var(--ink);font-size:14px}.perm .pt .d{color:var(--text-muted);font-size:12.5px;margin-top:2px}.monitor-dock{position:sticky;top:calc(var(--header-h) + 10px);display:flex;flex-direction:column;gap:12px}.cam-tile{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--ink);display:grid;place-items:center}.cam-tile video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.cam-tile .cam-off{color:#6f78a0;font-size:12.5px;text-align:center;padding:20px}.rec-badge{position:absolute;top:9px;left:9px;display:flex;align-items:center;gap:6px;background:#10182fbf;color:#fff;font-size:11px;font-weight:600;padding:3px 9px;border-radius:100px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rec-dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.activity-feed{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted)}.activity-feed .af-row{padding:4px 0;border-bottom:1px dashed var(--n-100);display:flex;gap:8px}.activity-feed .af-row:last-child{border-bottom:none}.activity-feed .af-t{color:var(--text-faint);flex-shrink:0}.sig-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:12.5px}.sig-row .sig-on{color:var(--green);display:inline-flex;align-items:center;gap:5px;font-weight:500}.sig-row .sig-off{color:var(--text-faint)}.editor{border:1px solid var(--n-200);border-radius:var(--r);overflow:hidden;background:#fbfbfd}.editor-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--n-50);border-bottom:1px solid var(--n-200)}.editor-bar .fn{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.editor-bar .dot3{display:flex;gap:5px}.editor-bar .dot3 i{width:10px;height:10px;border-radius:50%;display:block}.editor textarea{width:100%;border:none;outline:none;background:transparent;resize:vertical;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;padding:14px;color:var(--ink-2);min-height:180px;-moz-tab-size:2;tab-size:2}.test-out{font-family:var(--font-mono);font-size:12px;padding:12px 14px;border-top:1px solid var(--n-200);background:var(--ink);color:#c7cce0}.test-out .pass{color:#58d19c}.test-out .fail{color:#ff8b7e}.report-page{max-width:1120px;margin:-26px auto -60px;padding:26px 20px 60px;background:var(--report-bg);min-height:calc(100vh - var(--header-h))}@media (max-width: 920px){.report-page{margin:-20px -16px -50px;padding:20px 16px 50px}}:root{--tier-orange: #dd6b0e;--tier-orange-bg: #fffbeb;--tier-orange-bd: #fde7a9;--tier-green: #0a9254;--tier-green-bg: #ecfdf3;--tier-green-bd: #d3fde5;--tier-red: #c0392b;--tier-red-bg: #fbeae8;--report-bg: #e9e8e7;--report-card-radius: 20px}.report-card{background:#fff;border:1px solid var(--n-200);border-radius:var(--report-card-radius);box-shadow:0 1px 2px #10182f0a,0 8px 24px #10182f0d;padding:26px 28px}.report-head{display:flex;align-items:flex-start;gap:24px;justify-content:space-between}.rh-left{display:flex;align-items:center;gap:20px;min-width:0}.rh-thumb{width:132px;height:96px;border-radius:14px;background:var(--ink);flex-shrink:0;display:grid;place-items:center;color:#fff;position:relative;overflow:hidden}.rh-thumb .play{width:38px;height:38px;border-radius:50%;background:#ffffffeb;display:grid;place-items:center;color:var(--ink)}.rh-name{font-family:var(--font-head);font-size:30px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.rh-ring{flex-shrink:0}.rh-divider{height:1px;background:var(--n-200);margin:20px 0 18px}.rh-meta-row{display:flex;gap:48px;flex-wrap:wrap}.rh-meta-row .k{font-size:13px;color:var(--text-muted);margin-bottom:4px}.rh-meta-row .v{font-size:15px;color:var(--ink);font-weight:500}.insight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 24px}.insight{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.insight-ico{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.insight-ico svg{width:19px;height:19px}.insight-ico.verification{background:var(--tier-green-bg);color:var(--tier-green)}.insight-ico.decomposition,.insight-ico.planning{background:var(--tier-orange-bg);color:var(--tier-orange)}.insight-ico.neutral{background:var(--n-100);color:var(--text-muted)}.insight .ti{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.35}.insight .tag{display:inline-block;margin-top:6px;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:100px}.tag.verification{background:var(--tier-green-bg);color:var(--tier-green)}.tag.decomposition,.tag.planning{background:var(--tier-orange-bg);color:var(--tier-orange)}.tools-row{display:flex;align-items:center;gap:8px}.tool-chip{width:34px;height:34px;border-radius:50%;border:1px solid var(--n-200);background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:var(--shadow-sm)}.tool-chip svg{display:block}.dim-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dim-title{font-family:var(--font-head);font-size:19px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:9px}.dim-right{display:flex;align-items:center;gap:12px}.dim-score{font-family:var(--font-head);font-weight:700;font-size:22px}.dim-score .d{font-size:14px;color:var(--text-faint);font-weight:500}.tier{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:2px 10px;border-radius:100px;border:1px solid transparent}.tier.orange{background:var(--tier-orange-bg);color:var(--tier-orange);border-color:var(--tier-orange-bd)}.tier.green{background:var(--tier-green-bg);color:var(--tier-green);border-color:var(--tier-green-bd)}.tier.red{background:var(--tier-red-bg);color:var(--tier-red)}.tier.gray{background:var(--n-100);color:var(--text-muted)}.score-orange{color:var(--tier-orange)}.score-green{color:var(--tier-green)}.score-red{color:var(--tier-red)}.dim-caption{font-size:11.5px;color:var(--text-faint);text-align:center;line-height:1.4;margin-top:8px;max-width:220px;margin-left:auto;margin-right:auto}.section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:18px 0 12px}.crit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.crit-card{border:1px solid var(--n-200);border-radius:12px;padding:15px 16px;display:flex;flex-direction:column}.crit-card .ch{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.crit-card .cn{font-weight:600;color:var(--ink);font-size:13.5px;line-height:1.3}.crit-card .cmeta{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.crit-card .cscore{font-family:var(--font-head);font-weight:700;font-size:13.5px}.crit-card .cr{font-size:12.5px;color:var(--text-muted);line-height:1.55;flex:1}.crit-card .cev{margin-top:12px}.crit-ev-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--ink);font-size:12px;font-weight:600;padding:0;cursor:pointer}.crit-ev-btn:hover{color:var(--brand)}.crit-evidence{margin:10px 0 0;padding:11px 13px;list-style:none;background:var(--n-50);border-radius:9px;display:flex;flex-direction:column;gap:8px}.crit-evidence li{font-size:12px;color:var(--ink-2);line-height:1.5;position:relative;padding-left:15px}.crit-evidence li:before{content:"";position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--tier-orange)}.atd-rows{display:flex;flex-direction:column}.atd-row{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px 18px;border-radius:10px}.atd-row:nth-child(odd){background:var(--n-50)}.atd-dim{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);padding-top:2px}.atd-text{font-size:13.5px;color:var(--text);line-height:1.6}.atd-text b{color:var(--ink);font-weight:600}@media (max-width: 920px){.insight-grid{grid-template-columns:repeat(2,1fr)}.crit-grid{grid-template-columns:1fr 1fr}}@media (max-width: 680px){.report-card{padding:20px 18px}.report-head{flex-direction:column;align-items:stretch}.rh-left{flex-direction:column;align-items:flex-start}.rh-ring{align-self:center}.insight-grid,.crit-grid{grid-template-columns:1fr}.rh-meta-row{gap:20px 32px}.atd-row{grid-template-columns:1fr;gap:4px}}.dim-weight{font-size:11.5px;color:var(--text-muted);font-weight:400}
