@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAQcABAAAAAACIgAAAPAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMogmULFgABNgIkAyYEIAWFbgdiDAcbEwcgnge2zWYrRGrW2DqMIvVrh6cG/6B/9ecmGb7Z3Q/IFcgSYAe7BJC/X2tvBdPop7KYypr+m92/iE0nEhIeMkO6SiJfo3oCmXALgMKT3MtvBPKJY8aL5MhAnUgFTTtot/MqGvHOs2lU9Q389/gPWGD8OnXqgVcTwoAOlml+fY8ISAAABiEsQkCcfJqR9RrMrkL5sN7YgnIcgPcI0ND+tgWFgADhMEQRUQzp0EAhDQgMAMIiDJZGIQw0QxcQglR7gIaTAJxem07kgZk/RAFNG1EPIqmPikUAw83adWYBsiTlOuSSfR4QSqV+uYBYAWCym1dALhRa/LaQDgnkQ44ZqGCCgsHPGkQJIh1aQkoANhOAoqYTABjAAulQCCZ961aAVCpRQBK5DLnlpEyuQ94T/Fr/y+9P+P6+tpe2EKiCkPekgIyzOB0gAQwALACyIQkcxisYPoeQo0Vdxox0UqqeqmCkgYx4y2BooMbXE6tdS7YDeeteTdtzKT7/TrH4xvv3gwV37zJ1VaZO8+/d07S1WYNNu5i6+2Kw4H7JYN2dOwOKxHpeyepQljdHsPpoGnc8Z7AqpeqGBtHxiIV+RCkJvVwuTza50nPJys9dUz5nzMrN/fWWXWob/8YVjM3kb7y63KydGR+YGNbat1O1Nnf72eOGw1t7d6vW5M7MrDmEiZ9XoOg04PBxEtup5mrNDdy0qDUPziYfVw7bRInVXCoWmYxZcvMFXJlxd3WrOJAFIIAIUfZw5V4co5j3UgAEYLbbT8PLfUCASVM8W/aXnim937L2JcDT/cUyAcCLrSu6UeK/TuuPMAYAwdtmNYcI8P8ZNcFsjcfMVKpdBkNmL3wDzEaKAUbCCCBOBTTZUBRazyAgmT1Y5GLAGU102aJcGrENyarCtjTwX+lo7BBVvLLDlHLNTqaCVXYqPs2W1NCdIrIkyFCvaAoQQOIa5z+BNhATyzIFYxlUvA0ilUyBrRCZVMMQg2CRweXwmMbSsWwYy2MFy+JQYFiGo1tamoNnU2VgjhSHypCC2GRpC8bNls4Wo9ROLoW+TmRvokIsHs1SGB2a9JBJMET+vGMHI6VLSgvG3tG8qxbMWNCzBMByXOYyUOzG1PYUSR+BZJyytzvh0YwxNo/VIEAsuvgmi2yIRsTDPIa4MAViU2pHHotDpuKvcXFSeIgpDUN0CHYqQ5RGIIpElfr+RKwdB/J5k8HKyimksCLh2n1+E6BbgTtCZZihUmTdNt4Hm5nhckW9+7pY/GgOVVCd79LCtL/Iz9rnFgEAAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-vietnamese-600-normal-Y4VTTRme.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-600-normal-5YsyKbU1.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-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-600-normal-B0WRRYJ1.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-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff");unicode-range:U+0000-00FF,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}:root{--bg: #14161a;--surface: #1c1f25;--surface-2: #232830;--ink: #e8ecf1;--muted: #949dab;--line: #2c323b;--accent-rgb: 246, 77, 39;--right-rgb: 61, 220, 151;--wrong-rgb: 242, 88, 138;--accent: rgb(var(--accent-rgb));--accent-ink: #fff;--right: rgb(var(--right-rgb));--wrong: rgb(var(--wrong-rgb));--term-bg: #0f1114;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;overscroll-behavior-y:none}body.modal-open{overflow:hidden}code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);padding:.1em .35em;border-radius:4px}.progress{position:fixed;inset:0 0 auto 0;height:3px;background:var(--line);z-index:40}.progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.topbar{position:sticky;top:0;display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem .5rem;background:var(--bg);z-index:30}.toc-button,.drawer-close,.modal-close{display:grid;place-items:center;background:none;border:none;color:var(--ink);cursor:pointer}.toc-button{width:44px;height:44px;margin-left:-.6rem}.toc-button svg,.modal-close svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}.wordmark{font-family:var(--mono);font-weight:600;letter-spacing:.02em;color:var(--muted)}.question{padding:.5rem 1.15rem 3rem;max-width:42rem;margin:0 auto}.question-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.6rem}.kicker{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.counter{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.prompt{font-family:var(--display);font-size:1.45rem;line-height:1.35;font-weight:600;letter-spacing:-.015em}.prompt p{margin:0 0 .7rem}.prompt code{font-size:.82em;font-weight:500}.choices{display:flex;flex-direction:column;gap:.6rem;margin:1.5rem 0}.choice,.modal-close{--rim-c: 255, 255, 255;--rim-a: .18;--rim-a-hover: .32;--rim-floor: 0;--rim-w: 1px;--rim-inset: -1.5px}.choice:after,.modal-close:after{content:"";position:absolute;inset:var(--rim-inset);border-radius:inherit;padding:var(--rim-w);background:linear-gradient(rgba(var(--rim-c),var(--rim-a)),rgba(var(--rim-c),var(--rim-floor)) 75%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:background .18s ease,padding .18s ease}.choice{--fill: var(--surface);--fill-hover: var(--surface-2);position:relative;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:56px;padding:.85rem 1.1rem;background:var(--fill);border:1.5px solid transparent;border-radius:14px;color:var(--ink);font:inherit;font-size:1.02rem;text-align:left;cursor:pointer;transition:background .18s ease,opacity .2s ease,transform .12s ease}@media(hover:hover){.choice:hover:not(:disabled):not(.dim):not(.right):not(.wrong){background:var(--fill-hover);--rim-a: var(--rim-a-hover)}}.choice:active{--rim-c: var(--accent-rgb);--rim-a: .95;--rim-floor: .4;--rim-w: 1.5px;--fill: color-mix(in srgb, var(--accent) 10%, var(--surface));transform:scale(.99)}.choice.right{--rim-c: var(--right-rgb);--rim-a: .95;--rim-floor: .45;--rim-w: 1.5px;--fill: color-mix(in srgb, var(--right) 12%, var(--surface))}.choice.wrong{--rim-c: var(--wrong-rgb);--rim-a: .95;--rim-floor: .45;--rim-w: 1.5px;--fill: color-mix(in srgb, var(--wrong) 12%, var(--surface))}.choice.dim{opacity:.45}.choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.choice .mark{font-size:1.1rem;font-weight:700}.choice.right .mark{color:var(--right)}.choice.wrong .mark{color:var(--wrong)}.actions{display:flex;flex-direction:column;gap:.55rem;margin-top:1.2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.8rem 1.2rem;border-radius:13px;border:1.5px solid transparent;font:inherit;font-size:1rem;font-weight:600;cursor:pointer}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--surface-2);color:var(--ink);border-color:var(--line)}.btn-ghost{background:none;color:var(--muted)}.payoff{animation:rise .28s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.verdict{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.5rem}.verdict.right{color:var(--right)}.verdict.wrong{color:var(--wrong)}.explanation{background:var(--surface);border-radius:12px;padding:.9rem 1.1rem;font-size:1rem;line-height:1.6}.explanation p{margin:0 0 .75rem}.explanation p:last-child{margin-bottom:0}.seeding{position:fixed;bottom:calc(1.5rem + var(--safe-b));left:50%;transform:translate(-50%);background:var(--surface-2);padding:.6rem 1.1rem;border-radius:999px;font-size:.9rem;color:var(--muted);z-index:60}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:45}.drawer{position:fixed;inset:0 auto 0 0;width:min(85vw,22rem);background:var(--surface);z-index:50;overflow-y:auto;padding:1rem 0 2rem;animation:slide-in .22s ease both}@keyframes slide-in{0%{transform:translate(-100%)}}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1rem .9rem}.drawer-close{width:40px;height:40px;font-size:1.1rem;color:var(--muted)}.toc-list{list-style:none;margin:0;padding:0}.toc-item{display:flex;gap:.8rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-left:3px solid transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.toc-item.current{border-left-color:var(--accent);background:var(--surface-2)}.toc-num{flex:none;width:1.6rem;color:var(--muted);font-variant-numeric:tabular-nums}.toc-text{font-size:.9rem;line-height:1.35;color:var(--muted)}.toc-kicker{display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.15rem}@keyframes modal-in{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;grid-template-rows:40% 60%;background:var(--bg);transform-origin:50% 60%;animation:modal-in .3s cubic-bezier(.22,1,.36,1)}@keyframes modal-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(6px)}}.modal--closing{animation:modal-out .2s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}.modal-pane{min-height:0;display:flex;flex-direction:column}.modal-pane--top{border-bottom:1px solid var(--line)}@keyframes close-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.modal-close{position:absolute;top:calc(.6rem + env(safe-area-inset-top,0px));right:.7rem;width:46px;height:46px;border-radius:50%;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1.5px solid transparent;--rim-a: .3;--rim-a-hover: .5;--rim-floor: .07;z-index:80;animation:close-pop .36s cubic-bezier(.34,1.56,.64,1) .17s backwards}@media(hover:hover){.modal-close:hover{--rim-a: var(--rim-a-hover);background:#000000b3}}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.modal,.modal-close{animation:none}.modal--closing{animation:modal-out .01s linear forwards}}.internals{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--surface)}.tabs{display:flex;gap:.25rem;padding:.5rem .6rem;padding-right:60px;border-bottom:1px solid var(--line);flex:none}.tab{padding:.45rem .85rem;min-height:38px;background:none;border:none;border-radius:9px;color:var(--muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.tab.on{background:var(--surface-2);color:var(--ink)}.panel-scroll{flex:1;min-height:0;overflow-y:auto;padding:.5rem .6rem 1rem;font-family:var(--mono);font-size:.78rem}.count{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;margin:.5rem 0 .35rem}.count strong{color:var(--ink);font-size:.95rem}.muted{color:var(--muted);padding:.6rem 0}.object-row,.index-row,.ref-row{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .4rem;background:none;border:none;border-radius:7px;color:var(--ink);font:inherit;text-align:left}.object-row{cursor:pointer}.object-row.selected{background:var(--surface-2)}.chip{flex:none;padding:.1rem .4rem;border-radius:5px;font-size:.68rem;font-weight:700;text-transform:uppercase}.chip.commit{background:#4c3ba8;color:#ded8ff}.chip.tree{background:#1f5c47;color:#b6f0dc}.chip.blob{background:#3a4657;color:#cfdcec}.oid{color:#f2c67a}.oid.full{font-size:.7rem;word-break:break-all}.size,.mode{color:var(--muted);flex:none}.name{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-row .name,.index-row .name{flex:1}.object-detail{background:var(--bg);border-radius:9px;padding:.55rem;margin:.15rem 0 .5rem}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.toggle{display:flex;flex:none;gap:2px}.toggle button{padding:.28rem .5rem;background:var(--surface-2);border:none;color:var(--muted);font:inherit;font-size:.7rem;cursor:pointer}.toggle button:first-child{border-radius:6px 0 0 6px}.toggle button:last-child{border-radius:0 6px 6px 0}.toggle button.on{background:var(--accent);color:var(--accent-ink)}.decoded{font-size:.75rem}.decoded.pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#b8e6c4}.tree-entry{display:flex;align-items:center;gap:.45rem;padding:.22rem 0}.hexview{font-size:.72rem}.hex-row{display:flex;gap:.6rem}.hex-off{color:var(--muted)}.hex-bytes{color:#9fd4ff;white-space:pre}.hex-ascii{color:var(--muted);white-space:pre}.hex-note{color:var(--muted);margin:.2rem 0 .4rem}.terminal{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--term-bg)}.presets{display:flex;gap:.4rem;padding:.55rem .6rem;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);flex:none}.presets::-webkit-scrollbar{display:none}.preset{flex:none;min-height:32px;padding:.2rem .8rem;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;color:#b8c4d4;font-family:var(--mono);font-size:.78rem;white-space:nowrap;cursor:pointer}.preset:active{background:var(--accent);color:var(--accent-ink)}.terminal-scroll{flex:1;min-height:0;overflow-y:auto;padding:.6rem;color:#d4d4d4;font-family:var(--mono);font-size:.8rem;line-height:1.5;cursor:text}.terminal-line{margin:0;padding:0;white-space:pre-wrap;word-break:break-word;font-family:inherit}.terminal-line--cmd{color:#7ee787}.terminal-line--error{color:#ff7b72}.terminal-line--hint{color:var(--muted);font-style:italic;margin-bottom:.4rem}.terminal-input-row{display:flex;align-items:center;gap:1ch;flex:none;padding:.5rem .6rem calc(.5rem + var(--safe-b));border-top:1px solid var(--line);font-family:var(--mono);font-size:.8rem;line-height:1.5}.terminal-prompt{color:#7ee787}.terminal-input{flex:1;min-width:0;padding:0;background:transparent;border:none;outline:none;color:#d4d4d4;font:inherit;font-size:max(16px,.8rem)}.run-button{flex:none;min-height:36px;padding:.35rem .9rem;background:var(--accent);border:none;border-radius:9px;color:var(--accent-ink);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.run-button:disabled{background:var(--surface-2);color:var(--muted)}@media(min-width:900px){.prompt{font-size:1.8rem}.actions{flex-direction:row}.btn{flex:1}.modal{grid-template-rows:45% 55%}}
