/* Shared responsive foundation and platform-independent navigation icons. */
.ui-arrow{display:inline-block;width:.8em;height:.8em;flex:none;margin-left:.25em;vertical-align:baseline;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13 13 3M3 3h10v10' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13 13 3M3 3h10v10' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:700px){
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}body{min-width:0}main,section,article,aside,header,footer,nav,div{min-width:0}img,svg,canvas,object{max-width:100%}input,textarea,select,.field input,.field textarea,.field select{font-size:16px!important}button,.button,summary{touch-action:manipulation;min-height:44px}a,button{-webkit-tap-highlight-color:transparent}p,li,dd,h1,h2,h3,.row-meta,.local-note{overflow-wrap:anywhere}pre{max-width:100%;overflow-x:auto}dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);padding:20px;max-height:85svh}footer{gap:18px;flex-wrap:wrap;padding-bottom:max(24px,env(safe-area-inset-bottom))}footer a{display:inline-flex;align-items:center;min-height:36px}header{height:auto!important;min-height:60px;flex-wrap:wrap;gap:12px!important;padding:12px 5%;margin:0!important}header .brand{font-size:20px!important;letter-spacing:2px;border:0;padding:0!important}header .brand img,header .brand-icon{width:26px;height:26px}header nav{display:flex!important;order:3;width:100%;margin:0!important;height:auto;gap:20px!important;overflow-x:auto;scrollbar-width:none;font-size:13px!important}header nav a,header nav a:first-child,header nav a:nth-child(2){display:inline-flex!important;align-items:center;min-height:40px;flex-shrink:0}header>.nav-cta{margin-left:auto;font-size:12px!important;padding:12px!important}header nav .button{margin-left:auto;white-space:nowrap}header .help{display:none}.connection-button{margin-left:auto;font-size:12px;min-height:40px}header nav a[aria-current]{border-bottom-width:2px}
/* Landing page */
body:has(.hero) header{position:sticky}body:has(.hero) main{padding:0 5%}.hero{height:670px!important;overflow:hidden!important}.hero-content{padding-top:35px!important}.hero h1{font-size:clamp(34px,8.8vw,49px)!important;letter-spacing:-1.8px!important}.hero-description{font-size:18px!important;max-width:300px}.hero .actions{gap:10px;flex-wrap:wrap}.hero .button{font-size:13px!important;padding:14px!important}.hero .compat{gap:12px;max-width:100%;margin-top:25px}.compat .platform{font-size:18px}.compat .eyebrow{font-size:8px!important}.compat i{height:24px}.platform svg{width:24px!important;height:24px!important}.specialties h2{font-size:30px!important}.library .catalog{grid-template-columns:1fr!important;gap:28px}.library .skill-row{grid-template-columns:36px 1fr 10px;gap:12px;min-height:62px;padding:15px 12px}.library .skill-row strong{font-size:18px}.library .skill-row .index{font-size:15px}.library .large{font-size:43px!important}.library .lead{font-size:18px!important;max-width:none}.library #detail{border-left:0;padding:22px 0}.library #detail .workbench-title h3{font-size:29px}.library #detail .tags span{font-size:10px;padding:5px 8px}.research-machine{aspect-ratio:900/410;overflow:hidden}.library #detail>p.workbench-description{font-size:17px}.library #detail .detail-actions{gap:10px;flex-wrap:wrap}.library #detail .detail-actions .button{font-size:14px;padding:14px 16px}.library #detail .small-link{font-size:11px;min-height:44px}.library-bottom>span{font-size:9px}.library-bottom:after{font-size:10px}.library-build{font-size:17px}.closing-panel h2{font-size:clamp(36px,9vw,52px)!important}.closing-link{font-size:25px}.light-footer{grid-template-columns:1fr 1fr}.light-footer .brand{font-size:20px}.light-footer .mono{font-size:11px}
/* Builder: every control remains accessible on a phone. */
.project-bar{padding:20px 5%;display:block}.project-title{flex-wrap:wrap;gap:10px}.project-title h1{max-width:100%;white-space:normal;font-size:23px}.toolbar{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;white-space:normal}.toolbar button{padding:10px 5px;font-size:11px}.studio{display:flex;flex-direction:column}.sidebar{border:0;border-bottom:1px solid var(--line);padding:15px 5%}.sidebar nav{display:flex;overflow-x:auto;gap:6px}.sidebar nav button{display:flex;flex-shrink:0;padding:12px;font-size:12px}.sidebar nav button:before{display:none}.sidebar>.eyebrow{display:none}.targets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 0;padding-top:12px}.targets .eyebrow{width:100%;margin:0;font-size:10px}.targets label{margin:0;padding:8px;font-size:12px}.sidebar-bottom{display:block;margin:0;padding:10px 0 0}.sidebar-bottom button{min-height:40px}.pixel-mark{display:none}.editor,.inspector{padding:24px 5%;border-right:0}.editor h2{font-size:28px}.two{grid-template-columns:1fr;gap:0}.criterion{font-size:12px}.tabs{overflow-x:auto}.tabs button{font-size:11px;padding:12px 8px}.code-preview{min-height:260px;max-height:420px}.research-result,.inspector .report-outline{max-height:none}.evidence-record pre{overflow-wrap:anywhere}.ai-actions{align-items:stretch}.ai-actions .hint{min-width:0;flex-basis:100%}.score-grid{gap:6px}#runtime-status{max-width:100%;text-align:left}
/* Library, history, documentation and legal pages. */
.doc-layout{grid-template-columns:1fr;gap:28px;margin-top:28px}.toc{position:static;display:flex;flex-wrap:wrap;gap:10px 16px}.toc a{padding:7px 0;line-height:1.5}article section{scroll-margin-top:125px}.doc-layout table{display:block;overflow-x:auto;font-size:12px}.doc-layout th,.doc-layout td{min-width:125px}main:not(:has(.hero)){padding:32px 5%}main h1{font-size:38px;letter-spacing:-1.5px}.lead{font-size:18px}.workspace-toolbar{flex-direction:column;align-items:stretch;gap:12px;margin-top:28px}.search-label{max-width:none}.workspace-actions{flex-wrap:wrap;gap:10px}.workspace-actions .button{flex:1}.library-row{grid-template-columns:24px 1fr;gap:12px;padding:24px 0}.row-main h2,.run-top h2{font-size:23px;overflow-wrap:anywhere}.row-actions{grid-column:2;flex-direction:row;flex-wrap:wrap;min-width:0}.run-top{flex-direction:column}.run-cost{text-align:left}.run-actions{flex-wrap:wrap}.run-actions .button{font-size:13px}.run-report{padding:14px}.source-record{padding:12px}.finding blockquote{margin:10px 0;overflow-wrap:anywhere}.version-row{flex-direction:column;gap:10px}.workspace-empty{padding:32px 0}.row{grid-template-columns:1fr}.preview{position:static}
}
/* Phone hero: text first, lighthouse in its own lower visual area. */
@media(max-width:700px){
body:has(.hero){background:#353638;overflow-x:clip}
body:has(.hero) .lighthouse-light{display:none}
body:has(.hero) header{position:sticky;top:0;background:#303234;z-index:30}
.hero{height:auto!important;min-height:calc(100svh - 116px);padding-bottom:245px;isolation:isolate;overflow:hidden!important}
.hero:before{content:'';position:absolute;z-index:-1;left:-5.6%;right:-5.6%;bottom:0;height:265px;background:url('/assets/beacon-unlit.png') 76% top / auto 320px no-repeat;pointer-events:none;opacity:.95}
.hero-content{padding-top:28px!important;max-width:100%}
.hero .eyebrow{font-size:9px!important;letter-spacing:1.2px!important;line-height:1.7;margin:0 0 24px!important}
.hero h1{font-size:clamp(32px,8.6vw,54px)!important;line-height:1.08!important;letter-spacing:-1.6px!important;margin:0 0 20px!important;max-width:100%}
.hero .scan-word{white-space:normal}
.hero-description{font-size:18px!important;line-height:1.5!important;max-width:310px;margin:0!important}
.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.hero .actions .button{min-width:0!important;min-height:48px;padding:12px 8px!important;font-size:13px!important;line-height:1.4;white-space:nowrap}
.hero .compat{margin-top:23px!important;background:none;padding:0!important;gap:12px;flex-wrap:wrap;width:100%;align-items:center}
.hero .compat .eyebrow{margin:0 3px 0 0!important;font-size:8px!important;letter-spacing:.8px!important}.hero .platform{font-size:18px;gap:6px}.hero .compat i{height:22px}

section.specialties{height:auto;padding:30px 0}
}
@media(max-width:360px){.hero .actions{grid-template-columns:1fr}.hero .compat{gap:9px}.hero .platform{font-size:16px}.hero{padding-bottom:210px}.hero:before{height:225px}}
@media(max-width:700px){body:has(.hero) header nav a{display:block!important;line-height:40px}body:has(.hero) .hero:before{mix-blend-mode:lighten}.hero h1{font-weight:500!important}.hero{min-height:620px;padding-bottom:235px}}
/* One shared angle drives both the mobile beam and text decoding. */
@media(max-width:700px){.hero:after{content:'';position:absolute;pointer-events:none;z-index:1;inset:0;background:conic-gradient(from var(--mobile-beam-angle,0deg) at 84.472% calc(100% - 183.75px),transparent 0deg 58deg,#91a1ff55 58deg 78deg,transparent 78deg 238deg,#91a1ff44 238deg 258deg,transparent 258deg)}.hero:before{z-index:0}.hero-content{z-index:2}}
/* One continuous light plane; specialties sits above it as an opaque panel. */
.lighthouse-light{display:block!important;background:conic-gradient(from var(--beam-turn,0deg) at var(--beam-x,78.125vw) var(--beam-y,11.71875vw),transparent 0deg 58deg,#8093ff42 58deg,#8093ff61 78deg,transparent 78deg 238deg,#8093ff42 238deg,#8093ff61 258deg,transparent 258deg)}
.light-rotor{background:none}
.library{background:transparent!important}
section.specialties{position:relative;z-index:2;background:#353638;box-shadow:0 18px 32px -24px #0009;border-top:1px solid #777975;border-bottom:1px solid #777975}
@media(max-width:700px){.hero:after{display:none!important}}
@media(prefers-reduced-motion:reduce){.lighthouse-light{background:none}}
/* Light specialty panel above the continuous beacon plane. */
section.specialties{background:#f5f4ef;color:#25292b;border-color:#cecfca;padding-left:24px;padding-right:24px}
.specialties .intro-grid p{color:#505456}
.specialties .intro-grid .index{color:#6268c9}
.specialties .intro-grid>a{border-color:#b7bab6}
.specialties .intro-grid>a:hover h3{color:#6268c9}
.specialties a:focus-visible{outline-color:#6268c9}
@media(max-width:559px){section.specialties{padding-left:20px;padding-right:20px}}
/* Quiet animated research diagrams, one visual language per specialty. */
section.specialties{height:auto;min-height:19.3vw;padding-bottom:28px}
.specialties .intro-grid>a>div{min-width:0}
.specialties .intro-grid>a{transition:background .25s}
.specialties .intro-grid>a:hover{background:#777de909}
.specialty-motion{margin-top:18px;width:120px;height:54px;pointer-events:none;opacity:.72;transition:opacity .25s,transform .35s}
.specialty-motion svg{width:100%;height:100%;stroke:#7478ce;stroke-width:1.4;overflow:visible}
.specialty-motion .mini-route{stroke-dasharray:3 5;animation:specialty-flow 9s linear infinite}
.specialty-motion .mini-packet,.specialty-motion .mini-core{fill:#7478ce;stroke:#f5f4ef;stroke-width:1}
.specialty-motion .mini-orbit{transform-origin:28px 27px;animation:specialty-orbit 18s linear infinite}
.specialty-motion .mini-bar{stroke-width:7;transform-origin:center 44px;animation:specialty-bars 3.8s ease-in-out infinite alternate}
.specialty-motion .b2{animation-delay:-1.2s}.specialty-motion .b3{animation-delay:-2.5s}
.specialty-motion .mini-hub{fill:#7478ce18;animation:specialty-hub 4s ease-in-out infinite}
.specialties a:hover .specialty-motion,.specialties a:focus-visible .specialty-motion{opacity:1;transform:translateX(5px)}
@keyframes specialty-flow{to{stroke-dashoffset:-80}}
@keyframes specialty-orbit{to{transform:rotate(360deg)}}
@keyframes specialty-bars{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
@keyframes specialty-hub{50%{fill:#7478ce66;stroke:#4f54ae}}
@media(max-width:559px){.specialty-motion{width:100px;height:45px;margin-top:12px}section.specialties{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.specialty-motion *{animation:none!important}.specialty-motion .mini-packet{display:none}.specialties a:hover .specialty-motion{transform:none}}
/* Reference layout: editorial headings and full-width research schematics. */
section.specialties{padding:36px 28px 24px;background:#f8f5ee;scroll-margin-top:85px}
.specialties h2{font-size:clamp(34px,4.5vw,82px);font-weight:750;letter-spacing:-.055em;line-height:1.06;margin:0 0 42px}
.specialties .intro-grid{align-items:stretch}
.specialties .intro-grid>a,.specialties .intro-grid>a:first-child,.specialties .intro-grid>a:last-child{display:block;padding:0 24px;border-color:#bcb9b4}
.specialties .intro-grid>a:first-child{padding-left:0}.specialties .intro-grid>a:last-child{padding-right:0}
.specialties .intro-grid .index{display:block;font:700 clamp(16px,1.6vw,29px)/1.2 'DM Sans',sans-serif;color:#9b89db;margin-bottom:8px;padding:0}
.specialties .intro-grid h3{font-size:clamp(20px,2.4vw,43px);font-weight:750;letter-spacing:-.045em;white-space:normal;line-height:1.12;margin-bottom:12px}
.specialties .intro-grid h3 span{font-weight:400;display:inline-block;margin-left:6px}
.specialties .intro-grid p{font-size:clamp(11px,1.05vw,18px);line-height:1.5;color:#292a30;min-height:4.5em;margin:0}
.specialties .intro-grid p br{display:none}
.specialty-motion{width:100%;height:auto;aspect-ratio:420/300;margin-top:22px;opacity:1;transform:none!important}
.specialty-motion object{display:block;width:100%;height:100%;pointer-events:none}
.specialties .intro-grid>a:hover{background:transparent}
@media(max-width:700px){section.specialties{padding:28px 20px 20px}.specialties h2{font-size:36px;margin-bottom:30px}.specialties .intro-grid{grid-template-columns:1fr}.specialties .intro-grid>a,.specialties .intro-grid>a:first-child,.specialties .intro-grid>a:last-child{padding:24px 0;border-right:0;border-bottom:1px solid #c9c5bd}.specialties .intro-grid>a:first-child{padding-top:0}.specialties .intro-grid>a:last-child{border-bottom:0;padding-bottom:0}.specialties .intro-grid h3{font-size:29px}.specialties .intro-grid p{font-size:13px;min-height:0}.specialties .intro-grid .index{font-size:20px}.specialty-motion{max-width:480px;margin:22px auto 0}}
/* Hero eyebrow is revealed only where the beacon passes. */
.hero-content > .eyebrow{color:transparent!important}
.hero-content > .eyebrow .scan-char{color:transparent!important}
.hero-content > .eyebrow .scan-char.is-lit::after{color:var(--yellow)!important;background:transparent!important}
@media(prefers-reduced-motion:reduce){.hero-content > .eyebrow,.hero-content > .eyebrow .scan-char{color:var(--yellow)!important}}
.hero-content > .eyebrow .scan-char.is-lit{color:var(--yellow)!important}
.hero-content > .eyebrow .scan-char.is-lit::after{display:none}
/* Frosted glass navigation on the landing page. */
body:has(.hero) > header{background:linear-gradient(115deg,rgba(65,69,73,.57),rgba(36,40,47,.48));-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%);border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 28px rgba(0,0,0,.12)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body:has(.hero) > header{background:rgba(44,47,51,.94)}}
