:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0e1117;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{place-content:center;min-width:320px;min-height:100vh;margin:0;display:flex;overflow:hidden}#root{width:100%}.debugger-panel{-webkit-backdrop-filter:blur(24px);color:#cdd6f4;z-index:95;background:#12121cd9;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;width:500px;max-height:calc(100vh - 60px);font-family:Inter,sans-serif;display:flex;position:absolute;top:30px;left:30px;overflow-y:auto;box-shadow:0 20px 40px #000c,inset 0 1px #ffffff1a}.debugger-panel::-webkit-scrollbar{width:8px}.debugger-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.debugger-header{background:#0003;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.debugger-header h3{color:#89b4fa;margin:0;font-size:1.1rem}.step-badge{color:#89b4fa;background:#89b4fa33;border-radius:20px;padding:4px 10px;font-family:monospace;font-size:.8rem;font-weight:700}.debugger-variables{background:#0000001a;border-bottom:1px solid #ffffff0d;padding:12px 16px}.debugger-variables h4,.debugger-ds h4{color:#a6adc8;text-transform:uppercase;letter-spacing:1px;margin:0 0 10px;font-size:.9rem}.vars-grid{flex-wrap:wrap;gap:12px;display:flex}.vars-grid div{background:#1e1e2e;border:1px solid #ffffff1a;border-radius:8px;padding:6px 12px;font-family:monospace;font-size:.9rem}.vars-grid strong{color:#f38ba8;margin-right:5px}.debugger-code{background:#11111b;border-bottom:1px solid #ffffff0d;padding:12px 16px}.debugger-code pre{color:#bac2de;margin:0;font-family:Fira Code,monospace;font-size:.85rem;line-height:1.6}.code-line{border-radius:4px;padding:2px 8px;transition:background-color .2s;display:flex}.code-line.active{color:#f38ba8;background-color:#f38ba826;border-left:3px solid #f38ba8}.code-line.comment{color:#6c7086;border-left:3px solid #0000;font-style:italic}.line-num{color:#585b70;-webkit-user-select:none;user-select:none;text-align:right;width:24px;margin-right:12px}.debugger-ds{padding:12px 16px}.matrix-container{overflow-x:auto}.matrix-container table{border-collapse:collapse;text-align:center;width:100%;font-family:monospace;font-size:.8rem}.matrix-container th,.matrix-container td{border:1px solid #ffffff1a;width:24px;height:24px;padding:6px}.matrix-container th{color:#a6adc8;background:#1e1e2e}.matrix-container td{background:#0003;transition:all .3s}.matrix-container td.cell-active{color:#fff;background:#f38ba866;font-weight:700;transform:scale(1.1);box-shadow:0 0 10px #f38ba880}.matrix-container td.cell-visited{color:#89b4fa}.state-arrays{margin-top:15px}.state-row{margin-bottom:10px;font-family:monospace;font-size:.85rem}.state-row strong{color:#a6adc8;margin-bottom:5px;display:block}.array-boxes{flex-wrap:wrap;gap:5px;display:flex}.array-boxes .box{text-align:center;background:#1e1e2e;border:1px solid #ffffff1a;border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.array-boxes .idx{color:#7f849c;background:#0000004d;padding:2px 6px;font-size:.7rem}.array-boxes .val{color:#cdd6f4;padding:4px 6px}.adj-list{flex-direction:column;gap:8px;display:flex}.adj-row{border-radius:6px;align-items:flex-start;gap:10px;padding:4px;transition:background .2s;display:flex}.adj-row.row-active{background:#ffffff0d}.adj-head{color:#fff;background:#313244;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-family:monospace;font-weight:700;display:flex}.adj-items{flex-wrap:wrap;gap:6px;display:flex}.adj-item{background:#1e1e2e;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-family:monospace;font-size:.8rem;transition:all .3s;display:flex}.adj-item .w{color:#a6adc8;font-size:.75rem}.adj-item.item-active{color:#11111b;background:#f38ba8;border-color:#f38ba8;transform:scale(1.05);box-shadow:0 0 10px #f38ba880}.adj-item.item-active .w{color:#0009}.heap-state{margin-top:15px;font-family:monospace;font-size:.85rem}.heap-state strong{color:#a6adc8;margin-bottom:8px;display:block}.heap-boxes{flex-wrap:wrap;gap:6px;display:flex}.heap-box{color:#89b4fa;background:#89b4fa26;border:1px solid #89b4fa4d;border-radius:4px;padding:4px 8px}.empty-heap{color:#585b70;font-style:italic}.app-container{color:#fff;background-color:#0e1117;background-image:radial-gradient(circle,#1e1e2e99 0%,#0e1117 100%),linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-position:0 0,50%,50%;background-size:100% 100%,40px 40px,40px 40px;width:100vw;height:100vh;position:relative;overflow:hidden}.floating-toolbar{-webkit-backdrop-filter:blur(20px);z-index:100;background:#1e1e2e66;border:1px solid #ffffff14;border-radius:50px;align-items:center;gap:15px;padding:10px 20px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 20px 40px #0009,inset 0 1px #ffffff1a}.floating-toolbar button{color:#cdd6f4;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.floating-toolbar button:hover:not(:disabled){color:#fff;background:#ffffff1a}.floating-toolbar button:disabled{opacity:.3;cursor:not-allowed}.floating-toolbar .play-btn{color:#11111b;background:#f38ba8}.floating-toolbar .play-btn:hover{background:#fab387;transform:scale(1.05)}.floating-toolbar .divider{background:#ffffff1a;width:1px;height:24px}.floating-toolbar button.active{color:#f38ba8}.floating-panel{-webkit-backdrop-filter:blur(20px);z-index:90;background:#1e1e2e66;border:1px solid #ffffff14;border-radius:20px;padding:20px;position:absolute;box-shadow:0 20px 40px #0009,inset 0 1px #ffffff1a}.info-panel{min-width:250px;top:30px;left:30px}.info-panel h3{color:#89dceb;margin:0 0 10px;font-size:1.2rem}.step-counter{color:#a6adc8;margin-bottom:10px;font-size:.9rem}.step-detail{background:#0003;border-left:3px solid #f38ba8;border-radius:10px;padding:10px;font-size:.9rem}.settings-panel{flex-direction:column;gap:15px;width:280px;display:flex;top:30px;right:30px}.settings-panel h4{color:#89dceb;margin:0}.setting-item{flex-direction:column;gap:5px;display:flex}.setting-item label{color:#a6adc8;font-size:.85rem}.setting-item input[type=range]{width:100%}.setting-item select{color:#fff;background:#11111b;border:1px solid #ffffff1a;border-radius:8px;padding:8px}.apply-btn{color:#11111b;cursor:pointer;background:#89dceb;border:none;border-radius:10px;margin-top:10px;padding:10px;font-weight:700}.apply-btn:hover{background:#74c7ec}.status-overlay{z-index:200;background:#0e1117e6;flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.status-overlay.error{color:#f38ba8}.status-overlay.error p{text-align:center;background:#f38ba81a;border:1px solid #f38ba833;border-radius:10px;max-width:400px;padding:20px}.status-overlay button{color:#11111b;cursor:pointer;background:#89dceb;border:none;border-radius:10px;padding:10px 25px;font-weight:700}.spin{color:#89dceb;animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
