.algo-page,html:has(.algo-page){scrollbar-gutter:stable}.algo-page{--a:#ff6b35;--ink:#172033;--muted:#667085;--line:#e7e9ee;min-height:100vh;color:var(--ink);background:#f6f7f9}.algo-hero{display:flex;padding:110px max(24px,calc((100vw - 1440px) / 2)) 54px;color:white;background:radial-gradient(circle at 82% 10%,#ff8c5526,transparent 30%),#111827;justify-content:space-between;gap:42px}.algo-hero>div{max-width:760px}.algo-hero span{display:inline-flex;font-size:12px;font-weight:800;letter-spacing:.12em;color:#ffad86;align-items:center;gap:7px}.algo-hero h1{margin:13px 0 15px;font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.045em}.algo-hero h1 em{font-style:normal;color:#ff7a45}.algo-hero p{max-width:650px;font-size:15px;line-height:1.8;color:#b8c0cf}.algo-hero dl{display:flex;align-self:flex-end;margin:0}.algo-hero dl div{min-width:115px;padding:5px 20px;border-left:1px solid #ffffff20}.algo-hero dt{font-size:25px;font-weight:800;color:#fff}.algo-hero dd{margin:4px 0 0;font-size:12px;color:#98a2b3}.algo-layout{display:grid;max-width:1440px;min-height:900px;margin:auto;background:#fff;grid-template-columns:320px minmax(0,1fr);border-inline:1px solid var(--line)}.algo-sidebar{position:sticky;top:64px;height:calc(100vh - 64px);padding:18px 14px;overflow:auto;background:#fbfbfc;border-right:1px solid var(--line);align-self:start;scrollbar-gutter:stable;overscroll-behavior:contain}.algo-search{display:flex;padding:0 11px;background:#fff;border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px}.algo-search:focus-within{border-color:#ff9b75;box-shadow:0 0 0 3px #ff6b3515}.algo-search input{width:100%;height:40px;font-size:13px;background:transparent;border:0;outline:0}.algo-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.algo-filters select,.algo-timeline select{height:34px;padding:0 8px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px}.algo-count{margin:14px 4px 8px;font-size:11px;color:var(--muted)}.algo-list-tabs{display:grid;padding:3px;margin-top:12px;background:#f1f3f6;border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 1fr;gap:4px}.algo-list-tabs button{padding:7px;font-size:11px;color:#737d8e;cursor:pointer;background:transparent;border:0;border-radius:6px}.algo-list-tabs button.active{font-weight:800;color:#bd4317;background:#fff;box-shadow:0 1px 4px #10182812}.algo-problems{display:grid;gap:4px}.algo-problems button{display:grid;width:100%;padding:10px 9px;color:inherit;text-align:left;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px}.algo-problems button:hover{background:#fff;border-color:var(--line)}.algo-problems button.planned{cursor:not-allowed;opacity:.72}.algo-problems button.planned i{padding:3px 6px;font-size:10px;font-style:normal;color:#788295;white-space:nowrap;background:#eef1f5;border-radius:99px}.algo-problems button.active{background:#fff4ef;border-color:#ffb89d}.algo-no{font:700 11px ui-monospace;color:#98a2b3}.algo-problems strong{display:block;font-size:13px}.algo-problems small{display:block;margin-top:3px;font-size:10px;color:#8a93a3}.algo-level,.algo-problems i{padding:3px 6px;font-size:10px;font-style:normal;font-weight:800;border-radius:99px}.easy{color:#18864b;background:#e8f7ee}.medium{color:#a36500;background:#fff3d6}.hard{color:#c4322d;background:#fee9e8}.algo-workspace{min-width:0;padding:30px clamp(18px,3vw,44px) 70px}.algo-title{padding-bottom:21px;border-bottom:1px solid var(--line)}.algo-title>div{display:flex;font-size:11px;color:#8a93a3;gap:9px;align-items:center}.algo-title h2{margin:12px 0 7px;font-size:30px;letter-spacing:-.025em}.algo-title p{margin:0;color:var(--muted)}.algo-tabs{display:none}.algo-learn{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:18px;margin-top:22px}.algo-followups,.algo-learn details,.algo-player,.algo-prompt,.algo-recall,.algo-runner{background:#fff;border:1px solid var(--line);border-radius:14px}.algo-prompt{padding:20px}.algo-followups h3,.algo-prompt h3{margin:0 0 10px;font-size:15px}.algo-learn details p,.algo-prompt p{font-size:14px;line-height:1.8;color:#525d70}.algo-recall{grid-row:span 2;padding:20px;background:linear-gradient(145deg,#fff8f4,#fff)}.algo-recall>span{display:inline-flex;padding:4px 9px;font-size:11px;font-weight:800;color:white;background:#ff6b35;border-radius:99px}.algo-recall ol{display:grid;padding-left:25px;font-size:13px;line-height:1.65;color:#414b5c;gap:10px}.algo-recall li::marker{font-weight:800;color:var(--a)}.algo-recall>strong{display:block;padding-top:15px;margin-top:18px;font-size:11px;color:#bd4317;border-top:1px dashed #ffc5ae}.algo-recall>p{margin:7px 0 0;font-size:14px;font-weight:650;line-height:1.7}.algo-learn details{padding:15px 20px}.algo-followups summary,.algo-learn summary{font-weight:750;cursor:pointer}.algo-complexity{padding:10px 12px;font-weight:700;background:#f6f7f9;border-radius:8px}.algo-visual-section{margin-top:24px}.algo-paths{display:flex;gap:8px;margin-bottom:8px}.algo-paths button{padding:8px 12px;font-size:12px;color:#596274;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:9px}.algo-paths button.active{color:#bd4317;background:#fff3ed;border-color:#ff9d77}.algo-player{overflow:hidden}.algo-player-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);min-height:310px}.algo-canvas{position:relative;display:flex;min-width:0;padding:26px;overflow:auto;color:white;background:linear-gradient(155deg,#192235,#101827);flex-direction:column;justify-content:center}.algo-canvas-label{position:absolute;top:14px;left:17px;font:700 10px ui-monospace;letter-spacing:.12em;color:#71809a;text-transform:uppercase}.algo-cells{display:flex;align-items:flex-end;justify-content:center;gap:8px;min-width:max-content;padding-top:30px}.algo-cell{display:grid;grid-template-rows:20px var(--bar) 18px;align-items:end;min-width:45px;text-align:center;transition:.25s}.algo-cell b{display:flex;height:100%;min-height:42px;padding:5px;color:#e8edf5;background:#283348;border:1px solid #43506a;border-radius:8px 8px 4px 4px;align-items:center;justify-content:center}.algo-cell.active b{color:#fff;background:#b7451f;border-color:#ff9a70;box-shadow:0 0 0 3px #ff6b3525}.algo-cell.settled b{background:#17623f;border-color:#3fb779}.algo-cell small{font:10px ui-monospace;color:#748198}.algo-pointer{font:700 10px ui-monospace;color:#ffad8b;align-self:center}.algo-aux{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:25px}.algo-aux code,.algo-aux span{padding:5px 8px;font-size:10px;color:#b8c3d6;border:1px solid #354159;border-radius:7px}.algo-code-trace{padding:18px 0 18px 46px;margin:0;overflow:auto;font:12px/1.62 ui-monospace;color:#9aa7bd;background:#0b1020}.algo-code-trace li{min-height:20px;padding:0 12px 0 5px;white-space:pre;border-left:2px solid transparent}.algo-code-trace li::marker{color:#44516a}.algo-code-trace li.active{color:#fff;background:#ff6b3520;border-color:#ff6b35}.algo-action{display:flex;padding:14px 18px;background:#fff9f6;border-top:1px solid var(--line);gap:10px}.algo-action>svg{margin-top:4px;color:var(--a)}.algo-action small{font-weight:800;color:#a44c2b}.algo-action p{margin:3px 0;font-size:13px;color:#414b5c}.algo-action strong{font:700 12px ui-monospace;color:#18864b}.algo-timeline{display:flex;align-items:center;gap:7px;padding:10px 14px;border-top:1px solid var(--line)}.algo-timeline button{display:grid;width:34px;height:34px;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:8px;place-items:center}.algo-timeline button.primary{color:white;background:var(--a);border-color:var(--a)}.algo-timeline button:disabled{opacity:.35}.algo-timeline input{min-width:80px;flex:1;accent-color:var(--a)}.algo-timeline span{font:11px ui-monospace;color:#7b8495}.algo-runner{margin-top:24px;overflow:hidden}.algo-runner-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px}.algo-runner textarea{display:block;width:100%;min-height:300px;padding:18px;font:13px/1.65 ui-monospace;color:#dce4f1;background:#0b1020;border:0;outline:0;resize:vertical;border-block:1px solid #263147;tab-size:2}.algo-runner-actions button{padding:9px 15px;font-weight:750;color:white;cursor:pointer;background:var(--a);border:0;border-radius:8px}.algo-runner-actions button:disabled{cursor:not-allowed;opacity:.5}.algo-runner-actions span{font-size:10px;color:#8a93a3}.algo-results{display:grid;gap:7px;padding:0 15px 15px}.algo-results>div{display:flex;gap:8px;padding:9px 11px;border-radius:8px}.algo-results .pass{color:#137642;background:#edfaf2}.algo-results .fail{color:#a72b27;background:#fff0ef}.algo-results .neutral{color:#46536b;background:#f1f4f8}.algo-results strong{font-size:12px}.algo-results p{margin:2px 0 0;font:10px ui-monospace}.algo-followups{padding:20px;margin-top:24px}.algo-followups details{padding:11px 0;border-top:1px solid var(--line)}.algo-followups p{margin:8px 0 0;font-size:13px;line-height:1.7;color:#596274}@media (width >= 901px){.algo-layout{height:calc(100vh - 64px);min-height:620px;overflow:hidden}.algo-sidebar{position:static;height:100%}.algo-workspace{height:100%;overflow-y:auto;scrollbar-gutter:stable}}@media (width <= 900px){.algo-hero{display:block;padding:92px 20px 34px}.algo-hero dl{margin-top:25px}.algo-hero dl div{min-width:90px;padding-left:12px}.algo-layout{display:block}.algo-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.algo-problems{display:flex;overflow-x:auto}.algo-problems button{min-width:245px}.algo-workspace{padding:24px 15px 55px}.algo-tabs{position:sticky;top:58px;z-index:4;display:grid;padding:4px;margin:18px 0 10px;background:#fff;border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(3,1fr)}.algo-tabs button{padding:9px;background:transparent;border:0;border-radius:7px}.algo-tabs button.active{font-weight:800;color:#bd4317;background:#fff0e9}.mobile-hidden{display:none}.algo-learn{grid-template-columns:1fr}.algo-recall{grid-row:auto}.algo-player-grid{grid-template-columns:1fr}.algo-code-trace{max-height:300px}.algo-canvas{min-height:300px}.algo-timeline{flex-wrap:wrap}.algo-timeline input{order:2;flex-basis:60%}}@media (prefers-reduced-motion:reduce){.algo-cell{transition:none}}:root[data-theme=dark]{.algo-page{--ink:#e7ecf7;--muted:#93a1bb;--line:#263149;color:var(--ink);background:#0d1320}.algo-filters select,.algo-followups,.algo-layout,.algo-learn details,.algo-list-tabs button.active,.algo-paths button,.algo-player,.algo-problems button.active,.algo-problems button:hover,.algo-prompt,.algo-recall,.algo-runner,.algo-search,.algo-timeline select{color:var(--ink);background:#161d2d;border-color:var(--line)}.algo-list-tabs,.algo-sidebar{background:#111827;border-color:var(--line)}.algo-recall{background:linear-gradient(145deg,#2a1c14,#161d2d)}.algo-count,.algo-learn details p,.algo-problems small,.algo-prompt p,.algo-recall ol,.algo-title p{color:var(--muted)}.algo-complexity{color:var(--ink);background:#111827}.algo-followups details,.algo-learn details,.algo-title{border-color:var(--line)}.easy{color:#6ee7a8;background:#12291f}.medium{color:#ffd18c;background:#2c2214}.hard{color:#ff9e94;background:#2c1a18}}