@font-face{font-family:Inter;src:local("Inter");font-display:swap}:root{color-scheme:light;--bg: #f7f5ef;--panel: #fffefa;--panel-rgb: 255, 254, 250;--ink: #23211d;--muted: #6f685c;--line: #ded7ca;--line-strong: #bdb3a2;--accent: #225c73;--accent-soft: #dceef2;--accent-link: rgba(34, 92, 115, .35);--surface-soft: #eee9dd;--surface-code: #25231f;--code-ink: #f5efe0;--grid-line: rgba(111, 104, 92, .08);--green: #59715f;--rose: #9a4f58;--shadow: 0 18px 60px rgba(52, 47, 38, .12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=dark]{color-scheme:dark;--bg: #12130f;--panel: #1b1d18;--panel-rgb: 27, 29, 24;--ink: #f3efe4;--muted: #aaa292;--line: #363a31;--line-strong: #59614f;--accent: #8ab5c2;--accent-soft: #22383f;--accent-link: rgba(138, 181, 194, .45);--surface-soft: #252920;--surface-code: #090a08;--code-ink: #f4ecd7;--grid-line: rgba(168, 177, 143, .11);--green: #a8b18f;--rose: #e0a1a8;--shadow: 0 18px 60px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.app{min-height:100vh}.home{min-height:100vh;display:grid;place-items:center;padding:56px 22px}.home-inner{width:min(720px,100%)}.intro{position:relative;margin-bottom:38px}.profile-image{display:block;width:132px;height:132px;margin:0 0 24px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-soft);object-fit:cover}.intro h1{margin:0 0 12px;font-size:clamp(2rem,5vw,4.5rem);line-height:.96;letter-spacing:0}.intro p{max-width:600px;margin:0;color:var(--muted);font-size:1.1rem;line-height:1.65}.profile-more-link{display:inline-flex;margin-top:18px;color:var(--accent);font-size:.95rem;font-weight:700;line-height:1.3;text-decoration:none}.profile-more-link:hover{text-decoration:underline;text-underline-offset:4px}.outline-section{border-top:1px solid var(--line);padding:24px 0}.outline-section:last-child{border-bottom:1px solid var(--line)}.outline-section h2,.nav-section h2{margin:0;color:var(--accent);font-size:.82rem;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}.section-heading{display:grid;gap:6px;margin-bottom:14px}.section-heading p,.nav-section p{margin:0;color:var(--muted);line-height:1.45}.section-heading p{font-size:.98rem}.nav-section p{margin:6px 0 10px;font-size:.78rem}.outline-section ul,.nav-section ul{list-style:none;margin:0;padding:0}.outline-section li+li{margin-top:8px}.outline-item-evidence,.nav-item-evidence{margin-top:16px;border-top:1px dashed var(--line-strong);padding-top:14px}.outline-section a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;max-width:100%;color:var(--ink);font-size:1.1rem;line-height:1.45;text-decoration:none}.outline-section a:before{content:"•";color:var(--line-strong)}.item-title,.item-subtitle{grid-column:2}.item-subtitle{display:block;margin-top:2px;color:var(--muted);font-size:.88rem;line-height:1.35}.nav-section .item-subtitle{font-size:.76rem}.nav-section a{display:grid}.outline-section a[data-emphasis=evidence],.nav-section a[data-emphasis=evidence]{color:var(--accent);font-weight:760}.outline-section a[data-emphasis=evidence]:before{content:"->";color:var(--accent)}.outline-section a:hover,.nav-section a:hover{color:var(--accent)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:292px;overflow:auto;border-right:1px solid var(--line);background:rgba(var(--panel-rgb),.92);padding:22px;transform:translate(-100%);transition:transform .18s ease;backdrop-filter:blur(16px)}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:24px}.brand{display:block;text-decoration:none}.brand span{display:block;font-weight:720}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}.theme-toggle{--celestial-size: 15px;display:inline-grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);cursor:pointer;font:inherit;overflow:hidden;box-shadow:0 8px 24px #342f2614}html[data-theme=dark] .theme-toggle{background:radial-gradient(circle at 66% 28%,rgba(255,255,255,.08),transparent 2px),radial-gradient(circle at 30% 72%,rgba(255,255,255,.08),transparent 1px),#151913;box-shadow:inset 0 0 0 1px #ffffff05,0 10px 28px #0000003d}.theme-toggle:hover{border-color:var(--line-strong);color:var(--accent)}.theme-toggle span{position:relative;display:block;width:var(--celestial-size);height:var(--celestial-size);border-radius:50%;background:radial-gradient(circle at 36% 32%,rgba(255,255,255,.35) 0 1px,transparent 2px),linear-gradient(145deg,#20201c,#0d0e0c);color:transparent;font-size:0;box-shadow:inset -3px -2px #00000024,0 0 0 1px #0000000a}.theme-toggle span:before{content:"";position:absolute;inset:-5px;border-radius:50%;opacity:0}html[data-theme=dark] .theme-toggle span{background:radial-gradient(circle at 35% 32%,#fff8d7 0 10%,#ffd36b 34%,#f49a38 72%);box-shadow:0 0 10px #ffca5bb8,0 0 24px #f49a3847}html[data-theme=dark] .theme-toggle span:before{opacity:1;background:linear-gradient(#f7df91,#f7df91) 50% 0 / 1px 4px no-repeat,linear-gradient(#f7df91,#f7df91) 50% 100% / 1px 4px no-repeat,linear-gradient(90deg,#f7df91,#f7df91) 0 50% / 4px 1px no-repeat,linear-gradient(90deg,#f7df91,#f7df91) 100% 50% / 4px 1px no-repeat,linear-gradient(45deg,transparent 43%,#f7df91 44% 56%,transparent 57%) 0 0 / 100% 100% no-repeat,linear-gradient(-45deg,transparent 43%,#f7df91 44% 56%,transparent 57%) 0 0 / 100% 100% no-repeat}.home-theme-toggle{position:absolute;top:0;right:0}.nav-section{border-top:1px solid var(--line);padding:18px 0}.nav-section li+li{margin-top:4px}.nav-section a{display:block;border-radius:6px;color:var(--muted);font-size:.92rem;line-height:1.28;padding:8px 10px;text-decoration:none}.nav-section a[aria-current=true]{background:var(--accent-soft);color:var(--accent)}.workspace{display:none;min-height:100vh;padding-left:292px}.tabs{position:sticky;top:0;z-index:6;display:flex;min-height:48px;overflow-x:auto;border-bottom:1px solid var(--line);background:rgba(var(--panel-rgb),.9);padding:8px 10px 0;backdrop-filter:blur(16px)}.tab{display:inline-flex;align-items:center;min-width:132px;max-width:240px;height:40px;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:var(--surface-soft);color:var(--muted)}.tab+.tab{margin-left:6px}.tab[aria-selected=true]{background:var(--panel);color:var(--ink)}.tab button{height:100%;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.tab button:first-child{flex:1;min-width:0;overflow:hidden;padding:0 8px 0 12px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.tab-close{width:34px;color:var(--muted)}.reader{min-height:calc(100vh - 48px)}.document-shell{width:min(860px,calc(100% - 40px));margin:0 auto;padding:54px 0 90px}.document-header{margin-bottom:32px;border-bottom:1px solid var(--line);padding-bottom:22px}.document-header p,.canvas-header p{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.document-header h1,.canvas-header h1{margin:0;font-size:clamp(2rem,4vw,3.8rem);line-height:1.02;letter-spacing:0}.markdown-body{color:var(--ink);font-size:1rem;line-height:1.72}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:2em 0 .72em;line-height:1.15;letter-spacing:0}.markdown-body h2{font-size:1.55rem}.markdown-body h3{font-size:1.18rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body table,.markdown-body pre,.markdown-body blockquote{margin:0 0 1.15em}.question-callout,.research-question-callout{max-width:780px;margin:.2rem 0 2rem!important;border-left:4px solid var(--accent);color:var(--ink);font-size:clamp(1.45rem,2.2vw,2.2rem);font-weight:750;line-height:1.18;padding-left:18px}.thinking-question{position:relative;margin:1.4rem 0 1.9rem!important;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;background:var(--panel);color:var(--ink);font-size:clamp(1.15rem,1.35vw,1.45rem);font-weight:680;line-height:1.35;padding:18px 20px 18px 22px;box-shadow:0 14px 40px #342f2614}.thinking-question:before{content:"Question";display:block;margin-bottom:8px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.markdown-body a{color:var(--accent);text-decoration-color:var(--accent-link);text-underline-offset:3px}.missing-link{color:var(--rose)!important;cursor:help;text-decoration-style:dotted}.markdown-body img,.image-viewer img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.markdown-body img{margin:1.7rem 0 2.1rem;padding:clamp(8px,1.2vw,14px)}.screenshot-feature,.screenshot-grid figure{margin:1.7rem 0 2.1rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.screenshot-feature img,.screenshot-grid img{width:100%;max-width:100%;height:auto;margin:0;border:0;border-radius:0;box-shadow:none}.screenshot-feature{max-width:680px}.screenshot-feature.screenshot-wide{max-width:100%}.screenshot-feature.screenshot-phone{max-width:320px}.screenshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:1.7rem 0 2.35rem}.screenshot-grid figure{margin:0}.screenshot-grid .screenshot-wide{grid-column:1 / -1}.screenshot-grid .screenshot-small{display:grid;place-items:center;padding:18px}.screenshot-grid .screenshot-small img{width:min(100%,320px);image-rendering:auto}.screenshot-grid .screenshot-phone{display:grid;place-items:center;padding:14px}.screenshot-grid .screenshot-phone img{width:min(100%,260px);max-height:560px;object-fit:contain;border-radius:6px}.screenshot-grid figcaption{border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.02em;padding:10px 12px}html[data-theme=dark] .markdown-body img,html[data-theme=dark] .image-viewer img,html[data-theme=dark] .screenshot-feature,html[data-theme=dark] .screenshot-grid figure{background:#171914;border-color:var(--line-strong)}.markdown-body pre{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface-code);color:var(--code-ink);padding:16px}.markdown-body code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.markdown-body :not(pre)>code{border:1px solid var(--line);border-radius:4px;background:var(--surface-soft);padding:.1em .28em}.markdown-body blockquote{border-left:3px solid var(--green);color:var(--muted);padding-left:16px}.markdown-body table{width:100%;border-collapse:collapse;font-size:.95rem}.markdown-body th,.markdown-body td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.markdown-body th{background:var(--surface-soft)}.mermaid-render{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel);margin:1.75rem 0 2.35rem;padding:22px}.mermaid-render svg{display:block;width:auto!important;max-width:620px!important;height:auto!important;margin:0 auto;overflow:visible}.mermaid-render.mermaid-vertical svg{max-width:500px!important;max-height:560px}.mermaid-render.mermaid-horizontal svg{min-width:700px;max-width:none!important}.mermaid-render.mermaid-wide svg{min-width:900px;max-width:none!important}.mermaid-render.mermaid-compact{width:min(100%,560px);margin:1.35rem auto 1.85rem;padding:14px 16px}.mermaid-render.mermaid-compact svg,.mermaid-render.mermaid-compact.mermaid-vertical svg,.mermaid-render.mermaid-compact.mermaid-horizontal svg,.mermaid-render.mermaid-compact.mermaid-wide svg{width:auto!important;min-width:0;max-width:100%!important;max-height:340px}.mermaid-render svg text,.mermaid-render svg .label,.mermaid-render svg .nodeLabel,.mermaid-render svg .edgeLabel{color:var(--ink)!important;fill:var(--ink)!important}.mermaid-render svg foreignObject,.mermaid-render svg foreignObject div,.mermaid-render svg foreignObject p,.mermaid-render svg foreignObject span{color:var(--ink)!important;line-height:1.25!important;white-space:normal!important}.mermaid-render svg .node rect,.mermaid-render svg .node circle,.mermaid-render svg .node ellipse,.mermaid-render svg .node polygon,.mermaid-render svg .node path{fill:var(--panel)!important;stroke:var(--line-strong)!important}.mermaid-render svg .edgeLabel,.mermaid-render svg .edgeLabel p{background:var(--panel)!important}.mermaid-render svg .flowchart-link{stroke:var(--muted)!important}html[data-theme=dark] .mermaid-render{background:#171914}.mermaid-error{color:var(--rose);white-space:pre-wrap}.journey-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:72px;border-top:1px solid var(--line);padding-top:22px}.canvas-shell>.journey-nav{margin:0;background:var(--panel);padding:18px 22px}.journey-link{display:grid;min-height:76px;align-content:center;gap:6px;border:1px solid transparent;border-radius:8px;background:transparent;padding:14px 0;text-decoration:none}.journey-link:hover{color:var(--accent)}.journey-link span{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.journey-link-prev span:before{content:"< "}.journey-link-next span:after{content:" >"}.journey-link strong{color:var(--ink);font-size:1.05rem;line-height:1.3;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.journey-link:hover strong{color:var(--accent);text-decoration-color:var(--accent-link)}.journey-link-next{text-align:right}.image-viewer{margin:0}.empty-state{display:grid;min-height:calc(100vh - 48px);place-items:center;padding:30px;color:var(--muted);text-align:center}.empty-state h1{margin:0 0 10px;color:var(--ink)}.canvas-shell{display:grid;min-height:calc(100vh - 48px);grid-template-rows:auto 1fr}.canvas-header{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:var(--panel);padding:18px 22px}.canvas-header h1{font-size:clamp(1.35rem,3vw,2.4rem)}.canvas-controls{display:inline-flex;gap:8px}.canvas-controls button{min-width:40px;height:34px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface-soft);color:var(--ink);cursor:pointer;font:inherit}.canvas-viewport{position:relative;overflow:hidden;min-height:620px;cursor:grab;background:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),var(--bg);background-size:28px 28px;touch-action:none}.canvas-viewport:active{cursor:grabbing}.canvas-stage{position:absolute;left:0;top:0;transform-origin:0 0}.canvas-edges{position:absolute;inset:0;overflow:visible}.canvas-edges text{fill:var(--muted);font-size:13px}.canvas-node{position:absolute;z-index:1;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);box-shadow:0 10px 30px #2c28211f;padding:14px}.canvas-node-text{color:var(--ink);font-size:15px;line-height:1.45}.canvas-node-text p{margin:0 0 .7em}.canvas-node-text p:last-child{margin-bottom:0}.canvas-node-kicker{margin:0 0 8px;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.canvas-node a{color:var(--accent);overflow-wrap:anywhere}.app[data-mode=home] .sidebar,.app[data-mode=home] .workspace,.app[data-mode=reader] .home{display:none}.app[data-mode=reader] .sidebar{display:block;transform:translate(0)}.app[data-mode=reader] .workspace{display:block}@media(max-width:820px){.profile-image{width:104px;height:104px;margin-bottom:18px}.mermaid-render svg{max-width:100%!important}.markdown-body img,.mermaid-render,.screenshot-feature,.screenshot-grid{width:100%;max-width:100%;margin-left:0;margin-right:0}.screenshot-grid{grid-template-columns:1fr}.mermaid-render.mermaid-horizontal svg{min-width:680px}.mermaid-render.mermaid-compact{width:100%}.mermaid-render.mermaid-compact.mermaid-horizontal svg{min-width:0}.journey-nav{grid-template-columns:1fr}.sidebar{position:static;width:100%;max-height:38vh;transform:none}.workspace{padding-left:0}.app[data-mode=reader]{display:flex;min-height:100vh;flex-direction:column}.document-shell{width:min(100% - 28px,860px);padding-top:32px}.canvas-header{align-items:flex-start;flex-direction:column}.canvas-viewport{min-height:520px}}
