/* tw-lite.css
   Minimal Tailwind-like utility subset used in this site.
   Goal: keep existing HTML class attributes working without loading Tailwind (JS/CDN).
*/

:root{
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-bg-opacity: 1;
  --tw-text-opacity: 1;
  --tw-border-opacity: 1;
  --tw-divide-opacity: 1;
  --tw-backdrop-blur: ;
  --tw-drop-shadow: ;
}

*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}
body{margin:0;line-height:inherit}
a{color:inherit;text-decoration:inherit}
button,input,select,textarea{font:inherit;color:inherit;margin:0;padding:0}
button{background:transparent}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
table{border-collapse:collapse}

.border-collapse{border-collapse:collapse}
.table-fixed{table-layout:fixed}

/* Layout & display */
.block{display:block}
.hidden{display:none}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.inline-block{display:inline-block}

.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.flex-wrap{flex-wrap:wrap}
.flex-1{flex:1 1 0%}
.flex-grow{flex-grow:1}
.flex-none{flex:none}
.flex-shrink-0{flex-shrink:0}
.shrink-0{flex-shrink:0}

.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}

.gap-1{gap:0.25rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-x-6{column-gap:1.5rem}
.gap-y-4{row-gap:1rem}

.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}

/* Positioning */
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.sticky{position:sticky}
.inset-0{inset:0}
.top-0{top:0}
.top-3{top:0.75rem}
.top-20{top:5rem}
.-top-2{top:-0.5rem}
.bottom-0{bottom:0}
.bottom-2{bottom:0.5rem}
.bottom-4{bottom:1rem}
.bottom-8{bottom:2rem}
.left-0{left:0}
.left-3{left:0.75rem}
.-left-3{left:-0.75rem}
.right-0{right:0}
.right-2{right:0.5rem}
.-right-2{right:-0.5rem}
.right-4{right:1rem}
.right-8{right:2rem}
.z-0{z-index:0}
.z-10{z-index:10}
.z-20{z-index:20}
.z-30{z-index:30}
.z-50{z-index:50}

/* Sizing */
.w-0{width:0}
.w-2{width:0.5rem}
.w-3{width:0.75rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-7{width:1.75rem}
.w-8{width:2rem}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-16{width:4rem}
.w-24{width:6rem}
.w-28{width:7rem}
.w-64{width:16rem}
.w-72{width:18rem}
.w-full{width:100%}
.w-1\/3{width:33.333333%}
.w-2\/3{width:66.666667%}
.w-1\/4{width:25%}
.w-1\/5{width:20%}
.w-\[320px\]{width:320px}
.w-\[5\%\]{width:5%}
.w-\[10\%\]{width:10%}
.w-\[15\%\]{width:15%}
.w-\[20\%\]{width:20%}
.w-\[30\%\]{width:30%}
.w-\[40\%\]{width:40%}
.w-\[55\%\]{width:55%}
.w-\[70\%\]{width:70%}

.h-2{height:0.5rem}
.h-3{height:0.75rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-20{height:5rem}
.h-32{height:8rem}
.h-fit{height:fit-content}
.h-full{height:100%}
.h-screen{height:100vh}

.max-w-full{max-width:100%}
.max-w-lg{max-width:32rem}
.max-w-md{max-width:28rem}
.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-7xl{max-width:80rem}

.max-h-full{max-height:100%}
.max-h-\[600px\]{max-height:600px}
.max-h-\[90vh\]{max-height:90vh}

.min-h-screen{min-height:100vh}
.min-h-\[1\.5em\]{min-height:1.5em}
.min-w-full{min-width:100%}
.min-w-\[200px\]{min-width:200px}
.min-w-\[320px\]{min-width:320px}
.min-w-\[900px\]{min-width:900px}

/* Spacing */
.mx-auto{margin-left:auto;margin-right:auto}
.my-4{margin-top:1rem;margin-bottom:1rem}
.mt-auto{margin-top:auto}

.mt-0\.5{margin-top:0.125rem}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}

.mb-1{margin-bottom:0.25rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mb-24{margin-bottom:6rem}

.ml-2{margin-left:0.5rem}
.ml-3{margin-left:0.75rem}
.ml-6{margin-left:1.5rem}
.mr-1{margin-right:0.25rem}
.mr-2{margin-right:0.5rem}
.mr-3{margin-right:0.75rem}
.mr-4{margin-right:1rem}

.p-1{padding:0.25rem}
.p-2{padding:0.5rem}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.p-10{padding:2.5rem}
.p-12{padding:3rem}

.px-2{padding-left:0.5rem;padding-right:0.5rem}
.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-8{padding-left:2rem;padding-right:2rem}

.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}
.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-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-20{padding-top:5rem;padding-bottom:5rem}

.pt-2{padding-top:0.5rem}
.pt-3{padding-top:0.75rem}
.pt-4{padding-top:1rem}
.pt-6{padding-top:1.5rem}
.pb-1{padding-bottom:0.25rem}
.pb-2{padding-bottom:0.5rem}
.pb-4{padding-bottom:1rem}
.pb-8{padding-bottom:2rem}
.pl-3{padding-left:0.75rem}
.pl-5{padding-left:1.25rem}
.pl-8{padding-left:2rem}
.pr-3{padding-right:0.75rem}
.pr-4{padding-right:1rem}
.pr-8{padding-right:2rem}

.first\:pt-0:first-child{padding-top:0}

.space-x-2> :not([hidden])~:not([hidden]){margin-left:0.5rem}
.space-x-4> :not([hidden])~:not([hidden]){margin-left:1rem}
.space-y-0\.5> :not([hidden])~:not([hidden]){margin-top:0.125rem}
.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-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-12> :not([hidden])~:not([hidden]){margin-top:3rem}

/* Typography */
.font-normal{font-weight:400}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}

