:root{--bg-color: #ffffff;--bg-surface: #000000;--bg-surface-hover: #ffffff;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .6);--border-color: rgba(255, 255, 255, .2);--primary-color: #ffffff;--primary-hover: #cccccc;--error-color: #ff3b3b;--error-bg: rgba(255, 59, 59, .15);--success-color: #00ff88;--success-bg: rgba(0, 255, 136, .15);--warning-color: #ffaa00;--warning-bg: rgba(255, 170, 0, .15);--highlight-border: #ff3b3b;--highlight-bg: rgba(255, 59, 59, .2);--card-shadow: none;--backdrop-filter: none}body{background:linear-gradient(135deg,#fff,#fffdf0,#fff7b0,#fff);background-size:400% 400%;animation:gradientBG 15s ease infinite}[data-theme=light]{--bg-color: #f0f0f0;--bg-surface: #f0f0f0;--bg-surface-hover: #0a0a0a;--text-primary: #0a0a0a;--text-secondary: rgba(0, 0, 0, .6);--border-color: rgba(0, 0, 0, .2);--primary-color: #0a0a0a;--primary-hover: #333333}[data-theme=dark]{--bg-color: #0f172a;--bg-surface: #1e293b;--bg-surface-hover: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--border-color: #334155;--primary-color: #3b82f6;--primary-hover: #60a5fa;--error-color: #f87171;--error-bg: #7f1d1d;--success-color: #34d399;--success-bg: #064e3b;--warning-color: #fbbf24;--warning-bg: #78350f;--highlight-border: #fb923c;--highlight-bg: #431407;--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--backdrop-filter: none}[data-theme=glass]{--bg-color: #0b0f19;--bg-surface: rgba(15, 23, 42, .6);--bg-surface-hover: rgba(30, 41, 59, .7);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--border-color: rgba(255, 255, 255, .1);--primary-color: #8b5cf6;--primary-hover: #a78bfa;--error-color: #f87171;--error-bg: rgba(239, 68, 68, .15);--success-color: #34d399;--success-bg: rgba(16, 185, 129, .15);--warning-color: #fbbf24;--warning-bg: rgba(245, 158, 11, .15);--highlight-border: #f97316;--highlight-bg: rgba(249, 115, 22, .15);--card-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--backdrop-filter: blur(16px)}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes flowLine{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes highlightFade{0%{box-shadow:0 0 0 0 transparent;border-color:transparent}20%{box-shadow:0 0 20px 5px var(--highlight-bg);border-color:var(--highlight-border)}to{box-shadow:0 0 10px 2px var(--highlight-bg);border-color:var(--highlight-border)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeUp .6s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.brutalist-hover{transition:all 0s;cursor:pointer}.brutalist-hover:hover{background-color:var(--text-primary)!important;color:var(--bg-surface)!important;border-color:var(--text-primary)!important}.brutalist-hover:hover *{color:var(--bg-surface)!important}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.highlight-row{animation:highlightFade 2s ease forwards;position:relative;z-index:10;border:2px solid var(--highlight-border)!important;background-color:var(--highlight-bg)!important;transition:all .3s ease}.cube-container{width:300px;height:300px;perspective:1000px}.cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:rotateCube 20s infinite linear}.cube-face{position:absolute;width:300px;height:300px;border:2px solid var(--text-primary);background:#ffffff05}.cube-front{transform:translateZ(150px)}.cube-back{transform:rotateY(180deg) translateZ(150px)}.cube-right{transform:rotateY(90deg) translateZ(150px)}.cube-left{transform:rotateY(-90deg) translateZ(150px)}.cube-top{transform:rotateX(90deg) translateZ(150px)}.cube-bottom{transform:rotateX(-90deg) translateZ(150px)}@keyframes rotateCube{0%{transform:rotateX(0) rotateY(0) rotate(0)}to{transform:rotateX(360deg) rotateY(360deg) rotate(180deg)}}.small-cube-container{perspective:800px}.small-cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:rotateCube linear infinite}.sc-face{position:absolute;width:100%;height:100%;background:#000;border:1px solid rgba(255,255,255,.2)}@keyframes cursorBlink{0%,to{border-color:transparent}50%{border-color:var(--text-primary)}}*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}html,body{height:100vh;overflow:hidden;max-width:100vw}body{font-family:Outfit,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;overflow-wrap:break-word;word-break:break-word}h1,h2,h3,h4,h5,h6,.font-display{font-family:Space Grotesk,system-ui,-apple-system,sans-serif;letter-spacing:-.02em}.container{max-width:1200px;height:100vh;overflow:hidden;margin:0 auto;padding:0 1rem}.brutalist-grid{position:relative;height:calc(100vh - 2rem);max-width:1400px;margin:1rem auto;overflow-y:auto;background-color:#000000b3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:1.5rem 2rem;box-shadow:none;z-index:10}.card{background-color:#ffffff0d;border:1px solid var(--border-color);padding:1.5rem;border-radius:12px;transition:all .2s ease}.card:hover{background-color:#ffffff1a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;background-color:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease;border-radius:12px}.btn:hover{background-color:var(--text-primary);color:var(--bg-surface)}.btn:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge.high{background-color:var(--error-bg);color:var(--error-color)}.badge.warning{background-color:var(--warning-bg);color:var(--warning-color)}.badge.info{background-color:var(--success-bg);color:var(--success-color)}table{width:100%;border-collapse:collapse;margin-top:1rem}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}th{font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.upload-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;z-index:1;width:100%;position:relative}.upload-text-container{display:flex;flex-direction:column;justify-self:start}.dashboard-layout{display:grid;grid-template-columns:minmax(320px,1fr) 2fr;gap:2rem}.dashboard-column-left{position:sticky;top:2rem;align-self:start;max-height:calc(100vh - 4rem);overflow-y:auto;padding-right:.5rem;min-width:0}.loading-card{margin:4rem auto}.typewriter-heading{font-size:3.8vw;line-height:.92;font-weight:800;text-transform:uppercase;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.02em;min-height:11.5vw;display:inline-block}@media(max-width:1024px){.dashboard-layout{grid-template-columns:1fr}.dashboard-column-left{position:static;max-height:none;overflow-y:visible}}@media(max-width:768px){.container{padding:1rem}.brutalist-grid{margin:1rem auto;padding:1.5rem;min-height:auto;border-radius:16px;width:100%;max-width:100%;overflow:hidden}.upload-layout{grid-template-columns:1fr;gap:2rem}.upload-text-container{justify-self:stretch;align-items:center;text-align:center}.loading-card{margin:1rem auto}.typewriter-heading{font-size:clamp(2.5rem,12vw,4.5rem);min-height:42vw;margin-bottom:1rem;text-align:center}.card{padding:1rem}.card .font-display{font-size:2.5rem!important}.app-header{flex-direction:column;align-items:flex-start;gap:1rem}}
