:root{--text: #6b6375;--text-h: #08060d;--bg: #fff;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #aa3bff;--accent-bg: rgba(170, 59, 255, .1);--accent-border: rgba(170, 59, 255, .5);--social-bg: rgba(244, 243, 236, .5);--shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 0 4px 6px -2px;--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 1024px){:root{font-size:16px}}@media (prefers-color-scheme: dark){:root{--text: #9ca3af;--text-h: #f3f4f6;--bg: #16171d;--border: #2e303a;--code-bg: #1f2028;--accent: #c084fc;--accent-bg: rgba(192, 132, 252, .15);--accent-border: rgba(192, 132, 252, .5);--social-bg: rgba(47, 48, 58, .5);--shadow: rgba(0, 0, 0, .4) 0 10px 15px -3px, rgba(0, 0, 0, .25) 0 4px 6px -2px}#social .button-icon{filter:invert(1) brightness(2)}}body{margin:0}#root{width:1126px;max-width:100%;margin:0 auto;text-align:center;border-inline:1px solid var(--border);min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media (max-width: 1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media (max-width: 1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}.maze-grid-container{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:stretch;width:100%;min-width:0;overflow-x:auto}.maze-grid{display:grid;grid-auto-rows:var(--cell-size);gap:1px;background-color:#e2e8f0;padding:1px;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;width:max-content;flex:0 0 auto}.maze-cell{position:relative;aspect-ratio:1;width:var(--cell-size);height:var(--cell-size);min-width:0;min-height:0;background-color:#fff;display:flex;align-items:center;justify-content:center}.cell-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;transition:all .2s ease}.cell-empty,.cell-empty .cell-inner{background-color:#fff}.cell-start{background-color:#4ade80}.cell-start .cell-inner{background-color:#22c55e;color:#fff;font-weight:700}.cell-goal{background-color:#f87171}.cell-goal .cell-inner{background-color:#dc2626;color:#fff;font-weight:700}.cell-obstacle{background-color:#1e293b}.cell-obstacle .cell-inner{background-color:#0f172a}.cell-visited{background-color:#93c5fd}.cell-visited .cell-inner{background-color:#60a5fa;opacity:.7}.cell-path{background-color:#fbbf24}.cell-path .cell-inner{background-color:#f59e0b}.maze-legend{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;width:100%;min-width:0;font-size:13px;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm)}.legend-color{width:20px;height:20px;border:1px solid var(--border-color);border-radius:3px;display:flex;align-items:center;justify-content:center}.maze-grid-error{background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:var(--spacing-md);color:#991b1b;font-size:14px;text-align:center}@media (max-width: 768px){:root{--cell-size: 24px}.maze-grid-container{--cell-size: 24px}.maze-legend{gap:var(--spacing-md)}}.cell-current,.cell-current .cell-inner{background:#8b5cf6}.cell-frontier,.cell-frontier .cell-inner{background:#bfdbfe}.maze-editor{margin-bottom:var(--spacing-md)}.maze-editor-hint{margin-top:var(--spacing-sm);color:var(--text-secondary);font-size:13px}.maze-grid-editing{outline:2px dashed var(--primary-color);outline-offset:3px}button.maze-cell{border:0;padding:0;font:inherit;border-radius:0}button.maze-cell:disabled{opacity:1}.maze-grid-editing button.maze-cell:not(:disabled){cursor:crosshair}.maze-grid-editing button.maze-cell:not(:disabled):hover{box-shadow:inset 0 0 0 3px var(--primary-color)}button.maze-cell:focus-visible{outline:3px solid var(--primary-color);outline-offset:-3px;z-index:1}.control-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.algorithm-description{min-height:40px}.description-text{font-size:13px;color:var(--text-secondary);line-height:1.5;padding:var(--spacing-sm);background-color:#f1f5f9;border-left:3px solid var(--primary-color);border-radius:4px}.key-hint{padding:0 6px;font-size:11px;font-family:inherit;border:1px solid currentColor;border-radius:4px;opacity:.7}.loading-message{display:flex;align-items:center;gap:var(--spacing-sm)}.spinner{width:14px;height:14px;border:2px solid #bfdbfe;border-top-color:var(--primary-color);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.control-panel .info-message,.control-panel .success-message,.control-panel .warning-message{margin:0}.shortcut-help{font-size:13px;color:var(--text-secondary)}.shortcut-help summary{cursor:pointer;-webkit-user-select:none;user-select:none}.shortcut-help ul{list-style:none;margin-top:var(--spacing-sm);display:grid;gap:6px}.shortcut-help li{display:flex;justify-content:space-between;gap:var(--spacing-sm)}.shortcut-help kbd{font-family:inherit;font-size:12px;background:#f1f5f9;border:1px solid var(--border-color);border-radius:4px;padding:1px 6px;color:var(--text-primary)}.control-panel .form-select{color-scheme:light;color:var(--text-primary);background-color:var(--surface-color);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;width:100%;min-height:40px;cursor:pointer}.control-panel .form-select option{color:#1e293b;background-color:#fff}.animation-panel{min-height:200px;display:flex;flex-direction:column;gap:var(--spacing-md)}.placeholder-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:#f8fafc;border:2px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);text-align:center}.placeholder-icon{font-size:40px;opacity:.3}.placeholder-content p{font-size:14px;color:var(--text-secondary)}.animation-info{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:#f1f5f9;border-radius:4px;font-size:13px;color:var(--text-primary)}.animation-info p{margin:0;color:var(--text-primary)!important}.anim-counter{font-weight:600;margin-bottom:var(--spacing-sm)}.anim-progress{width:100%;margin-bottom:var(--spacing-md)}.anim-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.anim-controls .button:disabled{opacity:.5;cursor:not-allowed}.anim-speed{display:flex;align-items:center;gap:var(--spacing-sm);font-size:14px;color:var(--text-secondary)}.anim-speed input{flex:1}.maze-generator{display:flex;flex-direction:column;gap:var(--spacing-md)}.maze-generator .form-group{margin-bottom:0}.maze-density-control{display:flex;align-items:center;gap:var(--spacing-md)}.maze-density-control input{flex:1;min-width:0;accent-color:var(--primary-color)}.maze-density-control output{min-width:3.5rem;color:var(--text-primary);font-size:14px;font-weight:600;text-align:right}.statistics-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.stats-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid #e2e8f0;font-size:14px}.stats-item:last-of-type{border-bottom:none}.stats-label{color:var(--text-secondary);font-weight:500}.stats-value{color:var(--text-primary);font-weight:600;font-family:Monaco,Courier New,monospace;font-size:13px}.stats-value.success{color:var(--success-color);font-family:inherit}.stats-value.error{color:var(--warning-color);font-family:inherit}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:#f8fafc;border:2px dashed var(--border-color);border-radius:6px;color:var(--text-secondary);text-align:center;min-height:150px}.placeholder-icon{font-size:32px;opacity:.3}.placeholder-content p{font-size:14px;color:var(--text-secondary);margin:0}.placeholder-note{font-size:12px!important;color:#a0aec0;font-style:italic}.statistics-comparison-panel{min-width:0}.comparison-table-container{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.comparison-caption{padding-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:12px;text-align:left}.comparison-table th,.comparison-table td{padding:var(--spacing-sm);border-bottom:1px solid #e2e8f0;white-space:nowrap}.comparison-table thead th{color:var(--text-secondary);font-weight:600}.comparison-table tbody th{color:var(--text-primary);font-weight:600}.comparison-no-data{color:var(--text-secondary);font-style:italic;text-align:center}:root{--primary-color: #2563eb;--secondary-color: #1e40af;--success-color: #16a34a;--warning-color: #dc2626;--background-color: #f8fafc;--surface-color: #ffffff;--border-color: #cbd5e1;--text-primary: #1e293b;--text-secondary: #64748b;--cell-size: 30px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-primary)}#root{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:var(--surface-color);border-bottom:2px solid var(--border-color);padding:var(--spacing-md) var(--spacing-lg);box-shadow:0 1px 3px #0000001a}.app-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.app-header p{font-size:14px;color:var(--text-secondary)}.app-container{flex:1;display:flex;flex-wrap:wrap;gap:var(--spacing-lg);padding:var(--spacing-lg);max-width:1400px;margin:0 auto;width:100%}.app-main{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0}.app-sidebar{width:300px;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.statistics-comparison-panel{flex:0 0 100%}.panel{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:var(--spacing-md);box-shadow:0 1px 3px #0000000d}.panel h2{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-sm)}.panel h3{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-group:last-child{margin-bottom:0}.form-label{font-size:14px;font-weight:500;color:var(--text-primary)}.form-select,.form-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-select:focus,.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-select{background-color:var(--surface-color);cursor:pointer}.button{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.button-primary{background-color:var(--primary-color);color:#fff}.button-primary:hover{background-color:var(--secondary-color);box-shadow:0 4px 6px #2563eb33}.button-primary:disabled{background-color:#94a3b8;cursor:not-allowed;box-shadow:none}.button-secondary{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.button-secondary:hover{background-color:#2563eb0d}.button-danger{background-color:var(--warning-color);color:#fff}.button-danger:hover{background-color:#b91c1c}.button-block{width:100%}.button-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.button-group-vertical{display:flex;flex-direction:column}.info-message{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:var(--spacing-md);font-size:14px;color:#1e40af;margin:var(--spacing-md) 0;border-left:4px solid #2563eb}.warning-message{background-color:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:var(--spacing-md);font-size:14px;color:#92400e;margin:var(--spacing-md) 0;border-left:4px solid #eab308}.error-message{background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:var(--spacing-md);font-size:14px;color:#991b1b;margin:var(--spacing-md) 0;border-left:4px solid #dc2626}.success-message{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:var(--spacing-md);font-size:14px;color:#166534;margin:var(--spacing-md) 0;border-left:4px solid #16a34a}@media (max-width: 1024px){.app-container{flex-direction:column}.app-main{flex:0 1 auto;width:100%}.statistics-comparison-panel{flex-basis:auto;width:100%}.app-sidebar{width:100%}}@media (max-width: 768px){.app-header{padding:var(--spacing-md)}.app-container{padding:var(--spacing-md);gap:var(--spacing-md)}.app-header h1{font-size:24px}}.error-panel-header{display:flex;justify-content:space-between;align-items:center}.error-panel-header h2{margin-bottom:0}.error-close{border:none;background:none;font-size:22px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0 4px}.error-close:hover{color:var(--warning-color)}.error-hint{font-size:13px;color:var(--text-secondary)}@media (max-width: 480px){.app-header p{font-size:13px}.app-container{padding:var(--spacing-sm)}}
