@font-face{font-family:Whyte;src:url(/assets/ABCWhyteEdu-Book-1-xEIJCo.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Whyte;src:url(/assets/ABCWhyte-RegularItalic-CASjuZD0.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Whyte Inktrap;src:url(/assets/ABCWhyteInktrap-Regular-BvsAhHNo.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Whyte Inktrap;src:url(/assets/ABCWhyteInktrap-RegularItalic-CU7lci9-.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Fraktion Mono;src:url(/assets/PPFraktionMono-Light-Bmzp0Iku.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Fraktion Mono;src:url(/assets/PPFraktionMono-LightItalic-CwKMs2wA.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Fraktion Mono;src:url(/assets/PPFraktionMono-Regular-Dgrtzi66.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fraktion Mono;src:url(/assets/PPFraktionMono-RegularItalic-CD02VD_I.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Fraktion Mono;src:url(/assets/PPFraktionMono-Bold-CiQ7U16X.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Fraktion Mono;src:url(/assets/PPFraktionMono-BoldItalic-B6e-br1r.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--font-sans: "Whyte", system-ui, -apple-system, sans-serif;--font-display: "Whyte Inktrap", system-ui, -apple-system, sans-serif;--font-mono: "Fraktion Mono", ui-monospace, monospace;--radius: .5rem}:root,.light{--dark-800: 95 4% 24%;--dark-900: 100 3% 15%;--dark-950: 30 13% 9%;--light-100: 38 49% 89%;--light-150: 36 60% 94%;--light-200: 41 32% 90%;--light-300: 39 29% 84%;--light-400: 39 30% 80%;--light-600: 35 13% 50%;--light-900: 32 14% 15%;--accent: 230 100% 54%;--color-error: 5 75% 55%;--color-warning: 33 90% 60%;--color-success: 101 20% 45%}.dark{--dark-800: 203 26% 96%;--dark-900: 180 100% 99%;--dark-950: 180 100% 99%;--light-100: 30 13% 9%;--light-150: 32 14% 15%;--light-200: 30 13% 9%;--light-300: 32 14% 15%;--light-400: 36 14% 18%;--light-600: 38 50% 80%;--light-900: 38 50% 80%;--accent: 216 100% 59%;--color-error: 0 100% 64%;--color-warning: 32 90% 68%}:root{--tx-primary: hsl(var(--dark-800));--tx-secondary: hsl(var(--dark-800) / .75);--tx-tertiary: hsl(var(--dark-800) / .5);--tx-disabled: hsl(var(--dark-800) / .22);--tx-button: hsl(var(--light-100));--tx-accent: hsl(var(--accent) / .95);--bg-outer: hsl(var(--dark-950));--bg-base: hsl(var(--light-100));--bg-card: hsl(var(--light-200));--bg-card-hover: hsl(var(--light-300));--bg-card-pressed: hsl(var(--light-400));--bg-hover: hsl(var(--dark-800) / .12);--bg-pressed: hsl(var(--dark-800) / .15);--bg-button: hsl(var(--dark-800));--bg-button-hover: hsl(var(--dark-900));--bg-accent: hsl(var(--accent) / .08);--bd-primary: hsl(var(--dark-800) / .15);--bd-secondary: hsl(var(--dark-800) / .08);--bd-hover: hsl(var(--dark-800) / .17);--bd-accent: hsl(var(--accent) / .35)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--tx-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display)}code,pre{font-family:var(--font-mono)}html,body{cursor:url(/cursors/cursor.svg) 4 4,auto}.cursor-pointer,a,button,[role=button]{cursor:url(/cursors/cursor-point.svg) 4 4,pointer}.cursor-grab{cursor:url(/cursors/cursor-grip.svg) 12 12,grab}.cursor-grabbing{cursor:url(/cursors/cursor-grip.svg) 12 12,grabbing}.root-node{cursor:url(/cursors/cursor-point.svg) 4 4,pointer}.root-node .root-bg{fill:var(--bg-card);stroke:var(--bd-primary);stroke-width:1}.root-node .root-label{fill:var(--tx-primary)}.root-node .root-chevron{fill:var(--tx-tertiary)}.root-node:hover .root-bg{fill:var(--bg-card-hover);stroke:var(--bd-hover);stroke-width:1.5}.root-node.active .root-bg{fill:var(--bg-button);stroke:var(--bg-button)}.root-node.active .root-label,.root-node.active .root-chevron{fill:var(--tx-button)}.root-content{transform-box:fill-box;transform-origin:center;transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.root-node:hover .root-content{transform:scale(1.06)}.root-node:active .root-content{transform:scale(.94)}.post-node{cursor:url(/cursors/cursor-point.svg) 4 4,pointer}.post-node-content{transform-box:fill-box;transform-origin:center;transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.post-node:hover .post-node-content{transform:scale(1.04)}.post-node:active .post-node-content{transform:scale(.97)}.post-node-pill{display:flex;flex-direction:column;align-items:center;gap:3px;padding:13px 24px;box-sizing:border-box;text-align:center;background:var(--bg-card);border:1px solid var(--bd-primary);border-radius:16px;transition:background .16s ease,border-color .16s ease}.post-node:hover .post-node-pill{background:var(--bg-card-hover);border-color:var(--bd-hover)}.post-node-title{color:var(--tx-primary);font:500 14px/1.3 var(--font-sans)}.post-node-meta{color:var(--tx-tertiary);font:11px/1.2 var(--font-mono);white-space:nowrap}.graph-edge{stroke:var(--bd-primary);stroke-width:1.5;fill:none}.elevation-1{box-shadow:0 0 4px -2px #18274b14,0 0 4px -2px #18274b1f}.elevation-2{box-shadow:0 4px 12px -2px #18274b1f,0 2px 6px -2px #18274b14}.modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,3vw,2rem)}.modal-backdrop{position:absolute;inset:0;background:#08080c80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:modal-backdrop-in .2s ease both}.modal-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:720px;max-height:88vh;background:var(--bg-base);border:1px solid var(--bd-secondary);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px -12px #08080c59,0 8px 24px -8px #08080c40;animation:modal-card-in .24s cubic-bezier(.22,1,.36,1) both}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,2rem) 1rem;border-bottom:1px solid var(--bd-secondary)}.modal-eyebrow{margin:0 0 .45rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--tx-tertiary)}.modal-title{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,4vw,2rem);line-height:1.15;color:var(--tx-primary)}.modal-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:10px;background:transparent;color:var(--tx-tertiary);transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--bg-hover);color:var(--tx-primary)}.modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:clamp(1.25rem,3vw,2rem);font-family:var(--font-sans);font-size:1rem;color:var(--tx-secondary)}.modal-body>*:first-child{margin-top:0}.modal-body pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-body p,.modal-body li,.modal-body h1,.modal-body h2,.modal-body h3{overflow-wrap:break-word}.modal-body h1,.modal-body h2,.modal-body h3,.modal-body h4,.modal-body h5{color:var(--tx-primary)}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.modal-overlay{padding:0}.modal-card{max-width:none;max-height:none;width:100%;height:100%;border:none;border-radius:0}.modal-header{padding-top:calc(clamp(1.25rem,3vw,1.75rem) + env(safe-area-inset-top,0px))}.modal-body{padding-bottom:calc(clamp(1.25rem,3vw,2rem) + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-card{animation:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bd-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bd-hover)}*{scrollbar-width:thin;scrollbar-color:var(--bd-primary) transparent}
