.Breadcrumbs-module__qHR2Ta__breadcrumbs{border-bottom:1px solid var(--border);margin-top:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem}.Breadcrumbs-module__qHR2Ta__breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.Breadcrumbs-module__qHR2Ta__breadcrumbs li:not(:last-child):after{content:"/";opacity:.3;margin:0 .35em}.Breadcrumbs-module__qHR2Ta__breadcrumbs a{color:var(--text-muted);transition:color var(--transition);text-decoration:none}.Breadcrumbs-module__qHR2Ta__breadcrumbs a:hover{color:var(--accent);text-decoration:underline}.Breadcrumbs-module__qHR2Ta__breadcrumbs .Breadcrumbs-module__qHR2Ta__current{color:var(--text);opacity:.5}
.FollowMe-module__QGgw0q__follow-me{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.9rem;margin-top:2.5rem;padding:1.25rem;display:flex}.FollowMe-module__QGgw0q__follow-text{color:var(--text);margin:0;font-size:1rem;line-height:1.5}.FollowMe-module__QGgw0q__follow-links{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.FollowMe-module__QGgw0q__follow-links a{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);transition:color var(--transition), border-color var(--transition), background var(--transition);align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.92rem;text-decoration:none;display:inline-flex}.FollowMe-module__QGgw0q__follow-links a:hover,.FollowMe-module__QGgw0q__follow-links a:focus{color:var(--accent);border-color:var(--border-hover);background:var(--bg-elevated);text-decoration:none}.FollowMe-module__QGgw0q__letter-badge{width:16px;height:16px;font-size:11px;font-weight:700;font-family:var(--font);border:1px solid;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}
.InlineReadNext-module__S96KOG__inline-read-next{border:1px dashed var(--border);border-radius:var(--radius);background:0 0;flex-direction:column;gap:.5rem;margin:2.5rem 0 2rem;padding:.9rem 1.1rem;display:flex}.InlineReadNext-module__S96KOG__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;font-weight:600}.InlineReadNext-module__S96KOG__list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.InlineReadNext-module__S96KOG__list a{color:var(--text);justify-content:space-between;align-items:center;gap:.6rem;padding:.35rem 0;font-size:.98rem;line-height:1.45;text-decoration:none;display:flex}.InlineReadNext-module__S96KOG__list a:hover .InlineReadNext-module__S96KOG__title,.InlineReadNext-module__S96KOG__list a:focus .InlineReadNext-module__S96KOG__title{color:var(--accent);text-decoration:underline}.InlineReadNext-module__S96KOG__arrow{color:var(--accent);font-family:var(--font)}
.TableOfContents-module__a_pvLq__toc{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 2rem;padding:.9rem 1.1rem;font-size:.95rem}.TableOfContents-module__a_pvLq__toc summary{cursor:pointer;font-weight:500;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;list-style:none}.TableOfContents-module__a_pvLq__toc summary::-webkit-details-marker{display:none}.TableOfContents-module__a_pvLq__toc summary:after{content:" +";color:var(--text-muted)}.TableOfContents-module__a_pvLq__toc details[open] summary:after{content:" –"}.TableOfContents-module__a_pvLq__toc-list{flex-direction:column;gap:.3rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.TableOfContents-module__a_pvLq__toc-item a{color:var(--text);opacity:.85;line-height:1.5;text-decoration:none}.TableOfContents-module__a_pvLq__toc-item a:hover,.TableOfContents-module__a_pvLq__toc-item a:focus{color:var(--accent);opacity:1;text-decoration:underline}.TableOfContents-module__a_pvLq__toc-depth-3{opacity:.85;padding-left:1rem;font-size:.9rem}
.Tldr-module__sQB-VW__tldr{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);flex-direction:column;gap:.5rem;margin:0 0 2rem;padding:1rem 1.1rem;display:flex}.Tldr-module__sQB-VW__tldr-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:500}.Tldr-module__sQB-VW__tldr-text{color:var(--text);margin:0;font-size:1rem;line-height:1.6}
.CrossPromo-module__nYRdea__cross-promo{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}.CrossPromo-module__nYRdea__cross-promo h2{letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.3rem;font-weight:600}.CrossPromo-module__nYRdea__promo-text{opacity:.7;margin-bottom:1.5rem;font-size:1.05rem}.CrossPromo-module__nYRdea__promo-grid{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.CrossPromo-module__nYRdea__promo-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;gap:.3rem;padding:1rem;text-decoration:none;display:flex}.CrossPromo-module__nYRdea__promo-card:hover,.CrossPromo-module__nYRdea__promo-card:focus{background:var(--bg-elevated);border-color:var(--border-hover);box-shadow:0 0 0 1px var(--accent-glow), 0 4px 16px var(--accent-glow);color:inherit;text-decoration:none;transform:translateY(-1px)}.CrossPromo-module__nYRdea__promo-title{font-size:1.08rem;font-weight:600;line-height:1.3}.CrossPromo-module__nYRdea__promo-desc{opacity:.8;font-size:.98rem;line-height:1.5}.CrossPromo-module__nYRdea__view-all-link{color:var(--accent);transition:color var(--transition);font-size:1.05rem;font-weight:500;text-decoration:none;display:inline-block}.CrossPromo-module__nYRdea__view-all-link:hover{color:var(--accent-hover);text-decoration:underline}@media (min-width:48rem){.CrossPromo-module__nYRdea__promo-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}}
.blog-module__3rPSzG__blog-page{--ease:cubic-bezier(.16, 1, .3, 1);--ink:#0c1512;--muted:#4d5b54;--dim:#8a978f;--accent:#5d9bff;--accent-2:#8ec5ff;--accent-soft:#5d9bff1a;--paper:#fbfcfb;--surface:#eef3f0;--line:#0c151217;--shadow-sm:0 1px 2px #0c15120a, 0 6px 18px #0c15120f;width:100%;color:var(--ink);margin-top:2rem;overflow:hidden}.blog-module__3rPSzG__wrap{width:100%;max-width:48rem;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}.blog-module__3rPSzG__page-head{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2rem,4vw,3rem)}.blog-module__3rPSzG__back-link{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);transition:color var(--transition);margin-bottom:1.4rem;font-size:.78rem;text-decoration:none;display:inline-block}.blog-module__3rPSzG__back-link:hover{color:var(--accent);text-decoration:none}.blog-module__3rPSzG__kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .85rem;font-size:.78rem;font-weight:500}.blog-module__3rPSzG__page-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(2.2rem,5.5vw,3.4rem);font-weight:700;line-height:1.04}.blog-module__3rPSzG__mark{color:var(--accent);white-space:nowrap;position:relative}.blog-module__3rPSzG__mark:after{content:"";background:var(--accent-2);opacity:.55;z-index:-1;border-radius:2px;height:.13em;position:absolute;bottom:.05em;left:-.04em;right:-.04em}.blog-module__3rPSzG__page-lead{color:var(--muted);max-width:34rem;margin:1.3rem 0 0;font-size:clamp(1.08rem,2vw,1.25rem);line-height:1.55}.blog-module__3rPSzG__count{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:1rem 0 0;font-size:.78rem}.blog-module__3rPSzG__list-section{padding-bottom:clamp(3.5rem,8vw,6rem)}.blog-module__3rPSzG__empty{color:var(--muted);padding:3rem 0;font-size:1.1rem}.blog-module__3rPSzG__post-list{flex-direction:column;gap:1rem;display:flex}.blog-module__3rPSzG__post-card{color:inherit;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);border-radius:1.2rem;padding:1.6rem 1.7rem;text-decoration:none;display:block}.blog-module__3rPSzG__post-card:hover{color:inherit;border-color:#5d9bff4d;text-decoration:none;transform:translateY(-4px);box-shadow:0 22px 46px #0c15121f}.blog-module__3rPSzG__post-meta{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--dim);align-items:center;gap:.55rem;font-size:.74rem;display:flex}.blog-module__3rPSzG__post-meta .blog-module__3rPSzG__dot{color:var(--line)}.blog-module__3rPSzG__post-card-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);transition:color var(--transition);margin:.7rem 0 0;font-size:clamp(1.3rem,2.6vw,1.6rem);font-weight:700;line-height:1.18}.blog-module__3rPSzG__post-card:hover .blog-module__3rPSzG__post-card-title{color:var(--accent)}.blog-module__3rPSzG__post-card-brief{color:var(--muted);margin:.6rem 0 0;font-size:1rem;line-height:1.55}.blog-module__3rPSzG__post-card-tags{flex-wrap:wrap;gap:.4rem;margin-top:1.1rem;display:flex}.blog-module__3rPSzG__tagchip{font-family:var(--font-mono);letter-spacing:.03em;background:var(--surface);color:var(--muted);border-radius:999px;padding:.24rem .6rem;font-size:.68rem}.blog-module__3rPSzG__post-card-go{color:var(--accent);opacity:.55;transition:transform var(--transition), opacity var(--transition);margin-top:1.1rem;font-size:.9rem;font-weight:600;display:inline-block;transform:translate(-3px)}.blog-module__3rPSzG__post-card:hover .blog-module__3rPSzG__post-card-go{opacity:1;transform:translate(0)}.blog-module__3rPSzG__pagination{justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;display:flex}.blog-module__3rPSzG__page-btn{color:var(--ink);border:1px solid var(--line);transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:.6rem;padding:.55rem 1rem;font-size:.92rem;font-weight:600;text-decoration:none}.blog-module__3rPSzG__page-btn:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.blog-module__3rPSzG__page-btn.blog-module__3rPSzG__disabled{opacity:.35;pointer-events:none}.blog-module__3rPSzG__page-current{font-family:var(--font-mono);letter-spacing:.04em;color:var(--dim);font-size:.78rem}.blog-module__3rPSzG__promo-wrap{margin-top:clamp(3rem,6vw,4.5rem)}
.post-module__ZAXO3W__blog-post-page{flex-direction:column;width:100%;max-width:40rem;margin:2rem auto 2.5rem;padding:0 1.25rem;display:flex;overflow-x:clip}.post-module__ZAXO3W__blog-post-page h1{font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:break-word;word-break:break-word;margin:.8rem 0 .9rem;font-size:clamp(1.9rem,4.5vw,2.7rem);font-weight:700;line-height:1.08}.post-module__ZAXO3W__post-meta-row{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:.6em;margin-bottom:1.4rem;font-size:.74rem;display:flex}.post-module__ZAXO3W__post-date,.post-module__ZAXO3W__post-readtime{margin:0}.post-module__ZAXO3W__post-readtime:before{content:"· ";color:var(--border)}.post-module__ZAXO3W__post-tags{flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;display:flex}.post-module__ZAXO3W__tag{font-family:var(--font-mono);letter-spacing:.02em;background:var(--bg-surface);color:var(--text-muted);transition:color var(--transition), background var(--transition);border-radius:999px;padding:.3em .7em;font-size:.72rem;text-decoration:none}.post-module__ZAXO3W__tag:hover{color:var(--accent);background:var(--accent-glow);text-decoration:none}.post-module__ZAXO3W__post-body{overflow-wrap:break-word;word-break:break-word;flex-direction:column;gap:1.2rem;width:100%;min-width:0;font-size:1.08rem;line-height:1.7;display:flex}.post-module__ZAXO3W__post-body p{overflow-wrap:break-word;word-break:break-word;margin:0}.post-module__ZAXO3W__post-body h2{font-family:var(--font-display);letter-spacing:-.01em;overflow-wrap:break-word;word-break:break-word;margin:.5rem 0 0;font-size:clamp(1.15rem,3vw,1.45rem);font-weight:600;line-height:1.3}.post-module__ZAXO3W__post-body h3{font-family:var(--font-display);overflow-wrap:break-word;word-break:break-word;margin:.25rem 0 0;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:600;line-height:1.35}.post-module__ZAXO3W__post-body h4{font-family:var(--font-display);overflow-wrap:break-word;word-break:break-word;margin:.25rem 0 0;font-size:1rem;font-weight:600}:is(.post-module__ZAXO3W__post-body ul,.post-module__ZAXO3W__post-body ol){margin:0;padding-left:1.4rem}.post-module__ZAXO3W__post-body li{overflow-wrap:break-word;word-break:break-word;margin-bottom:.3rem}.post-module__ZAXO3W__post-body li:last-child{margin-bottom:0}.post-module__ZAXO3W__post-body img{border-radius:var(--radius);max-width:100%;height:auto;display:block}.post-module__ZAXO3W__post-body blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:0;padding-left:1rem;font-style:italic}.post-module__ZAXO3W__post-body hr{border:none;border-top:1px solid var(--border);margin:0}.post-module__ZAXO3W__post-body strong{color:var(--text);font-weight:600}.post-module__ZAXO3W__post-body em{font-style:italic}.post-module__ZAXO3W__post-body table{-webkit-overflow-scrolling:touch;border-collapse:collapse;width:max-content;max-width:100%;font-size:.92rem;display:block;overflow-x:auto}:is(.post-module__ZAXO3W__post-body th,.post-module__ZAXO3W__post-body td){border:1px solid var(--border);text-align:left;padding:.5em .75em}.post-module__ZAXO3W__post-body th{background:var(--bg-elevated);font-weight:600}.post-module__ZAXO3W__post-body a{color:var(--accent);overflow-wrap:break-word;word-break:break-word;transition:color var(--transition), background var(--transition);background:0 0;border-radius:3px;outline:none;padding:.05em .15em;text-decoration:underline}:is(.post-module__ZAXO3W__post-body a:hover,.post-module__ZAXO3W__post-body a:focus){color:var(--accent-hover);background:var(--accent-glow);text-decoration:underline}.post-module__ZAXO3W__post-body code{background:var(--bg-elevated);color:var(--text);font-size:.92em;font-family:var(--font);overflow-wrap:break-word;word-break:break-word;border:1px solid var(--border);border-radius:4px;margin:0 .1em;padding:.18em .45em;box-shadow:0 1px 2px #0003}.post-module__ZAXO3W__post-body pre{background:var(--bg-surface);color:var(--text);border-radius:var(--radius);-webkit-overflow-scrolling:touch;font-size:.88em;font-family:var(--font);border:1px solid var(--border);box-sizing:border-box;min-width:0;max-width:100%;margin:0;padding:1em 1rem;overflow-x:auto;box-shadow:0 4px 20px #0000004d}.post-module__ZAXO3W__post-body pre code{color:inherit;box-shadow:none;word-break:normal;overflow-wrap:normal;white-space:pre;background:0 0;border:none;border-radius:0;margin:0;padding:0;font-size:1em}@media (min-width:40rem){.post-module__ZAXO3W__blog-post-page{padding:0}.post-module__ZAXO3W__post-body pre{padding:1.25em 1.5em;font-size:.95em}}.post-module__ZAXO3W__related-content{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}.post-module__ZAXO3W__related-content h3{color:inherit;margin-bottom:1rem;font-size:1.15rem;font-weight:600}.post-module__ZAXO3W__related-list{flex-direction:column;gap:.75rem;display:flex}.post-module__ZAXO3W__related-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;gap:.4rem;padding:1rem;text-decoration:none;display:flex}.post-module__ZAXO3W__related-item:hover,.post-module__ZAXO3W__related-item:focus{background:var(--bg-elevated);border-color:var(--border-hover);box-shadow:0 0 0 1px var(--accent-glow), 0 4px 16px var(--accent-glow);color:inherit;text-decoration:none;transform:translateY(-1px)}.post-module__ZAXO3W__related-title{font-size:1.05rem;font-weight:600;line-height:1.4}.post-module__ZAXO3W__related-brief{opacity:.8;font-size:.95rem;line-height:1.5}.post-module__ZAXO3W__related-date{opacity:.6;margin-top:.1rem;font-size:.85rem;font-style:italic}@media (min-width:48rem){.post-module__ZAXO3W__related-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}}
.page-module__y7JjWq__project-detail{--ink:#0c1512;--ink-deep:#08120d;--muted:#4d5b54;--dim:#8a978f;--accent:#5d9bff;--accent-2:#8ec5ff;--accent-soft:#5d9bff1a;--paper:#fbfcfb;--surface:#eef3f0;--line:#0c151217;--shadow-sm:0 1px 2px #0c15120a, 0 6px 18px #0c15120f;--shadow-accent:0 12px 30px #5d9bff42;width:100%;color:var(--ink);margin-top:2rem}.page-module__y7JjWq__col{max-width:44rem;margin:0 auto;padding:0 1.5rem}.page-module__y7JjWq__detail-head{padding:clamp(1.5rem,4vw,2.5rem) 0 clamp(2rem,4vw,2.8rem)}.page-module__y7JjWq__status-row{flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;display:flex}.page-module__y7JjWq__tagchip{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--surface);color:var(--muted);border-radius:999px;padding:.24rem .6rem;font-size:.66rem}.page-module__y7JjWq__tagchip.page-module__y7JjWq__live{background:var(--accent-soft);color:var(--accent)}.page-module__y7JjWq__tagchip.page-module__y7JjWq__archived{color:var(--dim);background:#0c15120f}.page-module__y7JjWq__detail-head h1{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.06}.page-module__y7JjWq__detail-lead{color:var(--muted);margin:1rem 0 0;font-size:clamp(1.08rem,2vw,1.25rem);line-height:1.55}.page-module__y7JjWq__detail-tech{flex-wrap:wrap;gap:.4rem;margin-top:1.4rem;display:flex}.page-module__y7JjWq__tech-pill{font-family:var(--font-mono);background:var(--surface);color:var(--muted);border-radius:999px;padding:.28rem .65rem;font-size:.74rem;font-weight:500}.page-module__y7JjWq__detail-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;display:flex}.page-module__y7JjWq__btn{transition:background var(--transition), transform var(--transition), box-shadow var(--transition), color var(--transition), border-color var(--transition);border-radius:.7rem;justify-content:center;align-items:center;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.page-module__y7JjWq__btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent);padding:.7em 1.3em}.page-module__y7JjWq__btn-primary:hover{background:var(--accent-hover);color:#fff;text-decoration:none;transform:translateY(-2px)}.page-module__y7JjWq__btn-ghost{color:var(--ink);border:1px solid var(--line);padding:.7em 1.1em}.page-module__y7JjWq__btn-ghost:hover{color:var(--accent);border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.page-module__y7JjWq__btn-light{color:var(--ink);background:#fff;padding:.78em 1.6em;box-shadow:0 10px 30px #00000038}.page-module__y7JjWq__btn-light:hover{color:var(--ink);background:#eef4ff;text-decoration:none;transform:translateY(-2px)}.page-module__y7JjWq__prose{color:#283330;font-size:1.06rem;line-height:1.75}.page-module__y7JjWq__prose h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:2.4rem 0 .9rem;font-size:1.6rem;font-weight:700;line-height:1.2}.page-module__y7JjWq__prose h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:1.8rem 0 .7rem;font-size:1.25rem;font-weight:700}.page-module__y7JjWq__prose p{margin:0 0 1.2rem}:is(.page-module__y7JjWq__prose ul,.page-module__y7JjWq__prose ol){margin:0 0 1.3rem;padding-left:1.3rem}.page-module__y7JjWq__prose li{margin-bottom:.55rem}.page-module__y7JjWq__prose li::marker{color:var(--accent)}.page-module__y7JjWq__prose a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.page-module__y7JjWq__prose a:hover{color:var(--accent-hover)}.page-module__y7JjWq__prose strong{color:var(--ink);font-weight:700}.page-module__y7JjWq__prose code{font-family:var(--font-mono);background:var(--surface);border-radius:.35rem;padding:.15em .4em;font-size:.88em}.page-module__y7JjWq__prose pre{background:var(--ink-deep);color:#e6edf3;border-radius:.9rem;margin:0 0 1.5rem;padding:1.2rem 1.3rem;font-size:.92rem;line-height:1.6;overflow-x:auto}.page-module__y7JjWq__prose pre code{font-size:inherit;background:0 0;padding:0}.page-module__y7JjWq__prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:0 0 1.5rem;padding:.4rem 0 .4rem 1.2rem;font-style:italic}.page-module__y7JjWq__prose img{border:1px solid var(--line);border-radius:.9rem;max-width:100%;height:auto;margin:.5rem 0 1.5rem}.page-module__y7JjWq__prose hr{border:none;border-top:1px solid var(--line);margin:2.4rem 0}.page-module__y7JjWq__project-nav{border-top:1px solid var(--line);margin-top:clamp(3rem,6vw,4.5rem);padding-top:2rem}.page-module__y7JjWq__project-nav-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:1rem;font-size:.72rem;display:block}.page-module__y7JjWq__nav-links{flex-direction:column;gap:.8rem;display:flex}.page-module__y7JjWq__nav-card{background:var(--paper);border:1px solid var(--line);color:inherit;box-shadow:var(--shadow-sm);transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);border-radius:1rem;flex-direction:column;gap:.3rem;padding:1.1rem 1.3rem;text-decoration:none;display:flex}.page-module__y7JjWq__nav-card:hover{color:inherit;border-color:#5d9bff4d;text-decoration:none;transform:translateY(-3px);box-shadow:0 16px 36px #0c15121a}.page-module__y7JjWq__nav-card.page-module__y7JjWq__next{text-align:right}.page-module__y7JjWq__nav-dir{color:var(--accent);font-size:.82rem;font-weight:600}.page-module__y7JjWq__nav-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:1.05rem;font-weight:700;line-height:1.35}@media (min-width:44rem){.page-module__y7JjWq__nav-links{flex-direction:row}.page-module__y7JjWq__nav-card{flex:0 22rem}.page-module__y7JjWq__nav-card.page-module__y7JjWq__next{margin-left:auto}}.page-module__y7JjWq__detail-cta{background:var(--ink-deep);text-align:center;margin-top:clamp(3.5rem,8vw,6rem);padding:clamp(3.5rem,9vw,5.5rem) 0;position:relative;overflow:hidden}.page-module__y7JjWq__detail-cta-bg{pointer-events:none;background-image:radial-gradient(at 25% 0,#5d9bff59 0,#0000 50%),radial-gradient(at 78% 100%,#8ec5ff33 0,#0000 50%);position:absolute;inset:0}.page-module__y7JjWq__detail-cta .page-module__y7JjWq__col{flex-direction:column;align-items:center;display:flex;position:relative}.page-module__y7JjWq__detail-cta h2{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;margin:0;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:700;line-height:1.08}.page-module__y7JjWq__detail-cta p{color:#aebbb4;margin:1rem 0 1.8rem;font-size:1.1rem}
.page-module__4ccqhG__projects-page{--ease:cubic-bezier(.16, 1, .3, 1);--ink:#0c1512;--muted:#4d5b54;--dim:#8a978f;--accent:#5d9bff;--accent-2:#8ec5ff;--accent-soft:#5d9bff1a;--paper:#fbfcfb;--surface:#eef3f0;--line:#0c151217;--shadow-sm:0 1px 2px #0c15120a, 0 6px 18px #0c15120f;width:100%;color:var(--ink);margin-top:2rem;overflow:hidden}.page-module__4ccqhG__wrap{width:100%;max-width:72rem;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}.page-module__4ccqhG__page-head{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2.5rem,5vw,3.5rem)}.page-module__4ccqhG__kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .85rem;font-size:.78rem;font-weight:500}.page-module__4ccqhG__page-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:700;line-height:1.04}.page-module__4ccqhG__mark{color:var(--accent);white-space:nowrap;position:relative}.page-module__4ccqhG__mark:after{content:"";background:var(--accent-2);opacity:.55;z-index:-1;border-radius:2px;height:.13em;position:absolute;bottom:.05em;left:-.04em;right:-.04em}.page-module__4ccqhG__page-lead{color:var(--muted);max-width:38rem;margin:1.3rem 0 0;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.55}.page-module__4ccqhG__count{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:1.6rem 0 0;font-size:.78rem}.page-module__4ccqhG__proj-section{padding-bottom:clamp(3.5rem,8vw,6rem)}.page-module__4ccqhG__empty{color:var(--muted);padding:3rem 0;font-size:1.1rem}.page-module__4ccqhG__proj-grid{grid-template-columns:1fr;gap:1.2rem;display:grid}.page-module__4ccqhG__pcard{color:inherit;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);border-radius:1.3rem;flex-direction:column;padding:1.7rem;text-decoration:none;display:flex}.page-module__4ccqhG__pcard:hover{color:inherit;border-color:#5d9bff4d;text-decoration:none;transform:translateY(-5px);box-shadow:0 24px 50px #0c151221}.page-module__4ccqhG__pcard-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.page-module__4ccqhG__pcard-num{font-family:var(--font-mono);color:var(--dim);font-size:.8rem}.page-module__4ccqhG__pcard-status{flex-wrap:wrap;gap:.4rem;display:flex}.page-module__4ccqhG__tagchip{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--surface);color:var(--muted);border-radius:999px;padding:.22rem .55rem;font-size:.66rem}.page-module__4ccqhG__tagchip.page-module__4ccqhG__live{background:var(--accent-soft);color:var(--accent)}.page-module__4ccqhG__tagchip.page-module__4ccqhG__archived{color:var(--dim);background:#0c15120f}.page-module__4ccqhG__pcard-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.4rem;font-weight:700}.page-module__4ccqhG__pcard-desc{color:var(--muted);margin:.55rem 0 0;font-size:.98rem;line-height:1.55}.page-module__4ccqhG__pcard-tech{flex-wrap:wrap;gap:.4rem;margin-top:1.2rem;display:flex}.page-module__4ccqhG__tech-pill{font-family:var(--font-mono);background:var(--surface);color:var(--muted);border-radius:999px;padding:.26rem .6rem;font-size:.72rem;font-weight:500}.page-module__4ccqhG__pcard-go{color:var(--accent);opacity:.55;transition:transform var(--transition), opacity var(--transition);margin-top:1.3rem;font-size:.92rem;font-weight:600;transform:translate(-3px)}.page-module__4ccqhG__pcard:hover .page-module__4ccqhG__pcard-go{opacity:1;transform:translate(0)}.page-module__4ccqhG__promo-wrap{margin-top:clamp(3rem,6vw,4.5rem)}@media (min-width:48rem){.page-module__4ccqhG__proj-grid{grid-template-columns:1fr 1fr}}@media (min-width:68rem){.page-module__4ccqhG__proj-grid{grid-template-columns:repeat(3,1fr)}}
