.cmap{max-width:980px;height:470px;margin:0 auto;position:relative}.cmap-lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cmap-lines path{fill:none;stroke:var(--line-2);stroke-width:1.4px;vector-effect:non-scaling-stroke}.cmap-lines path.flow{stroke:var(--accent);stroke-dasharray:2 14;stroke-linecap:round;stroke-width:2px;opacity:.7;animation:3s linear infinite cmap-flow}@keyframes cmap-flow{to{stroke-dashoffset:-32px}}.cnode{left:var(--x,50%);top:var(--y,50%);border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);min-width:7.5rem;color:var(--fg);white-space:nowrap;box-shadow:var(--shadow);justify-content:center;align-items:center;padding:.5rem .9rem;font-size:.92rem;font-weight:550;transition:border-color .15s,box-shadow .15s,transform .15s;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.cnode:hover{box-shadow:var(--glow);text-decoration:none;transform:translate(-50%,-50%)translateY(-2px)}.cnode.root{font-family:var(--font-mono);letter-spacing:.16em;background:var(--surface-2);padding:.6rem 1.2rem;font-size:.8rem}.cnode.math{border-color:color-mix(in srgb, var(--math) 60%, var(--line));color:var(--math)}.cnode.computing{border-color:color-mix(in srgb, var(--comp) 60%, var(--line));color:var(--comp)}.cnode.leaf{color:var(--fg-2);background:var(--bg-2);min-width:0;font-size:.85rem;font-weight:450}@media (width<=760px){.cmap{grid-template-columns:1fr 1fr;gap:.5rem;height:auto;display:grid}.cmap-lines{display:none}.cnode{white-space:normal;min-width:0;position:static;transform:none}.cnode:hover{transform:none}.cnode.root{grid-column:1/-1}.cnode.row-1{grid-column:span 1}}.hero{background:radial-gradient(ellipse at 70% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%), linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 32px 32px;border-bottom:1px solid var(--line);padding:clamp(3rem,8vw,6rem) 0 1rem}.hero h1{margin:.4rem 0 1rem;font-size:clamp(2.6rem,7vw,4.8rem)}.hero h1 .x{color:var(--accent);font-weight:400}.hero-cta{flex-wrap:wrap;gap:.6rem;margin:1.6rem 0 2rem;display:flex}.stats{flex-wrap:wrap;gap:1rem 2.5rem;margin:0 0 1.5rem;display:flex}.stats div{flex-direction:column-reverse;display:flex}.stats dd{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:700}.stats dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.thesis-flow{flex-wrap:wrap;align-items:center;gap:.5rem 0;margin:0;padding:0;font-size:1.05rem;list-style:none;display:flex}.thesis-flow li{align-items:center;display:inline-flex}.thesis-flow li+li:before{content:"→";color:var(--faint);margin:0 .6rem}.thesis-flow a{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);padding:.3rem .65rem}.thesis-end{flex-wrap:wrap;gap:.25rem}.thesis-end a{border-color:color-mix(in srgb, var(--comp) 45%, var(--line))!important;color:var(--comp)!important}.two-questions{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:1.2rem;display:grid}.question h2{margin:.2rem 0 .8rem;font-size:1.3rem}.question .btn{align-self:flex-start;margin-top:.8rem}.qpath{flex-wrap:wrap;gap:.35rem 0;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.qpath li+li:before{content:"→";color:var(--faint);margin:0 .4rem}.qpath a{color:var(--fg);border-bottom:1px solid var(--lv)}.qpath li:last-child a{color:var(--lv);font-weight:650}.quses{gap:.45rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.quses li{grid-template-columns:11rem 1fr;gap:.6rem;display:grid}.quses a.computing{color:var(--comp);font-weight:550}.quses span a{color:var(--fg-2)}.demo-glyph{color:var(--accent);font-size:1.4rem}.area-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem;display:flex}.area-chip{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);align-items:center;gap:.55rem;padding:.45rem .8rem;font-size:.92rem;display:inline-flex}.area-chip:hover{border-color:var(--line-2);text-decoration:none}.area-chip .glyph{text-align:center;min-width:1.6rem;font-size:1rem}.area-chip .count{font-family:var(--font-mono);color:var(--muted);font-size:.72rem}@media (width<=560px){.quses li{grid-template-columns:1fr;gap:.1rem}}
