*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.relative{position:relative}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.shrink{flex-shrink:1}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg-primary: #0F172A;--bg-card: #1E293B;--bg-elevated: #334155;--text-primary: #F8FAFC;--text-secondary: #94A3B8;--text-muted: #64748B;--left-pointer: #10B981;--left-pointer-light: #34D399;--left-pointer-dark: #065F46;--right-pointer: #8B5CF6;--right-pointer-light: #A78BFA;--right-pointer-dark: #4C1D95;--match-color: #22C55E;--match-bg: #166534;--match-muted: #065F46;--mismatch-color: #F43F5E;--mismatch-bg: #881337;--skip-color: #64748B;--skip-bg: #1E293B;--accent: #6366F1;--accent-light: #818CF8;--progress-fill-start: #10B981;--progress-fill-end: #14B8A6;--progress-empty: #334155}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;padding:.75rem;display:flex;align-items:flex-start;justify-content:center;background-image:linear-gradient(rgba(99,102,241,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.03) 1px,transparent 1px);background-size:40px 40px}.top-bar{display:flex;align-items:stretch;gap:.75rem;margin-bottom:.75rem;margin-left:3rem}.problem-title-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-elevated);border-radius:8px;flex:1;min-width:0;overflow:hidden}.problem-number{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;color:var(--accent-light)}.problem-title-text{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}@media (max-width: 768px){.problem-title-bar{flex:unset;width:100%}}.top-bar-input{display:flex;align-items:center;gap:.5rem;flex:.6;min-width:150px}.top-bar-input .input-label{font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.top-bar-input .input-field{flex:1;padding:.5rem .75rem;background-color:var(--bg-primary);border:1px solid var(--bg-elevated);border-radius:6px;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.8125rem;transition:border-color .2s ease,box-shadow .2s ease}.top-bar-input .input-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf61a}.top-bar .step-counter{display:flex;align-items:center;gap:.375rem;font-family:JetBrains Mono,monospace;font-size:.875rem;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-card));padding:.5rem 1rem;border-radius:8px;white-space:nowrap;flex-shrink:0;border:1px solid rgba(99,102,241,.2)}.top-bar .step-counter .step-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-right:.25rem}.top-bar .step-counter .step-number{font-weight:700;font-size:1rem;color:var(--accent-light)}.top-bar .step-counter .step-divider,.top-bar .step-counter .step-total{color:var(--text-muted)}@media (max-width: 768px){.top-bar{flex-direction:column;align-items:stretch}.top-bar .dropdown-button{width:100%}.top-bar .step-counter{justify-content:center}}.difficulty-badge{font-size:.625rem;padding:.125rem .375rem;border-radius:4px;font-weight:700;min-width:1rem;text-align:center}.difficulty-badge.easy{background-color:#22c55e33;color:#22c55e}.difficulty-badge.medium{background-color:#fbbf2433;color:#fbbf24}.difficulty-badge.hard{background-color:#ef444433;color:#ef4444}.input-field-section{margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.input-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.input-field{flex:1;min-width:200px;padding:.625rem 1rem;background-color:var(--bg-primary);border:1px solid var(--bg-elevated);border-radius:8px;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.875rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}.input-field::-moz-placeholder{color:var(--text-muted)}.input-field::placeholder{color:var(--text-muted)}.input-hint{font-size:.6875rem;color:var(--text-muted);font-style:italic}.visualizer-container{width:100%;max-width:900px;background-color:var(--bg-card);border-radius:16px;padding:1.25rem;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #6366f11a;border:1px solid rgba(99,102,241,.1)}.visualizer-container.wide{max-width:1400px}.main-content{display:flex;gap:1.25rem;margin-bottom:.75rem;height:420px}.visualization-panel{flex:1;min-width:0;overflow-y:auto;display:flex;flex-direction:column}.algorithm-state-block{background:var(--bg-primary);border:1px solid var(--bg-elevated);border-radius:12px;padding:1.5rem 1rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:1;min-height:0}.code-panel-wrapper{width:380px;flex-shrink:0;overflow:hidden}@media (max-width: 1024px){.main-content{flex-direction:column}.code-panel-wrapper{width:100%}}.code-panel{background-color:var(--bg-primary);border-radius:10px;border:1px solid var(--bg-elevated);overflow:hidden;height:100%;max-height:100%;display:flex;flex-direction:column}.code-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;background-color:var(--bg-elevated);border-bottom:1px solid var(--bg-primary)}.code-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.code-lang{font-size:.625rem;padding:.125rem .5rem;background-color:#6366f133;color:var(--accent-light);border-radius:4px;font-weight:500}.code-content{flex:1;overflow-y:auto;padding:.75rem 0}.code-content pre{margin:0;font-family:JetBrains Mono,monospace;font-size:.6875rem;line-height:1.6}.code-line{display:flex;padding:.125rem .75rem;transition:all .3s ease;border-left:3px solid transparent}.code-line.highlighted{background:linear-gradient(90deg,#6366f140,#6366f11a);border-left:3px solid var(--accent);padding-left:calc(.75rem - 3px)}.code-line .line-number{width:24px;text-align:right;color:var(--text-muted);margin-right:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.code-line .line-content{color:var(--text-secondary);white-space:pre}.code-line.highlighted .line-content{color:var(--text-primary)}.syntax-keyword{color:#c678dd}.syntax-string{color:#98c379}.syntax-number{color:#d19a66}.syntax-comment{color:#5c6370;font-style:italic}.syntax-function{color:#61afef}.syntax-builtin{color:#e5c07b}.syntax-method{color:#61afef}.syntax-variable{color:#e06c75}.syntax-operator{color:#56b6c2}.syntax-bracket{color:var(--text-secondary)}.syntax-plain{color:inherit}.code-line.highlighted .syntax-keyword{color:#d19ef2}.code-line.highlighted .syntax-string{color:#a8d989}.code-line.highlighted .syntax-number{color:#e1aa76}.code-line.highlighted .syntax-function{color:#71bfff}.code-line.highlighted .syntax-builtin{color:#f5d08b}.code-line.highlighted .syntax-method{color:#71bfff}.code-line.highlighted .syntax-variable{color:#f07c85}.code-line.highlighted .syntax-operator{color:#66c6d2}.code-line.highlighted .syntax-bracket{color:var(--text-primary)}.variables-section{border-top:1px solid var(--bg-elevated);padding:.625rem .875rem;max-height:120px;overflow-y:auto}.variables-header{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.variables-list{display:flex;flex-wrap:wrap;gap:.5rem}.variable-item{display:flex;align-items:center;gap:.25rem;font-family:JetBrains Mono,monospace;font-size:.6875rem;background-color:var(--bg-elevated);padding:.25rem .5rem;border-radius:4px}.var-name{color:var(--accent-light)}.var-equals{color:var(--text-muted)}.var-value{color:var(--match-color)}.header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.problem-info h1{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.problem-info .input-display{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text-secondary)}.problem-info .input-display span{color:var(--match-color)}.category-badge{margin-left:.75rem;padding:.25rem .5rem;background-color:#6366f133;color:var(--accent-light);border-radius:4px;font-size:.6875rem;font-weight:500;font-family:Inter,sans-serif}.step-counter{text-align:right}.step-counter .step-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.125rem}.step-counter .step-number{font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:600;color:var(--accent)}.step-counter .step-number span{color:var(--text-muted);font-weight:400}.progress-section{margin-bottom:.875rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.progress-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.progress-text{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-muted)}.progress-bar-container{height:6px;background-color:var(--progress-empty);border-radius:9999px;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--progress-fill-start),var(--progress-fill-end));border-radius:9999px;transition:width .5s ease;box-shadow:0 0 8px #10b98166;position:relative}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,rgba(255,255,255,.2),transparent);border-radius:9999px 9999px 0 0}.grid-section{margin-bottom:.5rem;width:100%;min-height:90px}.grid-wrapper{overflow-x:auto;padding:.375rem 0;min-height:70px}.character-grid{display:flex;gap:.5rem;justify-content:center;flex-wrap:nowrap;min-width:-moz-max-content;min-width:max-content}.cell-with-window{display:flex;flex-direction:column;align-items:center}.cell-container{display:flex;flex-direction:column;align-items:center;gap:.1875rem}.window-indicator-segment{height:4px;width:100%;margin-top:6px;background-color:transparent;transition:all .3s ease;border-radius:0}.window-indicator-segment.hidden{visibility:hidden}.window-indicator-segment.active{background:linear-gradient(90deg,var(--left-pointer),var(--right-pointer));box-shadow:0 0 8px #6366f166}.window-indicator-segment.active.start{border-radius:4px 0 0 4px;margin-left:4px}.window-indicator-segment.active.end{border-radius:0 4px 4px 0;margin-right:4px}.window-indicator-segment.active.start.end{border-radius:4px;margin-left:4px;margin-right:4px}.cell-index{font-family:JetBrains Mono,monospace;font-size:.625rem;color:var(--text-muted)}.cell{width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:1.125rem;font-weight:500;border-radius:8px;border:2px solid var(--bg-elevated);background-color:var(--bg-elevated);transition:all .3s ease;position:relative}.cell .status-icon{position:absolute;bottom:1px;right:3px;font-size:.625rem}.cell.unprocessed{background-color:var(--bg-elevated);border-color:var(--bg-elevated);color:var(--text-primary)}.cell.empty-placeholder{background-color:transparent;border-color:transparent;color:transparent;visibility:hidden}.cell-container.empty{visibility:hidden}.cell.matched{background-color:var(--match-muted);border-color:#059669;color:#a7f3d0}.cell.skipped{background-color:var(--skip-bg);border-color:var(--bg-elevated);color:var(--text-muted);opacity:.6}.cell.left-pointer{background-color:var(--left-pointer);border-color:var(--left-pointer-light);color:#fff;box-shadow:0 0 20px #10b98180,0 0 40px #10b9814d;animation:pulse-left 2s ease-in-out infinite}.cell.right-pointer{background-color:var(--right-pointer);border-color:var(--right-pointer-light);color:#fff;box-shadow:0 0 20px #8b5cf680,0 0 40px #8b5cf64d;animation:pulse-right 2s ease-in-out infinite}.cell.mismatch{background-color:var(--mismatch-bg);border-color:var(--mismatch-color);color:#fda4af}@keyframes pulse-left{0%,to{box-shadow:0 0 20px #10b98180}50%{box-shadow:0 0 30px #10b981cc}}@keyframes pulse-right{0%,to{box-shadow:0 0 20px #8b5cf680}50%{box-shadow:0 0 30px #8b5cf6cc}}.pointer-labels{display:flex;justify-content:center;gap:.75rem;margin-top:.5rem;min-height:28px}.pointer-label{font-family:JetBrains Mono,monospace;font-size:.75rem;padding:.25rem .75rem;border-radius:9999px;display:flex;align-items:center;gap:.25rem}.pointer-label.left{background-color:#10b98133;color:var(--left-pointer-light)}.pointer-label.right{background-color:#8b5cf633;color:var(--right-pointer-light)}.comparison-section{display:flex;justify-content:center;min-height:100px;align-items:center;width:100%}.comparison-box{background-color:var(--bg-primary);border:1px solid var(--bg-elevated);border-radius:10px;padding:1rem 1.5rem;text-align:center;min-width:280px;width:280px;height:260px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}.comparison-chars{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-bottom:.625rem}.comparison-char{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:1.375rem;font-weight:600;border-radius:8px}.comparison-char.left{background-color:var(--left-pointer);color:#fff}.comparison-char.right{background-color:var(--right-pointer);color:#fff}.two-pointers-check{display:flex;align-items:center;justify-content:center;gap:1.5rem;height:130px}.pointer-section{display:flex;flex-direction:column;align-items:center;gap:.375rem}.pointer-label-text{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.pointer-section:first-child .pointer-label-text{color:var(--left-pointer-light)}.pointer-section:last-child .pointer-label-text{color:var(--right-pointer-light)}.strategy-strip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid rgba(99,102,241,.15);border-radius:8px;margin-bottom:.5rem;box-shadow:0 8px 20px #00000040;font-size:.8125rem;color:var(--text-secondary)}.strategy-strip-title{color:var(--accent-light);font-weight:700}.strategy-strip-body{color:var(--text-secondary)}.strategy-strip-divider{color:var(--text-muted)}.strategy-strip-invariant{color:var(--text-muted);font-style:italic;min-width:1px}.clean-string{margin-top:.25rem;font-size:.8125rem;color:var(--text-secondary)}.clean-value{color:var(--accent-light);font-family:JetBrains Mono,monospace}.window-stats{margin-top:.5rem;font-size:.8125rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:20px}.window-stats .divider{color:var(--text-muted)}.window-check{display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%;height:130px}.checking-section,.in-window-section{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:.75rem;width:100%;max-width:220px}.check-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:right}.check-value{display:flex;align-items:center;justify-content:flex-start}.checking-char{font-family:JetBrains Mono,monospace;font-size:1.125rem;font-weight:600;color:var(--accent);background:var(--bg-elevated);padding:.375rem .875rem;border-radius:6px;border:2px solid var(--accent)}.window-chars{display:flex;gap:.25rem;flex-wrap:nowrap;align-items:center;min-width:120px}.window-char{font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;background:var(--bg-elevated);padding:.25rem .5rem;border-radius:4px;border:1px solid var(--bg-elevated);color:var(--text-primary)}.window-char.highlight{background:var(--mismatch-bg);border-color:var(--mismatch-color);color:var(--mismatch-color)}.empty-window{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text-muted)}.window-bracket{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-muted);font-weight:500}.window-separator{color:var(--text-muted);margin-right:.125rem}.comparison-arrow{font-size:1.25rem;color:var(--text-muted)}.comparison-result{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.4375rem 1rem;border-radius:9999px;font-weight:600;font-size:.875rem;min-width:100px;height:32px;margin-top:.5rem;flex-shrink:0}.comparison-result.match{background-color:var(--match-bg);color:var(--match-color);box-shadow:0 0 12px #22c55e4d;animation:pulse-success 2s ease-in-out infinite}.comparison-result.mismatch{background-color:var(--mismatch-bg);color:var(--mismatch-color);box-shadow:0 0 12px #f43f5e4d;animation:pulse-warning 1.5s ease-in-out infinite}.comparison-result.skip{background-color:var(--bg-elevated);color:var(--text-secondary)}.comparison-result.placeholder{background-color:var(--bg-elevated);color:var(--text-muted);opacity:.5}@keyframes pulse-success{0%,to{box-shadow:0 0 12px #22c55e4d}50%{box-shadow:0 0 20px #22c55e80}}@keyframes pulse-warning{0%,to{box-shadow:0 0 12px #f43f5e4d}50%{box-shadow:0 0 20px #f43f5e80}}.comparison-explanation{font-family:JetBrains Mono,monospace;font-size:.6875rem;color:var(--text-secondary);margin-top:.5rem;text-align:center;line-height:1.4;min-height:32px}.controls-section{display:flex;justify-content:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:nowrap}.btn{font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;padding:.5rem 1.5rem;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:all .2s ease;flex-shrink:0;white-space:nowrap}.btn-secondary{background-color:var(--bg-elevated);border:1px solid rgba(100,116,139,.3);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-primary);border-color:var(--left-pointer);color:var(--left-pointer-light);box-shadow:0 0 12px #10b98133}.btn-primary{background-color:var(--bg-elevated);border:1px solid rgba(100,116,139,.3);color:var(--text-primary)}.btn-primary:hover:not(:disabled){background-color:var(--bg-primary);border-color:var(--right-pointer);color:var(--right-pointer-light);box-shadow:0 0 12px #8b5cf633}.btn-reset{background-color:var(--bg-elevated);border:1px solid rgba(100,116,139,.3);color:var(--text-secondary)}.btn-reset:hover:not(:disabled){background-color:var(--bg-primary);border-color:var(--accent);color:var(--accent-light)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.legend{display:flex;justify-content:center;gap:1rem;padding-top:.625rem;border-top:1px solid var(--bg-elevated);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--text-muted)}.legend-color{width:14px;height:14px;border-radius:3px}.legend-color.left{background-color:var(--left-pointer)}.legend-color.right{background-color:var(--right-pointer)}.legend-color.matched{background-color:var(--match-muted);border:1px solid #059669}.legend-color.skipped{background-color:var(--skip-bg);opacity:.6}.legend-color.unprocessed{background-color:var(--bg-elevated)}.ellipsis{display:flex;align-items:center;justify-content:center;width:46px;height:46px;color:var(--text-muted);font-size:1rem;letter-spacing:.1em}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-toggle{position:fixed;top:1rem;left:1rem;z-index:1001;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid rgba(99,102,241,.2);border-radius:8px;color:var(--text-primary);font-size:1.25rem;cursor:pointer;transition:all .2s ease}.sidebar-toggle:hover{background:var(--bg-card);border-color:var(--accent)}.sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background:var(--bg-card);border-right:1px solid var(--bg-elevated);z-index:1000;transform:translate(-100%);transition:transform .3s ease;overflow:hidden}.sidebar.open{transform:translate(0)}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow-y:auto}.sidebar-header{padding:4rem 1rem 1.5rem;border-bottom:1px solid var(--bg-elevated)}.sidebar-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.sidebar-subtitle{font-size:.75rem;color:var(--text-muted)}.sidebar-section{padding:1rem;border-bottom:1px solid var(--bg-elevated)}.sidebar-section:last-of-type{border-bottom:none;flex:1}.sidebar-section-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.category-list{display:flex;flex-direction:column;gap:.25rem}.category-group{border-radius:6px;overflow:hidden}.category-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:transparent;border:none;color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:background .15s ease;text-align:left}.category-toggle:hover{background:var(--bg-elevated)}.category-icon{font-size:1rem}.category-name{flex:1;font-weight:500}.category-count{font-size:.6875rem;color:var(--text-muted);background:var(--bg-elevated);padding:.125rem .375rem;border-radius:9999px}.category-arrow{font-size:.5rem;color:var(--text-muted);transition:transform .2s ease}.category-arrow.expanded{transform:rotate(90deg)}.problem-list{padding:.25rem 0 .25rem 1.5rem}.problem-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s ease;text-align:left;border-radius:4px}.problem-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.problem-item.active{background:#6366f126;color:var(--accent-light)}.problem-num{font-family:JetBrains Mono,monospace;font-size:.625rem;color:var(--text-muted);min-width:2rem}.problem-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problem-difficulty{font-size:.5625rem;font-weight:700;padding:.125rem .25rem;border-radius:3px}.problem-difficulty.easy{background:#22c55e33;color:#22c55e}.problem-difficulty.medium{background:#fbbf2433;color:#fbbf24}.problem-difficulty.hard{background:#ef444433;color:#ef4444}.settings-list{display:flex;flex-direction:column;gap:.75rem}.setting-item{display:flex;align-items:center;justify-content:space-between}.setting-label{font-size:.8125rem;color:var(--text-secondary)}.theme-toggle{display:flex;gap:.25rem;background:var(--bg-elevated);padding:.25rem;border-radius:6px}.theme-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background .15s ease;font-size:1rem}.theme-btn:hover{background:var(--bg-primary)}.theme-btn.active{background:var(--accent)}.sidebar-footer{padding:1rem;text-align:center;font-size:.6875rem;color:var(--text-muted);border-top:1px solid var(--bg-elevated)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999}.app-container{transition:margin-left .3s ease}.app-container.sidebar-open{margin-left:280px}@media (max-width: 768px){.app-container.sidebar-open{margin-left:0}}[data-theme=light]{--bg-primary: #F8FAFC;--bg-card: #FFFFFF;--bg-elevated: #E2E8F0;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--left-pointer: #059669;--left-pointer-light: #10B981;--left-pointer-dark: #047857;--right-pointer: #7C3AED;--right-pointer-light: #8B5CF6;--right-pointer-dark: #6D28D9;--match-color: #16A34A;--match-bg: #DCFCE7;--match-muted: #BBF7D0;--mismatch-color: #DC2626;--mismatch-bg: #FEE2E2;--skip-color: #94A3B8;--skip-bg: #F1F5F9;--accent: #4F46E5;--accent-light: #6366F1;--progress-fill-start: #059669;--progress-fill-end: #0D9488;--progress-empty: #E2E8F0}[data-theme=light] body{background-image:linear-gradient(rgba(79,70,229,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(79,70,229,.03) 1px,transparent 1px)}[data-theme=light] .visualizer-container{box-shadow:0 25px 50px -12px #0000001a,0 0 0 1px #4f46e51a}[data-theme=light] .cell{border-color:#cbd5e1}[data-theme=light] .cell.unprocessed{background-color:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .code-panel{border-color:#e2e8f0}[data-theme=light] .sidebar{box-shadow:2px 0 8px #0000001a}
