header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:clamp(.85rem,1.2vw,1rem) clamp(1rem,2.2vw,2rem);position:relative;z-index:100;transition:background-color var(--transition),border-color var(--transition)}.header-content{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem 1.25rem}.header-content.header-tabs-second-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.header-branding{display:flex;align-items:center;gap:1rem;flex:0 1 auto;min-width:0;flex-wrap:nowrap}.header-content.header-tabs-second-row .header-branding{grid-column:1;grid-row:1;width:100%;justify-content:flex-start}.tabs{flex:1 1 auto;min-width:0;width:100%}.header-content.header-tabs-second-row .tabs{grid-column:1 / -1;grid-row:2;margin:0}.header-actions{display:flex;align-items:center;gap:.85rem;flex:0 0 auto;justify-content:flex-end;flex-wrap:nowrap;min-height:36px;min-width:0;overflow:hidden}.header-content.header-tabs-second-row .header-actions{grid-column:2;grid-row:1;justify-content:flex-end;overflow:visible}.header-action-group{display:flex;align-items:center;gap:.65rem;min-width:0}.header-action-group--primary{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;overflow:hidden}.header-action-group--preferences{flex:0 0 auto;padding-left:.85rem;border-left:1px solid color-mix(in srgb,var(--border-color) 78%,transparent)}.header-action-group--preferences:empty{display:none}.header-content>h1,.header-branding>h1{flex:0 0 auto;margin:0;font-weight:600;font-size:1.5rem;line-height:1.1;letter-spacing:-.02em;color:var(--text-primary);min-width:0}.domain-switcher{position:relative;display:inline-flex;align-items:center;width:clamp(10rem,16vw,13rem);min-width:11rem;flex:0 0 auto}.domain-switcher:after{content:"▾";position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.8rem;pointer-events:none}.domain-switcher .domain-switch-select{width:100%;min-width:0;appearance:none;-webkit-appearance:none;padding:.7rem 2.3rem .7rem .95rem;border:1px solid color-mix(in srgb,var(--border-color) 72%,transparent);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-tertiary) 82%,white 4%),color-mix(in srgb,var(--bg-secondary) 92%,black 4%));box-shadow:0 12px 32px color-mix(in srgb,var(--shadow) 75%,transparent),inset 0 1px color-mix(in srgb,white 18%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-primary);font:inherit;font-size:.82rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition),color var(--transition)}.domain-switcher .domain-switch-select:hover,.domain-switcher .domain-switch-select:focus{border-color:var(--text-muted);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow) 75%,transparent),inset 0 1px color-mix(in srgb,white 18%,transparent),0 0 0 1px color-mix(in srgb,var(--text-primary) 12%,transparent)}.domain-switcher .domain-switch-select option{color:var(--text-primary);background:var(--bg-secondary)}[data-domain-tabs=pathfinding] .tab-glider{opacity:1}body[data-domain=pathfinding] .swipe-hint{display:none!important}.theme-toggle{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}.header-locale{display:flex;align-items:center;min-width:0}.header-locale:empty{display:none}.header-actions.mobile-header-hide-docs .docs-link,.header-actions.mobile-header-hide-profile #btn-open-profile,.header-actions.mobile-header-hide-locale .header-locale,.header-actions.mobile-header-hide-theme .theme-toggle,.header-actions.mobile-header-hide-signin .auth-buttons .auth-link:first-child{display:none!important}.header-language-picker{display:flex;align-items:center}.header-language-select{width:clamp(7.5rem,9vw,9.25rem);min-width:0;appearance:auto;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:.45rem .7rem;font:inherit;font-size:.8rem;cursor:pointer}.theme-toggle-btn{width:48px;height:26px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:13px;cursor:pointer;position:relative;transition:background var(--duration-normal) ease,border-color var(--duration-normal) ease}.theme-toggle-btn:after{content:"";position:absolute;width:20px;height:20px;background:var(--text-primary);border-radius:50%;top:2px;left:2px;transition:transform var(--duration-normal) var(--easing-spring),width var(--duration-base) ease;box-shadow:0 2px 8px #0000004d}.theme-toggle-btn:active:after{width:26px}[data-theme=light] .theme-toggle-btn:after{transform:translate(22px)}[data-theme=light] .theme-toggle-btn:active:after{transform:translate(16px)}.theme-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);line-height:1}.account-slot{position:relative;display:flex;align-items:center;justify-content:flex-end;flex:0 1 var(--account-slot-width,176px);min-width:var(--account-slot-width,176px);min-height:36px;max-width:100%}.account-slot[data-auth-state=guest]{margin-left:.6rem}.account-slot[data-auth-state=guest] .auth-buttons,.account-slot[data-auth-state=user] .user-profile{visibility:visible;pointer-events:auto}.account-slot[data-auth-state=guest] .user-profile,.account-slot[data-auth-state=user] .auth-buttons{visibility:hidden;pointer-events:none}.docs-link{color:var(--text-muted);text-decoration:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;transition:color var(--duration-quick) ease,border-color var(--duration-quick) ease,transform var(--duration-quick) ease;line-height:1}.docs-link:hover{color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}.pwa-install-btn{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);background:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:color var(--duration-quick) ease,border-color var(--duration-quick) ease,transform var(--duration-quick) ease;font-family:inherit;line-height:1}.pwa-install-btn:hover{color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}.auth-buttons{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.auth-link{color:var(--text-muted);text-decoration:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;transition:color var(--duration-quick) ease,border-color var(--duration-quick) ease,transform var(--duration-quick) ease;line-height:1;white-space:nowrap}.auth-link:hover{color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}.auth-link-primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.auth-link-primary:hover{color:var(--bg-primary);border-color:var(--text-primary);opacity:.92}.header-content.header-tabs-second-row .account-slot[data-auth-state=guest]{flex:0 0 auto;min-width:0}.header-content.header-tabs-second-row .account-slot[data-auth-state=guest] .auth-buttons{position:static}.user-profile{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end}.profile-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color var(--duration-quick) ease,transform var(--duration-quick) var(--easing-spring)}.profile-avatar:hover{border-color:var(--text-muted);transform:scale(1.06)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#444,#666);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:#fff}.profile-dropdown{position:absolute;top:calc(100%+8px);right:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem 0;min-width:200px;box-shadow:0 4px 20px var(--shadow);opacity:0;visibility:hidden;transform:translateY(-4px) scale(.95);transition:opacity var(--duration-base) ease,transform var(--duration-base) var(--easing-spring),visibility var(--duration-base) ease;z-index:1000}.user-profile.open .profile-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.profile-info{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem}@media(max-width:1180px){.header-content{grid-template-columns:1fr}.header-branding,.header-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.header-action-group--preferences{padding-left:0;border-left:none}}@media(max-width:768px){.header-branding{flex-direction:column;align-items:stretch}.header-actions{gap:.6rem}.header-action-group{width:100%;justify-content:space-between}.header-action-group--preferences{justify-content:flex-end}.domain-switcher{width:100%}}.profile-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.profile-email{font-size:.75rem;color:var(--text-muted)}.profile-dropdown hr{border:none;border-top:1px solid var(--border-color);margin:.25rem 0}.dropdown-item{width:100%;padding:.6rem 1rem;background:none;border:none;color:var(--text-secondary);font-size:.85rem;text-align:left;cursor:pointer;transition:background var(--duration-micro) ease,color var(--duration-micro) ease,padding-left var(--duration-micro) ease}.dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary);padding-left:1.15rem}#section-visualizer{display:none;position:relative;background:var(--bg-primary)}body.page-lock-visualizer #section-visualizer{min-height:0;overflow:hidden;gap:.35rem;padding-bottom:.75rem}.toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1rem 2rem;transition:all var(--transition);display:flex;flex-direction:column;gap:.75rem}.stats{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;font-family:SF Mono,Consolas,monospace;font-size:.8rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border-color);justify-content:center;width:fit-content;max-width:100%;align-self:center}.stats span{color:var(--text-primary);font-weight:500}.select-wrapper select{min-width:180px}.algo-select-row{display:flex;align-items:center;gap:.35rem}.btn-algo-fav{background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:.2rem .35rem;flex-shrink:0;transition:color var(--duration-micro) ease,border-color var(--duration-micro) ease,transform var(--duration-micro) var(--easing-spring)}.btn-algo-fav:hover,.btn-algo-fav.active{color:#f5c842;border-color:#f5c842;transform:scale(1.1)}.advanced-options{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.advanced-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;background:transparent;border:none;color:var(--text-muted);font-family:inherit;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all var(--transition)}.advanced-toggle:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.toggle-icon{transition:transform var(--duration-medium) var(--easing-spring)}.advanced-options.open .toggle-icon{transform:rotate(180deg)}.advanced-content{display:none;padding:1rem 2rem 1.25rem;gap:2rem;flex-wrap:wrap;border-top:1px solid var(--border-color)}.advanced-options.open .advanced-content{display:flex}.option-group{display:flex;align-items:center;gap:.75rem}.option-group label{font-size:.8rem;color:var(--text-secondary)}.option-group select{min-width:140px}.option-group input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--bar-sorted)}.save-load-group{flex-direction:column;align-items:flex-start;gap:.5rem}.save-load-buttons{display:flex;gap:.5rem}.save-load-buttons .btn{padding:.4rem .8rem;font-size:.75rem}.custom-array-group{flex-direction:column;align-items:flex-start!important;gap:.5rem!important}.custom-array-group>label{display:flex;align-items:baseline;gap:.5rem}.custom-array-group>label small{font-size:.65rem;color:var(--text-muted);opacity:.8}.custom-array-wrapper{display:flex;gap:.5rem}.custom-array-wrapper input[type=text]{flex:1;min-width:180px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem .75rem;border-radius:6px;font-family:inherit;font-size:.8rem;outline:none;transition:all var(--transition)}.custom-array-wrapper input[type=text]:focus{border-color:var(--text-muted)}.custom-array-wrapper input[type=text]::placeholder{color:var(--text-muted);opacity:.6}.custom-array-upload{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.custom-array-upload .btn{display:flex;align-items:center;gap:.35rem}.upload-hint{font-size:.65rem;color:var(--text-muted);opacity:.7}.custom-array-mini{display:flex;align-items:center;gap:.5rem}.custom-array-config label,.custom-array-bench label{display:flex;align-items:baseline;gap:.35rem}.custom-array-config label small,.custom-array-bench label small{font-size:.65rem;color:var(--text-muted);opacity:.8}.custom-status{font-size:.7rem;color:var(--bar-sorted);font-family:SF Mono,Consolas,monospace}.custom-status.error{color:var(--bar-swap)}.custom-status.loaded{color:var(--bar-sorted)}.compare-custom-indicator{background:var(--bg-tertiary);border:1px solid var(--bar-sorted);padding:.35rem .75rem;border-radius:20px;font-size:.75rem;color:var(--bar-sorted);display:flex;align-items:center;gap:.4rem}.stats-panel{position:absolute;top:1.5rem;left:1.5rem;background:var(--bg-secondary);padding:.75rem 1.25rem;border-radius:6px;border:1px solid var(--border-color);display:flex;gap:2rem;font-family:SF Mono,Consolas,monospace;font-size:.8rem;color:var(--text-secondary);z-index:10;transition:all var(--transition)}.stats-panel span{color:var(--text-primary);font-weight:600}#visualizer-container{flex:1;display:flex;align-items:flex-end;justify-content:center;width:100%;padding:2.5rem 4rem 0;min-height:clamp(300px,46vh,560px);aspect-ratio:16 / 7;overflow:visible;transition:opacity .25s ease-in-out}body.page-lock-visualizer #visualizer-container{min-height:0;aspect-ratio:auto;padding:1rem 4rem 0;overflow:hidden}#visualizer-container canvas{display:block;width:100%;height:100%}#visualizer-container.mode-switching{opacity:0}.bar{flex:1;min-width:1px;background:var(--bar-default);margin:0;border-radius:1px 1px 0 0;transition:height .08s ease-out,background-color .1s;opacity:.85;position:relative}.bar.compare{background:var(--bar-compare)!important;opacity:1}.bar.swap{background:var(--bar-swap)!important;opacity:1}.bar.sorted{background:var(--bar-sorted)!important;opacity:1}.bar.show-value:before{content:attr(data-value);position:absolute;top:4px;left:50%;transform:translate(-50%) rotate(-90deg);transform-origin:center center;font-size:.6rem;font-weight:600;color:#000000b3;white-space:nowrap;pointer-events:none}.progress-container{width:100%;max-width:calc(100% - 8rem);margin:.5rem 4rem;height:4px;background:var(--bg-tertiary);border-radius:2px;position:relative;display:none}body.page-lock-visualizer #section-visualizer .progress-container{width:auto;max-width:none;margin:.35rem 4rem 0;flex-shrink:0}.progress-container.active{display:block}.progress-bar{height:100%;width:0%;background:var(--text-primary);border-radius:2px;transition:width .3s cubic-bezier(.4,0,.2,1)}.progress-text{position:absolute;right:0;top:-18px;font-size:.7rem;color:var(--text-muted);font-family:SF Mono,Consolas,monospace}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100vh;pointer-events:none;z-index:9999;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;opacity:0;animation:confetti-fall 3s ease-out forwards}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100px) rotate(0)}to{opacity:0;transform:translateY(100vh) rotate(720deg)}}.keyboard-hints{position:fixed;bottom:6rem;right:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;font-size:.7rem;color:var(--text-muted);z-index:100;opacity:.7;transform:translate(0);transition:opacity var(--transition),transform .3s ease-in-out}.keyboard-hints.hidden{transform:translate(calc(100%+2rem));opacity:0;pointer-events:none}.keyboard-hints:hover{opacity:1}.keyboard-hints kbd{display:inline-block;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;padding:.15rem .4rem;font-family:SF Mono,Consolas,monospace;font-size:.65rem;margin-right:.25rem}.keyboard-shortcuts-modal{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:kbModalFadeIn var(--duration-base) ease}.keyboard-shortcuts-card{position:relative;width:min(96vw,940px);max-height:86vh;overflow:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:1.4rem 1.2rem 1.25rem;animation:kbModalIn var(--duration-entrance) var(--easing-spring)}.keyboard-shortcuts-card h2{margin:0 0 .45rem;color:var(--text-primary);font-size:1.08rem}.keyboard-shortcuts-note{margin:0 0 1rem;color:var(--text-muted);font-size:.82rem}.keyboard-shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem 1.1rem}.keyboard-shortcuts-grid section{border:1px solid var(--border-color);border-radius:10px;padding:.8rem .75rem;background:var(--bg-tertiary)}.keyboard-shortcuts-grid h3{margin:0 0 .55rem;color:var(--text-primary);font-size:.85rem;font-weight:650}.keyboard-shortcuts-close{position:absolute;top:.55rem;right:.75rem;border:0;background:transparent;color:var(--text-muted);font-size:1.4rem;line-height:1;cursor:pointer;transition:color var(--duration-micro) ease,transform var(--duration-micro) var(--easing-spring)}.keyboard-shortcuts-close:hover{color:var(--text-primary);transform:scale(1.1)}.keyboard-shortcuts-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.keyboard-shortcuts-list li{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.8rem;flex-wrap:wrap}.keyboard-shortcuts-list kbd{min-width:2.2rem;text-align:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.12rem .36rem;font-family:SF Mono,Consolas,monospace;color:var(--text-primary);font-size:.7rem}@media(max-width:768px)and (orientation:portrait),(max-width:480px){#section-visualizer{padding:0!important;display:flex;flex-direction:column}.toolbar{padding:.6rem .75rem!important;border-bottom:1px solid var(--border-color);flex-shrink:0}.toolbar .controls{display:flex!important;flex-direction:column!important;gap:.6rem!important}.toolbar .slider-stack{display:flex;flex-direction:row;gap:.6rem;width:fit-content;max-width:100%;margin-inline:auto;justify-content:center;align-items:center}.toolbar .slider-stack .control-group{flex:0 1 auto;width:min(44vw,220px);min-width:0}.toolbar .slider-stack .control-group label{text-align:center;white-space:nowrap}.toolbar .control-group{width:100%}.toolbar .control-group label{font-size:.75rem}.toolbar .select-wrapper{width:100%}.toolbar .select-wrapper select{width:100%;min-width:0;max-width:100%}.toolbar input[type=range]{width:100%}.toolbar .separator{display:none!important}.toolbar .stats{font-size:.7rem;padding:.4rem .5rem;background:var(--bg-tertiary);border-radius:6px;text-align:center;white-space:normal;word-break:break-word;overflow-wrap:break-word;line-height:1.5;max-width:100%;flex-wrap:wrap;gap:.25rem .5rem}.toolbar .control-group:last-child{flex-direction:row!important;gap:.4rem!important}.toolbar .control-group:last-child .btn{flex:1;min-height:40px;font-size:.85rem}.advanced-options{display:block!important;border-bottom:1px solid var(--border-color);flex-shrink:0}.advanced-toggle{padding:.6rem .75rem!important;font-size:.8rem!important}.advanced-content{padding:.5rem .75rem .75rem!important}.advanced-content .option-group{flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.advanced-content .option-group:last-child{border-bottom:none}.advanced-content .option-group label{font-size:.8rem;flex-shrink:0}.advanced-content .option-group select{max-width:55%}.advanced-content .save-load-group{flex-wrap:wrap}.advanced-content .save-load-buttons{gap:.4rem}.advanced-content .custom-array-group{flex-direction:column!important;align-items:stretch!important}.advanced-content .custom-array-wrapper,.advanced-content .custom-array-wrapper input{width:100%}#visualizer-container{flex:1;padding:.5rem .5rem 5rem!important;min-height:45vh}.progress-container{max-width:100%;margin:.25rem .5rem}#main-scrubber-wrap{left:.5rem;right:.5rem;bottom:68px;z-index:150}}#section-compare{display:none;padding:2rem;overflow-y:auto;background:var(--bg-primary)}#section-compare.active-section{display:flex;flex-direction:column;align-items:center;flex:1}.compare-header{text-align:center;margin-bottom:1.5rem}.compare-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.compare-header p{color:var(--text-muted);font-size:.875rem}.compare-controls{display:flex;gap:2rem;align-items:center;justify-content:center;margin-bottom:1.5rem;background:var(--bg-secondary);padding:1rem 1.5rem;border-radius:8px;border:1px solid var(--border-color);flex-wrap:wrap}.compare-config{display:flex;gap:1.5rem}.compare-actions{display:flex;gap:.75rem}.race-count{margin-bottom:1rem;font-size:.875rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.5rem 1rem;border-radius:20px}.race-count span{color:var(--bar-compare);font-weight:600}.compare-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;width:100%;margin-top:1rem;padding-bottom:2rem}.compare-grid.compare-layout-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.compare-grid.compare-layout-columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.compare-grid.compare-layout-stack{grid-template-columns:1fr}.compare-grid.compare-layout-spotlight{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.compare-grid.compare-layout-spotlight .compare-panel:first-child{grid-column:1 / -1;height:340px}.compare-panel{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1rem;height:280px;position:relative;transition:transform var(--duration-base) var(--easing-spring),box-shadow var(--duration-base) var(--easing-spring),opacity var(--duration-quick) ease;overflow:hidden}.compare-grid.compare-layout-stack .compare-panel{height:220px}.compare-panel:hover{transform:translateY(-4px);box-shadow:0 12px 32px var(--shadow)}.compare-panel .panel-header.drag-handle{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-touch-callout:none}.compare-panel .panel-header.drag-handle:active{cursor:grabbing}.compare-panel.drag-source{position:absolute!important;opacity:0!important;pointer-events:none;width:0!important;height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;border:none!important}.drag-ghost{position:fixed;z-index:9999;pointer-events:none;opacity:0;border-radius:12px;box-shadow:0 8px 30px #00000040,0 0 0 2px var(--accent);transform:scale(1.03);overflow:hidden;background:var(--bg-secondary);transition:opacity .3s ease,transform .3s ease,box-shadow .3s ease}.drag-ghost.drag-ghost-visible{opacity:.88}.drag-placeholder{border-radius:12px;border:2px dotted var(--accent)!important;background:var(--bg-secondary)!important;opacity:0;pointer-events:none;box-sizing:border-box;transition:opacity .35s ease!important;overflow:hidden}.drag-placeholder.drag-placeholder-visible{opacity:.35}.drag-placeholder .compare-visualizer,.drag-placeholder .panel-stats,.drag-placeholder .panel-status,.drag-placeholder .race-canvas{visibility:hidden}.drag-placeholder .panel-header{opacity:.6;pointer-events:none}.compare-panel .remove-panel{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:.25rem .5rem;border-radius:4px;opacity:.6;transition:color var(--duration-micro) ease,background var(--duration-micro) ease,transform var(--duration-micro) var(--easing-spring),opacity var(--duration-micro) ease}.compare-panel .remove-panel:hover{opacity:1;background:#e74c3c33;color:#e74c3c;transform:scale(1.1)}.compare-panel.winner{border-color:var(--bar-sorted);box-shadow:0 0 20px #2ecc714d}.compare-panel.rank-1{border-color:gold;box-shadow:0 0 15px #ffd7004d}.compare-panel.rank-2{border-color:silver;box-shadow:0 0 10px #c0c0c04d}.compare-panel.rank-3{border-color:#cd7f32;box-shadow:0 0 10px #cd7f324d}.panel-rank{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--bg-primary);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;border:2px solid var(--border-color)}.rank-1 .panel-rank{border-color:gold;color:gold}.rank-2 .panel-rank{border-color:silver;color:silver}.rank-3 .panel-rank{border-color:#cd7f32;color:#cd7f32}.leaderboard{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);margin-top:1rem;max-width:800px;margin-left:auto;margin-right:auto}.leaderboard h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;text-align:center;color:var(--text-primary)}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.875rem}.leaderboard-table th,.leaderboard-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.leaderboard-table th{background:var(--bg-tertiary);color:var(--text-muted);font-weight:500;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}.leaderboard-table td{color:var(--text-secondary);font-family:SF Mono,Consolas,monospace}.leaderboard-table td:first-child{font-weight:700;color:var(--text-primary)}.leaderboard-table td:nth-child(2){font-family:inherit;color:var(--text-primary)}.leaderboard-table .winner-row{background:#2ecc711a}.leaderboard-table .winner-row td{color:var(--bar-sorted);font-weight:600}.leaderboard-table .winner-row td:first-child:before{content:"#1 "}.compare-result.has-leaderboard{background:transparent;padding:0}.val-time{color:var(--accent)!important;font-weight:600}.panel-header{display:flex;flex-direction:column;align-items:stretch;margin-bottom:.5rem}.drag-dots{display:flex;justify-content:center;align-items:center;gap:5px;padding:4px 1rem 6px;margin:0 -1rem;cursor:grab;touch-action:none;-webkit-touch-callout:none}.drag-dots span{width:5px;height:5px;border-radius:50%;background:var(--text-muted);opacity:.45;transition:opacity .2s ease;touch-action:none}.panel-header:hover .drag-dots span,.panel-header:active .drag-dots span{opacity:.8}.panel-header:active .drag-dots{cursor:grabbing}.panel-header-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center;padding-right:1.5rem;touch-action:none}.algo-select{flex:1;min-width:140px}.panel-stats{display:flex;gap:.75rem;font-size:.7rem}.panel-stats .stat{font-family:SF Mono,Consolas,monospace;font-size:.75rem;color:var(--text-muted)}.compare-visualizer{flex:1 1 0;min-height:0;display:block;position:relative;overflow:hidden}.compare-visualizer canvas.race-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.compare-visualizer .bar{flex:1 1 0;min-width:0;background:var(--bar-default);margin:0;border-radius:0;opacity:.8;transition:height .05s ease-out,background-color .1s;box-shadow:1px 0 0 0 var(--bar-default)}.compare-visualizer .bar.compare{background:var(--bar-compare)!important;box-shadow:1px 0 0 0 var(--bar-compare);opacity:1;z-index:10}.compare-visualizer .bar.swap{background:var(--bar-swap)!important;box-shadow:1px 0 0 0 var(--bar-swap);opacity:1;z-index:10}.compare-visualizer .bar.sorted{background:var(--bar-sorted)!important;box-shadow:1px 0 0 0 var(--bar-sorted);opacity:1}.compare-divider{width:2px;background:var(--border-color);margin:0 .5rem}.panel-status{text-align:center;padding-top:.75rem;margin-top:.75rem;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--text-muted)}.panel-status.running{color:var(--bar-compare)}.panel-status.done{color:var(--bar-sorted)}.compare-result{margin-top:1.5rem;padding:1rem 2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;text-align:center;font-size:1rem;color:var(--text-secondary)}.compare-result.winner-1,.compare-result.winner-2{border-color:var(--bar-sorted);color:var(--bar-sorted)}.remove-panel-btn{position:absolute;top:.75rem;right:.75rem;width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-quick) ease,color var(--duration-quick) ease,transform var(--duration-quick) var(--easing-spring);padding:0}.remove-panel-btn:hover{background:#e74c3c1a;color:#e74c3c}.race-leaderboard{margin-top:1.5rem;width:100%;max-width:600px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.race-leaderboard h3{text-align:center;margin-bottom:1rem;color:var(--text-primary)}.leaderboard-list{display:flex;flex-direction:column;gap:.5rem}.leaderboard-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:8px;transition:transform var(--duration-base) var(--easing-spring),background var(--duration-base) ease}.leaderboard-item:hover{transform:translate(4px) scale(1.01)}.leaderboard-rank{font-weight:700;font-size:1.25rem;min-width:2rem}.leaderboard-item:nth-child(1) .leaderboard-rank{color:gold}.leaderboard-item:nth-child(2) .leaderboard-rank{color:silver}.leaderboard-item:nth-child(3) .leaderboard-rank{color:#cd7f32}.leaderboard-name{flex:1;color:var(--text-primary);font-weight:500}.leaderboard-time{font-family:SF Mono,monospace;font-size:.875rem;color:var(--text-muted)}.race-timer{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;padding:.5rem 1rem;background:var(--bg-tertiary);border-radius:8px;min-width:120px;justify-content:center}#race-elapsed{color:var(--bar-compare)}.custom-array-group{margin-top:.5rem}.custom-array-wrapper{display:flex;gap:.5rem;align-items:center}.custom-array-wrapper input[type=text]{flex:1;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem}.custom-array-wrapper input[type=text]::placeholder{color:var(--text-muted)}@media(max-width:768px)and (orientation:portrait),(max-width:480px){.compare-header h2{font-size:1.1rem}.compare-header p{font-size:.75rem}.compare-controls{flex-direction:column!important;padding:.75rem!important;gap:.75rem!important}.compare-config{flex-direction:column!important;gap:.5rem!important;width:100%!important}.compare-config .control-group{width:100%}.compare-actions{width:100%;flex-wrap:wrap;justify-content:stretch}.compare-actions .btn{flex:1;min-width:0;min-height:40px}.compare-actions .custom-array-mini{display:flex;flex:1 1 100%;width:100%}.compare-actions .custom-array-mini .btn{width:100%}.compare-grid{grid-template-columns:1fr!important;gap:.75rem}.compare-panel{height:200px}.race-count{font-size:.85rem}.leaderboard{padding:.75rem}.leaderboard-table{font-size:.75rem}.leaderboard-table th,.leaderboard-table td{padding:.4rem .5rem}}#section-benchmark{display:none;padding:2rem;overflow:visible}#section-benchmark.active-section{display:flex;flex-direction:column;flex:0 0 auto;overflow:visible}.benchmark-config{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.config-item{display:flex;flex-direction:column;gap:.4rem}.config-item label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.config-item input,.config-item select{padding:.5rem .75rem;border-radius:8px;color:var(--text-primary);font-size:.9rem;min-width:120px}.config-item input:focus,.config-item select:focus{outline:none}.algo-selection{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.algo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.algo-header h3{font-size:1rem;color:var(--text-primary)}.selection-actions{display:flex;gap:.5rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.checkbox-grid label{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.85rem;color:var(--text-secondary);transition:transform var(--duration-base) var(--easing-spring),border-color var(--duration-base) ease,color var(--duration-base) ease,box-shadow var(--duration-base) var(--easing-spring)}.checkbox-grid label:hover{border-color:var(--text-muted);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.checkbox-grid label:active{transform:translateY(0) scale(.97);transition-duration:var(--duration-instant)}.checkbox-grid input[type=checkbox]{accent-color:var(--text-primary)}.benchmark-progress{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;opacity:0;transform:translateY(6px);will-change:opacity,transform}.benchmark-progress.is-visible{animation:bench-progress-in .22s ease forwards}.benchmark-progress.is-exiting{animation:bench-progress-out .2s ease forwards}@keyframes bench-progress-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes bench-progress-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-status{font-weight:500;color:var(--text-primary)}.progress-stats{display:inline-flex;align-items:center;gap:.75rem}.bench-lifecycle-icon{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.bench-lifecycle-icon svg{width:100%;height:100%;display:block}.bench-lifecycle-icon .bench-morph-path{stroke:var(--text-primary);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;animation:bench-path-cycle 1.5s ease-in-out infinite alternate}.bench-lifecycle-icon .bench-draw{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:bench-draw-line .55s ease forwards}.bench-lifecycle-icon.success .bench-draw{stroke:var(--text-primary);stroke-width:3.8}.bench-lifecycle-icon.error .bench-draw{stroke:#ef4444;stroke-width:3.8}.bench-lifecycle-icon.stopped .bench-draw{stroke:var(--text-muted);stroke-width:3.8}.bench-lifecycle-icon.error .bench-draw.second,.bench-lifecycle-icon.stopped .bench-draw.second{animation-delay:.15s}@keyframes bench-path-cycle{0%{stroke-dashoffset:100;fill:#fff0;stroke-width:2}50%{stroke-dashoffset:0;fill:#fff0;stroke-width:2}80%,to{stroke-dashoffset:0;fill:currentColor;stroke-width:0}}@keyframes bench-draw-line{to{stroke-dashoffset:0}}.progress-stats{display:flex;gap:1rem;font-size:.85rem;color:var(--text-muted)}.progress-percent{font-weight:600;color:var(--text-primary)}.progress-bar-wrapper{margin-bottom:.75rem}.progress-bar-track{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;width:0;background:linear-gradient(90deg,#666,#999);border-radius:4px;transition:width .3s ease}.progress-current-algo{font-size:.85rem;color:var(--text-muted)}.current-label{margin-right:.5rem}.current-algo-name{font-weight:500;color:var(--text-secondary)}.bench-last-run-notice{font-size:.8rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:.4rem .75rem;margin-bottom:.75rem}.results-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;overflow-x:auto;overflow-y:visible;width:100%}.results-container table{width:max-content;min-width:100%;table-layout:auto;border-collapse:collapse}.results-container thead th{text-align:left;padding:.75rem 1rem;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);white-space:nowrap;cursor:default}.results-container thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.results-container thead th.sortable:hover{color:var(--text-primary)}.sort-arrow{font-size:.7rem;margin-left:.25rem}.results-container tbody td{padding:.65rem 1rem;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-family:SF Mono,Consolas,monospace}.results-container tbody tr:last-child td{border-bottom:none}.results-container tbody tr:hover{background:var(--bg-tertiary)}.benchmark-export{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 0}@media(max-width:768px)and (orientation:portrait),(max-width:480px){#section-benchmark{padding-bottom:80px!important}#section-benchmark h2{font-size:1.1rem}.benchmark-config{flex-direction:column;gap:.75rem;padding:.75rem}.benchmark-config .config-item,.benchmark-config input[type=number]{width:100%}.algo-selection{padding:.75rem}.checkbox-grid{grid-template-columns:1fr 1fr!important}.results-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.results-container table{font-size:.7rem}.results-container th,.results-container td{padding:.4rem;white-space:nowrap}.benchmark-export{flex-wrap:wrap;gap:.4rem}.benchmark-export .btn{font-size:.75rem}}#section-analytics{display:none;padding:2rem;overflow-y:auto;background:var(--bg-primary)}#section-analytics.active-section{display:flex;flex-direction:column;flex:1}.analytics-header{text-align:center;margin-bottom:2rem}.analytics-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.analytics-header p{color:var(--text-muted);font-size:.9rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.analytics-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:transform var(--duration-base) var(--easing-spring),box-shadow var(--duration-base) var(--easing-spring),border-color var(--duration-base) ease}.analytics-card:hover{border-color:var(--text-muted);transform:translateY(-4px);box-shadow:0 12px 32px var(--shadow)}.analytics-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.card-description{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.complexity-card{grid-column:span 1}.complexity-chart,.usage-chart,.trend-chart{background:radial-gradient(circle at top right,var(--analytics-glow),transparent 38%),linear-gradient(180deg,var(--analytics-surface-soft),var(--analytics-surface-strong));border-radius:8px;padding:1rem;position:relative;overflow:hidden}.complexity-chart{margin-bottom:1rem;height:250px;min-height:250px}.complexity-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem}.legend-item{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary)}.legend-color{width:12px;height:12px;border-radius:2px;box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 8%,transparent)}.legend-color-best{background:var(--bar-sorted)}.legend-color-average{background:var(--bar-compare)}.legend-color-worst{background:var(--bar-swap)}.benchmark-chart-card{grid-column:span 1}.benchmark-chart{height:200px;background:var(--bg-tertiary);border-radius:8px;padding:16px;margin-bottom:.5rem}.benchmark-chart canvas{width:100%!important;height:100%!important}.chart-note{text-align:center;font-size:.75rem;color:var(--text-muted)}.info-card{grid-column:span 1}.algo-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.algo-selector label{font-size:.8rem;color:var(--text-muted)}.algo-info-content{background:var(--bg-tertiary);border-radius:8px;padding:1.25rem}.algo-info-content .info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.algo-info-content .info-row:last-child{border-bottom:none}.algo-info-content .info-label{color:var(--text-muted);font-size:.8rem}.algo-info-content .info-value{color:var(--text-primary);font-weight:500;font-size:.85rem;font-family:SF Mono,Consolas,monospace}.algo-info-content .algo-description{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.85rem;color:var(--text-secondary);line-height:1.5}.stats-card{grid-column:span 1}.session-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.stat-item{background:var(--bg-tertiary);padding:1rem;border-radius:8px;text-align:center}.stat-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.4rem}.stat-value{display:block;font-size:1.25rem;font-weight:600;color:var(--text-primary);font-family:SF Mono,Consolas,monospace}.export-card{grid-column:span 1}.export-options{display:flex;gap:1rem;margin-bottom:1rem}.export-options .btn{flex:1}.export-note{text-align:center;color:var(--text-muted)}.export-note small{font-size:.75rem}.complexity-chart,.benchmark-chart,.usage-chart,.trend-chart{width:100%;min-height:200px;aspect-ratio:16 / 9}.usage-chart-card,.trend-chart-card{grid-column:span 1}.usage-chart,.trend-chart{height:200px;min-height:200px}.dom-chart{width:100%;height:100%}.dom-chart-empty{min-height:100%;display:grid;place-items:center;text-align:center;color:var(--text-muted);font-size:.85rem;line-height:1.5;padding:1rem}.dom-chart-gridline{position:absolute;inset-inline:0;border-top:1px dashed var(--analytics-gridline)}.dom-chart-gridline-label{position:absolute;right:.35rem;top:0;transform:translateY(-50%);font-size:.68rem;color:var(--text-muted);white-space:nowrap;text-align:right;font-family:SF Mono,Consolas,monospace}.dom-chart-gridline-label--ghost{opacity:0;pointer-events:none}.dom-chart-complexity-shell{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:.75rem;height:100%}.dom-chart-complexity-yaxis,.dom-chart-trend-yaxis{position:relative}.dom-chart-complexity-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:.25rem}.dom-chart-complexity-plot{position:relative;min-width:max(100%,40rem);height:100%}.dom-chart-complexity-grid,.dom-chart-trend-grid{position:absolute;inset:0}.dom-chart-complexity-groups{position:absolute;inset:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(4.5rem,1fr);gap:.85rem;align-items:end;padding:.25rem 0 3.5rem}.dom-chart-group{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.dom-chart-group-bars{height:100%;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:.32rem}.dom-chart-bar{position:relative;width:.95rem;min-height:.65rem;border-radius:999px 999px .35rem .35rem;background:var(--bar-default);box-shadow:inset 0 1px color-mix(in srgb,white 20%,transparent),0 10px 22px color-mix(in srgb,currentColor 12%,transparent);transition:transform var(--duration-quick) var(--easing-spring),filter var(--duration-quick) ease}.dom-chart-bar:hover{transform:scale(1.15) translateY(-2px);filter:brightness(1.1);z-index:10}.dom-chart-bar.is-best{background:linear-gradient(180deg,color-mix(in srgb,var(--bar-sorted) 76%,white 24%),var(--bar-sorted));color:var(--bar-sorted)}.dom-chart-bar.is-average{background:linear-gradient(180deg,color-mix(in srgb,var(--bar-compare) 74%,white 26%),var(--bar-compare));color:var(--bar-compare)}.dom-chart-bar.is-worst{background:linear-gradient(180deg,color-mix(in srgb,var(--bar-swap) 76%,white 24%),var(--bar-swap));color:var(--bar-swap)}.dom-chart-bar-cap{position:absolute;inset:.12rem .16rem auto;height:22%;border-radius:inherit;background:color-mix(in srgb,white 28%,transparent);opacity:.45}.dom-chart-group-label{position:absolute;left:50%;bottom:0;width:5rem;transform:translate(-50%) rotate(-56deg);transform-origin:center top;font-size:.72rem;color:var(--text-secondary);line-height:1.1;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dom-chart-usage-layout{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);gap:1rem;align-items:center;height:100%}.dom-chart-donut-wrap{display:grid;place-items:center}.dom-chart-donut{position:relative;width:min(10rem,100%);aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-primary) 6%,transparent),0 18px 28px color-mix(in srgb,black 16%,transparent)}.dom-chart-donut:after{content:"";position:absolute;inset:24%;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 52%,transparent),var(--bg-secondary));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-primary) 6%,transparent)}.dom-chart-donut-center{position:absolute;inset:0;z-index:1;display:grid;place-items:center;text-align:center}.dom-chart-donut-center strong{display:block;color:var(--text-primary);font-size:1.35rem;font-weight:700;line-height:1}.dom-chart-donut-center span{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.dom-chart-usage-legend{min-width:0;display:grid;gap:.45rem}.dom-chart-usage-item{padding:.45rem .55rem;border-radius:.85rem;background:color-mix(in srgb,var(--bg-secondary) 56%,transparent);border:1px solid color-mix(in srgb,var(--border-color) 72%,transparent)}.dom-chart-usage-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem;align-items:center;margin-bottom:.35rem}.dom-chart-usage-marker{width:.65rem;height:.65rem;border-radius:999px;box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 10%,transparent)}.dom-chart-usage-name,.dom-chart-trend-legend-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.76rem;font-weight:600}.dom-chart-usage-meta,.dom-chart-trend-legend-value{color:var(--text-secondary);font-size:.72rem;font-family:SF Mono,Consolas,monospace}.dom-chart-usage-bar{width:100%;height:.38rem;border-radius:999px;background:color-mix(in srgb,var(--border-color) 68%,transparent);overflow:hidden}.dom-chart-usage-bar-fill{display:block;height:100%;border-radius:inherit}.dom-chart-usage-foot,.dom-chart-usage-more{margin-top:.28rem;color:var(--text-muted);font-size:.68rem}.dom-chart--trend{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.6rem}.dom-chart-trend-header{display:flex;flex-wrap:wrap;gap:.45rem}.dom-chart-trend-legend-item{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--bg-secondary) 62%,transparent);border:1px solid color-mix(in srgb,var(--border-color) 70%,transparent)}.dom-chart-trend-swatch{width:.7rem;height:.25rem;border-radius:999px}.dom-chart-trend-shell{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.65rem;min-height:0}.dom-chart-trend-plot{position:relative;min-height:0;width:var(--trend-plot-width,100%);height:var(--trend-plot-height,100%);align-self:end}.dom-chart-trend-series{position:absolute;inset:0}.dom-chart-trend-segment{position:absolute;height:.16rem;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--series-color) 74%,white 26%),var(--series-color));transform-origin:left center;box-shadow:0 0 14px color-mix(in srgb,var(--series-color) 28%,transparent)}.dom-chart-trend-point{position:absolute;width:.62rem;aspect-ratio:1;border-radius:50%;transform:translate(-50%,50%);background:radial-gradient(circle at 30% 30%,white 0,color-mix(in srgb,white 70%,var(--series-color) 30%) 28%,var(--series-color) 70%,color-mix(in srgb,var(--series-color) 74%,black 26%) 100%);box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-secondary) 88%,transparent),0 0 18px color-mix(in srgb,var(--series-color) 24%,transparent)}.dom-chart-trend-footer{display:grid;grid-template-columns:auto auto 1fr;gap:.5rem;align-items:center;color:var(--text-muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.dom-chart-trend-footer span:last-child{justify-self:end}.analytics-timeline-wrap{max-height:320px;overflow-y:auto;padding-right:.5rem}.timeline-entry{display:flex;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border-color);transition:background var(--duration-micro) ease,transform var(--duration-micro) var(--easing-spring),padding var(--duration-micro) ease}.timeline-entry:last-child{border-bottom:none}.timeline-entry:hover{background:var(--bg-tertiary);border-radius:6px;padding-left:.5rem;margin-left:-.5rem}.timeline-dot{width:8px;height:8px;min-width:8px;background:var(--primary-color,#4a90d9);border-radius:50%;margin-top:.4rem}.timeline-content{flex:1;min-width:0}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.timeline-algo{font-weight:600;font-size:.85rem;color:var(--text-primary)}.timeline-time{font-size:.7rem;color:var(--text-muted);flex-shrink:0}.timeline-stats{display:flex;gap:.75rem;flex-wrap:wrap}.timeline-stats span{font-size:.73rem;color:var(--text-secondary);font-family:SF Mono,Consolas,monospace}.timeline-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:.85rem}.bests-card{grid-column:span 1}.bests-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.best-card{background:var(--bg-tertiary);padding:.75rem;border-radius:8px;border:1px solid var(--border-color);transition:border-color var(--duration-quick) ease,transform var(--duration-quick) var(--easing-spring)}.best-card:hover{border-color:var(--primary-color,#4a90d9);transform:translateY(-2px)}.best-algo{font-weight:600;font-size:.8rem;color:var(--text-primary);margin-bottom:.25rem}.best-metric{font-size:1.1rem;font-weight:700;color:#2ecc71;font-family:SF Mono,Consolas,monospace}.best-details{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.best-when{font-size:.65rem;color:var(--text-muted);margin-top:.15rem}.bests-empty{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.85rem}.recommendation-card{grid-column:span 1}.rec-card{background:var(--bg-tertiary);border-radius:8px;padding:1.25rem;border:1px solid var(--border-color)}.rec-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.rec-badge{background:#2ecc7126;color:#2ecc71;padding:.2rem .6rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(46,204,113,.3)}.rec-algo{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.rec-reason{font-size:.82rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.75rem}.rec-alts-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.5rem}.rec-alts{display:flex;flex-direction:column;gap:.4rem}.rec-alt{display:flex;gap:.5rem;align-items:baseline;font-size:.78rem}.rec-alt-name{font-weight:600;color:var(--text-primary);white-space:nowrap}.rec-alt-reason{color:var(--text-muted)}.rec-empty{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.85rem}.pf-analytics-header{text-align:center;margin-bottom:2rem}.pf-analytics-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.pf-analytics-header p{color:var(--text-muted);font-size:.9rem}.pf-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.pf-analytics-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:border-color .2s ease}.pf-analytics-card:hover{border-color:var(--text-muted)}.pf-analytics-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.pf-card-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.pf-card-wide{grid-column:1 / -1}.pf-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.pf-stat-item{background:var(--bg-tertiary);padding:.75rem;border-radius:8px;text-align:center}.pf-stat-value{display:block;font-size:1.15rem;font-weight:600;color:var(--text-primary);font-family:SF Mono,Consolas,monospace}.pf-stat-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.25rem}.pf-chart-wrap{background:radial-gradient(circle at top right,var(--analytics-glow),transparent 40%),linear-gradient(180deg,var(--analytics-surface-soft),var(--analytics-surface-strong));border-radius:8px;padding:.75rem;height:200px;min-height:200px;position:relative;overflow:hidden}.pf-insight-table{width:100%;border-collapse:collapse;font-size:.78rem}.pf-insight-table th{text-align:left;padding:.5rem .6rem;color:var(--text-muted);font-weight:500;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);white-space:nowrap}.pf-insight-table td{padding:.45rem .6rem;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle,rgba(255,255,255,.04));font-family:SF Mono,Consolas,monospace;font-size:.76rem}.pf-insight-table tbody tr:hover{background:var(--bg-tertiary)}.pf-insight-empty{text-align:center;padding:1.5rem 1rem;color:var(--text-muted);font-size:.85rem}.pf-efficiency-bar-wrap{display:flex;align-items:center;gap:.5rem}.pf-efficiency-bar{height:6px;background:#2ecc71;border-radius:3px;min-width:2px;transition:width .3s ease}.pf-efficiency-bar-wrap span{font-size:.72rem;white-space:nowrap}.pf-recommendation{background:var(--bg-tertiary);border-radius:8px;padding:1.25rem}.pf-rec-main strong{color:#2ecc71;font-size:1rem}.pf-rec-main p{color:var(--text-secondary);font-size:.82rem;line-height:1.5;margin-top:.5rem}.pf-rec-alts{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.pf-rec-alts strong{color:var(--text-primary);font-size:.8rem}.pf-rec-alts ul{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.35rem}.pf-rec-alts li{font-size:.78rem;color:var(--text-secondary)}.pf-rec-alts li strong{color:var(--text-primary);font-weight:600}.pf-export-actions{display:flex;gap:1rem}.pf-export-actions .btn{flex:1}@media(max-width:768px){#section-analytics{padding:1rem}.pf-analytics-grid{grid-template-columns:1fr}.pf-stats-grid{grid-template-columns:repeat(2,1fr)}.pf-card-wide{grid-column:span 1}}.toast-actions{display:flex;gap:.5rem;margin-top:.5rem}.toast-action-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:inherit;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .15s ease}.toast-action-btn:hover{background:#fff3}.toast-action-primary{background:var(--primary-color,#4a90d9);border-color:transparent;color:#fff}.toast-action-primary:hover{filter:brightness(1.15)}.toast-count{display:inline-flex;align-items:center;justify-content:center;background:#ffffff26;color:inherit;font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:10px;margin-left:.25rem}.toast-pin{position:absolute;top:.35rem;left:.35rem;font-size:.6rem;opacity:.5}@media(max-width:768px)and (orientation:portrait),(max-width:480px){#section-analytics{padding:.75rem!important;padding-bottom:80px!important}#section-analytics.active-section{overflow-y:auto!important;-webkit-overflow-scrolling:touch}.analytics-header{margin-bottom:1rem}.analytics-header h2{font-size:1.1rem}.analytics-header p{font-size:.75rem}.analytics-grid{grid-template-columns:1fr!important;gap:1rem}.analytics-card{grid-column:1 / -1!important;padding:1rem}.analytics-card h3{font-size:.9rem}.card-description{font-size:.75rem;margin-bottom:.75rem}.complexity-chart,.benchmark-chart,.usage-chart,.trend-chart{height:180px!important;min-height:0!important;aspect-ratio:auto!important;width:100%}.complexity-legend{gap:.5rem;font-size:.65rem}.dom-chart-usage-layout{grid-template-columns:1fr;justify-items:center}.dom-chart-usage-legend{width:100%}.dom-chart-complexity-shell,.dom-chart-trend-shell{grid-template-columns:2.7rem minmax(0,1fr)}.dom-chart-group-label{width:4.5rem;font-size:.66rem}.dom-chart-trend-header{gap:.3rem}.dom-chart-trend-legend-item{padding:.24rem .45rem}.session-stats{grid-template-columns:1fr 1fr;gap:.5rem}.stat-item{padding:.75rem .5rem}.stat-value{font-size:1rem}.stat-label{font-size:.6rem}.export-options{flex-direction:column;gap:.5rem}.analytics-timeline-wrap{max-height:250px}.timeline-header{flex-direction:column;align-items:flex-start;gap:.15rem}.timeline-stats{gap:.5rem}.bests-grid{grid-template-columns:1fr!important}.algo-selector{flex-direction:column;align-items:stretch;gap:.5rem}.algo-info-content .info-row{flex-direction:column;gap:.15rem;padding:.4rem 0}.upload-area{padding:1rem!important}.insights-container{gap:1rem!important}#insights-advanced-settings summary{font-size:.8rem!important}}#section-custom{display:none;padding:0 2rem 2rem;width:100%;margin:0 auto;flex:1;overflow:auto;min-height:0;--custom-primary-width:minmax(360px,1fr);--custom-resizer-width:12px;--custom-console-height:140px;--custom-row-top-height:1fr;--custom-row-resizer-height:12px}#section-custom.active-section{display:flex;flex-direction:column;flex:1;overflow:auto}.custom-bottom-resizer{width:100%;height:12px;flex-shrink:0;border-radius:12px;background:var(--border-color);cursor:row-resize;position:relative;transition:background var(--duration-quick) ease,transform var(--duration-quick) var(--easing-spring);margin-top:.5rem}.custom-bottom-resizer:hover{transform:scaleY(1.5)}.custom-bottom-resizer:active{transform:scaleY(1.2)}.custom-bottom-resizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:2px;background:var(--text-muted);border-radius:2px;opacity:.5;transition:opacity .2s ease,background .2s ease}.custom-bottom-resizer:hover,.custom-bottom-resizer:focus-visible{background:var(--bar-compare)}.custom-bottom-resizer:hover:after,.custom-bottom-resizer:focus-visible:after{background:var(--bg-primary);opacity:1}.custom-header{margin-bottom:1rem;flex-shrink:0}.custom-workspace{display:grid;grid-template-columns:var(--custom-primary-width,minmax(360px,1fr)) var(--custom-resizer-width,12px) 1fr;grid-template-rows:var(--custom-row-top-height,1fr) var(--custom-row-resizer-height,12px) minmax(200px,1fr);grid-template-areas:"primary resizer secondary" "primary resizer row-resizer" "primary resizer tertiary";column-gap:1.25rem;row-gap:1rem;flex:1;height:var(--custom-workspace-height,auto);min-height:0;position:relative;overflow:auto}@media(max-width:900px){.custom-workspace{grid-template-columns:1fr;grid-template-rows:clamp(320px,var(--custom-mobile-primary-height,420px),75vh) auto clamp(260px,var(--custom-mobile-secondary-height,320px),75vh) auto clamp(220px,var(--custom-mobile-tertiary-height,260px),75vh);grid-template-areas:"primary" "resizer" "secondary" "row-resizer" "tertiary";column-gap:0;row-gap:.5rem;align-content:start}.custom-workspace [data-slot=primary]{min-height:320px}.custom-workspace [data-slot=secondary]{min-height:260px}.custom-workspace [data-slot=tertiary]{min-height:220px}.visualizer-pane,.editor-pane,.console-pane{min-height:0}.editor-wrapper{min-height:180px}.custom-console-body{min-height:140px}.custom-pane-resizer{width:100%;height:8px;cursor:row-resize;border-radius:12px}.custom-pane-resizer:after{width:28px;height:2px}.custom-row-resizer{width:100%;height:8px}}[data-slot=primary]{grid-area:primary}[data-slot=secondary]{grid-area:secondary}[data-slot=tertiary]{grid-area:tertiary}.custom-row-resizer{grid-area:row-resizer;height:var(--custom-row-resizer-height,12px);border-radius:12px;background:var(--border-color);cursor:row-resize;position:relative;align-self:stretch;transition:background var(--duration-quick) ease,transform var(--duration-quick) var(--easing-spring)}.custom-row-resizer:hover{transform:scaleY(1.5)}.custom-row-resizer:active{transform:scaleY(1.2)}.custom-row-resizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:2px;background:var(--text-muted);border-radius:2px;opacity:.5;transition:opacity .2s ease,background .2s ease}.custom-row-resizer:hover,.custom-row-resizer:focus-visible{background:var(--bar-compare)}.custom-row-resizer:hover:after,.custom-row-resizer:focus-visible:after{background:var(--bg-primary);opacity:1}.custom-pane-resizer{grid-area:resizer;width:var(--custom-resizer-width,12px);border-radius:999px;background:var(--border-color);cursor:col-resize;position:relative;align-self:stretch;transition:background var(--duration-quick) ease,transform var(--duration-quick) var(--easing-spring)}.custom-pane-resizer:hover{transform:scaleX(1.5)}.custom-pane-resizer:active{transform:scaleX(1.2)}.custom-pane-resizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:28px;background:var(--text-muted);border-radius:2px;opacity:.5;transition:opacity .2s ease,background .2s ease}.custom-pane-resizer:hover,.custom-pane-resizer:focus-visible{background:var(--bar-compare)}.custom-pane-resizer:hover:after,.custom-pane-resizer:focus-visible:after{background:var(--bg-primary);opacity:1}.custom-panel{position:relative}.custom-panel-handle{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:.15rem .4rem;margin-right:.5rem;border-radius:6px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;font-weight:700;letter-spacing:.08em}.custom-panel-handle:active{cursor:grabbing;background:var(--bg-tertiary);transform:scale(.95);transition:transform var(--duration-instant) ease}.custom-panel.custom-dragging{opacity:.6}.custom-drop-target{outline:2px dashed var(--bar-compare);outline-offset:4px}.editor-pane{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);overflow:auto;box-shadow:var(--shadow-sm)}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.editor-title{font-size:.85rem;font-weight:600;color:var(--text-muted)}.editor-actions{display:flex;gap:.5rem}.editor-wrapper{flex:1;position:relative;background:#0d1117;overflow:hidden}.code-highlight-pre{position:absolute;inset:0;margin:0;padding:1rem;border:none;background:transparent;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;tab-size:4;-moz-tab-size:4;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;overflow:auto;color:#e6edf3;pointer-events:none;box-sizing:border-box;z-index:0}.code-highlight-pre code{font-family:inherit;font-size:inherit;line-height:inherit;tab-size:inherit;-moz-tab-size:inherit;white-space:inherit;word-wrap:inherit;display:block}.code-highlight-pre .hl-kw{color:#ff7b72}.code-highlight-pre .hl-bi{color:#ffa657}.code-highlight-pre .hl-fn{color:#d2a8ff}.code-highlight-pre .hl-st{color:#a5d6ff}.code-highlight-pre .hl-nu{color:#79c0ff}.code-highlight-pre .hl-cm{color:#8b949e;font-style:italic}.code-highlight-pre .hl-op{color:#ff7b72}.code-highlight-pre .hl-ty{color:#ffa657}.code-highlight-pre .hl-api{color:#7ee787;font-weight:600}.code-highlight-pre [data-ln]{display:block;border-left:3px solid transparent;padding-left:6px;margin-left:-9px;transition:background var(--duration-micro) ease,border-left-color var(--duration-micro) ease}.code-highlight-pre .hl-exec-line{border-radius:2px}.code-highlight-pre .hl-exec-cmp{background:#ffd54f1f;border-left-color:#ffd54f}.code-highlight-pre .hl-exec-swap{background:#ff6b6b24;border-left-color:#ff6b6b}.code-highlight-pre .hl-exec-set{background:#00e5ff1a;border-left-color:#00e5ff}#custom-code-editor,#pf-custom-code-editor{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:1rem;border:none;resize:none;background:transparent;color:#e6edf3;caret-color:#e6edf3;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;tab-size:4;-moz-tab-size:4;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;overflow:auto;outline:none;box-sizing:border-box;z-index:1}.editor-wrapper.hl-active #custom-code-editor,.editor-wrapper.hl-active #pf-custom-code-editor{color:transparent}.editor-help{padding:.5rem 1rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.75rem}.editor-help code{background:#ffffff1a;padding:.1rem .3rem;border-radius:3px;color:var(--text-primary)}.visualizer-pane{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:1.5rem;gap:1rem;box-shadow:var(--shadow-sm);min-height:0;overflow:auto}.console-pane{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:1rem 1.25rem;gap:.5rem;box-shadow:var(--shadow-sm);min-height:0;align-self:stretch;overflow:auto}.custom-console{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.custom-controls{display:flex;gap:1.5rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.custom-stats{display:flex;gap:1.5rem;margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.custom-stats b{color:var(--text-primary)}.custom-vis-box{flex:1;min-height:200px;background:var(--bg-main);border-radius:8px;border:1px solid var(--border-color);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:0 10px}.custom-console-resizer{height:12px;cursor:row-resize;border-radius:999px;background:var(--border-color);transition:background var(--duration-micro) ease,transform var(--duration-base) var(--easing-spring);position:relative}.custom-console-resizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:2px;background:var(--text-muted);border-radius:2px;opacity:.5;transition:opacity var(--duration-base) ease,background var(--duration-micro) ease}.custom-console-resizer:hover,.custom-console-resizer:focus-visible{background:var(--bar-compare)}.custom-console-resizer:hover:after,.custom-console-resizer:focus-visible:after{background:var(--bg-primary);opacity:1}#custom-scrubber-wrap,#pf-custom-scrubber-wrap{position:absolute;bottom:1rem;left:1rem;right:1rem;width:auto;margin:0;z-index:40}.custom-console{margin-top:.5rem;background:#0d1117;border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.custom-console-header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.console-header-actions{display:flex;gap:.5rem;align-items:center}.btn.small.static{padding:.2rem .5rem;font-size:.75rem;background:transparent;border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;border-radius:4px}.btn.small.static:hover{background:#ffffff1a;color:var(--text-primary)}.custom-console-body{background:#0d1117;flex:1 1 auto;min-height:80px;overflow-y:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;transition:height var(--duration-base) var(--easing-spring)}.custom-console-body.collapsed{height:0;border-bottom:none;overflow:hidden}.console-output{list-style:none;padding:0;margin:0}.console-msg{padding:.2rem .75rem;border-bottom:1px solid rgba(255,255,255,.05);word-break:break-word;white-space:pre-wrap;color:#e6edf3}.console-error{color:#e74c3c;background:#e74c3c1a}.console-warn{color:#f1c40f;background:#f1c40f1a}.console-log{color:#e6edf3}@media(max-width:900px){#section-custom{padding:.4rem!important;overflow:auto!important}#section-custom.active-section{overflow-y:auto!important;-webkit-overflow-scrolling:touch}.custom-header{margin-bottom:.35rem}.custom-header h2{font-size:.95rem!important;margin-bottom:.1rem!important}.custom-header p{font-size:.7rem;margin-bottom:0}.custom-mode-toggle{margin-top:.5rem!important;gap:.35rem!important}.custom-mode-toggle .btn{font-size:.75rem;padding:.35rem .75rem}.custom-workspace{display:flex!important;flex-direction:column!important;gap:.5rem!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;flex:1 1 auto!important}.custom-workspace [data-slot=primary]{order:1}.custom-workspace [data-slot=secondary]{order:2}.custom-workspace [data-slot=tertiary]{order:3}.custom-panel-handle,.custom-pane-resizer,.custom-row-resizer,.custom-bottom-resizer{display:none!important}.visualizer-pane{padding:.6rem!important;gap:.5rem!important;border-radius:10px}.custom-vis-box{min-height:140px;height:180px;border-radius:6px;padding:0 6px}#custom-scrubber-wrap{left:.4rem;right:.4rem;bottom:.4rem;z-index:60}.custom-controls{display:grid!important;grid-template-columns:1fr 1fr;gap:.4rem .6rem;padding:0!important;padding-bottom:.5rem!important;border-bottom:1px solid var(--border-color);flex-wrap:nowrap}.custom-controls .control-group{grid-column:span 1;width:100%}.custom-controls .control-group label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.custom-controls .control-group:nth-child(3){grid-column:1 / -1}.custom-controls .control-group select{font-size:.8rem;padding:.3rem .4rem}.custom-controls>.btn{min-height:34px;font-size:.78rem;padding:.3rem .5rem;border-radius:8px}.custom-controls>.btn#btn-custom-generate{grid-column:1 / -1}.custom-stats{grid-column:1 / -1;margin-left:0;gap:.6rem;font-size:.72rem;justify-content:center;flex-wrap:wrap;text-align:center}.editor-pane{min-height:0;max-height:none;overflow:visible;border-radius:10px}.editor-toolbar{display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.3rem;padding:.4rem .5rem!important;align-items:center}.editor-title{grid-column:1;grid-row:1;font-size:.8rem}.editor-actions{grid-column:1 / -1;grid-row:2;display:flex!important;flex-wrap:nowrap!important;gap:.3rem!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.editor-actions::-webkit-scrollbar{display:none}.editor-actions select{font-size:.75rem;padding:.25rem .35rem;min-width:0;flex-shrink:0}.editor-actions .btn{font-size:.7rem;padding:.22rem .45rem;white-space:nowrap;flex-shrink:0}.editor-wrapper{min-height:180px;height:220px}#custom-code-editor,#pf-custom-code-editor,.code-highlight-pre{font-size:12px!important;padding:.6rem!important}.editor-help{padding:.3rem .5rem;font-size:.65rem;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.editor-help::-webkit-scrollbar{display:none}.editor-help code{font-size:.65rem;padding:.05rem .2rem}.console-pane{padding:.5rem!important;gap:.3rem;border-radius:10px;flex:1;display:flex;flex-direction:column}.custom-console-header{padding:.3rem .5rem;font-size:.78rem}.custom-console-body{min-height:140px;flex:1;height:auto!important;font-size:.78rem}.custom-console-body.collapsed{height:0!important}#blockly-tab,#blockly-builder{min-height:250px}}.profile-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .85rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-family:inherit;font-size:.8rem;cursor:pointer;transition:border-color var(--duration-quick) ease,color var(--duration-quick) ease,background var(--duration-quick) ease,transform var(--duration-quick) ease;text-transform:uppercase;letter-spacing:.06em}.profile-btn:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-secondary);transform:translateY(-1px)}.profile-btn:active{transform:translateY(0) scale(.97);transition-duration:var(--duration-instant)}.profile-btn-icon{font-size:1rem;line-height:1}.profile-modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:profileFadeIn var(--duration-entrance) var(--easing-spring)}.guest-storage-warning-overlay{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:2rem}.guest-storage-warning-backdrop{position:absolute;inset:0;background:#000000b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.guest-storage-warning-card{position:relative;width:min(760px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:color-mix(in srgb,var(--bg-secondary) 92%,black 8%);border:1px solid var(--border-color);border-radius:18px;box-shadow:0 30px 90px #00000073}.guest-storage-warning-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.guest-storage-warning-header h2{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.05;letter-spacing:-.03em}.guest-storage-warning-close{border:none;background:var(--bg-tertiary);color:var(--text-muted);width:2.25rem;height:2.25rem;border-radius:999px;font-size:1.15rem;cursor:pointer}.guest-storage-warning-body{padding:1.4rem 1.5rem;display:grid;gap:1rem;color:var(--text-secondary)}.guest-storage-warning-body p{margin:0;line-height:1.6}.guest-storage-warning-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:14px;padding:1rem 1rem 1rem 1.1rem}.guest-storage-warning-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.guest-storage-warning-list{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}.guest-storage-warning-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.5rem;flex-wrap:wrap}.guest-storage-warning-link,.guest-storage-warning-dismiss{text-decoration:none;min-height:44px;padding:.75rem 1rem;border-radius:10px;font:inherit;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--border-color)}.guest-storage-warning-link.secondary,.guest-storage-warning-dismiss{background:var(--bg-tertiary);color:var(--text-secondary)}.guest-storage-warning-link.primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}body.guest-storage-warning-open{overflow:hidden}@keyframes profileFadeIn{0%{opacity:0}to{opacity:1}}.profile-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:min(680px,92vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:profileSlideUp var(--duration-entrance) var(--easing-spring)}@keyframes profileSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.profile-modal-header{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.profile-modal-header h2{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.profile-modal-close{background:none;border:none;color:var(--text-muted);font-size:1.15rem;cursor:pointer;padding:.35rem;border-radius:4px;transition:color var(--duration-micro) ease,background var(--duration-micro) ease,transform var(--duration-micro) var(--easing-spring);line-height:1}.profile-modal-close:hover{color:var(--text-primary);background:var(--bg-tertiary);transform:scale(1.1)}.profile-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.75rem}.profile-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.theme-badge{display:inline-block;font-size:.6rem;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:.15rem .5rem;border-radius:10px;text-transform:uppercase;letter-spacing:.05em}.profile-selector-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.profile-select{flex:1;min-width:140px}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.preset-swatch{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.6rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color var(--duration-quick) ease,transform var(--duration-quick) ease,box-shadow var(--duration-quick) ease;font-family:inherit;color:var(--text-secondary)}.preset-swatch:hover{border-color:var(--text-muted);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.preset-swatch:active{transform:translateY(0) scale(.97);transition-duration:var(--duration-instant)}.preset-colors{display:flex;gap:3px;width:100%}.preset-colors span{flex:1;height:20px;border-radius:3px}.preset-name{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem}.color-picker-item{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;min-height:56px;padding:.55rem .65rem;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 68%,transparent),transparent 48%),var(--bg-tertiary);border:1px solid var(--border-color);border-radius:14px;box-shadow:inset 0 1px #ffffff09,0 10px 24px #0000001f;transition:border-color var(--duration-base) ease,transform var(--duration-base) var(--easing-spring),box-shadow var(--duration-base) var(--easing-spring),background var(--duration-base) ease}.color-picker-item:hover{border-color:color-mix(in srgb,var(--accent) 18%,var(--border-color));transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0d,0 14px 32px #00000029}.color-picker-item:focus-within{border-color:color-mix(in srgb,var(--accent) 38%,var(--border-color));box-shadow:inset 0 1px #ffffff0d,0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent),0 16px 34px #0000002e}.color-picker-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;appearance:none;border:none;background:none;padding:0;margin:0;cursor:pointer}.color-picker-trigger:focus-visible{outline:none}.color-picker-trigger:focus-visible .color-picker-swatch-wrap,.color-picker-item:focus-within .color-picker-trigger .color-picker-swatch-wrap{box-shadow:inset 0 1px #ffffff14,0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent),0 8px 18px #00000029}.color-picker-swatch{display:block;box-sizing:border-box;width:100%;height:100%;border-radius:10px;background:var(--picker-color,#888888);box-shadow:inset 0 0 0 1px color-mix(in srgb,white 22%,rgba(0,0,0,.28))}.color-picker-trigger .color-picker-swatch{transition:transform var(--duration-base) var(--easing-spring),box-shadow var(--duration-base) var(--easing-spring)}.color-picker-trigger:hover .color-picker-swatch{transform:scale(1.03)}.color-picker-trigger[aria-expanded=true] .color-picker-swatch-wrap{border-color:color-mix(in srgb,var(--accent) 30%,var(--border-color));box-shadow:inset 0 1px #ffffff14,0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 10px 22px #0000002e}.color-picker-swatch-wrap{display:block;flex:0 0 42px;box-sizing:border-box;overflow:hidden;position:relative;width:42px;height:42px;padding:3px;border-radius:13px;background:color-mix(in srgb,var(--bg-primary) 72%,var(--bg-secondary) 28%);border:1px solid color-mix(in srgb,var(--border-color) 82%,white 18%);box-shadow:inset 0 1px #ffffff0f,0 8px 18px #00000024}.color-hex-field{position:relative;display:inline-flex;align-items:center}.color-hex-input{width:92px;height:34px;padding:.3rem .65rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);background:color-mix(in srgb,var(--bg-primary) 90%,transparent);color:var(--text-primary);caret-color:var(--text-primary);font-family:SF Mono,Consolas,monospace;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;text-align:center;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--picker-color,#888888) 22%,transparent);transition:border-color var(--duration-base) ease,box-shadow var(--duration-base) var(--easing-spring),background var(--duration-base) ease,color var(--duration-base) ease}.color-hex-input:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color))}.color-hex-input::selection{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--text-primary)}.color-label{flex:1;min-width:0;font-size:.78rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.color-hex{font-family:SF Mono,Consolas,monospace;font-size:.68rem;color:var(--text-muted);background:color-mix(in srgb,var(--bg-primary) 80%,transparent);padding:.26rem .42rem;border:1px solid color-mix(in srgb,var(--border-color) 80%,transparent);border-radius:999px;letter-spacing:.03em;text-transform:uppercase}[data-theme=light] .color-picker-item{box-shadow:inset 0 1px #ffffffbf,0 10px 22px #15203314}[data-theme=light] .color-picker-item:hover{box-shadow:inset 0 1px #ffffffd9,0 14px 28px #1520331a}[data-theme=light] .color-picker-swatch{box-shadow:inset 0 0 0 1px #ffffff6b}[data-theme=light] .color-picker-swatch-wrap{background:color-mix(in srgb,white 84%,var(--bg-primary) 16%);box-shadow:inset 0 1px #ffffffe0,0 6px 14px #15203314}[data-theme=light] .color-hex-input{background:color-mix(in srgb,white 92%,var(--bg-primary))}.profile-color-popover{position:fixed;z-index:11050;width:320px}.profile-color-popover[hidden]{display:none}.profile-color-popover-card{display:grid;gap:.8rem;padding:.85rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--border-color) 88%,white 12%);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 88%,transparent),transparent 58%),color-mix(in srgb,var(--bg-tertiary) 94%,black 6%);box-shadow:0 24px 60px #00000059,inset 0 1px #ffffff0f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.profile-color-spectrum{position:relative;height:172px;border-radius:14px;cursor:crosshair;border:1px solid color-mix(in srgb,var(--border-color) 80%,white 20%);background:linear-gradient(to top,black,transparent),linear-gradient(to right,white,var(--picker-hue,#ff0000));box-shadow:inset 0 1px #ffffff14,0 10px 24px #0000002e}.profile-color-spectrum-thumb{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 2px #0006;transform:translate(-50%,-50%);pointer-events:none}.profile-color-controls{display:grid;gap:.75rem}.profile-color-preview-block{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem}.profile-color-preview{display:block;box-sizing:border-box;width:42px;height:42px;border-radius:14px;background:var(--picker-preview,#ffffff);border:1px solid color-mix(in srgb,var(--border-color) 78%,white 22%);box-shadow:inset 0 0 0 1px color-mix(in srgb,white 20%,rgba(0,0,0,.3)),0 8px 18px #00000024}.profile-color-inline-field{display:grid;gap:.32rem;min-width:0}.profile-color-inline-field span{color:var(--text-secondary);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.profile-color-inline-input{width:100%;height:38px;border-radius:12px;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);background:color-mix(in srgb,var(--bg-primary) 88%,transparent);color:var(--text-primary);padding:.35rem .7rem;font-family:SF Mono,Consolas,monospace;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.profile-color-inline-input:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.profile-color-eyedropper{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:12px;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);background:color-mix(in srgb,var(--bg-primary) 90%,transparent);color:var(--text-secondary);cursor:pointer;transition:border-color var(--duration-quick) ease,box-shadow var(--duration-quick) var(--easing-spring),color var(--duration-quick) ease,transform var(--duration-quick) var(--easing-spring)}.profile-color-eyedropper:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 22%,var(--border-color));transform:translateY(-1px)}.profile-color-eyedropper:focus-visible{outline:none;color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.profile-color-eyedropper[hidden]{display:none}.profile-color-eyedropper svg{width:18px;height:18px}.profile-color-hue-wrap{display:grid;gap:.4rem;color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.profile-color-hue{-webkit-appearance:none;appearance:none;width:100%;height:12px;border-radius:999px;outline:none;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);background:linear-gradient(90deg,red,#ff0 16%,#0f0,#0ff 50%,#00f 66%,#f0f,red);box-shadow:inset 0 1px 2px #00000047}.profile-color-hue::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--picker-current,white);border:2px solid rgba(0,0,0,.28);box-shadow:0 2px 6px #00000038;cursor:ew-resize}.profile-color-hue::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--picker-current,white);border:2px solid rgba(0,0,0,.28);box-shadow:0 2px 6px #00000038;cursor:ew-resize}[data-theme=light] .profile-color-popover-card{background:linear-gradient(180deg,color-mix(in srgb,white 72%,transparent),transparent 58%),color-mix(in srgb,var(--bg-secondary) 96%,white 4%);box-shadow:0 24px 54px #10182829,inset 0 1px #ffffffb8}.viz-defaults-grid{display:flex;flex-direction:column;gap:.65rem}.viz-defaults-grid label{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.viz-defaults-grid label span:first-child{min-width:120px;flex-shrink:0}.viz-defaults-grid input[type=range]{flex:1;max-width:200px}.viz-defaults-grid label.toggle-label{cursor:pointer;transition:color var(--duration-micro) ease}.viz-defaults-grid label.toggle-label:hover{color:var(--text-primary)}.viz-defaults-grid label.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--bar-sorted);cursor:pointer}.algo-toggle-actions{display:flex;gap:.4rem;margin-bottom:.75rem;flex-wrap:wrap}.algo-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.35rem}.algo-toggle{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:4px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:transform var(--duration-quick) var(--easing-spring),color var(--duration-quick) ease}.algo-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.algo-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--bar-sorted);cursor:pointer;flex-shrink:0}.algo-toggle[data-category=simple] span:before{content:"○ ";color:var(--bar-default);font-size:.6em}.algo-toggle[data-category=efficient] span:before{content:"◆ ";color:var(--bar-sorted);font-size:.6em}.algo-toggle[data-category=linear] span:before{content:"▲ ";color:var(--bar-compare);font-size:.6em}.algo-toggle[data-category=novelty] span:before{content:"★ ";color:var(--bar-swap);font-size:.6em}.profile-section-footer{padding-top:.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.profile-modal-tabs{display:flex;flex:0 0 auto;border-bottom:1px solid var(--border-color);overflow-x:auto;padding:0 .75rem;background:var(--bg-secondary);scrollbar-width:none;-ms-overflow-style:none}.profile-modal-tabs::-webkit-scrollbar{display:none}.pmodal-tab{padding:.6rem .85rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:inherit;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color var(--duration-base) ease,transform var(--duration-base) var(--easing-spring),box-shadow var(--duration-base) var(--easing-spring);text-transform:uppercase;letter-spacing:.04em}.pmodal-tab:hover{color:var(--text-secondary)}.pmodal-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.profile-modal-footer{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:0 0 12px 12px}.profile-modal-footer-left,.profile-modal-footer-right{display:flex;gap:.5rem;align-items:center}.profile-modal .btn.primary{background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);padding:.45rem 1.25rem;border-radius:6px;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background var(--duration-base) ease,transform var(--duration-base) var(--easing-spring);letter-spacing:.02em}.profile-modal .btn.primary:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 4px 12px #ffffff1a}.profile-modal .btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);padding:.45rem 1rem;border-radius:6px;font-family:inherit;font-size:.8rem;cursor:pointer;transition:border-color var(--duration-base) ease,box-shadow var(--duration-base) var(--easing-spring)}.profile-modal .btn.secondary:hover{border-color:var(--text-muted);color:var(--text-primary)}.profile-modal .btn.small{padding:.3rem .65rem;font-size:.72rem}.profile-modal .btn.stop{background:transparent;color:#e74c3c;border:1px solid #e74c3c55;padding:.3rem .65rem;border-radius:6px;font-family:inherit;font-size:.72rem;cursor:pointer;transition:opacity var(--duration-base) ease,transform var(--duration-base) var(--easing-spring)}.profile-modal .btn.stop:hover{background:#e74c3c1a;border-color:#e74c3c}.settings-grid{display:flex;flex-direction:column;gap:.5rem}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem .6rem;border-radius:6px;transition:background var(--duration-micro) ease}.setting-row:hover{background:var(--bg-tertiary)}.setting-label{font-size:.8rem;color:var(--text-secondary);flex-shrink:0}.setting-input{min-width:140px;max-width:200px;padding:.35rem .5rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.8rem;cursor:pointer}.setting-range{display:flex;align-items:center;gap:.6rem;flex:1;justify-content:flex-end;max-width:260px}.setting-range input[type=range]{flex:1;max-width:160px}.setting-range-val{font-family:SF Mono,Consolas,monospace;font-size:.72rem;color:var(--text-muted);min-width:45px;text-align:right}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;transition:transform var(--duration-base) var(--easing-spring),box-shadow var(--duration-base) var(--easing-spring)}.toggle-slider:before{content:"";position:absolute;height:14px;width:14px;left:2px;bottom:2px;background:var(--text-muted);border-radius:50%;transition:transform var(--duration-base) var(--easing-spring),box-shadow var(--duration-base) var(--easing-spring)}.toggle-switch input:checked+.toggle-slider{background:var(--bar-sorted);border-color:var(--bar-sorted)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px);background:#fff}.profile-hint{font-size:.72rem;color:var(--text-muted);margin-bottom:.5rem;font-style:italic}.algo-category{margin-bottom:.65rem}.algo-category-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem;padding-bottom:.2rem;border-bottom:1px solid var(--border-color)}.profile-info-grid{display:flex;flex-direction:column;gap:.35rem}.profile-info-row{display:flex;align-items:center;justify-content:space-between;padding:.35rem .6rem;font-size:.8rem;color:var(--text-secondary);border-radius:4px}.profile-info-row:nth-child(odd){background:var(--bg-tertiary)}.profile-info-row code{font-family:SF Mono,Consolas,monospace;font-size:.7rem;padding:.1rem .35rem;background:var(--bg-primary);border-radius:3px;color:var(--text-muted)}@media(max-width:600px){.profile-modal{width:100%;max-height:100vh;border-radius:0}.guest-storage-warning-overlay{padding:0}.guest-storage-warning-card{width:100vw;max-height:100vh;border-radius:0}.guest-storage-warning-actions{justify-content:stretch}.guest-storage-warning-link,.guest-storage-warning-dismiss{width:100%;text-align:center}.color-grid,.preset-grid{grid-template-columns:1fr 1fr}.algo-toggle-grid{grid-template-columns:1fr}.profile-modal-footer{flex-direction:column;gap:.5rem;border-radius:0}.setting-row{flex-direction:column;align-items:flex-start;gap:.4rem}.setting-range{width:100%;max-width:100%}}.profile-color-rgb-grid{display:grid;gap:.55rem}.profile-color-channel-row{display:grid;grid-template-columns:20px minmax(0,1fr) 54px;align-items:center;gap:.55rem;min-width:0}.profile-color-channel-row>span{color:var(--text-secondary);font-size:.76rem;font-weight:700;letter-spacing:.06em}.profile-color-channel-slider{-webkit-appearance:none;appearance:none;display:block;justify-self:stretch;min-width:0;max-width:none;inline-size:100%;width:100%;height:10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--channel-color,#ffffff) 0%,black 100%),var(--channel-color,#ffffff));box-shadow:inset 0 1px 2px #00000047}.profile-color-popover .profile-color-channel-slider{width:100%!important;max-width:none!important;min-width:0!important}.profile-color-channel-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.25);box-shadow:0 2px 6px #0003;cursor:ew-resize}.profile-color-channel-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.25);box-shadow:0 2px 6px #0003;cursor:ew-resize}.profile-color-popover .profile-color-channel-value{box-sizing:border-box;justify-self:end;flex:0 0 54px;inline-size:54px;min-inline-size:54px;max-inline-size:54px;min-width:54px;max-width:54px;width:54px;height:32px;padding:0 .25rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);background:color-mix(in srgb,var(--bg-primary) 88%,transparent);color:var(--text-primary);text-align:center;font-family:SF Mono,Consolas,monospace;font-size:.72rem;appearance:textfield}.profile-color-popover .profile-color-channel-value::-webkit-outer-spin-button,.profile-color-popover .profile-color-channel-value::-webkit-inner-spin-button{margin:0}.profile-color-popover .profile-color-channel-value:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 35%,var(--border-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}body[data-domain=pathfinding] main{padding:0 1rem 2rem}body[data-domain=pathfinding] .advanced-content[data-open=true]{display:flex}body[data-domain=pathfinding] .advanced-toggle[aria-expanded=true] .toggle-icon{transform:rotate(180deg)}body[data-domain=pathfinding] .grid-legend{display:flex;gap:1rem;justify-content:center;padding:.5rem 0;flex-wrap:wrap}body[data-domain=pathfinding] .legend-item{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-secondary)}body[data-domain=pathfinding] .legend-swatch{width:16px;height:16px;border-radius:3px;border:1px solid var(--border-color)}body[data-domain=pathfinding] .legend-start{background:var(--pf-start,#2ecc71)}body[data-domain=pathfinding] .legend-end{background:var(--pf-end,#e74c3c)}body[data-domain=pathfinding] .legend-wall{background:var(--pf-wall,#1a1a2e)}body[data-domain=pathfinding][data-theme=light] .legend-wall,[data-theme=light] body[data-domain=pathfinding] .legend-wall{background:var(--pf-wall,#2c3e50)}body[data-domain=pathfinding] .legend-weight{background:var(--pf-weight,#9b59b6)}body[data-domain=pathfinding] .legend-visited{background:var(--pf-visited,rgba(74,144,217,.5))}body[data-domain=pathfinding] .legend-weight-visited{background:var(--pf-weight,#9b59b6);position:relative;display:flex;align-items:center;justify-content:center}body[data-domain=pathfinding] .legend-weight-visited:after{content:"";width:7px;height:7px;background:#ffffff8c;transform:rotate(45deg);position:absolute}body[data-domain=pathfinding] .legend-path{background:var(--pf-path,#f5c842)}body[data-domain=pathfinding] .grid-container{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:8px;overflow:auto;background:var(--bg-secondary);-webkit-user-select:none;user-select:none;min-height:400px;height:calc(100vh - 340px);box-sizing:border-box}body[data-domain=pathfinding] .grid-container canvas,body[data-domain=pathfinding] .step-grid-wrap canvas{display:block;cursor:pointer;border-radius:2px}body[data-domain=pathfinding] .step-split-container{display:flex;flex:1;gap:0;min-height:0}body[data-domain=pathfinding] .step-vis-pane{flex:2;display:flex;flex-direction:column;min-width:0}body[data-domain=pathfinding] .step-grid-wrap{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:8px;overflow:auto;background:var(--bg-secondary);-webkit-user-select:none;user-select:none;min-height:300px;height:calc(100vh - 400px);box-sizing:border-box}body[data-domain=pathfinding] .compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;flex:1;width:100%}body[data-domain=pathfinding] .compare-panel{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-secondary);height:auto;padding:0}body[data-domain=pathfinding] .compare-panel:hover{transform:none;box-shadow:none}body[data-domain=pathfinding] .compare-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0}body[data-domain=pathfinding] .compare-panel-header select{font-family:Outfit,sans-serif}body[data-domain=pathfinding] .compare-panel-stats{font-size:.75rem;color:var(--text-muted)}body[data-domain=pathfinding] .compare-panel-stats span{color:var(--text-primary);font-weight:600}body[data-domain=pathfinding] .compare-panel-grid{display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-height:260px;-webkit-user-select:none;user-select:none;overflow:hidden;padding:.5rem;background:var(--bg-primary)}body[data-domain=pathfinding] .compare-panel-grid canvas{display:block;max-width:100%;max-height:100%}@media(max-width:768px){body[data-domain=pathfinding] .grid-container{min-height:320px;height:calc(100vh - 280px)}body[data-domain=pathfinding] .step-grid-wrap{min-height:240px;height:calc(100vh - 330px)}body[data-domain=pathfinding] .compare-grid{grid-template-columns:1fr}}.grid-editor-fullscreen{position:fixed;inset:0;z-index:1100;display:flex;align-items:stretch;justify-content:stretch;pointer-events:none;opacity:0;transition:opacity .22s cubic-bezier(.4,0,.2,1)}.grid-editor-fullscreen.open{opacity:1;pointer-events:auto}.grid-editor-backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.grid-editor-panel{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.grid-editor-toolbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;background:#0d1117eb;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap;flex-shrink:0;z-index:2}.grid-editor-toolbar-left{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.grid-editor-close-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff0f;color:var(--text-primary);border-radius:8px;cursor:pointer;transition:background var(--duration-micro) ease,color var(--duration-micro) ease,transform var(--duration-base) var(--easing-spring);flex-shrink:0}.grid-editor-close-btn:hover{background:#ffffff24;transform:rotate(90deg)}.grid-editor-title{font-weight:600;font-size:1rem;color:var(--text-primary);white-space:nowrap;letter-spacing:-.01em}.grid-editor-brush-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.grid-editor-brush-pills{display:flex;gap:2px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:3px}.grid-editor-pill{display:flex;align-items:center;gap:5px;padding:.3rem .7rem;border:none;background:transparent;color:var(--text-secondary);font-family:Outfit,sans-serif;font-size:.8rem;font-weight:500;border-radius:6px;cursor:pointer;transition:background var(--duration-micro) ease,color var(--duration-micro) ease,transform var(--duration-micro) var(--easing-spring);white-space:nowrap}.grid-editor-pill:hover{background:#ffffff14;color:var(--text-primary);transform:translateY(-1px)}.grid-editor-pill:active{transform:translateY(0) scale(.97);transition-duration:var(--duration-instant)}.grid-editor-pill.active{background:#ffffff1f;color:var(--text-primary);box-shadow:0 0 0 1px var(--accent)}.grid-editor-pill-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.15);flex-shrink:0}.grid-editor-weight-controls{display:flex;align-items:center;gap:.75rem}.grid-editor-label{display:flex;align-items:center;gap:.35rem;color:var(--text-secondary);font-size:.78rem;white-space:nowrap;font-weight:500}.grid-editor-number-input{width:3.8rem;padding:.25rem .4rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);font-family:Outfit,sans-serif;font-size:.82rem;text-align:center;outline:none;transition:border-color .15s ease}.grid-editor-number-input:focus{border-color:var(--accent)}.grid-editor-checkbox{accent-color:var(--accent);cursor:pointer}.grid-editor-toggle-label{cursor:pointer}.grid-editor-maze-group{display:flex;align-items:center;gap:.5rem;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.08)}.grid-editor-select{font-family:Outfit,sans-serif}.grid-editor-toolbar-right{display:flex;align-items:center;gap:1rem;margin-left:auto}.grid-editor-hint{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.grid-editor-actions{display:flex;gap:.5rem}.grid-editor-canvas-area{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:auto;min-height:0;background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,.02) 1px,transparent 0);background-size:28px 28px}.grid-editor-canvas-area canvas{background:var(--bg-primary);box-shadow:0 0 0 1px #ffffff0f,0 16px 48px #0006;border-radius:6px;cursor:crosshair;transition:box-shadow var(--duration-base) ease,transform var(--duration-base) var(--easing-spring)}.grid-editor-canvas-area canvas:hover{box-shadow:0 0 0 1px var(--accent),0 24px 64px #0009;transform:scale(1.005)}[data-theme=light] .grid-editor-backdrop{background:#ffffff73}[data-theme=light] .grid-editor-toolbar{background:#f5f6f8f5;border-bottom-color:#00000014}[data-theme=light] .grid-editor-close-btn{background:#0000000a}[data-theme=light] .grid-editor-close-btn:hover{background:#0000001a}[data-theme=light] .grid-editor-brush-pills{background:#00000008;border-color:#00000014}[data-theme=light] .grid-editor-pill:hover{background:#0000000f}[data-theme=light] .grid-editor-pill.active{background:#00000014;color:var(--text-primary);box-shadow:0 0 0 1px var(--accent)}[data-theme=light] .grid-editor-pill-swatch{border-color:#00000026}[data-theme=light] .grid-editor-number-input{background:#fff;border-color:#0000001f;color:var(--text-primary)}[data-theme=light] .grid-editor-maze-group{border-left-color:#00000014}[data-theme=light] .grid-editor-canvas-area{background-image:radial-gradient(circle at 2px 2px,rgba(0,0,0,.025) 1px,transparent 0)}[data-theme=light] .grid-editor-canvas-area canvas{box-shadow:0 0 0 1px #00000014,0 12px 40px #0000001f}[data-theme=light] .grid-editor-canvas-area canvas:hover{box-shadow:0 0 0 1px var(--accent),0 12px 40px #00000026}@media(max-width:900px){.grid-editor-toolbar{padding:.5rem .75rem;gap:.5rem}.grid-editor-hint{display:none}.grid-editor-toolbar-right{margin-left:0}.grid-editor-canvas-area{padding:.75rem}}@media(max-width:600px){.grid-editor-toolbar{flex-direction:column;align-items:stretch;gap:.4rem;padding:.5rem}.grid-editor-toolbar-left,.grid-editor-brush-group,.grid-editor-maze-group,.grid-editor-toolbar-right{justify-content:center}.grid-editor-maze-group{padding-left:0;border-left:none;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.06)}.grid-editor-toolbar-right{padding-top:.4rem;border-top:1px solid rgba(255,255,255,.06)}.grid-editor-actions{justify-content:center;width:100%}.grid-editor-canvas-area{padding:.5rem}}#tour-overlay{position:fixed;inset:0;z-index:99999;pointer-events:none}#tour-spotlight{position:fixed;z-index:99999;border-radius:8px;box-shadow:0 0 0 9999px #000000a6;transition:all var(--duration-base) var(--easing-spring);pointer-events:none}#tour-tooltip{position:fixed;z-index:100000;background:#1a1a1a;color:#fff;border:1px solid #333;border-radius:12px;padding:1.1rem 1.3rem;max-width:320px;width:max-content;box-shadow:0 12px 40px #00000080;font-family:Outfit,sans-serif;transition:transform var(--duration-base) var(--easing-spring),opacity var(--duration-base) ease;pointer-events:auto}#tour-tooltip h4{margin:0 0 .4rem;font-size:.95rem;font-weight:600;color:#fff}#tour-tooltip p{margin:0 0 .9rem;font-size:.82rem;color:#bbb;line-height:1.5}.tour-actions{display:flex;justify-content:space-between;align-items:center}.tour-counter{font-size:.72rem;color:#666}.tour-btns{display:flex;gap:.5rem}.tour-btn{padding:.4rem .9rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;border:none;transition:transform var(--duration-quick) ease,background var(--duration-quick) ease,color var(--duration-quick) ease}.tour-btn:hover{transform:translateY(-1px)}.tour-btn:active{transform:translateY(0) scale(.97);transition-duration:var(--duration-instant)}.tour-btn-skip{background:transparent;color:#888}.tour-btn-skip:hover{color:#fff}.tour-btn-next{background:#fff;color:#0a0a0a}.tour-btn-next:hover{background:#e0e0e0}@media(max-width:1400px){.header-content>h1,.header-branding>h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:1180px){.account-slot{--account-slot-width:150px}.header-content{grid-template-columns:1fr}.header-branding,.header-actions,.tabs{grid-column:1}.header-branding{justify-content:space-between}.header-actions{max-width:none;gap:.5rem;justify-content:space-between}.header-action-group{gap:.5rem}.header-action-group--primary{flex:1 1 24rem;justify-content:flex-start}.header-action-group--preferences{flex:0 1 auto;justify-content:flex-start}.profile-btn,.docs-link,.pwa-install-btn,.auth-link,.header-language-select{padding:.4rem .65rem;font-size:.72rem;white-space:nowrap}.theme-label{display:none}}@media(max-width:1100px){.toolbar .controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr);gap:.85rem 1.25rem;align-items:end}.toolbar .controls>.control-group:first-child{grid-column:1}.toolbar .controls>.slider-stack{grid-column:2;justify-content:flex-start;width:100%}.toolbar .controls>.separator{display:none}.toolbar .controls>.action-buttons{grid-column:1 / -1;justify-content:flex-start;margin-left:0}.toolbar .stats{width:100%}}@media(max-width:960px){.toolbar{padding-inline:1rem}.toolbar .controls{grid-template-columns:minmax(220px,1fr) minmax(280px,1.35fr);align-items:end}.toolbar .controls>.control-group:first-child{grid-column:1}.toolbar .controls>.slider-stack{grid-column:2;justify-self:stretch;margin-left:0}.toolbar .controls>.slider-stack{flex-direction:row;gap:.75rem;width:100%}.toolbar .controls>.action-buttons{grid-column:1 / -1}.toolbar .controls>.action-buttons .btn{flex:1 1 9rem}.advanced-toggle,.advanced-content{padding-inline:1rem}}@media(max-width:768px){.account-slot{--account-slot-width:132px}.header-content{grid-template-columns:1fr;align-items:center;gap:.5rem}h1{font-size:1.25rem;margin:0}.header-actions{gap:.5rem;justify-content:space-between}.header-action-group--primary{flex:1 1 auto}.header-action-group--preferences{flex:0 0 auto}.tabs{overflow-x:auto;white-space:nowrap;padding:0 0 .5rem;margin-bottom:.5rem;-webkit-overflow-scrolling:touch;justify-content:flex-start;border-bottom:2px solid var(--border-color)}.tab-btn{padding:.5rem 1rem;font-size:.85rem;flex:0 0 auto}.toolbar .controls{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:center}.toolbar .controls>.control-group:first-child{grid-column:span 2}.toolbar .controls>.slider-stack{grid-column:span 2;width:100%}.toolbar .controls>.separator{display:none}.control-group{display:flex;flex-direction:column;width:100%}.toolbar .controls>.action-buttons{grid-column:span 2;flex-direction:row;gap:.5rem}main .btn{flex:1;min-height:40px;font-size:.9rem;padding:.5rem}input[type=range]{height:6px;margin:12px 0;width:100%}input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-7px}#visualizer-container{padding:.5rem .5rem 5rem;flex-grow:1;min-height:60vh}.separator,.keyboard-hints{display:none}#main-scrubber-wrap{left:.5rem;right:.5rem;bottom:.75rem}body.page-lock-visualizer #section-visualizer{overflow:hidden;padding-bottom:.5rem}body.page-lock-visualizer #visualizer-container{min-height:0;padding:.5rem .5rem 0!important}body.page-lock-visualizer #section-visualizer .progress-container{width:auto;max-width:none;margin:.25rem .5rem 0}body.page-lock-visualizer #main-scrubber-wrap{position:static;inset:auto;margin:.25rem .5rem 0;z-index:auto}.advanced-options{margin-top:.5rem}}@media(min-width:768px)and (max-width:1024px){.toolbar .controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.8fr);gap:1rem;align-items:end}.toolbar .controls>.control-group:first-child{grid-column:1}.toolbar .controls>.slider-stack{grid-column:2;width:100%;justify-self:stretch}.toolbar .controls>.action-buttons{grid-column:1 / -1}.separator{display:none}#visualizer-container{padding:2rem 2rem 0;min-height:400px}body.page-lock-visualizer #visualizer-container{min-height:0;padding:1rem 2rem 0}}@media(max-width:480px){main{padding:.5rem;max-width:100%;overflow-x:hidden}h1{font-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.btn{padding:.6rem 1rem;font-size:.9rem}select,input[type=number]{min-width:0;max-width:100%}.stats{flex-wrap:wrap;gap:.25rem .5rem;font-size:.7rem;word-break:break-word;max-width:100%}.checkbox-grid{grid-template-columns:1fr}.control-group{width:100%}.control-group label{font-size:.8rem}.benchmark-config,.algo-selection,.table-controls{padding:.75rem}.compare-grid,.analytics-grid{grid-template-columns:1fr}.compare-controls{flex-direction:column;gap:1rem;padding:1rem}.compare-config{flex-direction:column;gap:.75rem;width:100%}.compare-actions{flex-wrap:wrap;justify-content:center;width:100%}.compare-actions .btn{flex:1;min-width:80px}.compare-panel{height:230px;padding:.75rem}.compare-visualizer{min-height:0}.panel-header{gap:.25rem}.algo-select{font-size:.8rem;padding:.3rem}.panel-stats{font-size:.65rem}.race-timer{font-size:1rem;padding:.3rem .75rem}.leaderboard{padding:1rem}.leaderboard-item{padding:.5rem .75rem;gap:.5rem}}@media(max-width:768px)and (orientation:portrait),(max-width:480px){body{overflow-y:auto;overflow-x:hidden;max-width:100vw;padding-bottom:60px}.tabs,.tab-glider,.swipe-hint,.keyboard-hints{display:none!important}.docs-link,.pwa-install-btn{display:inline-flex!important}.theme-toggle,.header-locale{display:flex!important}.profile-btn{display:inline-flex!important}.separator{display:none!important}header{padding:.6rem 1rem;position:sticky;top:0;z-index:200;max-width:100%;overflow:hidden}.header-content{gap:.5rem;flex-wrap:wrap;align-items:flex-start}.header-branding{width:100%;min-width:0}h1{font-size:1.1rem!important;white-space:nowrap}.header-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .4rem;overflow:visible;align-items:center}.header-action-group{display:flex;min-width:0;flex-wrap:nowrap;gap:.3rem}.header-action-group--primary{grid-column:1;grid-row:1;justify-content:flex-start}.header-action-group--preferences{grid-column:1 / -1;grid-row:2;padding-left:0;border-left:0;justify-content:flex-start}.account-slot[data-auth-state=guest]{margin-left:0}.account-slot{grid-column:2;grid-row:1;flex:0 0 auto;min-width:0;justify-content:flex-end;align-self:center}.auth-buttons{position:static;inset:auto;justify-content:flex-end;gap:.3rem}.auth-link{font-size:.62rem;padding:.3rem .48rem}.profile-btn,.docs-link,.pwa-install-btn,.header-language-select{font-size:.62rem;padding:.3rem .45rem;min-height:30px;white-space:nowrap}.docs-link,.pwa-install-btn{align-items:center;justify-content:center;text-align:center;line-height:normal}.header-language-select{width:auto;max-width:5.4rem}.theme-label{display:none}.theme-toggle{gap:.25rem}.theme-toggle-btn{width:38px;height:22px}.theme-toggle-btn:after{width:16px;height:16px}.header-actions.mobile-header-hide-docs .docs-link,.header-actions.mobile-header-hide-profile #btn-open-profile,.header-actions.mobile-header-hide-locale .header-locale,.header-actions.mobile-header-hide-theme .theme-toggle,.header-actions.mobile-header-hide-signin .auth-buttons .auth-link:first-child{display:none!important}.profile-avatar{width:30px;height:30px}main{flex:1;display:flex;flex-direction:column;overflow:visible;overflow-x:hidden;padding:0;max-width:100%}section[id^=section-]{padding:.75rem!important;max-width:100%;overflow-x:hidden}main>section[id^=section-]{display:none!important;opacity:1;transform:none!important;transition:none!important}main>section[id^=section-].active-section{display:flex!important;opacity:1!important;transform:none!important;transition:none!important;overflow-y:visible!important;-webkit-overflow-scrolling:auto;flex:1!important;flex-direction:column}body.page-scroll-benchmark{overflow-y:auto!important}main.page-scroll-benchmark{overflow:visible!important;flex:1!important}body.page-scroll-benchmark main>section#section-benchmark.active-section{overflow-y:visible!important;-webkit-overflow-scrolling:auto!important;flex:1!important}.mobile-nav{display:flex!important}.mobile-fab{display:none!important}.btn{min-height:40px;font-size:.85rem}select,input[type=number]{min-height:40px;font-size:.9rem;min-width:0;max-width:100%}input[type=range]{height:8px;padding:0;margin:12px 0}input[type=range]::-webkit-slider-thumb{width:26px;height:26px;margin-top:-9px}input[type=range]::-moz-range-thumb{width:26px;height:26px}.toolbar .controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.75rem!important;align-items:stretch!important;width:100%}.toolbar .controls>.control-group:first-child,.toolbar .controls>.slider-stack,.toolbar .controls>.action-buttons,.toolbar .stats{grid-column:1!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;justify-self:stretch!important}.toolbar .controls>.slider-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.75rem!important;align-items:end!important;flex:none!important}.toolbar .slider-stack>.control-group{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important}.toolbar .slider-stack>.control-group>label{width:100%!important;text-align:center!important}.toolbar .controls>.action-buttons{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:.5rem!important;align-items:stretch!important;justify-content:stretch!important;flex:none!important}.toolbar .controls>.action-buttons .btn{flex:1 1 9rem!important;min-width:0!important}.time-travel-scrubber input[type=range]::-webkit-slider-thumb{margin-top:-7px}.profile-dropdown{position:fixed;top:auto;bottom:70px;right:.5rem;left:.5rem;min-width:auto;max-width:none}.toast-container{bottom:72px!important}}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--bg-secondary);border-top:1px solid var(--border-color);z-index:500;align-items:stretch;justify-content:space-around;padding:0;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -2px 12px #00000040}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.6rem;font-weight:500;cursor:pointer;transition:color var(--duration-quick) ease,transform var(--duration-quick) var(--easing-spring);padding:.25rem 0;position:relative;-webkit-tap-highlight-color:transparent}.mobile-nav-item svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.mobile-nav-item span{letter-spacing:.02em}.mobile-nav-item.active{color:var(--text-primary)}.mobile-nav-item.active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;background:var(--text-primary);border-radius:0 0 2px 2px}.mobile-more-menu{display:none;position:fixed;bottom:60px;right:0;left:0;background:var(--bg-secondary);border-top:1px solid var(--border-color);z-index:499;padding:.5rem 0;box-shadow:0 -4px 16px #0000004d;animation:mobile-menu-slide-up var(--duration-entrance) var(--easing-spring);padding-bottom:env(safe-area-inset-bottom,0)}@keyframes mobile-menu-slide-up{0%{transform:translateY(100%) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.mobile-more-menu.open{display:flex;flex-direction:column}.mobile-more-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:none;border:none;color:var(--text-secondary);font-family:inherit;font-size:.9rem;cursor:pointer;transition:background var(--duration-micro) ease,padding var(--duration-micro) ease;-webkit-tap-highlight-color:transparent}.mobile-more-item:active{background:var(--bg-tertiary)}.mobile-more-item svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.mobile-fab{display:none;position:fixed;bottom:76px;right:16px;width:56px;height:56px;border-radius:50%;background:var(--text-primary);color:var(--bg-primary);border:none;font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer;z-index:300;align-items:center;justify-content:center;box-shadow:0 4px 14px #0006;transition:transform var(--duration-quick) var(--easing-spring),background var(--duration-quick) ease,box-shadow var(--duration-quick) ease;-webkit-tap-highlight-color:transparent}.mobile-fab:active{transform:scale(.88);transition-duration:var(--duration-instant)}.mobile-fab.stop{background:#e74c3c;color:#fff}.mobile-fab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mobile-fab[data-visible=false]{display:none!important}.mobile-more-overlay{display:none;position:fixed;inset:0;z-index:498}.mobile-more-overlay.active{display:block}@keyframes vt-slide-out{to{transform:translate(-8%);opacity:0}}@keyframes vt-slide-in{0%{transform:translate(8%);opacity:0}}::view-transition-old(root){animation:.3s cubic-bezier(.4,0,.2,1) both vt-slide-out}::view-transition-new(root){animation:.3s cubic-bezier(.4,0,.2,1) both vt-slide-in}main>section[id^=section-]{opacity:0;transform:translateY(6px);transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1)}main>section[id^=section-].active-section.vt-enter{opacity:1;transform:translateY(0)}@keyframes rippleAnim{to{transform:scale(4);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes checkBounce{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes checkPop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes kbModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes kbModalIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}main>section[id^=section-]{transition:none!important;transform:none!important;opacity:1!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}