/* Project shelves, built around the same violet ink and dark photographic plates. */
.labs-hub .poster-hero{padding-bottom:30px}
.labs-hub .poster-masthead{font-size:11px;letter-spacing:.12em}
.labs-hub .poster-deck{font-size:clamp(64px,6.3vw,94px)}
.labs-hub .poster-availability{max-width:430px}
.labs-hub .labs-hero-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.labs-hub .labs-github-link{display:inline-flex;gap:8px;align-items:center;color:#d2c5df;font:12px/1.5 var(--mono);min-height:44px}
.labs-hub .labs-github-link svg{width:18px;height:18px}
.labs-hub .projects-shelf{margin:55px 0 80px;scroll-margin-top:30px}
.labs-hub .projects-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #33263c;padding-bottom:22px;margin-bottom:28px}
.labs-hub .projects-toolbar h2{font:300 40px/1 DETHLight,'Arial Narrow',sans-serif;margin:0}
.labs-hub .project-filters{display:flex;gap:6px;flex-wrap:wrap}
.labs-hub .project-filters button{color:#b6adbf;border:1px solid transparent;background:transparent;padding:11px 17px;min-height:44px;border-radius:24px;cursor:pointer;font:14px/1.3 var(--sans)}
.labs-hub .project-filters button:hover{color:#fff;border-color:#614472}
.labs-hub .project-filters button[aria-pressed=true]{background:#251b30;border-color:#765091;color:#eadbf8}
.labs-hub .project-filters button:focus-visible,.labs-hub a:focus-visible,.labs-hub summary:focus-visible{outline:2px solid #c79bf2;outline-offset:5px}
.labs-hub .project-card[hidden]{display:none!important}
.labs-hub .project-card{border:1px solid #33263c;background:#0a080d;overflow:hidden;position:relative;min-width:0}
.labs-hub .project-card--flagship{display:grid;grid-template-columns:1.04fr 1fr;margin-bottom:26px}
.labs-hub .project-body{padding:38px;min-width:0}
.labs-hub .project-identity{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.labs-hub .project-symbol{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;background:#1c1226;color:#ca9ff0;border:1px solid #4a305d;border-radius:12px}
.labs-hub .project-symbol svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.labs-hub .project-kind{font:11px/1.5 var(--mono);color:#b6a4c5;text-transform:uppercase;letter-spacing:.04em;margin:0}
.labs-hub .project-status{font:11px/1.5 var(--mono);color:#d2bbeb;border:1px solid #5a3e6d;background:#1d1326;display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border-radius:20px;margin-left:auto;white-space:nowrap}
.labs-hub .project-status:before{content:'';width:5px;height:5px;background:#bc8aec;border-radius:50%}
.labs-hub .project-card h3{font:300 clamp(40px,4.3vw,62px)/1 DETHLight,'Arial Narrow',sans-serif;color:#f3eff8;margin:0 0 16px;letter-spacing:-.015em}
.labs-hub .project-card .project-summary{font:15px/1.7 var(--sans);color:#c0b6ca;margin:0 0 24px;max-width:480px}
.labs-hub .project-tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:0 0 26px}
.labs-hub .project-tags li{font:10px/1.5 var(--mono);color:#c4b6d0;background:#141019;border:1px solid #2c2136;border-radius:5px;padding:5px 8px}
.labs-hub .project-actions{display:flex;gap:15px 22px;flex-wrap:wrap;align-items:center}
.labs-hub .project-actions a{display:inline-flex;gap:17px;align-items:center;min-height:44px;color:#dfc6f6;font:13px/1.4 var(--sans);text-decoration:none;border-bottom:1px solid #604371}
.labs-hub .project-actions a:hover{color:#fff;border-color:#c99ef4}
.labs-hub .project-source-note{font:12px/1.6 var(--sans);color:#95879f;margin:18px 0 0}
.labs-hub .ancalor-stage{display:flex;flex-direction:column;justify-content:center;min-height:480px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 70% 35%,#54277144,transparent 55%),#08060c;overflow:hidden;padding:48px 25px;border-left:1px solid #33263c}
.labs-hub .ancalor-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 49%,#ae6aea08 50%,transparent 51%),repeating-linear-gradient(90deg,transparent 0 49px,#bea0d008 50px 51px);background-size:100% 6px,100% 100%;pointer-events:none}
.labs-hub .ancalor-preview{position:relative;z-index:1;background:#110c18;border:1px solid #6c468b;border-radius:10px;box-shadow:0 22px 80px #0008;transform:perspective(900px) rotateY(-5deg) rotateX(2deg);overflow:hidden}
.labs-hub .ancalor-titlebar{padding:13px 15px;border-bottom:1px solid #3c284f;display:flex;align-items:center;gap:10px;font:11px/1.5 var(--mono);color:#d9c4e9}
.labs-hub .app-dots{display:flex;gap:4px;margin-right:6px}
.labs-hub .app-dots i{display:block;width:5px;height:5px;background:#776284;border-radius:50%}
.labs-hub .ancalor-titlebar>span:last-child{margin-left:auto;font-size:9px;color:#887397}
.labs-hub .ancalor-screen{display:grid;grid-template-columns:96px 1fr;min-height:264px}
.labs-hub .ancalor-sidebar{border-right:1px solid #382546;padding:18px 9px;background:#0b0810;font:9px/1.4 var(--mono);color:#9d8bae;display:flex;flex-direction:column;gap:16px}
.labs-hub .ancalor-sidebar span:first-child{color:#dbb8ff;background:#2c193e;padding:8px 7px;margin:-2px -2px 2px;border-radius:3px}
.labs-hub .ancalor-workflow{padding:21px 20px}
.labs-hub .ancalor-workflow>p{font:12px/1.4 var(--sans);color:#e2d6ec;margin:0 0 23px}
.labs-hub .ancalor-workflow ol{list-style:none;padding:0;margin:0;display:grid;gap:19px}
.labs-hub .ancalor-workflow li{display:grid;grid-template-columns:25px 1fr;gap:10px;align-items:center;position:relative}
.labs-hub .ancalor-workflow li:not(:last-child):after{content:'';position:absolute;width:1px;top:29px;bottom:-17px;left:12px;background:#503568}
.labs-hub .ancalor-workflow b{display:grid;place-items:center;width:25px;height:25px;border-radius:5px;border:1px solid #755098;background:#241235;color:#d2a8f5;font:11px/1 var(--mono)}
.labs-hub .ancalor-workflow strong{display:block;color:#dfcbe9;font:11px/1.3 var(--sans);font-weight:500}
.labs-hub .ancalor-workflow small{display:block;color:#9c86ad;font:9px/1.5 var(--mono);margin-top:3px}
.labs-hub .preview-caption{position:relative;font:10px/1.5 var(--mono);color:#9b88ac;text-align:center;margin:18px 0 0}
.labs-hub .project-details{border-top:1px solid #32213d;margin-top:28px;padding-top:18px}
.labs-hub .project-details summary{font:13px/1.5 var(--sans);color:#c6acd9;cursor:pointer;min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none}
.labs-hub .project-details summary::-webkit-details-marker{display:none}
.labs-hub .project-details summary:after{content:'+';font:22px/1 var(--mono);color:#c398e8}
.labs-hub .project-details[open] summary:after{content:'−'}
.labs-hub .project-details ul{font:13px/1.7 var(--sans);color:#b7a9c3;margin:14px 0 0;padding-left:18px}
.labs-hub .project-details li+li{margin-top:8px}
.labs-hub .project-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.labs-hub .project-grid .project-card h3{font-size:42px;max-width:420px}
.labs-hub .project-grid .project-summary{font-size:14px;line-height:1.7}
.labs-hub .project-grid .project-body{padding:30px 34px}
.labs-hub .project-grid .project-identity{margin-bottom:22px}
.labs-hub .project-card--learning{background:linear-gradient(155deg,#17101e,#09070d 65%)}
.labs-hub .project-card--example{background:linear-gradient(155deg,#0c0911,#14101b)}
.labs-hub .project-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:25px;border-top:1px solid #33263c}
.labs-hub .project-footer p{font:13px/1.7 var(--sans);color:#a79aae;margin:0;max-width:530px}
.labs-hub .project-footer a{display:inline-flex;align-items:center;gap:15px;white-space:nowrap;min-height:44px;color:#d2b4ee;font:13px/1.5 var(--sans)}
.labs-hub .projects-count{font:11px/1.5 var(--mono);color:#a99ab5;margin:24px 0 0}
@media(max-width:1050px){.labs-hub .project-body{padding:28px}.labs-hub .project-card--flagship{grid-template-columns:1fr 1fr}.labs-hub .ancalor-stage{padding:35px 18px}.labs-hub .ancalor-screen{grid-template-columns:78px 1fr}.labs-hub .ancalor-workflow{padding:20px 14px}.labs-hub .project-grid .project-body{padding:28px}}
@media(max-width:760px){.labs-hub .poster-deck{font-size:clamp(54px,15vw,78px)}.labs-hub .poster-art{height:300px}.labs-hub .projects-shelf{margin-top:25px;margin-bottom:55px}.labs-hub .projects-toolbar{display:block;padding-bottom:18px}.labs-hub .projects-toolbar h2{font-size:34px;margin-bottom:18px}.labs-hub .project-filters{gap:3px}.labs-hub .project-filters button{padding:10px 14px}.labs-hub .project-card--flagship{display:flex;flex-direction:column}.labs-hub .project-body{padding:26px 23px}.labs-hub .project-card h3{font-size:54px}.labs-hub .project-summary{font-size:14px!important}.labs-hub .ancalor-stage{border-left:0;border-top:1px solid #33263c;min-height:360px;padding:30px 22px}.labs-hub .ancalor-preview{max-width:490px;width:100%;margin:auto;transform:none}.labs-hub .ancalor-screen{grid-template-columns:89px 1fr}.labs-hub .project-grid{grid-template-columns:1fr;gap:20px}.labs-hub .project-grid .project-card h3{font-size:38px}.labs-hub .project-grid .project-body{padding:25px 23px}.labs-hub .project-footer{display:block}.labs-hub .project-footer a{margin-top:13px}.labs-hub .project-identity{gap:10px}.labs-hub .project-status{font-size:9px}.labs-hub .project-kind{font-size:10px}}
@media(max-width:360px){.labs-hub .project-body,.labs-hub .project-grid .project-body{padding:23px 18px}.labs-hub .project-status{padding:4px 7px}.labs-hub .project-symbol{width:40px;height:40px}.labs-hub .ancalor-stage{padding-inline:14px}.labs-hub .ancalor-sidebar{font-size:8px}.labs-hub .ancalor-titlebar{font-size:10px}.labs-hub .ancalor-titlebar>span:last-child{font-size:8px}.labs-hub .project-actions{gap:10px}.labs-hub .project-filters button{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.labs-hub .ancalor-preview{transform:none}}

.labs-hub .project-grid > .project-card:only-child{grid-column:1 / -1}
