:root{--ink:#1f2430;--ink-2:#4a5263;--ink-3:#7b8394;--paper:#fff;--line:#1f24301f;--night:#1d1b2b;--ok:#2f9e6b;--bad:#d6455d;--radius:14px;--ease-out:cubic-bezier(0.22,1,0.36,1);--font:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--s0:#8a93a6;--s1:#3a86c8;--s2:#2f9e6b;--s3:#c9a227;--s4:#e0663a;--s5:#c2417a;--s6:#7b4fd1}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#fff;background:var(--paper);color:#1f2430;color:var(--ink);font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font);line-height:1.55}button{background:none;border:none;color:inherit;cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{border-radius:6px;outline:2px solid #602eb8;outline:2px solid hsl(var(--uh,262) 60% 45%);outline-offset:2px}input[type=range]{accent-color:#6d39c6;accent-color:hsl(var(--uh,262) 55% 50%);width:100%}kbd{border:1px solid #1f24301f;border:1px solid var(--line);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.75em;margin-left:6px;padding:1px 5px}.btn{align-items:center;background:#5d36a1;background:hsl(var(--uh,262) 50% 42%);border-radius:999px;color:#fff;display:inline-flex;font-size:.92rem;font-weight:700;gap:6px;justify-content:center;padding:9px 18px;text-decoration:none;transition:transform .15s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s;transition:transform .15s var(--ease-out),background .2s,box-shadow .2s}.btn:hover:not(:disabled){box-shadow:0 6px 16px #58339940;box-shadow:0 6px 16px hsl(var(--uh,262) 50% 40%/.25);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-soft{background:#e7def7;background:hsl(var(--uh,262) 60% 92%);color:#432a6f;color:hsl(var(--uh,262) 45% 30%)}.btn-ghost{background:#0000;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);color:#4a5263;color:var(--ink-2)}.link-btn{color:inherit;font-weight:700;opacity:.8;padding:4px 0;text-decoration:none}.link-btn:hover{opacity:1;text-decoration:underline}.icon-btn{border-radius:50%;font-size:1rem;height:36px;width:36px}.icon-btn:hover{background:#1f24301f;background:var(--line)}.viz-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#ffffffb3;border-radius:999px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);font-size:.85rem;font-weight:700;padding:5px 12px;transition:background .2s,color .2s,box-shadow .2s,transform .15s cubic-bezier(.22,1,.36,1);transition:background .2s,color .2s,box-shadow .2s,transform .15s var(--ease-out)}.chip:hover{transform:translateY(-1px)}.chip.is-on{background:#5d36a1;background:hsl(var(--uh,262) 50% 42%);box-shadow:none;color:#fff}.chip-sm{font-size:.78rem;padding:3px 10px}.chip-label{align-self:center;color:#7b8394;color:var(--ink-3);font-size:.8rem;font-weight:700;margin-right:2px}.chip-series.is-on{background:var(--series)}.hero{background:radial-gradient(ellipse at 50% 45%,#ee7019 0,#b2400c 90%);color:#fff;display:grid;height:100vh;min-height:520px;overflow:hidden;place-items:center;position:relative}.hero-canvas{height:100%;inset:0;position:absolute;width:100%}.hero{cursor:crosshair}.hero-nav{align-items:center;display:flex;justify-content:space-between;left:0;padding:22px 32px;position:absolute;right:0;top:0;z-index:2}.brand{color:#fff;font-weight:800;letter-spacing:.02em;text-decoration:none}.hero-copy{animation:rise 1s cubic-bezier(.22,1,.36,1) both;animation:rise 1s var(--ease-out) both;padding:0 16px;position:relative;text-align:center;text-shadow:0 2px 18px #28080073;z-index:1}.hero-nav{text-shadow:0 1px 8px #28080066}.hero-copy h1{font-size:clamp(2.6rem,7vw,4.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.05}.hero-copy p{font-size:1.15rem;margin:14px auto 28px;max-width:34ch;opacity:.82}.btn-hero{background:#fff;color:#1d1b2b;color:var(--night);font-size:1rem;padding:12px 34px}.hero-scroll{animation:bob 2.4s ease-in-out infinite;bottom:26px;left:50%;opacity:.6;position:absolute;transform:translateX(-50%)}.courses{margin:0 auto;max-width:1180px;padding:72px 32px 40px}.courses-head h2{font-size:2.2rem;font-weight:800;letter-spacing:-.01em}.courses-head p{color:#7b8394;color:var(--ink-3);margin-top:4px}.course-row{margin-top:48px}.course-row-head{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.course-row-head h3{font-size:1.5rem;font-weight:800}.course-row-head p{color:#4a5263;color:var(--ink-2)}.course-term{color:hsl(var(--h) 45% 42%);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.course-row .btn-soft{--uh:var(--h);white-space:nowrap}.unit-tiles{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.unit-tile{animation:rise .6s cubic-bezier(.22,1,.36,1) both;animation:rise .6s var(--ease-out) both;background:hsl(var(--uh) 70% 95%);border-radius:14px;border-radius:var(--radius);color:hsl(var(--uh) 40% 22%);display:flex;flex-direction:column;gap:4px;min-height:112px;overflow:hidden;padding:16px;position:relative;text-align:left;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;transition:transform .25s var(--ease-out),box-shadow .25s}.unit-tile:after{background:hsl(var(--uh) 65% 82%);border-radius:50%;bottom:-30px;content:"";height:90px;position:absolute;right:-26px;transition:transform .4s cubic-bezier(.22,1,.36,1);transition:transform .4s var(--ease-out);width:90px}.unit-tile:hover{box-shadow:0 14px 28px hsl(var(--uh) 40% 40%/.18);transform:translateY(-4px)}.unit-tile:hover:after{transform:scale(1.6)}.unit-tile>*{position:relative;z-index:1}.unit-tile-label{font-size:.74rem;font-weight:800;letter-spacing:.06em;opacity:.7;text-transform:uppercase}.unit-tile strong{font-size:1.02rem;line-height:1.25}.unit-tile-meta{font-size:.75rem;font-weight:700;margin-top:auto;opacity:.65}.home-foot{border-top:1px solid #1f24301f;border-top:1px solid var(--line);color:#7b8394;color:var(--ink-3);font-size:.88rem;margin-top:72px;padding-top:20px}.home-foot a{color:inherit}.picker{animation:fade .2s both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1412208c;inset:0;position:fixed;z-index:900}.picker-panel{animation:rise .35s cubic-bezier(.22,1,.36,1) both;animation:rise .35s var(--ease-out) both;border-radius:20px;inset:24px;margin:0 auto;max-width:1100px;overflow:auto;padding:24px 32px 40px;position:absolute}.picker-head,.picker-panel{background:#fff;background:var(--paper)}.picker-head{align-items:center;display:flex;justify-content:space-between;padding:8px 0 12px;position:sticky;top:-24px;z-index:1}.picker-head h2{font-size:1.3rem;font-weight:800}.picker-course{margin-top:22px}.picker-course h3{align-items:baseline;color:hsl(var(--h) 45% 30%);display:flex;font-size:1.1rem;gap:10px;margin-bottom:10px}.picker-course h3 small{color:#7b8394;color:var(--ink-3);font-size:.8rem;font-weight:700}.picker-units{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.picker-unit{animation:rise .4s cubic-bezier(.22,1,.36,1) both;animation:rise .4s var(--ease-out) both;background:hsl(var(--uh) 70% 95%);border-radius:10px;color:hsl(var(--uh) 40% 22%);display:flex;flex-direction:column;font-size:.92rem;font-weight:700;padding:10px 14px;text-align:left;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s;transition:transform .2s var(--ease-out),box-shadow .2s}.picker-unit small{font-size:.72rem;letter-spacing:.05em;opacity:.65;text-transform:uppercase}.picker-unit:hover{transform:translateY(-2px)}.picker-unit.is-current{box-shadow:inset 0 0 0 2px hsl(var(--uh) 50% 45%)}.chapter{background:hsl(var(--uh) 70% calc(95% + var(--fade)*5%));min-height:100vh;transition:background .5s}.chapter-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsl(var(--uh) 70% 95%/calc(.6 + var(--fade)*.4));border-bottom:1px solid hsl(var(--uh) 30% 50%/calc(var(--fade)*.18));position:sticky;top:0;transition:box-shadow .3s;z-index:50}.chapter-header.is-compact{box-shadow:0 6px 20px #0000000f}.chapter-bar{align-items:center;color:hsl(var(--uh) 40% 25%);display:flex;gap:16px;padding:12px 32px 6px}.chapter-course{border-radius:8px;font-size:1rem;font-weight:800;margin-right:auto;padding:4px 10px}.chapter-course:hover{background:hsl(var(--uh) 50% 85%/.6)}.chapter-count{font-size:.82rem;font-weight:700;opacity:.7}.unit-strip{display:flex;gap:8px;overflow-x:auto;padding:6px 32px 12px;scrollbar-width:thin}.unit-chip{align-items:flex-start;background:hsl(var(--ch) 60% 90%/.7);border-radius:10px;color:hsl(var(--ch) 40% 25%);display:flex;flex:0 0 auto;flex-direction:column;max-width:200px;padding:6px 12px;transition:padding .3s cubic-bezier(.22,1,.36,1),background .2s,transform .2s cubic-bezier(.22,1,.36,1);transition:padding .3s var(--ease-out),background .2s,transform .2s var(--ease-out)}.unit-chip small{font-size:.68rem;font-weight:800;letter-spacing:.05em;opacity:.7;text-transform:uppercase}.unit-chip span{font-size:.85rem;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-chip:hover{background:hsl(var(--ch) 60% 85%);transform:translateY(-1px)}.unit-chip.is-current{background:hsl(var(--ch) 50% 42%);color:#fff}.is-compact .unit-chip{padding:4px 10px}.is-compact .unit-chip small{display:none}.chapter-body{grid-gap:48px;display:grid;gap:48px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);margin:0 auto;max-width:1320px;padding:32px 32px 64px}.col-read{max-width:560px}.chapter-intro{animation:rise .6s cubic-bezier(.22,1,.36,1) both;animation:rise .6s var(--ease-out) both;margin:0 auto;max-width:1320px;opacity:calc(1 - var(--fade)*.55);padding:64px 32px 32px}.chapter-label{color:hsl(var(--uh) 45% 40%);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.chapter-intro h1{color:hsl(var(--uh) 35% 18%);font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.015em;line-height:1.08;margin:6px 0 12px}.chapter-summary{color:#4a5263;color:var(--ink-2);font-size:1.15rem}.lesson{animation:rise .6s cubic-bezier(.22,1,.36,1) both;animation:rise .6s var(--ease-out) both;border-top:1px solid hsl(var(--uh) 30% 50%/.15);padding:22px 0}.lesson h2{color:hsl(var(--uh) 35% 22%);font-size:1.2rem;font-weight:800;margin-bottom:8px}.lesson p{color:#4a5263;color:var(--ink-2);font-size:1.02rem}.topic-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:4px 0 16px}.topic-list li{background:hsl(var(--uh) 60% 92%);border-radius:8px;color:hsl(var(--uh) 40% 25%);font-size:.86rem;font-weight:700;padding:4px 10px}.topic-list small{margin-left:4px;opacity:.6}.checkpoint{background:#fff;border:1px solid #d0d0d0;border-radius:3px;margin-top:16px;padding:18px 20px;transition:border-color .3s}.checkpoint.is-right{border-color:#2f9e6b;border-color:var(--ok)}.checkpoint.is-wrong{border-color:#d6455d;border-color:var(--bad)}.checkpoint-tag{color:#6b6b6b;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.checkpoint-q{color:#000;font-size:1.1rem;font-weight:600;margin:4px 0 12px}.checkpoint-opts{grid-gap:6px;display:grid;gap:6px}.opt{align-items:center;background:#fff;border:1px solid #d0d0d0;border-radius:3px;color:#1d1d1d;display:flex;font-size:1rem;gap:12px;padding:8px 12px;text-align:left;transition:background .2s,border-color .2s}.opt:hover:not(:disabled){background:hsl(var(--uh) 60% 97%);border-color:#9a9a9a}.opt-letter{border:1px solid #b8b8b8;border-radius:2px;color:#444;display:grid;flex:0 0 24px;font-size:.8rem;font-weight:600;height:24px;place-items:center}.opt.is-answer{animation:pop .35s cubic-bezier(.22,1,.36,1);animation:pop .35s var(--ease-out);background:#eaf7ef}.opt.is-answer,.opt.is-answer .opt-letter{border-color:#2f9e6b;border-color:var(--ok)}.opt.is-answer .opt-letter{background:#2f9e6b;background:var(--ok);color:#fff}.opt.is-miss{animation:shake .35s;background:#fdeef0;border-color:#d6455d;border-color:var(--bad)}.checkpoint-why{animation:fade .3s both;color:#333;font-size:1rem;margin-top:12px}.checkpoint-why .link-btn{color:#1b92c4;color:var(--accent,#1b92c4);font-weight:600;margin-left:8px}.col-viz{position:relative}.viz-panel{animation:rise .6s cubic-bezier(.22,1,.36,1) .1s both;animation:rise .6s .1s var(--ease-out) both;background:#fff;background:var(--paper);border-radius:20px;box-shadow:0 1px 0 #1f24301f,0 18px 48px hsl(var(--uh) 40% 30%/.12);box-shadow:0 1px 0 var(--line),0 18px 48px hsl(var(--uh) 40% 30%/.12);overflow:hidden;position:sticky;top:132px}.viz-tabs{border-bottom:1px solid #1f24301f;border-bottom:1px solid var(--line);display:flex}.viz-tabs button{color:#7b8394;color:var(--ink-3);flex:1 1;font-weight:600;padding:12px;position:relative;transition:color .2s}.viz-tabs button small{background:#1f24301f;background:var(--line);border-radius:3px;font-size:.75rem;margin-left:4px;padding:1px 7px}.viz-tabs button.is-on{color:hsl(var(--uh) 45% 30%)}.viz-tabs button.is-on:after{animation:grow .3s cubic-bezier(.22,1,.36,1);animation:grow .3s var(--ease-out);background:hsl(var(--uh) 50% 45%);border-radius:3px;bottom:-1px;content:"";height:3px;left:20%;position:absolute;right:20%}.viz-body{animation:fade .3s both;padding:20px 22px 22px}.viz-hint{border-top:1px dashed #1f24301f;border-top:1px dashed var(--line);color:#7b8394;color:var(--ink-3);font-size:.86rem;margin-top:14px;padding-top:10px}.chapter-foot{display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1320px;padding:0 32px 56px}.foot-link{background:hsl(var(--uh) 60% 92%);border-radius:3px;color:hsl(var(--uh) 40% 22%);display:flex;flex-direction:column;font-size:1.05rem;font-weight:600;padding:16px 20px;text-align:left;transition:transform .2s cubic-bezier(.22,1,.36,1);transition:transform .2s var(--ease-out)}.foot-link small{font-size:.78rem;opacity:.7}.foot-link:hover{transform:translateY(-2px)}.foot-next{background:hsl(var(--uh) 50% 42%);color:#fff;margin-left:auto;text-align:right}.viz{grid-gap:14px;display:grid;gap:14px}.viz-row{display:flex}.viz-readout{font-feature-settings:"tnum";background:hsl(var(--uh) 50% 97%);border-radius:3px;color:#4a5263;color:var(--ink-2);font-size:.92rem;font-variant-numeric:tabular-nums;padding:8px 12px}.viz-legend{color:#7b8394;color:var(--ink-3);display:flex;font-size:.8rem;gap:16px}.sw{border-radius:2px;display:inline-block;height:10px;margin-right:4px;width:10px}.ham-caption{color:#7b8394;color:var(--ink-3);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.sq-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.num-input{border:1px solid #1f24301f;border:1px solid var(--line);border-radius:3px;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);padding:8px 10px;text-align:center;width:64px}.mips-count{color:#7b8394;color:var(--ink-3);font-size:.8rem;font-weight:700;margin-left:auto}svg text{font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font)}.bit{align-items:center;background:hsl(var(--uh) 30% 95%);border-radius:3px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:1px;height:56px;justify-content:center;transition:background .2s,color .2s,transform .15s cubic-bezier(.22,1,.36,1);transition:background .2s,color .2s,transform .15s var(--ease-out);width:44px}.bit strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.25rem}.bit small{color:#7b8394;color:var(--ink-3);font-size:.66rem}.bit.is-on{background:hsl(var(--uh) 55% 45%);color:#fff}.bit.is-on small{color:#ffffffbf}.bit:hover:not(:disabled){transform:translateY(-2px)}.bit:disabled{cursor:default;opacity:1}.bit-sm{border-radius:3px;height:34px;width:30px}.bit-sm strong{font-size:1rem}.truth-stage{gap:14px;padding:8px 0}.switch,.truth-stage{align-items:center;display:flex}.switch{flex-direction:column;font-weight:600;gap:4px}.switch-track{background:#d9dce4;border-radius:3px;height:28px;position:relative;transition:background .25s;width:52px}.switch-knob{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:22px;left:3px;position:absolute;top:3px;transition:transform .25s cubic-bezier(.22,1,.36,1);transition:transform .25s var(--ease-out);width:22px}.switch.is-on .switch-track{background:hsl(var(--uh) 55% 48%)}.switch.is-on .switch-knob{transform:translateX(24px)}.switch-val{color:#7b8394;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.85rem}.truth-wire{animation:march .8s linear infinite;background:repeating-linear-gradient(90deg,hsl(var(--uh) 40% 70%) 0 8px,#0000 8px 14px);border-radius:3px;flex:1 1;height:3px}.bulb{background:#eceef3;border-radius:3px;min-width:112px;padding:14px 12px;position:relative;text-align:center;transition:background .3s,color .3s,box-shadow .3s}.bulb strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.6rem}.bulb-label{font-size:.8rem;font-weight:700;opacity:.75}.bulb.is-on{background:#ffd95a;box-shadow:0 0 0 6px #ffd95a55,0 0 36px #ffcf3a;color:#4a3a00}.truth-table{border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);text-align:center;width:100%}.truth-table td,.truth-table th{border-bottom:1px solid #1f24301f;border-bottom:1px solid var(--line);padding:7px}.truth-table th{color:#7b8394;color:var(--ink-3);font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font);font-size:.85rem}.truth-table tbody tr{cursor:pointer;transition:background .2s}.truth-table tbody tr:hover{background:hsl(var(--uh) 50% 97%)}.truth-table tr.is-active{background:hsl(var(--uh) 60% 92%)}.truth-table .is-true{color:#2f9e6b;color:var(--ok);font-weight:600}.truth-table .is-false{color:#d6455d;color:var(--bad)}.venn-svg{width:100%}.venn-fill{fill:#0000;transition:fill .35s}.venn-fill.is-on{fill:hsl(var(--uh) 65% 78%/.75)}.venn-mid.is-off{fill:#fff;fill:var(--paper)}.venn-ring{fill:none;stroke:hsl(var(--uh) 35% 35%);stroke-width:2}.venn-label{fill:hsl(var(--uh) 35% 30%);font-size:18px;font-weight:600}.venn-dot{transition:transform .6s cubic-bezier(.22,1,.36,1);transition:transform .6s var(--ease-out)}.venn-dot circle{fill:#fff;stroke:hsl(var(--uh) 25% 60%);stroke-width:1.5;transition:fill .3s}.venn-dot text{text-anchor:middle;fill:#1f2430;fill:var(--ink);font-size:12px;font-weight:600}.venn-dot.is-hit circle{fill:hsl(var(--uh) 55% 45%);stroke:none}.venn-dot.is-hit text{fill:#fff}.venn-pickers{grid-gap:6px;display:grid;gap:6px}.venn-picker{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.venn-picker-name{font-weight:600;width:20px}.num{border-radius:3px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);font-size:.85rem;font-weight:700;height:30px;transition:background .2s,color .2s;width:30px}.num.is-on{background:hsl(var(--uh) 55% 45%);box-shadow:none;color:#fff}.func-svg{width:100%}.func-set{fill:hsl(var(--uh) 60% 96%);stroke:hsl(var(--uh) 30% 75%)}.func-title{text-anchor:middle;fill:#7b8394;fill:var(--ink-3);font-size:12px;font-weight:600}.func-arrow{fill:none;stroke:hsl(var(--uh) 45% 45%);stroke-width:2;stroke-dasharray:300;animation:draw .5s cubic-bezier(.22,1,.36,1) both;animation:draw .5s var(--ease-out) both}.func-head{fill:hsl(var(--uh) 45% 45%)}.func-node{cursor:pointer}.func-node circle{fill:#fff;stroke:hsl(var(--uh) 30% 55%);stroke-width:2;transition:fill .2s,stroke .2s,r .2s}.func-node text{text-anchor:middle;font-size:14px;font-weight:600;pointer-events:none}.func-node.is-picked circle{fill:hsl(var(--uh) 55% 45%);stroke:none}.func-node.is-picked text{fill:#fff}.func-node.is-target circle{stroke-dasharray:4 3;animation:spin 6s linear infinite;transform-origin:center}.func-node.is-loose circle{stroke:#d6455d;stroke:var(--bad)}.func-node.is-missed circle{fill:#fdecef}.func-node.is-double circle{fill:#fff4d6;stroke:#c9a227}.func-badges{display:flex;gap:8px}.badge{border-radius:3px;font-size:.82rem;font-weight:600;padding:4px 12px;transition:background .3s,color .3s}.badge.is-yes{background:#e7f6ee;color:#2f9e6b;color:var(--ok)}.badge.is-yes:before{content:"✓ "}.badge.is-no{background:#f2f3f6;color:#7b8394;color:var(--ink-3);text-decoration:line-through}.array-sliders,.mod-controls{grid-gap:14px;display:grid;font-size:.9rem;gap:14px;grid-template-columns:1fr 1fr}.array-sliders{grid-template-columns:repeat(3,1fr)}.mod-svg{max-height:250px;width:100%}.mod-face{fill:hsl(var(--uh) 60% 96%);stroke:hsl(var(--uh) 30% 80%)}.mod-tick circle{fill:#fff;stroke:hsl(var(--uh) 30% 70%);transition:fill .15s}.mod-tick text{text-anchor:middle;font-size:12px;font-weight:600}.mod-tick.is-here circle{fill:hsl(var(--uh) 55% 45%);stroke:none}.mod-tick.is-here text{fill:#fff}.mod-hand{stroke:hsl(var(--uh) 40% 30%);stroke-width:3;stroke-linecap:round;transition:transform .12s linear}.mod-pin{fill:hsl(var(--uh) 40% 30%)}.mod-cipher{grid-gap:8px;display:grid;font-size:.9rem;gap:8px}.cipher-row{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.cipher-cell{align-items:center;background:hsl(var(--uh) 50% 97%);border-radius:3px;display:flex;flex-direction:column;padding:8px 4px}.cipher-cell span,.cipher-cell strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.2rem}.cipher-cell strong{color:hsl(var(--uh) 50% 38%)}.cipher-cell small{color:#7b8394;color:var(--ink-3);font-size:.66rem;text-align:center}.dice-pair{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.die{background:#fff;border-radius:3px;box-shadow:inset 0 0 0 2px hsl(var(--uh) 30% 75%),0 4px 10px #0000000f;display:grid;grid-template:repeat(3,1fr) /repeat(3,1fr);height:58px;padding:8px;width:58px}.die.is-rolled{animation:roll .45s cubic-bezier(.22,1,.36,1);animation:roll .45s var(--ease-out)}.pip{background:hsl(var(--uh) 40% 30%);border-radius:50%;height:9px;place-self:center;width:9px}.die[data-face="1"] .pip{grid-area:2/2}.die[data-face="2"] .pip:first-child{grid-area:1/1}.die[data-face="2"] .pip:nth-child(2){grid-area:3/3}.die[data-face="3"] .pip:first-child{grid-area:1/1}.die[data-face="3"] .pip:nth-child(2){grid-area:2/2}.die[data-face="3"] .pip:nth-child(3){grid-area:3/3}.die[data-face="4"] .pip:first-child{grid-area:1/1}.die[data-face="4"] .pip:nth-child(2){grid-area:1/3}.die[data-face="4"] .pip:nth-child(3){grid-area:3/1}.die[data-face="4"] .pip:nth-child(4){grid-area:3/3}.die[data-face="5"] .pip:first-child{grid-area:1/1}.die[data-face="5"] .pip:nth-child(2){grid-area:1/3}.die[data-face="5"] .pip:nth-child(3){grid-area:2/2}.die[data-face="5"] .pip:nth-child(4){grid-area:3/1}.die[data-face="5"] .pip:nth-child(5){grid-area:3/3}.die[data-face="6"] .pip:nth-child(odd){grid-column:1}.die[data-face="6"] .pip:nth-child(2n){grid-column:3}.dice-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.hist{align-items:flex-end;border-bottom:1px solid #1f24301f;border-bottom:1px solid var(--line);display:flex;gap:4px;height:150px;padding-bottom:20px}.hist-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;position:relative}.hist-bars{align-items:flex-end;display:flex;flex:1 1;gap:2px;justify-content:center;width:100%}.hist-exact,.hist-obs{border-radius:4px 4px 0 0;transition:height .4s cubic-bezier(.22,1,.36,1);transition:height .4s var(--ease-out);width:42%}.hist-exact,.sw-exact{background:hsl(var(--uh) 25% 82%)}.hist-obs,.sw-obs{background:hsl(var(--uh) 55% 48%)}.hist-x{bottom:-20px;color:#7b8394;color:var(--ink-3);font-size:.75rem;font-weight:700;position:absolute}.graph-svg{cursor:crosshair;width:100%}.g-edge{stroke:hsl(var(--uh) 20% 70%);stroke-width:2.5;animation:fade .3s both;transition:stroke .3s,stroke-width .3s}.g-edge.is-tree{stroke:hsl(var(--uh) 55% 45%);stroke-width:4}.g-weight{text-anchor:middle;fill:#7b8394;fill:var(--ink-3);stroke:#fff;stroke-width:4px;font-size:12px;font-weight:600;paint-order:stroke}.g-node{cursor:pointer}.g-node circle{fill:#fff;stroke:hsl(var(--uh) 35% 50%);stroke-width:2;animation:pop .35s cubic-bezier(.22,1,.36,1) both;animation:pop .35s var(--ease-out) both;transform-box:fill-box;transform-origin:center;transition:fill .25s,stroke .25s}.g-node text{text-anchor:middle;font-size:13px;font-weight:600;pointer-events:none}.g-node .g-deg{fill:hsl(var(--uh) 50% 40%);font-size:11px}.g-node.is-picked circle{fill:hsl(var(--uh) 55% 45%);stroke:none}.g-node.is-picked>text:first-of-type{fill:#fff}.g-node.is-done circle{fill:hsl(var(--uh) 60% 88%)}.g-node.is-relaxed circle{stroke:#e0663a;stroke-width:3}.graph-info{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:auto 1fr}.adj{border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.78rem;text-align:center}.adj td,.adj th{height:22px;width:24px}.adj th{color:#7b8394;color:var(--ink-3);font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font)}.adj td{color:#c3c7d1}.adj td.is-one{background:hsl(var(--uh) 55% 48%);border-radius:4px;color:#fff}.graph-facts{grid-gap:4px;color:#4a5263;color:var(--ink-2);display:grid;font-size:.88rem;gap:4px}.bits-row{display:flex;flex-wrap:wrap;gap:6px}.bit.is-sign:not(.is-on){box-shadow:inset 0 0 0 2px hsl(var(--uh) 50% 60%/.5)}.bits-reads{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.bits-reads div{background:hsl(var(--uh) 50% 97%);border-radius:3px;display:flex;flex-direction:column;padding:10px 12px}.bits-reads span{color:#7b8394;color:var(--ink-3);font-size:.74rem;font-weight:700}.bits-reads strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.35rem}.bits-counter{align-items:center;display:flex;gap:8px}.bits-flash{color:#d6455d;color:var(--bad);font-size:.85rem;font-weight:600;opacity:0;transition:opacity .3s}.bits-flash.is-on{animation:shake .4s;opacity:1}.ham-data{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.ham-data .ham-caption{margin-right:6px}.ham-word{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr)}.ham-bit{align-items:center;background:hsl(var(--uh) 30% 95%);border-radius:3px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;padding:8px 0 18px;position:relative;transition:background .2s,box-shadow .2s,transform .2s}.ham-bit strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.2rem}.ham-bit small{font-size:.68rem}.ham-bit em,.ham-bit small{color:#7b8394;color:var(--ink-3)}.ham-bit em{bottom:3px;font-size:.62rem;font-style:normal;position:absolute}.ham-bit.is-parity{background:#fff6dc}.ham-bit.is-on strong{color:hsl(var(--uh) 50% 35%)}.ham-bit.is-covered{box-shadow:inset 0 0 0 2px hsl(var(--uh) 55% 50%);transform:translateY(-2px)}.ham-bit.is-noisy{background:#fdecef}.ham-bit.is-found{animation:pulse 1s ease-in-out infinite;box-shadow:inset 0 0 0 2px #d6455d;box-shadow:inset 0 0 0 2px var(--bad)}.ham-checks{grid-gap:5px;display:grid;font-size:.88rem;gap:5px}.ham-check{border-radius:3px;cursor:default;padding:6px 10px;transition:background .2s}.ham-check.is-ok{background:#eef8f2}.ham-check.is-bad{background:#fdecef}.asm-line{background:#1d1b2b;background:var(--night);border-radius:3px;color:#e9e6ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.95rem;padding:8px 12px}.reg{align-items:center;display:flex;gap:10px}.reg-name{color:#7b8394;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-weight:700;width:34px}.reg-bits{display:flex;gap:4px}.reg-hex{color:#4a5263;color:var(--ink-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.9rem}.reg.is-result .bit{animation:pop .35s cubic-bezier(.22,1,.36,1) both;animation:pop .35s var(--ease-out) both}.reg.is-result .bit:nth-child(2){animation-delay:30ms}.reg.is-result .bit:nth-child(3){animation-delay:60ms}.reg.is-result .bit:nth-child(4){animation-delay:90ms}.reg.is-result .bit:nth-child(5){animation-delay:.12s}.reg.is-result .bit:nth-child(6){animation-delay:.15s}.reg.is-result .bit:nth-child(7){animation-delay:.18s}.reg.is-result .bit:nth-child(8){animation-delay:.21s}.reg-rule{background:#1f2430;background:var(--ink);height:2px;margin-left:44px;max-width:70%;width:260px}.shift-slider{font-size:.9rem}.mips-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1.3fr 1fr}.mips-code{background:#1d1b2b;background:var(--night);border-radius:3px;color:#cfcbe8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.82rem;list-style:none;padding:10px 0}.mips-code li{border-left:3px solid #0000;display:flex;gap:6px;padding:2px 12px;transition:background .2s}.mips-code li.is-pc{background:#ffffff1a;border-left-color:#ffd95a;color:#fff}.mips-label{color:#8f89b8;width:40px}.mips-side{grid-gap:10px;align-content:start;display:grid;gap:10px}.mips-regs{border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.85rem;width:100%}.mips-regs th{color:#7b8394;color:var(--ink-3);padding:3px 8px;text-align:left}.mips-regs td{padding:3px 8px;text-align:right}.mips-regs tr.is-changed{animation:flash .8s}.mips-mem{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(5,1fr)}.mem-cell{background:hsl(var(--uh) 40% 96%);border-radius:3px;padding:6px 2px;text-align:center;transition:background .3s,box-shadow .3s}.mem-cell small{color:#7b8394;color:var(--ink-3);display:block;font-size:.58rem}.mem-cell small,.mem-cell strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.mem-cell.is-ptr{box-shadow:inset 0 0 0 2px hsl(var(--uh) 55% 45%)}.mem-cell.is-out{background:#fff6dc}.mips-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.array-grid{grid-gap:4px;display:grid;gap:4px}.array-cell{align-items:center;background:hsl(var(--uh) 30% 96%);border-radius:3px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;padding:8px 4px;transition:background .2s,transform .15s}.array-cell small{color:#7b8394;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.7rem}.array-cell span{font-weight:600}.array-cell.is-before{background:hsl(var(--uh) 50% 90%)}.array-cell.is-picked{background:hsl(var(--uh) 55% 45%);color:#fff;transform:scale(1.04)}.array-cell.is-picked small{color:#ffffffbf}.mem-strip{display:flex;flex-wrap:wrap;gap:3px}.mem-slot{animation:rise .35s cubic-bezier(.22,1,.36,1) both;animation:rise .35s var(--ease-out) both;background:hsl(var(--uh) 30% 95%);border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.7rem;padding:5px 6px}.mem-slot.is-before{background:hsl(var(--uh) 50% 88%)}.mem-slot.is-picked{background:hsl(var(--uh) 55% 45%);color:#fff}.growth-svg{width:100%}.axis{stroke:#7b8394;stroke:var(--ink-3);stroke-width:1}.growth-line{fill:none;stroke-width:3;stroke-linecap:round;transition:d .2s}.growth-table{grid-gap:6px;display:grid;font-size:.85rem;gap:6px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.growth-table div{background:hsl(var(--uh) 40% 97%);border-radius:3px;display:flex;gap:6px;justify-content:space-between;padding:5px 10px}.growth-table strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.sq-track{align-items:center;background:hsl(var(--uh) 40% 97%);border-radius:3px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);display:flex;gap:8px;min-height:76px;padding:10px}.sq-end{color:#7b8394;color:var(--ink-3);font-size:.72rem;font-weight:600;text-transform:uppercase;transform:rotate(180deg);writing-mode:vertical-rl}.sq-items{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.sq-item{animation:slide-in .35s cubic-bezier(.22,1,.36,1) both;animation:slide-in .35s var(--ease-out) both;background:#fff;border-radius:3px;box-shadow:inset 0 0 0 2px hsl(var(--uh) 35% 70%);display:grid;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-weight:600;height:48px;place-items:center;width:48px}.sq-item.is-top{background:hsl(var(--uh) 55% 45%);box-shadow:none;color:#fff}.sq-log{display:flex;flex-wrap:wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.8rem;gap:6px;list-style:none;min-height:26px}.sq-log li{animation:fade .3s both;background:hsl(var(--uh) 40% 95%);border-radius:3px;padding:3px 8px}.sq-log li:first-child{background:hsl(var(--uh) 55% 88%);font-weight:700}.tree-svg{width:100%}.t-edge{stroke:hsl(var(--uh) 20% 75%);stroke-width:2}.t-node{transition:transform .45s cubic-bezier(.22,1,.36,1);transition:transform .45s var(--ease-out)}.t-node circle{fill:#fff;stroke:hsl(var(--uh) 35% 55%);stroke-width:2;transition:fill .25s,stroke .25s}.t-node text{text-anchor:middle;font-size:13px;font-weight:600}.t-node.is-done circle{fill:hsl(var(--uh) 60% 86%)}.t-node.is-current circle{fill:hsl(var(--uh) 55% 45%);stroke:none}.t-node.is-current>text:first-of-type{fill:#fff}.t-order{fill:hsl(var(--uh) 50% 38%);font-size:10px!important}.trav-seq{display:flex;flex-wrap:wrap;gap:6px}.trav-seq span{background:hsl(var(--uh) 20% 95%);border-radius:3px;color:#c3c7d1;display:grid;font-weight:600;height:30px;place-items:center;transition:background .25s,color .25s;width:30px}.trav-seq span.is-on{animation:pop .3s cubic-bezier(.22,1,.36,1);animation:pop .3s var(--ease-out);background:hsl(var(--uh) 55% 45%);color:#fff}.heap-array{display:flex;flex-wrap:wrap;gap:4px}.heap-slot{background:hsl(var(--uh) 30% 96%);border-radius:3px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);padding:4px 0;text-align:center;transition:background .25s;width:40px}.heap-slot strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.heap-slot small{color:#7b8394;color:var(--ink-3);font-size:.65rem}.heap-slot.is-hot{background:hsl(var(--uh) 55% 45%);color:#fff}.heap-slot.is-hot small{color:#ffffffb3}.hash-n{align-items:center;display:flex;font-size:.85rem;gap:8px;margin-left:auto;min-width:150px}.hash-table{grid-gap:4px;display:grid;gap:4px}.hash-row{align-items:center;border-radius:3px;display:flex;gap:8px;padding:3px 6px;transition:background .25s}.hash-row.is-path{background:#fff6dc}.hash-row.is-end{background:hsl(var(--uh) 55% 88%)}.hash-idx{color:#7b8394;color:var(--ink-3);font-size:.8rem;text-align:right;width:24px}.hash-cell,.hash-idx,.hash-link{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.hash-cell,.hash-link{animation:pop .3s cubic-bezier(.22,1,.36,1) both;animation:pop .3s var(--ease-out) both;background:#fff;border-radius:3px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);font-weight:700;min-width:44px;padding:4px 8px;text-align:center}.hash-cell.is-empty{color:#c3c7d1;font-weight:400}.hash-chain{display:flex;gap:14px}.hash-link{position:relative}.hash-link+.hash-link:before{color:#7b8394;color:var(--ink-3);content:"→";font-weight:400;left:-13px;position:absolute}.sort-bars{align-items:flex-end;display:flex;gap:4px;height:180px}.sort-bar{background:hsl(var(--uh) 30% 80%);border-radius:3px 6px 0 0;flex:1 1;position:relative;transition:height .12s,background .15s}.sort-bar span{color:#7b8394;color:var(--ink-3);font-size:.7rem;font-weight:700;left:0;position:absolute;right:0;text-align:center;top:-18px}.sort-bar.is-cmp{background:#e0663a}.sort-bar.is-done{background:hsl(var(--uh) 55% 45%)}.sort-scrub{margin-top:4px}.chapter-progress{background:hsl(var(--uh) 40% 50%/.1);height:4px}.chapter-progress span{background:hsl(var(--uh) 50% 45%);border-radius:0 4px 4px 0;display:block;height:100%;transition:width .15s linear}.title-swap{animation:swap .35s cubic-bezier(.22,1,.36,1) both;animation:swap .35s var(--ease-out) both;display:inline-block}.unit-dot{background:#e5484d;border-radius:50%;display:inline-block;height:7px;margin-left:6px;vertical-align:1px;width:7px}.unit-chip.is-current .unit-dot{box-shadow:0 0 0 2px #fff}.chapter-intro h1{font-size:clamp(2.4rem,5vw,4rem)}.section-tiles{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin-top:32px;max-width:1060px}.section-tile{animation:rise .55s cubic-bezier(.22,1,.36,1) both;animation:rise .55s var(--ease-out) both;background:#fff;background:var(--paper);border-radius:3px;box-shadow:0 1px 0 #1f24301f;box-shadow:0 1px 0 var(--line);color:hsl(var(--uh) 40% 20%);display:flex;flex-direction:column;gap:6px;overflow:hidden;padding:18px;position:relative;text-align:left;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;transition:transform .25s var(--ease-out),box-shadow .25s}.section-tile:after{background:hsl(var(--uh) 65% 90%);border-radius:50%;content:"";height:80px;position:absolute;right:-22px;top:-22px;transition:transform .4s cubic-bezier(.22,1,.36,1);transition:transform .4s var(--ease-out);width:80px}.section-tile:hover{box-shadow:0 14px 28px hsl(var(--uh) 40% 40%/.16);transform:translateY(-4px)}.section-tile:hover:after{transform:scale(1.5)}.section-tile>*{position:relative;z-index:1}.section-tile-num{color:hsl(var(--uh) 50% 45%);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.8rem;font-weight:700}.section-tile strong{font-size:1.05rem;line-height:1.25}.section-tile small{color:#7b8394;color:var(--ink-3);font-size:.78rem;font-weight:700}.scroll-hint{animation:bob-y 2.2s ease-in-out infinite;color:#7b8394;color:var(--ink-3);display:inline-block;font-size:.9rem;font-weight:600;margin-top:36px}.concept{border-top:1px solid hsl(var(--uh) 30% 50%/.15);min-height:72vh;padding:40px 0 56px;transition:opacity .4s}.concept:not(.is-active){opacity:.55}.concept-num{color:hsl(var(--uh) 50% 45%);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.8rem;font-weight:700}.concept h2{color:hsl(var(--uh) 35% 18%);font-size:1.9rem;font-weight:600;letter-spacing:-.01em;margin:4px 0 14px}.concept p{color:#4a5263;color:var(--ink-2);font-size:1.08rem;line-height:1.65;margin-bottom:12px}.concept .checkpoint{margin-top:20px}.review-btn{align-items:center;background:#fff;background:var(--paper);border-radius:3px;box-shadow:0 1px 0 #1f24301f,0 6px 16px hsl(var(--uh) 40% 40%/.1);box-shadow:0 1px 0 var(--line),0 6px 16px hsl(var(--uh) 40% 40%/.1);color:hsl(var(--uh) 40% 25%);display:inline-flex;font-weight:600;gap:10px;margin-top:22px;padding:12px 18px;position:relative;transition:background .2s,box-shadow .2s,transform .15s cubic-bezier(.22,1,.36,1);transition:background .2s,box-shadow .2s,transform .15s var(--ease-out)}.review-btn:hover{transform:translateY(-1px)}.review-btn.is-ringing{box-shadow:0 0 0 3px #e5484d33,0 6px 16px #e5484d26}.review-btn.is-ringing .bell{animation:ring 1.6s ease-in-out infinite;transform-origin:50% 10%}.review-btn.is-done{background:#e6f5ec;color:#1f6b44}.review-dot{animation:ping 1.4s cubic-bezier(0,0,.2,1) infinite;background:#e5484d;border-radius:50%;height:10px;left:27px;position:absolute;top:7px;width:10px}.viz-in{animation:viz-in .45s cubic-bezier(.22,1,.36,1) both;animation:viz-in .45s var(--ease-out) both}.viz-placeholder{align-items:center;color:#7b8394;color:var(--ink-3);display:flex;flex-direction:column;font-weight:700;gap:14px;justify-content:center;min-height:440px;text-align:center}.viz-placeholder circle{fill:none;stroke:hsl(var(--uh) 50% 80%);stroke-width:3;stroke-dasharray:6 6}.viz-placeholder p{max-width:300px}.viz-inline{margin:18px 0 6px;position:relative;top:0}.viz-inline .viz-hint{margin-top:0;padding:0 16px 14px}.seg{align-self:flex-start;background:hsl(var(--uh) 40% 95%);display:inline-flex;gap:2px;padding:3px}.seg,.seg button{border-radius:3px}.seg button{color:#7b8394;color:var(--ink-3);font-size:.85rem;font-weight:600;padding:6px 14px;transition:background .2s,color .2s}.seg button.is-on{background:#fff;background:var(--paper);box-shadow:0 1px 3px #00000014;color:hsl(var(--uh) 45% 30%)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.pop{animation:pop .35s cubic-bezier(.22,1,.36,1) both;animation:pop .35s var(--ease-out) both;display:inline-block}.expr-input{background:#fff;background:var(--paper);border:1px solid #1f24301f;border:1px solid var(--line);border-radius:3px;font-size:.95rem;padding:10px 14px;width:100%}.expr-input:focus{border-color:#0000;outline:2px solid hsl(var(--uh) 55% 55%)}.truth-row{animation:rise .35s cubic-bezier(.22,1,.36,1) both;animation:rise .35s var(--ease-out) both}.truth-row.is-mismatch td{background:#fdecef}.expr-node rect{fill:#fff;stroke:hsl(var(--uh) 35% 60%);stroke-width:2;transition:fill .25s,stroke .25s,opacity .25s}.expr-node text{text-anchor:middle;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:12px;font-weight:700}.expr-node.is-leaf rect{fill:hsl(var(--uh) 40% 96%);stroke-dasharray:3 3}.expr-node.is-done rect{fill:hsl(var(--uh) 60% 88%);stroke:none}.expr-node.is-current rect{fill:hsl(var(--uh) 55% 45%)}.expr-node.is-current text{fill:#fff}.expr-node .expr-op{fill:hsl(var(--uh) 45% 40%);font-size:10px}.expr-node.is-skipped{opacity:.28}.t-edge.is-skipped{stroke-dasharray:4 4;opacity:.4}.eq-lock{border-radius:3px;display:flex;flex-direction:column;font-size:.92rem;gap:4px;padding:12px 14px;transition:background .3s}.eq-lock.is-locked{background:#e6f5ec;color:#1f5e3d}.eq-lock.is-open{background:#fdecef;color:#8e2335}.eq-meter{grid-gap:8px;border-top:1px dashed #1f24301f;border-top:1px dashed var(--line);display:grid;gap:8px;padding-top:6px}.meter-track{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(4,1fr)}.meter-track span{background:#eceef3;border-radius:3px;height:10px;transition:background .3s}.meter-track span.is-on{background:hsl(var(--uh) 55% 48%)}.quant-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(6,1fr)}.quant-dot{border-radius:3px;display:grid;font-weight:600;height:42px;place-items:center;transition:background .3s,box-shadow .3s}.quant-dot.is-true{background:hsl(var(--uh) 55% 48%);color:#fff}.quant-dot.is-false{background:#eceef3;color:#7b8394;color:var(--ink-3)}.quant-dot.is-decider{animation:pop .4s cubic-bezier(.22,1,.36,1);animation:pop .4s var(--ease-out);box-shadow:0 0 0 3px #fff,0 0 0 6px #e0663a}.venn-universe{fill:#fbfafe;stroke:hsl(var(--uh) 30% 85%);stroke-width:2}.venn-svg .region{pointer-events:none;transition:fill .3s}.venn-svg{cursor:pointer}.venn-u{fill:#7b8394;fill:var(--ink-3);font-size:13px;font-weight:700}.venn-clear{margin-left:auto}.venn-out{grid-gap:10px;background:hsl(var(--uh) 50% 97%);border-radius:3px;display:grid;font-size:.92rem;gap:10px;padding:14px 16px}.venn-out-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px}.venn-out-k{color:#7b8394;color:var(--ink-3);display:block;font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.venn-ways{display:flex;flex-wrap:wrap;gap:6px}.venn-ways span{background:#fff;background:var(--paper);border-radius:3px;box-shadow:inset 0 0 0 1px hsl(var(--uh) 30% 85%);padding:4px 10px}.venn-forms{grid-gap:4px 10px;display:grid;gap:4px 10px;grid-template-columns:96px minmax(0,1fr)}.venn-forms dt{color:#7b8394;color:var(--ink-3);font-weight:600}.venn-forms dd{word-break:break-word}.card-regions{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.card-region{align-items:center;background:hsl(var(--uh) 40% 97%);border-radius:3px;display:flex;font-size:.82rem;font-weight:700;gap:6px;padding:4px 8px}.card-region span{flex:1 1}.card-region .icon-btn{font-weight:600;height:28px;width:28px}.ie-terms{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.ie-term{border-radius:3px;font-size:.85rem;font-weight:700;opacity:.3;padding:6px 10px;transform:scale(.95);transition:opacity .3s,transform .3s cubic-bezier(.22,1,.36,1);transition:opacity .3s,transform .3s var(--ease-out)}.ie-term.is-on{opacity:1;transform:none}.ie-term.is-plus{background:hsl(var(--uh) 55% 92%);color:hsl(var(--uh) 45% 25%)}.ie-term.is-minus{background:#fdecef;color:#8e2335}.ie-total{font-size:1.15rem;font-weight:700}.ps{border-top:1px dashed #1f24301f;border-top:1px dashed var(--line);padding-top:12px}.ps-chips{display:flex;flex-wrap:wrap;gap:5px;max-height:150px;overflow:auto}.ps-chips span{background:#fff;background:var(--paper);border-radius:3px;box-shadow:inset 0 0 0 1px hsl(var(--uh) 30% 85%);font-size:.82rem;padding:4px 9px}.rel-circle{transition:transform .6s cubic-bezier(.22,1,.36,1),r .6s cubic-bezier(.22,1,.36,1);transition:transform .6s var(--ease-out),r .6s var(--ease-out)}.rel-b{fill:hsl(var(--uh) 55% 55%/.15)}.rel-a,.rel-b{stroke:hsl(var(--uh) 45% 35%);stroke-width:2.5}.rel-a{fill:hsl(var(--uh) 55% 55%/.4)}.rel-tag{text-anchor:middle;fill:hsl(var(--uh) 45% 30%);font-size:18px;font-weight:600;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .3s;transition:transform .6s var(--ease-out),opacity .3s}.rel-badges{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.rel-badge{align-items:center;border-radius:3px;display:flex;flex-direction:column;font-weight:600;gap:2px;padding:10px 4px;text-align:center;transition:background .3s,color .3s}.rel-badge small{font-size:.7rem;font-weight:700}.rel-badge.is-yes{background:#e6f5ec;color:#1f6b44}.rel-badge.is-no{background:#f3f2f7;color:#a3a0b5;text-decoration:line-through}.cart-picker{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.cart-picker .chip-label{width:18px}.cart-swap{align-self:flex-start}.cart-board{background:hsl(var(--uh) 50% 97%);border-radius:3px;min-height:180px;overflow-x:auto;padding:12px}.cart-table{border-collapse:initial;border-spacing:5px}.cart-table th{color:#7b8394;color:var(--ink-3);font-size:.85rem}.cart-table td span{background:#fff;background:var(--paper);border-radius:3px;box-shadow:inset 0 0 0 1px hsl(var(--uh) 30% 85%);font-size:.85rem;padding:6px 9px}.cart-empty{grid-gap:4px;color:#4a5263;color:var(--ink-2);display:grid;gap:4px;min-height:160px;place-items:center;text-align:center}.cart-empty strong{font-size:1.6rem}.fgraph,.inv-svg{max-height:300px;width:100%}.fgraph-line,.inv-f{fill:none;stroke:hsl(var(--uh) 50% 42%);stroke-width:3;stroke-linecap:round}.fgraph-dot{fill:hsl(var(--uh) 50% 42%)}.hline{stroke:#e0663a;stroke-width:2;stroke-dasharray:6 4}.hline-hit{fill:none;stroke:#e0663a;stroke-width:3;animation:pop .3s cubic-bezier(.22,1,.36,1);animation:pop .3s var(--ease-out)}.machine-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;padding:10px 0}.token{background:hsl(var(--uh) 55% 45%);border-radius:50%;color:#fff;display:grid;font-weight:600;height:44px;min-width:44px;padding:0 8px;place-items:center}.token.is-ghost{background:#eceef3;color:#7b8394;color:var(--ink-3)}.token-out{background:#2f9e6b}.belt{background:repeating-linear-gradient(90deg,hsl(var(--uh) 30% 80%) 0 5px,#0000 5px 9px);border-radius:2px;height:4px;width:22px}.belt.is-run{animation:march .6s linear infinite;background:repeating-linear-gradient(90deg,hsl(var(--uh) 55% 50%) 0 5px,#0000 5px 9px)}.machine{align-items:center;background:#1d1b2b;background:var(--night);border-radius:3px;color:#e9e6ff;display:flex;flex-direction:column;padding:8px 12px;transition:transform .2s}.machine small{color:#ffd95a;font-weight:600}.machine.is-busy{box-shadow:0 0 0 4px hsl(var(--uh) 55% 70%/.5);transform:scale(1.08)}.mirror{stroke:#7b8394;stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:5 5}.inv-g{fill:none;stroke:#e0663a;stroke-width:3;stroke-linecap:round;opacity:0;transform-box:view-box;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .4s;transition:transform .8s var(--ease-out),opacity .4s}.inv-g.is-on{opacity:1;transform:matrix(0,-1,-1,0,0,0)}.inv-g.is-bad{stroke:#d6455d;stroke:var(--bad)}.inv-steps{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px}.inv-steps span{background:hsl(var(--uh) 40% 96%);border-radius:3px;padding:4px 10px}.inv-steps small{color:#7b8394;color:var(--ink-3);width:100%}.wd-caption{color:#4a5263;color:var(--ink-2);font-size:.9rem;font-weight:700}.wd-rows{grid-gap:6px;display:grid;gap:6px}.wd-row{align-items:center;animation:rise .35s cubic-bezier(.22,1,.36,1) both;animation:rise .35s var(--ease-out) both;background:hsl(var(--uh) 40% 97%);border-radius:3px;display:grid;grid-template-columns:70px 30px 1fr;padding:6px 12px}.wd-row.is-clash{background:#fdecef}.wd-row.is-clash .wd-out{animation:shake .4s;color:#d6455d;color:var(--bad)}.wd-frac{font-size:1.1rem}.wd-out{font-weight:600}.numline{width:100%}.numline-tick{stroke:#7b8394;stroke:var(--ink-3)}.numline-label{text-anchor:middle;fill:#7b8394;fill:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:10px}.numline-jump{fill:none;stroke:hsl(var(--uh) 50% 50%);stroke-width:2.5}.numline-rem{stroke:#e0663a;stroke-width:5;stroke-linecap:round}.numline-a{fill:#e0663a}.cipher-controls{grid-gap:8px;color:#4a5263;color:var(--ink-2);display:grid;font-size:.85rem;font-weight:700;gap:8px}.cipher-controls label{grid-gap:4px;display:grid;gap:4px}.cipher-k{align-items:center;display:flex!important;gap:8px;margin-left:auto;min-width:170px}.packets{display:flex;flex-wrap:wrap;gap:8px}.packet{animation:rise .4s cubic-bezier(.22,1,.36,1) both;animation:rise .4s var(--ease-out) both;background:hsl(var(--uh) 40% 97%);border-radius:3px;box-shadow:inset 0 0 0 1px #1f24301f;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:3px;padding:10px 12px;text-align:left}.packet.is-open{box-shadow:inset 0 0 0 2px hsl(var(--uh) 50% 50%)}.packet-letters{font-size:1.2rem;font-weight:600;letter-spacing:.1em}.packet-stage{color:#7b8394;color:var(--ink-3);font-size:.75rem}.packet-c{color:hsl(var(--uh) 50% 38%);font-weight:600}.packet-detail{grid-gap:4px;background:#1d1b2b;background:var(--night);border-radius:3px;color:#e9e6ff;display:grid;font-size:.85rem;gap:4px;padding:10px 14px;width:100%}.ev-bars{align-items:flex-end;display:flex;gap:10px;justify-content:center}.ev-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;max-width:64px}.ev-p{color:#7b8394;color:var(--ink-3);font-size:.75rem}.ev-track{align-items:flex-end;background:hsl(var(--uh) 30% 95%);cursor:ns-resize;display:flex;touch-action:none}.ev-fill,.ev-track{border-radius:3px;width:100%}.ev-fill{background:hsl(var(--uh) 55% 48%);transition:height .15s}.ev-x{font-size:.85rem;font-weight:600}.ev-plot{background:hsl(var(--uh) 40% 98%);border-radius:3px;width:100%}.ev-target{stroke:#e0663a;stroke-width:2;stroke-dasharray:6 4}.ev-target-label{text-anchor:end;fill:#e0663a;font-size:11px;font-weight:600}.ev-line{fill:none;stroke:hsl(var(--uh) 50% 42%);stroke-width:2}.rng-sliders{grid-template-columns:repeat(4,1fr)}.mod-tick.is-visited circle{fill:hsl(var(--uh) 60% 88%)}.rng-hop{stroke:hsl(var(--uh) 50% 50%/.5);stroke-width:1.5}.rng-seq{display:flex;flex-wrap:wrap;gap:5px}.rng-seq span{background:hsl(var(--uh) 40% 96%);border-radius:3px;font-size:.85rem;padding:4px 9px}.rng-seq .is-seed{background:#1d1b2b;background:var(--night);color:#fff}.rng-seq .is-repeat{background:#ffe1d6;box-shadow:inset 0 0 0 2px #e0663a}.lfsr{grid-gap:8px;display:grid;gap:8px}.lfsr-reg{align-items:center;display:flex;gap:4px}.lfsr-reg .is-tap{box-shadow:inset 0 0 0 2px #e0663a}.lfsr-out{font-weight:600;margin-left:8px}.relabel{grid-gap:6px;display:grid;gap:6px}.relabel-row{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.relabel-row .chip-label{width:48px}.face-input{border:1px solid #1f24301f;border:1px solid var(--line);border-radius:3px;font-size:.95rem;font-weight:600;height:40px;text-align:center;transition:background .2s,box-shadow .2s;width:40px}.face-input.is-rolled{background:hsl(var(--uh) 55% 48%);border-color:#0000;color:#fff}.hist-wrap{position:relative}.sd-band{background:#ffd95a33;border-left:2px dashed #c9a227;border-right:2px dashed #c9a227;transition:left .4s cubic-bezier(.22,1,.36,1),width .4s cubic-bezier(.22,1,.36,1);transition:left .4s var(--ease-out),width .4s var(--ease-out)}.sd-band,.sd-mean{bottom:20px;position:absolute;top:0}.sd-mean{background:#c9a227;transition:left .4s cubic-bezier(.22,1,.36,1);transition:left .4s var(--ease-out);width:2px}.sw-band{background:#ffd95a88}.stairs{align-items:flex-end;display:flex;gap:5px;height:190px;padding-bottom:20px}.stair-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;position:relative}.stair-stack{display:flex;flex:1 1;flex-direction:column-reverse;justify-content:flex-start;width:100%}.stair-bar{animation:grow-y .45s cubic-bezier(.22,1,.36,1) both;animation:grow-y .45s var(--ease-out) both;background:hsl(var(--uh) 55% 48%);border-radius:3px 6px 0 0;display:block;transform-origin:bottom;transition:height .3s cubic-bezier(.22,1,.36,1);transition:height .3s var(--ease-out);width:100%}.stair-bar.is-neg{background:#d6455d;background:var(--bad)}.stair-mirror{background:#e0663a99;border-radius:0}.adj-list{grid-gap:4px;display:grid;font-size:.85rem;gap:4px;list-style:none}.hh{grid-gap:8px;border-top:1px dashed #1f24301f;border-top:1px dashed var(--line);display:grid;gap:8px;padding-top:12px}.hh-label{grid-gap:6px;font-size:.85rem;font-weight:600;gap:6px}.hh-label,.hh-steps{color:#4a5263;color:var(--ink-2);display:grid}.hh-steps{grid-gap:3px;font-size:.8rem;gap:3px;padding-left:18px}.hh .badge{justify-self:start}@keyframes grow-y{0%{transform:scaleY(0)}to{transform:none}}.st{--tint:hsl(var(--uh) 72% 91%);--tint-0:hsl(var(--uh) 72% 91%/0);--accent:hsl(var(--uh) 70% 42%);background:hsl(var(--uh) 72% calc(91% + var(--fade)*9%));color:#1d1d1d;font-family:Assistant,Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-family:"Assistant",var(--font);min-height:100vh}.st h1,.st h3,.st h4{color:#000}.st-header{background:linear-gradient(var(--tint),var(--tint) 70%,var(--tint-0));left:0;padding-bottom:18px;position:fixed;top:0;width:40%;z-index:50}.st-progress{height:8px}.st-progress span{background:var(--accent);display:block;height:100%}.st-nav{align-items:center;display:flex;gap:1.2em;margin:22px auto 0;width:85%}.st-burger{color:#000;font-size:30px;line-height:1}.st-title{color:#4a4a4a;font-size:16px;text-align:left}.st-title:hover{color:#000}.st-left{background:var(--tint);min-height:100vh;width:40%}.st-left-wrapper{margin:0 auto;width:85%}.st-intro{padding:30vh 0}.st-intro h4{font-size:16px;font-weight:400}.st-intro h1{font-size:2.6em;font-weight:600;line-height:1.15;margin:4px 0 18px}.st-intro p{color:#222;font-size:1.6em;font-weight:300;line-height:1.35}.st-scroll-down{animation:bob-y 2.2s ease-in-out infinite;margin-top:48px;padding:6px}.st-scroll-down path{fill:none;stroke:#000;stroke-width:1.6}.st-unit{padding-top:40vh}.st-unit:first-of-type{padding-top:10vh}.st-unit h3{font-size:32px;font-weight:400;margin-bottom:18px}.st-unit p{color:#1d1d1d;font-size:18px;line-height:1.4;margin-bottom:18px}.st-unit .st-hint{color:#333}.st-interactive{margin:26px 0}.st-unit .checkpoint{margin-top:24px}.st .btn,.st .btn-ghost,.st .btn-soft{background:#fff;border-radius:6px;box-shadow:inset 0 0 0 1px #d0d0d0;color:#000;font-size:.9rem;font-weight:400;padding:.6em 1em;transition:color .3s,background .3s}.st .btn:hover:not(:disabled){background:#ffffff80;box-shadow:inset 0 0 0 1px #d0d0d0;color:gray;transform:none}.st-foot{margin-top:40vh}.st-foot-prev{border-top:1px solid hsl(var(--uh) 60% 40%/.2);color:#545454;display:block;margin:0 auto 28px;padding-top:20px;text-align:left;width:85%}.st-foot-prev:hover{color:var(--accent)}.st-foot-next{background:#545454;color:#fff;display:block;padding:9% 7.5%;text-align:left;transition:background .5s ease-out;width:100%}.st-foot-next:hover{background:var(--accent)}.st-foot-next h4{color:#fff;font-size:16px;font-weight:400}.st-foot-next p{font-size:20px;margin-top:4px}.st-right{height:100vh;position:fixed;right:0;top:0;width:60%}.st-tiles{flex-direction:column;gap:18px;inset:0;overflow-y:auto;padding:10vh 0;position:absolute;z-index:2}.st-tile,.st-tiles{align-items:center;display:flex}.st-tile{background:#fff;box-shadow:0 0 20px #8798a04d;gap:1.5em;max-width:80%;padding:18px 24px;text-align:left;transition:box-shadow .5s ease-out;width:28em}.st-tile:hover{box-shadow:0 0 20px #8798a0}.st-tile-num{background:var(--tint);border-radius:50%;color:var(--accent);display:grid;flex:0 0 56px;font-size:22px;font-weight:600;height:56px;place-items:center}.st-tile-title{font-size:18px}.st-viz{align-items:center;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s,visibility 0s .3s;visibility:hidden}.st-viz.is-on{opacity:1;transition:opacity .3s;visibility:visible}.st-viz .stage{max-height:100vh;max-width:820px;overflow-y:auto;padding:4vh 0;width:85%}@media (max-width:960px){.st{background:var(--tint)}.st-header,.st-left{width:100%}.st-left-wrapper,.st-nav{padding:0 16px;width:auto}.st-nav{margin-top:14px}.st-intro{padding:22vh 0 12vh}.st-intro p{font-size:1.3em}.st-unit,.st-unit:first-of-type{padding-top:12vh}.st-unit h3{font-size:26px}.st-interactive{background:#fff;border-radius:8px;padding:14px}.st-foot{margin-top:18vh}}@keyframes swap{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bob-y{50%{transform:translateY(7px)}}@keyframes viz-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes drawer-in{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}@keyframes ping{0%{box-shadow:0 0 0 0 #e5484d8c}80%,to{box-shadow:0 0 0 9px #e5484d00}}@keyframes ring{0%,60%,to{transform:rotate(0)}10%{transform:rotate(16deg)}20%{transform:rotate(-14deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-6deg)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,6px)}}@keyframes march{to{background-position:14px 0}}@keyframes draw{0%{stroke-dashoffset:300}to{stroke-dashoffset:0}}@keyframes spin{to{stroke-dashoffset:-28}}@keyframes roll{0%{transform:rotate(-25deg) scale(.8)}60%{transform:rotate(8deg) scale(1.05)}to{transform:none}}@keyframes pulse{50%{transform:translateY(-3px)}}@keyframes flash{0%{background:#ffd95a}to{background:#0000}}@keyframes slide-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@media (max-width:960px){.chapter-body{gap:24px;grid-template-columns:1fr;padding:16px 16px 48px}.col-read{max-width:none}.viz-panel{position:relative;top:0}.chapter-intro{padding-top:16px}.chapter-bar,.unit-strip{padding-left:16px;padding-right:16px}.chapter-foot{padding:0 16px 40px}.chapter-intro{padding:32px 16px 16px}.concept{min-height:0}.concept:not(.is-active){opacity:1}.rel-badges,.rng-sliders{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.courses{padding:48px 16px 32px}.hero-nav{padding:16px}.course-row-head{align-items:flex-start;flex-direction:column}.unit-tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.picker-panel{inset:8px;padding:16px}.array-sliders,.bits-reads,.graph-info,.mips-grid,.mod-controls{grid-template-columns:1fr}.bit{height:50px;width:36px}.bit-sm{width:26px}.viz-body{padding:16px}.chapter-foot{flex-direction:column}.foot-next{margin-left:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.ev-axis{stroke:#000;stroke-width:1.5}.ev-tick{fill:#333;font-size:11px}.ev-axis-label{fill:#000;font-size:14px}.st .ev-plot{background:none}.st .ev-target{stroke:#64bdff}.st .ev-target-label{fill:#1b92c4}.st{--font:"Assistant",system-ui,"Segoe UI",sans-serif;--radius:3px}.st button,.st input,.st select,.st textarea{font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font)}.st .chip{background:#fff;border-radius:3px;box-shadow:inset 0 0 0 1px #d0d0d0;color:#1d1d1d;font-size:.9rem;font-weight:400;padding:5px 12px}.st .chip:hover{box-shadow:inset 0 0 0 1px #9a9a9a;transform:none}.st .chip.is-on{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:#fff}.st .chip-label{font-weight:600}.st .btn{font-weight:400}.st .btn:active:not(:disabled){transform:none}.st .viz-readout{background:#f6f7f8;border:1px solid #e3e3e3}.st-tile{min-height:96px}.st-tile-title{flex:1 1}.st-tile-thumb{display:grid;flex:0 0 auto;min-width:96px;place-items:center;white-space:nowrap}.st-tile-thumb.is-tex{color:#1d1d1d;font-size:1.6rem}.st-tile-thumb.is-tex .katex{-webkit-text-stroke:.035em currentColor}.st-formula{font-size:1.05rem;margin:6px 0 22px;overflow-x:auto;overflow-y:hidden}.st-formula .katex-display{margin:.4em 0}.st-unit .tex .katex{font-size:1.05em}.st-viz .stage{gap:18px}.st-viz .stage svg{max-height:62vh}.st-viz .stage .mod-svg{max-height:46vh}.st-viz .stage .hist{height:38vh}.st-viz .stage .stairs{height:42vh}.st-viz .stage .ev-plot{max-height:70vh}.st-viz .stage .numline{max-height:90px}.st-viz .stage .machine-row{justify-content:center;padding:6vh 0}.st-viz .stage .machine-row .token{font-size:1.4rem}.st-viz .stage .truth-table td,.st-viz .stage .truth-table th{font-size:1.05rem;padding:10px}.st-interactive .viz{gap:12px}.st-interactive .viz-readout{background:#ffffffb3}.card-venn{width:100%}.card-ring{fill:hsl(var(--uh) 60% 92%/.35);stroke:hsl(var(--uh) 30% 45%);stroke-width:2;transition:stroke-width .25s,fill .25s}.card-ring.is-term{stroke:hsl(var(--uh) 60% 42%);stroke:var(--accent,hsl(var(--uh) 60% 42%));stroke-width:4;fill:hsl(var(--uh) 70% 85%/.45)}.card-count circle{fill:#fff;stroke:hsl(var(--uh) 25% 60%);stroke-width:1.5;transition:fill .25s}.card-count text{text-anchor:middle;fill:#1f2430;fill:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:16px;font-weight:600}.card-count.is-term circle{fill:hsl(var(--uh) 60% 42%);fill:var(--accent,hsl(var(--uh) 60% 42%));stroke:none}.card-count.is-term text{fill:#fff}.ps{grid-gap:8px;display:grid;gap:8px}.flip-board{background:hsl(var(--uh) 30% 94%);border-bottom:4px solid hsl(var(--uh) 25% 70%);border-radius:3px;display:flex;flex-wrap:wrap;gap:8px;padding:18px 14px 12px}.flip-col{align-items:center;display:flex;flex-direction:column;width:56px}.flip-card{background:none;border:0;cursor:pointer;font:inherit;height:84px;padding:0;perspective:500px;width:56px}.flip-inner{display:block;height:100%;position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.22,1,.36,1);transition:transform .45s var(--ease-out,cubic-bezier(.23,1,.32,1));width:100%}.flip-card.is-on .flip-inner{transform:rotateX(180deg)}.flip-card:active .flip-inner{transition-duration:.2s}.flip-face{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:3px;box-shadow:0 2px 0 #0000002e;color:#fff;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:2.6rem;font-weight:700;inset:0;justify-content:center;position:absolute}.flip-front{background:hsl(var(--uh) 12% 58%)}.flip-back{background:hsl(var(--uh) 55% 42%);transform:rotateX(180deg)}.flip-card:focus-visible{outline:2px solid hsl(var(--uh) 60% 35%);outline-offset:3px}.flip-peg{background:hsl(var(--uh) 25% 70%);height:14px;margin-top:-1px;width:10px}.flip-power{color:#7b8394;color:var(--ink-3);font-size:.95rem;font-weight:700;margin-top:8px;transition:color .2s}.flip-power.is-on{color:hsl(var(--uh) 55% 35%)}.flip-weight{color:#7b8394;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.72rem}@media (prefers-reduced-motion:reduce){.flip-inner{transition:none}}@media (max-width:560px){.flip-board{gap:4px;padding:14px 8px 10px}.flip-card,.flip-col{width:38px}.flip-card{height:60px}.flip-face{font-size:1.8rem}}.flip-board{background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:6px solid #7f5739}.flip-col{--wh:0;--wl:0%}.flip-col:nth-child(4n+1){--wh:-3;--wl:2%}.flip-col:nth-child(4n+2){--wh:2;--wl:-2%}.flip-col:nth-child(4n+3){--wh:5;--wl:1%}.flip-col:nth-child(4n){--wh:-1;--wl:-3%}.flip-face{box-shadow:0 2px 0 #00000047,inset 0 0 0 1px #ffffff1f;text-shadow:0 1px 2px #00000059}.flip-front{background:linear-gradient(180deg,hsl(calc(34 + var(--wh)) 42% calc(60% + var(--wl))),hsl(calc(32 + var(--wh)) 40% calc(50% + var(--wl))))}.flip-back{background:linear-gradient(180deg,hsl(calc(24 + var(--wh)) 52% calc(40% + var(--wl))),hsl(calc(22 + var(--wh)) 55% calc(30% + var(--wl))));color:#ffe9b8}.flip-peg{background:linear-gradient(90deg,#8f613d,#bc814e,#8f613d)}.flip-power{color:#866950}.flip-power.is-on{color:#7a401f}.flip-weight{color:#8a715c}.flip-card:focus-visible{outline-color:#7a401f}.flip-board{gap:18px}.flip-col{position:relative}.flip-col:not(:last-child):after{background:linear-gradient(180deg,#bb9c81,#876245 55%,#674732);box-shadow:inset 0 1px 0 #ffffff40;content:"";height:10px;left:100%;position:absolute;top:37px;width:18px}@media (max-width:560px){.flip-board{gap:8px}.flip-col:not(:last-child):after{height:8px;left:100%;top:25px;width:8px}}@keyframes hm-glow{50%{outline-color:#0000}}.hm-data{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.hm-data .ham-caption{margin-right:6px}.hm-hint{color:#7b8394;color:var(--ink-3);font-size:.8rem;margin-left:8px}.hm-grid{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr)) 108px}.hm-word{align-items:start;background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:6px solid #7f5739;border-radius:3px;grid-template-columns:repeat(7,minmax(0,1fr));padding:14px 10px 10px}.hm-cell{align-items:center;border-radius:3px;display:flex;flex-direction:column;gap:2px}.hm-tile{background:none;border:0;cursor:pointer;display:block;height:76px;max-width:64px;padding:0;perspective:500px;width:100%}.hm-tile.is-sm{height:58px;width:48px}.hm-tile .flip-face{font-size:2rem}.hm-tile.is-sm .flip-face{font-size:1.5rem}.hm-tile.is-on .flip-inner{transform:rotateX(180deg)}.hm-cell.is-parity .flip-face{box-shadow:0 2px 0 #00000047,inset 0 0 0 3px #dfad49}.hm-cell.is-covered .hm-tile{outline:3px solid #df9f20;outline-offset:3px}.hm-cell.is-noisy .hm-tile{outline:3px dashed #d6455d;outline:3px dashed var(--bad);outline-offset:3px}.hm-cell.is-found .hm-tile{animation:hm-glow 1s ease-in-out infinite;outline:3px solid #d6455d;outline:3px solid var(--bad);outline-offset:3px}.hm-label{color:#795f49;font-size:.78rem;font-weight:700}.hm-bin{color:#937962;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.66rem}.hm-checks{display:flex;flex-direction:column;gap:4px;padding:0 10px}.hm-check{border-radius:3px;padding:4px 0;position:relative;transition:background .25s}.hm-check.is-bad{background:#fdecef}.hm-pipe{align-self:center;background:linear-gradient(180deg,#bb9c81,#876245 55%,#674732);box-shadow:inset 0 1px 0 #ffffff40;grid-column:1/8;grid-row:1;height:8px;margin:0 7.14286%}.hm-check.is-bad .hm-pipe{background:linear-gradient(180deg,#e08594,#be374e 55%,#8e293a)}.hm-dot{align-items:center;border-radius:50%;box-shadow:0 1px 0 #0000004d;color:#fff;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.95rem;font-weight:700;grid-row:1;height:30px;justify-content:center;justify-self:center;transition:background .3s;width:30px;z-index:1}.hm-dot.is-off{background:#bc935c}.hm-dot.is-on{background:#88502b;color:#ffe9b8}.hm-dot.is-gap{box-shadow:none;height:0;width:0}.hm-status{font-size:.85rem;grid-column:8;grid-row:1;padding-left:4px}.hm-check.is-ok .hm-status{color:#2e6b4d}.hm-check.is-bad .hm-status{color:#d6455d;color:var(--bad)}.hm-synd{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.hm-synd .viz-readout{flex:1 1;margin:0;min-width:200px}.hm-lamps{display:flex;gap:8px}.hm-lamp{flex-direction:column;gap:2px}.hm-lamp,.hm-lamp b{align-items:center;display:flex}.hm-lamp b{background:#40966b;border-radius:50%;box-shadow:inset 0 -3px 0 #0003;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);height:34px;justify-content:center;transition:background .25s;width:34px}.hm-lamp.is-odd b{background:#d6455d;background:var(--bad)}.hm-lamp i{color:#795f49;font-size:.7rem;font-style:normal;font-weight:700}@media (prefers-reduced-motion:reduce){.hm-cell.is-found .hm-tile{animation:none}}@media (max-width:560px){.hm-grid{gap:4px}.hm-check{grid-template-columns:repeat(7,minmax(0,1fr))}.hm-status{grid-column:1/-1;grid-row:2;padding:2px 0 0}.hm-dot{font-size:.8rem;height:24px;width:24px}.hm-tile{height:56px}.hm-tile .flip-face{font-size:1.4rem}}.lab{padding:28px 20px 60px}.lab-head,.lab-list{margin:0 auto;max-width:880px}.lab-head h1{font-weight:600;margin:6px 0 4px}.lab-head p{color:#555;margin:0 0 14px}.lab-back{color:var(--accent);font-size:.9rem;text-decoration:none}.lab-search{border:1px solid #cfcfcf;border-radius:3px;font:inherit;margin-left:auto;min-width:180px;padding:6px 10px}.lab-list{display:flex;flex-direction:column;gap:22px;margin-top:22px}.lab-card{background:#fff;border-radius:3px;box-shadow:0 0 0 1px #e1e4e6;padding:16px 18px 20px}.lab-card header{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:8px}.lab-card h3{color:#000;font-size:1.1rem;margin:0}.lab-card header span{color:#777;font-size:.8rem}.lab-stage{margin-top:10px}.lab-empty{color:#777}.ct{flex-direction:column;gap:14px}.ct,.ct-top{display:flex}.ct-top{align-items:center;flex-wrap:wrap;gap:22px}.ct-wheel{border-radius:50%;box-shadow:0 0 0 1px #0000001f;cursor:crosshair;flex:none;position:relative;touch-action:none}.ct-wheel canvas{display:block}.ct-marker{border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000073,0 2px 5px #00000059;height:20px;margin:-10px 0 0 -10px;pointer-events:none;position:absolute;width:20px}.ct-side{display:flex;flex:1 1;flex-direction:column;gap:12px;min-width:170px}.ct-swatch{border-radius:3px;box-shadow:inset 0 0 0 1px #00000026;height:64px}.ct-slider{color:#7b8394;color:var(--ink-3);display:flex;flex-direction:column;font-size:.78rem;font-weight:700;gap:4px;letter-spacing:.05em;text-transform:uppercase}.ct-slider input{accent-color:#555;width:100%}.ct-code{color:#222;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:2rem;font-weight:700;letter-spacing:.04em}.ct-table{grid-gap:6px;display:grid;gap:6px}.ct-head,.ct-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:24px 56px 1fr 138px}.ct-head{color:#7b8394;color:var(--ink-3);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.ct-bits,.ct-places{display:flex;gap:3px}.ct-places i{color:#7b8394;color:var(--ink-3);font-size:.66rem;letter-spacing:0;text-align:center;text-transform:none}.ct-bits i,.ct-places i{flex:1 1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-style:normal}.ct-bits i{align-items:center;background:#eef0f2;border-radius:3px;color:#a0a6ab;display:flex;font-weight:700;height:34px;justify-content:center;min-width:0;transition:background .2s,color .2s}.ct-bits i.is-on{background:var(--ch);color:#fff}.ct-gap{margin-left:8px}.ct-row strong{font-size:1.1rem}.ct-dec{font-size:1.15rem}.ct-dec,.ct-hex{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-weight:700}.ct-hex{align-items:baseline;display:flex;font-size:1.4rem;gap:2px;white-space:nowrap}.ct-hex small{color:#7b8394;color:var(--ink-3);font-size:.6rem;font-weight:400;margin-left:6px}.ct-hex small:first-child{margin-left:0}@media (max-width:560px){.ct-head,.ct-row{gap:6px;grid-template-columns:20px 40px 1fr 96px}.ct-hex{font-size:1.1rem}.ct-hex small{display:none}.ct-gap{margin-left:5px}}.clawd{align-self:center;cursor:pointer;height:auto;max-width:168px;overflow:visible;width:100%}.clawd *{transform-box:fill-box}.cl-shadow{fill:#00000024}.cl-arm,.cl-body,.cl-leg{fill:var(--body);transition:fill .25s}.cl-arm,.cl-leg{filter:brightness(.88)}.cl-belly{fill:#0000001a}.cl-eye{fill:#1c1c1c;animation:cl-blink 4.5s infinite;transform-origin:50% 50%}.cl-eye+.cl-eye{animation-delay:.02s}.cl-all{transform-origin:50% 100%}.cl-eyes{transform-origin:50% 50%}.cl-arm-l{transform-origin:100% 100%}.cl-arm-r{transform-origin:0 100%}.is-hop .cl-all{animation:cl-hop .9s cubic-bezier(.23,1,.32,1)}.is-wiggle .cl-all{animation:cl-wiggle .8s ease-in-out}.is-wave .cl-arm-r{animation:cl-wave 1.1s ease-in-out}.is-look .cl-eyes{animation:cl-look 1.4s ease-in-out}.is-shimmy .cl-leg-a{animation:cl-step .9s ease-in-out}.is-shimmy .cl-leg-b{animation:cl-step .9s ease-in-out reverse}@keyframes cl-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes cl-hop{0%{transform:scale(1)}18%{transform:scale(1.07,.9)}50%{transform:translateY(-24px) scale(.97,1.04)}82%{transform:scale(1.07,.9)}to{transform:scale(1)}}@keyframes cl-wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}45%{transform:rotate(6deg)}70%{transform:rotate(-3deg)}}@keyframes cl-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-65deg)}40%,80%{transform:rotate(-35deg)}}@keyframes cl-look{0%,to{transform:translateX(0)}25%,40%{transform:translateX(-9px)}60%,80%{transform:translateX(9px)}}@keyframes cl-step{0%,to{transform:translateY(0)}25%{transform:translateY(-7px)}75%{transform:translateY(2px)}}@media (prefers-reduced-motion:reduce){.clawd *{animation:none!important}}.fx{gap:12px}.fx,.fx-board{display:flex;flex-direction:column}.fx-board{background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:6px solid #7f5739;border-radius:3px;gap:10px;padding:12px}.fx-top{display:flex;flex-wrap:wrap;gap:10px}.fx-group{background:#ffffff73;border-radius:3px;border-top:3px solid var(--g);padding:6px 8px 8px}.fx-group.is-sign{--g:#e02f29}.fx-group.is-exp{--g:#2c964f;flex:1 1;min-width:150px}.fx-group.is-man{--g:#1a79e6}.fx-label{color:var(--g);display:block;font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.fx-tiles{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(24px,1fr))}.fx-group.is-sign .fx-tiles{grid-template-columns:30px}.fx-tile{background:none;border:0;cursor:pointer;display:block;height:44px;padding:0;perspective:300px;width:100%}.fx-tile.is-on .flip-inner{transform:rotateX(180deg)}.fx-tile .flip-face{font-size:1rem}.fx-eq{display:flex;flex-direction:column;gap:6px}.fx-eq p{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.15rem;margin:0;overflow-wrap:anywhere}.fx-eq .fx-sub{color:#7b8394;color:var(--ink-3);font-family:inherit;font-size:.85rem}.fx-eq .is-sign{color:#d6251f}.fx-eq .is-exp{color:#257e43}.fx-eq .is-man{color:#176dcf}.fx-eq strong{font-size:1.5rem}.fx-badge{align-self:flex-start;background:#8f7156;border-radius:3px;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.fx-badge.is-normal{background:#3176c4}.fx-badge.is-subnormal{background:#b67f20}.fx-badge.is-zero{background:#937e6c}.fx-badge.is-infinity{background:#9346b9}.fx-badge.is-nan{background:#d6455d;background:var(--bad)}.chip.is-new{position:relative}.chip.is-new:after{background:#ed7e1d;border-radius:50%;box-shadow:0 0 0 2px #fff;content:"";height:8px;position:absolute;right:-3px;top:-3px;width:8px}.hl{display:flex;flex-direction:column;gap:12px}.hl-input{grid-gap:10px;align-items:center;background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:4px solid #7f5739;border-radius:3px;display:grid;gap:10px;grid-template-columns:34px minmax(80px,1fr) 44px auto;padding:10px 12px}.hl-input input{accent-color:#88502b;width:100%}.hl-name{color:#66503d;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-weight:700}.hl-name small{color:#8a715c;font-family:inherit;font-size:.68rem;font-weight:600;letter-spacing:.04em;margin-left:4px;text-transform:uppercase}.hl-dec{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.15rem;text-align:right}.hl-bits{display:flex;gap:3px}.hl-tile{display:block;height:34px;perspective:300px;width:24px}.hl-tile .flip-inner{display:block;height:100%;position:relative;width:100%}.hl-tile.is-on .flip-inner{transform:rotateX(180deg)}.hl-tile .flip-face{font-size:.95rem}.hl-bits.is-blank{opacity:.45}.hl-pipes{display:flex;height:22px;justify-content:space-around}.hl-pipes span{background:linear-gradient(90deg,#674732,#bb9c81 45%,#674732);box-shadow:inset 0 -1px 0 #00000040;width:10px}.hl-out{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.hl-drawer{background:#f3ece2;border-radius:3px;box-shadow:inset 0 0 0 3px #dfad49;display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px}.hl-hex{color:#744525;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.95rem;font-weight:700}@media (max-width:560px){.hl-input{grid-template-columns:30px 1fr 40px}.hl-input .hl-bits{grid-column:1/-1}.hl-tile{flex:1 1;height:32px;width:auto}}.fb{display:flex;flex-direction:column;gap:12px}.fb-input{border:1px solid #cfcfcf;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1rem;font-weight:700;padding:6px 10px;width:110px}.fb-steps{display:flex;flex-direction:column;font-size:.92rem;gap:8px;line-height:1.45;margin:0;padding-left:22px}.fb code,.fb-steps code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);overflow-wrap:anywhere}.fb-steps b{color:#000}.fb .is-sign{color:#d6251f}.fb .is-exp{color:#257e43}.fb .is-man{color:#176dcf}.fb-cut{color:#7b8394;color:var(--ink-3);font-size:.82rem}.fb .fx-tile{cursor:default}.viz-bitwise .reg{background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:4px solid #7f5739;border-radius:3px;padding:10px 12px}.viz-bitwise .reg-name{color:#66503d}.viz-bitwise .reg-hex{color:#744525;font-weight:700}.viz-bitwise .reg.is-result{box-shadow:inset 0 0 0 3px #dfad49}.viz-bitwise .reg-rule{background:#7f5739}.viz-bitwise .shift-slider{align-items:center;background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:4px solid #7f5739;border-radius:3px;display:flex;gap:10px;padding:10px 12px}.viz-bitwise .shift-slider input{accent-color:#88502b;flex:1 1}.hl-tile.is-btn{background:none;border:0;cursor:pointer;padding:0}.hl-tile.is-btn:disabled{cursor:default;opacity:1}@media (max-width:560px){.viz-bitwise .reg{flex-wrap:wrap}.viz-bitwise .reg-bits{flex:1 1 100%}.viz-bitwise .hl-tile{flex:1 1;width:auto}}.mips-addr{color:#6f6a94;flex:none;font-size:.72rem;width:64px}.mips-label{min-width:40px;width:auto}.mips-mem.is-stack{grid-template-columns:repeat(2,1fr)}.array-mips li{grid-gap:10px;display:grid;gap:10px;grid-template-columns:170px 1fr auto}.array-mips-note{color:#8f89b8}.array-mips-val{color:#ffd95a;text-align:right}@media (max-width:560px){.array-mips li{grid-template-columns:1fr auto}.array-mips-note{display:none}}.dec{display:flex;flex-direction:column;gap:12px}.dec-input{text-transform:uppercase;width:130px}.dec-fields{background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:6px solid #7f5739;flex-wrap:wrap;padding:10px}.dec-field,.dec-fields{border-radius:3px;display:flex;gap:4px}.dec-field{background:#ffffff80;border-top:3px solid var(--g);flex-basis:0;flex-direction:column;min-width:0;padding:5px 4px 6px}.dec-name{color:var(--g);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.dec-name small{color:#7b8394;color:var(--ink-3);font-weight:600}.dec-tiles{grid-gap:2px;display:grid;gap:2px}.dec-bit{align-items:center;background:#bc935c;border-radius:2px;color:#fff;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.78rem;font-weight:700;height:30px;justify-content:center;transition:background .25s}.dec-bit.is-on{background:#88502b;color:#ffe9b8}.dec-meaning,.dec-val{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.85rem;font-weight:700}.dec-meaning{color:var(--g);overflow-wrap:anywhere}.dec-asm{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:0}.dec-asm code{background:#1d1b2b;background:var(--night);border-radius:3px;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.1rem;padding:8px 12px}@media (max-width:560px){.dec-field{flex-basis:100%}}.br{display:flex;flex-direction:column;gap:12px}.br-controls{background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:4px solid #7f5739;border-radius:3px;flex-wrap:wrap;gap:14px;padding:10px 12px}.br-controls,.br-reg{align-items:center;display:flex}.br-reg{color:#66503d;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-weight:700;gap:6px}.br-reg strong{color:#222;font-size:1.15rem;min-width:20px;text-align:center}.br-reg .btn{padding:2px 10px}.br-offset{align-items:center;display:flex;flex:1 1;font-size:.9rem;gap:8px;min-width:180px}.br-offset input{accent-color:#88502b;flex:1 1}.br-code li{align-items:center}.br-code li.is-target{box-shadow:inset 0 0 0 1px #ffd95a80}.br-code li.is-next{background:#6edc962e;border-left-color:#6edc96;color:#fff}.br-tag{color:#ffd95a;font-size:.72rem;margin-left:auto;white-space:nowrap}.hl-move{white-space:pre}.asc{display:flex;flex-direction:column;gap:12px}.asc-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);width:180px}.asc-word{display:flex;flex-wrap:wrap;gap:6px}.asc-char{align-items:center;background:#f1f2f3;border:0;border-radius:3px;box-shadow:inset 0 0 0 1px #dcdfe1;cursor:pointer;display:flex;flex-direction:column;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);min-width:40px;padding:6px 8px}.asc-char strong{font-size:1.3rem}.asc-char small{color:#7b8394;color:var(--ink-3);font-size:.7rem}.asc-char.is-on{background:#f3ece2;box-shadow:inset 0 0 0 3px #dfad49}.asc-board{align-items:flex-end;background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:6px solid #7f5739;flex-wrap:wrap;gap:6px;padding:12px}.asc-board,.asc-col{border-radius:3px;display:flex}.asc-col{align-items:center;flex-direction:column;gap:4px;padding:4px}.asc-col.is-case{box-shadow:inset 0 0 0 2px #dfad49}.asc-place{color:#8a715c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.7rem}.asc-tile{height:56px;width:40px}.asc-tile .flip-face{font-size:1.4rem}.asc-result{align-items:center;display:flex;flex-direction:column;margin-left:auto;padding:0 10px}.asc-result strong{font-size:2.6rem;line-height:1}.asc-result span,.asc-result strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.asc-result span{color:#744525;font-size:.85rem;font-weight:700}.info{display:flex;flex-direction:column;gap:12px}.info-cells{grid-gap:3px;background:linear-gradient(180deg,#f0e8db,#e4d8c8);border-bottom:6px solid #7f5739;border-radius:3px;display:grid;gap:3px;padding:10px}.info-cell{align-items:center;background:#88502b;border-radius:2px;color:#fff;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.75rem;font-weight:700;height:30px;justify-content:center;transition:background .3s,opacity .3s,transform .3s}.info-cell.is-out{background:#d2c2ac;color:#ad9c85;opacity:.55;transform:scale(.85)}.info-cell.is-found{background:#358d61;transform:scale(1.1)}.info-log{grid-gap:3px;display:grid;font-size:.9rem;gap:3px;margin:0;padding-left:22px}.info-bit{color:#88502b;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.78rem;margin-left:10px}@media (prefers-reduced-motion:reduce){.info-cell{transition:none}}.nib-row{grid-gap:18px;display:grid;gap:18px;padding:0 14px}.nib{align-items:center;display:flex;flex-direction:column;gap:2px}.nib-bracket{align-self:stretch;border:3px solid #dfad49;border-radius:0 0 3px 3px;border-top:0;height:10px}.nib-bits{color:#8a715c;font-size:.8rem}.nib strong,.nib-bits{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.nib strong{color:#744525;font-size:1.6rem;line-height:1.1}.nib small{color:#7b8394;color:var(--ink-3);font-size:.72rem}.flip-col.is-filled .flip-card{border-radius:3px;outline:3px solid #df9f20;outline-offset:2px}.flip-col.is-zero .flip-card{outline-style:dashed}.lt{display:flex;flex-direction:column;gap:12px}.lk-field{grid-gap:0 10px;align-items:center;border-left:3px solid #0000;display:grid;gap:0 10px;grid-template-columns:auto 1fr;padding:4px 0 4px 8px;transition:border-color .2s}.lk-field.is-active{border-left-color:var(--accent)}.lk-label{align-items:center;background:var(--accent);border-radius:3px;color:#fff;display:flex;font-weight:700;grid-row:1;height:26px;justify-content:center;width:26px}.lk-input{background:#0000;border:0;border-bottom:2px solid #c9ccd1;color:#111;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.25rem;grid-column:2;min-width:0;outline:none;padding:8px 2px;transition:border-color .2s;width:100%}.lk-field.no-label .lk-input{grid-column:1/-1}.lk-input:focus{border-bottom-color:var(--accent)}.lk-field.has-error .lk-input{border-bottom-color:#d6455d;border-bottom-color:var(--bad)}.lk-error{align-items:baseline;color:#d6455d;color:var(--bad);display:flex;flex-wrap:wrap;font-size:.85rem;gap:8px;grid-column:1/-1;margin:6px 0 0}.lk-error code{color:#444;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.lk-error mark{background:#f9c8d0;border-bottom:2px solid #d6455d;border-bottom:2px solid var(--bad);color:#d6455d;color:var(--bad);padding:0 1px}.lk-pad{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(6,1fr)}.lk-key{align-items:center;background:#fff;border:solid #d4d6da;border-radius:3px;border-width:1px 1px 3px;cursor:pointer;display:flex;flex-direction:column;height:48px;justify-content:center;padding:0;transition:background .12s,transform .08s,border-color .12s}.lk-key strong{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.2rem;line-height:1}.lk-key small{color:#8a8f96;font-size:.62rem;letter-spacing:.02em;margin-top:3px}.lk-key.is-var{background:hsl(var(--uh) 60% 96%)}.lk-key.is-var strong{color:#1d1d1d}.lk-key.is-edit strong{color:#555}.lk-key:hover{border-color:var(--accent)}.lk-key:active{border-bottom-width:1px;transform:translateY(2px)}.lk-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.lk-note{background:hsl(var(--uh) 60% 96%);border-left:3px solid var(--accent);font-size:.86rem;margin:0;padding:6px 10px}.lk-domain{grid-gap:14px;display:grid;font-size:.9rem;gap:14px;grid-template-columns:1fr 1fr}.lk-domain label{align-items:center;display:flex;gap:8px}.lk-domain input{accent-color:var(--accent);flex:1 1}.lt-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.lt-head strong{font-size:1.3rem}.lt-toggle{align-items:center;color:#555;display:flex;font-size:.85rem;gap:6px}.lt-scroll{max-width:100%;overflow-x:auto}.lt-table{border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.95rem;width:100%}.lt-table th{border-bottom:2px solid #1d1d1d;color:#333;font-size:.85rem;font-weight:600;padding:8px 10px;text-align:center;vertical-align:bottom;white-space:nowrap}.lt-table th small{color:#9a9ea5;display:block;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-family:var(--font,sans-serif);font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.lt-table th.is-input{background:#f3f4f6}.lt-table th.is-final{background:var(--accent);border-bottom-color:var(--accent);color:#fff}.lt-table th.is-final small{color:#ffffffbf}.lt-table td{border-bottom:1px solid #eceef0;padding:6px 10px;text-align:center}.lt-table td.is-input{background:#f8f9fa;color:#444;font-weight:600}.lt-table td.is-step{color:#777}.lt-table td.is-step.is-t{color:var(--accent)}.lt-table td.is-final{font-size:1.05rem;font-weight:700}.lt-table td.is-final.is-t{background:hsl(var(--uh) 70% 93%);color:var(--accent)}.lt-table td.is-final.is-f{color:#a3a7ad}.lt-table tbody tr{cursor:pointer;transition:background .15s}.lt-table tbody tr:hover td{box-shadow:inset 0 1px 0 #d8dbe0,inset 0 -1px 0 #d8dbe0}.lt-table tbody tr.is-active td{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}.lt-table tbody tr.is-mismatch td{background:#fde7eb}.lt-table tbody tr.is-mismatch td.is-final{color:#d6455d;color:var(--bad)}.lk-verdict{align-items:baseline;background:#fafafa;border-left:4px solid;display:flex;gap:12px;padding:10px 12px}.lk-verdict strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:1.3rem;white-space:nowrap}.lk-verdict.is-eq{border-color:#389466}.lk-verdict.is-eq strong{color:#2d7652}.lk-verdict.is-neq{border-color:#d6455d;border-color:var(--bad)}.lk-verdict.is-neq strong{color:#d6455d;color:var(--bad)}.lq-stmt{font-size:1.2rem;font-weight:600;margin:0}.lq-grid{flex-direction:column;overflow-x:auto}.lq-grid,.lq-row{display:flex;gap:3px}.lq-row{align-items:center;border-radius:3px;padding:2px}.lq-row.is-decider{box-shadow:inset 0 0 0 2px var(--accent)}.lq-head{color:#8a8f96;flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.75rem;text-align:center;width:34px}.lq-axis .lq-head:first-child{font-size:.65rem}.lq-cell{align-items:center;border-radius:3px;display:flex;flex:none;flex-direction:column;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono);font-size:.8rem;font-weight:700;height:30px;justify-content:center;width:34px}.lq-strip .lq-cell{height:44px}.lq-cell small{font-size:.62rem;font-weight:400;opacity:.75}.lq-cell.is-t{background:hsl(var(--uh) 70% 90%);color:var(--accent)}.lq-cell.is-f{background:#f1f2f4;color:#a3a7ad}.lq-cell.is-ring{outline:2px solid #1d1d1d;outline-offset:-2px}.lq-mark{font-weight:700;text-align:center;width:24px}.lq-mark.is-t{color:#318159}.lq-mark.is-f{color:#d6455d;color:var(--bad)}@media (max-width:560px){.lk-key{height:42px}.lk-domain{grid-template-columns:1fr}.lq-cell,.lq-head{width:26px}}.hubs{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.hub-overlay{background:#14122000;inset:0;position:fixed;transition:background .35s;z-index:900}.hub-overlay.is-grown{background:#14122073}.hub-panel{background:hsl(var(--uh) 30% 96%);border-radius:36px;box-shadow:inset 0 0 0 1px hsl(var(--uh) 15% 45%/.6);display:flex;flex-direction:column;inset:6vh 0 6vh;margin:0 auto;overflow:hidden;position:absolute;transform-origin:0 0;width:min(1100px,calc(100% - 32px))}.hub-overlay.is-grown .hub-panel{transition:transform .45s cubic-bezier(.22,1,.36,1);transition:transform .45s var(--ease-out)}.hub-panel-head{align-items:center;display:flex;justify-content:space-between;padding:28px 40px 8px}.hub-panel-head h2{color:hsl(var(--uh) 30% 22%);font-size:2rem;font-weight:800}.hub-panel-body{flex:1 1;opacity:0;overflow:auto;padding:8px 40px 40px;transition:opacity .25s .2s}.hub-overlay.is-grown .hub-panel-body{opacity:1}.hub-panel-body .course-row:first-child{margin-top:16px}.hub-panel-body>.tile-grid,.hub-panel-body>.tile-stack{margin-top:12px}@media (max-width:640px){.hub-panel{border-radius:24px;inset:16px 0}.hub-panel-body,.hub-panel-head{padding-left:20px;padding-right:20px}}@media (prefers-reduced-motion:reduce){.hub-overlay.is-grown .hub-panel{transition:none}}.tile-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.tile{--shape:hsl(var(--uh) 78% 80%);--shape-2:hsl(calc(var(--uh) + 40) 80% 86%);animation:rise .6s cubic-bezier(.22,1,.36,1) both;animation:rise .6s var(--ease-out) both;background:linear-gradient(145deg,hsl(var(--uh) 85% 96%),hsl(calc(var(--uh) + 18) 80% 92%));border-radius:14px;border-radius:var(--radius);color:hsl(var(--uh) 45% 20%);display:flex;flex-direction:column;gap:4px;isolation:isolate;min-height:124px;overflow:hidden;padding:16px 18px;text-align:left;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;transition:transform .25s var(--ease-out),box-shadow .25s}.tile,.tile>*{position:relative}.tile>*{z-index:1}.tile strong{font-size:1.05rem;line-height:1.25;max-width:85%}.tile-label{color:hsl(var(--uh) 50% 38%);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tile-blurb{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:hsl(var(--uh) 20% 36%);display:-webkit-box;font-size:.86rem;max-width:80%;overflow:hidden}.tile-meta{color:hsl(var(--uh) 30% 35%);font-size:.76rem;font-weight:700;margin-top:auto;opacity:.8;padding-top:8px}.tile:hover:not(:disabled){box-shadow:0 14px 28px hsl(var(--uh) 50% 40%/.2);transform:translateY(-4px)}.tile:disabled{cursor:default;filter:saturate(.25);opacity:.7}.tile:after,.tile:before{content:"";pointer-events:none;position:absolute;transition:transform .45s cubic-bezier(.22,1,.36,1);transition:transform .45s var(--ease-out);z-index:0}.tile:after{--rot:0deg;background:var(--shape);bottom:-28px;height:92px;right:-24px;transform:rotate(var(--rot));width:92px}.tile:before{background:var(--shape-2);border-radius:50%;height:12px;opacity:.9;right:16px;top:16px;width:12px}.tile:hover:not(:disabled):after{transform:rotate(calc(var(--rot) + 25deg)) scale(1.45)}.tile:hover:not(:disabled):before{transform:translate(-4px,4px) scale(1.4)}.shape-circle:after{border-radius:50%}.shape-diamond:after{--rot:45deg;border-radius:12px;bottom:-22px;height:78px;right:-18px;width:78px}.shape-triangle:after{--rot:-12deg;bottom:-18px;clip-path:polygon(50% 4%,100% 96%,0 96%);right:-14px}.shape-ring:after{background:#0000;border:18px solid var(--shape);border-radius:50%;box-sizing:border-box}.shape-hexagon:after{--rot:10deg;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}.shape-quarter:after{border-top-left-radius:100%;bottom:-6px;height:84px;right:-6px;width:84px}.shape-pill:after{--rot:-35deg;border-radius:40px;bottom:6px;height:46px;right:-30px;width:120px}.shape-blob:after{border-radius:62% 38% 54% 46%/48% 60% 40% 52%}.tile-hub{border-radius:22px;gap:6px;min-height:230px;padding:24px 26px}.tile-hub strong{font-size:1.8rem;font-weight:800;letter-spacing:-.01em}.tile-hub .tile-blurb{-webkit-line-clamp:3;font-size:.98rem;max-width:70%}.tile-hub .tile-meta{font-size:.85rem}.tile-hub:after{bottom:-54px;height:170px;right:-46px;width:170px}.tile-hub:before{height:22px;right:26px;top:26px;width:22px}.tile-hub.shape-triangle:after{bottom:-36px;right:-30px}@media (prefers-reduced-motion:reduce){.tile,.tile:after,.tile:before{transition:none}}.tile-stack{display:flex;flex-direction:column;gap:14px}.tile-wide{border-radius:18px;min-height:132px;padding:20px 26px}.tile-wide strong{font-size:1.35rem;max-width:55%}.tile-wide .tile-blurb{font-size:.95rem;max-width:50%}.tile-wide:after{bottom:-48px;height:150px;right:-36px;width:150px}.tile-wide.shape-pill:after{bottom:14px;height:64px;right:-40px;width:190px}.tile-wide.shape-quarter:after{bottom:-6px;height:120px;right:-6px;width:120px}.tile-wide .tile-meta{color:hsl(var(--uh) 50% 36%)}.deco{inset:0;pointer-events:none;z-index:0}.deco,.deco>*{position:absolute}.deco>*{transition:transform .5s cubic-bezier(.22,1,.36,1);transition:transform .5s var(--ease-out)}.deco-glyph{color:hsl(var(--uh) 55% 45%/.32);font-size:2.6rem;font-weight:800;letter-spacing:.02em;right:170px;top:50%;transform:translateY(-50%) rotate(-4deg);white-space:nowrap}.deco-dots{background:radial-gradient(circle,hsl(var(--uh) 45% 50%/.35) 2px,#0000 2.5px) 0 0 /12px 12px;height:48px;right:400px;top:16px;width:84px}.deco-outline{border:3px solid hsl(calc(var(--uh) + 30) 60% 70%);bottom:-18px;box-sizing:border-box;height:54px;right:330px;width:54px}.deco-chip{background:hsl(calc(var(--uh) - 30) 75% 78%);height:20px;right:128px;top:18px;width:20px}.deco .shape-blob,.deco .shape-circle,.deco .shape-ring{border-radius:50%}.deco .shape-diamond{border-radius:6px;transform:rotate(45deg)}.deco .shape-pill{border-radius:30px;width:70px}.deco .shape-quarter{border-top-left-radius:100%}.deco-chip.shape-triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.deco-chip.shape-hexagon{clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}.deco-outline.shape-hexagon,.deco-outline.shape-triangle{border-radius:10px;transform:rotate(18deg)}.deco-1 .deco-dots{bottom:14px;right:250px;top:auto}.deco-1 .deco-outline{bottom:auto;right:440px;top:-16px}.deco-1 .deco-glyph{right:190px;transform:translateY(-50%) rotate(3deg)}.deco-2 .deco-dots{height:60px;right:330px;top:20px;width:60px}.deco-2 .deco-outline{bottom:-22px;height:64px;right:210px;width:64px}.deco-2 .deco-chip{bottom:22px;right:470px;top:auto}.tile-wide:hover:not(:disabled) .deco-glyph{transform:translateY(-50%) translateX(-8px) rotate(0deg)}.tile-wide:hover:not(:disabled) .deco-outline{transform:rotate(40deg) scale(1.15)}.tile-wide:hover:not(:disabled) .deco-chip{transform:translateY(6px) rotate(-20deg)}.tile-wide:hover:not(:disabled) .deco-dots{transform:translateX(-10px)}.tile-wide:hover:not(:disabled){transform:translateX(4px)}@media (max-width:760px){.tile-wide .tile-blurb,.tile-wide strong{max-width:72%}.deco-dots,.deco-outline{display:none}.deco .deco-glyph{font-size:1.3rem;right:40px;top:16px;transform:none}.tile-wide:after{bottom:-34px;height:96px;right:-28px;width:96px}.tile-wide.shape-pill:after{bottom:10px;height:44px;right:-30px;width:120px}.tile-wide.shape-quarter:after{height:80px;width:80px}.tile-wide:hover:not(:disabled) .deco .deco-glyph{transform:none}.deco-chip{display:none}}@media (prefers-reduced-motion:reduce){.deco>*{transition:none}}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/static/media/nunito-cyrillic-ext-400-normal.c125166031cc7e287051.woff2) format("woff2"),url(/static/media/nunito-cyrillic-ext-400-normal.04d527e6665109dacbcd.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/static/media/nunito-cyrillic-400-normal.e409d1f91166f2565ec9.woff2) format("woff2"),url(/static/media/nunito-cyrillic-400-normal.9b2417f28420ca708ecf.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/static/media/nunito-vietnamese-400-normal.213c0aece007d7a8fbc0.woff2) format("woff2"),url(/static/media/nunito-vietnamese-400-normal.405d9085ab166a8275fd.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/static/media/nunito-latin-ext-400-normal.a8317bb99a23bda842eb.woff2) format("woff2"),url(/static/media/nunito-latin-ext-400-normal.9e3f8b3c52665eca6dd4.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/static/media/nunito-latin-400-normal.1426bd429b6b372852b9.woff2) format("woff2"),url(/static/media/nunito-latin-400-normal.b342b7eec6f6c9d25026.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:300;src:url(/static/media/assistant-hebrew-300-normal.f4a69450c44c729d8627.woff2) format("woff2"),url(/static/media/assistant-hebrew-300-normal.b595804718cdbc52c7f4.woff) format("woff");unicode-range:u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:300;src:url(/static/media/assistant-latin-ext-300-normal.a1cfdc9d2fd4cea2a066.woff2) format("woff2"),url(/static/media/assistant-latin-ext-300-normal.314002506718458e36fa.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:300;src:url(/static/media/assistant-latin-300-normal.5ce24e5634f22da3e6ac.woff2) format("woff2"),url(/static/media/assistant-latin-300-normal.1498f5ca2ca6abfea9a5.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:400;src:url(/static/media/assistant-hebrew-400-normal.dfdb74db13b900e60938.woff2) format("woff2"),url(/static/media/assistant-hebrew-400-normal.4bab56da587f3a426819.woff) format("woff");unicode-range:u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:400;src:url(/static/media/assistant-latin-ext-400-normal.93f8f908896aba12d795.woff2) format("woff2"),url(/static/media/assistant-latin-ext-400-normal.725403a21841afb52968.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:400;src:url(/static/media/assistant-latin-400-normal.2f3c9e5a4213ccae1342.woff2) format("woff2"),url(/static/media/assistant-latin-400-normal.5660c44c4591e18792be.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:600;src:url(/static/media/assistant-hebrew-600-normal.eee8c9336a24901bd73a.woff2) format("woff2"),url(/static/media/assistant-hebrew-600-normal.a4eb88e6f71dfb2f9804.woff) format("woff");unicode-range:u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:600;src:url(/static/media/assistant-latin-ext-600-normal.2cb259a4c7be91d1a860.woff2) format("woff2"),url(/static/media/assistant-latin-ext-600-normal.76ddb060427e07388313.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:600;src:url(/static/media/assistant-latin-600-normal.c7d1549a391ccc15fe6c.woff2) format("woff2"),url(/static/media/assistant-latin-600-normal.225a9c27642ca68ba2bc.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:700;src:url(/static/media/assistant-hebrew-700-normal.957b70009373c63a23fb.woff2) format("woff2"),url(/static/media/assistant-hebrew-700-normal.ce0053652262b8c89fe5.woff) format("woff");unicode-range:u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:700;src:url(/static/media/assistant-latin-ext-700-normal.2c34df8b3a45450674e8.woff2) format("woff2"),url(/static/media/assistant-latin-ext-700-normal.894bc8f510a336cad67a.woff) format("woff");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Assistant;font-style:normal;font-weight:700;src:url(/static/media/assistant-latin-700-normal.2e8c1798c1000984dd2b.woff2) format("woff2"),url(/static/media/assistant-latin-700-normal.28ac3ea6211cc15aa7fb.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.11"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
/*# sourceMappingURL=main.b4d2e09d.css.map*/