.upload-section{display:flex;flex-direction:column;gap:16px}.dropzone{position:relative;background:var(--surface);border:2px dashed rgba(255,255,255,.07);border-radius:var(--radius-lg);padding:52px 32px;display:flex;flex-direction:column;align-items:center;gap:18px;cursor:pointer;transition:all .35s cubic-bezier(.22,1,.36,1);text-align:center;overflow:hidden}.dropzone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(168,85,247,.07),rgba(245,158,11,.02) 60%,transparent);opacity:0;transition:opacity .35s}.dropzone:hover{border-color:#a855f766;background:#0e0a18f2;transform:translateY(-2px);box-shadow:var(--shadow-glow),0 0 0 1px #a855f714}.dropzone:hover:before{opacity:1}[data-theme=light] .dropzone:hover{background:#f5f0fff5;border-color:#a855f773;box-shadow:0 4px 32px #a855f71a,0 0 0 1px #a855f71a}.dropzone.dragging{border-color:var(--accent);border-style:solid;background:#a855f712;transform:scale(1.01);box-shadow:0 0 80px #a855f729}.dropzone.dragging:before{opacity:1}.dropzone.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.dropzone-visual{position:relative;z-index:1}.upload-icon-ring{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#a855f726,#f59e0b1a);border:1px solid rgba(168,85,247,.22);display:flex;align-items:center;justify-content:center;color:var(--accent-light);transition:all .35s;box-shadow:0 4px 24px #a855f71a}.dropzone:hover .upload-icon-ring{background:linear-gradient(135deg,#a855f740,#f59e0b26);border-color:#a855f773;transform:translateY(-3px);box-shadow:0 12px 32px #a855f738}.dropzone-text{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px}.dropzone-title{font-size:1.08rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.dropzone-subtitle{font-size:.84rem;color:var(--text-muted)}.text-accent{color:var(--accent-light);font-weight:500}.dropzone-hint{font-size:.72rem;color:var(--text-muted);opacity:.7;margin-top:2px}.upload-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.schema-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;flex:1;min-width:300px}.schema-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface2);border-bottom:1px solid var(--border);font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.schema-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0}.schema-col{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:.78rem}.schema-col:last-child{border-bottom:none}.col-name{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--accent-light);background:var(--accent-glow);padding:2px 8px;border-radius:4px;flex-shrink:0}.col-type{font-size:.68rem;color:var(--text-muted);background:var(--surface3);padding:1px 6px;border-radius:3px;flex-shrink:0}.col-desc{color:var(--text-muted);font-size:.72rem}.btn-sample{display:flex;align-items:center;gap:8px;background:#f59e0b0a;border:1px solid rgba(245,158,11,.14);color:var(--accent2);padding:10px 20px;border-radius:var(--radius);cursor:pointer;font-size:.8rem;font-weight:600;font-family:var(--font-sans);transition:all .25s;white-space:nowrap;flex-shrink:0;letter-spacing:.01em}.btn-sample:hover{color:#fff;border-color:var(--accent2);background:#f59e0b24;transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b33}@media (max-width: 768px){.dropzone{padding:36px 20px}.upload-meta{flex-direction:column}.schema-cols{grid-template-columns:1fr}}.graph-container{position:relative;overflow:hidden;display:flex;flex-direction:column}.graph-empty{padding:80px 40px;text-align:center;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:12px}.empty-icon{font-size:2.5rem;opacity:.3}.graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#0a0d18f2;border-bottom:1px solid var(--border);flex-wrap:wrap}.graph-toolbar-left,.graph-toolbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.legend-group{display:flex;align-items:center;gap:14px;font-size:.72rem;color:var(--text-secondary);font-weight:500}.legend-item{display:flex;align-items:center;gap:5px}.legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 4px currentColor}.graph-select{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);padding:5px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font-sans);outline:none;cursor:pointer;max-width:220px}.graph-select:focus{border-color:var(--accent)}.filter-pills{display:flex;gap:2px;background:var(--bg);padding:2px;border-radius:var(--radius-sm);border:1px solid var(--border)}.filter-pill{padding:4px 10px;border:none;background:transparent;color:#b4aad2cc;font-size:.7rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;border-radius:4px;transition:all .2s;white-space:nowrap}.filter-pill:hover{color:#e8e0ff;background:#ffffff0f}.filter-pill.active{background:#a855f72e;color:#f0eaff;box-shadow:var(--shadow-sm);border:1px solid rgba(168,85,247,.25)}[data-theme=light] .filter-pills{background:#fff;border-color:var(--border-hover)}[data-theme=light] .filter-pill{color:var(--text-muted)}[data-theme=light] .filter-pill:hover{color:var(--accent);background:#a855f70f}[data-theme=light] .filter-pill.active{background:#a855f71a;color:var(--accent-dim);border-color:#a855f738}[data-theme=light] .graph-toolbar{background:#f5f3fffa}[data-theme=light] .legend-group{color:var(--text-secondary)}[data-theme=light] .graph-footer-sep{color:var(--text-muted)}.zoom-controls{display:flex;gap:2px;background:var(--bg);padding:2px;border-radius:var(--radius-sm);border:1px solid var(--border)}.zoom-btn{width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:var(--font-sans)}.zoom-btn:hover{background:var(--surface2);color:var(--text)}.graph-canvas{background:radial-gradient(ellipse at 25% 30%,rgba(168,85,247,.06) 0%,transparent 55%),radial-gradient(ellipse at 75% 70%,rgba(245,158,11,.04) 0%,transparent 45%),var(--bg);position:relative}.hover-tooltip{position:absolute;bottom:50px;left:16px;display:flex;align-items:center;gap:8px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px;font-size:.78rem;box-shadow:var(--shadow-lg);z-index:10;pointer-events:none;animation:fadeIn .15s ease-out}.tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tooltip-id{font-weight:600;font-family:var(--font-mono);font-size:.75rem}.tooltip-score{color:var(--danger);font-weight:600;font-size:.72rem}.node-panel{position:absolute;top:60px;right:16px;width:300px;background:#0a0d18eb;backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border:1px solid rgba(168,85,247,.14);border-radius:var(--radius-lg);z-index:20;box-shadow:var(--shadow-xl),0 0 0 1px #a855f70d inset;animation:fadeInUp .3s cubic-bezier(.22,1,.36,1);overflow:hidden}.node-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(168,85,247,.1);background:linear-gradient(135deg,#a855f717,#f59e0b0a)}.panel-title-row{display:flex;align-items:center;gap:10px;min-width:0}.panel-title-row h3{font-size:.9rem;font-weight:700;font-family:var(--font-mono);word-break:break-all;line-height:1.3}.panel-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;transition:all .15s}.close-btn:hover{background:#ffffff0f;color:var(--text)}.panel-score-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}.score-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.score-fill{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.22,1,.36,1)}.score-label{font-size:.78rem;font-weight:700;color:var(--text);min-width:44px;text-align:right;font-family:var(--font-mono)}.node-panel-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px;max-height:400px;overflow-y:auto}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meta-item{display:flex;flex-direction:column;gap:3px}.meta-item.full{grid-column:1 / -1}.meta-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.meta-value{font-size:.85rem;font-weight:600;color:var(--text)}.meta-value.mono{font-family:var(--font-mono);font-size:.72rem;font-weight:400;color:var(--text-secondary)}.meta-value.positive{color:var(--safe)}.meta-value.negative{color:var(--danger)}.panel-section{display:flex;flex-direction:column;gap:6px}.ring-tags{display:flex;flex-wrap:wrap;gap:4px}.ring-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:100px;background:var(--accent-glow);color:var(--accent-light);border:1px solid rgba(168,85,247,.2);cursor:pointer;transition:all .2s}.ring-tag:hover{background:#a855f733;border-color:#a855f766}.ring-tag.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pattern-tags{display:flex;flex-wrap:wrap;gap:4px}.pattern-tag{display:inline-block;padding:3px 10px;border-radius:100px;font-size:.68rem;font-weight:600;white-space:nowrap}.risk-explanation-text{font-size:.72rem;color:var(--text-secondary);line-height:1.55;padding:8px 10px;background:#f43f5e0f;border:1px solid rgba(244,63,94,.12);border-radius:6px;margin:0}.temporal-bar-chart{display:flex;align-items:flex-end;gap:1px;height:40px;padding:0 2px}.temporal-bar{flex:1;min-width:3px;height:var(--bar-height, 2%);background:var(--accent, #a855f7);border-radius:2px 2px 0 0;opacity:.45;transition:opacity .15s,transform .15s}.temporal-bar:hover{opacity:1;transform:scaleY(1.05);transform-origin:bottom}.temporal-bar.peak{background:linear-gradient(180deg,var(--danger, #f43f5e),rgba(244,63,94,.6));opacity:1}.temporal-meta{display:flex;justify-content:space-between;font-size:.62rem;color:var(--text-muted);margin-top:4px;font-weight:500}.community-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:600;background:#a855f71a;color:var(--accent-light, #c084fc);border:1px solid rgba(168,85,247,.2);font-family:var(--font-mono)}.graph-footer{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#0a0d18f2;border-top:1px solid var(--border);font-size:.72rem;color:#c8c3e1e6;font-weight:500}.graph-footer-sep{opacity:.55;color:#c8c3e1b3}.text-danger{color:var(--danger);font-weight:600}.text-accent{color:var(--accent-light);font-weight:600}[data-theme=light] .node-panel{background:#fffffff7;border-color:#a855f733;box-shadow:0 8px 40px #00000021,0 0 0 1px #a855f714 inset}[data-theme=light] .node-panel-header{background:linear-gradient(135deg,#a855f712,#f59e0b0a);border-bottom-color:#a855f71f}[data-theme=light] .panel-title-row h3{color:#0a0a0f}[data-theme=light] .close-btn{color:var(--text-muted)}[data-theme=light] .close-btn:hover{background:#0000000f;color:var(--text)}[data-theme=light] .meta-label{color:#3a3550}[data-theme=light] .meta-value{color:#0a0a0f}[data-theme=light] .meta-value.mono{color:#1c1830}[data-theme=light] .score-label{color:#0a0a0f}[data-theme=light] .risk-explanation-text{background:#f43f5e0f;border-color:#f43f5e2e;color:#1c1830}[data-theme=light] .ring-tag{background:#a855f714;color:#6d28d9;border-color:#a855f740}[data-theme=light] .ring-tag:hover{background:#a855f726;border-color:#a855f766}[data-theme=light] .community-badge{background:#a855f71a;color:#6d28d9;border-color:#a855f740}[data-theme=light] .temporal-meta{color:#3a3550}[data-theme=light] .graph-footer{background:#ede9fef7;color:var(--text-secondary)}[data-theme=light] .graph-footer-sep{opacity:.5;color:var(--text-muted)}@media (max-width: 768px){.graph-toolbar{padding:8px 12px}.legend-group{display:none}.node-panel{width:calc(100% - 32px);left:16px;right:16px}.filter-pills{display:none}}.table-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;animation:fadeInUp .5s cubic-bezier(.22,1,.36,1) both}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);background:#0a0d18f2}.search-wrap{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:0 12px;transition:border-color .2s;color:var(--text-muted)}.search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-input{flex:1;background:transparent;border:none;color:var(--text);padding:9px 0;font-size:.82rem;outline:none;font-family:var(--font-sans)}.search-input::placeholder{color:var(--text-muted)}.table-count{font-size:.75rem;color:var(--text-muted);white-space:nowrap;background:var(--surface3);padding:4px 12px;border-radius:20px;font-weight:600}.empty-table{padding:48px 24px;text-align:center;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:12px}.empty-table p{margin:0;font-size:.88rem}.table-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.data-table{width:100%;border-collapse:collapse;font-size:.83rem}.data-table th{text-align:left;padding:12px 20px;color:var(--text-muted);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface2);position:sticky;top:0;z-index:2;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer;transition:color .2s}.data-table th.sortable:hover{color:var(--accent-light)}.sort-arrow{margin-left:4px;font-size:.7rem}.sort-arrow.muted{opacity:.3}.sort-arrow.active{color:var(--accent-light);opacity:1}.data-table td{padding:13px 20px;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:middle;transition:background .15s}.data-table tbody tr{animation:fadeInUp .35s both}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#a855f70a}.data-table tr:hover td:first-child{box-shadow:inset 2px 0 #a855f766}.data-table tr.expanded td{background:#a855f70d}.ring-pill{background:linear-gradient(135deg,#a855f733,#f59e0b1f);color:var(--accent-light);padding:3px 12px;border-radius:20px;font-size:.72rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.02em;border:1px solid rgba(168,85,247,.25);white-space:nowrap}.acc-id{font-family:var(--font-mono);font-weight:700;color:var(--text);font-size:.82rem}.count-cell{text-align:center;font-weight:800;font-size:1rem;color:var(--text)}.idx-cell{color:var(--text-muted);font-size:.72rem;font-weight:600}.accounts-cell{max-width:380px}.acct-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.acct-chip{background:var(--surface3);border:1px solid var(--border);padding:2px 8px;border-radius:4px;font-size:.7rem;font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap}.acct-csv-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.acct-csv{font-size:.72rem;font-family:var(--font-mono);color:var(--text-secondary);word-break:break-word;line-height:1.55}.expand-btn{background:none;border:none;color:var(--accent-light);cursor:pointer;font-size:.72rem;padding:2px 6px;display:inline-flex;align-items:center;gap:3px;border-radius:4px;transition:background .15s;font-weight:600}.expand-btn:hover{background:var(--accent-glow)}.score-bar-wrap{display:flex;align-items:center;gap:10px;min-width:110px}.score-bar-track{flex:1;height:5px;background:var(--surface3);border-radius:3px;overflow:hidden;min-width:56px}.score-bar-fill{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.22,1,.36,1)}.score-value{font-weight:800;font-size:.82rem;min-width:28px;text-align:right;font-family:var(--font-mono)}.pattern-badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.66rem;font-weight:700;margin:2px;white-space:nowrap;border:1px solid;letter-spacing:.02em;text-transform:capitalize}.pattern-tags{display:flex;flex-wrap:wrap;gap:3px}.confidence-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700;font-family:var(--font-mono);border:1px solid;letter-spacing:.02em;position:relative}.confidence-na{color:var(--text-muted);font-size:.8rem}.risk-explanation{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding:9px 12px;background:#f43f5e0a;border:1px solid rgba(244,63,94,.12);border-left:2px solid rgba(244,63,94,.35);border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;font-size:.72rem;color:var(--text-secondary);line-height:1.55;animation:fadeIn .2s ease-out}.risk-explanation svg{flex-shrink:0;margin-top:1px;color:var(--danger, #f43f5e);opacity:.7}.download-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#a855f7,#f59e0b);color:#fff;border:none;padding:10px 22px;border-radius:var(--radius);font-weight:700;font-size:.8rem;font-family:var(--font-sans);cursor:pointer;transition:all .25s cubic-bezier(.22,1,.36,1);white-space:nowrap;letter-spacing:.02em;position:relative;overflow:hidden;box-shadow:0 2px 16px #a855f733}.download-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent);opacity:0;transition:opacity .25s}.download-btn:hover{transform:translateY(-2px);box-shadow:0 6px 28px #a855f759,0 2px 8px #f59e0b2e}.download-btn:hover:before{opacity:1}.download-btn:active{transform:translateY(0);box-shadow:0 2px 12px #a855f740}.download-btn.done{background:linear-gradient(135deg,#a855f7,#c084fc);color:#fff}.download-btn.done:hover{box-shadow:0 6px 28px #a855f773}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 20px;display:flex;align-items:flex-start;gap:16px;transition:all .3s cubic-bezier(.22,1,.36,1);animation:fadeInUp .5s cubic-bezier(.22,1,.36,1) both;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-hover)}.stat-card:hover:before{opacity:1}.stat-card.default .stat-icon-wrap{color:var(--text-secondary);background:var(--surface3)}.stat-card.default:before{background:linear-gradient(135deg,rgba(148,163,184,.03),transparent)}.stat-card.danger{border-color:#f43f5e26}.stat-card.danger .stat-icon-wrap{color:var(--danger);background:var(--danger-glow)}.stat-card.danger .stat-value{color:var(--danger)}.stat-card.danger:before{background:linear-gradient(135deg,var(--danger-glow),transparent)}.stat-card.danger:hover{border-color:#f43f5e4d;box-shadow:0 8px 32px #f43f5e1f}.stat-card.accent{border-color:#a855f726}.stat-card.accent .stat-icon-wrap{color:var(--accent-light);background:var(--accent-glow)}.stat-card.accent .stat-value{color:var(--accent-light)}.stat-card.accent:before{background:linear-gradient(135deg,var(--accent-glow),transparent)}.stat-card.accent:hover{border-color:#a855f74d;box-shadow:0 8px 32px #a855f724}.stat-card.teal{border-color:#f59e0b26}.stat-card.teal .stat-icon-wrap{color:var(--accent2);background:var(--accent2-glow)}.stat-card.teal .stat-value{color:var(--accent2)}.stat-card.teal:before{background:linear-gradient(135deg,var(--accent2-glow),transparent)}.stat-card.teal:hover{border-color:#f59e0b4d;box-shadow:0 8px 32px #f59e0b1f}.stat-icon-wrap{width:46px;height:46px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s}.stat-card:hover .stat-icon-wrap{transform:scale(1.1) rotate(-4deg)}.stat-content{display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.stat-value{font-size:1.75rem;font-weight:800;color:var(--text);line-height:1.1;letter-spacing:-.04em;font-family:var(--font-sans)}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stats-section{display:flex;flex-direction:column;gap:16px}.net-stats-bar{display:flex;align-items:center;gap:20px;padding:12px 20px;background:#a855f708;border:1px solid rgba(168,85,247,.08);border-radius:var(--radius);animation:fadeInUp .5s cubic-bezier(.22,1,.36,1) both;animation-delay:.35s;border-left:2px solid rgba(168,85,247,.25)}.net-stats-label{display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0}.net-stats-items{display:flex;align-items:center;gap:20px;flex-wrap:wrap;flex:1}.net-stat-item{display:flex;flex-direction:column;gap:1px}.net-stat-value{font-size:.85rem;font-weight:700;color:var(--text);font-family:var(--font-mono)}.net-stat-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}@media (max-width: 768px){.net-stats-bar{flex-direction:column;align-items:flex-start;gap:10px}.net-stats-items{gap:14px}}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}.ambient-orb{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0;opacity:.4}.orb-1{width:600px;height:600px;top:-200px;left:-100px;background:radial-gradient(circle,rgba(168,85,247,.16),transparent 70%);animation:float 22s ease-in-out infinite}.orb-2{width:600px;height:600px;bottom:-180px;right:-120px;background:radial-gradient(circle,rgba(245,158,11,.1),transparent 70%);animation:float 25s ease-in-out infinite reverse}.header{background:#04060de0;backdrop-filter:blur(32px) saturate(200%);-webkit-backdrop-filter:blur(32px) saturate(200%);border-bottom:1px solid rgba(255,255,255,.055);padding:0;position:sticky;top:0;z-index:100;box-shadow:0 1px #a855f714,0 4px 32px #00000059}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px}.logo-group{display:flex;align-items:center;gap:16px}.logo-mark{width:42px;height:42px;flex-shrink:0;filter:drop-shadow(0 0 12px rgba(168,85,247,.35));transition:filter .3s}.logo-mark:hover{filter:drop-shadow(0 0 20px rgba(168,85,247,.55))}.logo-svg{width:100%;height:100%}.logo-text{display:flex;flex-direction:column;gap:1px}.logo-title{font-size:1.12rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;background:linear-gradient(110deg,#fff0f8 30%,#c084fc 60%,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .logo-title{background:linear-gradient(110deg,#6d28d9 10%,#a855f7,#d97706);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-subtitle{font-size:.69rem;color:var(--text-muted);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:14px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--border-hover);background:var(--surface3);color:var(--text-muted);cursor:pointer;transition:all .22s;flex-shrink:0}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 4px var(--accent-glow)}[data-theme=light] .header{background:#f5f3ffeb;border-bottom-color:#a855f71f;box-shadow:0 1px #a855f70f,0 4px 24px #00000014}.header-badge{display:flex;align-items:center;gap:8px;font-size:.76rem;color:#f43f5ee6;background:#f43f5e14;border:1px solid rgba(244,63,94,.18);padding:6px 16px;border-radius:100px;font-weight:600;letter-spacing:.02em}.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--danger);flex-shrink:0}.badge-dot.pulse{animation:pulse-ring 2s ease-out infinite}.main{flex:1;padding:32px 0}.main-content{display:flex;flex-direction:column;gap:28px}.animate-in{animation:fadeInUp .5s cubic-bezier(.22,1,.36,1) both}.error-banner{display:flex;align-items:center;gap:12px;background:var(--danger-glow);border:1px solid rgba(244,63,94,.25);border-radius:var(--radius);padding:14px 18px;color:var(--danger)}.error-icon{flex-shrink:0;display:flex}.error-text{flex:1;font-size:.875rem;font-weight:500}.error-dismiss{background:none;border:none;color:var(--danger);cursor:pointer;font-size:.9rem;padding:2px 6px;border-radius:4px;opacity:.6;transition:opacity .2s}.error-dismiss:hover{opacity:1}.loading-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:64px 48px;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center;position:relative;overflow:hidden}.loading-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 0%,rgba(168,85,247,.06),transparent 60%);pointer-events:none}.loading-visual{position:relative;width:72px;height:72px}.spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:2.5px solid rgba(168,85,247,.08);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.spinner-ring.inner{top:12px;right:12px;bottom:12px;left:12px;border-top-color:var(--accent2);animation-direction:reverse;animation-duration:.75s}.loading-text h3{font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:6px;letter-spacing:-.02em}.loading-sub{color:var(--text-muted);font-size:.84rem}.loading-steps{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-muted);margin-top:8px}.step{padding:4px 12px;border-radius:100px;background:var(--surface2);border:1px solid var(--border)}.step.active{background:var(--accent-glow);border-color:var(--border-accent);color:var(--accent-light)}.step-arrow{opacity:.4}.parse-banner{display:flex;align-items:center;gap:16px;padding:11px 18px;background:#f59e0b0a;border:1px solid rgba(245,158,11,.1);border-radius:var(--radius);font-size:.79rem}.parse-label{font-weight:700;color:var(--accent2);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;flex-shrink:0}.parse-stats-row{display:flex;align-items:center;gap:8px;color:var(--text-muted);flex-wrap:wrap;font-size:.78rem}.parse-sep{opacity:.25}.parse-good{color:var(--safe);font-weight:600}.parse-warn{color:var(--warning);font-weight:600}.results{display:flex;flex-direction:column;gap:24px}.tabs-container{display:flex;flex-direction:column;gap:0}.tabs{display:flex;gap:3px;padding:5px;background:#0a0d18f2;border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 22px;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:#b4aad2d9;font-size:.84rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .25s cubic-bezier(.22,1,.36,1);white-space:nowrap;letter-spacing:.01em}.tab-btn:hover{color:#e8e0ff;background:#ffffff0e}.tab-btn.active{color:#f0eaff;background:#a855f724;border-color:#a855f747;box-shadow:0 1px #a855f747 inset,var(--shadow-sm)}[data-theme=light] .tabs{background:#ede9fee6}[data-theme=light] .tab-btn{color:var(--text-muted)}[data-theme=light] .tab-btn:hover{color:var(--accent);background:#a855f70f}[data-theme=light] .tab-btn.active{color:var(--accent-dim);background:#a855f71f;border-color:#a855f747}.tab-icon{font-size:1rem}.tab-badge{font-size:.67rem;font-weight:800;padding:2px 9px;border-radius:100px;line-height:1.5;letter-spacing:.02em}.tab-badge.danger{background:#c0132e;color:#fff;border:1px solid #e8284a}.tab-badge.warning{background:#c2600a;color:#fff;border:1px solid #e8790f}[data-theme=light] .tab-badge.danger{background:#f43f5e1f;color:#c0132e;border-color:#f43f5e4d;text-shadow:none}[data-theme=light] .tab-badge.warning{background:#f59e0b1f;color:#92530a;border-color:#f59e0b4d;text-shadow:none}.tab-panel{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden;min-height:420px}.footer{padding:22px 0;border-top:1px solid var(--border);margin-top:auto;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.footer-inner{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.7rem;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.footer-sep{opacity:.45}@media (max-width: 768px){.header-inner{height:auto;padding:12px 0;flex-wrap:wrap}.header-actions{width:100%;justify-content:flex-end}.tabs{flex-wrap:wrap}.tab-label{display:none}.main{padding:20px 0}.main-content{gap:20px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080509;--bg-subtle: #0c0710;--surface: rgba(18, 10, 26, .92);--surface-solid: #110a1c;--surface2: rgba(24, 14, 38, .78);--surface3: rgba(32, 18, 52, .55);--glass: rgba(20, 12, 32, .72);--glass-border: rgba(255, 255, 255, .05);--gold: #d4af37;--gold-light: #f0d060;--gold-glow: rgba(212, 175, 55, .12);--gradient-gold: linear-gradient(135deg, #d4af37 0%, #f0d060 100%);--border: rgba(255, 255, 255, .058);--border-hover: rgba(255, 255, 255, .11);--border-accent: rgba(168, 85, 247, .35);--accent: #a855f7;--accent-light: #c084fc;--accent-dim: #8b30e0;--accent-glow: rgba(168, 85, 247, .14);--accent2: #f59e0b;--accent2-dim: #d97706;--accent2-glow: rgba(245, 158, 11, .13);--danger: #f43f5e;--danger-glow: rgba(244, 63, 94, .11);--warning: #fb923c;--warning-glow: rgba(251, 146, 60, .11);--safe: #10b981;--safe-glow: rgba(16, 185, 129, .11);--info: #e879f9;--text: #eef2ff;--text-secondary: #8892a4;--text-muted: #4e5a72;--text-dimmed: #303848;--font-sans: "Plus Jakarta Sans", "Inter", -apple-system, sans-serif;--font-display:"Plus Jakarta Sans", "Inter", -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius-xs: 4px;--radius-sm: 7px;--radius: 11px;--radius-lg: 16px;--radius-xl: 22px;--radius-2xl: 30px;--shadow-xs: 0 1px 3px rgba(0,0,0,.25);--shadow-sm: 0 2px 8px rgba(0,0,0,.32);--shadow: 0 4px 20px rgba(0,0,0,.38);--shadow-lg: 0 8px 40px rgba(0,0,0,.46);--shadow-xl: 0 20px 80px rgba(0,0,0,.55);--shadow-glow: 0 0 60px rgba(168, 85, 247, .12);--shadow-gold: 0 0 40px rgba(212, 175, 55, .08);--gradient-brand: linear-gradient(135deg, #a855f7 0%, #f59e0b 100%);--gradient-surface: linear-gradient(160deg, rgba(24,14,38,.95) 0%, rgba(14,10,22,.98) 100%)}[data-theme=light]{--bg: #f5f3ff;--bg-subtle: #ede9fe;--surface: rgba(255, 255, 255, .97);--surface-solid: #ffffff;--surface2: rgba(237, 233, 254, .85);--surface3: rgba(221, 214, 254, .55);--glass: rgba(255, 255, 255, .88);--glass-border: rgba(168, 85, 247, .14);--border: rgba(0, 0, 0, .09);--border-hover: rgba(0, 0, 0, .16);--border-accent: rgba(168, 85, 247, .28);--accent-glow: rgba(168, 85, 247, .1);--accent2-glow: rgba(245, 158, 11, .1);--danger-glow: rgba(244, 63, 94, .08);--warning-glow: rgba(251, 146, 60, .08);--safe-glow: rgba(16, 185, 129, .08);--gold-glow: rgba(212, 175, 55, .09);--text: #0a0a0f;--text-secondary: #1c1830;--text-muted: #3a3550;--text-dimmed: #6b6580;--shadow-xs: 0 1px 3px rgba(0,0,0,.07);--shadow-sm: 0 2px 8px rgba(0,0,0,.09);--shadow: 0 4px 20px rgba(0,0,0,.11);--shadow-lg: 0 8px 40px rgba(0,0,0,.13);--shadow-xl: 0 20px 80px rgba(0,0,0,.16);--shadow-glow: 0 0 60px rgba(168, 85, 247, .07);--shadow-gold: 0 0 40px rgba(212, 175, 55, .05);--gradient-surface: linear-gradient(160deg, rgba(237,233,254,.95) 0%, rgba(245,243,255,.98) 100%)}[data-theme=light] body{background:var(--bg)}[data-theme=light] body:before{background:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(168,85,247,.07) 0%,transparent 65%),radial-gradient(ellipse 60% 50% at 95% 105%,rgba(245,158,11,.04) 0%,transparent 65%),radial-gradient(ellipse 50% 40% at 5% 80%,rgba(168,85,247,.04) 0%,transparent 60%)}[data-theme=light] body:after{background-image:radial-gradient(circle,rgba(100,70,200,.055) 1px,transparent 1px)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#a855f72e}[data-theme=light] ::selection{background:#a855f738;color:#1a1030}html{font-size:16px;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(168,85,247,.13) 0%,transparent 65%),radial-gradient(ellipse 60% 50% at 95% 105%,rgba(245,158,11,.07) 0%,transparent 65%),radial-gradient(ellipse 50% 40% at 5% 80%,rgba(168,85,247,.06) 0%,transparent 60%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;pointer-events:none;z-index:0}#root{position:relative;z-index:1}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#a855f738;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a855f761}::selection{background:#a855f752;color:#fff}.container{max-width:1480px;margin:0 auto;padding:0 28px}.text-gradient{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-card{background:var(--glass);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-ring{0%{box-shadow:0 0 #f43f5e99}70%{box-shadow:0 0 0 8px #f43f5e00}to{box-shadow:0 0 #f43f5e00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}