.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-5xl{font-size:3rem;line-height:1}
.text-\[10px\]{font-size:10px;line-height:14px}
.text-\[11px\]{font-size:11px;line-height:16px}

.leading-tight{line-height:1.25}
.leading-relaxed{line-height:1.625}
.tracking-tight{letter-spacing:-0.025em}
.tracking-wider{letter-spacing:0.05em}
.uppercase{text-transform:uppercase}
.underline{text-decoration-line:underline}
.hover\:underline:hover{text-decoration-line:underline}
.line-through{text-decoration-line:line-through}

.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}

.list-disc{list-style-type:disc}
.list-decimal{list-style-type:decimal}
.list-inside{list-style-position:inside}

.break-all{word-break:break-all}
.whitespace-nowrap{white-space:nowrap}

.align-top{vertical-align:top}
.align-super{vertical-align:super}

.tabular-nums{font-variant-numeric:tabular-nums}

/* Colors (Tailwind default palette subset) */
.text-white{color:rgb(255 255 255 / var(--tw-text-opacity))}
.text-black{color:rgb(0 0 0 / var(--tw-text-opacity))}
.text-slate-100{color:rgb(241 245 249 / var(--tw-text-opacity))}
.text-slate-200{color:rgb(226 232 240 / var(--tw-text-opacity))}
.text-slate-300{color:rgb(203 213 225 / var(--tw-text-opacity))}
.text-slate-400{color:rgb(148 163 184 / var(--tw-text-opacity))}
.text-slate-500{color:rgb(100 116 139 / var(--tw-text-opacity))}
.text-slate-600{color:rgb(71 85 105 / var(--tw-text-opacity))}
.text-slate-700{color:rgb(51 65 85 / var(--tw-text-opacity))}

.text-gray-300{color:rgb(209 213 219 / var(--tw-text-opacity))}
.text-gray-400{color:rgb(156 163 175 / var(--tw-text-opacity))}
.text-gray-500{color:rgb(107 114 128 / var(--tw-text-opacity))}
.text-gray-600{color:rgb(75 85 99 / var(--tw-text-opacity))}
.text-gray-700{color:rgb(55 65 81 / var(--tw-text-opacity))}
.text-gray-800{color:rgb(31 41 55 / var(--tw-text-opacity))}
.text-gray-900{color:rgb(17 24 39 / var(--tw-text-opacity))}

