.case-back{display:inline-flex;align-items:center;gap:.5rem;font-family:Space Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);transition:color .25s ease,gap .25s ease}.case-back:hover{color:var(--ink);gap:.75rem}.brief-card{border-top:1px solid var(--ink);padding-top:1.1rem}.brief-card .lbl{font-family:Space Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:.6rem}.figure-card{border-radius:18px;border:1px solid var(--line);background:var(--paper-raised);padding:1.25rem;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .4s ease;content-visibility:auto;contain-intrinsic-size:360px}.figure-card img{width:100%;border-radius:10px;background:#fff}.figure-card figcaption{font-family:Space Mono,monospace;font-size:.72rem;color:var(--ink-muted);margin-top:.9rem;letter-spacing:.02em}@media(hover:hover){.figure-card:hover{transform:translate3d(0,-4px,0);border-color:var(--line-strong);box-shadow:var(--shadow)}}.code-block{margin-bottom:1.5rem}.code-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}.code-head .num{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-family:Space Mono,monospace;font-size:.8rem;font-weight:700}.code-head h3{font-family:Fraunces,Georgia,serif;font-size:1.25rem}.code-wrap{position:relative;border:1px solid rgba(255,255,255,.08);background:#1b1813;border-radius:16px;padding:1.25rem;box-shadow:var(--shadow)}.code-wrap pre[class*=language-]{margin:0;background:transparent;overflow-x:auto;font-size:.85rem}.code-wrap code[class*=language-]{font-family:Space Mono,ui-monospace,monospace}@media(max-width:640px){.code-wrap{padding:1rem;border-radius:12px}.code-wrap pre[class*=language-]{font-size:.78rem}}.copy-btn{position:absolute;top:.85rem;right:.85rem;padding:.4rem .85rem;min-height:36px;border-radius:999px;font-family:Space Mono,monospace;font-size:.72rem;background:#ffffff12;border:1px solid rgba(255,255,255,.16);color:#e9e3d6;cursor:pointer;transition:border-color .25s ease,background .25s ease}.copy-btn:hover{border-color:#ffffff73;background:#ffffff1f}.copy-btn[data-copied=true]{color:#fff;border-color:#fff9}.copy-btn[data-copied=true]:after{content:" ✓"}.toc-card{position:sticky;top:7rem}.toc-title{font-family:Space Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.1rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}#toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.toc-link{color:var(--ink-muted);font-size:.9rem;display:inline-flex;align-items:center;gap:.55rem;transition:color .25s ease}.toc-link:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--line-strong);transition:background .25s ease,transform .25s ease}.toc-link:hover{color:var(--ink)}.toc-link.active{color:var(--accent)}.toc-link.active:before{background:var(--accent);transform:scale(1.3)}.pub-callout{border:1px solid var(--line);background:var(--paper-raised);border-radius:18px;padding:1.75rem 2rem}.case-foot{border-top:1px solid var(--ink);margin-top:4rem;padding-top:2rem}.case-foot a{font-family:Space Mono,monospace;font-size:.8rem;color:var(--ink-muted);transition:color .25s ease}.case-foot a:hover{color:var(--accent)}.mobile-toc-toggle{position:fixed;bottom:1.5rem;right:1.5rem;z-index:80;width:3.25rem;height:3.25rem;border-radius:999px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:var(--shadow);transition:transform .25s ease}.mobile-toc-toggle:active{transform:scale(.92)}.mobile-toc-menu{position:fixed;bottom:5.25rem;right:1.5rem;z-index:80;background:var(--paper-raised);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.25rem;width:calc(100vw - 3rem);max-width:300px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px) scale(.96);transform-origin:bottom right;transition:all .3s cubic-bezier(.16,1,.3,1)}.mobile-toc-menu.is-open{opacity:1;pointer-events:all;transform:none}.mobile-toc-link{display:block;padding:.7rem 0;color:var(--ink-soft);font-size:.95rem;border-bottom:1px solid var(--line)}.mobile-toc-link:last-child{border-bottom:none}.mobile-toc-link.active{color:var(--accent)}@media(min-width:1024px){.mobile-toc-toggle,.mobile-toc-menu{display:none}}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}
