/* landing.css — self-hosted Tailwind utilities for the marketing pages
   (/, /about/, /contact/, /guide/). These pages previously loaded the Tailwind
   Play CDN — a ~350KB render-blocking JIT engine — to style a static page.
   This file is the exact CSS output of the utilities those four pages (plus
   landing.js / features.js runtime toggles) actually use, compiled ahead of
   time with standard Tailwind v3 semantics. Same approach as /legal/*.
   Loads BEFORE each page's inline <style> so page-specific overrides win. */

/* ── Mini-preflight: the slice of Tailwind's preflight these pages depend on ── */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}
body{margin:0;line-height:inherit}
hr{height:0;color:inherit;border-top-width:1px}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}
small{font-size:80%}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;background-color:transparent;background-image:none}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}
fieldset{margin:0;padding:0}
legend{padding:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}
button,[role="button"]{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
[hidden]{display:none}

/* ── Display ── */
.block{display:block}
.inline-block{display:inline-block}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}

/* ── Position / inset / z ── */
.absolute{position:absolute}
.relative{position:relative}
.sticky{position:sticky}
.top-0{top:0}
.top-24{top:6rem}
.top-full{top:100%}
.left-0{left:0}
.right-6{right:1.5rem}
.z-40{z-index:40}
.z-50{z-index:50}

/* ── Overflow / object ── */
.overflow-hidden{overflow:hidden}
.object-contain{object-fit:contain}

/* ── Flexbox / grid ── */
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gap-1\.5{gap:0.375rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-x-6{column-gap:1.5rem}
.gap-y-3{row-gap:0.75rem}

/* ── Margin ── */
.mx-auto{margin-left:auto;margin-right:auto}
.-m-2\.5{margin:-0.625rem}
.-m-3{margin:-0.75rem}
.-my-\[14px\]{margin-top:-14px;margin-bottom:-14px}

/* ── Space-between children ── */
.space-x-2>:not([hidden])~:not([hidden]){margin-left:0.5rem}
.space-x-3>:not([hidden])~:not([hidden]){margin-left:0.75rem}
.space-x-4>:not([hidden])~:not([hidden]){margin-left:1rem}
.space-x-6>:not([hidden])~:not([hidden]){margin-left:1.5rem}
.space-x-8>:not([hidden])~:not([hidden]){margin-left:2rem}
.space-y-1>:not([hidden])~:not([hidden]){margin-top:0.25rem}
.space-y-1\.5>:not([hidden])~:not([hidden]){margin-top:0.375rem}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:0.5rem}
.space-y-2\.5>:not([hidden])~:not([hidden]){margin-top:0.625rem}
.space-y-3>:not([hidden])~:not([hidden]){margin-top:0.75rem}
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}
.space-y-5>:not([hidden])~:not([hidden]){margin-top:1.25rem}
.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}
.space-y-8>:not([hidden])~:not([hidden]){margin-top:2rem}
.space-y-10>:not([hidden])~:not([hidden]){margin-top:2.5rem}
.space-y-12>:not([hidden])~:not([hidden]){margin-top:3rem}

