@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--q-cyan: #00D4FF;--q-cyan-dim: #00A8CC;--q-purple: #7B2FBE;--q-purple-light: #A855F7;--q-red: #FF6B6B;--q-red-dim: #CC4444;--q-bg-0: #080B12;--q-bg-1: #0D1117;--q-bg-2: #161B22;--q-bg-3: #1C2128;--q-bg-4: #21262D;--q-bg-hover: rgba(255,255,255,.05);--q-text-primary: #E6EDF3;--q-text-secondary: #8B949E;--q-text-muted: #484F58;--q-border: rgba(255, 255, 255, .08);--q-border-active: rgba(0, 212, 255, .4);--q-glow-cyan: 0 0 20px rgba(0, 212, 255, .3), 0 0 60px rgba(0, 212, 255, .1);--q-glow-purple: 0 0 20px rgba(123, 47, 190, .4), 0 0 60px rgba(123, 47, 190, .1);--q-gradient-brand: linear-gradient(135deg, var(--q-cyan), var(--q-purple));--q-gradient-surface: linear-gradient(180deg, var(--q-bg-2), var(--q-bg-1));--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--font-sans: "Inter", -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-sans);background-color:var(--q-bg-0);color:var(--q-text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--q-bg-1)}::-webkit-scrollbar-thumb{background:var(--q-bg-4);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--q-text-muted)}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}code,pre,.mono{font-family:var(--font-mono);font-size:.875em}.app-layout{display:grid;grid-template-rows:48px 1fr;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"toolbar toolbar" "canvas right-panel";height:100vh;width:100vw;overflow:hidden}.toolbar-area{grid-area:toolbar}.sidebar-area{grid-area:sidebar}.canvas-area{grid-area:canvas}.rightpanel-area{grid-area:right-panel}.canvas-area,.rightpanel-area{min-width:0;min-height:0}.bloch-workspace{grid-template-columns:1fr;grid-template-areas:"toolbar" "right-panel"}.bloch-workspace .rightpanel-area{overflow-y:auto;overflow-x:hidden}.panel-loading{display:grid;place-items:center;height:100%;color:var(--q-text-secondary)}@media (max-width: 1100px){.app-layout:not(.bloch-workspace){grid-template-columns:minmax(0,1fr) 300px}}.glass{background:#0d1117cc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--q-border)}.glass-card{background:var(--q-bg-2);border:1px solid var(--q-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 14px;border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--q-gradient-brand);color:#fff;box-shadow:var(--q-glow-cyan)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--q-text-secondary);border:1px solid var(--q-border)}.btn-ghost:hover{background:var(--q-bg-hover);color:var(--q-text-primary);border-color:var(--q-border-active)}.btn-danger{background:#ff6b6b26;color:var(--q-red);border:1px solid rgba(255,107,107,.3)}.btn-danger:hover{background:#ff6b6b40}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn-icon{padding:6px;background:transparent;border:none;color:var(--q-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--q-bg-hover);color:var(--q-text-primary)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--q-border);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--q-text-secondary)}.panel-header .label{display:flex;align-items:center;gap:var(--spacing-sm)}.panel-header .label:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--q-cyan);box-shadow:var(--q-glow-cyan)}.gate-chip{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:12px;font-weight:600;cursor:grab;user-select:none;transition:all var(--transition-fast);position:relative}.gate-chip:active{cursor:grabbing}.gate-chip:hover{transform:translateY(-2px) scale(1.05)}.gate-h{background:#00d4ff26;border:1px solid rgba(0,212,255,.4);color:var(--q-cyan)}.gate-x{background:#ff6b6b26;border:1px solid rgba(255,107,107,.4);color:var(--q-red)}.gate-y{background:#ffb74d26;border:1px solid rgba(255,183,77,.4);color:#ffb74d}.gate-z{background:#66bb6a26;border:1px solid rgba(102,187,106,.4);color:#66bb6a}.gate-s,.gate-t{background:#ab47bc26;border:1px solid rgba(171,71,188,.4);color:#ab47bc}.gate-r{background:#4fc3f726;border:1px solid rgba(79,195,247,.4);color:#4fc3f7}.gate-cx,.gate-cz,.gate-swap{background:#7b2fbe26;border:1px solid rgba(123,47,190,.4);color:var(--q-purple-light)}.gate-toffoli{background:#ffa72626;border:1px solid rgba(255,167,38,.4);color:#ffa726}.qubit-wire{height:60px;position:relative;display:flex;align-items:center}.qubit-label{width:32px;text-align:right;padding-right:8px;font-family:var(--font-mono);font-size:12px;color:var(--q-text-secondary);flex-shrink:0}.wire-line{flex:1;height:2px;background:linear-gradient(90deg,var(--q-bg-3),var(--q-text-muted),var(--q-bg-3));position:relative}.prob-bar{display:flex;align-items:center;gap:var(--spacing-sm);padding:3px 0;font-size:12px}.prob-bar-track{flex:1;height:6px;background:var(--q-bg-4);border-radius:3px;overflow:hidden}.prob-bar-fill{height:100%;background:var(--q-gradient-brand);border-radius:3px;transition:width var(--transition-normal)}.tooltip{position:absolute;background:var(--q-bg-3);border:1px solid var(--q-border-active);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);font-size:11px;font-family:var(--font-mono);color:var(--q-cyan);pointer-events:none;white-space:nowrap;z-index:1000;box-shadow:var(--q-glow-cyan)}.notification{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:13px;font-weight:500;z-index:9999;box-shadow:0 8px 32px #0006;animation:slideInRight var(--transition-normal) forwards}.notification.success{background:#66bb6a26;border:1px solid rgba(102,187,106,.4);color:#66bb6a}.notification.error{background:#ff6b6b26;border:1px solid rgba(255,107,107,.4);color:var(--q-red)}.notification.info{background:#00d4ff1a;border:1px solid var(--q-border-active);color:var(--q-cyan)}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:var(--q-glow-cyan)}50%{box-shadow:0 0 40px #00d4ff99,0 0 80px #00d4ff33}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn var(--transition-normal) forwards}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.spinner{width:20px;height:20px;border:2px solid var(--q-bg-4);border-top-color:var(--q-cyan);border-radius:50%;animation:spin .8s linear infinite}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--q-bg-4);border-radius:2px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--q-cyan);box-shadow:0 0 8px #00d4ff80;cursor:pointer;transition:all var(--transition-fast)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.tabs{display:flex;gap:2px;padding:4px;background:var(--q-bg-1);border-radius:var(--radius-md)}.tab{padding:6px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--q-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;background:none}.tab.active{background:var(--q-bg-3);color:var(--q-text-primary)}.tab:hover:not(.active){color:var(--q-text-primary)}.complex-cell{font-family:var(--font-mono);font-size:11px;text-align:center;padding:2px 4px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.complex-zero{color:var(--q-text-muted)}.complex-real{color:var(--q-cyan)}.complex-imag{color:var(--q-purple-light)}.complex-complex{color:#ffb74d}