.text-blue-200{color:rgb(191 219 254 / var(--tw-text-opacity))}
.text-blue-600{color:rgb(37 99 235 / var(--tw-text-opacity))}
.text-blue-700{color:rgb(29 78 216 / var(--tw-text-opacity))}
.text-blue-800{color:rgb(30 64 175 / var(--tw-text-opacity))}

.text-indigo-200{color:rgb(199 210 254 / var(--tw-text-opacity))}
.text-indigo-300{color:rgb(165 180 252 / var(--tw-text-opacity))}
.text-indigo-400{color:rgb(129 140 248 / var(--tw-text-opacity))}
.text-indigo-500{color:rgb(99 102 241 / var(--tw-text-opacity))}
.text-indigo-600{color:rgb(79 70 229 / var(--tw-text-opacity))}

.text-emerald-400{color:rgb(52 211 153 / var(--tw-text-opacity))}
.text-green-300{color:rgb(134 239 172 / var(--tw-text-opacity))}
.text-green-400{color:rgb(74 222 128 / var(--tw-text-opacity))}
.text-green-800{color:rgb(22 101 52 / var(--tw-text-opacity))}

.text-teal-200{color:rgb(153 246 228 / var(--tw-text-opacity))}
.text-teal-300{color:rgb(94 234 212 / var(--tw-text-opacity))}
.text-teal-400{color:rgb(45 212 191 / var(--tw-text-opacity))}

.text-amber-200{color:rgb(253 230 138 / var(--tw-text-opacity))}
.text-yellow-400{color:rgb(250 204 21 / var(--tw-text-opacity))}
.text-yellow-800{color:rgb(133 77 14 / var(--tw-text-opacity))}

.text-purple-300{color:rgb(216 180 254 / var(--tw-text-opacity))}

.text-red-200{color:rgb(254 202 202 / var(--tw-text-opacity))}
.text-red-300{color:rgb(252 165 165 / var(--tw-text-opacity))}
.text-red-400{color:rgb(248 113 113 / var(--tw-text-opacity))}
.text-red-500{color:rgb(239 68 68 / var(--tw-text-opacity))}
.text-red-600{color:rgb(220 38 38 / var(--tw-text-opacity))}

.bg-white{background-color:rgb(255 255 255 / var(--tw-bg-opacity))}
.bg-black{background-color:rgb(0 0 0 / var(--tw-bg-opacity))}
.bg-gray-50{background-color:rgb(249 250 251 / var(--tw-bg-opacity))}
.bg-gray-100{background-color:rgb(243 244 246 / var(--tw-bg-opacity))}
.bg-gray-200{background-color:rgb(229 231 235 / var(--tw-bg-opacity))}
.bg-gray-600{background-color:rgb(75 85 99 / var(--tw-bg-opacity))}
.bg-gray-800{background-color:rgb(31 41 55 / var(--tw-bg-opacity))}

.bg-slate-50{background-color:rgb(248 250 252 / var(--tw-bg-opacity))}
.bg-slate-700{background-color:rgb(51 65 85 / var(--tw-bg-opacity))}
.bg-slate-800{background-color:rgb(30 41 59 / var(--tw-bg-opacity))}
.bg-slate-900{background-color:rgb(15 23 42 / var(--tw-bg-opacity))}

.bg-blue-50{background-color:rgb(239 246 255 / var(--tw-bg-opacity))}
.bg-blue-500{background-color:rgb(59 130 246 / var(--tw-bg-opacity))}
.bg-blue-600{background-color:rgb(37 99 235 / var(--tw-bg-opacity))}
.bg-blue-700{background-color:rgb(29 78 216 / var(--tw-bg-opacity))}

.bg-indigo-600{background-color:rgb(79 70 229 / var(--tw-bg-opacity))}
.bg-indigo-900{background-color:rgb(49 46 129 / var(--tw-bg-opacity))}
.bg-emerald-500{background-color:rgb(16 185 129 / var(--tw-bg-opacity))}
.bg-red-600{background-color:rgb(220 38 38 / var(--tw-bg-opacity))}