/* ── Padding ── */
.p-2\.5{padding:0.625rem}
.p-3{padding:0.75rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-7{padding-left:1.75rem;padding-right:1.75rem}
.px-8{padding-left:2rem;padding-right:2rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-\[14px\]{padding-top:14px;padding-bottom:14px}
.pt-1{padding-top:0.25rem}
.pt-2{padding-top:0.5rem}
.pt-3{padding-top:0.75rem}
.pt-4{padding-top:1rem}
.pt-8{padding-top:2rem}
.pt-12{padding-top:3rem}
.pt-16{padding-top:4rem}
.pt-20{padding-top:5rem}
.pb-2{padding-bottom:0.5rem}
.pb-6{padding-bottom:1.5rem}
.pb-8{padding-bottom:2rem}
.pb-12{padding-bottom:3rem}
.pb-16{padding-bottom:4rem}
.pb-20{padding-bottom:5rem}
.pb-24{padding-bottom:6rem}

/* ── Sizing ── */
.w-full{width:100%}
.w-auto{width:auto}
.w-6{width:1.5rem}
.w-12{width:3rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-9{height:2.25rem}
.h-12{height:3rem}
.min-h-screen{min-height:100vh}
.min-h-\[44px\]{min-height:44px}
.max-w-sm{max-width:24rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}

/* ── Typography ── */
.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}
.font-bold{font-weight:700}
.font-black{font-weight:900}
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-\[9px\]{font-size:9px}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.leading-none{line-height:1}
.leading-relaxed{line-height:1.625}
.tracking-tighter{letter-spacing:-0.05em}
.tracking-tight{letter-spacing:-0.025em}
.tracking-wide{letter-spacing:0.025em}
.tracking-wider{letter-spacing:0.05em}
.tracking-widest{letter-spacing:0.1em}
.uppercase{text-transform:uppercase}
.underline{text-decoration-line:underline}
.text-left{text-align:left}
.text-center{text-align:center}
.break-all{word-break:break-all}

/* ── Colors ── */
.text-white{color:#fff}
.text-green-500{color:#22c55e}
.text-\[\#A855F7\]{color:#A855F7}
.text-\[var\(--bg\)\]{color:var(--bg)}
.text-\[var\(--fg\)\]{color:var(--fg)}
.text-\[var\(--accent\)\]{color:var(--accent)}
.bg-transparent{background-color:transparent}
.bg-\[\#A855F7\]{background-color:#A855F7}
.bg-\[\#A855F7\]\/10{background-color:rgb(168 85 247 / 0.1)}
.bg-\[var\(--bg\)\]{background-color:var(--bg)}
.bg-\[var\(--fg\)\]{background-color:var(--fg)}

/* ── Borders ── */
.border{border-width:1px}
.border-2{border-width:2px}
.border-current{border-color:currentColor}
.border-\[\#A855F7\]{border-color:#A855F7}
.border-\[\#A855F7\]\/30{border-color:rgb(168 85 247 / 0.3)}
.border-\[var\(--fg\)\]{border-color:var(--fg)}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}

/* ── Effects / filters ── */
.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25)}
.opacity-0{opacity:0}
.opacity-60{opacity:0.6}
.opacity-70{opacity:0.7}
.backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}

/* ── Transforms (Tailwind var pipeline so translate + scale compose) ── */
.transform,.-translate-y-1\/2,.hover\:scale-105:hover,.hover\:scale-\[1\.01\]:hover{
  --tw-translate-x:0;--tw-translate-y:0;--tw-scale-x:1;--tw-scale-y:1;
  transform:translate(var(--tw-translate-x),var(--tw-translate-y)) scale(var(--tw-scale-x),var(--tw-scale-y));
}
.-translate-y-1\/2{--tw-translate-y:-50%}
.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}
.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01}

/* ── Transitions ── */
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.duration-200{transition-duration:200ms}

/* ── Interactivity / SVG ── */
.cursor-pointer{cursor:pointer}
.select-none{-webkit-user-select:none;user-select:none}
.pointer-events-none{pointer-events:none}
.stroke-current{stroke:currentColor}

/* ── Hover / focus variants ── */
.hover\:underline:hover{text-decoration-line:underline}
.hover\:opacity-60:hover{opacity:0.6}
.hover\:bg-\[\#9333EA\]:hover{background-color:#9333EA}
.hover\:bg-\[var\(--fg\)\]:hover{background-color:var(--fg)}
.hover\:text-\[var\(--bg\)\]:hover{color:var(--bg)}
.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}

/* ── Selection variant ── */
.selection\:bg-\[\#A855F7\]\/30 *::selection{background-color:rgb(168 85 247 / 0.3)}
.selection\:bg-\[\#A855F7\]\/30::selection{background-color:rgb(168 85 247 / 0.3)}

/* ── sm: 640px ── */
@media (min-width:640px){
  .sm\:inline{display:inline}
  .sm\:flex-row{flex-direction:row}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:w-auto{width:auto}
  .sm\:text-base{font-size:1rem;line-height:1.5rem}
  .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .sm\:text-5xl{font-size:3rem;line-height:1}
  .sm\:text-6xl{font-size:3.75rem;line-height:1}
}

/* ── md: 768px ── */
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:hidden{display:none}
  .md\:col-span-2{grid-column:span 2 / span 2}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .md\:ml-auto{margin-left:auto}
  .md\:w-auto{width:auto}
}

/* ── lg: 1024px ── */
@media (min-width:1024px){
  .lg\:block{display:block}
  .lg\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}
}
