.learn .article{max-width:720px;margin:0 auto;padding:120px 24px 40px}.learn .article.after{padding-top:24px;padding-bottom:100px}.crumbs{font-size:.82rem;color:var(--text-muted);margin-bottom:20px}.crumbs a{color:var(--text-secondary);text-decoration:none}.crumbs a:hover{color:var(--highlight)}.learn .article h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:12px}.article-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:24px}.article-meta a{color:var(--text-secondary)}.learn .article h2{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:48px 0 16px}.learn .article p,.learn .article ul{font-size:.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}.learn .article .lead{font-size:1.08rem;color:var(--text);line-height:1.75}.learn .article ul{padding-left:22px}.learn .article li{margin-bottom:8px}.learn .article a{color:var(--highlight);text-decoration:underline;text-underline-offset:2px}.learn .article a:hover{color:var(--text)}.learn .article .crumbs a,.learn .article .article-meta a{text-decoration:none}.article-footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}.learn .article .article-footer a{color:var(--text-secondary);text-decoration:none}.learn .article .article-footer a:hover{color:var(--highlight)}.learn-cards{padding:8px 0 100px}.learn-cards .soon{font-size:.9rem;color:var(--text-muted);margin-top:28px}.calc label{display:block;font-size:.8rem;font-weight:600;color:var(--text);margin-bottom:8px}.calc-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.calc input{flex:1 1 220px;min-width:0;font:inherit;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1rem;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text)}.calc input:focus-visible{outline:2px solid var(--highlight);outline-offset:1px}.calc input[aria-invalid=true]{border-color:#d93025}.presets{display:flex;flex-wrap:wrap;gap:8px}.presets button{font:inherit;font-size:.8rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;padding:7px 12px;border-radius:100px;border:0;background:var(--tag-bg);color:var(--text);cursor:pointer}.presets button:hover{background:#e3e5e8}.presets button:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}.calc-err{color:#d93025!important;font-size:.85rem!important;margin:10px 0 0!important}.calc-out{margin-top:20px}.calc-note{font-size:.8rem!important;color:var(--text-muted)!important;margin-top:12px}.calc .scroll-x{overflow-x:auto;margin-bottom:16px}.calc table.vals{border-collapse:collapse;font-size:.82rem;min-width:100%}.calc table.vals caption{text-align:left;font-weight:600;color:var(--text);padding-bottom:6px}.calc table.vals th,.calc table.vals td{padding:6px 10px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.calc table.vals th{font-weight:500;color:var(--text-muted)}.calc table.vals th small{display:block;font-size:.72rem;font-weight:400}.calc table.vals th[scope=row]{text-align:left;font-weight:700}.calc table.vals td.on{background:#e8f7ee;color:#137333;font-weight:700}.calc .s-H{color:#c25e00}.calc .s-C{color:#1a73e8}.calc .sym{font-family:Georgia,serif;font-style:italic;font-weight:400;color:var(--text-muted)}.calc-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:8px}.calc-result>div{background:var(--tag-bg);border-radius:10px;padding:12px 14px}.calc-result dt{font-size:.74rem;color:var(--text-muted);margin-bottom:4px}.calc-result dd{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.05rem;font-weight:700;color:var(--text);overflow-wrap:anywhere}.calc-result .path{display:flex;flex-wrap:wrap;gap:4px}.calc .chip{display:inline-block;min-width:1.6em;text-align:center;padding:0 6px;border-radius:6px;font-size:.85rem;background:#fff;border:1px solid var(--border)}.sources li{font-size:.9rem}@media(max-width:480px){.learn .article{padding:100px 16px 32px}}.poster-wrap{max-width:1160px;margin:0 auto;padding:8px 16px 0}.poster{--bg: #0b0f1f;--surface: #121832;--surface2: #19203f;--line: #262e55;--text: #edf0ff;--mute: #9aa3cc;--hot: #ffb627;--cold: #4cc9f0;--warm: #a78bfa;--best: #ff5d9e;--serif: Palatino, "Palatino Linotype", "Book Antiqua", Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--math: "Cambria Math", "STIX Two Math", "Latin Modern Math", Georgia, "Times New Roman", serif;background:var(--bg);color:var(--text);border-radius:28px;padding:56px 60px 40px;font-family:var(--sans);line-height:1.55;font-size:15px}.poster *,.poster *:before,.poster *:after{box-sizing:border-box}.poster :where(h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0;padding:0}.poster :where(ul,ol){list-style:none}.poster sup,.poster sub{line-height:0}.ph-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:44px}.brand{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text)}.kind{font-size:13px;color:var(--mute)}.ph h2{font-family:var(--serif);font-weight:700;color:#fff;font-size:clamp(2.6rem,6.4vw,5rem);line-height:1;letter-spacing:-.025em;max-width:11em}.ph .tag{margin-top:20px;max-width:58ch;color:var(--mute);font-size:1.1rem;line-height:1.6}.hero{margin-top:36px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px 26px 18px}.hero figcaption{margin-top:10px;color:var(--mute);font-size:.86rem;max-width:80ch}.hero-dg{max-height:240px}@keyframes draw{to{stroke-dashoffset:0}}.hero.armed .hero-path{stroke-dasharray:1;stroke-dashoffset:1}.hero.armed.play .hero-path{animation:draw 2.8s cubic-bezier(.6,0,.2,1) .2s forwards}.assume{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.plate{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0}.plate>h3{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:#fff}.chap{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:24px;margin-top:72px}.num{grid-row:1 / span 2;font-family:var(--serif);font-size:5.2rem;font-weight:700;line-height:.82;color:#29326a;-webkit-user-select:none;user-select:none}.ch h3{font-family:var(--serif);font-size:clamp(1.45rem,2.6vw,1.95rem);font-weight:700;line-height:1.15;letter-spacing:-.01em;color:#fff}.ch p{margin-top:6px;color:var(--mute);font-size:.95rem}.cb{grid-column:2;margin-top:24px;min-width:0}.chap h4{font-size:.86rem;font-weight:600;color:var(--text);margin:24px 0 8px}.chap h4:first-child{margin-top:0}.note{color:var(--mute);font-size:.92rem;margin-top:10px}.note.lead{color:var(--text);margin-top:0;font-size:1rem}.note.center{text-align:center}.note.mono,.mono{font-family:var(--mono);font-size:.82rem}.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px;align-items:start}.two.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:24px}.plate+.two.even{margin-top:28px}.sub-block{margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}.sub-block .sb{font-family:var(--serif);font-size:1.35rem;font-weight:700;color:#fff;margin:0}.sub-block .sbs{color:var(--mute);font-size:.92rem;margin-top:4px}.fx{font-family:var(--math);font-size:1.3rem;background:var(--surface2);border-radius:12px;padding:14px 18px;margin:14px 0 0;overflow-x:auto;white-space:nowrap;color:#fff}.fx+.note{margin-top:14px}.fx.small{font-size:1.05rem;padding:10px 14px;margin:8px 0 0}.fx.inline{display:inline-block;margin:0 0 0 8px;padding:1px 10px;font-size:1rem;vertical-align:middle}.m{font-style:italic}.fx sub{font-size:.68em}.sum{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1;margin:0 .18em}.sum small{font-size:.6em;min-height:1em}.sum b{font-weight:400;font-size:1.35em}.frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .2em}.frac>span:first-child{border-bottom:1px solid currentColor;padding:0 .35em .12em}.frac>span:last-child{padding:.12em .35em 0}.dg{display:block;width:100%;height:auto;font-family:var(--mono)}.dg.trellis{min-width:520px;max-width:820px;margin:0 auto}.scroll-x{overflow-x:auto}.poster table{border-collapse:separate;border-spacing:4px;width:100%;font-family:var(--mono);font-size:.86rem}.poster caption{text-align:left;font-family:var(--sans);font-size:.82rem;color:var(--mute);padding-bottom:6px}.poster .sym{font-family:var(--math);font-style:italic;color:var(--text)}.poster th{font-weight:600;color:var(--mute);padding:6px 8px;text-align:center}.poster th small{display:block;font-weight:400;font-size:.72rem}.poster td{background:var(--surface);border-radius:8px;padding:8px 10px;text-align:center;color:var(--text)}.poster td.diag{background:color-mix(in srgb,var(--warm) 24%,var(--surface));font-weight:700}.poster td.on{background:color-mix(in srgb,var(--best) 24%,var(--surface));color:#fff;font-weight:700}.poster td .bp{display:inline;margin-left:6px;font-size:.7rem;color:var(--mute)}.poster .corner{font-size:.7rem;font-weight:400;text-align:left}.poster .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.s-H,.s-HOT{color:var(--hot)!important}.s-C,.s-COLD{color:var(--cold)!important}.s-WARM{color:var(--warm)!important}.trio{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:14px;margin:18px 0}.trio h4{margin-top:0}.chip{display:inline-block;min-width:1.7em;text-align:center;padding:0 7px;border-radius:6px;font-family:var(--mono);font-size:.85rem;font-weight:700;background:var(--surface2)}.parts{display:grid;gap:5px 14px;grid-template-columns:auto 1fr;font-size:.9rem}.parts>div{display:contents}.parts dt{font-family:var(--math);font-style:italic;color:#fff;text-align:center;font-size:1.05rem}.parts dd{color:var(--mute)}.seq li{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:.88rem;padding:7px 12px;background:var(--surface);border-radius:8px;margin-bottom:6px}.seq b{color:#fff}.conv{margin-top:40px}.conv h4{margin-top:0}.convbars li{display:grid;grid-template-columns:124px 1fr;gap:12px;align-items:center;margin-bottom:6px;font-family:var(--mono);font-size:.78rem;color:var(--mute)}.stack{display:flex;height:24px;border-radius:7px;overflow:hidden}.stack .seg{display:block;position:relative}.stack .seg span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:700;font-size:.72rem;color:#0b0f1f}.lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}.lane{display:flex;flex-direction:column;gap:8px;padding:26px 26px 24px}.lane+.lane{border-left:1px solid var(--line)}.lane .pn{font-size:.82rem;color:var(--mute)}.lane .gl{font-family:var(--serif);font-size:2.7rem;line-height:1.1;color:#fff}.lane h4{font-family:var(--serif);font-size:1.35rem;font-weight:700;color:#fff;margin:0}.lane p{color:var(--mute);font-size:.92rem;flex:1}.lane .find{font-family:var(--math);font-style:italic;font-size:1.3rem;color:#fff;margin-top:6px}.lane .algo{font-weight:600;font-size:.92rem;color:var(--best)}.lane .cost{font-family:var(--mono);font-size:.78rem;color:var(--mute)}.total{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:16px;padding:14px 16px;background:var(--surface);border-radius:12px}.total span{font-size:.82rem;color:var(--mute)}.total b{font-family:var(--math);font-size:1.2rem;color:#fff;font-weight:400}.total b .chip{font-size:.8rem}.total em{width:100%;font-style:normal;font-size:.82rem;color:var(--mute)}.insight{margin-top:28px;padding:16px 20px;border-left:3px solid var(--best);background:color-mix(in srgb,var(--best) 9%,var(--surface));border-radius:0 12px 12px 0;color:var(--text);font-size:.97rem;max-width:80ch}.brute li{display:grid;grid-template-columns:96px 1fr 76px;gap:12px;align-items:center;margin-bottom:6px;font-family:var(--mono);font-size:.82rem}.brute .p{display:flex;gap:3px}.brute .p .chip{min-width:1.5em;padding:0 5px;font-size:.78rem}.brute .bar{height:12px;background:var(--surface);border-radius:6px;overflow:hidden}.brute .bar span{display:block;height:100%;background:var(--hot);border-radius:6px;opacity:.75}.brute .top .bar span{background:var(--best);opacity:1}.brute .n{text-align:right;color:var(--mute)}.brute .top .n{color:#fff;font-weight:700}.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stat{background:var(--surface);border-radius:16px;padding:20px 14px;text-align:center}.stat b{display:block;font-family:var(--serif);font-size:2.4rem;font-weight:700;letter-spacing:-.02em;color:var(--hot);line-height:1.1}.stat.good b{color:var(--best)}.stat span{display:block;font-size:.82rem;color:var(--mute);margin-top:6px}.stat em{font-style:normal;font-family:var(--math);color:var(--text)}.em li{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center;padding:11px 14px;border-radius:12px;background:var(--surface);margin-bottom:8px;font-size:.9rem}.em li b{font-family:var(--mono);font-size:.86rem}.em .estep b{color:var(--cold)}.em .mstep b{color:var(--hot)}.em .r b{color:var(--mute);font-size:1.4rem}.em li span{color:var(--mute)}.gamma{margin-top:14px}.notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:80px;padding-top:36px;border-top:1px solid var(--line)}.notes h3{font-family:var(--serif);font-size:1.4rem;font-weight:700;color:#fff}.bul li{position:relative;padding-left:18px;margin-top:12px;font-size:.92rem;color:var(--mute)}.bul li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:2px;background:var(--mute);opacity:.7}.bul li strong{color:var(--text);font-weight:600}.notes h3+.bul li:first-child{margin-top:16px}.note.init{font-family:var(--math);font-size:1rem;color:var(--text);margin-top:10px}.note.init b{font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--mute)}.pf{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:44px;padding-top:18px;border-top:1px solid var(--line);font-size:.84rem;color:var(--mute)}.pf .b{color:#fff;font-weight:700}.pf .u{font-family:var(--mono);color:var(--text)}.poster-dl{text-align:right;margin:12px 4px 0;font-size:.85rem}.poster-dl a{color:var(--text-secondary);text-decoration:none}.poster-dl a:hover{color:var(--highlight)}@media(max-width:960px){.poster{padding:40px 32px 32px}.chap{grid-template-columns:64px minmax(0,1fr);column-gap:16px}.num{font-size:3.8rem}}@media(max-width:880px){.assume,.notes{grid-template-columns:minmax(0,1fr)}.notes{gap:36px}.two,.two.even{grid-template-columns:minmax(0,1fr);gap:24px}.lanes{grid-template-columns:minmax(0,1fr)}.lane+.lane{border-left:0;border-top:1px solid var(--line)}}@media(max-width:640px){.poster{padding:28px 18px 24px;border-radius:20px}.ph-top{margin-bottom:28px}.hero{padding:16px 12px 12px;border-radius:16px}.hero{overflow-x:auto}.hero-dg{min-width:640px}.hero figcaption{position:sticky;left:0;max-width:300px}.chap{display:block;margin-top:56px}.num{display:block;font-size:2.6rem;margin-bottom:8px}.trio{grid-template-columns:1fr}.convbars li{grid-template-columns:1fr;gap:4px}.brute li{grid-template-columns:84px 1fr 66px;gap:8px}.stats{grid-template-columns:1fr}.poster-wrap{padding:8px 8px 0}}.capture body{background:#0b0f1f}.capture .header,.capture .article,.capture .poster-dl,.capture .after,.capture #voronoi-bg{display:none!important}.capture .poster-wrap{padding:0;max-width:none}.capture .poster{border-radius:0}.card .poster>:not(.ph){display:none!important}.card .poster{height:630px;padding:36px 48px;overflow:hidden}.card .ph-top{margin-bottom:24px}.card .ph h2{font-size:4rem}.card .ph .tag{margin-top:14px;font-size:1.08rem}.card .hero{margin-top:30px;padding:22px 24px 12px}.card .hero figcaption{display:none}.card .hero-dg{max-height:none}@media(prefers-reduced-motion:reduce){.hero.armed .hero-path{stroke-dashoffset:0;animation:none}}
