@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-display: "Outfit", sans-serif;--font-body: "Outfit", sans-serif;--font-mono: "DM Mono", monospace;--text-rgb: 255, 255, 255;--bg: #0a0c10;--panel-bg: #0d1017;--canvas-bg: #080a0f;--border: rgba(255,255,255,.07);--accent: #5B9BD5;--accent-rgb: 91, 155, 213;--accent-dim: rgba(91,155,213,.3);--text: rgba(255,255,255,.85);--text-dim: rgba(255,255,255,.4);--surface-1: rgba(255,255,255,.04);--surface-2: rgba(255,255,255,.08);--shadow-panel: 0 2px 16px rgba(0,0,0,.35);--shadow-sm: 0 1px 4px rgba(0,0,0,.25);--header-bg: linear-gradient(180deg, rgba(91,155,213,.06) 0%, rgba(91,155,213,.01) 100%)}[data-theme=light]{--text-rgb: 20, 30, 50;--bg: #e8ecf3;--panel-bg: #f5f7fa;--canvas-bg: #d8dde8;--border: rgba(20,30,50,.13);--accent: #2E6FAD;--accent-rgb: 46, 111, 173;--accent-dim: rgba(46,111,173,.35);--text: rgba(20,30,50,.9);--text-dim: rgba(20,30,50,.55);--surface-1: rgba(20,30,50,.06);--surface-2: rgba(20,30,50,.11);--shadow-panel: 0 2px 12px rgba(20,30,50,.12);--shadow-sm: 0 1px 3px rgba(20,30,50,.1);--header-bg: linear-gradient(180deg, rgba(46,111,173,.06) 0%, rgba(46,111,173,.01) 100%)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);overflow:hidden}#root{width:100vw;height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--text-rgb),.08);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-rgb),.15)}input::placeholder{color:rgba(var(--text-rgb),.2)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}@keyframes dotPulse{0%,80%,to{transform:scale(.4);opacity:.3}40%{transform:scale(1);opacity:1}}.analyzing-dots .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block;animation:dotPulse 1.4s infinite ease-in-out}.dot-1{animation-delay:0s}.dot-2{animation-delay:.2s}.dot-3{animation-delay:.4s}.btn-collapse{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 4px;line-height:1;color:rgba(var(--text-rgb),.2);transition:color .15s}.btn-collapse:hover{color:rgba(var(--text-rgb),.6)}.btn-signout{background:none;border:none;cursor:pointer;font-size:9px;font-family:var(--font-mono);letter-spacing:.06em;padding:2px 4px;color:rgba(var(--text-rgb),.25);transition:color .15s}.btn-signout:hover{color:rgba(var(--text-rgb),.6)}.btn-theme{background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:13px;padding:3px 7px;line-height:1;color:rgba(var(--text-rgb),.4);transition:color .15s}.btn-theme:hover{color:rgba(var(--text-rgb),.8)}.mode-tab{padding:0 14px;height:100%;border:none;background:none;font-size:10px;font-weight:700;letter-spacing:.06em;font-family:var(--font-mono);cursor:pointer;transition:color .15s;border-bottom:2px solid transparent;color:rgba(var(--text-rgb),.35)}.mode-tab.is-active{border-bottom-color:var(--accent);color:var(--accent)}.mode-tab:not(.is-active):hover{color:rgba(var(--text-rgb),.7)}.panel-strip{cursor:pointer;transition:background .15s}.panel-strip:hover{background:rgba(var(--accent-rgb),.06)}.btn-toolbar{width:28px;height:28px;border-radius:3px;border:1px solid var(--border);background:var(--surface-1);color:rgba(var(--text-rgb),.5);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-family:var(--font-mono);transition:color .15s,border-color .15s}.btn-toolbar:hover{color:var(--accent);border-color:var(--accent-dim)}.btn-toolbar.is-active{color:var(--accent)}.setup-strip{cursor:pointer;transition:background .2s}.setup-strip:hover{background:rgba(var(--accent-rgb),.08)!important}.project-row{cursor:pointer;transition:background .15s}.project-row:hover{background:rgba(var(--text-rgb),.03)}.btn-switch{font-size:9px;padding:2px 8px;border-radius:3px;border:1px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.06);color:var(--accent);cursor:pointer;font-family:var(--font-mono);transition:background .15s}.btn-switch:hover{background:rgba(var(--accent-rgb),.15)}.btn-delete-project{font-size:10px;padding:2px 6px;border-radius:3px;border:1px solid rgba(var(--text-rgb),.1);background:none;color:rgba(var(--text-rgb),.3);cursor:pointer;transition:color .15s,border-color .15s}.btn-delete-project:hover{color:#f44;border-color:#ff44444d}.btn-reextract{font-size:9px;color:rgba(var(--text-rgb),.35);background:none;border:1px solid rgba(var(--text-rgb),.1);border-radius:3px;padding:2px 6px;cursor:pointer;transition:color .15s,border-color .15s}.btn-reextract:hover{color:var(--accent);border-color:rgba(var(--accent-rgb),.3)}.discipline-btn{padding:3px 7px;border-radius:3px;border:none;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.05em;font-family:var(--font-mono);background:transparent;color:rgba(var(--text-rgb),.35);transition:color .15s,background .15s}.discipline-btn.is-active{background:var(--accent);color:#000}.discipline-btn:not(.is-active):hover{color:rgba(var(--text-rgb),.7)}.sheet-item{width:100%;text-align:left;border:none;cursor:pointer;padding:7px 14px;display:flex;flex-direction:column;gap:2px;background:transparent;border-left:2px solid transparent;transition:background .1s}.sheet-item.is-selected{background:rgba(var(--accent-rgb),.1);border-left-color:var(--accent)}.sheet-item:not(.is-selected):hover{background:rgba(var(--text-rgb),.04)}.resize-handle{height:6px;cursor:ns-resize;flex-shrink:0;background:transparent;transition:background .15s}.resize-handle:hover{background:rgba(var(--accent-rgb),.25)}.tbl-row{cursor:pointer;transition:background .1s;border-left:2px solid transparent}.tbl-row.is-odd{background:rgba(var(--text-rgb),.02)}.tbl-row:hover{background:var(--surface-2)}.tbl-row.is-active{background:rgba(var(--accent-rgb),.08);border-left-color:var(--accent)}.btn-delete-issue{background:none;border:none;cursor:pointer;font-size:12px;padding:0 2px;color:rgba(var(--text-rgb),.15);transition:color .15s}.btn-delete-issue:hover{color:#f44}.btn-nav{background:none;border:1px solid var(--border);border-radius:3px;font-size:11px;line-height:1;padding:1px 5px;cursor:pointer;transition:color .15s}.btn-nav:disabled{cursor:default;color:rgba(var(--text-rgb),.15)}.btn-nav:not(:disabled):hover{color:var(--accent)}.btn-focus{padding:4px 10px;border-radius:12px;border:1px solid var(--surface-2);background:var(--surface-1);color:rgba(var(--text-rgb),.4);font-size:10px;cursor:pointer;transition:border-color .15s,color .15s}.btn-focus:hover{border-color:rgba(var(--accent-rgb),.3);color:var(--accent)}.btn-all-sheets{padding:4px 10px;border-radius:12px;border:1px solid rgba(249,115,22,.3);background:#f973160f;color:#f97316;font-size:10px;font-weight:600;cursor:pointer;transition:background .15s}.btn-all-sheets:disabled{color:rgba(var(--text-rgb),.2);cursor:not-allowed}.btn-all-sheets:not(:disabled):hover{background:#f973161f}.status-badge-btn{transition:opacity .15s}.status-badge-btn:hover{opacity:.75}.btn-primary{padding:5px 14px;border-radius:4px;border:none;background:var(--accent);color:#000;font-size:11px;font-weight:700;cursor:pointer;transition:opacity .15s;font-family:var(--font-body)}.btn-primary:hover{opacity:.82}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-secondary{padding:5px 14px;border-radius:4px;border:1px solid var(--border);background:transparent;color:rgba(var(--text-rgb),.5);font-size:11px;cursor:pointer;transition:color .15s,border-color .15s;font-family:var(--font-body)}.btn-secondary:hover{color:rgba(var(--text-rgb),.85);border-color:rgba(var(--text-rgb),.28)}.btn-destructive{padding:5px 14px;border-radius:4px;border:1px solid rgba(255,68,68,.35);background:#ff444414;color:#f66;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s;font-family:var(--font-body)}.btn-destructive:hover{background:#ff444429}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:52px 32px;text-align:center;pointer-events:none}.empty-state-icon{font-size:28px;opacity:.18;line-height:1}.empty-state-title{font-size:13px;font-weight:600;color:rgba(var(--text-rgb),.35);letter-spacing:.01em}.empty-state-sub{font-size:11px;color:rgba(var(--text-rgb),.2);line-height:1.6;max-width:260px}.mobile-panel-bar{display:none}@media (max-width: 768px){.mobile-panel-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:50px;background:var(--panel-bg);border-top:1px solid var(--border);z-index:100;align-items:center;justify-content:space-around;padding:0 12px;gap:8px}.mobile-panel-bar button{flex:1;padding:7px 10px;border-radius:4px;border:1px solid var(--border);background:var(--surface-1);color:rgba(var(--text-rgb),.55);font-size:10px;font-weight:700;cursor:pointer;font-family:var(--font-mono);letter-spacing:.05em;transition:background .15s,color .15s}.mobile-panel-bar button.is-active{background:rgba(var(--accent-rgb),.12);color:var(--accent);border-color:rgba(var(--accent-rgb),.3)}.mobile-content-pad{padding-bottom:50px}}.btn-modal-cancel{padding:7px 18px;border-radius:4px;border:1px solid var(--border);background:transparent;color:rgba(var(--text-rgb),.5);font-size:12px;cursor:pointer;transition:color .15s}.btn-modal-cancel:hover{color:rgba(var(--text-rgb),.8)}.btn-modal-danger{padding:7px 18px;border-radius:4px;border:1px solid rgba(255,68,68,.4);background:#ff444414;color:#f66;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s}.btn-modal-danger:hover{background:#ff444429}
