@layer theme,base;@layer components{.page--project{--grad:linear-gradient(100deg, var(--vivid-blue), var(--vivid-violet) 55%, var(--vivid-pink));counter-reset:band;overflow-x:clip}.page--project .page-hero__inner{grid-template-columns:minmax(0,1fr)}.page--project .page-hero{isolation:isolate;position:relative;overflow:hidden}.page--project .page-hero:before{content:"";z-index:-1;background:radial-gradient(34% 40% at 18% 30%, color-mix(in srgb, var(--vivid-blue) 34%, transparent), transparent 70%), radial-gradient(30% 38% at 78% 24%, color-mix(in srgb, var(--vivid-violet) 30%, transparent), transparent 70%), radial-gradient(28% 34% at 62% 78%, color-mix(in srgb, var(--vivid-pink) 22%, transparent), transparent 70%), radial-gradient(24% 30% at 30% 84%, color-mix(in srgb, var(--vivid-teal) 24%, transparent), transparent 70%);filter:blur(28px);position:absolute;inset:-30% -20% -10%}.page--project .page-hero:after{content:"";z-index:-1;background:linear-gradient(to bottom, transparent, var(--bg));height:5rem;position:absolute;inset:auto 0 0}.page--project .page-hero__title{background:linear-gradient(100deg, var(--vivid-blue), var(--vivid-violet) 45%, var(--vivid-pink) 75%, var(--vivid-blue));-webkit-text-fill-color:transparent;color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;max-width:12ch;padding-bottom:.08em}.page--project .kicker{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--vivid-violet) 12%, transparent);color:var(--text-muted);padding:.3rem .85rem;display:inline-block}.page--project .page-hero__lead{color:var(--text)}.page--project .page-hero__intro{max-width:40rem}.project-hand{width:100%;height:clamp(20rem,60vw,28rem);margin-top:var(--space-6);position:relative}.project-hand__stage{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 78%,#0000 98%);mask-image:linear-gradient(#000 78%,#0000 98%)}.project-hand__play{min-height:2.75rem;left:50%;bottom:var(--space-3);position:absolute;translate:-50%}@media (min-width:64rem){.page--project .page-hero__inner{position:static}.project-hand{height:min(100% - 1.5rem,36rem);top:1.5rem;right:max(var(--gutter), calc((100vw - var(--container)) / 2));width:min(42%,34rem);margin:0;position:absolute}.page--project .page-hero__title,.page--project .page-hero__lead{max-width:min(40rem,52%)}.page--project .project-stats{max-width:min(40rem,54%)}}.project-stats{gap:var(--space-4);width:100%;max-width:44rem;margin:var(--space-6) 0 0;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));padding:0;list-style:none;display:grid}.project-stats__item{padding:var(--space-4) var(--space-5);border:1px solid color-mix(in srgb, var(--text) 8%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);gap:.15rem;display:grid}.project-stats__item:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-stats__num{letter-spacing:-.03em;background:var(--grad);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,1.5rem + 2vw,2.75rem);font-weight:700;line-height:1.05}.project-stats__label{font-size:var(--fs-small);color:var(--text-muted)}.page--project .page-band{isolation:isolate;background:var(--bg);position:relative;overflow:hidden}.page--project .page-band.section--alt{background:var(--bg)}.page--project .page-band:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(closest-side, color-mix(in srgb, var(--glow) 16%, transparent), transparent);border-radius:50%;width:min(60rem,90vw);position:absolute;top:-12rem;right:-14rem}.page--project .page-band[data-band=the-goal]{--glow:var(--vivid-blue)}.page--project .page-band[data-band=design-decisions]{--glow:var(--vivid-violet);background:linear-gradient(180deg, color-mix(in srgb, var(--vivid-violet) 6%, var(--bg)), var(--bg))}.page--project .page-band[data-band=design-decisions]:before{left:-16rem;right:auto}.page--project .page-band[data-band=where-it-stands]{--glow:var(--vivid-teal);background:linear-gradient(180deg, color-mix(in srgb, var(--vivid-teal) 7%, var(--bg)), var(--bg))}.page--project .page-band[data-band=roadmap]{--glow:var(--vivid-pink);background:linear-gradient(180deg, color-mix(in srgb, var(--vivid-blue) 6%, var(--bg)), color-mix(in srgb, var(--vivid-pink) 5%, var(--bg)))}.page--project .page-band[data-band=roadmap]:before{inset:auto auto -14rem -14rem}.page--project .page-band{counter-increment:band}.page--project .page-prose>h2:first-child{max-width:20ch}.page--project .page-prose>h2:first-child:before{content:counter(band, decimal-leading-zero);margin-bottom:var(--space-3);font-size:var(--fs-small);letter-spacing:.14em;color:var(--accent-ink);font-weight:700;display:block}.page--project .page-prose>h2:first-child:after{content:"";width:3rem;height:4px;margin-top:var(--space-4);background:var(--grad);border-radius:2px;display:block}.page--project .heading-anchor{-webkit-text-fill-color:currentColor}@media (forced-colors:active){.page--project .page-hero__title,.project-stats__num{-webkit-text-fill-color:currentColor;color:canvastext;background:0 0}}.page--project .page-band[data-band=the-goal] .page-prose>h2+p{font-size:var(--fs-lead);letter-spacing:-.015em;color:var(--text);line-height:1.4}.page--project .prose strong{color:var(--text)}.page--project .prose-figure{border-radius:var(--radius-xl);background:radial-gradient(60% 70% at 20% 10%, color-mix(in srgb, var(--vivid-blue) 24%, transparent), transparent 70%), radial-gradient(60% 70% at 85% 90%, color-mix(in srgb, var(--vivid-pink) 20%, transparent), transparent 70%), color-mix(in srgb, var(--vivid-violet) 8%, var(--surface));padding:clamp(1rem,.5rem + 2vw,2rem)}.page--project .prose-figure img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:transform .9s var(--ease-out)}.page--project .prose-figure:hover img{transform:scale(1.02)rotate(-.6deg)}.page--project .prose-cards>.card{--c:var(--vivid-blue)}.page--project .prose-cards>.card:nth-child(4n+2){--c:var(--vivid-violet)}.page--project .prose-cards>.card:nth-child(4n+3){--c:var(--vivid-teal)}.page--project .prose-cards>.card:nth-child(4n+4){--c:var(--vivid-pink)}.page--project .prose-cards>.card{gap:var(--space-3);border:1px solid color-mix(in srgb, var(--c) 18%, var(--border));background:linear-gradient(160deg, color-mix(in srgb, var(--c) 9%, var(--surface)), var(--surface) 62%);box-shadow:var(--shadow-sm)}.page--project .prose-cards>.card:before{content:"";background:linear-gradient(90deg, var(--c), color-mix(in srgb, var(--c) 40%, var(--vivid-pink)));transform-origin:0;height:4px;transition:transform .6s var(--ease-out);position:absolute;inset:0 0 auto;transform:scaleX(.28)}.page--project .prose-cards>.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.page--project .prose-cards>.card:hover:before{transform:scaleX(1)}.card__icon{width:3rem;height:3rem;margin-bottom:var(--space-1);background:linear-gradient(145deg, var(--c), color-mix(in srgb, var(--c) 55%, var(--vivid-violet)));color:#fff;box-shadow:0 8px 20px color-mix(in srgb, var(--c) 40%, transparent);transition:transform .5s var(--ease-out);border-radius:14px;place-items:center;display:grid}.card__icon svg{width:1.6rem;height:1.6rem}.page--project .card:hover .card__icon{transform:rotate(-8deg)scale(1.1)}.page--project .card__kicker{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.page--project .page-band[data-band=design-decisions] .page-prose>ul{gap:var(--space-3);margin-top:var(--space-5);padding:0;list-style:none;display:grid}.page--project .page-band[data-band=design-decisions] .page-prose>ul>li{padding:var(--space-4) var(--space-5) var(--space-4) 3.25rem;border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 80%, transparent);border:1px solid var(--border);transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base);position:relative}.page--project .page-band[data-band=design-decisions] .page-prose>ul>li:hover{border-color:var(--vivid-violet);transform:translate(6px)}.page--project .page-band[data-band=design-decisions] .page-prose>ul>li:before{content:"";background:var(--grad);border-radius:0;width:1.15rem;height:1.15rem;position:absolute;top:1.25rem;left:1.1rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") 50%/contain no-repeat}.page--project .prose-table{border:1px solid color-mix(in srgb, var(--vivid-teal) 25%, var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:var(--surface)}.page--project .prose-table th{background:color-mix(in srgb, var(--vivid-teal) 10%, var(--surface))}.page--project .prose-table tbody tr{transition:background-color var(--dur-fast)}.page--project .prose-table tbody tr:hover{background:color-mix(in srgb, var(--vivid-teal) 7%, var(--surface))}.page--project .callout--note{border:1px solid color-mix(in srgb, var(--vivid-violet) 30%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--vivid-violet) 10%, var(--surface)), var(--surface))!important}.page--project .callout--note .callout__icon{color:var(--vivid-violet)}.page--project .roadmap__marker--done{color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--vivid-teal) 45%, transparent);background:linear-gradient(145deg, var(--vivid-teal), var(--success))!important}.page--project .roadmap__card{transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out)}.page--project .roadmap__card:hover{box-shadow:var(--shadow-md);transform:translate(6px)}.page--project .page-band[data-band=open-source-all-of-it]{--glow:#fff;color:#fff;background:radial-gradient(50% 60% at 85% 10%, color-mix(in srgb, var(--vivid-pink) 55%, transparent), transparent 70%), radial-gradient(50% 60% at 10% 90%, color-mix(in srgb, var(--vivid-teal) 40%, transparent), transparent 70%), linear-gradient(135deg, #0a3a99, #4a35d6 60%, #7a2fbf)}.page--project .page-band[data-band=open-source-all-of-it]:before{display:none}.page--project .page-band[data-band=open-source-all-of-it] :where(h2,p,li,strong){color:#fff}.page--project .page-band[data-band=open-source-all-of-it] h2:before{-webkit-text-fill-color:#ffffffeb;background:0 0}.page--project .page-band[data-band=open-source-all-of-it] h2:after{background:#fff}.page--project .page-band[data-band=open-source-all-of-it] .heading-anchor{display:none}.page--project .page-band[data-band=open-source-all-of-it] a{color:#fff;text-underline-offset:.2em;font-weight:600;text-decoration:underline}.page--project .page-band[data-band=open-source-all-of-it] .page-prose>ul{gap:var(--space-4);max-width:56rem;margin-block:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));padding:0;list-style:none;display:grid}.page--project .page-band[data-band=open-source-all-of-it] .page-prose>ul>li{padding:var(--space-5);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-base);background:#ffffff1f;border:1px solid #ffffff38;line-height:1.5}.page--project .page-band[data-band=open-source-all-of-it] .page-prose>ul>li:hover{background:#fff3;transform:translateY(-5px)}.page--project .page-band[data-band=open-source-all-of-it] li>strong{font-size:var(--fs-h4);letter-spacing:-.015em;margin-bottom:.4rem;display:block}.page--project .page-band[data-band=open-source-all-of-it] .page-prose>p:last-child{font-size:var(--fs-lead)}}@layer utilities;html.motion .page--project .page-hero:before{animation:22s ease-in-out infinite alternate aurora}html.motion .page--project .page-hero__title{animation:9s ease-in-out infinite alternate hue-slide}html.motion .page--project .project-stats__item{animation:pop-in .7s var(--ease-out) backwards}html.motion .page--project .project-stats__item:nth-child(2){animation-delay:90ms}html.motion .page--project .project-stats__item:nth-child(3){animation-delay:.18s}html.motion .page--project .project-stats__item:nth-child(4){animation-delay:.27s}html.motion .page--project .prose-figure img{animation:7s ease-in-out infinite alternate float}@supports (animation-timeline:view()){html.motion .page--project .page-prose>*,html.motion .page--project .prose-cards>.card,html.motion .page--project .page-band[data-band=open-source-all-of-it] .page-prose>ul>li,html.motion .page--project .prose-table tbody tr{animation:linear backwards rise;animation-timeline:view();animation-range:entry entry 45%}}@keyframes aurora{0%{transform:translate(-3%,-2%)scale(1)rotate(0)}to{transform:translate(4%,3%)scale(1.12)rotate(6deg)}}@keyframes hue-slide{0%{background-position:0 0}to{background-position:100% 0}}@keyframes pop-in{0%{opacity:0;transform:translateY(18px)scale(.96)}}@keyframes float{0%{translate:0 -5px}to{translate:0 6px}}@keyframes rise{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
