:root{--bg-deep: 224 25% 6%;--bg-panel: 224 25% 10%;--bg-glass: 224 25% 12% / .65;--bg-glass-hover: 224 25% 16% / .8;--primary: 263 90% 64%;--primary-glow: 263 90% 64% / .4;--secondary: 190 95% 50%;--secondary-glow: 190 95% 50% / .4;--accent: 320 85% 60%;--text-primary: 0 0% 96%;--text-secondary: 215 15% 70%;--text-muted: 215 15% 45%;--success: 152 76% 50%;--warning: 38 92% 50%;--error: 350 89% 60%;--border: 224 25% 20% / .5;--border-glow: 263 90% 64% / .25;--font-family: "Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:hsl(var(--bg-deep));color:hsl(var(--text-primary));font-family:var(--font-family);overflow-x:hidden;min-height:100vh;background-image:radial-gradient(at 0% 0%,hsla(var(--primary),.12) 0px,transparent 50%),radial-gradient(at 100% 100%,hsla(var(--secondary),.08) 0px,transparent 50%),radial-gradient(at 50% 50%,hsla(var(--accent),.04) 0px,transparent 60%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsla(var(--bg-deep),.5);border-radius:8px}::-webkit-scrollbar-thumb{background:hsla(var(--text-muted),.3);border-radius:8px;border:2px solid hsl(var(--bg-deep));transition:var(--transition-smooth)}::-webkit-scrollbar-thumb:hover{background:hsla(var(--primary),.6)}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700;letter-spacing:-.02em;color:hsl(var(--text-primary))}p{color:hsl(var(--text-secondary));line-height:1.6}.glass-panel{background:hsl(var(--bg-glass));backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid hsla(var(--text-primary),.08);border-radius:16px;box-shadow:0 8px 32px #0006;transition:var(--transition-smooth)}.glass-panel:hover{border-color:hsla(var(--text-primary),.15)}.glass-panel-glow{background:hsl(var(--bg-glass));backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid hsla(var(--primary),.35);border-radius:16px;box-shadow:0 8px 32px #0006,0 0 15px hsla(var(--primary),.15)}.text-glow-primary{text-shadow:0 0 12px hsla(var(--primary),.6)}.text-glow-secondary{text-shadow:0 0 12px hsla(var(--secondary),.6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:10px;font-family:var(--font-family);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition-smooth);border:1px solid transparent;outline:none;-webkit-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,hsl(var(--primary)),#650df2);color:#fff;box-shadow:0 4px 14px hsla(var(--primary),.4)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px hsla(var(--primary),.55),0 0 15px 2px hsla(var(--primary),.25)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:hsla(var(--text-primary),.05);color:hsl(var(--text-primary));border-color:hsla(var(--text-primary),.1)}.btn-secondary:hover{background:hsla(var(--text-primary),.1);border-color:hsla(var(--text-primary),.2);transform:translateY(-1px)}.btn-accent{background:linear-gradient(135deg,hsl(var(--secondary)),#05a7c7);color:hsl(var(--bg-deep));font-weight:700;box-shadow:0 4px 14px hsla(var(--secondary),.4)}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 6px 20px hsla(var(--secondary),.55),0 0 15px 2px hsla(var(--secondary),.25)}.btn-danger{background:hsla(var(--error),.15);color:hsl(var(--error));border-color:hsla(var(--error),.25)}.btn-danger:hover{background:hsl(var(--error));color:#fff;transform:translateY(-2px);box-shadow:0 4px 14px hsla(var(--error),.4)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.input-group{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.input-label{font-size:13px;font-weight:500;color:hsl(var(--text-secondary));text-transform:uppercase;letter-spacing:.05em}.input-field{background:#0000004d;border:1px solid hsla(var(--text-primary),.12);border-radius:8px;padding:12px 16px;color:hsl(var(--text-primary));font-family:var(--font-family);font-size:14px;transition:var(--transition-smooth)}.input-field:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsla(var(--primary),.2);background:#00000073}.input-field::placeholder{color:hsl(var(--text-muted))}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px hsla(var(--primary),.15)}50%{box-shadow:0 0 25px 5px hsla(var(--primary),.3)}}.pulse-glow{animation:pulseGlow 2s infinite ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid hsla(var(--text-primary),.08);background:hsla(var(--bg-deep),.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}.app-main{flex:1;padding:40px;max-width:1600px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:30px}.upload-zone{border:2px dashed hsla(var(--text-primary),.15);border-radius:16px;padding:60px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth);background:hsla(var(--bg-panel),.3)}.upload-zone:hover{border-color:hsl(var(--primary));background:hsla(var(--primary),.03);box-shadow:inset 0 0 30px hsla(var(--primary),.05)}.upload-zone.dragging{border-color:hsl(var(--secondary));background:hsla(var(--secondary),.05)}.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;height:calc(100vh - 200px);min-height:500px}.workspace-left,.workspace-right{display:flex;flex-direction:column;height:100%;overflow:hidden}.workspace-scrollable{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:20px;border-radius:12px;background:#0003;border:1px solid hsla(var(--text-primary),.05)}.slice-card{border-radius:10px;overflow:hidden;border:2px solid transparent;transition:var(--transition-smooth);background:#000;position:relative;flex-shrink:0}.slice-card:hover{transform:scale(1.01);box-shadow:0 8px 24px #00000080}.slice-card.active{border-color:hsl(var(--primary));box-shadow:0 8px 24px #00000080,0 0 12px hsla(var(--primary),.4)}.slice-card img{width:100%;height:auto;display:block}.slice-badge{position:absolute;top:12px;left:12px;background:hsla(var(--bg-deep),.8);padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;color:hsl(var(--text-secondary));border:1px solid hsla(var(--text-primary),.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bubble-editor-card{padding:20px;border-radius:12px;border-left:4px solid hsl(var(--text-muted));background:hsla(var(--bg-panel),.5);transition:var(--transition-smooth)}.bubble-editor-card.active{border-left-color:hsl(var(--primary));background:hsla(var(--bg-panel),.9);box-shadow:0 4px 16px #0003}.bubble-editor-card.processed{border-left-color:hsl(var(--success))}.bubble-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bubble-number{font-size:14px;font-weight:600;color:hsl(var(--text-primary))}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#050810d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;animation:fadeIn .25s forwards cubic-bezier(.4,0,.2,1)}.modal-content{width:100%;max-width:600px;padding:32px;transform:translateY(20px);animation:slideUp .3s forwards cubic-bezier(.34,1.56,.64,1);max-height:90vh;overflow-y:auto}@keyframes fadeIn{to{opacity:1}}@keyframes slideUp{to{transform:translateY(0)}}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.connected{background-color:hsl(var(--success));box-shadow:0 0 8px hsl(var(--success))}.status-dot.disconnected{background-color:hsl(var(--error));box-shadow:0 0 8px hsl(var(--error))}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:9999;max-width:420px;width:calc(100% - 48px);pointer-events:none}.toast-item{pointer-events:auto;padding:14px 18px;border-radius:12px;background:hsl(var(--bg-panel) / .95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(var(--text-primary),.12);box-shadow:0 12px 32px #00000080,0 0 15px #0000004d;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:500;color:hsl(var(--text-primary));animation:toastSlideIn .3s cubic-bezier(.34,1.56,.64,1);transition:var(--transition-smooth)}.toast-item.success{border-color:hsla(var(--success),.4);box-shadow:0 12px 32px #00000080,0 0 16px hsla(var(--success),.2)}.toast-item.error{border-color:hsla(var(--error),.4);box-shadow:0 12px 32px #00000080,0 0 16px hsla(var(--error),.2)}.toast-item.warning{border-color:hsla(var(--warning),.4);box-shadow:0 12px 32px #00000080,0 0 16px hsla(var(--warning),.2)}.toast-item.info{border-color:hsla(var(--primary),.4);box-shadow:0 12px 32px #00000080,0 0 16px hsla(var(--primary),.2)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070eeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:3000;display:flex;flex-direction:column;animation:fadeIn .2s ease-out}.lightbox-header{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#0b0f19cc;border-bottom:1px solid rgba(255,255,255,.08)}.lightbox-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;touch-action:pinch-zoom}.lightbox-img{max-width:100%;max-height:85vh;object-fit:contain;transition:transform .2s ease-out;box-shadow:0 16px 48px #000c;border-radius:6px}.batch-progress-wrapper{background:hsla(var(--bg-panel),.6);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.progress-track{flex:1;min-width:180px;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--secondary)));border-radius:4px;transition:width .4s ease-out}.segmented-switch{display:inline-flex;background:#0006;padding:4px;border-radius:10px;border:1px solid rgba(255,255,255,.08);gap:4px}.segmented-btn{padding:6px 14px;border-radius:7px;border:none;background:transparent;color:hsl(var(--text-muted));font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:6px;white-space:nowrap}.segmented-btn.active{background:hsl(var(--primary));color:#fff;box-shadow:0 2px 8px hsla(var(--primary),.4)}.segmented-btn:hover:not(.active){color:hsl(var(--text-primary));background:#ffffff0d}.tabs-scrollable{display:flex;overflow-x:auto;gap:8px;padding-bottom:8px;scrollbar-width:thin}.tabs-scrollable::-webkit-scrollbar{height:4px}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:150;animation:fadeIn .2s ease-out}.mobile-drawer-content{position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100vh;background:hsl(var(--bg-panel));border-left:1px solid rgba(255,255,255,.1);padding:24px 20px;display:flex;flex-direction:column;gap:20px;z-index:151;box-shadow:-8px 0 32px #000000b3;animation:slideLeft .25s cubic-bezier(.34,1.56,.64,1)}@keyframes slideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}@media (max-width: 1024px){.app-header{padding:0 20px;height:64px}.app-main{padding:20px;gap:20px}.workspace-grid{grid-template-columns:1fr;height:auto;min-height:unset}.workspace-grid.mode-image .workspace-right,.workspace-grid.mode-editor .workspace-left{display:none!important}.workspace-scrollable{max-height:70vh}}@media (max-width: 768px){.header-desktop-actions{display:none!important}.header-mobile-toggle{display:flex!important}.desktop-only-text,.glossary-desktop-table{display:none!important}.glossary-mobile-cards{display:flex!important}.app-header{padding:0 14px;height:60px}.app-main{padding:12px;gap:16px}.modal-content{padding:20px 16px;max-width:95vw;border-radius:12px}.toast-container{bottom:16px;right:12px;left:12px;width:auto;max-width:none}.slice-card:hover{transform:none}.btn{padding:10px 16px;font-size:13px}button,input,select,textarea{min-height:38px}}@media (max-width: 480px){.app-main{padding:8px}.glass-panel{border-radius:12px}}
