.stack-page{z-index:3;font-family:var(--font-geist-pixel-square), ui-monospace, Menlo, Consolas, monospace;background:0 0;padding:0;position:relative}.stack-page__inner{width:min(100%, var(--route-rail-width));max-width:none;margin:0 auto;padding:0 28px 52px}.stack-page__slug{color:var(--page-subtle);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:11px;display:block}.stack-page__heading{margin-bottom:28px}.stack-page__intro{max-width:760px;color:var(--page-muted);margin:0;font-size:13px;line-height:1.65}.stack-page__profile-box{margin-inline:-28px;grid-template-columns:1fr;gap:0;min-height:230px;margin-bottom:0}.stack-page__profile-content{max-width:820px}.stack-page__inner>.works-page__section-break{margin-inline:calc(50% - 50vw);width:100vw;margin-top:0;margin-bottom:46px}.stack-page__summary{border:1px solid var(--rail-line);background:color-mix(in srgb, var(--page-text) 2%, transparent);border-radius:8px;gap:12px;margin-top:30px;padding:18px 20px;display:grid}.stack-page__summary-label{color:var(--page-subtle);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.stack-page__summary-list{flex-wrap:wrap;gap:8px;display:flex}.stack-page__summary-list>span,.stack-page__tool-strip>span{border:1px solid var(--page-line);background:color-mix(in srgb, var(--page-bg) 82%, transparent);min-height:28px;color:var(--page-text);border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:11px;line-height:1.3;display:inline-flex}.stack-page__brand-cluster{flex:none;align-items:center;gap:3px;display:inline-flex}.stack-page__brand-icon{object-fit:contain;color:currentColor;opacity:.78;image-rendering:auto;width:15px;height:15px;display:block}html.dark .stack-page__brand-icon{opacity:.86}html.dark .stack-page__brand-icon--github,html.dark .stack-page__brand-icon--geist,html.dark .stack-page__brand-icon--next,html.dark .stack-page__brand-icon--sanity,html.dark .stack-page__brand-icon--supabase,html.dark .stack-page__brand-icon--umami,html.dark .stack-page__brand-icon--vercel,html.dark .stack-page__brand-icon--discogs,html.dark .stack-page__brand-icon--statsig{filter:brightness(0)invert()}html:not(.dark) .stack-page__brand-icon--sanity,html:not(.dark) .stack-page__brand-icon--tailwind{filter:brightness(0)}.stack-page__brand-cluster .stack-page__brand-icon+.stack-page__brand-icon{margin-left:-2px}.stack-page__tool-strip .stack-page__brand-icon,.stack-page__tool-strip .stack-page__icon{width:14px;height:14px}.stack-page__diagram{border:1px solid var(--rail-line);background:color-mix(in srgb, var(--page-text) 2%, transparent);border-radius:8px;margin-top:34px;overflow:hidden}.stack-page__diagram-head{border-bottom:1px solid var(--page-line);align-items:center;gap:12px;padding:16px 18px;display:flex}.stack-page__diagram-head span{color:var(--page-subtle);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:10px;display:block}.stack-page__diagram-head h3{color:var(--page-text);letter-spacing:0;margin:0;font-size:clamp(18px,2vw,26px);line-height:1.1}.stack-page__diagram--architecture{margin-top:28px}.stack-page__architecture{background-image:var(--divider-dot-pattern);background-size:var(--divider-dot-grid);min-height:392px;position:relative}.stack-page__diagram--architecture{overflow:hidden}.stack-page__diagram-note{border-top:1px solid var(--page-line);color:var(--page-muted);margin:0;padding:12px 18px;font-size:11px;line-height:1.55}.stack-page__categories{border:1px solid var(--rail-line);background:color-mix(in srgb, var(--page-text) 2%, transparent);border-radius:8px;margin-top:28px;overflow:hidden}.stack-page__category-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stack-page__category{border-right:1px solid var(--page-line);border-bottom:1px solid var(--page-line);background:color-mix(in srgb, var(--page-bg) 68%, transparent)}.stack-page__category:nth-child(2n){border-right:0}.stack-page__category:nth-last-child(-n+2){border-bottom:0}.stack-page__category summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:start;gap:14px;min-height:35px;padding:20px;list-style:none;display:grid}.stack-page__category summary::-webkit-details-marker{display:none}.stack-page__why summary::-webkit-details-marker{display:none}.stack-page__category summary:hover,.stack-page__category summary:focus-visible{background:color-mix(in srgb, var(--page-text) 4%, transparent);outline:none}.stack-page__category summary:after{content:"+";color:var(--page-muted);grid-area:1/3;font-size:16px;line-height:1}.stack-page__category[open] summary:after{content:"×"}.stack-page__category-icon{justify-content:center;align-items:center;padding-top:1px;display:inline-flex}.stack-page__category-copy{gap:8px;min-width:0;display:grid}.stack-page__category-copy span:first-child{color:var(--page-text);font-size:17px;line-height:1.15}.stack-page__category-copy span:last-child{max-width:34rem;color:var(--page-muted);font-size:12px;line-height:1.55}.stack-page__category-count{min-width:26px;color:var(--page-subtle);text-align:right;grid-area:1/3;font-size:10px;transform:translateY(24px)}.stack-page__category-body{gap:18px;padding:6px 20px 22px 68px;display:grid}.stack-page__tool-strip{flex-wrap:wrap;gap:7px;display:flex}.stack-page__tool-list{gap:13px;margin:0;padding:0;list-style:none;display:grid}.stack-page__tool-list li{border-left:2px solid var(--page-line);gap:5px;padding-left:12px;display:grid}.stack-page__tool-list strong{color:var(--page-text);font-size:12px}.stack-page__tool-list span{color:var(--page-muted);font-size:12px;line-height:1.55}.stack-page__why-list{gap:8px;display:grid}.stack-page__why{border:1px solid var(--page-line);background:color-mix(in srgb, var(--page-text) 2%, transparent);border-radius:7px;overflow:hidden}.stack-page__why summary{color:var(--page-text);cursor:pointer;padding:9px 10px;font-size:10px;list-style:none}.stack-page__why summary:after{content:"+";float:right;color:var(--page-muted)}.stack-page__why[open] summary:after{content:"×"}.stack-page__why>div{gap:8px;padding:0 10px 10px;display:grid}.stack-page__why p,.stack-page__why dd{color:var(--page-muted);margin:0;font-size:10px;line-height:1.45}.stack-page__why dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.stack-page__why dt{color:var(--page-subtle);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;font-size:8px}.stack-page__arch-node{border:1px solid var(--page-line);background:color-mix(in srgb, var(--page-bg) 92%, transparent);border-radius:6px;align-content:center;gap:6px;width:170px;min-height:66px;padding:12px;display:grid;position:absolute}.stack-page__arch-node strong{color:var(--page-text);font-size:12px}.stack-page__arch-node span{color:var(--page-muted);font-size:10px;line-height:1.35}.stack-page__arch-node--visitor{top:150px;left:28px}.stack-page__arch-node--app{top:150px;left:238px}.stack-page__arch-node--api{top:150px;left:448px}.stack-page__arch-node--content{top:36px;left:238px}.stack-page__arch-node--metrics{top:36px;left:448px}.stack-page__arch-node--external{top:150px;left:658px}.stack-page__arch-node--deploy{top:266px;left:238px}.stack-page__arch-node--tagging{top:266px;left:448px}.stack-page__arch-node--analytics{top:266px;left:658px}.stack-page__arch-edge{background:color-mix(in srgb, var(--page-text) 34%, transparent);height:1px;position:absolute}.stack-page__arch-edge:after{content:"";border-top:1px solid color-mix(in srgb, var(--page-text) 48%, transparent);border-right:1px solid color-mix(in srgb, var(--page-text) 48%, transparent);width:7px;height:7px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)rotate(45deg)}.stack-page__arch-edge--a{width:40px;top:183px;left:198px}.stack-page__arch-edge--b{width:40px;top:183px;left:408px}.stack-page__arch-edge--c{width:40px;top:183px;left:618px}.stack-page__arch-edge--d{width:40px;top:299px;left:618px}.stack-page__arch-edge--e{width:40px;top:299px;left:408px}.stack-page__icon{width:28px;height:28px;color:var(--page-text);opacity:.72;flex:none}@media (max-width:767px){.route-page--stack{--route-rail-width:calc(100vw - 36px);--route-rail-half:calc(var(--route-rail-width) / 2);background:var(--page-bg);padding:66px 0 0}.stack-page__inner{width:var(--route-rail-width);margin-inline:auto;padding:0 12px 36px}.stack-page__profile-box{min-height:188px;margin-inline:-12px;padding:24px 12px}.stack-page__inner>.works-page__section-break{margin-bottom:28px}.stack-page__summary{margin-top:22px;padding:14px 12px}.stack-page__summary-list{scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding-bottom:2px;overflow-x:auto}.stack-page__summary-list::-webkit-scrollbar{display:none}.stack-page__summary-list>span,.stack-page__tool-strip>span{flex:none;min-height:25px;padding:3px 8px;font-size:10px}.stack-page__diagram{margin-top:22px}.stack-page__diagram-head{gap:10px;padding:14px 12px}.stack-page__diagram-head h3{font-size:18px}.stack-page__architecture{gap:10px;min-height:0;padding:14px 12px;display:grid}.stack-page__arch-node{width:auto;min-height:0;padding:12px;position:static}.stack-page__arch-node--visitor{order:1}.stack-page__arch-node--app{order:2}.stack-page__arch-node--api{order:3}.stack-page__arch-node--content{order:4}.stack-page__arch-node--metrics{order:5}.stack-page__arch-node--tagging{order:6}.stack-page__arch-node--analytics{order:7}.stack-page__arch-node--external{order:8}.stack-page__arch-node--deploy{order:9}.stack-page__arch-edge{display:none}.stack-page__diagram-note{padding:12px;font-size:10px}.stack-page__categories{margin-top:22px}.stack-page__category-grid{grid-template-columns:1fr}.stack-page__category,.stack-page__category:nth-child(2n),.stack-page__category:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--page-line)}.stack-page__category:last-child{border-bottom:0}.stack-page__category summary{gap:10px;min-height:0;padding:14px 12px}.stack-page__category-icon{padding-top:0}.stack-page__category-copy{gap:5px}.stack-page__category-copy span:first-child{font-size:14px}.stack-page__category-copy span:last-child{font-size:10px;line-height:1.45}.stack-page__category-count{min-width:20px;font-size:9px;transform:translateY(20px)}.stack-page__category-body{gap:14px;padding:0 12px 16px 20px}.stack-page__tool-strip{scrollbar-width:none;flex-wrap:nowrap;padding-top:6px;padding-bottom:2px;overflow-x:auto}.stack-page__tool-strip::-webkit-scrollbar{display:none}.stack-page__tool-list{gap:10px}.stack-page__tool-list strong,.stack-page__tool-list span{font-size:11px}.stack-page__why summary{padding:10px 11px;font-size:11px}.stack-page__why>div{padding:5px 10px 10px}.stack-page__why p,.stack-page__why dd{font-size:11px;line-height:1.5}.stack-page__why dl{grid-template-columns:1fr}.stack-page__why dt{font-size:9px}}
