:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fafafa;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#09090b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}body{background-color:#09090b;width:100%;min-height:100dvh;margin:0;padding:0;overflow-x:hidden}#root{width:100%;min-height:100dvh}:root{--background:#09090b;--foreground:#fafafa;--card:#121215;--card-foreground:#fafafa;--popover:#121215;--popover-foreground:#fafafa;--muted:#1e1e24;--muted-foreground:#a1a1aa;--border:#ffffff14;--border-subtle:#ffffff0a;--input:#16161a;--input-border:#ffffff1f;--ring:#6366f1;--primary:#fafafa;--primary-foreground:#09090b;--secondary:#18181b;--secondary-foreground:#fafafa;--accent:#6366f1;--accent-foreground:#fff;--destructive:#ef4444;--destructive-foreground:#fafafa;--radius:8px;--radius-sm:6px;--radius-xs:4px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 12px -2px #00000080, 0 2px 6px -2px #0006;--shadow-lg:0 10px 25px -5px #0009, 0 8px 10px -6px #00000080;--highlight-top:inset 0 1px 0 0 #ffffff0f;--ease-out:cubic-bezier(.2, 0, 0, 1);--duration-fast:.15s;--duration-normal:.2s;--color-bg:var(--background);--color-surface:var(--card);--color-surface-hover:var(--muted);--color-border:var(--border);--color-text:var(--foreground);--color-text-muted:var(--muted-foreground);--cell-empty:#0b0b0e;--cell-empty-border:#ffffff0d;--cell-wall:#3f3f46;--cell-weight:#78350f;--cell-start:#22c55e;--cell-end:#ef4444;--cell-frontier:#a78bfa;--cell-visited:#0ea5e9;--cell-path:#facc15;--cell-size:24px}*{box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-text);-webkit-user-select:none;user-select:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;overflow-x:hidden}.app-container{flex-direction:column;max-width:1540px;min-height:100vh;margin:0 auto;padding:1rem 1.5rem;display:flex}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem 0 .85rem;display:flex;position:relative}.app-header:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(#ffffff14 1px,#0000 1px);background-size:16px 16px;position:absolute;inset:-1rem -1.5rem 0;-webkit-mask-image:radial-gradient(65% 75% at 45% 0,#000 25%,#0000 100%);mask-image:radial-gradient(65% 75% at 45% 0,#000 25%,#0000 100%)}.app-title-group,.backend-status{z-index:1;position:relative}.app-title-group h1{color:var(--foreground);letter-spacing:-.025em;margin:0;font-size:1.45rem;font-weight:650}.app-subtitle{color:var(--muted-foreground);letter-spacing:-.01em;margin:.25rem 0 0;font-size:.85rem;font-weight:400}.backend-status{border-radius:var(--radius-full);border:1px solid var(--border);color:var(--muted-foreground);letter-spacing:-.01em;background:#ffffff08;align-items:center;gap:.5rem;padding:.25rem .7rem;font-size:.78rem;display:inline-flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-online{background-color:var(--cell-start);box-shadow:0 0 6px #22c55e99}.status-offline{background-color:var(--cell-end);box-shadow:0 0 6px #ef444499}.status-checking{background-color:#f59e0b;box-shadow:0 0 6px #f59e0b99}.notification-banner{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;min-width:300px;max-width:480px;padding:.75rem 1rem;font-size:.9rem;animation:.2s ease-out slideInDown;display:flex;position:fixed;top:1.25rem;right:1.5rem;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #0006}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.banner-warning{color:#fbbf24;background-color:#1e190ff2;border:1px solid #f59e0b99}.banner-error{color:#f87171;background-color:#230f0ff2;border:1px solid #ef444499}.banner-close{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 .25rem;font-size:1.1rem;line-height:1;transition:opacity .15s}.banner-close:hover{opacity:1}.toolbar{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm), var(--highlight-top);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.toolbar-section{align-items:center;gap:inherit;display:flex}.toolbar-group{align-items:center;gap:.4rem;display:flex}.toolbar-label{color:var(--muted-foreground);letter-spacing:-.01em;font-size:.75rem;font-weight:500}.select-input{background-color:var(--input);border:1px solid var(--border);color:var(--foreground);border-radius:var(--radius-sm);cursor:pointer;appearance:none;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-sm);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:14px 14px;outline:none;padding:.45rem 2.1rem .45rem .75rem;font-family:inherit;font-size:.85rem;font-weight:450}.select-input:hover:not(:disabled){border-color:#ffffff2e}.select-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--background), 0 0 0 4px var(--ring)}.select-input:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn{border-radius:var(--radius-sm);letter-spacing:-.01em;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;touch-action:manipulation;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .9rem;font-family:inherit;font-size:.85rem;font-weight:500;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-primary{background-color:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff4d;font-weight:600}.btn-primary:hover:not(:disabled){color:#000;box-shadow:var(--shadow-md);background-color:#fff;transform:translateY(-1px)}.btn-danger,.btn-destructive{color:#fca5a5;box-shadow:var(--shadow-sm);background-color:#ef444424;border:1px solid #ef44444d}.btn-danger:hover:not(:disabled),.btn-destructive:hover:not(:disabled){color:#fecaca;background-color:#ef44443d;border-color:#ef444480;transform:translateY(-1px);box-shadow:0 2px 8px -2px #ef444466}.btn-secondary{background-color:var(--secondary);color:var(--foreground);border:1px solid var(--border);box-shadow:var(--shadow-sm), var(--highlight-top)}.btn-secondary:hover:not(:disabled){background-color:var(--muted);box-shadow:var(--shadow-md);border-color:#ffffff26;transform:translateY(-1px)}.btn-outline{color:var(--foreground);border:1px solid var(--border);box-shadow:var(--shadow-sm);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:#ffffff0d;border-color:#ffffff2e;transform:translateY(-1px)}.btn-ghost{color:var(--muted-foreground);background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--foreground);background-color:#ffffff0d;transform:translateY(-1px)}.btn-visualize{isolation:isolate;min-width:110px;position:relative;overflow:hidden}.btn-visualize.btn-primary:not(:disabled){color:var(--primary-foreground);box-shadow:0 0 20px -4px #6366f166, var(--shadow-sm);background-color:#0000;border-color:#0000}.btn-visualize.btn-primary:not(:disabled):before{content:"";z-index:-2;background:conic-gradient(#0000,#0000 65%,#6366f1b3 82%,#fff 92%,#6366f1b3 97%,#0000 100%);width:200%;height:200%;animation:4s linear infinite borderBeamSpin;position:absolute;top:-50%;left:-50%}.btn-visualize.btn-primary:not(:disabled):after{content:"";z-index:-1;background-color:var(--primary);border-radius:calc(var(--radius-sm) - 1.5px);transition:background-color var(--duration-fast) var(--ease-out);position:absolute;inset:1.5px}.btn-visualize.btn-primary:hover:not(:disabled):after{background-color:#fff}@keyframes borderBeamSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.legend{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm), var(--highlight-top);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .65rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.legend-item{border-radius:var(--radius-xs);border:1px solid var(--border-subtle);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background-color:#ffffff06;align-items:center;gap:.45rem;padding:.25rem .6rem;display:inline-flex}.legend-item:hover{background-color:#ffffff0d;border-color:#ffffff1f}.legend-cell{border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:700;display:flex}.legend-cell.start{background-color:var(--cell-start);color:#fff}.legend-cell.end{background-color:var(--cell-end);color:#fff}.legend-cell.wall{background-color:var(--cell-wall)}.legend-cell.weight{background-color:var(--cell-weight);color:#fef3c7;border:1px solid #d97706}.legend-cell.frontier{background-color:var(--cell-frontier)}.legend-cell.visited{background-color:var(--cell-visited)}.legend-cell.path{background-color:var(--cell-path)}.legend-label{color:var(--muted-foreground);letter-spacing:-.01em;font-size:.75rem;font-weight:450}.workspace{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.grid-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.grid-header-bar{justify-content:space-between;align-items:center;margin-bottom:.4rem;padding:0 .2rem;display:flex}.grid-meta-tag{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.grid-view-toggle{background-color:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.view-toggle-btn{color:var(--muted-foreground);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);touch-action:manipulation;background:0 0;border:1px solid #0000;align-items:center;gap:.3rem;padding:.25rem .65rem;font-family:inherit;font-size:.75rem;font-weight:500;display:inline-flex}.view-toggle-btn:hover:not(.active){color:var(--foreground);background-color:#ffffff0a}.view-toggle-btn.active{background-color:var(--card);color:var(--foreground);box-shadow:var(--shadow-sm), var(--highlight-top);border-color:#ffffff14;font-weight:600}.grid-scroll-hint{color:var(--color-text-muted);border:1px dashed var(--color-border);background:#1e293b66;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;margin-bottom:.4rem;padding:.35rem .5rem;font-size:.75rem;display:none}.grid-container{border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm), var(--highlight-top);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--muted) var(--background);background-color:#0b0b0e;align-items:center;padding:.6rem;display:flex;position:relative}.grid-container.is-initializing{pointer-events:none}.grid-container.is-initializing .cell{background:linear-gradient(90deg,#ffffff05 0%,#ffffff0d 50%,#ffffff05 100%) 0 0/200% 100%;border-color:#ffffff08;animation:1.8s ease-in-out infinite skeleton-shimmer}.grid-container.grid-fit-mode{justify-content:center;overflow:hidden}.grid-container.grid-scroll-mode{justify-content:flex-start;overflow:auto hidden}.grid-container::-webkit-scrollbar{height:6px}.grid-container::-webkit-scrollbar-track{background:var(--background);border-radius:var(--radius-xs)}.grid-container::-webkit-scrollbar-thumb{background:var(--muted);border-radius:var(--radius-xs)}.grid-container::-webkit-scrollbar-thumb:hover{background:#3f3f46}.grid{border-top:1px solid var(--cell-empty-border);border-left:1px solid var(--cell-empty-border);flex-direction:column;margin:0 auto;display:flex}.grid-row{display:flex}.cell{width:var(--cell-size);height:var(--cell-size);border-right:1px solid var(--cell-empty-border);border-bottom:1px solid var(--cell-empty-border);background-color:var(--cell-empty);cursor:crosshair;touch-action:none;-webkit-touch-callout:none;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;transition:background-color .15s ease-out;display:flex;position:relative}.cell.wall{background-color:var(--cell-wall);border-color:#ffffff14;animation:.18s cubic-bezier(.175,.885,.32,1.275) wallPop;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #00000040}.cell.weight{background-color:var(--cell-weight);border-color:#92400e;box-shadow:inset 0 1px #f59e0b40}.cell.start{background-color:var(--cell-start);color:#fff;cursor:grab;z-index:2;border-radius:2px;box-shadow:inset 0 1px #ffffff73,0 0 0 2px #22c55e59}.cell.end{background-color:var(--cell-end);color:#fff;cursor:grab;z-index:2;border-radius:2px;box-shadow:inset 0 1px #ffffff73,0 0 0 2px #ef444459}.cell.frontier{background-color:var(--cell-frontier);animation:.3s ease-out frontierPulse}.cell.visited{background-color:var(--cell-visited);animation:.25s cubic-bezier(.175,.885,.32,1.275) visitedPop}.cell.visited.weight{background-color:#0284c7;border:1px solid #f59e0b}.cell.path{background-color:var(--cell-path);z-index:1;animation:.3s cubic-bezier(.175,.885,.32,1.275) pathPop}.cell.path.weight{background-color:#eab308;border:1px solid #78350f}.weight-badge{color:#fef08a;pointer-events:none;text-shadow:0 1px 2px #000c;font-size:.6rem}.cell-icon{pointer-events:none;font-size:.75rem;font-weight:800}@keyframes visitedPop{0%{background-color:#67e8f9;border-radius:50%;transform:scale(.3)}60%{background-color:#38bdf8;transform:scale(1.15)}to{background-color:var(--cell-visited);border-radius:0;transform:scale(1)}}@keyframes pathPop{0%{background-color:#fef08a;border-radius:50%;transform:scale(.4)}60%{background-color:#facc15;transform:scale(1.2)}to{background-color:var(--cell-path);border-radius:0;transform:scale(1)}}@keyframes wallPop{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes frontierPulse{0%{opacity:.5;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.stats-panel{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:320px;box-shadow:var(--shadow-sm), var(--highlight-top);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.stats-title{border-bottom:1px solid var(--border);color:var(--foreground);letter-spacing:-.01em;margin:0;padding-bottom:.5rem;font-size:.95rem;font-weight:600}.stats-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background-color:#ffffff05;flex-direction:column;padding:.55rem .65rem;display:flex;position:relative}.stat-card:first-child,.stat-card:nth-child(2){grid-column:span 2}@media (hover:hover){.stat-card{transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.stat-card:hover{background:linear-gradient(145deg,#ffffff09,#6366f10a);border-color:#6366f166;transform:translateY(-1px);box-shadow:0 4px 12px -2px #00000080,0 0 0 1px #6366f133}}.stat-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.7rem;font-weight:500}.stat-value{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.stat-value.highlight{color:#818cf8}.stat-value.code-font{color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.status-idle{color:var(--muted-foreground)}.status-success{color:#4ade80}.status-fail{color:#f87171}details.stats-description{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--highlight-top);background-color:#00000040;margin-top:.25rem;padding:.55rem .7rem}summary.description-title{color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--duration-fast) var(--ease-out);font-size:.8rem;font-weight:500;list-style-position:inside}summary.description-title:hover{color:var(--accent)}details.stats-description[open] summary.description-title{border-bottom:1px solid var(--border);margin-bottom:.35rem;padding-bottom:.35rem}.description-text{color:var(--muted-foreground);margin:0;font-size:.8rem;line-height:1.5}.compare-section{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md), var(--highlight-top);margin-top:.75rem;padding:1rem}.compare-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.compare-title{color:#facc15;margin:0;font-size:1.1rem}.btn-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.2rem .5rem;font-size:1.2rem}.btn-close:hover{color:var(--color-text)}.compare-loading{text-align:center;color:var(--muted-foreground);padding:1.5rem;font-style:italic}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08 0%,#ffffff14 50%,#ffffff08 100%) 0 0/200% 100%;animation:1.8s ease-in-out infinite skeleton-shimmer;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{border-radius:var(--radius-xs);height:.85rem;margin:.25rem 0}.skeleton-badge{border-radius:var(--radius-full);width:4.8rem;height:1.25rem}.compare-table-skeleton td{padding:.75rem}.table-responsive{overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;font-size:.85rem}.compare-table th{background-color:var(--color-bg);color:var(--color-text-muted);text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .75rem}.compare-table td{border-bottom:1px solid #33415580;padding:.6rem .75rem}.algo-name{color:var(--color-text);font-weight:600}.badge-status{border-radius:var(--radius-full);letter-spacing:.01em;align-items:center;gap:.35rem;padding:.18rem .65rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-status.found{color:#86efac;background-color:#22c55e1f;border:1px solid #22c55e47}.badge-status.not-found{color:#fca5a5;background-color:#ef44441f;border:1px solid #ef444447}.best-value{color:#818cf8;font-variant-numeric:tabular-nums;font-weight:650}.compare-note{color:var(--muted-foreground);margin:.6rem 0 0;font-size:.75rem;font-style:italic}@media (width<=1024px){:root{--cell-size:20px}.app-container{min-height:100dvh;padding:.75rem 1rem}.workspace{flex-direction:column;align-items:stretch;gap:.75rem}.stats-panel{width:100%}.stats-grid{grid-template-columns:repeat(4,1fr)}.stat-card:first-child,.stat-card:nth-child(2){grid-column:span 2}.toolbar{gap:.6rem .8rem;padding:.75rem}.toolbar-section{flex-wrap:wrap}}@media (width<=768px){:root{--cell-size:18px}.app-container{min-height:100dvh;padding:.6rem .75rem}.app-header{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem}.app-title-group h1{font-size:1.15rem;line-height:1.25}.app-subtitle{margin-top:.15rem;font-size:.75rem}.backend-status{white-space:nowrap;flex-shrink:0;padding:.2rem .55rem;font-size:.75rem}.notification-banner{min-width:unset;max-width:calc(100vw - 1.2rem);padding:.5rem .75rem;font-size:.82rem;top:.6rem;left:.6rem;right:.6rem}.toolbar{flex-direction:column;align-items:stretch;gap:.45rem;margin-bottom:.5rem;padding:.55rem .65rem;display:flex}.toolbar-section{gap:.4rem;width:100%}.toolbar-section.section-primary{align-items:center;gap:.4rem;display:flex}.toolbar-item-algo{flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.toolbar-item-algo .toolbar-label{display:none}.toolbar-item-algo .select-input{flex:1;width:100%;min-width:0;min-height:38px;font-size:.82rem;font-weight:500}.toolbar-item-visualize{flex:none}.btn-visualize{min-width:96px;min-height:38px;padding:.45rem .75rem;font-size:.82rem;font-weight:600}.toolbar-section.section-controls{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.toolbar-section.section-controls .toolbar-group{flex-direction:column;align-items:stretch;gap:.15rem;min-width:0;display:flex}.toolbar-section.section-controls .toolbar-label{color:var(--color-text-muted);font-size:.68rem;line-height:1}.toolbar-section.section-controls .select-input{text-overflow:ellipsis;width:100%;min-width:0;min-height:36px;padding:.35rem .3rem;font-size:.76rem}.toolbar-section.section-actions{width:100%}.toolbar-action-buttons{grid-template-columns:repeat(3,1fr);gap:.35rem;width:100%;display:grid}.toolbar-action-buttons .btn{text-align:center;white-space:nowrap;justify-content:center;width:100%;min-height:36px;padding:.35rem .2rem;font-size:.75rem}.legend{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:6px;flex-wrap:nowrap;justify-content:flex-start;gap:.65rem;margin-bottom:.5rem;padding:.35rem .5rem;display:flex;overflow-x:auto}.legend::-webkit-scrollbar{display:none}.legend-item{flex-shrink:0;gap:.3rem}.legend-cell{width:14px;height:14px;font-size:.6rem}.legend-label{white-space:nowrap;font-size:.72rem}.grid-container{padding:.4rem}.grid-container.grid-fit-mode{justify-content:center;overflow-x:hidden}.grid-container.grid-fit-mode .cell{width:calc(2.43902vw - .0682927rem);min-width:7.5px;max-width:18px;height:calc(2.43902vw - .0682927rem);min-height:7.5px;max-height:18px;font-size:.45rem}.grid-container.grid-fit-mode .weight-badge,.grid-container.grid-fit-mode .cell-icon{font-size:.5rem;transform:scale(.8)}.grid-container.grid-scroll-mode{justify-content:flex-start;overflow-x:auto}.grid-container.grid-scroll-mode .cell{width:19px;height:19px}.grid-scroll-hint{margin-bottom:.35rem;padding:.25rem .4rem;font-size:.72rem;display:flex}.stats-panel{gap:.5rem;width:100%;padding:.65rem .75rem}.stats-title{padding-bottom:.35rem;font-size:.9rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.35rem}.stat-card{padding:.35rem .5rem}.stat-card:first-child,.stat-card:nth-child(2){grid-column:span 1}.stat-label{margin-bottom:.1rem;font-size:.65rem}.stat-value{font-size:.85rem}.table-responsive{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.compare-table th,.compare-table td{white-space:nowrap;padding:.45rem .55rem;font-size:.78rem}.compare-table th:first-child,.compare-table td:first-child{z-index:2;background-color:var(--color-surface);position:sticky;left:0;box-shadow:2px 0 6px #0006}.compare-table th:first-child{background-color:var(--color-bg)}}@media (width<=480px){:root{--cell-size:16px}.app-container{padding:.4rem .5rem}.app-header{flex-direction:column;align-items:flex-start;gap:.35rem}.app-title-group h1{font-size:1.05rem}.app-subtitle{font-size:.7rem;line-height:1.3}.backend-status{align-self:flex-start;padding:.15rem .5rem;font-size:.7rem}.toolbar{gap:.35rem;padding:.45rem .5rem}.toolbar-section.section-primary{gap:.35rem}.toolbar-item-algo .toolbar-label{display:none}.toolbar-item-algo .select-input{min-height:36px;padding:.35rem .45rem;font-size:.78rem}.btn-visualize{min-width:96px;min-height:36px;padding:.35rem .5rem;font-size:.78rem}.toolbar-section.section-controls{gap:.25rem}.toolbar-section.section-controls .toolbar-label{font-size:.65rem}.toolbar-section.section-controls .select-input{min-height:34px;padding:.3rem .2rem;font-size:.72rem}.toolbar-action-buttons{gap:.25rem}.toolbar-action-buttons .btn{min-height:34px;padding:.3rem .1rem;font-size:.7rem}.grid-header-bar{margin-bottom:.3rem;font-size:.72rem}.grid-meta-tag{font-size:.72rem}.view-toggle-btn{padding:.18rem .45rem;font-size:.68rem}.grid-container.grid-fit-mode .cell{width:calc(2.43902vw - .0512195rem);height:calc(2.43902vw - .0512195rem)}.grid-container.grid-fit-mode .weight-badge,.grid-container.grid-fit-mode .cell-icon{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:.3rem}.stat-card{padding:.3rem .4rem}.stat-label{font-size:.62rem}.stat-value{font-size:.8rem}}.btn:focus-visible,.select-input:focus-visible,.view-toggle-btn:focus-visible,.btn-close:focus-visible,.banner-close:focus-visible,summary.description-title:focus-visible{box-shadow:0 0 0 2px var(--background), 0 0 0 4px var(--ring)!important;border-color:var(--accent)!important;outline:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover,.btn:active,.stat-card:hover{transform:none!important}.btn-visualize.btn-primary:not(:disabled):before{animation:none!important;display:none!important}.cell.wall,.cell.visited,.cell.path,.cell.frontier{animation:none!important}}
