@import"https://fonts.googleapis.com/css2?family=Lobster&family=JetBrains+Mono:wght@400;600&family=DM+Sans:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=JetBrains+Mono:wght@400;600&family=DM+Sans:wght@400;500;700&display=swap";:root{color-scheme:dark}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}:root{--neutral-50: #F6F7F9;--neutral-100: #EDEDF1;--neutral-200: #D7D9E0;--neutral-300: #B4B8C5;--neutral-400: #8B91A5;--neutral-500: #6C7389;--neutral-600: #575D72;--neutral-700: #474B5D;--neutral-800: #3E424E;--neutral-900: #363944;--neutral-950: #24252D;--black: #090A0C;--danger-50: #FFF1F4;--danger-100: #FFE0E6;--danger-200: #FFC5CF;--danger-300: #FF9DAF;--danger-400: #FF6581;--danger-500: #FE2048;--danger-600: #EC163D;--danger-700: #C70E2F;--danger-800: #A4102B;--danger-900: #881429;--danger-950: #4A0511;--warning-50: #FFFEE7;--warning-100: #FFFDC1;--warning-200: #FFF686;--warning-300: #FFE941;--warning-400: #FFD80D;--warning-500: #FFC800;--warning-600: #D19200;--warning-700: #A66802;--warning-800: #89510A;--warning-900: #74420F;--warning-950: #442204;--primary-50: #EEFFFA;--primary-100: #C7FFF0;--primary-200: #8EFFE2;--primary-300: #34EAC5;--primary-400: #01CBA5;--primary-500: #00A488;--primary-600: #00A488;--primary-700: #03826E;--primary-800: #08675A;--primary-900: #0C554A;--primary-950: #00342F;--black-ish: #090A0C;--qbits-bg: var(--neutral-950);--qbits-bg-elev: var(--neutral-900);--qbits-bg-elev-2: var(--neutral-800);--qbits-bg-elev-3: var(--neutral-700);--qbits-border: transparent;--qbits-text: var(--neutral-100);--qbits-text-dim: var(--neutral-400);--qbits-accent: var(--primary-300);--qbits-accent-soft: var(--primary-200);--qbits-gate-green: var(--primary-300);--qbits-bright-green: var(--primary-200);--qbits-gate-purple: #B08CFF;--qbits-gate-blue: #4DBAF5;--qbits-blue: var(--neutral-300);--qbits-purple: var(--neutral-200);--qbits-red: var(--danger-500);--qbits-red-soft: var(--danger-300);--qbits-yellow: var(--warning-400);--qbits-warning: var(--warning-500);--qbits-control: var(--warning-500);--qbits-track: var(--neutral-700);--ui-scrollbar-size: 5px;--ui-scrollbar-track: var(--neutral-900);--ui-scrollbar-thumb: var(--neutral-700);--ui-scrollbar-thumb-hover: var(--neutral-600)}.panel-box{background:var(--qbits-bg-elev);border-radius:10px;padding:12px;border:none}.panel-title{margin:0 0 10px;color:var(--qbits-text);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.styled-scrollbar{scrollbar-width:thin;scrollbar-color:var(--ui-scrollbar-thumb) var(--ui-scrollbar-track)}.styled-scrollbar::-webkit-scrollbar{width:var(--ui-scrollbar-size);height:var(--ui-scrollbar-size)}.styled-scrollbar::-webkit-scrollbar-track{background:var(--ui-scrollbar-track);border-radius:3px}.styled-scrollbar::-webkit-scrollbar-thumb{background:var(--ui-scrollbar-thumb);border-radius:3px}.styled-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ui-scrollbar-thumb-hover)}.mode-toggle{background:var(--neutral-900);border:1px solid var(--neutral-300);color:var(--qbits-text);padding:4px 10px;border-radius:12px;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.5px}.mode-toggle:hover{background:var(--neutral-800);color:var(--qbits-gate-green);border-color:var(--qbits-gate-green)}.qbits-landing{position:relative;min-height:100vh;background:var(--qbits-bg);overflow:hidden;display:flex;align-items:center;justify-content:center}.qbits-landing-vectors{position:absolute;inset:0;z-index:1}.qbits-landing-noise{display:none}.qbits-landing-hero{position:relative;z-index:3;text-align:center;padding:1.5rem}.qbits-brand{line-height:1;margin:0}.qbits-brand-q{font-family:Lobster,cursive;color:var(--qbits-accent);font-size:clamp(4.4rem,10vw,8rem);margin-right:.08rem}.qbits-brand-bits{font-family:JetBrains Mono,monospace;color:var(--qbits-text);font-size:clamp(3rem,8vw,5.8rem);font-weight:600;letter-spacing:-.02em}.qbits-landing-subtitle{margin-top:.8rem;margin-bottom:1.8rem;color:var(--qbits-text-dim);font-family:DM Sans,sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem}.qbits-start-button{border:none;background:var(--qbits-accent);color:var(--black);border-radius:999px;font-family:JetBrains Mono,monospace;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;padding:.9rem 2.1rem;cursor:pointer;transition:transform .2s ease}.qbits-start-button:hover{background:var(--primary-400);transform:translateY(-1px)}.gate-palette{background:var(--qbits-bg-elev);border-radius:10px;padding:12px;border:none;display:flex;gap:12px;align-items:flex-start}.palette-section{display:flex;flex-direction:column;gap:8px}.palette-title{margin:0;color:var(--qbits-text);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.gates-grid{display:flex;flex-wrap:wrap;gap:4px}.gate-button{width:32px;height:32px;border:2px solid var(--gate-color);background:var(--qbits-bg);color:var(--gate-color);border-radius:6px;font-size:12px;font-weight:700;cursor:grab;transition:all .15s ease;font-family:JetBrains Mono,Fira Code,monospace;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.gate-button:hover{background:var(--qbits-bg-elev-2);transform:scale(1.06)}.gate-button:active{cursor:grabbing;transform:scale(.95)}.barrier-section{border-left:none;padding-left:12px}.barrier-button{width:32px;height:44px;background:var(--qbits-bg);border:2px dashed var(--neutral-300);border-radius:5px;cursor:grab;transition:all .15s ease;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;color:var(--neutral-300)}.barrier-button:hover{background:var(--qbits-bg-elev-2);border-color:var(--neutral-200);color:var(--neutral-200);transform:scale(1.06)}.barrier-button:hover svg line{stroke:currentColor}.barrier-button:active{cursor:grabbing;transform:scale(.95)}.circuit-builder{background:var(--qbits-bg-elev);border-radius:10px;padding:12px;border:none;display:flex;flex-direction:column;gap:10px}.circuit-header{display:flex;justify-content:space-between;align-items:center}.circuit-title{margin:0;color:var(--qbits-text);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.circuit-board{overflow:visible}.circuit-grid{display:flex;gap:0}.qubit-labels{display:flex;flex-direction:column;gap:6px;flex-shrink:0;padding-right:6px}.qubit-row-label{height:36px;display:flex;align-items:center;gap:3px}.qubit-label{background:none;border:none;color:var(--qbits-gate-green);font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;padding:4px 5px;border-radius:4px;cursor:pointer;transition:all .15s ease}.qubit-label:hover{background:var(--qbits-bg-elev-2)}.qubit-btn{background:none;border:none;font-size:14px;width:22px;height:22px;cursor:pointer;border-radius:4px;transition:all .15s ease;opacity:.5;color:var(--qbits-text-dim);display:flex;align-items:center;justify-content:center}.qubit-btn:hover:not(:disabled){opacity:1;background:var(--qbits-bg-elev-2);border-color:var(--qbits-gate-green);color:var(--qbits-gate-green)}.qubit-btn:disabled{opacity:.15;cursor:not-allowed}.qubit-btn.eye.hidden{opacity:.25}.qubit-btn.trash:hover:not(:disabled){color:var(--danger-100);background:var(--danger-800);border-color:var(--danger-600)}.circuit-slots-wrapper{flex:1;overflow-x:auto;overflow-y:hidden}.circuit-slots{position:relative;min-width:calc(var(--slot-count) * 38px);height:var(--total-height);padding:0 4px}.qubit-track{position:absolute;left:0;right:0;top:calc(var(--row) * 42px + 18px);height:2px;background:var(--qbits-track);pointer-events:none}.control-lines-svg{position:absolute;left:0;top:0;pointer-events:none;z-index:1}.control-line{background:var(--qbits-control)}.circuit-gate{position:absolute;width:32px;height:32px;left:calc(var(--slot) * 38px + 3px);top:calc(var(--row) * 42px + 3px);background:var(--qbits-bg);border:2px solid var(--gate-color);color:var(--gate-color);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;font-family:JetBrains Mono,Fira Code,monospace;cursor:grab;transition:all .1s ease;z-index:10}.circuit-gate:hover{background:var(--qbits-bg-elev-2);z-index:20}.circuit-gate.selected{background:var(--gate-color);color:var(--black);z-index:25}.circuit-cell{overflow:visible}.qubit-track.animating{background:var(--qbits-accent)}.circuit-gate.dragging{opacity:.4;cursor:grabbing}.circuit-gate.disabled{background:var(--neutral-900)!important;border-color:var(--neutral-700)!important;color:var(--neutral-500)!important;pointer-events:none;opacity:.45}.control-indicator{position:absolute;top:-8px;right:-8px;background:var(--qbits-control);color:var(--black);font-size:10px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.circuit-gate.control-node{background:transparent!important;border:none!important;color:transparent!important;cursor:grab;pointer-events:auto}.circuit-gate.control-node:hover,.circuit-gate.control-node.selected,.circuit-gate.control-node.paired-selected{background:transparent!important}.circuit-gate.control-node .control-indicator{display:none}.circuit-gate.control-node:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--qbits-bg);border:2.5px solid var(--qbits-control);top:50%;left:50%;transform:translate(-50%,-50%)}.circuit-gate.control-node.selected:after,.circuit-gate.control-node.paired-selected:after{background:var(--qbits-control)}.drop-highlight{position:absolute;width:34px;height:34px;left:calc(var(--slot) * 38px + 2px);top:calc(var(--row) * 42px + 2px);border:none;background:var(--qbits-bg-elev-2);border-radius:8px;pointer-events:none;z-index:5}.insert-indicator{position:absolute;width:4px;height:34px;top:calc(var(--row) * 42px + 2px);background:var(--qbits-accent);border-radius:2px;pointer-events:none;z-index:20}.insert-indicator.left{left:calc(var(--slot) * 38px - 2px)}.insert-indicator.right{left:calc(var(--slot) * 38px + 36px)}.barrier-line{position:absolute;width:4px;left:calc(var(--slot) * 38px - 2px);top:0;height:var(--total-height);background:repeating-linear-gradient(to bottom,var(--neutral-300) 0px,var(--neutral-300) 4px,transparent 4px,transparent 8px);border-radius:2px;cursor:pointer;z-index:8;transition:all .15s ease}.barrier-line:hover{background:repeating-linear-gradient(to bottom,var(--neutral-200) 0px,var(--neutral-200) 4px,transparent 4px,transparent 8px)}.barrier-line.selected{background:repeating-linear-gradient(to bottom,var(--neutral-100) 0px,var(--neutral-100) 4px,transparent 4px,transparent 8px)}.barrier-line.highlighted{background:repeating-linear-gradient(to bottom,var(--qbits-accent) 0px,var(--qbits-accent) 4px,transparent 4px,transparent 8px)}.barrier-indicator{position:absolute;width:6px;left:calc(var(--slot) * 38px - 3px);top:0;height:var(--total-height);background:var(--neutral-400);border-radius:3px;pointer-events:none;z-index:20}.add-qubit-button{background:var(--qbits-bg-elev-3);border:none;color:var(--neutral-100);padding:7px 12px;border-radius:5px;font-size:11px;cursor:pointer;transition:all .2s ease;font-family:inherit}.add-qubit-button:hover{background:var(--neutral-600);color:var(--neutral-50)}.gate-settings{background:var(--qbits-bg-elev);border-radius:10px;padding:12px;border:none;display:flex;flex-direction:column;gap:10px}.gate-settings.empty{align-items:center;justify-content:center;min-height:50px}.placeholder{color:var(--qbits-text-dim);font-size:11px;font-style:italic}.settings-header{display:flex;align-items:center;gap:8px}.gate-badge{width:26px;height:26px;border:2px solid var(--gate-color);background:var(--qbits-bg);color:var(--gate-color);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;font-family:JetBrains Mono,Fira Code,monospace}.gate-badge.barrier{border:2px dashed var(--neutral-300);background:var(--qbits-bg);color:var(--neutral-300)}.gate-badge.control-node{background:var(--qbits-control);border:none;border-radius:50%;width:20px;height:20px}.gate-name{color:var(--qbits-text-dim);font-size:11px;flex:1}.settings-description{color:var(--qbits-text-dim);font-size:11px}.param-section{display:flex;flex-direction:column;gap:6px}.param-header{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--qbits-text-dim)}.slider-toggle{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:10px}.slider-toggle input{accent-color:var(--qbits-accent)}.param-grid{display:flex;gap:6px}.param-row{display:flex;flex-direction:column;gap:2px;flex:1}.param-row label{color:var(--qbits-text-dim);font-size:10px;font-family:JetBrains Mono,Fira Code,monospace}.param-row input{background:var(--qbits-bg);border:none;border-radius:4px;padding:4px 6px;color:var(--qbits-text);font-size:10px;font-family:JetBrains Mono,Fira Code,monospace;width:100%}.param-row input:focus{outline:none;border-color:var(--qbits-accent)}.param-sliders{display:flex;flex-direction:column;gap:4px}.slider-row{display:flex;align-items:center;gap:6px}.slider-row label{color:var(--qbits-text-dim);font-size:10px;font-family:JetBrains Mono,Fira Code,monospace;width:10px}.slider-row input[type=range]{flex:1;accent-color:var(--qbits-accent);height:4px}.slider-value{color:var(--qbits-text);font-size:10px;font-family:JetBrains Mono,Fira Code,monospace;min-width:32px;text-align:right}.control-section{display:flex;flex-direction:column;gap:6px}.control-toggle{display:flex;align-items:center;gap:5px;cursor:pointer;color:var(--qbits-text);font-size:11px}.control-toggle input{accent-color:var(--qbits-control)}.control-select{display:flex;gap:4px;flex-wrap:wrap}.control-qubit-btn{background:var(--neutral-600);border:none;color:var(--qbits-text-dim);padding:4px 8px;border-radius:4px;font-size:10px;font-family:JetBrains Mono,Fira Code,monospace;cursor:pointer;transition:all .15s ease}.control-qubit-btn:hover{background:var(--qbits-bg-elev-3);color:var(--qbits-text)}.control-qubit-btn.active{background:var(--qbits-control);color:var(--black);font-weight:600}.settings-actions{display:flex;gap:6px}.action-btn{flex:1;padding:5px 10px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.action-btn.remove{background:var(--danger-600);color:var(--danger-50);border:none}.action-btn.remove:hover{background:var(--danger-500)}.action-btn.decompose{background:var(--warning-400);color:var(--black);border:none}.action-btn.decompose:hover{background:var(--warning-300)}.animation-player{background:var(--qbits-bg-elev);border-radius:8px;padding:8px 10px;border:none;display:flex;align-items:center;gap:10px}.player-controls{display:flex;gap:3px}.player-btn{background:transparent;border:none;color:var(--qbits-text-dim);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.player-btn.step{width:24px;height:24px}.player-btn.play{width:30px;height:28px;background:var(--qbits-accent);color:var(--black)}.player-btn:hover:not(:disabled){background:var(--qbits-bg-elev-2);color:var(--qbits-text)}.player-btn.play:hover{background:var(--qbits-accent-soft);color:var(--black)}.player-btn:disabled{opacity:.3;cursor:not-allowed}.player-progress{flex:1;height:6px;background:var(--qbits-bg-elev-2);border-radius:3px;display:flex;gap:2px;overflow:visible}.segment{height:100%;background:var(--neutral-700);border-radius:3px;position:relative;overflow:hidden;transition:background .3s ease}.segment.completed,.segment.animating{background:var(--qbits-accent)}.segment.animating:after{content:"";position:absolute;top:0;left:0;height:100%;width:0%;background:var(--qbits-accent);animation:fillSegment 1s linear forwards}@keyframes fillSegment{0%{width:0%}to{width:100%}}.frame-label{font-size:10px;color:var(--qbits-text-dim);font-family:JetBrains Mono,Fira Code,monospace;min-width:28px;text-align:right}.probability-bars{background:var(--qbits-bg-elev);border-radius:10px;padding:12px;border:none}.prob-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.prob-title{margin:0;color:var(--qbits-text);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.prob-container{display:flex;flex-direction:column;gap:5px;max-height:140px;overflow-y:auto;padding-right:4px}.prob-row{display:flex;align-items:center;gap:8px}.prob-row.zero-prob{opacity:.35}.prob-row.others{margin-top:4px;padding-top:4px;border-top:1px dashed var(--qbits-border)}.prob-label{color:var(--qbits-text);font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;min-width:45px}.prob-bar-track{flex:1;height:14px;background:var(--qbits-bg-elev-2);border-radius:7px;overflow:hidden;border:none}.prob-bar{height:100%;border-radius:7px;transition:width .3s ease;background:var(--qbits-accent);min-width:2px}.prob-bar.others-bar{background:var(--qbits-red)}.prob-value{color:var(--qbits-text-dim);font-size:11px;min-width:40px;text-align:right;font-family:JetBrains Mono,Fira Code,monospace}.prob-empty{color:var(--qbits-text-dim);font-size:12px;font-style:italic}.state-display{background:var(--qbits-bg-elev);border-radius:10px;padding:12px;border:none}.state-display-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.state-display h4{margin:0;color:var(--qbits-text);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.collapse-btn{background:transparent;border:none;border-radius:4px;color:var(--qbits-text-dim);cursor:pointer;padding:2px 6px;font-size:10px;transition:all .2s}.collapse-btn:hover{background:var(--qbits-bg-elev-2);color:var(--qbits-text)}.state-equations{display:flex;flex-direction:column;gap:12px}.qubit-state-container{display:flex;align-items:flex-start;gap:10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.qubit-label{color:var(--qbits-gate-green);font-weight:600;min-width:30px;padding-top:2px}.branch-list{display:flex;flex-direction:column;gap:4px}.branch-row{display:flex;align-items:center;gap:8px}.branch-probability{color:var(--qbits-purple);font-size:11px;font-weight:600;min-width:32px;text-align:right}.state-equation{color:var(--qbits-text);display:flex;align-items:center;flex-wrap:wrap}.coefficient{color:var(--qbits-accent)}.ket{color:var(--qbits-yellow);font-weight:500}.operator{color:var(--qbits-text-dim);margin:0 2px}.phase-indicator{display:flex;gap:6px;margin-left:8px;font-size:10px}.lambda-phase{color:var(--qbits-blue);background:var(--neutral-900);padding:1px 4px;border-radius:3px;border:none}.phi-phase{color:var(--qbits-purple);background:var(--neutral-900);padding:1px 4px;border-radius:3px;border:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--qbits-bg);color:var(--qbits-text);min-height:100vh;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh}.app-header{background:var(--qbits-bg-elev);padding:10px 18px;display:flex;align-items:baseline;gap:12px;flex-shrink:0}.app-header h1{line-height:1}.app-brand-q{font-family:Great Vibes,cursive;color:var(--qbits-accent);font-size:2rem;margin-right:.06rem}.app-brand-bits{font-family:JetBrains Mono,monospace;color:var(--qbits-text);font-size:1.2rem;font-weight:600}.subtitle{color:var(--qbits-text-dim);font-size:11px}.app-main{display:flex;flex:1;overflow:hidden}.left-panel{display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.config-section{display:flex;flex-direction:column;gap:8px;padding:10px;overflow-y:auto;min-height:0}.resize-handle-h{height:5px;background:var(--qbits-bg-elev-3);cursor:row-resize;transition:background .2s ease;flex-shrink:0}.resize-handle-h:hover,.resize-handle-h.active{background:var(--qbits-accent)}.prob-section{display:flex;flex-direction:column;gap:8px;padding:10px;overflow-y:auto;min-height:0}.resize-handle{width:5px;background:var(--qbits-bg-elev-3);cursor:col-resize;transition:background .2s ease;flex-shrink:0}.resize-handle:hover,.resize-handle.active{background:var(--qbits-accent)}.right-panel{flex:1;min-width:280px;overflow:hidden}@media(max-width:768px){.app-main{flex-direction:column}.left-panel{width:100%!important;max-height:50vh}.resize-handle{display:none}.right-panel{min-height:280px}}