/* opacity helpers */
.bg-opacity-50{--tw-bg-opacity:0.5}
.bg-opacity-75{--tw-bg-opacity:0.75}

/* Slash-opacity background colors */
.bg-black\/30{background-color:rgb(0 0 0 / 0.3)}
.bg-black\/80{background-color:rgb(0 0 0 / 0.8)}
.bg-white\/10{background-color:rgb(255 255 255 / 0.1)}
.bg-white\/90{background-color:rgb(255 255 255 / 0.9)}
.bg-slate-800\/40{background-color:rgb(30 41 59 / 0.4)}
.bg-slate-800\/50{background-color:rgb(30 41 59 / 0.5)}
.bg-slate-800\/60{background-color:rgb(30 41 59 / 0.6)}
.bg-slate-900\/30{background-color:rgb(15 23 42 / 0.3)}
.bg-slate-900\/40{background-color:rgb(15 23 42 / 0.4)}
.bg-slate-900\/50{background-color:rgb(15 23 42 / 0.5)}
.bg-slate-900\/70{background-color:rgb(15 23 42 / 0.7)}
.bg-slate-900\/80{background-color:rgb(15 23 42 / 0.8)}
.bg-slate-950\/30{background-color:rgb(2 6 23 / 0.3)}
.bg-red-900\/20{background-color:rgb(127 29 29 / 0.2)}
.bg-red-900\/50{background-color:rgb(127 29 29 / 0.5)}
.bg-green-900\/30{background-color:rgb(20 83 45 / 0.3)}
.bg-indigo-900\/30{background-color:rgb(49 46 129 / 0.3)}
.bg-indigo-900\/50{background-color:rgb(49 46 129 / 0.5)}
.bg-purple-900\/50{background-color:rgb(88 28 135 / 0.5)}
.bg-teal-900\/50{background-color:rgb(19 78 74 / 0.5)}
.bg-amber-500\/10{background-color:rgb(245 158 11 / 0.1)}

/* Borders */
.border{border-width:1px}
.border-2{border-width:2px}
.border-b{border-bottom-width:1px}
.border-t{border-top-width:1px}
.border-l{border-left-width:1px}
.border-r{border-right-width:1px}
.border-b-2{border-bottom-width:2px}
.border-t-2{border-top-width:2px}
.border-l-4{border-left-width:4px}
.border-dashed{border-style:dashed}

.border-gray-100{border-color:rgb(243 244 246 / var(--tw-border-opacity))}
.border-gray-200{border-color:rgb(229 231 235 / var(--tw-border-opacity))}
.border-gray-300{border-color:rgb(209 213 219 / var(--tw-border-opacity))}
.border-gray-400{border-color:rgb(156 163 175 / var(--tw-border-opacity))}
.border-gray-800{border-color:rgb(31 41 55 / var(--tw-border-opacity))}

.border-blue-200{border-color:rgb(191 219 254 / var(--tw-border-opacity))}
.border-blue-300{border-color:rgb(147 197 253 / var(--tw-border-opacity))}
.border-blue-600{border-color:rgb(37 99 235 / var(--tw-border-opacity))}

.border-slate-500{border-color:rgb(100 116 139 / var(--tw-border-opacity))}
.border-slate-600{border-color:rgb(71 85 105 / var(--tw-border-opacity))}
.border-slate-700{border-color:rgb(51 65 85 / var(--tw-border-opacity))}
.border-slate-800{border-color:rgb(30 41 59 / var(--tw-border-opacity))}
.border-slate-700\/50{border-color:rgb(51 65 85 / 0.5)}
.border-slate-800\/60{border-color:rgb(30 41 59 / 0.6)}
.border-slate-800\/70{border-color:rgb(30 41 59 / 0.7)}

