:root{--bg: #0b0f1a;--bg-2: #0f1526;--panel: rgba(22, 29, 48, .72);--panel-border: rgba(118, 138, 190, .16);--text: #e6e9f2;--text-dim: #9aa4c0;--text-faint: #6b7596;--accent: #6366f1;--accent-2: #06b6d4;--ok: #22c55e;--warn: #eab308;--review: #f97316;--block: #ef4444;--radius: 16px;--shadow: 0 20px 50px -20px rgba(0, 0, 0, .6);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1100px 600px at 12% -10%,rgba(99,102,241,.18),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(6,182,212,.14),transparent 55%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.shell{min-height:100%;max-width:1180px;margin:0 auto;padding:24px 24px 40px;display:flex;flex-direction:column;gap:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:44px;height:44px;border-radius:12px;box-shadow:0 8px 24px -8px #6366f1b3}.brand-title{font-size:18px;font-weight:700;letter-spacing:.2px}.brand-sub{font-size:12.5px;color:var(--text-dim)}.api-config{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--panel-border);padding:8px 12px;border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.api-input{background:transparent;border:none;color:var(--text);font-size:13px;width:230px;outline:none;font-family:ui-monospace,SF Mono,Menlo,monospace}.api-reset{background:#768abe24;border:1px solid var(--panel-border);color:var(--text-dim);border-radius:8px;width:26px;height:26px;cursor:pointer;font-size:14px;line-height:1;flex:none;transition:background .15s,color .15s}.api-reset:hover{background:#768abe42;color:var(--text)}.dot{width:9px;height:9px;border-radius:50%;flex:none}.dot.up{background:var(--ok);box-shadow:0 0 10px var(--ok)}.dot.down{background:var(--block);box-shadow:0 0 10px var(--block)}.dot.pending{background:var(--text-faint)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}@media (max-width: 860px){.grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel-title{margin:0 0 16px;font-size:13px;text-transform:uppercase;letter-spacing:1.4px;color:var(--text-dim);font-weight:600}.dropzone{border:1.5px dashed rgba(118,138,190,.35);border-radius:14px;min-height:240px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .18s,background .18s,transform .18s;overflow:hidden;background:#0a0e1a66}.dropzone:hover{border-color:var(--accent);background:#6366f10f}.dropzone.drag{border-color:var(--accent-2);background:#06b6d41a;transform:scale(1.01)}.dropzone.has-file{cursor:default;padding:10px}.dz-empty{text-align:center;padding:24px}.dz-icon{font-size:34px;color:var(--accent);margin-bottom:10px}.dz-main{margin:0;font-weight:600;font-size:15px}.dz-sub{margin:6px 0 0;font-size:12.5px;color:var(--text-faint)}.preview{width:100%;display:flex;justify-content:center}.preview-media{max-width:100%;max-height:320px;border-radius:10px;object-fit:contain}.preview-fallback{padding:30px;color:var(--text-dim);font-size:13px;word-break:break-all}.file-meta{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px}.file-name{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.file-size{color:var(--text-faint)}.pill{margin-left:auto;font-size:11px;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.6px;font-weight:600}.pill-image{background:#6366f12e;color:#c7c9ff}.pill-video{background:#06b6d42e;color:#a5ecff}.actions{display:flex;gap:12px;margin-top:18px}.btn{border:none;border-radius:11px;padding:11px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .12s,box-shadow .18s,opacity .18s,background .18s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:8px 14px;font-size:13px}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 10px 26px -12px #6366f1e6}.btn-primary:not(:disabled):hover{transform:translateY(-1px)}.btn-ghost{background:#768abe1f;color:var(--text)}.btn-ghost:not(:disabled):hover{background:#768abe33}.hint{margin:14px 0 0;font-size:12.5px;color:var(--text-dim);line-height:1.5;background:#eab30814;border-left:3px solid var(--warn);padding:10px 12px;border-radius:8px}.placeholder,.analyzing,.error-box{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:var(--text-dim)}.placeholder-sub{font-size:12.5px;color:var(--text-faint);margin:0}.spinner{width:46px;height:46px;border-radius:50%;border:3px solid rgba(118,138,190,.2);border-top-color:var(--accent-2);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.elapsed{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.analyzing-text{margin:0;font-size:13px}.error-box{color:var(--text)}.error-title{font-weight:700;color:var(--block);font-size:16px}.error-msg{font-size:13px;color:var(--text-dim);max-width:340px;line-height:1.5}.result{display:flex;flex-direction:column;gap:16px;animation:rise .3s ease}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.result-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.risk-badge{display:flex;flex-direction:column;padding:10px 16px;border-radius:12px;background:color-mix(in srgb,var(--risk) 16%,transparent);border:1px solid color-mix(in srgb,var(--risk) 45%,transparent)}.risk-level{font-weight:800;font-size:18px;color:var(--risk);letter-spacing:.5px}.risk-label{font-size:11.5px;color:var(--text-dim)}.action-badge{margin-left:auto;padding:9px 16px;border-radius:999px;font-weight:700;font-size:13px}.action-ok{background:#22c55e29;color:#7ff0a9}.action-warn{background:#eab30829;color:#ffe06a}.action-review{background:#f9731629;color:#ffb27a}.action-block{background:#ef44442e;color:#ff9a9a}.category-row{display:flex;gap:22px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border)}.k{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);margin-bottom:5px}.v{font-size:15px;font-weight:600}.confidence{display:flex;align-items:center;gap:10px}.confidence-bar{width:120px;height:7px;border-radius:999px;background:#768abe33;overflow:hidden}.confidence-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.confidence-num{font-weight:700;font-variant-numeric:tabular-nums}.block{display:flex;flex-direction:column;gap:8px}.caption,.reason{margin:0;font-size:13.5px;line-height:1.55;color:var(--text)}.reason{color:var(--text-dim)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:12.5px;padding:5px 11px;border-radius:999px;background:#768abe24;color:var(--text);border:1px solid var(--panel-border)}.chip-tag{background:#6366f129;color:#c7c9ff;border-color:#6366f14d}.details summary{cursor:pointer;font-size:13px;color:var(--text-dim);padding:6px 0;-webkit-user-select:none;user-select:none}.details summary:hover{color:var(--text)}.evidence-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12.5px}.evidence-table th{text-align:left;color:var(--text-faint);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--panel-border)}.evidence-table td{padding:7px 8px;border-bottom:1px solid rgba(118,138,190,.08);font-variant-numeric:tabular-nums}.coverage{display:flex;flex-direction:column;gap:6px;margin-top:8px}.coverage-row{display:flex;justify-content:space-between;font-size:12.5px;padding:4px 0}.coverage-k{color:var(--text-dim)}.coverage-v{font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.cov-complete{color:var(--ok)}.cov-partial{color:var(--warn)}.cov-missing{color:var(--block)}.footer{display:flex;justify-content:space-between;font-size:12px;color:var(--text-faint);padding-top:6px;border-top:1px solid var(--panel-border)}.footer span:last-child{font-family:ui-monospace,SF Mono,Menlo,monospace}
