/* vorstellig.de · statisches Tailwind-Subset. Ersetzt das Laufzeit-CDN
   (cdn.tailwindcss.com), das in Safari/Content-Blockern ausfallen kann und
   offline (PWA) nie verfuegbar war. Enthaelt die Preflight-Basics und EXAKT
   die im Frontend genutzten Core-Utilities. Neue Tailwind-Klasse im JSX?
   Erst hier ergaenzen; `node tw-check.mjs` prueft die Abdeckung. */

/* --- Preflight (Basis-Reset, kompatibel zum bisherigen CDN-Verhalten) --- */
*,::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%;tab-size:4}
body{margin:0;line-height:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p,blockquote,figure,hr{margin:0}
ol,ul{list-style:none;margin:0;padding:0}
img,svg,video,canvas,iframe{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
small{font-size:80%}
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=submit],[type=reset]{-webkit-appearance:button;background-color:transparent;background-image:none}
:disabled{cursor:default}
table{border-collapse:collapse;border-spacing:0;text-indent:0}

/* --- Layout --- */
.absolute{position:absolute}
.relative{position:relative}
.sticky{position:sticky}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-0{top:0}
.z-10{z-index:10}
.hidden{display:none}
.flex{display:flex}
.inline-flex{display:inline-flex}

/* --- Flexbox --- */
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.flex-shrink-0{flex-shrink:0}
.shrink-0{flex-shrink:0}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.items-center{align-items:center}
.items-baseline{align-items:baseline}
.items-stretch{align-items:stretch}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.justify-end{justify-content:flex-end}
.gap-1{gap:.25rem}
.gap-1\.5{gap:.375rem}
.gap-2{gap:.5rem}
.gap-2\.5{gap:.625rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}

/* --- Abstaende / Groessen --- */
.mx-auto{margin-left:auto;margin-right:auto}
.ml-auto{margin-left:auto}
.mt-3{margin-top:.75rem}
.min-w-0{min-width:0}
.w-full{width:100%}

/* --- Rundungen --- */
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}

/* --- Text --- */
.text-left{text-align:left}
.text-center{text-align:center}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.uppercase{text-transform:uppercase}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- Sonstiges --- */
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}

/* --- Responsive Varianten (Tailwind-Breakpoints) --- */
@media (min-width:640px){
  .sm\:block{display:block}
  .sm\:inline-flex{display:inline-flex}
}
@media (min-width:768px){
  .md\:flex{display:flex}
}
@media (min-width:1024px){
  .lg\:inline-flex{display:inline-flex}
}