.border-white\/10{border-color:rgb(255 255 255 / 0.1)}
.border-amber-700\/40{border-color:rgb(180 83 9 / 0.4)}
.border-green-600{border-color:rgb(22 163 74 / var(--tw-border-opacity))}
.border-green-500\/30{border-color:rgb(34 197 94 / 0.3)}
.border-indigo-500\/30{border-color:rgb(99 102 241 / 0.3)}
.border-purple-500\/50{border-color:rgb(168 85 247 / 0.5)}
.border-red-500\/30{border-color:rgb(239 68 68 / 0.3)}
.border-red-500\/50{border-color:rgb(239 68 68 / 0.5)}
.border-yellow-500\/30{border-color:rgb(234 179 8 / 0.3)}
.border-teal-700{border-color:rgb(15 118 110 / var(--tw-border-opacity))}

.rounded{border-radius:0.25rem}
.rounded-md{border-radius:0.375rem}
.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}

/* Dividers */
.divide-y> :not([hidden])~:not([hidden]){border-top-width:1px;border-top-style:solid;border-top-color:rgb(229 231 235 / var(--tw-divide-opacity))}
.divide-gray-100{--tw-divide-opacity:1}
.divide-gray-200{--tw-divide-opacity:1}
.divide-slate-700{--tw-divide-opacity:1}
.divide-gray-100.divide-y> :not([hidden])~:not([hidden]){border-top-color:rgb(243 244 246 / var(--tw-divide-opacity))}
.divide-gray-200.divide-y> :not([hidden])~:not([hidden]){border-top-color:rgb(229 231 235 / var(--tw-divide-opacity))}
.divide-slate-700.divide-y> :not([hidden])~:not([hidden]){border-top-color:rgb(51 65 85 / var(--tw-divide-opacity))}

/* Effects */
.opacity-0{opacity:0}
.opacity-20{opacity:0.2}
.opacity-60{opacity:0.6}
.opacity-80{opacity:0.8}

