@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.table{display:table}.resize{resize:both}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color:#e6eee8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#101513;--panel:#181f1b;--line:#2b352e;--muted:#8d9e92;--lime:#c5ef86;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;color-scheme:dark;background:#101513;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button{transition:background .15s,color .15s,border-color .15s}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--lime);outline-offset:3px}input,select{min-width:0}button svg{flex-shrink:0}code{font-family:var(--mono)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{border-bottom:1px solid var(--line);background:#131916;justify-content:space-between;align-items:center;height:76px;padding:0 32px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:12px;font-size:17px;font-weight:650;display:flex}.brand-mark{background:var(--lime);color:#21301d;border-radius:10px;place-items:center;width:37px;height:37px;display:grid}.brand-suffix{color:#95a296;font-weight:400}.version{font:10px var(--mono);color:#9aac95;letter-spacing:0;border:1px solid #374335;border-radius:4px;padding:4px 6px}.header-right{align-items:center;gap:25px;font-size:11px;display:flex}.header-right>a{color:#a4b3a8;align-items:center;gap:5px;display:flex}.header-right>a:hover{color:var(--lime)}.connection{font-family:var(--mono);color:#a4b3a8;align-items:center;gap:7px;font-size:10px;display:flex}.connection i{background:#829087;border-radius:50%;width:6px;height:6px}.connection.online i{background:var(--lime);box-shadow:0 0 10px #b9df7933}.workspace{grid-template-columns:240px minmax(0,1fr);max-width:1920px;min-height:calc(100vh - 76px);margin:auto;display:grid}.sidebar{border-right:1px solid var(--line);background:#131916;flex-direction:column;padding:30px 18px 20px;display:flex}.eyebrow{font-size:9px;font-family:var(--mono);color:#89998c;letter-spacing:1.8px;font-weight:600}.sidebar-section{margin-bottom:32px}.collection-selector{color:var(--lime);background:#243022;border:1px solid #47603a;border-radius:7px;align-items:center;gap:9px;margin-top:13px;padding:11px 12px;display:flex}.collection-selector select{font:13px var(--mono);appearance:none;background:0 0;border:0;outline:0;flex:1}.collection-selector>span{font:10px var(--mono);opacity:.6}.sidebar-note{color:#849488;margin-top:12px;padding-left:2px;font-size:10px;line-height:1.9}.sidebar-title{color:#7c8f7e;justify-content:space-between;align-items:center;display:flex}.sidebar-description{color:#7d8e82;margin-top:10px;margin-bottom:18px;font-size:10px}.scenario-button{text-align:left;color:#a9b7ad;background:0 0;border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:10px;width:100%;margin:4px 0;padding:12px 9px;display:flex}.scenario-button:hover{background:#1e2821;border-color:#2f3d30}.scenario-button.selected{color:var(--lime);background:#273324;border-color:#3a4b32}.scenario-number{font:10px var(--mono);color:#71816f;margin-top:3px}.scenario-button>span:nth-child(2){flex:1}.scenario-button strong{font-size:11px;font-weight:500;line-height:1.4;display:block}.scenario-button small{color:#809281;margin-top:5px;font-size:9px;line-height:1.7;display:block}.scenario-button>svg{opacity:.5;margin-top:3px}.scenario-reset-note{color:#778a7c;align-items:flex-start;gap:6px;padding:12px 7px;font-size:9px;line-height:1.7;display:flex}.scenario-reset-note svg{flex-shrink:0;margin-top:2px}.sidebar-bottom{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding-top:20px;display:flex}.java-badge{font:24px var(--mono);color:#9aad94;align-items:baseline;display:flex}.java-badge span{font-size:10px}.sidebar-bottom p{color:#a5b29e;font-size:9px;line-height:1.8}.sidebar-bottom p span{color:#6e8172}main{min-width:0;padding:30px 30px 16px}.page-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px;display:flex}.breadcrumbs{color:#748879;align-items:center;gap:8px;margin-bottom:12px;font-size:10px;display:flex}.breadcrumbs span{color:#c0ccbe}h1{letter-spacing:-1px;margin:0;font-size:29px;font-weight:550;line-height:1.25}h1>span{color:var(--lime)}.page-heading p{color:#8a9b8e;margin-top:9px;margin-bottom:0;font-size:11px}.model-badge{color:#a7b99d;border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:18px;font-size:10px;display:flex}.model-badge span{color:#798b7b;margin-top:5px;font-size:9px;display:block}.panel{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden}.command-panel{padding:0 18px 12px}.command-topline{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.operation-tabs{gap:22px;display:flex}.operation-tabs button{color:#91a18f;font:12px var(--mono);background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 2px 11px}.operation-tabs button.active{color:var(--lime);border-bottom-color:var(--lime)}.operation-tabs button span{opacity:.55;margin-left:2px}.reset-actions{gap:15px;display:flex}.subtle-button{color:#91a28e;background:0 0;border:0;align-items:center;gap:6px;padding:5px 0;font-size:10px;display:inline-flex}.subtle-button:hover{color:#d4e1d0}.command-form{align-items:flex-end;gap:12px;display:flex}.field{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.field>span{color:#b7c5b4;justify-content:space-between;font-size:10px;display:flex}.field code{color:#6e816d;font-size:9px}.field input,.field select{color:#dce7d8;width:100%;font:12px var(--mono);background:#111812;border:1px solid #354032;border-radius:6px;height:39px;padding:11px 12px}.field input:disabled{opacity:.4}.key-type{max-width:180px}.hash-field{max-width:100px}.primary-button{color:#223018;background:var(--lime);border:1px solid var(--lime);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:39px;padding:0 18px;font-size:11px;font-weight:650;display:flex}.primary-button:hover:not(:disabled){background:#d5fca2}.input-caption{color:#798d79;justify-content:space-between;align-items:center;gap:15px;min-height:28px;padding-top:10px;font-size:9px;line-height:1.6;display:flex}.input-caption>span{align-items:center;gap:7px;display:flex}.input-caption svg{flex-shrink:0}.check-label{color:#9aaa99;white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:9px;display:flex}.check-label input{accent-color:var(--lime);cursor:pointer;width:11px;height:11px}.state-label{color:#8b9c89;justify-content:space-between;gap:12px;margin:20px 2px 10px;font-size:9px;display:flex}.state-label>span:first-child{align-items:center;gap:7px;display:flex}.working-dot,.committed-dot{background:#e6c579;border-radius:50%;width:5px;height:5px;display:inline-block}.committed-dot{background:var(--lime)}.state-label b{color:#c6d4be;font-family:var(--mono);font-weight:400}.metrics{border:1px solid var(--line);background:#151c17;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(180px,1.6fr);margin-bottom:20px;display:grid}.metric{border-right:1px solid var(--line);min-width:0;padding:14px 17px}.metric:last-child{border:0}.metric>span{font:10px var(--mono);color:#98aa94;display:block}.metric>strong{font:25px var(--mono);color:#e5eedf;margin:6px 0 5px;display:block}.metric>small{color:#758a73;font-size:8px;line-height:1.5;display:block}.result-metric>span{font:8px var(--mono);letter-spacing:1px}.result-metric>strong{color:var(--lime);font:12px var(--mono);white-space:nowrap;text-overflow:ellipsis;margin-top:14px;margin-bottom:10px;overflow:hidden}.lab-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px;display:grid}.canvas-column{min-width:0}.panel-heading{justify-content:space-between;align-items:center;padding:18px 18px 15px;display:flex}.panel-heading h2{align-items:center;gap:9px;margin:7px 0 0;font-size:13px;font-weight:500;display:flex}.panel-heading .eyebrow{font-size:8px}.small-tag{font:8px var(--mono);color:#98ac8b;border:1px solid #3a4837;border-radius:3px;padding:3px 5px}.zoom-controls{align-items:center;gap:3px;display:flex}.zoom-controls>span{text-align:center;width:32px;font:9px var(--mono);color:#8fa185}.icon-button{color:#9bab94;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--lime);background:#293623}.array-heading{justify-content:space-between;align-items:center;gap:8px;padding:0 18px 10px;display:flex}.array-heading code{color:#819577;font-size:9px}.bucket-array{flex-wrap:wrap;gap:4px;max-height:145px;padding:0 18px 3px;display:flex;overflow:auto}.bucket-cell{color:#53654b;width:calc(6.25% - 3.75px);min-width:26px;max-width:50px;font:12px var(--mono);background:#141c15;border:1px solid #2d3a29;border-radius:4px;flex-direction:column;flex-shrink:0;align-items:center;gap:7px;padding:5px 0;display:flex}.bucket-index{color:#71846a;font-size:8px}.bucket-cell.occupied{color:var(--lime);background:#283821;border-color:#587340}.bucket-cell.active{box-shadow:inset 0 0 0 1px var(--lime);border-color:var(--lime)}.bucket-cell:hover{border-color:#95ba6f}.array-caption{font:8px var(--mono);color:#778b6d;padding:9px 18px 13px;line-height:1.6}.array-caption>span{color:var(--lime)}.unallocated{border:1px dashed #36472f;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin:0 18px 17px;padding:12px;display:flex}.unallocated code{color:#b2c5a0;font-size:11px}.unallocated span{color:#819375;font-size:9px}.diagram-scroll{scrollbar-width:thin;scrollbar-color:#3b5030 transparent;background-color:#141c15;background-image:radial-gradient(#34412e 1px,#0000 1px);background-size:20px 20px;border-top:1px solid #2a3626;min-height:300px;max-height:530px;padding:8px 0 0;overflow:auto}.diagram-scroll svg{min-width:100%;display:block}.band{fill:#19231ae8;stroke:#34432c;stroke-width:1px}.band.pending{stroke-dasharray:5 4}.svg-bucket{font:12px var(--mono);fill:#a8bd98}.svg-kind{font:7px var(--mono);letter-spacing:1px;fill:#748c64}.map-node{fill:#243720;stroke:#5e8146;stroke-width:1.3px;transition:fill .2s,stroke .2s}.map-node.red-node{fill:#382528;stroke:#9d565d}.map-node.black-node{fill:#17201a;stroke:#7b9273}.map-node.highlighted{stroke:var(--lime);stroke-width:2.5px;filter:drop-shadow(0 0 6px #c5ef8625)}.svg-key{font:12px var(--mono);fill:#e2efda}.svg-value{font:10px var(--mono);fill:#a5be96}.svg-node-id{font:8px var(--mono);fill:#748e68}.svg-edge-label{font:8px var(--mono);fill:#8b9e80}.diagram-legend{color:#8ea17e;border-top:1px solid #2b3726;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 17px;font-size:8px;display:flex}.diagram-legend>span{align-items:center;gap:5px;display:flex}.diagram-legend i{background:#6b994a;border-radius:2px;width:6px;height:6px}.diagram-legend .legend-red{background:#d87378;border-radius:50%}.diagram-legend .legend-black{background:#11190e;border:1px solid #849776;border-radius:50%}.diagram-legend .legend-hint{color:#667e5b;margin-left:auto;font-size:8px}.empty-diagram{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:32px 18px;display:flex}.empty-icon{color:#a4c786;background:#263720;border:1px solid #425337;border-radius:16px;place-items:center;width:62px;height:62px;display:grid;box-shadow:0 0 40px #b8e07c07}.empty-diagram h3{color:#cadbc0;margin:20px 0 6px;font-size:14px;font-weight:450}.empty-diagram p{color:#819875;margin:0;font-size:10px;line-height:1.9}.empty-diagram p code{color:#bed9a9}.empty-flow{font:10px var(--mono);color:#8daa7c;align-items:center;gap:12px;margin-top:24px;display:flex}.empty-flow span{background:#1b2916;border:1px solid #344a2b;border-radius:4px;padding:5px 9px}.empty-flow i{color:#5b774b;font-style:normal}.split-explanation{font:9px var(--mono);color:#c6e3ae;background:#293b20;border-top:1px solid #394d2b;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 18px;display:flex}.pulse-dot{background:var(--lime);border-radius:50%;width:5px;height:5px}.split-explanation>span:last-child{color:#96ba78;margin-left:auto}.playback{background:#1a231b;margin-top:15px;padding:14px 16px}.playback-top{align-items:center;gap:15px;display:flex}.transport{align-items:center;gap:2px;display:flex}.play-button{background:var(--lime);color:#25351b;border:0;border-radius:6px;place-items:center;width:33px;height:33px;margin:0 7px;display:grid}.step-counter{font:8px var(--mono);color:#899e7c;align-items:baseline;gap:7px;display:flex}.step-counter b{color:#d1e0c8;font-size:13px;font-weight:500}.step-counter>span{font-size:10px}.speed-control{color:#829772;align-items:center;gap:8px;margin-left:auto;font-size:8px;display:flex}.speed-control select{color:#bad2a8;font:10px var(--mono);background:#152012;border:1px solid #3a4b31;border-radius:4px;padding:5px}.timeline{width:100%;height:3px;accent-color:var(--lime);cursor:pointer;margin:18px 0 16px;display:block}.step-explanation{align-items:flex-start;gap:10px;min-height:40px;display:flex}.step-symbol{color:var(--lime);padding-top:2px}.step-explanation>div{min-width:0}.step-explanation strong{color:#d5e4cb;font-size:11px;font-weight:450;line-height:1.5;display:block}.step-explanation code{color:#7d9870;overflow-wrap:anywhere;margin-top:4px;font-size:8px;line-height:1.7;display:block}.history-bar{color:#8b9f7e;align-items:center;gap:9px;min-width:0;margin:15px 2px;font-size:9px;display:flex}.history-bar label{white-space:nowrap}.history-bar select{color:#b1c79f;font:9px var(--mono);outline-offset:0;background:0 0;border:0;flex:1;max-width:300px}.history-bar>span{color:#617755;white-space:nowrap;margin-left:auto;font-size:8px}.inspector{background:#161f17;flex-direction:column;max-height:915px;display:flex}.inspector-tabs{border-bottom:1px solid var(--line);display:flex}.inspector-tabs button{font:10px var(--mono);color:#859b7c;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:7px;padding:17px 7px 14px;display:flex}.inspector-tabs button.active{border-bottom-color:var(--lime);color:var(--lime)}.inspector-tabs button>span{color:#b7d79e;background:#293d21;border-radius:3px;padding:2px 4px;font-size:8px}.inspector-title{justify-content:space-between;align-items:center;padding:17px 15px 12px;display:flex}.inspector-title .eyebrow{letter-spacing:1.2px;font-size:8px}.live-label{font:7px var(--mono);color:#819e6a;letter-spacing:.7px}.event-list{scrollbar-width:thin;scrollbar-color:#344c27 transparent;overscroll-behavior:contain;height:410px;padding:0 7px 12px;overflow:auto}.event-row{text-align:left;color:#809575;background:0 0;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:9px;width:100%;padding:11px 9px;display:flex}.event-order{font:9px var(--mono);color:#637c54;margin-top:1px}.event-row>span:nth-child(2){flex:1;min-width:0}.event-row code{letter-spacing:.2px;overflow-wrap:anywhere;font-size:8px;display:block}.event-row small{color:#6f8962;margin-top:4px;font-size:9px;line-height:1.6;display:block}.event-row:hover{background:#202e1b}.event-row.current{color:var(--lime);background:#2a3a23;border-color:#455e33}.event-row.current small{color:#b0c39f}.event-row.current .event-order{color:var(--lime)}.event-row.past{color:#a3b797}.event-row>svg{margin-top:1px}.inspector-empty{text-align:center;color:#687f5c;flex-direction:column;align-items:center;padding:90px 24px;display:flex}.inspector-empty p{color:#9db58c;font-size:12px}.inspector-empty small{font-size:10px;line-height:1.8}.technical-details{scrollbar-width:thin;background:#131d13;border-top:1px solid #2f4026;min-height:140px;padding:17px 16px;position:relative;overflow:auto}.technical-details .eyebrow{font-size:8px}.technical-details>p{color:#7e966f;margin-top:16px;font-size:9px;line-height:1.8}.technical-details dl{margin:13px 0 0}.technical-details dl>div{font:9px var(--mono);border-bottom:1px solid #26361f;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;display:flex}.technical-details dt{color:#819a70}.technical-details dd{color:#c1d5af;text-align:right;overflow-wrap:anywhere;min-width:0;max-width:65%;margin:0}.step-op{font:9px var(--mono);color:#b5cd9f;overflow-wrap:anywhere;margin-top:12px;line-height:1.7}.close-node{position:absolute;top:10px;right:10px}.algorithm-list{height:410px;padding:0 15px 15px;overflow:auto}.algorithm-list>p{color:#8ba279;margin:0 0 14px;font-size:9px;line-height:1.7}.algorithm-list>div{color:#90a67f;border-left:2px solid #32482a;margin-bottom:3px;padding:9px 10px}.algorithm-list>div.active{border-color:var(--lime);color:var(--lime);background:#283b20}.algorithm-list code{white-space:pre-wrap;font-size:9px;display:block}.algorithm-list small{color:#80996d;margin-top:5px;font-size:8px;line-height:1.7;display:block}.algorithm-list>a{color:#b2ce98;align-items:center;gap:6px;margin-top:16px;font-size:9px;display:flex}.page-footer{color:#5e7951;border-top:1px solid #25331e;justify-content:space-between;gap:10px;margin-top:8px;padding-top:15px;font-size:8px;display:flex}.page-footer>span:first-child{align-items:center;gap:7px;display:flex}.error-banner,.loading-banner{color:#e5c9a4;background:#31281e;border:1px solid #745841;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 15px;font-size:11px;line-height:1.6;display:flex}.error-banner>svg,.loading-banner>svg{flex-shrink:0}.error-banner>span{flex:1}.error-banner button:not(.icon-button){white-space:nowrap;background:#55422a;border:1px solid #997849;border-radius:4px;padding:5px 9px;font-size:10px}.loading-banner{color:#bddca6;background:#25371c;border-color:#426135}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.connecting{color:#8ea97a;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:500px;padding:30px;display:flex}.connecting h2{margin-top:20px;font-size:16px}.connecting p{font-size:11px;line-height:1.7}@media(min-width:1600px){main{padding:35px 40px 20px}.lab-grid{grid-template-columns:minmax(0,1fr) 330px}.sidebar{padding-left:23px;padding-right:23px}.workspace{grid-template-columns:260px minmax(0,1fr)}.diagram-scroll{min-height:365px}.event-list,.algorithm-list{height:465px}.empty-diagram{min-height:365px}.page-heading{margin-bottom:30px}}@media(max-width:1200px){.workspace{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}main{padding:24px 20px 16px}.lab-grid{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.model-badge{display:none}.metric{padding:13px 12px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr)) 160px}.command-form{gap:9px}.key-type{max-width:145px}.primary-button{padding:0 10px}.diagram-legend .legend-hint,.zoom-controls>span{display:none}.panel-heading{padding:15px}.header-right{gap:15px}.brand-suffix{font-size:14px}.speed-control>span{display:none}.playback{padding:12px}.playback-top{gap:8px}.history-bar>span{display:none}.transport{gap:0}.transport .icon-button{padding:4px}.play-button{margin:0 4px}.metric>small{font-size:8px}.metric>strong{font-size:22px}.result-metric>strong{font-size:10px}}@media(max-width:1000px){.workspace{grid-template-columns:180px minmax(0,1fr)}.lab-grid{grid-template-columns:minmax(0,1fr)}.inspector{grid-template-columns:1fr 1fr;max-height:none;display:grid}.inspector-tabs{grid-column:1/-1}.inspector-title{grid-column:1}.event-list,.algorithm-list{grid-column:1;height:300px}.technical-details{border-top:0;border-left:1px solid var(--line);grid-area:2/2/4;max-height:345px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.result-metric{grid-column:1/-1;align-items:center;gap:15px;padding:10px 13px;display:flex;border-top:1px solid var(--line)!important}.result-metric>strong{flex:1;margin:0;font-size:11px}.result-metric>small{display:none}.metric:nth-child(4){border-right:0}.command-form{flex-wrap:wrap}.field{flex:100px}.key-type{flex:140px;max-width:none}.primary-button{flex:140px}.scenario-button{gap:7px;padding:11px 7px}.scenario-button small,.scenario-button>svg{display:none}.scenario-button strong{font-size:10px;line-height:1.7}.sidebar-bottom{display:none}.sidebar-description{line-height:1.7}.header-right .connection,.page-footer>span:last-child{display:none}}@media(max-width:680px){.app-header{height:62px;padding:0 17px}.brand{gap:9px;font-size:15px}.brand-mark{border-radius:8px;width:31px;height:31px}.brand-suffix{display:none}.version{font-size:8px}.header-right>a{font-size:9px}.repo-link>span,.repo-link>svg:last-child{display:none}.workspace{flex-direction:column;display:flex}.sidebar{border-right:0;border-bottom:1px solid var(--line);background:#141d15;padding:13px 17px}.sidebar-section:first-child{margin-bottom:12px;display:block}.sidebar-section:first-child>.eyebrow,.sidebar-note{display:none}.collection-selector{max-width:280px;margin-top:0}.sidebar-section.scenarios{margin:0}.sidebar-title{margin-bottom:8px}.sidebar-title .eyebrow{font-size:8px}.sidebar-title svg{display:none}.scenarios{flex-wrap:nowrap;align-items:stretch;gap:6px;display:flex;overflow:auto}.sidebar-title,.sidebar-description,.scenario-reset-note{display:none}.scenario-button{background:#1d2b1c;border:1px solid #33452c;border-radius:5px;flex-shrink:0;align-items:center;gap:7px;width:auto;margin:0;padding:7px 10px}.scenario-button strong{white-space:nowrap;font-size:9px}.scenario-number{margin:0;font-size:8px}main{padding:21px 14px 15px}.page-heading{margin-bottom:20px}.breadcrumbs{margin-bottom:10px;font-size:8px}h1{font-size:25px}.page-heading p{margin-top:7px;font-size:10px;line-height:1.7}.command-panel{padding:0 12px 12px}.command-topline{gap:12px}.operation-tabs{gap:15px}.operation-tabs button{font-size:10px}.reset-actions{gap:10px}.subtle-button{font-size:8px}.reset-actions .subtle-button:first-child span{display:none}.command-form{gap:12px}.field,.key-type,.hash-field{flex:40%;max-width:none}.primary-button{flex:40%;font-size:11px}.input-caption{align-items:flex-start;gap:8px;font-size:8px}.input-caption .check-label{font-size:8px}.input-caption>span{align-items:flex-start}.input-caption>span svg{margin-top:2px}.state-label{margin-top:16px;font-size:8px;line-height:1.7}.metrics{margin-bottom:15px}.metric{padding:12px 9px}.metric>span{font-size:8px}.metric>strong{font-size:22px}.metric>small{font-size:7px;line-height:1.6}.result-metric{gap:12px;padding:12px 10px}.result-metric>span{font-size:7px}.result-metric>strong{font-size:10px}.panel-heading h2{font-size:12px}.small-tag{font-size:7px}.panel-heading{padding:14px}.array-heading{padding:0 14px 10px}.array-heading code,.check-label{font-size:8px}.bucket-array{gap:4px;padding:0 14px}.bucket-cell{width:calc(12.5% - 3.5px);max-width:none}.unallocated{flex-direction:column;align-items:flex-start;gap:7px;margin:0 14px 15px;padding:10px}.unallocated span{font-size:9px}.empty-diagram{min-height:300px}.empty-diagram h3{font-size:13px}.empty-diagram p{font-size:9px}.diagram-legend{gap:11px;padding:11px 14px;font-size:7px}.playback-top{gap:8px}.step-counter{gap:5px;font-size:7px}.step-counter>b{font-size:11px}.speed-control{gap:4px}.speed-control select{padding:4px;font-size:9px}.step-explanation strong{font-size:10px}.history-bar{gap:6px;font-size:8px}.history-bar select{font-size:8px}.inspector,.inspector-title{display:flex}.technical-details{border-left:0;border-top:1px solid var(--line);max-height:300px}.event-list,.algorithm-list{height:280px}.inspector-tabs button{padding:14px}.technical-details dl>div{font-size:9px}.error-banner{flex-wrap:wrap;gap:7px;padding:10px;font-size:10px}.error-banner>span{flex-basis:80%}.error-banner .icon-button{margin-left:auto}.page-footer{font-size:7px}.connecting{min-height:300px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(min-width:1001px){.scenario-button strong{font-size:12px}.scenario-button small{font-size:10px}.sidebar-note,.sidebar-description{font-size:11px}.metric>small,.event-row code{font-size:9px}.event-row small{font-size:10px}.page-heading p,.field>span,.primary-button{font-size:12px}}.diagram-scroll{position:relative}.empty-diagram{pointer-events:none;position:absolute;inset:0}.diagram-navigation{color:#9bab94;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;font-size:11px;display:flex}@media(max-width:680px){.visualization .panel-heading{flex-wrap:wrap;gap:10px}.zoom-controls .icon-button{min-width:36px;min-height:36px}.diagram-scroll{max-height:420px}}.array-command-form{flex-wrap:wrap}.array-command-form .field{flex:130px;min-width:110px}.array-constructor{flex-wrap:wrap;gap:12px}.array-constructor label{color:#a5b3c8;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.array-constructor select{color:#dae6f5;background:#101925;border:1px solid #324155;border-radius:6px;max-width:100%;padding:7px}.array-diagram{min-width:0;padding:20px;overflow:hidden}.array-title,.array-buffer-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.array-title h2{font-size:16px}.array-legend,.array-step,.array-empty p{color:#9cacc2;font-size:12px;line-height:1.7}.array-buffer{min-width:0;margin:20px 0}.array-buffer-heading{color:#a7b7cc;margin-bottom:14px;font-size:12px}.array-buffer-heading code{color:#6ce0c5}.array-cells{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:9px;max-height:430px;padding:4px;display:grid;overflow-y:auto}.array-cell{text-align:left;color:#d9f5ee;background:#152b2b;border:1px solid #397666;border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:10px;display:flex}.array-cell strong{overflow-wrap:anywhere;font:14px JetBrains Mono,monospace}.array-cell small{color:#a2b5c9;font-size:10px}.array-cell.free{color:#9caac0;background:#141d2b;border:1px dashed #3c4b61}.array-cell.highlighted{background:#383224;border-color:#eec36a}.array-cell[aria-pressed=true]{outline-offset:1px;outline:2px solid #87adff}.array-index{color:#a2b5c9;font:11px monospace}.array-index small{color:#eec36a}.array-empty{text-align:center;color:#bdcadd;border:1px dashed #3c4b61;border-radius:10px;padding:30px 16px}.array-copy{text-align:center;color:#6ce0c5;font-size:13px}.array-copy small{color:#a2b5c9;margin-top:8px;line-height:1.6;display:block}.array-selection{overflow-wrap:anywhere;border-top:1px solid #334155;margin-top:16px;padding-top:14px;font-size:12px}.array-selection p{margin:8px 0}.array-selection small{color:#a2b5c9}@media(max-width:420px){.array-diagram{padding:12px}.array-cells{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.array-command-form .field{flex-basis:100%}.array-command-form .primary-button{white-space:normal;width:100%}}@media(prefers-reduced-motion:reduce){.array-cell{transition:none}}
