@font-face{font-family:Geist;src:url(/fonts/geist.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--bg:#f6f7f5;--surface:#eef0ed;--surface2:#e5e9e4;--text:#202622;--muted:#566059;--border:#ccd3cb;--accent:#306247;--accent-text:#f5faf6;--signal:#286140;--unknown:#805312;--unsafe:#9c4541;--shared:#516386;--font:Geist,"Segoe UI",sans-serif}:root[data-theme=dark]{--bg:#101214;--surface:#181b1d;--surface2:#232729;--text:#edf0eb;--muted:#a0aaa3;--border:#303638;--accent:#b9d9a7;--accent-text:#182819;--signal:#b9d9a7;--unknown:#dcbb7a;--unsafe:#df9290;--shared:#9fb9d0}*,:after,:before{box-sizing:border-box}body,figure,h1,h2,h3,p{margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100dvh;line-height:1.6}button,input,select{font:inherit}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.btn:active,button:active{transform:translateY(1px)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}button{color:inherit}input,select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);min-width:0}input{padding:15px 17px}input::placeholder{color:var(--muted)}label{display:block;font-size:13px;margin-bottom:9px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid transparent;border-radius:var(--radius);padding:15px 22px;background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:600;white-space:nowrap;transition:transform .2s}.btn:hover{filter:brightness(1.06)}.text-button,.theme-toggle{background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:12px}.text-button{border:0;text-decoration:underline;text-underline-offset:5px}.site-header{height:76px;padding:0 4%;justify-content:space-between;border-bottom:1px solid var(--border)}.brand,.site-header{display:flex;align-items:center}.brand{font-size:21px;font-weight:650;letter-spacing:-.7px;gap:10px}.brand-mark{width:9px;height:20px;border:2px solid var(--accent);border-radius:2px;transform:rotate(25deg)}nav{display:flex;align-items:center;gap:30px;font-size:13px;color:var(--muted)}nav a:hover{color:var(--text)}.landing{max-width:1400px;margin:auto}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;padding:62px 0 66px}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:550;color:var(--muted);margin-bottom:24px}.hero h1{font-size:clamp(54px,5.8vw,82px);letter-spacing:-4.2px;line-height:1.04;max-width:650px}.hero-description{font-size:17px;line-height:1.7;max-width:460px;margin:24px 0 30px}.input-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:8px}.input-row input{font-size:12px}.private-access{margin-top:14px}.private-access summary{cursor:pointer;width:fit-content}.private-access label{margin-top:16px}.private-access input{width:100%}.private-access p{margin-top:8px;max-width:440px}.hero-art{width:100%;min-width:0}.hero-art img{width:114%;max-width:none;height:auto;display:block;margin-left:-6%;aspect-ratio:1;object-fit:contain;border-radius:var(--radius)}[data-theme=light] .hero-art img{width:100%;margin:0}.hero-art figcaption{text-align:center;margin-top:-25px;position:relative}[data-theme=light] .hero-art figcaption{margin-top:12px}.start-section{padding:26px 0 62px;border-top:1px solid var(--border)}h2{font-size:23px;letter-spacing:-.65px;font-weight:500}.small,.start-section>div>p{font-size:12px;color:var(--muted);margin-top:6px}.example-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:24px}.example{display:block;text-align:left;border:1px solid var(--border);border-radius:var(--radius);padding:25px 28px;color:var(--text)}.example:hover{border-color:var(--accent)}.demo-example{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.example-kind{font-size:9px;letter-spacing:1px;color:var(--muted)}.example h3{font-weight:500;margin:10px 0}.example h3 span{float:right;color:var(--accent)}.example p{font-size:12px;max-width:420px;color:var(--muted)}.how-section{padding:44px 0 70px;border-top:1px solid var(--border)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:32px}.how-grid h3{font-size:14px;font-weight:550;margin-bottom:12px}.how-grid p{font-size:13px;color:var(--muted)}.recent-section{padding:20px 0 50px}#recent-list{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}#recent-list a{border:1px solid var(--border);padding:10px 16px;border-radius:var(--radius);font-size:13px}.site-footer{gap:20px;font-size:11px;color:var(--muted);padding:22px 4%}.status-box{margin-top:16px;padding:14px 18px;border:1px solid var(--unsafe);color:var(--unsafe);border-radius:var(--radius);font-size:13px}.progress-screen{min-height:calc(100dvh - 140px);padding:60px 24px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.progress-screen h1{font-size:38px;line-height:1.2;letter-spacing:-1.2px;font-weight:500;margin:0 0 18px}.progress-screen .eyebrow{margin:0 0 14px;overflow-wrap:anywhere}.progress-screen>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:500px}.progress-steps{display:flex;list-style:none;gap:32px;padding:30px 0 10px;font-size:12px;color:var(--muted)}.progress-steps li{border-top:2px solid var(--border);padding-top:12px}.progress-steps [aria-current]{color:var(--accent);border-color:var(--accent)}.progress-screen .text-button{margin-top:22px}.scan-scene{width:180px;height:170px;perspective:500px;margin-bottom:40px;display:grid;place-items:center}.scan-plane{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;transform:rotateX(52deg) rotate(-35deg);width:140px;height:140px}.scan-plane i{background:var(--surface2);border:1px solid var(--border);border-radius:4px;box-shadow:6px 6px 0 var(--surface)}.scan-plane i:nth-child(3n+1){--delay:-.6s}.scan-plane i:nth-child(3n+2){--delay:-1.2s}.scan-plane i:nth-child(3n){--delay:-1.8s}.expired{max-width:650px;margin:15vh auto;padding:24px}.expired p{margin:20px 0 30px;color:var(--muted)}@media(prefers-reduced-motion:no-preference){.hero-copy{animation:enter .7s both}.hero-art{animation:enter 1s .1s both}.scan-plane i{animation:scan 2.4s var(--delay,0s) ease-in-out infinite}@keyframes enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scan{0%,to{transform:translate(0);opacity:.5}50%{transform:translate(-8px,-8px);opacity:1;background:var(--accent)}}}@media(min-width:1600px){.hero{min-height:680px}.landing{padding:0 40px}}@media(max-width:1024px){.landing{padding:0 32px}.hero{grid-template-columns:1.2fr 1fr;min-height:560px;padding-top:40px}.hero h1{font-size:64px}.input-row{grid-template-columns:1fr}.hero-art img{width:108%}.how-grid{gap:22px}}@media(max-width:767px){.site-header{height:64px;padding:0 20px}nav{gap:16px}.site-header nav>a:first-child{display:none}.brand{font-size:19px}.landing{padding:0 22px}.hero{grid-template-columns:1fr;padding:42px 0 36px;gap:22px}.hero h1{font-size:62px;letter-spacing:-3px}.hero-description{font-size:15px;max-width:370px}.hero-art{max-width:370px;margin:auto}.hero-art img{width:100%;margin:0}.hero-art figcaption{margin-top:-12px}.example-grid,.how-grid{grid-template-columns:1fr}.example{padding:22px}.how-grid{gap:28px}.site-footer{padding:20px 22px}.site-footer span:last-child{display:none}.progress-screen h1{font-size:29px}.progress-steps{gap:15px;font-size:10px}.progress-screen{padding-top:35px}}:root{color-scheme:light;--bg:#f7f8fa;--surface:#eef0f4;--surface2:#e3e7ed;--text:#171c26;--muted:#596474;--border:#ccd4df;--accent:#2057bd;--accent-text:#f7f9ff;--signal:#24795e;--unknown:#976518;--unsafe:#bb4853;--shared:#805ac0;--radius:10px}:root[data-theme=dark]{color-scheme:dark;--bg:#0b0d10;--surface:#14181e;--surface2:#1b222b;--text:#edf0f4;--muted:#a4afbd;--border:#29323e;--accent:#2d68d2;--accent-text:#f8faff;--signal:#56c7a4;--unknown:#e7b653;--unsafe:#f0787d;--shared:#c194ed}body{letter-spacing:.005em}.site-header{height:68px;background:#11151b;padding:0 30px;border-bottom:1px solid #252b35;color:#edf0f4}.brand{font-size:20px;letter-spacing:-.06em;font-weight:700}.brand-mark{width:18px;height:19px;border:0;border-radius:0;transform:none;background:linear-gradient(90deg,transparent 0 1px,#5c93ed 1px 5px,transparent 5px 7px,#eda66d 7px 11px,transparent 11px 13px,#72b0ec 13px 17px,transparent 17px);clip-path:polygon(0 35%,25% 35%,25% 0,60% 0,60% 35%,100% 35%,100% 100%,0 100%)}nav{gap:22px}.site-header .icon-button,.site-header .icon-link{color:#a8b2c1;display:grid;place-items:center;width:28px;height:32px;padding:0;background:none;border:0;border-radius:4px}.site-header .icon-button:hover,.site-header .icon-link:hover{color:#e8edf5}.icon{display:block;width:19px;height:19px;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.github-icon{-webkit-mask-image:url(/icons/github.svg);mask-image:url(/icons/github.svg)}.theme-icon{-webkit-mask-image:url(/icons/sun.svg);mask-image:url(/icons/sun.svg)}[data-theme=light] .theme-icon{-webkit-mask-image:url(/icons/moon.svg);mask-image:url(/icons/moon.svg)}.landing{max-width:1490px;padding:0 64px}.hero{grid-template-columns:1.05fr 1fr;min-height:620px;padding:66px 0 52px;gap:12px}.hero-copy{max-width:695px}.hero h1{font-size:clamp(51px,4.8vw,69px);letter-spacing:-.035em;line-height:1.09;max-width:none}.hero-description{font-size:19px;line-height:1.58;max-width:590px;margin:24px 0 34px}.hero form{max-width:665px}.hero label{font-size:12px;color:var(--muted)}.input-row{grid-template-columns:minmax(170px,1fr) auto;gap:10px}.input-row input{background:var(--surface);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;padding:16px 17px}.input-row .btn{min-width:190px}.private-access{margin-top:15px;font-size:12px;color:var(--muted)}.private-access summary:hover{text-decoration:underline;text-underline-offset:3px}.hero-art{position:relative;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.city-model{position:relative;width:min(100%,650px);height:490px;touch-action:pan-y;outline-offset:-4px;cursor:grab}.city-model:active{cursor:grabbing}.city-model canvas{display:block;width:100%;height:100%}.city-fallback{color:var(--muted);padding:90px 20px;text-align:center}.hero-art figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;width:min(100%,650px);font-size:11px;color:var(--muted);margin-top:-5px;text-align:left}.hero-art figcaption span{flex:1 1}.hero-art figcaption button{white-space:nowrap;background:none;border:0;color:var(--muted);padding:4px 0;font-size:11px}.hero-art figcaption button:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.start-section{padding-top:28px}.start-section>div>p{font-size:14px}.example{transition:border-color .16s,transform .16s}.demo-example,.example{background:var(--surface)}.example:hover{transform:translateY(-2px)}.example-kind{color:#8295b1;font-size:10px}.example h3{font-size:16px}.example p{font-size:13px;line-height:1.55}.how-section h2,.recent-section h2,.start-section h2{font-size:24px}.how-grid h3{font-size:15px}.how-grid p{font-size:14px}.progress-screen .scan-plane i:nth-child(3n+1){background:#3b6dbc}.progress-screen .scan-plane i:nth-child(3n+2){background:#56ada4}.progress-screen .scan-plane i:nth-child(3n){background:#da9f65}@media(prefers-reduced-motion:no-preference){.hero-art,.hero-copy{animation:none}}@media(max-width:1150px){.landing{padding:0 38px}.hero{grid-template-columns:1fr 1fr;min-height:560px}.hero h1{font-size:clamp(43px,4.9vw,56px)}.hero-description{font-size:16px}.city-model{height:420px}.hero-art{min-height:450px}.input-row{grid-template-columns:1fr}.input-row .btn{width:100%}}@media(max-width:767px){.site-header{height:64px;padding:0 19px}.landing{padding:0 22px}.hero{grid-template-columns:1fr;min-height:0;padding:48px 0 38px;gap:16px}.hero h1{font-size:clamp(42px,10vw,58px);line-height:1.1}.hero-description{font-size:16px;line-height:1.55;margin:19px 0 28px}.input-row{grid-template-columns:1fr}.hero-art{min-height:0;max-width:none}.city-model{height:min(94vw,410px)}.hero-art figcaption{padding:0 5px;font-size:10px}.example-grid,.how-grid{grid-template-columns:1fr}.site-footer{padding:18px 22px}}.landing{padding:0 72px}.hero h1{font-size:clamp(47px,4vw,62px);font-weight:500;letter-spacing:-.028em;line-height:1.1}.hero-description{font-size:16px;line-height:1.55;max-width:520px;margin:22px 0 28px}.hero-art{min-height:0}.city-model{height:420px}.hero-art figcaption{margin-top:0}@media(min-width:768px){.landing{height:calc(100dvh - 131px);display:flex;flex-direction:column}.hero{flex:1 1;min-height:0;padding:0 0 120px;gap:36px}}@media(max-height:760px) and (min-width:768px){.city-model{height:330px}.hero-description{margin:14px 0 18px}.hero{padding-bottom:20px}}@media(max-width:767px){.landing{padding:0 24px}.hero{min-height:0;padding:24px 0 26px;gap:0}.hero h1{font-size:clamp(40px,10vw,52px)}.hero-description{font-size:15px}.city-model{height:min(64vw,270px)}.hero-art figcaption{font-size:10px}}.landing{display:flex;flex-direction:column;max-width:1420px;min-height:calc(100dvh - 132px);padding:0 clamp(48px,7vw,112px)}.hero{flex:1 1;min-height:0;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(22px,3vw,48px);padding:16px 0 10px;align-items:center}.hero h1,.hero-copy{max-width:610px}.hero h1{font-size:clamp(43px,4.15vw,60px);font-weight:440;letter-spacing:-.045em;line-height:1.07;text-wrap:balance}.hero-description{max-width:550px;margin:19px 0 24px;font-size:clamp(15px,1.3vw,17px);line-height:1.5;color:var(--muted)}.hero form{max-width:600px}.hero label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero .input-row{grid-template-columns:minmax(160px,1fr) auto;gap:9px}.hero .input-row input{height:48px;background:var(--surface);font-size:13px;padding:11px 14px}.hero .input-row .btn{height:48px;min-width:168px;padding:0 17px}.hero-note{font-size:11px;color:var(--muted);margin-top:9px}.examples{padding:0 0 18px}.examples h2{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:var(--muted);font:600 10px var(--font);letter-spacing:.11em}.examples h2 span{font-size:15px;color:var(--accent)}.example-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.example-card{display:flex;flex-direction:column;align-items:flex-start;min-height:94px;padding:12px 16px;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;transition:border-color .2s,transform .2s,background .2s}.example-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));transform:translateY(-2px)}.example-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--muted);font:9px ui-monospace,Consolas,monospace;letter-spacing:.06em}.example-card-top b{font-size:14px;font-weight:400;color:var(--accent)}.example-card strong{font-size:16px;font-weight:550;line-height:1.15}.example-card>span:last-child{font-size:10px;color:var(--muted)}.site-footer{height:64px;justify-content:space-between;padding:0 clamp(48px,7vw,112px);background:var(--surface);border-top:1px solid var(--border)}.footer-identity,.site-footer{display:flex;align-items:center}.footer-identity{gap:10px}.footer-mark{display:block;width:26px;height:26px;background:url(/logo.svg) 50%/contain no-repeat}.footer-identity>span:last-child{display:flex;flex-direction:column;line-height:1.25}.footer-identity strong{font-size:12px;font-weight:600;color:var(--text)}.footer-identity small{font-size:10px;color:var(--muted)}.footer-credit{display:inline-flex;align-items:center;gap:8px;font:10px ui-monospace,Consolas,monospace;letter-spacing:.03em;color:var(--muted)}.footer-credit i{width:6px;height:6px;border-radius:50%;background:var(--signal)}@media(max-width:1150px) and (min-width:768px){.hero h1{font-size:clamp(40px,4.4vw,50px)}.hero .input-row{grid-template-columns:1fr}.hero .input-row .btn{width:100%}.code-editor{font-size:8px;gap:4px}.code-result{padding:11px 13px}.code-result strong{font-size:18px}}@media(max-width:767px){.landing{display:block;min-height:0;padding:0 22px}.hero{display:flex;flex-direction:column;gap:12px;padding:28px 0 20px}.hero h1{font-size:clamp(39px,9.8vw,49px)}.hero-description{font-size:14px;margin:16px 0 20px}.hero .input-row{grid-template-columns:1fr}.hero .input-row .btn{width:100%}.hero-art{width:min(100%,490px);margin:8px auto 0}.code-window-bar{min-height:25px;padding:0 8px;font-size:7px}.code-editor{padding:8px;gap:3px;font-size:6px}.code-editor>div{gap:6px}.code-window-foot{padding:5px 8px;font-size:6px}.code-window-foot strong{font-size:14px}.code-window-foot small{font-size:6px}.code-result{padding:8px}.code-result>span:first-child,.code-result>span:last-child{font-size:6px}.code-result strong{font-size:clamp(12px,4vw,18px);margin:6px 0 2px}.code-result small{font-size:7px}.result-rule{margin:6px 0 4px}.code-caption{font-size:7px}.examples{padding:12px 0 26px}.example-cards{grid-template-columns:1fr;gap:9px}.example-card{min-height:82px}.site-footer{height:60px;padding:0 22px}.footer-identity small{display:none}}@media(max-width:767px) and (min-height:760px){.landing{display:flex;min-height:calc(100dvh - 120px);padding:0 24px}.hero{flex:1 1;justify-content:center;gap:4px;padding:14px 0 6px}.hero h1{font-size:clamp(34px,9vw,42px)}.hero-description{font-size:13px;line-height:1.4;margin:10px 0 13px}.hero .input-row .btn,.hero .input-row input{height:42px}.hero-note{font-size:10px;margin-top:6px}.hero-art{margin:0 auto}.code-scene{height:215px;aspect-ratio:auto}.code-editor>div:nth-child(2){display:none}.code-result{min-height:0}.code-result .result-rule,.code-result>span:last-child{display:none}.code-caption{font-size:6px}.examples{padding:0 0 9px}.examples h2{margin-bottom:7px}.example-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.example-card{min-height:70px;padding:8px}.example-card-top{font-size:6px}.example-card strong{font-size:12px}.example-card>span:last-child{display:none}.site-footer{height:56px;padding:0 24px}}@media(prefers-reduced-motion:reduce){.code-panel,.code-tilt,.example-card{transition:none}.code-panel:hover{transform:translateZ(var(--depth)) rotate(var(--angle))}}.site-header{height:58px}[data-theme=dark] .site-header{background:#07090c;border-color:#20252e}.landing{min-height:calc(100dvh - 110px);padding-inline:clamp(70px,8vw,120px)}.hero{gap:clamp(24px,4vw,52px);padding:0 0 22px}.hero h1{font-size:clamp(40px,3.9vw,56px)}.hero .input-row .btn{gap:8px}.hero #repoUrl:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 70%,var(--border));box-shadow:0 0 16px color-mix(in srgb,var(--accent) 28%,transparent)}.hero-note{margin-top:17px}#submitBtn:disabled{background:#3c434c;border-color:#4b535d;color:#b3bac3;opacity:1;cursor:not-allowed;filter:none;transform:none}[data-theme=light] #submitBtn:disabled{background:#cfd4da;border-color:#c2c9d1;color:#697481}.examples{padding-bottom:58px}.example-card{justify-content:center;gap:5px;min-height:115px}.example-card strong{font-size:17px}.example-description{font-size:12px;line-height:1.35;color:var(--muted)}.example-path{font:10px ui-monospace,Consolas,monospace;color:var(--muted);opacity:.75}.site-footer{height:52px;padding-inline:max(clamp(70px,8vw,120px),calc((100vw - 1420px)/2 + 120px))}.footer-credit,.footer-tagline{font:500 12px/1.2 var(--font);letter-spacing:-.01em;color:var(--muted)}.footer-credit{gap:0}.footer-credit i{display:none}body:has(#progress:not([hidden])) .site-footer{display:none}.progress-screen{min-height:calc(100dvh - 58px)}.atlas-preview{max-width:570px;display:flex;align-items:center}.atlas-window{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;box-shadow:0 22px 48px #0002}.atlas-window-bar,.atlas-window-footer{display:flex;align-items:center;gap:12px;padding:13px 17px;color:var(--muted);font-size:10px}.atlas-window-bar{border-bottom:1px solid var(--border)}.atlas-window-mark{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--border);border-radius:6px;color:var(--text);font-weight:700;letter-spacing:-.05em}.atlas-window-count{margin-left:auto;font-size:9px;letter-spacing:.1em}.atlas-window-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:23px 22px 14px}.atlas-window-heading strong{font-size:17px;font-weight:550;letter-spacing:-.025em}.atlas-window-heading span{font-size:10px;color:var(--muted)}.atlas-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:18px;padding:12px 14px 30px;min-height:225px}.atlas-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.atlas-links>path{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.75}.atlas-links marker path{fill:var(--accent)}.atlas-group{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;min-width:0}.atlas-group>span{font-size:9px;letter-spacing:.09em;color:var(--muted)}.atlas-module{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:60px;padding:10px 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg)}.atlas-module strong{font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.atlas-module small{font-size:10px;color:var(--muted)}.atlas-window-footer{justify-content:space-between;border-top:1px solid var(--border)}.atlas-window-footer i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--signal)}.atlas-detail{max-width:74%;min-height:26px;display:flex;align-items:center;text-align:right}.atlas-module,.atlas-window{transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease}.atlas-preview:hover .atlas-window{border-color:var(--accent);box-shadow:0 26px 54px #0003,0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.atlas-preview .atlas-module:focus-visible,.atlas-preview .atlas-module:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.atlas-preview .atlas-module:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.atlas-module,.atlas-window{transition:none}}@media(max-width:767px){.atlas-preview{width:min(100%,490px);margin:8px auto 0}.atlas-window-heading{padding:15px 13px 8px}.atlas-window-heading strong{font-size:14px}.atlas-window-heading span{display:none}.atlas-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:14px;min-height:160px;padding:8px 12px 15px}.atlas-module{min-height:48px;padding:7px}.atlas-module strong{font-size:10px}.atlas-module small{font-size:8px}.atlas-group>span{font-size:7px}.atlas-window-footer{font-size:8px;padding:9px 12px}.atlas-window-bar{padding:8px 10px;font-size:8px}.atlas-window-count{font-size:7px}}.architecture-page{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}.architecture-page .site-header{height:55px;flex:none;padding:0 28px}.architecture-page .new-analysis{font-size:12px;color:#a8b2c1}.architecture-shell{width:100%;padding:0 28px;flex:1 1;min-height:0;display:flex;flex-direction:column}.architecture-heading{flex:none;padding:9px 0 7px}.architecture-heading .repo-name{font-size:11px;color:var(--muted);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.architecture-heading h1{font-size:26px;line-height:1.2;font-weight:500;letter-spacing:-.035em}.architecture-page .view-switch{display:flex;gap:24px;flex:none;border-bottom:1px solid var(--border);font-size:12px}.architecture-page .view-switch a{padding:5px 1px 8px;border-bottom:2px solid transparent;color:var(--muted)}.architecture-page .view-switch a[aria-current]{border-color:#4385e8;color:var(--text)}.flow-section{flex:1 1;min-height:0;display:flex;flex-direction:column;padding:9px 0 10px}.flow-controls{display:flex;align-items:center;gap:10px;flex:none}.diagram-options{display:flex;flex:1 1;min-width:0;gap:6px}.diagram-option{min-height:39px;min-width:0;max-width:245px;padding:7px 13px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--muted)}.diagram-option:hover{border-color:#6b9ce9;color:var(--text)}.diagram-option[aria-pressed=true]{color:var(--text);border-color:#4385e8;background:color-mix(in srgb,#4385e8 13%,var(--surface));box-shadow:inset 0 2px 0 #4385e8}.diagram-option[data-view^=api][aria-pressed=true]{border-color:#d4a15b;background:color-mix(in srgb,#d4a15b 10%,var(--surface));box-shadow:inset 0 2px 0 #d4a15b}.playback-actions{display:flex;gap:6px;flex:none}.playback-actions .btn,.secondary-button{min-height:39px;padding:8px 12px;border-radius:6px;font-size:11px;line-height:1.2}.secondary-button{background:var(--surface);border:1px solid var(--border)}.secondary-button:hover{border-color:#4385e8}.playback-actions button:disabled{cursor:default;opacity:.45}.diagram-key{display:flex;align-items:center;gap:18px;flex:none;height:29px;color:var(--muted);font-size:10px}.diagram-key #map-count{margin-right:auto;color:var(--text)}.diagram-key .key-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.diagram-key i{width:21px;border-top:2px solid #6296e1}.diagram-key .key-http{border-color:#e5a76d;border-top-style:dashed}.mobile-flow-status{display:none}.diagram-shell{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 270px;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--surface)}.diagram-viewport{min-height:0;display:grid;place-items:center;overflow:hidden;background:var(--bg)}#diagram-space,.diagram-canvas{position:relative}.diagram-canvas{isolation:isolate;transform-origin:top left}#architecture-edges{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:0}.system-edge{fill:none;stroke:#628bbd;stroke-width:2;opacity:.6;transition:opacity .2s,stroke-width .2s}.system-edge.http{stroke:#d9a261;stroke-dasharray:7 5}.system-edge.deploy{stroke:#79b99a}.system-edge.state{stroke:#c39ae6}.system-edge.visited{opacity:.95;stroke-width:2.5}.system-edge.active{stroke-width:3.5;opacity:1}.flow-packet{filter:drop-shadow(0 0 4px #83b5ff)}.system-node{position:absolute;z-index:1;width:214px;height:88px;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:left;padding:12px 15px;border:1px solid var(--border);border-left:3px solid var(--node-color,#77869a);border-radius:6px;background:var(--surface);color:var(--text);transition:border-color .2s,background .2s}.system-node:focus-visible,.system-node:hover{border-color:var(--node-color,#77869a);background:var(--surface2)}.system-node.active{border-color:var(--node-color,#77869a);background:color-mix(in srgb,var(--node-color) 12%,var(--surface))}.system-node.visited:not(.active){border-color:color-mix(in srgb,var(--node-color) 65%,var(--border))}.system-node small{font-size:9px;letter-spacing:.04em;color:var(--node-color,#8da1bb);font-weight:650}.system-node small,.system-node strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system-node strong{font-size:14px;font-weight:560}.system-node span{font-size:10px;color:var(--muted)}.system-node.kind-entry{--node-color:#aa92ec}.system-node.kind-interface{--node-color:#6aa0e8}.system-node.kind-routes{--node-color:#e6ad6c}.system-node.kind-logic{--node-color:#d985aa}.system-node.kind-data{--node-color:#63c6af}.system-node.kind-external{--node-color:#8fa5b9}:root[data-theme=light] .system-node.kind-entry{--node-color:#7352b9}:root[data-theme=light] .system-node.kind-interface{--node-color:#2b68b7}:root[data-theme=light] .system-node.kind-routes{--node-color:#99601c}:root[data-theme=light] .system-node.kind-logic{--node-color:#a53f70}:root[data-theme=light] .system-node.kind-data{--node-color:#167b64}:root[data-theme=light] .system-node.kind-external{--node-color:#526b84}:root[data-theme=light] .diagram-inspector #flow-counter,:root[data-theme=light] .flow-step-button>span:first-child{color:#245daf}.diagram-inspector{min-height:0;overflow:hidden;border-left:1px solid var(--border);padding:24px;display:flex;flex-direction:column;gap:12px}.diagram-inspector #flow-counter{letter-spacing:.08em;color:#6aa0e8;font-weight:650}.diagram-inspector h2{font-size:19px;line-height:1.3;letter-spacing:-.02em;font-weight:550;overflow-wrap:anywhere}.diagram-inspector p{color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.flow-steps{list-style:none;margin:16px 0 0;padding:0;gap:5px}.flow-step-button{width:100%;display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;align-items:center;text-align:left;padding:9px 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted)}.flow-step-button:hover{background:var(--surface2);color:var(--text)}.flow-step-button.active{border-color:#4385e8;background:color-mix(in srgb,#4385e8 10%,var(--surface));color:var(--text)}.flow-step-button.visited{color:var(--text)}.flow-step-button>span:first-child{font:10px ui-monospace,Consolas,monospace;color:#6aa0e8}.flow-step-button>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.flow-step-button small,.flow-step-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-step-button small{font-size:10px;font-weight:400}.flow-step-button strong{font-size:11px;font-weight:550}.diagram-inspector #flow-next-label:not(:empty){margin-top:auto;border-top:1px solid var(--border);padding-top:12px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.architecture-page .site-footer{height:30px;flex:none;align-items:center;padding:0 28px;font-size:10px}@media(max-width:1100px){.architecture-page .site-header,.architecture-shell{padding:0 18px}.diagram-option{padding:7px 9px;font-size:11px}.diagram-shell{grid-template-columns:minmax(0,1fr) 220px}.diagram-inspector{padding:16px}}@media(max-width:700px){.architecture-page .site-header{height:51px;padding:0 14px}.architecture-page .site-header nav{gap:10px}.architecture-page .site-header nav>a:first-child{display:none}.architecture-shell{padding:0 11px}.architecture-heading{padding:6px 1px}.architecture-heading h1{font-size:22px}.flow-controls{display:flex;flex-direction:column;align-items:stretch;gap:6px}.diagram-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.diagram-option{width:100%;max-width:none;min-height:33px;padding:5px 9px;font-size:11px}.playback-actions{display:grid;grid-template-columns:1fr auto auto}.playback-actions .btn,.secondary-button{min-height:32px;padding:5px 11px}.diagram-key{height:24px;gap:10px;font-size:9px}.diagram-key #map-count{white-space:nowrap}.diagram-key i{width:13px}.mobile-flow-status{display:block;flex:none;padding:3px 7px;margin-bottom:5px;border-left:2px solid #4385e8;background:var(--surface);font-size:10px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagram-shell{grid-template-columns:1fr;grid-template-rows:minmax(160px,1fr) 112px}.diagram-inspector{border-left:0;border-top:1px solid var(--border);padding:9px 12px;gap:3px}.diagram-inspector h2{font-size:14px}.diagram-inspector p{font-size:10px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.flow-steps{display:none}.diagram-inspector #flow-next-label:not(:empty){margin-top:2px;padding-top:4px}.system-node{height:70px;padding:7px 11px;gap:3px}.system-node small{font-size:8px}.system-node strong{font-size:13px}.system-node span{font-size:9px}.architecture-page .site-footer{height:24px;padding:0 12px}.architecture-page .site-footer span:last-child{display:none}}@media(max-height:650px){.architecture-heading{padding:3px 0}.architecture-heading h1{font-size:20px}.diagram-key{height:20px}}@media(prefers-reduced-motion:reduce){.system-edge,.system-node{transition:none}}.brand-group{display:flex;align-items:center;gap:12px;min-width:0}.workspace-back{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid transparent;border-radius:6px;color:var(--muted)}.workspace-back:hover{color:var(--text);background:var(--surface);border-color:var(--border)}.workspace-back svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.architecture-heading{padding:18px 0 14px}.architecture-heading h1{font-size:24px;margin-top:5px}.architecture-page .view-switch a[aria-current]{border-color:var(--text)}.flow-controls{padding:8px 0;justify-content:space-between}.diagram-select-label{display:flex;align-items:center;gap:12px;margin:0;font-size:12px;color:var(--muted)}.diagram-select-label select{min-height:44px;width:260px;max-width:65vw;padding:8px 32px 8px 12px;font-size:12px;border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer}.diagram-hint{font-size:12px;color:var(--muted)}.diagram-shell{display:flex;flex-direction:column;background:var(--bg)}.diagram-viewport{flex:1 1;min-height:100px}.diagram-key{height:30px}.system-node{border-left-width:1px;border-radius:8px;transition:none;box-shadow:none}.system-node small{font-weight:500;letter-spacing:.02em}.system-node strong{font-weight:500}.system-edge{transition:none;stroke-width:1.5}.system-edge.active{stroke-width:2.5}.diagram-details{flex:none;border-top:1px solid var(--border);background:var(--surface)}.diagram-details summary{cursor:pointer;padding:14px 18px;min-height:44px;font-size:12px;color:var(--muted)}.diagram-details summary:hover{color:var(--text)}.diagram-inspector{border:0;padding:0 20px 20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:32px;max-height:220px;overflow:auto}.diagram-inspector #flow-counter{color:var(--muted);font-size:10px;font-weight:500}.diagram-inspector h2{font-size:16px;margin:7px 0}.diagram-inspector p{font-size:12px;max-width:700px}.flow-steps{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.flow-step-button{min-height:44px}.flow-step-button.active{border-color:var(--border);background:var(--surface2)}.flow-step-button>span:first-child{color:var(--muted)}@media(max-width:700px){.brand-group{gap:4px}.architecture-page .site-header{height:56px;padding:0 12px}.architecture-heading{padding:12px 2px}.architecture-heading h1{font-size:22px}.flow-controls{display:flex;align-items:flex-start;gap:4px;padding:6px 0}.diagram-select-label{width:100%;justify-content:space-between}.diagram-select-label select{flex:1 1;width:auto;max-width:none}.diagram-hint{font-size:11px;margin:4px 0}.diagram-inspector{display:block;max-height:175px;padding:0 14px 14px}.diagram-inspector p{display:block;font-size:12px;line-height:1.5;overflow:visible}.flow-steps{display:grid;margin-top:12px}.system-node small{font-size:10px}.system-node span{font-size:11px}.diagram-details summary{padding:12px 14px}}