.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-black\/50{--tw-shadow:0 25px 50px -12px rgb(0 0 0 / 0.5);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-indigo-500\/10{--tw-shadow:0 10px 30px rgb(99 102 241 / 0.1);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-indigo-500\/20{--tw-shadow:0 10px 30px rgb(99 102 241 / 0.2);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-indigo-500\/30{--tw-shadow:0 10px 30px rgb(99 102 241 / 0.3);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-red-900\/10{--tw-shadow:0 10px 30px rgb(127 29 29 / 0.1);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}

.drop-shadow-2xl{filter:drop-shadow(0 25px 25px rgb(0 0 0 / 0.15))}

.backdrop-blur{backdrop-filter:blur(8px)}
.backdrop-blur-lg{backdrop-filter:blur(16px)}

/* Transforms */
.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.translate-y-6{--tw-translate-y:1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.translate-y-20{--tw-translate-y:5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.scale-0{--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.active\:scale-95:active{--tw-scale-x:0.95;--tw-scale-y:0.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.group-open\:rotate-180{--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.group[open] .group-open\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}

/* Transitions */
.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(0.4,0,0.2,1);transition-duration:150ms}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.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}
.duration-300{transition-duration:300ms}
.duration-500{transition-duration:500ms}
.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}

/* Interactions */
.cursor-pointer{cursor:pointer}
.pointer-events-none{pointer-events:none}
.select-none{user-select:none}
.resize-none{resize:none}

.hover\:text-white:hover{color:rgb(255 255 255 / var(--tw-text-opacity))}
.hover\:text-slate-400:hover{color:rgb(148 163 184 / var(--tw-text-opacity))}
.hover\:text-gray-800:hover{color:rgb(31 41 55 / var(--tw-text-opacity))}
.hover\:text-blue-800:hover{color:rgb(30 64 175 / var(--tw-text-opacity))}
.hover\:text-indigo-300:hover{color:rgb(165 180 252 / var(--tw-text-opacity))}
.hover\:text-indigo-700:hover{color:rgb(67 56 202 / var(--tw-text-opacity))}
.hover\:text-indigo-800:hover{color:rgb(55 48 163 / var(--tw-text-opacity))}

.hover\:bg-gray-50:hover{background-color:rgb(249 250 251 / var(--tw-bg-opacity))}
.hover\:bg-gray-100:hover{background-color:rgb(243 244 246 / var(--tw-bg-opacity))}
.hover\:bg-gray-300:hover{background-color:rgb(209 213 219 / var(--tw-bg-opacity))}
.hover\:bg-gray-900:hover{background-color:rgb(17 24 39 / var(--tw-bg-opacity))}
.hover\:bg-blue-50:hover{background-color:rgb(239 246 255 / var(--tw-bg-opacity))}
.hover\:bg-blue-600:hover{background-color:rgb(37 99 235 / var(--tw-bg-opacity))}
.hover\:bg-blue-700:hover{background-color:rgb(29 78 216 / var(--tw-bg-opacity))}
.hover\:bg-indigo-50:hover{background-color:rgb(238 242 255 / var(--tw-bg-opacity))}
.hover\:bg-indigo-500:hover{background-color:rgb(99 102 241 / var(--tw-bg-opacity))}
.hover\:bg-indigo-700:hover{background-color:rgb(67 56 202 / var(--tw-bg-opacity))}
.hover\:bg-red-500:hover{background-color:rgb(239 68 68 / var(--tw-bg-opacity))}
.hover\:bg-slate-200:hover{background-color:rgb(226 232 240 / var(--tw-bg-opacity))}
.hover\:bg-slate-600:hover{background-color:rgb(71 85 105 / var(--tw-bg-opacity))}
.hover\:bg-slate-700:hover{background-color:rgb(51 65 85 / var(--tw-bg-opacity))}
.hover\:bg-slate-700\/50:hover{background-color:rgb(51 65 85 / 0.5)}
.hover\:bg-slate-800:hover{background-color:rgb(30 41 59 / var(--tw-bg-opacity))}
.hover\:bg-white\/15:hover{background-color:rgb(255 255 255 / 0.15)}

.hover\:border-indigo-200:hover{border-color:rgb(199 210 254 / var(--tw-border-opacity))}
.hover\:border-indigo-500:hover{border-color:rgb(99 102 241 / var(--tw-border-opacity))}
.hover\:border-indigo-500\/50:hover{border-color:rgb(99 102 241 / 0.5)}

.group:hover .group-hover\:bg-indigo-600{background-color:rgb(79 70 229 / var(--tw-bg-opacity))}
.group:hover .group-hover\:text-white{color:rgb(255 255 255 / var(--tw-text-opacity))}
.group:hover .group-hover\:opacity-100{opacity:1}

/* Focus ring */
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.focus\:border-blue-500:focus{border-color:rgb(59 130 246 / var(--tw-border-opacity))}
.focus\:ring-2:focus{--tw-ring-offset-shadow:0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.focus\:ring-blue-500:focus{--tw-ring-color:rgb(59 130 246 / 0.5)}
.focus\:ring-indigo-500:focus{--tw-ring-color:rgb(99 102 241 / 0.5)}
.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}
.focus\:ring-offset-slate-900:focus{--tw-ring-offset-color:rgb(15 23 42)}

.ring-8{--tw-ring-offset-shadow:0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}
.ring-slate-900{--tw-ring-color:rgb(15 23 42 / 1)}

/* Overflow & scrolling */
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-x-hidden{overflow-x:hidden}
.overflow-y-auto{overflow-y:auto}
.overscroll-contain{overscroll-behavior:contain}
.scroll-smooth{scroll-behavior:smooth}
.scroll-mt-20{scroll-margin-top:5rem}

/* Object fit */
.object-cover{object-fit:cover}
.object-contain{object-fit:contain}

/* Misc */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* Marker color */
.marker\:text-indigo-400::marker{color:rgb(129 140 248)}
.marker\:text-teal-400::marker{color:rgb(45 212 191)}

/* Scrollbar (WebKit) */
.scrollbar-thin::-webkit-scrollbar{height:8px;width:8px}
.scrollbar-track-slate-800::-webkit-scrollbar-track{background:rgb(30 41 59)}
.scrollbar-thumb-slate-600::-webkit-scrollbar-thumb{background:rgb(71 85 105);border-radius:9999px}

/* Animations */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}
.animate-spin{animation:spin 1s linear infinite}
.animate-bounce{animation:bounce 1s infinite}
.\[animation-delay\:-0\.1s\]{animation-delay:-0.1s}
.\[animation-delay\:-0\.2s\]{animation-delay:-0.2s}

/* Gradients */
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}

.from-slate-800{--tw-gradient-from:rgb(30 41 59);--tw-gradient-to:rgb(30 41 59 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-slate-900{--tw-gradient-from:rgb(15 23 42);--tw-gradient-to:rgb(15 23 42 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-slate-900\/70{--tw-gradient-from:rgb(15 23 42 / 0.7);--tw-gradient-to:rgb(15 23 42 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-slate-900\/80{--tw-gradient-from:rgb(15 23 42 / 0.8);--tw-gradient-to:rgb(15 23 42 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-slate-900\/90{--tw-gradient-from:rgb(15 23 42 / 0.9);--tw-gradient-to:rgb(15 23 42 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}

.from-indigo-600{--tw-gradient-from:rgb(79 70 229);--tw-gradient-to:rgb(79 70 229 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-indigo-600\/20{--tw-gradient-from:rgb(79 70 229 / 0.2);--tw-gradient-to:rgb(79 70 229 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}

.via-slate-900{--tw-gradient-via:rgb(15 23 42);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-via),var(--tw-gradient-to)}
.via-slate-900\/80{--tw-gradient-via:rgb(15 23 42 / 0.8);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-via),var(--tw-gradient-to)}

.to-gray-800{--tw-gradient-to:rgb(31 41 55)}
.to-slate-900{--tw-gradient-to:rgb(15 23 42)}
.to-transparent{--tw-gradient-to:transparent}
.to-teal-500{--tw-gradient-to:rgb(20 184 166)}
.to-teal-500\/10{--tw-gradient-to:rgb(20 184 166 / 0.1)}

/* Print */
@media print{
  .no-print{display:none !important}
  .print\:flex-row{flex-direction:row}
  .print\:gap-4{gap:1rem}
  .print\:mb-1{margin-bottom:0.25rem}
  .print\:mb-2{margin-bottom:0.5rem}
  .print\:mt-0{margin-top:0}
  .print\:mt-4{margin-top:1rem}
  .print\:p-3{padding:0.75rem}
  .print\:text-xs{font-size:0.75rem;line-height:1rem}
  .print\:text-base{font-size:1rem;line-height:1.5rem}
  .print\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .print\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .print\:text-\[10px\]{font-size:10px;line-height:14px}
  .print\:w-\[280px\]{width:280px}
  .print\:min-w-\[280px\]{min-width:280px}
}

/* Responsive variants */
@media (min-width: 640px){
  .sm\:flex{display:flex}
  .sm\:flex-row{flex-direction:row}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm\:items-center{align-items:center}
  .sm\:justify-between{justify-content:space-between}
  .sm\:left-6{left:1.5rem}
}

@media (min-width: 768px){
  .md\:hidden{display:none}
  .md\:flex-row{flex-direction:row}
  .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\:col-span-2{grid-column:span 2 / span 2}
  .md\:items-center{align-items:center}
  .md\:justify-between{justify-content:space-between}
  .md\:ml-64{margin-left:16rem}
  .md\:ml-72{margin-left:18rem}
  .md\:p-6{padding:1.5rem}
  .md\:p-8{padding:2rem}
  .md\:p-10{padding:2.5rem}
  .md\:p-12{padding:3rem}
  .md\:right-2{right:0.5rem}
  .md\:top-2{top:0.5rem}
  .md\:translate-x-0{--tw-translate-x:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
  .md\:w-auto{width:auto}
  .md\:w-1\/3{width:33.333333%}
  .md\:w-2\/3{width:66.666667%}
  .md\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .md\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .md\:text-2xl{font-size:1.5rem;line-height:2rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:text-7xl{font-size:4.5rem;line-height:1}
}

@media (min-width: 1024px){
  .lg\:flex-row{flex-direction:row}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:p-8{padding:2rem}
  .lg\:w-1\/3{width:33.333333%}
  .lg\:w-2\/3{width:66.666667%}
}
