:root{--ink:#14212f;--muted:#607080;--surface:#edf4fb;--panel:#fff;--line:#c9d8e8;--accent:#1673c7;--accent-2:#d85f3f;--accent-3:#d59a26;--blue-1:#f8fbff;--blue-2:#dceeff;--blue-3:#9bc8ef;--blue-4:#1673c7;--blue-5:#0f4f8d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e85d4f4d}.app-shell{background:linear-gradient(180deg, #ffffffe6, #edf4fbeb), radial-gradient(circle at top right, #3790d92e, transparent 38%), var(--surface);min-height:100vh;color:var(--ink);grid-template-columns:280px minmax(0,1fr);display:grid}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{padding:18px 10px;overflow:hidden}.app-shell.sidebar-collapsed .brand div:last-child,.app-shell.sidebar-collapsed .sidebar-submenu,.app-shell.sidebar-collapsed .icon-style-panel,.app-shell.sidebar-collapsed .recent-box,.app-shell.sidebar-collapsed .local-note,.app-shell.sidebar-collapsed .category-list button>span:last-child{display:none}.app-shell.sidebar-collapsed .category-icon{margin:auto}.sidebar{color:#f8fafc;background:linear-gradient(#1f5f9f 0%,#194d82 48%,#153a63 100%);flex-direction:column;gap:22px;padding:22px 18px;display:flex}.mobile-menu-fab,.mobile-menu-backdrop,.mobile-drawer-close{display:none}.mobile-drawer-shell{display:contents}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#111820;background:linear-gradient(#ffd56e,#d89a20);border-radius:7px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span{color:#bfccd6;font-size:13px}.category-list{gap:6px;display:grid}.menu-group{gap:5px;display:grid}button,select,input,textarea{font:inherit}button,.file-button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:7px 10px;transition:background .16s,border-color .16s,box-shadow .16s,transform .12s;display:inline-flex}button:hover,.file-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #13589424}button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #145a9138,0 4px 12px #13589424}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.48;transform:none}.category-list button{color:#e6edf3;background:0 0;justify-content:flex-start;width:100%}.category-icon{background:#ffffff24;border:1px solid #ffffff38;border-radius:9px;place-items:center;width:34px;height:30px;font-size:13px;font-weight:900;display:inline-grid}.category-icon svg,.icon-style-panel svg{display:block}.text-icon{font-size:11px;font-weight:900;line-height:1}.category-icon.sim{color:#fff;background:#ff9f1c;border-color:#ffd08a}.category-icon.neon{background:#21c7a8;border-color:#8ef5de}.icon-style-panel{gap:7px;display:grid}.icon-style-panel h2{color:#d8e9f8;text-transform:uppercase;margin:0;font-size:12px}.icon-style-panel button{color:#fff;text-transform:capitalize;background:#ffffff1a;justify-content:flex-start}.icon-style-panel button.active{background:#ffffff38;border-color:#ffffff52}.category-list button.active,.category-list button:hover{background:#ffffff1f;border-color:#ffffff1f}.sidebar-submenu{border-left:2px solid #ffffff38;gap:4px;margin-left:17px;padding-left:10px;display:grid}.sidebar-submenu section{gap:4px;display:grid}.sidebar-submenu h3{color:#bad9f5;letter-spacing:0;text-transform:uppercase;align-items:center;gap:7px;margin:8px 0 2px;font-size:11px;display:flex}.sidebar-submenu h3 span{color:#fff;background:#ffffff21;border-radius:6px;place-items:center;width:30px;height:22px;font-size:10px;font-weight:900;display:inline-grid}.sidebar-submenu button{color:#d8ecff;text-align:left;white-space:normal;background:#ffffff12;justify-content:flex-start;min-height:32px;font-size:13px}.sidebar-submenu button span{background:#ffffff29;border-radius:6px;place-items:center;width:30px;height:22px;font-size:11px;font-weight:900;display:inline-grid}.sidebar-submenu button.active{color:#221500;background:linear-gradient(#ffb84d,#f59e0b)}.algorithm-submenu{max-height:52vh;padding-right:3px;overflow:auto}.local-note{background:#ffffff1a;border:1px solid #ffffff29;border-radius:8px;margin-top:auto;padding:13px}.local-note p{color:#d3dde6;margin:8px 0 0;font-size:13px}.workspace{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}.category-page{--page-accent:#1673c7}.algorithm-hero{grid-template-columns:minmax(0,1.1fr) minmax(260px,.7fr);padding-bottom:14px}.algorithm-hero .learning-paths article{min-height:112px}.category-hero{background:linear-gradient(120deg, color-mix(in srgb, var(--page-accent) 16%, white), #fff 55%), radial-gradient(circle at right, color-mix(in srgb, var(--page-accent) 18%, transparent), transparent 45%);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:16px;padding:22px;display:grid}.category-hero h1{margin:4px 0 8px;font-size:34px}.category-section-strip{flex-wrap:wrap;place-content:center flex-end;gap:8px;display:flex}.category-section-strip span{border:1px solid color-mix(in srgb, var(--page-accent) 35%, #c9d8e8);color:color-mix(in srgb, var(--page-accent) 80%, #14212f);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.learning-paths{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.learning-paths article{border:1px solid color-mix(in srgb, var(--page-accent) 25%, #d4e5f3);background:#ffffffdb;border-radius:8px;gap:4px;padding:12px;display:grid}.learning-paths strong{color:color-mix(in srgb, var(--page-accent) 80%, #14212f)}.learning-paths span{color:var(--muted)}.topbar{border-bottom:1px solid var(--line);z-index:20;background:linear-gradient(#fff,#eef7ff);justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex;position:sticky;top:0;box-shadow:inset 0 1px #fff,0 10px 28px #20588b14}.top-menu{border:1px solid var(--line);z-index:35;background:#fff;border-radius:8px;gap:8px;min-width:220px;padding:12px;display:grid;position:absolute;top:64px;right:18px;box-shadow:0 18px 42px #1a558929}.settings-menu{right:150px}.top-menu h2{margin:0}.top-menu button,.top-menu .file-button{justify-content:flex-start}.selector,.view-switch{align-items:center;gap:8px;display:flex}.view-switch{background:#dbefff;border:1px solid #a9cde9;border-radius:8px;padding:4px}.view-switch button{color:#1e5a8f;background:0 0}.view-switch button.active{color:#0f4f8d;background:linear-gradient(#fff,#cfe9ff);border-color:#8dbfe7;box-shadow:inset 0 1px #fff,0 2px 8px #1673c72e}.selector label,.input-strip label{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}select,input,textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;padding:8px 10px}select{min-width:260px}.top-actions{flex-wrap:wrap;gap:8px;display:flex}.icon-button{min-width:38px;padding-inline:9px}.top-actions button,.file-button{color:var(--ink);background:linear-gradient(#fff,#e8f4ff);border-color:#a9cde9}.top-actions .btn-export{color:#17633d;background:linear-gradient(#effaf4,#cdeedb);border-color:#8fcaa5}.top-actions .btn-data{color:#543a9a;background:linear-gradient(#f4f0ff,#ddd2ff);border-color:#baa9ef}.top-actions .btn-save{color:#6d4b00;background:linear-gradient(#fff7dc,#f2d37a);border-color:#d5a833}.top-actions .btn-danger{color:#923a24;background:linear-gradient(#fff1ed,#f8c8ba);border-color:#e28d75}.file-button input{display:none}.lab-grid{grid-template-columns:minmax(0, 1fr) var(--right-panel-width,360px);gap:0;min-height:0;display:grid}.canvas-zone{grid-template-rows:auto auto minmax(320px,1fr) auto;min-width:0;padding:18px;display:grid}.canvas-header{order:1;justify-content:space-between;align-items:start;gap:20px;display:flex}.eyebrow{color:var(--accent-2);text-transform:uppercase;font-size:12px;font-weight:800}.breadcrumbs{color:var(--accent-2);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.breadcrumbs button{color:inherit;background:0 0;min-height:0;padding:0}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:32px;line-height:1.1}h2{align-items:center;gap:7px;margin-bottom:10px;font-size:15px;display:flex}p{color:var(--muted)}.status{text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.status.live{color:#135b49;background:#def3ea}.status.planned{color:#735013;background:#f5e7c8}.input-strip{order:3;grid-template-columns:minmax(260px,1fr) 100px 90px minmax(300px,auto);align-items:end;gap:10px;margin:18px 0;display:grid}.input-strip label{gap:5px;display:grid}.preset-row{flex-wrap:wrap;gap:6px;display:flex}.preset-row button{color:#25313a;background:#eef2f5;font-size:13px}.preset-row button.active{color:#111820;background:#d99b32}.algorithm-picker{background:linear-gradient(#f9fcff,#edf6ff);border:1px solid #bfd8ef;border-radius:8px;order:8;gap:10px;margin:16px 0 0;padding:12px;display:grid;box-shadow:inset 0 1px #fff}.picker-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.picker-filters label{color:var(--muted);text-transform:uppercase;gap:4px;font-size:11px;font-weight:900;display:grid}.picker-filters select{width:100%;min-width:0}.btn-reset-filters{color:#725400;background:linear-gradient(#fff9e8,#f4dfa0);border-color:#d6b24e;align-self:end}.picker-search{background:#fff;border:1px solid #b6d2ea;border-radius:7px;align-items:center;gap:8px;padding:0 10px;display:flex}.picker-search svg{color:#2370af;flex:none}.picker-search input{box-shadow:none;border:0;width:100%;min-width:0}.picker-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;max-height:260px;padding-right:2px;display:grid;overflow:auto}.picker-grid button{color:#20313f;text-align:left;white-space:normal;background:linear-gradient(#fff,#edf7ff);border-color:#b2d2ec;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:flex-start;gap:10px;min-height:88px;padding:12px;display:grid;overflow:visible}.picker-grid button.active{background:linear-gradient(#e7f5ff,#bfdef8);border-color:#4e9ad7;box-shadow:inset 0 1px #fff,0 0 0 2px #1673c71f}.picker-grid button.planned-module{filter:saturate(.55);opacity:.68}.picker-grid span{gap:2px;min-width:0;display:grid}.picker-grid strong{overflow-wrap:anywhere;white-space:normal;line-height:1.16}.picker-grid small{color:var(--muted);white-space:normal;font-size:12px;line-height:1.25}.picker-grid em{color:#145a91;white-space:nowrap;background:#e3f0fb;border-radius:999px;padding:3px 7px;font-size:12px;font-style:normal;font-weight:800;line-height:1}.visual-canvas{border:1px solid var(--line);background:linear-gradient(#fff,#f7fbff);border-radius:8px;order:5;min-height:360px;padding:22px;position:relative;overflow:auto hidden;box-shadow:inset 0 1px #fff,0 14px 36px #1a558914}.visual-controls{background:#f7fbff;border:1px solid #bfd8ef;border-radius:8px;flex-wrap:wrap;order:4;align-items:center;gap:10px;margin-bottom:12px;padding:9px 12px;display:flex}.visual-controls label{color:var(--muted);text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.bar-stage{align-items:end;gap:7px;height:100%;min-height:320px;padding-top:28px;display:flex;position:relative}.matrix-stage{gap:14px;min-height:320px;padding-top:28px;display:grid;position:relative}.matrix-meta{color:#31404b;text-transform:uppercase;background:#ffffffeb;border:1px solid #bfd8ef;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:12px;font-weight:900;display:flex}.matrix-meta em{color:var(--muted);font-style:normal}.matrix-grid-view{grid-template-columns:repeat(var(--matrix-columns,4), minmax(46px, 1fr));gap:8px;display:grid}.matrix-cell{aspect-ratio:1;color:#25313a;background:#eef7ff;border:1px solid #bfd8ef;border-radius:7px;place-items:center;min-width:46px;padding:6px;display:grid;position:relative}.matrix-cell small{color:#647789;font-size:10px;font-weight:900;position:absolute;top:5px;left:6px}.matrix-cell strong{font-size:16px}.matrix-cell.active{background:#fff3d4;border-color:#e69f00;box-shadow:0 0 0 2px #e69f0033}.matrix-cell.compare{background:#e8f1ff;border-color:#0072b2}.matrix-cell.update,.matrix-cell.complete{background:#e6f6eb;border-color:#52a66a}.matrix-comparison{position:static}.bar-stage.has-negatives{align-items:center}.bar-stage.has-negatives .bar-wrap{align-self:flex-start;height:42%}.bar-stage.has-negatives .bar-wrap.negative{align-self:flex-end}.baseline-axis{color:#607080;text-transform:uppercase;z-index:3;border-top:2px dashed #8aa6bd;font-size:11px;font-weight:900;position:absolute;top:52%;left:0;right:0}.swap-arrow,.sorted-region-label{color:#60491b;text-transform:uppercase;z-index:5;background:#fff8e8;border:1px solid #efd59b;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;position:absolute;top:34px;right:10px}.sorted-region-label{color:#17633d;background:#e6f6eb;border-color:#9bd2ae;right:130px}.bar-pointer-row{z-index:6;position:absolute;top:22px;left:0;right:0}.bar-pointer-row span{color:#fff;background:#24313a;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:900;position:absolute;transform:translate(-50%)}.bar-wrap{flex:1 1 0;align-items:center;gap:7px;min-width:12px;height:100%;display:grid}.state-comparison{border-radius:var(--radius-md);color:#31404b;gap:var(--space-1);max-width:min(620px,100% - 28px);padding:var(--space-2) var(--space-3);z-index:7;background:#fffffff0;border:1px solid #bfd8ef;font-size:12px;display:grid;position:absolute;top:58px;left:14px}.bar{color:#fff;background:#2f7564;border-radius:6px 6px 3px 3px;justify-content:center;align-items:end;width:100%;min-height:12px;display:flex;box-shadow:inset 0 -10px #00000014}.bar[data-negative=true]{background:#7c5bb0}.bar span{writing-mode:vertical-rl;padding:4px 0;font-size:12px;font-weight:800}.bar.active{background:var(--compare-color,var(--accent-2));animation:1s ease-in-out infinite pulse-active}@keyframes pulse-active{50%{box-shadow:inset 0 -10px #00000014,0 0 0 6px #d85f3f29}}.bar.swap{background:var(--swap-color,#7c5bb0)}.bar.complete{background:var(--complete-color,#397b50)}.bar.select{background:var(--select-color,#d59a26)}.bar.discarded{opacity:.25}.bar-wrap small{color:var(--muted);text-align:center;font-size:11px}.planned-state{text-align:center;align-content:center;justify-items:center;height:100%;min-height:280px;display:grid}.empty-state,.route-fallback,.route-skeleton{color:var(--muted);background:#f8fbff;border:1px solid #d4e5f3;border-radius:8px;gap:8px;padding:14px;display:grid}.route-fallback{align-content:center;justify-items:start;min-height:320px;margin:24px}.route-fallback h1{color:var(--ink);margin-bottom:0}.skeleton-list{max-height:none}.skeleton-line{background:linear-gradient(90deg,#e6eef6,#f7fbff,#e6eef6);border-radius:7px;height:38px;animation:1.2s ease-in-out infinite skeleton-pulse;display:block}.skeleton-line.wide{width:min(520px,100%);height:54px}.route-skeleton{margin:12px 18px}@keyframes skeleton-pulse{50%{opacity:.55}}.control-panel{z-index:10;flex-wrap:wrap;order:6;align-items:center;gap:8px;margin-top:14px;display:flex;position:static;bottom:0}.control-panel .btn-stop{min-width:38px}.control-panel button{color:var(--ink);background:linear-gradient(#fff,#e8f4ff);border-color:#a9cde9}.control-panel .primary{color:#fff;background:linear-gradient(#3b9df2,#126fbd);border-color:#0e5fa4;min-width:96px}.control-panel .btn-nav{color:#145a91}.control-panel .btn-stop,.control-panel .btn-danger{color:#923a24;background:linear-gradient(#fff1ed,#f8c8ba);border-color:#e28d75}.control-panel .btn-reset{color:#725400;background:linear-gradient(#fff9e8,#f4dfa0);border-color:#d6b24e}.speed{align-items:center;gap:8px;margin-left:auto;display:flex}.right-panel{border-left:1px solid var(--line);background:linear-gradient(#fff,#f7fbff);grid-auto-rows:max-content;gap:1px;display:grid;overflow:auto}.right-panel section{border-bottom:1px solid var(--line);padding:16px}.panel-tools{background:#f8fbff}.panel-tools label,.practice-guess{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:900;display:grid}.step-meter{gap:8px;margin-top:14px;display:grid}pre{color:#234;background:#f1f4f7;border-radius:7px;padding:10px;font-size:12px;overflow:auto}ol{color:var(--muted);margin:0;padding-left:22px}.complexity-grid,.metric-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.complexity-grid span,.metric-row span{background:#f1f4f7;border-radius:7px;gap:3px;padding:9px;display:grid}.complexity-grid strong,.metric-row strong{color:#1d4f43;text-transform:capitalize;font-size:18px;display:block}.bottom-panel{border-top:1px solid var(--line);background:linear-gradient(#fff,#f1f8ff);order:10;grid-template-columns:300px minmax(0,1fr) 280px;gap:1px;display:grid}.bottom-panel section{border-right:1px solid var(--line);min-width:0;padding:14px}.log-list,.saved-list{gap:6px;max-height:150px;display:grid;overflow:auto}.log-list{max-height:220px}.log-list button,.saved-list button{border-color:var(--line);color:var(--ink);text-align:left;background:#fff;justify-content:flex-start}.log-list button{grid-template-columns:34px 88px minmax(0,1fr);min-height:42px;line-height:1.25;display:grid}.log-list strong{color:#31404b;text-transform:uppercase;font-size:12px}.log-list button.active{border-color:var(--accent-2);background:#fff8f5}.log-list span{color:#496066;text-align:center;background:#e8efec;border-radius:5px;min-width:24px;padding:2px 5px;font-size:12px}.saved-list button{align-items:start;display:grid}.saved-list span{color:var(--muted);font-size:12px}.saved-next-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.saved-next-steps button,.saved-empty-state button{color:#145a91;background:linear-gradient(#fff,#e8f4ff);border-color:#a9cde9;justify-content:center}.toast-stack{z-index:60;gap:8px;display:grid;position:fixed;bottom:18px;right:18px}.toast{color:#fff;background:#24313a;box-shadow:0 14px 36px #0000002e}.aimer-site-footer{color:#f8fbff;background:linear-gradient(90deg,#123c63,#1f6da8 52%,#17633d),#123c63;border-top:1px solid #ffffff2e;grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;align-items:center;gap:10px 18px;padding:16px 22px;display:grid}.aimer-site-footer div,.aimer-site-footer p,.aimer-site-footer small{min-width:0}.aimer-site-footer div{gap:2px;display:grid}.aimer-site-footer strong{font-size:16px;line-height:1.2}.aimer-site-footer span{color:#cde9ff;text-transform:uppercase;font-size:12px;font-weight:900}.aimer-site-footer p{color:#eef8ff;text-align:center;margin:0;font-weight:700}.aimer-site-footer small{color:#d8f4df;text-align:right;font-weight:800}.command-backdrop{z-index:80;background:#09152252;padding:9vh 18px;position:fixed;inset:0}.command-palette{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;max-width:680px;margin:0 auto;padding:12px;display:grid;box-shadow:0 24px 70px #0915223d}.command-palette input{width:100%;font-size:18px}.command-palette div{gap:6px;max-height:420px;display:grid;overflow:auto}.command-palette button{color:var(--ink);background:#f7fbff;border-color:#bfd8ef;justify-content:flex-start}.compare-page{gap:16px;min-height:0;padding:20px;display:grid}.compare-header{justify-content:space-between;align-items:start;gap:20px;display:flex}.compare-tabs{background:#dbefff;border:1px solid #a9cde9;border-radius:8px;gap:4px;padding:4px;display:flex}.compare-tabs button{color:#1e5a8f;background:0 0}.compare-tabs button.active{color:#0f4f8d;background:linear-gradient(#fff,#cfe9ff);border-color:#8dbfe7}.compare-layout{grid-template-columns:340px minmax(0,1fr);gap:16px;display:grid}.compare-inputs,.compare-results{border:1px solid var(--line);background:linear-gradient(#fff,#f7fbff);border-radius:8px;padding:16px;box-shadow:inset 0 1px #fff,0 14px 36px #1a558914}.compare-inputs{gap:12px;display:grid}.compare-inputs label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:800;display:grid}.compare-checks{gap:7px;max-height:330px;display:grid;overflow:auto}.compare-checks button{color:#24313a;background:linear-gradient(#fff,#eef7ff);border-color:#b6d2ea;justify-content:flex-start}.compare-checks button.active{background:linear-gradient(#eaf8ef,#ccebd8);border-color:#82bf99}.compare-checks span{color:#255d8f;text-align:center;background:#dfeaf4;border-radius:999px;min-width:34px;padding:2px 6px;font-size:11px;font-weight:900}.compare-checks button.active span{color:#fff;background:#21834d}.compare-results{gap:16px;min-width:0;display:grid}.comparison-table{border:1px solid #c8daea;border-radius:8px;overflow:auto}.comparison-row{border-top:1px solid #dbe7f2;grid-template-columns:minmax(190px,1.5fr) repeat(5,minmax(80px,1fr));align-items:center;gap:10px;min-width:720px;padding:10px 12px;display:grid}.comparison-row:first-child{border-top:0}.comparison-row.head{color:#1d5f98;text-transform:uppercase;z-index:2;background:linear-gradient(#eaf5ff,#cfe7fb);font-size:12px;font-weight:900;position:sticky;top:0}.comparison-bars{gap:12px;display:grid}.comparison-bars article{background:#f7fbff;border:1px solid #d5e5f2;border-radius:8px;gap:7px;padding:12px;display:grid}.comparison-bars article>div{justify-content:space-between;display:flex}.comparison-bars label{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.bar-track{background:#dfeaf4;border-radius:999px;height:12px;display:block;overflow:hidden}.bar-track i{background:linear-gradient(90deg,#4aa4ed,#126fbd);height:100%;display:block}.bar-track.compare i{background:linear-gradient(90deg,#efb442,#d85f3f)}.recent-box,.input-messages,.utility-row,.favorite-row{gap:7px;display:grid}.recent-box h2{color:#d8e9f8;text-transform:uppercase;margin:0;font-size:12px}.recent-box button{color:#fff;background:#ffffff1a;justify-content:flex-start;min-height:30px}.pwa-status,.picker-count{color:#17633d;white-space:nowrap;background:#e9f7ee;border:1px solid #9bd2ae;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.page-ribbon,.compare-notes{background:linear-gradient(#f9fcff,#e7f3ff);border:1px solid #bfd8ef;border-radius:8px;flex-wrap:wrap;order:2;align-items:center;gap:10px;margin-top:12px;padding:9px 12px;display:flex}.page-ribbon{border-color:color-mix(in srgb, var(--page-accent) 35%, #bfd8ef)}.category-module-map{order:7;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px;display:grid}.category-module-map article{border:1px solid color-mix(in srgb, var(--page-accent) 25%, #d4e5f3);background:linear-gradient(#fff,#f5fbff);border-radius:9px;padding:12px}.category-module-map h2{color:color-mix(in srgb, var(--page-accent) 80%, #14212f);margin-bottom:8px;font-size:13px}.category-module-map div{gap:6px;display:grid}.category-module-map button{color:#22313f;background:#fff;border-color:#d8e6f1;justify-content:flex-start;min-height:30px}.category-module-map button.active{background:color-mix(in srgb, var(--page-accent) 16%, white);border-color:var(--page-accent)}.page-ribbon span,.page-ribbon strong{color:#1b5f99;text-transform:uppercase;font-size:12px}.page-ribbon em{color:var(--muted);font-style:normal}.favorite-row,.utility-row{display:flex}.favorite-row button,.favorite-toggle,.utility-row button,.mini-action{color:#145a91;background:linear-gradient(#fff,#e8f4ff);border-color:#a9cde9;min-height:30px;font-size:12px}.picker-grid button.cat-sorting{border-left:4px solid #1673c7}.picker-grid button.cat-searching{border-left:4px solid #d85f3f}.picker-grid button.cat-machine-learning-and-ai{border-left:4px solid #7c5bb0}.input-messages{grid-column:1/-1}.input-messages span{color:#60491b;background:#fff8e8;border:1px solid #efd59b;border-radius:7px;padding:7px 9px;font-size:12px}.ds-input-panel{background:linear-gradient(#fff,#edf8f2);border:1px solid #b8ddc9;border-radius:10px;order:3;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:10px;margin:14px 0;padding:12px;display:grid}.ds-input-panel h2{color:#17633d;margin-bottom:4px}.ds-input-panel label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:900;display:grid}.ds-input-panel .preset-row,.ds-input-panel .input-messages{grid-column:1/-1}.index-ruler{gap:7px;display:flex;position:absolute;top:4px;left:22px;right:22px}.index-ruler span{color:var(--muted);text-align:center;flex:1;font-size:10px}.pointer-labels,.bucket-panel{color:#1b5f99;z-index:4;background:#fffffff0;border:1px solid #bfd8ef;border-radius:7px;flex-wrap:wrap;gap:8px;padding:7px 9px;display:flex;position:absolute;bottom:14px;left:14px}.bucket-panel{color:#60491b;bottom:52px}.pause-filter{align-items:center;gap:7px;display:flex}.pause-filter select{min-width:100px}.result-banner{border-radius:7px;margin-bottom:10px;padding:9px 10px;font-weight:800}.result-banner.hit{color:#17633d;background:#e6f6eb}.result-banner.miss{color:#923a24;background:#fff1ed}.timeline-map{grid-template-columns:repeat(auto-fit,minmax(8px,1fr));gap:2px;display:grid}.timeline-map:before{color:var(--muted);content:"mini-map";text-transform:uppercase;grid-column:1/-1;font-size:10px;font-weight:900}.timeline-map button{background:#c8d9e8;border:0;border-radius:999px;min-height:8px;padding:0}.timeline-map button.active{background:#d85f3f}.timeline-map button.swap{background:#7c5bb0}.timeline-map button.complete{background:#21834d}.json-inspector summary{color:#145a91;cursor:pointer;font-weight:800}.quiz-card{color:#31404b;background:#f1f7fc;border:1px solid #d4e5f3;border-radius:7px;margin-top:8px;padding:9px}.learning-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.learning-tabs button{color:#145a91;background:linear-gradient(#fff,#e8f4ff);border-color:#a9cde9;min-height:30px;font-size:12px}.learning-tabs button.active{color:#fff;background:linear-gradient(#3b9df2,#126fbd)}.guide-panel{gap:9px;display:grid}.guide-panel h3{color:#145a91;margin:6px 0 0;font-size:13px}.guide-panel ul{margin:0;padding-left:18px}.guide-panel li{color:var(--muted);margin:4px 0}.visual-legend{color:#31404b;background:#f1f7fc;border:1px solid #d4e5f3;border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;padding:9px;display:flex}.visual-legend.persistent{z-index:5;justify-content:flex-start;margin-bottom:10px;position:relative}.visual-legend span{border-radius:999px;width:12px;height:12px;display:inline-block}.visual-legend .red{background:#d85f3f}.visual-legend .green{background:#22a06b}.visual-legend .blue{background:#1673c7}.visual-legend .purple{background:#7c5bb0}.reason-card{color:#60491b;background:#fff8e8;border:1px solid #efd59b;border-radius:7px;padding:9px;font-size:13px}.run-disabled-reason{color:#923a24;background:#fff1ed;border:1px solid #e28d75;border-radius:7px;flex-basis:100%;padding:8px 10px;font-size:13px;font-weight:800}.code-lines{gap:1px;display:grid}.code-lines span{white-space:pre;border-radius:4px;min-height:16px;padding:1px 4px;display:block}.active-line{color:#725400;background:#fff2cf;font-weight:900}.quiz-card.correct{color:#17633d;background:#e6f6eb;border-color:#9bd2ae}.quiz-card.missed{color:#923a24;background:#fff1ed;border-color:#e28d75}.onboarding-panel{background:#fff8e8;border:1px solid #e6c875;border-radius:8px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.onboarding-panel span{color:#60491b}.app-error{color:#14212f;background:#f7fbff;align-items:center;min-height:100vh;padding:24px;display:grid}.app-error section{background:#fff;border:1px solid #c9d8e8;border-radius:8px;max-width:620px;margin:auto;padding:20px;box-shadow:0 14px 36px #1a558914}.complexity-curves{background:#f8fbff;border:1px solid #d4e5f3;border-radius:8px;align-items:end;gap:8px;height:120px;padding:12px;display:flex}.complexity-curves span{color:#fff;background:linear-gradient(#7db7e8,#1673c7);border-radius:6px 6px 0 0;flex:1;justify-content:center;align-items:end;padding:5px 2px;font-size:11px;font-weight:900;display:flex}.progress-pill{color:#17633d;background:#e9f7ee;border:1px solid #9bd2ae;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.compare-links{flex-wrap:wrap;gap:6px;display:flex}.compare-links span,.quiz-score,.selection-summary{color:#17633d;background:#e9f7ee;border:1px solid #9bd2ae;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.selection-summary{width:fit-content;margin-bottom:6px;display:inline-flex}.study-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.study-meta span{color:var(--muted);background:#f1f7fc;border:1px solid #d4e5f3;border-radius:7px;gap:2px;padding:9px;display:grid}.study-meta strong{color:#145a91;text-transform:capitalize}.right-panel p,.right-panel li,.right-panel pre,.guide-panel,.quiz-card{overflow-wrap:anywhere}.tiny-sparkline{align-items:end;gap:3px;height:28px;display:flex}.tiny-sparkline span{background:#7db7e8;border-radius:3px 3px 0 0;flex:1}.full-canvas .right-panel,.full-canvas .bottom-panel,.full-canvas .sidebar{display:none}.full-canvas.app-shell{grid-template-columns:1fr}[data-theme=dark] .app-shell{--ink:#f3f7fb;--muted:#b8c7d6;--panel:#172434;--line:#44627e;--surface:#101722;background:#0d1420}[data-theme=dark] .topbar,[data-theme=dark] .right-panel,[data-theme=dark] .bottom-panel,[data-theme=dark] .visual-canvas,[data-theme=dark] .compare-inputs,[data-theme=dark] .compare-results,[data-theme=dark] .algorithm-picker{background:linear-gradient(#1d3044,#142235)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] pre{color:#e9f1f8;background:#102033}[data-theme=dark] .top-menu,[data-theme=dark] .visual-controls,[data-theme=dark] .quiz-card,[data-theme=dark] .study-meta span,[data-theme=dark] .complexity-grid span,[data-theme=dark] .metric-row span{color:#f3f7fb;background:#142235;border-color:#44627e}.focus-mode .sidebar,.focus-mode .right-panel,.focus-mode .bottom-panel,.focus-mode .category-hero,.focus-mode .algorithm-picker,.focus-mode .category-module-map,.focus-mode .input-strip,.focus-mode .ds-input-panel,.focus-mode .visual-controls{display:none}.focus-mode.app-shell,.focus-mode .lab-grid{grid-template-columns:1fr}.mobile-category-tabs{display:none}[data-density=compact] .canvas-zone,[data-density=compact] .right-panel section,[data-density=compact] .bottom-panel section{padding:10px}[data-density=compact] button,[data-density=compact] .file-button{min-height:30px;padding:5px 8px}[data-classroom=true]{font-size:18px}[data-reduced-motion=true] *{transition-duration:.001ms!important;animation-duration:.001ms!important}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.mobile-menu-fab{color:#0f4f8d;z-index:75;background:linear-gradient(#fff,#e8f4ff);border-color:#a9cde9;align-items:center;gap:7px;min-height:44px;padding-inline:12px;font-weight:900;display:inline-flex;position:fixed;top:12px;left:12px;box-shadow:0 12px 30px #0f4f8d33}.mobile-menu-backdrop{opacity:0;pointer-events:none;z-index:70;background:#08131f6b;border:0;border-radius:0;width:100%;height:100%;min-height:0;padding:0;transition:opacity .16s;display:block;position:fixed;top:0;bottom:0;left:0}.mobile-menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}.mobile-drawer-shell{z-index:80;width:min(300px,100vw - 32px);max-width:min(300px,100vw - 32px);height:100dvh;transition:transform .2s;display:block;position:fixed;top:0;left:0;transform:translate(-105%)}.mobile-menu-open .mobile-drawer-shell{transform:translate(0)}.mobile-drawer-close{color:#123c63;z-index:2;background:#fff;border-color:#ffffff4d;align-items:center;min-height:40px;padding:8px;display:inline-flex;position:absolute;top:10px;right:10px}.mobile-drawer-shell .sidebar{padding:18px 14px;width:100%;height:100%;padding-top:62px;display:flex;overflow-y:auto}.mobile-drawer-shell .sidebar button{min-height:40px}.app-shell.sidebar-collapsed .mobile-drawer-shell .brand div:last-child,.app-shell.sidebar-collapsed .mobile-drawer-shell .sidebar-submenu,.app-shell.sidebar-collapsed .mobile-drawer-shell .icon-style-panel,.app-shell.sidebar-collapsed .mobile-drawer-shell .recent-box,.app-shell.sidebar-collapsed .mobile-drawer-shell .category-list button>span:last-child{display:initial}.app-shell.sidebar-collapsed .mobile-drawer-shell .brand div:last-child,.app-shell.sidebar-collapsed .mobile-drawer-shell .sidebar-submenu,.app-shell.sidebar-collapsed .mobile-drawer-shell .icon-style-panel,.app-shell.sidebar-collapsed .mobile-drawer-shell .recent-box{display:grid}.app-shell.sidebar-collapsed .mobile-drawer-shell .category-icon{margin:0}.category-list{grid-template-columns:1fr;margin-top:0}.local-note{display:none}.lab-grid,.bottom-panel,.compare-layout,.category-hero,.learning-paths,.ds-input-panel,.picker-filters,.onboarding-panel{grid-template-columns:1fr}.right-panel{border-left:0;max-height:none}.topbar{padding-left:96px}.desktop-sidebar-toggle,.mobile-low-priority,.top-actions .pwa-status{display:none}.top-actions{flex-wrap:nowrap}.input-strip{grid-template-columns:1fr 1fr}}@media (width<=680px){.topbar,.compare-header{flex-direction:column;align-items:stretch}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.topbar{gap:var(--space-2);padding:8px 10px 8px 76px}.canvas-header{flex-direction:column;align-items:stretch}.category-section-strip{justify-content:flex-start}.top-actions,.selector,.speed{width:100%}.view-switch{width:auto}.view-switch button{flex:1 1 0;min-width:0}.top-actions{grid-template-columns:repeat(4,minmax(40px,1fr));display:grid}.top-menu{max-width:calc(100vw - 20px);top:96px;left:10px;right:10px}.settings-menu{right:10px}.mobile-category-tabs{display:none}select{width:100%;min-width:0}.category-list,.input-strip,.rsa-grid{grid-template-columns:1fr}.canvas-zone{padding:12px}.algorithm-hero{display:none}.control-panel{background:#f7fbfff7;border-top:1px solid #bfd8ef;grid-template-columns:repeat(5,minmax(38px,1fr));margin-inline:-12px;padding:8px 10px;display:grid;position:sticky;bottom:0}.control-panel .primary{grid-column:span 2;min-width:0}.control-panel .btn-reset,.control-panel .btn-danger,.control-panel .speed,.control-panel .pause-filter,.control-panel .run-disabled-reason{grid-column:1/-1}.speed,.pause-filter{margin-left:0}.speed input,.pause-filter select{width:100%;min-width:0}[data-density=compact] button,[data-density=compact] .file-button{min-height:40px}.picker-search,.visual-controls,.page-ribbon,.compare-notes{align-items:stretch}.picker-search{flex-wrap:wrap}.picker-search input,.picker-count{flex:100%}.picker-grid button,.comparison-bars article,.learning-paths article,.category-module-map article{min-width:0}.learning-tabs button{min-height:40px}.visual-canvas{padding:14px}.bar-stage{gap:5px;min-height:260px}.log-list button{grid-template-columns:32px minmax(72px,auto) minmax(0,1fr)}.timeline-map{display:none}.category-module-map{max-height:330px;overflow:auto}.category-module-map button,.favorite-toggle,.utility-row button,.mini-action{min-height:40px}.right-panel{width:100%;min-width:0;max-width:100vw;overflow-x:hidden}.right-panel section{min-width:0}.panel-tools{display:none}.right-panel input[type=range]{width:100%}.bottom-panel{grid-template-columns:1fr}.aimer-site-footer{text-align:left;grid-template-columns:1fr;padding:16px 14px}.aimer-site-footer p,.aimer-site-footer small{text-align:left}.bottom-panel section{border-right:0}.comparison-row{min-width:620px}}@media (width<=360px){.mobile-menu-fab{gap:0;width:44px;padding-inline:10px;font-size:0;overflow:hidden}.mobile-menu-fab svg{flex:none}.topbar{padding-left:66px}}
