/* AlgoCo 8.15 — architecture research */
.architecture-page{background:#031521;color:#eaf7ff}.architecture-main{max-width:1500px;margin:auto;padding:145px 7% 0}.architecture-main h1,.architecture-main h2{font-family:inherit;letter-spacing:-.055em;font-weight:500;line-height:1.06}.architecture-main h1{font-size:clamp(48px,6.4vw,94px);white-space:normal;margin:28px 0 42px}.architecture-main h1 span{color:#08dce4}.architecture-main h2{font-size:clamp(32px,3.6vw,52px)}.architecture-main p{line-height:1.8;color:#a6c5d5}.architecture-main .eyebrow{color:#64dce4;font-size:10px;letter-spacing:.2em}.architecture-intro{display:grid;grid-template-columns:1fr 1.6fr;gap:8%;max-width:950px}.architecture-intro h2{font-size:25px;letter-spacing:-.03em}.architecture-intro p{font-size:17px;margin-top:14px}.architecture-hero{padding-bottom:72px}.architecture-heading{display:flex;align-items:end;justify-content:space-between;gap:35px}.architecture-heading>p{max-width:310px;font-size:13px}.engine-section,.architecture-flow,.architecture-foundation{border-top:1px solid #72c6d62b;padding:55px 0 72px;scroll-margin-top:90px}.engine-workbench{display:grid;grid-template-columns:.9fr 1.4fr;gap:5%;align-items:center;margin-top:26px}.engine-controls{display:grid}.engine{position:relative;text-align:left;display:grid;grid-template-columns:30px 1fr 20px;gap:8px 14px;padding:22px 16px;border:0;border-bottom:1px solid #70c7d52c;background:transparent;color:#d9eff8;cursor:pointer;font:inherit;transition:background .25s}.engine>span{grid-row:1/3;font-size:11px;color:#63bdce;padding-top:5px}.engine strong{font-size:19px;font-weight:500}.engine small{grid-column:2;font-size:12px;color:#90b6c7}.engine b{grid-column:3;grid-row:1/3;align-self:center;font-weight:400;color:#09dce5}.engine[aria-pressed=true]{background:linear-gradient(90deg,#00d9e31f,transparent);box-shadow:inset 2px 0 #00dfe5}.engine:hover{background-color:#0b33424d}.engine:focus-visible,.architecture-page a:focus-visible{outline:2px solid #04e0e6;outline-offset:4px}.engine-visual{position:relative;background:radial-gradient(ellipse,#00576d33,transparent 68%)}.engine-visual svg{width:100%;display:block;overflow:visible}.plane{transition:opacity .45s,filter .45s;opacity:.36}.plane path{fill:url(#planeFill);stroke:#29b9d1;stroke-width:1}.plane .trace{fill:none;stroke-width:.5;stroke-dasharray:3 7}.plane circle{fill:#77faff}.plane text{fill:#9ed7e4;font:10px system-ui;letter-spacing:2px;text-anchor:middle}.plane.selected{opacity:1;filter:drop-shadow(0 0 7px #00dbe566)}.plane.selected>path:first-child{stroke:#a6ffff;stroke-width:1.6}.vertical-link{fill:none;stroke:#27d7e0;stroke-opacity:.3;stroke-dasharray:2 8}.diagram-caption{display:block;text-align:center;font-size:9px;color:#62a5b8;letter-spacing:.2em}.engine-detail{border-top:1px solid #52d4e04a;border-bottom:1px solid #52d4e02b;padding:32px 0;min-height:220px;max-width:100%}.engine-detail>span{font-size:10px;letter-spacing:.14em;color:#61d7df}.engine-detail h3{font-size:28px;font-weight:450;letter-spacing:-.035em;margin:18px 0 12px}.engine-detail p{max-width:850px;font-size:16px}.engine-detail>div{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px}.engine-detail>div span{font-size:11px;color:#9bdce5}.engine-detail>div span:before{content:'+';color:#00dce3;margin-right:9px}.section-intro{max-width:620px}.architecture-flow ol{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:30px 0 0}.architecture-flow li{border-top:1px solid #18d8e080;padding-top:22px;position:relative}.architecture-flow li:before{content:'';position:absolute;top:-4px;width:6px;height:6px;border-radius:50%;background:#76faff;box-shadow:0 0 12px #00eaff}.architecture-flow li>span{color:#54cedc;font-size:11px}.architecture-flow h3{font-size:22px;font-weight:500}.architecture-flow li p{font-size:14px}.architecture-foundation{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.foundation-row{border-top:1px solid #78cddd2b;padding:20px 0}.foundation-row h3{font-size:19px;font-weight:500}.foundation-row p{font-size:14px}.foundation-row>span{font-size:9px;letter-spacing:.15em;color:#6adce4}.architecture-close{padding:45px 0 100px}.architecture-close .primary{display:inline-flex;align-items:center;gap:36px;padding:17px 25px;border-radius:30px;margin-top:15px;font-size:13px}.research-feature{border-color:#25c3d64a;background:linear-gradient(120deg,#082b3a,#041922);border-radius:4px}.research-feature:hover{border-color:#36d4e3;background:linear-gradient(120deg,#0a3443,#061e2c)}.research-copy h3{font-family:inherit;font-weight:500}.research-tagline{color:#dbf4ff}.research-tags,.research-cta,.project-status{color:#74dde5}.knowledge-art>span{color:#69b8ca}
@media(max-width:900px){.architecture-main{padding:45px 6% 0}.architecture-intro,.engine-workbench,.architecture-foundation{grid-template-columns:1fr;gap:20px}.architecture-heading{display:block}.architecture-heading>p{max-width:none}.engine-visual{max-width:540px;margin:auto;width:100%}.architecture-flow ol{grid-template-columns:repeat(2,1fr)}.architecture-main h1{font-size:clamp(43px,9vw,70px)}.engine-detail{min-height:0}.architecture-hero{padding-bottom:45px}.architecture-page .navlinks{display:flex}.architecture-flow,.architecture-foundation{padding-bottom:40px}}
@media(max-width:480px){.architecture-flow ol{grid-template-columns:1fr}.architecture-intro{gap:0}.engine{padding:18px 12px}.engine-detail h3{font-size:25px}.architecture-main .project-back{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.plane,.engine{transition:none}}

/* 8.16 homepage research introduction */
.research-showcase{overflow:hidden;background:radial-gradient(ellipse at 78% 44%,#06405266,transparent 55%),#031521;padding:72px 7% 64px}.showcase-topline{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #7ecbda30;padding-top:26px;gap:20px}.showcase-topline>span{font-size:10px;letter-spacing:.15em;color:#6a9aaa}.showcase-layout{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:2%;padding:50px 0 30px}.showcase-project{font-size:11px;letter-spacing:.21em;color:#71d8e2;margin:0 0 25px}.showcase-copy h2{font-size:clamp(46px,5.2vw,84px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:0 0 28px}.showcase-copy h2 em{font-style:normal;color:#21dde5}.showcase-summary{font-size:20px;line-height:1.5;color:#e2f3fb;max-width:370px;margin:0 0 17px}.showcase-description{font-size:15px;line-height:1.85;color:#9bbdcd;max-width:390px}.showcase-button{display:inline-flex;align-items:center;gap:38px;border-bottom:1px solid #36dbe6;padding:15px 0;color:#e2ffff;font-size:14px;margin-top:15px}.showcase-button span{font-size:23px;color:#19dce4;transition:transform .25s}.showcase-button:hover span{transform:translate(4px,-4px)}.showcase-button:focus-visible{outline:2px solid #60faff;outline-offset:7px}.showcase-status{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.15em;color:#77a4b4;margin-top:26px}.showcase-status i{width:4px;height:4px;background:#2be0e6;border-radius:50%}.showcase-visual{min-width:0;position:relative}.showcase-visual svg{width:112%;max-width:none;display:block;margin-left:-6%;overflow:visible}.showcase-visual-caption{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.17em;color:#5d9aab;margin:5px 3% 0}.showcase-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:36px;border-top:1px solid #78c5d32b;padding-top:27px}.showcase-capabilities>div{display:grid;gap:12px}.showcase-capabilities span{color:#56bdcf;font-size:9px;letter-spacing:.16em}.showcase-capabilities strong{font-size:17px;font-weight:400;color:#c8e4ef}.showcase-slab{animation:slab-breathe 8s ease-in-out infinite;transform-origin:center}.slab-1{animation-delay:-2s}.slab-2{animation-delay:-4s}.slab-3{animation-delay:-6s}.signal-trace{stroke-dasharray:80 700;animation:trace-flow 16s linear infinite}.slab-1 .signal-trace{animation-delay:-4s}.slab-2 .signal-trace{animation-delay:-8s}.slab-3 .signal-trace{animation-delay:-12s}@keyframes slab-breathe{50%{transform:translateY(-5px)}}@keyframes trace-flow{to{stroke-dashoffset:-780}}
@media(max-width:900px){.research-showcase{padding:50px 6%}.showcase-layout{grid-template-columns:1fr;padding-top:36px}.showcase-copy h2{font-size:clamp(45px,8vw,70px)}.showcase-description{max-width:520px}.showcase-visual{max-width:620px;width:100%;margin:25px auto 0}.showcase-visual svg{width:100%;margin:0}.showcase-capabilities{gap:20px}.showcase-topline>span{font-size:8px}.showcase-capabilities strong{font-size:15px}}
@media(max-width:520px){.showcase-topline{align-items:start;flex-direction:column;gap:0}.showcase-capabilities{grid-template-columns:1fr;gap:25px}.showcase-visual-caption{font-size:7px}.showcase-summary{font-size:18px}}
@media(prefers-reduced-motion:reduce){.showcase-slab,.signal-trace{animation:none}.showcase-button span{transition:none}}

/* Project visibility, separate from development status. */
.access-label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;padding:7px 11px;border:1px solid #47c7d34d;border-radius:4px;color:#87f1f1;font-size:9px;font-weight:600;letter-spacing:.16em;line-height:1.5}.access-label>span{font-weight:400;letter-spacing:.02em;color:#93b8c7;font-size:10px}.access-label i{width:4px;height:4px;background:#79f5ef;border-radius:50%}.access-schwarz{color:#d3dce4;border-color:#a9bacb40;background:#040f19}.access-schwarz>span{color:#98a9b8}.showcase-copy>.access-label{margin-bottom:22px}.architecture-hero>.access-label{margin-bottom:22px}.research-access-key{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:28px}@media(max-width:600px){.research-access-key{justify-content:flex-start;gap:8px}.access-label{font-size:8px}.access-label>span{font-size:9px}}

/* 8.18 private-project visibility */
.system-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-bottom:20px}.system-title h3{margin:0}.project-access{font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:none;white-space:nowrap}.node>.project-access{display:table;margin-top:9px;padding:4px 8px;line-height:1.3;background:#04121bd9;color:#c2d2df;border-color:#a9bacb40}.node .node-detail{margin-top:10px}.system-title .project-access{padding:6px 10px}
