.prose-blog{color:#f5f5f5e0;max-width:66ch;font-size:1.1rem;line-height:1.8}.prose-blog p:not(.app-demo__stage *,.pcta *){text-wrap:pretty;margin-bottom:1.5em}.prose-blog strong:not(.app-demo__stage *,.pcta *){color:var(--ink);font-weight:600}.prose-blog h2{font-family:var(--font-display);letter-spacing:0;color:var(--ink);text-wrap:balance;margin:2.2em 0 .8em;scroll-margin-top:110px;font-size:1.45rem;font-weight:700;line-height:1.25}.prose-blog h2 .anchor{color:var(--faint);opacity:0;transition:opacity .2s var(--ease), color .2s var(--ease);margin-left:.4em;text-decoration:none}.prose-blog h2:hover .anchor{opacity:1}.prose-blog h2 .anchor:hover{color:var(--accent)}.prose-blog h3{color:var(--ink);margin:1.8em 0 .6em;scroll-margin-top:110px;font-size:1.12rem;font-weight:600}.prose-blog a:not(.app-demo__stage *,.pcta *){color:var(--ink);text-underline-offset:4px;transition:text-decoration-color .2s var(--ease);font-weight:500;-webkit-text-decoration:underline #ffffff4d;text-decoration:underline #ffffff4d}.prose-blog a:not(.app-demo__stage *,.pcta *):hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose-blog strong a:not(.app-demo__stage *,.pcta *){font-weight:inherit}.prose-blog ul:not(.app-demo__stage *,.pcta *){gap:.7em;margin:0 0 1.5em;display:grid}.prose-blog ul li:not(.app-demo__stage *,.pcta *){padding-left:1.4em;position:relative}.prose-blog ul li:not(.app-demo__stage *,.pcta *):before{content:"";background:var(--gold);border-radius:50%;width:6px;height:6px;position:absolute;top:.78em;left:.3em}.prose-blog .callout{border-radius:var(--radius);background:linear-gradient(180deg, #ffc6291a, #ffc6290a), var(--surface);border:1px solid #ffc62947;margin:0 0 1.5em;padding:22px 26px}.prose-blog .callout .eyebrow{color:var(--gold);margin-bottom:10px}.prose-blog .callout p{color:var(--ink);margin:0;font-size:1.02rem;line-height:1.65}.prose-blog .read-also{border-radius:var(--radius);border:1px solid var(--glass-rim);background:#ffffff08;margin:0 0 1.5em;padding:20px 24px}.prose-blog .read-also .eyebrow{margin-bottom:8px}.prose-blog .read-also ul{gap:.45em;margin:0}.prose-blog .read-also li{padding-left:0;font-size:1rem}.prose-blog .read-also li:before{display:none}.prose-blog figure{margin:0 0 1.5em}.prose-blog figure img{border-radius:var(--radius);border:1px solid var(--glass-rim);width:100%;height:auto}.prose-blog figcaption{text-align:center;color:var(--muted);margin-top:10px;font-size:.82rem;line-height:1.5}.prose-blog .table-scroll{border-radius:var(--radius);border:1px solid var(--glass-rim);background:var(--surface);-webkit-overflow-scrolling:touch;overflow-x:auto}.prose-blog .table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prose-blog table{border-collapse:collapse;text-align:left;width:100%;font-size:.93rem;line-height:1.55}.prose-blog table.cols-3{min-width:36rem}.prose-blog table.cols-4{min-width:42rem}.prose-blog table.cols-5{min-width:54rem}.prose-blog th,.prose-blog td{vertical-align:top;text-wrap:pretty;padding:15px 16px}.prose-blog thead th{color:var(--ink);background:#ffffff0f;border-bottom:1px solid #ffffff29;font-weight:600}.prose-blog tbody th{color:var(--ink);font-weight:500}.prose-blog tbody td{color:var(--muted)}.prose-blog tbody tr+tr :is(th,td){border-top:1px solid #ffffff14}.prose-blog tbody tr:nth-child(2n) :is(th,td){background:#ffffff09}@media (width<=640px){.prose-blog th,.prose-blog td{padding:12px}}.prose-blog .app-demo{margin:0 0 1.5em}.app-demo__stage{border-radius:var(--radius-lg);border:1px solid var(--glass-rim);border-top-color:var(--glass-highlight);background:radial-gradient(70% 90% at 50% 0%, #ffc62914 0%, transparent 60%), linear-gradient(180deg, var(--glass-top), var(--glass-bottom)), var(--sumi);max-width:560px;box-shadow:var(--glass-shadow);color:var(--ink);margin-inline:auto;padding:18px;font-size:1rem;line-height:1.4}.app-demo__bar{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:14px;font-size:.72rem;font-weight:700;display:flex}.app-demo__live{background:var(--gain);border-radius:50%;width:7px;height:7px;margin-left:auto;box-shadow:0 0 0 3px #5bc68929}.app-demo__screen{max-width:340px;margin-inline:auto}.post-card{border-radius:var(--radius-lg);border:1px solid var(--glass-rim);border-top-color:var(--glass-highlight);background:linear-gradient(180deg, var(--glass-sheen) 0, transparent 12px), linear-gradient(180deg, var(--glass-top), var(--glass-bottom)), var(--surface-glass);box-shadow:var(--glass-shadow);transition:border-color .25s var(--ease), transform .35s var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.post-card:hover{border-color:#ffffff38;transform:translateY(-2px)}.post-card__media{aspect-ratio:16/10;flex:none;position:relative;overflow:hidden}.post-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-out);position:absolute;inset:0}.post-card:hover .post-card__media img{transform:scale(1.03)}.post-card__badge{-webkit-backdrop-filter:blur(12px);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:#0b0b0dcc;border:1px solid #ffffff24;border-radius:999px;padding:5px 10px;font-size:.68rem;font-weight:600;position:absolute;bottom:12px;left:12px}.post-card__body{flex-direction:column;flex:1;padding:20px 22px 24px;display:flex}.post-card__meta{color:var(--muted);font-size:.78rem}.post-card__title{letter-spacing:0;color:var(--ink);text-wrap:balance;margin-top:8px;font-size:1.06rem;font-weight:600;line-height:1.35}.post-card__title a:after{content:"";position:absolute;inset:0}.post-card__desc{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:.92rem;line-height:1.6;display:-webkit-box;overflow:hidden}.post-card__more{color:var(--accent);align-items:center;gap:6px;margin-top:18px;font-size:.9rem;font-weight:600;display:inline-flex}.post-card--featured .post-card__title{font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.22}.post-card--featured .post-card__desc{-webkit-line-clamp:unset;line-clamp:unset;font-size:.98rem;display:block}@media (width>=640px){.post-card--featured{flex-direction:row}.post-card--featured .post-card__media{aspect-ratio:auto;width:50%;min-height:19rem}.post-card--featured .post-card__body{justify-content:center;width:50%;padding:32px}}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);display:grid}@media (width<=940px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.post-grid{grid-template-columns:minmax(0,1fr)}}.post-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=560px){.post-grid--2{grid-template-columns:minmax(0,1fr)}}.cat-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cat-chip{border:1px solid var(--glass-rim);background:var(--chip-film);color:var(--muted);transition:border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.86rem;font-weight:600;line-height:1.2;display:inline-flex}.cat-chip:hover{background:var(--glass-thumb);color:var(--ink);border-color:#ffffff3d}.cat-chip--on{color:var(--ink);background:#ffc6291f;border-color:#ffc62966}.cat-chip__count{font-variant-numeric:tabular-nums;color:var(--faint);font-size:.74rem}.cat-chip--on .cat-chip__count{color:var(--accent)}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.crumbs li{align-items:center;gap:8px;min-width:0;display:flex}.crumbs a{color:var(--muted);transition:color .2s var(--ease)}.crumbs a:hover,.crumbs [aria-current]{color:var(--ink)}.rail-title{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:.7rem;font-weight:500}.toc ul{border-left:1px solid var(--glass-rim);margin:0;padding:0;list-style:none}.toc a{color:var(--muted);transition:color .2s var(--ease), border-color .2s var(--ease);border-left:1px solid #0000;margin-left:-1px;padding:6px 0 6px 16px;font-size:.86rem;line-height:1.4;display:block}.toc a:hover{color:var(--ink);border-left-color:#ffffff4d}.toc a[aria-current=true]{color:var(--ink);border-left-color:var(--accent);font-weight:500}.icon-row{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.icon-btn{border-radius:var(--radius-xs);border:1px solid var(--glass-rim);border-top-color:var(--glass-highlight);background:linear-gradient(180deg, var(--glass-top), var(--glass-bottom));width:38px;height:38px;color:var(--muted);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--ink);border-color:#ffffff4d}.icon-btn[data-copied]{color:var(--gain);border-color:#5bc68966}.entity-list{border-left:1px solid var(--glass-rim);padding-left:16px}.entity-list ul{margin:0;padding:0;list-style:none}.entity-list li+li{border-top:1px solid #ffffff12}.entity{padding:8px 0;display:block}.entity__name{color:var(--ink);font-size:.9rem;font-weight:500;line-height:1.35;display:block}a.entity .entity__name{text-underline-offset:4px;-webkit-text-decoration:underline #ffffff40;text-decoration:underline #ffffff40}a.entity:hover .entity__name{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.entity__sub{color:var(--muted);margin-top:2px;font-size:.8rem;line-height:1.4;display:block}.toc-mobile{border-radius:var(--radius);border:1px solid var(--glass-rim);background:#ffffff08;padding:18px 20px}.toc-mobile summary{cursor:pointer;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:.7rem;font-weight:500;list-style:none;display:flex}.toc-mobile summary::-webkit-details-marker{display:none}.toc-mobile summary svg{transition:transform .24s var(--ease-out);flex:none}.toc-mobile[open] summary svg{transform:rotate(45deg)}.toc-mobile ul{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.toc-mobile a{color:var(--muted);font-size:.9rem}.toc-mobile a:hover{color:var(--ink)}.progress{z-index:60;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.progress i{transform-origin:0;background:var(--accent);height:100%;display:block;transform:scaleX(0)}
