/*! Slim Tailwind subset – v4.1.11 (covers Luminosity + Distance calculators) */

/* ======== Tiny Reset ======== */
*,::before,::after{box-sizing:border-box}
html{line-height:1.5;-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f3f4f6}

/* ======== Layout ======== */
.flex{display:flex}
.flex-col{flex-direction:column}
.sm\:flex-row{display:flex;flex-direction:row}
.items-center{align-items:center}
.justify-center{justify-content:center}
.min-h-screen{min-height:100vh}

.w-full{width:100%}
.w-1\/2{width:50%}
.sm\:w-1\/2{width:50%}
.sm\:w-44{width:11rem}

.max-w-sm{max-width:24rem}
.max-w-md{max-width:28rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.sm\:max-w-md{max-width:28rem}
.lg\:max-w-xl{max-width:36rem}
.lg\:max-w-2xl{max-width:42rem}

/* ======== Spacing ======== */
.p-3{padding:.75rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.px-4{padding-left:1rem;padding-right:1rem}

.mb-2{margin-bottom:.5rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mt-8{margin-top:2rem}

.space-y-4 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}
.space-y-0 > :not([hidden]) ~ :not([hidden]){margin-top:0;margin-bottom:0}
.space-x-4 > :not([hidden]) ~ :not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem * var(--tw-space-x-reverse))}
.sm\:space-x-4 > :not([hidden]) ~ :not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem * var(--tw-space-x-reverse))}
.sm\:space-y-0 > :not([hidden]) ~ :not([hidden]){margin-top:0;margin-bottom:0}

/* ======== Typography ======== */
.text-center{text-align:center}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}

.text-yellow-600{color:#d97706}
.text-blue-600{color:#2563eb}
.text-blue-700{color:#1d4ed8}
.text-gray-800{color:#1f2937}
.text-gray-700{color:#374151}
.text-green-600{color:#16a34a}
.text-green-700{color:#15803d}
.text-red-600{color:#dc2626}

/* ======== Background & Borders ======== */
.bg-gray-100{background:#f3f4f6}
.bg-white{background:#ffffff}
.bg-yellow-500{background:#f59e0b}
.hover\:bg-yellow-600:hover{background:#d97706}
.bg-blue-600{background:#2563eb}
.hover\:bg-blue-700:hover{background:#1d4ed8}

.border{border-width:1px}
.border-2{border-width:2px}
.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}
.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}
.rounded{border-radius:.25rem}
.rounded-lg{border-radius:.5rem}

/* ======== Shadows & Transitions ======== */
.shadow{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}

/* ======== Focus Utilities ======== */
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.focus\:ring-2:focus{box-shadow:0 0 0 2px currentColor,0 0 0 4px rgba(0,0,0,.25)}
.focus\:ring-blue-500:focus{color:#3b82f6}
.focus\:ring-yellow-500:focus{color:#f59e0b}

/* simulate ring visually */
input:focus.focus\:ring-2,
select:focus.focus\:ring-2{
  box-shadow:0 0 0 2px rgba(59,130,246,.4);
}

/* ======== Display helpers ======== */
.block{display:block}
.inline{display:inline}