:root{--color-paper:oklch(96.8% 0.018 78);--color-paper-2:oklch(94.2% 0.02 76);--color-paper-3:oklch(91% 0.022 72);--color-rule:oklch(82% 0.02 70);--color-muted:oklch(48% 0.03 55);--color-ink:oklch(22% 0.03 48);--color-accent:oklch(46% 0.13 32);--color-accent-ink:oklch(96.8% 0.018 78);--color-success:oklch(40% 0.1 155);--color-danger:oklch(45% 0.12 25);--color-focus:oklch(50% 0.14 32);--font-display:"Cormorant Garamond","Palatino Linotype",serif;--font-body:"Newsreader","Iowan Old Style",serif;--font-outlier:"IBM Plex Mono",ui-monospace,monospace;--space-3xs:0.125rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-sm:0.95rem;--text-md:1.05rem;--text-lg:1.35rem;--text-xl:2rem;--text-display:3.4rem;--ease-out:cubic-bezier(0.16,1,0.3,1);--dur-md:280ms;--rule:1px solid var(--color-rule);--radius:2px;--page-gutter:clamp(1.1rem,4vw,3rem)}@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,600;1,6..72,400&display=swap");body,html{overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);margin:0}*{box-sizing:border-box}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-style:normal;font-weight:600;letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0}.nav-edge{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--page-gutter);border-bottom:var(--rule)}.wordmark{font-size:var(--text-sm);letter-spacing:.16em}.cta,.wordmark{font-family:var(--font-outlier);text-transform:uppercase}.cta{border:1px solid var(--color-ink);padding:.55rem .9rem;font-size:.78rem;letter-spacing:.08em;background:transparent;color:var(--color-ink);cursor:pointer}.cta.is-hover,.cta:hover{background:var(--color-ink);color:var(--color-paper)}.cta.is-focus,.cta:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.cta.is-active,.cta:active{transform:translateY(1px)}.cta.is-disabled,.cta:disabled{opacity:.45;cursor:not-allowed}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-gap:var(--space-xl);gap:var(--space-xl);padding:var(--space-2xl) var(--page-gutter) var(--space-xl);align-items:end}.hero h1{font-size:clamp(2.4rem,6vw,var(--text-display));line-height:.95;margin:0;max-width:12ch}.lede{max-width:42ch;font-size:var(--text-lg);line-height:1.45}.catalogue{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));grid-gap:0;gap:0;border-top:var(--rule)}.card{padding:var(--space-lg);border-right:var(--rule);border-bottom:var(--rule);min-width:0}.card b{display:block;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.card span{color:var(--color-muted);font-size:var(--text-sm)}.plans{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:var(--space-xl);gap:var(--space-xl);padding:var(--space-3xl) var(--page-gutter)}.foot-letter{padding:var(--space-2xl) var(--page-gutter) var(--space-3xl);max-width:60ch}.foot-letter__close{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.4}.shell{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);min-height:100dvh}.rail{border-right:var(--rule);padding:var(--space-lg)}.panel{padding:var(--space-xl)}.stat{font-family:var(--font-display);font-size:var(--text-xl)}input{width:100%;margin:0 0 var(--space-sm);padding:.7rem .8rem;border:1px solid var(--color-rule);background:var(--color-paper);font:inherit}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.55rem 0;border-bottom:var(--rule);font-size:var(--text-sm)}@media (max-width:768px){.hero,.plans,.shell{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:opacity .15s linear!important}}.site-masthead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-height:84px;padding:var(--space-sm) var(--page-gutter);border-bottom:var(--rule)}.brand-lockup{display:inline-flex;align-items:center;gap:var(--space-sm);min-width:0}.brand-lockup span,.site-footer>span{font-family:var(--font-outlier);font-size:var(--text-sm);letter-spacing:.16em}.site-masthead nav{display:flex;gap:var(--space-lg);align-items:center}.site-masthead nav a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.quiet-link:hover,.site-footer a:hover,.site-masthead nav a:hover{text-decoration:underline;text-underline-offset:5px}.showcase-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;grid-gap:var(--space-xl);gap:var(--space-xl);min-height:min(780px,88dvh);padding:var(--space-xl) var(--page-gutter) var(--space-2xl);max-width:1440px;margin-inline:auto}.showcase-copy{max-width:670px}.eyebrow{font-family:var(--font-outlier);color:var(--color-accent);letter-spacing:.09em;text-transform:uppercase;font-size:.77rem}.showcase-copy h1{font-size:clamp(3rem,6.8vw,7.1rem);line-height:.91;margin:var(--space-md) 0 var(--space-lg);max-width:10ch}.showcase-lede{max-width:42ch;font-size:clamp(1.12rem,1.8vw,1.38rem);line-height:1.42}.showcase-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}.showcase-actions .cta{min-height:48px;gap:var(--space-md)}.quiet-link,.showcase-actions .cta{display:inline-flex;align-items:center}.quiet-link{min-height:44px;white-space:nowrap}.showcase-preview{margin:0;display:grid;place-items:center;align-self:stretch;min-width:0}.showcase-preview img{width:min(100%,355px);height:min(680px,72dvh);object-fit:contain}.showcase-preview figcaption{color:var(--color-muted);font-size:.82rem;text-align:center}.workbench-section{padding:var(--space-3xl) var(--page-gutter);background:var(--color-paper-2);color:var(--color-ink)}.workbench-intro{max-width:720px;margin-bottom:var(--space-2xl)}.install-section h2,.workbench-intro h2{font-size:clamp(2.3rem,5vw,4.4rem);line-height:.98;margin:0 0 var(--space-md)}.install-section p,.workbench-intro p{max-width:52ch;font-size:var(--text-lg);line-height:1.4}.workbench-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--rule)}.workbench-flow article{min-width:0;padding:var(--space-lg) var(--space-lg) var(--space-lg) 0;border-right:var(--rule)}.workbench-flow article+article{padding-left:var(--space-lg)}.workbench-flow article:last-child{border-right:0}.workbench-flow span{color:var(--color-accent);font-family:var(--font-outlier);font-size:.78rem}.workbench-flow h3{font-size:var(--text-xl);line-height:1;margin:var(--space-lg) 0 var(--space-sm)}.workbench-flow p{color:var(--color-muted);max-width:32ch;line-height:1.4}.install-section{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-gap:var(--space-2xl);gap:var(--space-2xl);align-items:center;padding:var(--space-3xl) var(--page-gutter)}.install-options{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm)}.install-action{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:74px;border:var(--rule);padding:var(--space-sm) var(--space-md)}.install-action>span:first-child{grid-column:1;color:var(--color-muted);font-size:.8rem}.install-action strong{grid-column:1;font-family:var(--font-display);font-size:1.5rem;line-height:1}.install-action>span:last-child{grid-column:2;grid-row:1/3;font-size:1.3rem}.install-action:not(.install-action--pending):hover{background:var(--color-paper-2)}.install-action--pending{opacity:.65;cursor:not-allowed}.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-lg);padding:var(--space-xl) var(--page-gutter);border-top:var(--rule)}.site-footer p{margin:0}.site-footer a{min-height:44px;display:inline-flex;align-items:center}:where(a,button,input,select):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media (max-width:768px){.site-masthead{min-height:68px}.site-masthead nav{gap:var(--space-sm)}.site-masthead nav a:first-child{display:none}.showcase-hero{min-height:0;gap:var(--space-md);padding-block:var(--space-xl)}.showcase-copy h1{font-size:clamp(2.25rem,8vw,3.8rem)}.showcase-preview img{height:340px}.workbench-flow{grid-template-columns:minmax(0,1fr)}.workbench-flow article,.workbench-flow article+article{padding:var(--space-lg) 0;border-right:0;border-bottom:var(--rule)}.install-section{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.site-masthead nav a:nth-child(2){display:none}.showcase-hero{grid-template-columns:minmax(0,1fr) minmax(0,.52fr);grid-template-areas:"eyebrow preview" "title preview" "lede lede" "actions actions";align-items:start}.showcase-copy{display:contents}.showcase-copy .eyebrow{grid-area:eyebrow;align-self:end;margin-bottom:0}.showcase-copy h1{grid-area:title;margin:var(--space-sm) 0 0;font-size:clamp(2.1rem,8vw,2.8rem)}.showcase-lede{grid-area:lede;margin:0}.showcase-actions{grid-area:actions;margin-top:0}.showcase-preview{grid-area:preview;align-self:start}.showcase-preview img{width:100%;height:250px}.showcase-preview figcaption{font-size:.66rem}.site-footer{display:grid}}.shell:has(.admin-nav){grid-template-columns:minmax(0,244px) minmax(0,1fr);background:var(--color-paper)}.shell:has(.admin-nav) .rail{display:flex;flex-direction:column;gap:var(--space-xl);background:var(--color-paper-2);padding:var(--space-lg) var(--space-md)}.admin-nav{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs)}.admin-nav button{text-align:left;text-transform:capitalize;border:0;background:transparent;color:var(--color-ink);padding:var(--space-sm) var(--space-md);font:inherit;min-height:44px;cursor:pointer}.admin-nav button.is-active{background:var(--color-ink);color:var(--color-paper)}.admin-nav button:not(.is-active):hover{background:var(--color-paper-3)}.admin-rail-links{margin-top:auto;display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);padding-inline:var(--space-md)}.admin-rail-links a{min-height:44px;display:flex;align-items:center}.shell:has(.admin-nav) .panel{min-width:0;padding:var(--space-xl) clamp(1rem,3vw,3rem)}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:var(--rule);margin-bottom:var(--space-lg)}.admin-heading p{margin:0}.admin-heading .eyebrow{margin-bottom:var(--space-xs)}.admin-heading button,.admin-row-actions button,.shell:has(.admin-nav) button:not(.admin-nav button):not(.admin-text-button){cursor:pointer}.admin-heading button{border:var(--rule);background:var(--color-paper);padding:var(--space-sm);white-space:nowrap;min-height:44px}.admin-notice{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);background:var(--color-paper-3);color:var(--color-ink);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg)}.admin-notice button{border:0;background:transparent;font-size:1.2rem;min-width:44px;min-height:44px}.shell:has(.admin-nav) h1{font-size:clamp(2.6rem,4vw,4.5rem);line-height:1;margin:0 0 var(--space-sm)}.shell:has(.admin-nav) h2{font-size:1.7rem;margin-top:var(--space-xl)}.admin-section-lede{color:var(--color-muted);max-width:70ch;margin:0 0 var(--space-lg)}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-sm);gap:var(--space-sm);margin-bottom:var(--space-xl)}.admin-stat{border:var(--rule);min-height:142px;padding:var(--space-lg);display:flex;flex-direction:column;justify-content:space-between;background:var(--color-paper-2);color:var(--color-ink)}.admin-stat span{font-size:.86rem;color:var(--color-muted)}.admin-stat strong{font-family:var(--font-display);font-size:clamp(2.5rem,4vw,4rem);line-height:1;font-weight:600}.admin-search{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs);font-size:.85rem;margin-bottom:var(--space-md);width:min(100%,340px)}.admin-search input,.admin-search select{width:100%;height:44px;margin:0;padding:0 var(--space-sm);border:var(--rule);background:var(--color-paper);color:var(--color-ink);font:inherit}.admin-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.admin-table-scroll{width:100%;overflow-x:auto;border-top:var(--rule)}.admin-table-scroll table{min-width:780px}.shell:has(.admin-nav) th{font-family:var(--font-body);color:var(--color-muted);font-weight:400;font-size:.79rem;white-space:nowrap}.shell:has(.admin-nav) td,.shell:has(.admin-nav) th{padding:var(--space-sm) var(--space-sm) var(--space-sm) 0;vertical-align:middle}.shell:has(.admin-nav) td small{display:block;color:var(--color-muted);margin-top:var(--space-3xs)}.admin-text-button{padding:0;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;color:var(--color-ink);font:inherit;cursor:pointer}.admin-status{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-sm);border:var(--rule);color:var(--color-danger);font-size:.8rem;text-transform:capitalize}.admin-status--active{color:var(--color-success)}.admin-row-actions{display:flex;gap:var(--space-xs);white-space:nowrap}.admin-row-actions button{min-height:36px;border:var(--rule);background:var(--color-paper);padding:0 var(--space-sm);font:inherit}.admin-heading button:hover,.admin-row-actions button:hover{background:var(--color-paper-3)}.admin-account-control{border:var(--rule);background:var(--color-paper-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);margin:var(--space-lg) 0}.admin-account-control p{color:var(--color-muted);margin:var(--space-xs) 0 0}.admin-account-control button{min-height:44px;background:var(--color-paper);border:var(--rule);padding:0 var(--space-md);white-space:nowrap}.shell:has(.admin-nav) button:disabled,.shell:has(.admin-nav) input:disabled{opacity:.55;cursor:not-allowed}.shell:has(.admin-nav) input:focus-visible,.shell:has(.admin-nav) select:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}@media (max-width:900px){.shell:has(.admin-nav){grid-template-columns:minmax(0,1fr)}.shell:has(.admin-nav) .rail{border-right:0;border-bottom:var(--rule);gap:var(--space-sm)}.admin-nav{display:flex;overflow-x:auto}.admin-nav button{white-space:nowrap}.admin-rail-links{display:flex;margin-top:0;gap:var(--space-lg)}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.admin-heading{align-items:flex-start;flex-direction:column}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat{min-height:118px;padding:var(--space-md)}.admin-stat strong{font-size:2.4rem}.admin-account-control{align-items:stretch;flex-direction:column}}