:root{color-scheme:light;--paper: #f2eedf;--sheet: #fffdf5;--ink: #171713;--quiet: #5b594f;--red: #d53a24;--red-dark: #8f2518;--blue: #1655a5;--blue-dark: #123f79;--moss: #267044;--ochre: #8a5a00;--danger: #a82525;--rule: 2px solid var(--ink);--display: "Arial Narrow", "Aptos Narrow", "Roboto Condensed", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;font-family:var(--display);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Ccircle cx='1' cy='1' r='.65' fill='%23171713' fill-opacity='.11'/%3E%3C/svg%3E");font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--blue-dark);text-decoration-thickness:1.5px;text-underline-offset:3px}button{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:12px 16px;background:var(--sheet);border:var(--rule);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square;stroke-linejoin:miter;flex:none}.site-header{height:68px;padding:0 clamp(16px,3.5vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:var(--rule);background:#f2eedff5;position:relative;z-index:20}.wordmark{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.wordmark>span:last-child{color:var(--quiet);font-size:12px;font-family:var(--mono);font-weight:500;letter-spacing:0}.registration-mark{width:16px;height:16px;background:var(--red);border-radius:50%;box-shadow:inset 0 0 0 5px var(--paper),3px -2px 0 var(--blue)}.site-header nav{display:flex;align-items:center;gap:16px}.site-header nav>a,.text-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--ink);font-size:14px;font-weight:700}.text-button{appearance:none;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ink-button,.paper-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 18px;border:var(--rule);border-radius:0;font-weight:800;cursor:pointer;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.ink-button{color:var(--sheet);background:var(--ink);box-shadow:5px 5px 0 var(--red)}.ink-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--red)}.paper-button{color:var(--ink);background:var(--sheet);box-shadow:4px 4px 0 var(--blue)}.paper-button:hover{background:#fff;transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--blue)}.ink-button:active,.paper-button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 currentColor}.compact{min-height:40px;padding:7px 12px;font-size:13px;box-shadow:3px 3px 0 var(--blue)}.section-no,.eyebrow{margin:0 0 10px;font-family:var(--mono);color:var(--red-dark);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.landing{overflow:hidden}.hero-grid{max-width:1500px;min-height:650px;margin:0 auto;display:grid;grid-template-columns:minmax(410px,.88fr) minmax(540px,1.12fr);align-items:stretch}.hero-copy{padding:clamp(56px,8vw,112px) clamp(24px,5vw,80px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}.hero-copy h1{margin:0 0 24px;max-width:700px;font-size:clamp(48px,6vw,86px);line-height:.91;letter-spacing:-.055em;text-transform:uppercase}.hero-copy h1 span{color:var(--red-dark);-webkit-text-stroke:1px var(--red-dark)}.lede{max-width:650px;margin:0;color:#3f3d36;font-size:clamp(18px,1.55vw,22px);line-height:1.5}.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:36px}.support-note{max-width:580px;margin:22px 0 0;color:var(--quiet);font-family:var(--mono);font-size:12px}.hero-figure{margin:0;min-height:570px;border-left:var(--rule);position:relative;background:var(--sheet);overflow:hidden}.hero-figure:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='5'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23171713' fill-opacity='.17'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.18}.hero-figure img{width:100%;height:100%;object-fit:cover;object-position:62% center;display:block;filter:saturate(.93) contrast(1.04)}.hero-figure figcaption{position:absolute;z-index:2;bottom:20px;right:20px;max-width:300px;padding:10px 12px;border:1.5px solid var(--ink);background:#fffdf5eb;font-family:var(--mono);font-size:11px}.hero-figure figcaption span{color:var(--red-dark);font-weight:900}.intake{border-top:var(--rule);border-bottom:var(--rule);padding:clamp(40px,6vw,80px) clamp(20px,6vw,96px);display:grid;grid-template-columns:1fr 1.2fr;gap:32px clamp(40px,8vw,120px);background:var(--sheet)}.intake h2{margin:0 0 14px;font-size:clamp(28px,3.5vw,52px);line-height:1;text-transform:uppercase;letter-spacing:-.035em}.intake p{max-width:570px;color:var(--quiet);font-size:18px}.drop-zone{min-height:220px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px dashed var(--blue-dark);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Ccircle cx='1' cy='1' r='.8' fill='%231655a5'/%3E%3C/svg%3E");cursor:pointer;transition:background-color .18s ease,transform .18s ease}.drop-zone:before{content:"";position:absolute}.drop-zone strong,.drop-zone span{padding:2px 8px;background:var(--paper)}.drop-zone strong{font-size:22px;text-transform:uppercase}.drop-zone span:last-child{color:var(--quiet)}.drop-zone.dragging{background-color:#dbe5ef;transform:scale(.99)}.drop-icon{font-family:var(--mono);color:var(--red-dark);font-size:50px;line-height:1}.alternate-input{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--quiet)}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:1200px;margin:0 auto;padding:56px 24px}.proof-strip div{display:flex;flex-direction:column;align-items:center;border-right:1.5px solid var(--ink)}.proof-strip div:last-child{border:0}.proof-strip strong{font-size:30px}.proof-strip span{color:var(--quiet);font-family:var(--mono);font-size:11px;text-transform:uppercase}.site-footer{min-height:76px;padding:18px clamp(20px,4vw,64px);display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px}.site-footer a{color:var(--paper)}.loading-page,.error-page{min-height:calc(100vh - 144px);display:grid;place-items:center;padding:32px}.print-loader,.error-page>*{width:min(680px,100%)}.print-loader h1,.error-page h1{margin:0 0 28px;font-size:clamp(40px,7vw,72px);line-height:.95;text-transform:uppercase}.progress-track{height:24px;border:var(--rule);padding:3px;background:var(--sheet)}.progress-track span{display:block;height:100%;background-color:var(--red);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='20'%3E%3Cpath d='M13 0h2v20h-2z' fill='%23f2eedf'/%3E%3C/svg%3E");transition:width .18s ease}.print-loader small{color:var(--quiet)}.error-page{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.error-page>div{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:24px}.workspace{height:calc(100vh - 68px);min-height:640px;display:flex;flex-direction:column;overflow:hidden}.workspace+.site-footer{display:none}.project-bar{min-height:58px;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:var(--rule);background:var(--sheet)}.project-bar>div{display:flex;align-items:center;gap:12px}.project-bar strong{font-size:18px}.project-bar span{color:var(--quiet);font-family:var(--mono);font-size:11px}.indexed-dot{width:10px;height:10px;border-radius:50%;background:var(--moss)!important;box-shadow:2px 0 var(--ink)}.heuristic-badge{padding:5px 8px;color:#684500!important;border:1px solid var(--ochre);background:#fff5cf}.mobile-tabs{display:none}.work-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,19vw) minmax(430px,1fr) minmax(340px,31vw)}.symbol-pane,.graph-pane,.source-pane{min-width:0;min-height:0;background:var(--paper)}.symbol-pane,.graph-pane{border-right:var(--rule)}.symbol-pane{display:flex;flex-direction:column}.pane-head{min-height:86px;padding:14px 16px;border-bottom:1.5px solid var(--ink);background:var(--sheet)}.pane-head h1,.pane-head h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.15}.pane-head p{margin-bottom:5px}.search-box{height:44px;padding:0 9px;display:flex;align-items:center;gap:6px;border:1.5px solid var(--ink);background:var(--paper)}.search-box .icon{width:17px}.search-box input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-family:var(--mono);font-size:12px}kbd{padding:1px 5px;border:1px solid #858277;border-bottom-width:2px;background:var(--sheet);font-family:var(--mono);font-size:10px}.symbol-list{margin:0;padding:0;list-style:none;overflow:auto}.symbol-row{width:100%;min-height:57px;padding:8px 10px;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px;border:0;border-bottom:1px solid #b7b2a2;background:transparent;text-align:left;cursor:pointer}.symbol-row:hover{background:#e5e0ce}.symbol-row.active{background:var(--ink);color:var(--sheet);box-shadow:inset 5px 0 var(--red)}.symbol-row strong,.symbol-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.symbol-row strong{font-family:var(--mono);font-size:12px}.symbol-row small{color:inherit;opacity:.72;font-size:10px}.kind-stamp{width:28px;height:28px;display:grid;place-items:center;border:1px solid currentColor;font-family:var(--mono);font-size:9px}.empty-list,.no-relations{padding:24px;color:var(--quiet);font-size:14px}.graph-pane{display:flex;flex-direction:column;overflow:auto}.focus-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.focus-head>div{min-width:0}.focus-head>div>p:last-child{color:var(--quiet);font-family:var(--mono);font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.focus-head label{color:var(--quiet);font-size:12px}.focus-head select{min-height:38px;margin-left:5px;border:1.5px solid var(--ink);background:var(--paper)}.graph-canvas{min-height:390px;flex:1;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M0 0h24M0 0v24' fill='none' stroke='%23171713' stroke-opacity='.08'/%3E%3C/svg%3E")}.graph-canvas svg{width:100%;height:100%;min-height:390px;display:block}.graph-edge{fill:none;stroke:var(--ink);stroke-width:2.5;opacity:.82;marker-end:url(#arrow)}.caller-edge{stroke:var(--blue);stroke-dasharray:8 4}.import-edge{stroke:var(--ochre);stroke-dasharray:2 6}.graph-node{cursor:pointer}.graph-node rect{fill:var(--sheet);stroke:var(--ink);stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(4px 4px 0 rgba(22,85,165,.8))}.graph-node:hover rect,.graph-node:focus rect{fill:#fff;stroke-width:3}.graph-node.selected rect{fill:var(--ink);filter:drop-shadow(6px 6px 0 var(--red))}.graph-node text{font-family:var(--mono);pointer-events:none}.node-kind{fill:var(--red-dark);font-size:8px;font-weight:800;letter-spacing:.08em}.node-name{fill:var(--ink);font-size:13px;font-weight:800}.selected .node-kind{fill:#f7907e}.selected .node-name{fill:var(--sheet)}.selected circle{fill:var(--red);stroke:var(--sheet);stroke-width:2}.relationship-list{border-top:var(--rule);background:var(--sheet)}.relationship-list summary{min-height:44px;padding:10px 14px;display:flex;justify-content:space-between;cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:800;text-transform:uppercase}.relationship-list summary span{color:var(--red-dark)}.relationship-list ul{margin:0;padding:0;list-style:none;max-height:170px;overflow:auto}.relationship-list button{width:100%;min-height:52px;padding:6px 14px;display:grid;grid-template-columns:65px 1fr;align-items:center;gap:2px 10px;border:0;border-top:1px solid #cbc6b5;background:transparent;text-align:left;cursor:pointer}.relationship-list button:hover{background:var(--paper)}.relationship-list button span{grid-row:1 / span 2;color:var(--blue-dark);font-family:var(--mono);font-size:9px;text-transform:uppercase}.relationship-list button strong{font-family:var(--mono);font-size:12px}.relationship-list button small{color:var(--quiet);font-size:10px}.source-pane{display:flex;flex-direction:column;overflow:hidden;background:#201f1b;color:#f4efdf}.source-pane .pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);border-color:#69675e}.source-pane .section-no{color:#f68e79}.line-link{color:#b9d8ff;font-family:var(--mono);font-size:11px}.source-code{flex:1;overflow:auto;padding:16px 0 80px;font-family:var(--mono);font-size:12px;line-height:1.65;tab-size:2}.code-line{min-width:max-content;display:grid;grid-template-columns:50px 1fr;border-left:3px solid transparent}.code-line.active{background:#d53a2421;border-left-color:var(--red)}.line-no{padding-right:12px;color:#949084;text-align:right;-webkit-user-select:none;user-select:none}.code-line code{padding-right:20px;white-space:pre}.code-ref{margin:0;padding:0 1px;border:0;border-bottom:1px dotted #86b8f4;color:#b9d8ff;background:transparent;font:inherit;cursor:pointer}.code-ref:hover{color:#fff;background:var(--blue-dark)}.status-ribbon{min-height:30px;padding:4px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ink);color:#d8d3c3;font-family:var(--mono);font-size:9px}.update-toast{position:fixed;z-index:20;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;max-width:min(390px,calc(100vw - 32px));padding:12px;border:var(--rule);background:var(--sheet);box-shadow:5px 5px 0 var(--ink);color:var(--ink);font:700 14px/1.3 var(--sans)}.team-dialog{width:min(580px,calc(100% - 32px));padding:32px;border:3px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);box-shadow:12px 12px 0 var(--red)}.team-dialog::backdrop{background:#171713b8}.dialog-close{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.team-dialog h2{margin:0;font-size:38px;line-height:1;text-transform:uppercase}.team-dialog>p:not(.eyebrow){color:var(--quiet)}.price{margin:20px 0;display:flex;align-items:center;gap:14px}.price strong{font-size:42px}.price span{color:var(--quiet);font-family:var(--mono);font-size:11px}.team-dialog form{margin:28px 0 20px;padding-top:20px;border-top:var(--rule)}.team-dialog form label{display:block;margin-bottom:8px;font-weight:800}.team-dialog form>div{display:flex;gap:10px}.team-dialog input{min-width:0;flex:1;min-height:46px;padding:8px;border:1.5px solid var(--ink);background:var(--sheet);font-family:var(--mono)}.team-dialog form p{min-height:24px;margin-bottom:0;color:var(--moss)}.team-dialog .license-notice{padding:9px 12px;border-left:5px solid var(--ochre);background:#fff5cf;color:#684500}.team-dialog>small{color:var(--quiet)}.legal-page{width:min(760px,calc(100% - 40px));min-height:calc(100vh - 144px);margin:0 auto;padding:64px 0 96px}.legal-page h1{margin:8px 0 50px;font-size:clamp(44px,8vw,76px);line-height:.95;text-transform:uppercase;letter-spacing:-.04em}.legal-page h2{margin:38px 0 8px;font-size:24px;text-transform:uppercase}.legal-page p{max-width:68ch;color:#37362f;font-size:17px;line-height:1.65}.back-link{display:inline-flex;min-height:44px;align-items:center;margin-bottom:42px;font-weight:800}@media(max-width:1000px){.hero-grid{grid-template-columns:1fr 1fr}.hero-copy{padding:64px 28px}.hero-copy h1{font-size:clamp(45px,7vw,68px)}.work-grid{grid-template-columns:220px minmax(430px,1fr)}.source-pane{position:fixed;z-index:15;inset:174px 0 30px 220px;transform:translate(105%);transition:transform .2s ease}.work-grid[data-active-pane=source] .source-pane{transform:translate(0)}.mobile-tabs{min-height:48px;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:var(--rule)}.mobile-tabs button{border:0;border-right:1px solid var(--ink);background:var(--paper);font-weight:800}.mobile-tabs button[aria-selected=true]{color:var(--sheet);background:var(--ink);box-shadow:inset 0 -4px var(--red)}}@media(max-width:760px){.site-header{height:60px;padding:0 14px}.wordmark>span:last-child,.site-header nav>a,.site-header .compact{display:none}.hero-grid{min-height:0;display:flex;flex-direction:column}.hero-copy{padding:52px 20px 48px}.hero-copy h1{font-size:clamp(48px,14.2vw,62px)}.lede{font-size:18px}.hero-actions{flex-direction:column;align-items:stretch}.hero-figure{min-height:350px;border-left:0;border-top:var(--rule)}.hero-figure img{object-position:65% center}.intake{padding:48px 20px;grid-template-columns:1fr;gap:28px}.alternate-input{grid-column:1;flex-direction:column;align-items:stretch}.proof-strip{grid-template-columns:repeat(2,1fr);gap:28px 0}.proof-strip div:nth-child(2){border-right:0}.site-footer{flex-direction:column;align-items:flex-start}.workspace{height:calc(100vh - 60px);min-height:560px}.project-bar{min-height:65px}.project-bar>div:first-child span:last-child,.heuristic-badge{display:none}.project-bar .paper-button span{display:none}.work-grid{display:block;position:relative;overflow:hidden}.symbol-pane,.graph-pane,.source-pane{position:absolute;inset:0;border:0;transform:translate(105%);transition:transform .18s ease}.work-grid[data-active-pane=symbols] .symbol-pane,.work-grid[data-active-pane=graph] .graph-pane,.work-grid[data-active-pane=source] .source-pane{transform:translate(0)}.graph-pane{overflow:auto}.graph-canvas{min-height:320px}.graph-canvas svg{min-height:320px}.status-ribbon{justify-content:center}.status-ribbon span:not(:nth-child(2)){display:none}.team-dialog{padding:28px 20px}.team-dialog form>div{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
