/* 3-Tools.com — Global stylesheet (externalized from inline <style>) */
/* Reset & base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;color:#1e293b}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font-family:inherit;font-size:inherit}

/* Layout */
.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}
.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-end{align-items:flex-end}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}
.self-center{align-self:center}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.space-x-2>*+*{margin-left:.5rem}.space-x-4>*+*{margin-left:1rem}
.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}

/* Sizing */
.w-full{width:100%}.w-16{width:4rem}
.h-16{height:4rem}.h-20{height:5rem}.h-64{height:16rem}
.min-h-screen{min-height:100vh}
.min-h-\[80px\]{min-height:80px}.min-h-\[120px\]{min-height:120px}.min-h-\[150px\]{min-height:150px}
.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-full{max-width:100%}.max-w-none{max-width:none}
.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}

/* Spacing */
.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-1{padding-left:.25rem;padding-right:.25rem}.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}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}
.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-auto{margin-top:auto}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}
.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}
.mx-auto{margin-left:auto;margin-right:auto}

/* Typography */
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.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-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}
.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}
.italic{font-style:italic}.underline{text-decoration:underline}
.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}
.leading-relaxed{line-height:1.625}
.whitespace-pre-wrap{white-space:pre-wrap}
.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.list-inside{list-style-position:inside}

/* Colors */
.text-white{color:#fff}
.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}
.text-blue-500{color:#3b82f6}.text-blue-600{color:#2563eb}.text-blue-700{color:#1d4ed8}.text-blue-800{color:#1e40af}.text-blue-900{color:#1e3a8a}
.text-green-500{color:#22c55e}.text-green-600{color:#16a34a}.text-green-700{color:#15803d}.text-green-800{color:#166534}
.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}
.text-yellow-800{color:#854d0e}
.bg-white{background-color:#fff}
.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-gray-500{background-color:#6b7280}
.bg-blue-50{background-color:#eff6ff}.bg-blue-100{background-color:#dbeafe}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}
.bg-green-100{background-color:#dcfce7}.bg-green-600{background-color:#16a34a}
.bg-red-100{background-color:#fee2e2}.bg-red-500{background-color:#ef4444}
.bg-yellow-100{background-color:#fef9c3}.bg-yellow-500{background-color:#eab308}

/* Borders */
.border{border-width:1px}.border-2{border-width:2px}
.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}
.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}
.border-blue-100{border-color:#dbeafe}.border-blue-200{border-color:#bfdbfe}.border-blue-500{border-color:#3b82f6}.border-blue-600{border-color:#2563eb}
.border-green-200{border-color:#bbf7d0}.border-yellow-300{border-color:#fde047}
.border-dashed{border-style:dashed}.border-collapse{border-collapse:collapse}
.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}

/* Shadows & Effects */
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.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:150ms}
.opacity-0{opacity:0}.cursor-pointer{cursor:pointer}

/* Hover */
.hover\:bg-blue-700:hover{background-color:#1d4ed8}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.hover\:bg-gray-200:hover{background-color:#e5e7eb}
.hover\:bg-gray-300:hover{background-color:#d1d5db}
.hover\:bg-gray-600:hover{background-color:#4b5563}
.hover\:bg-green-700:hover{background-color:#15803d}
.hover\:bg-red-600:hover{background-color:#dc2626}
.hover\:bg-yellow-600:hover{background-color:#ca8a04}
.hover\:border-blue-300:hover{border-color:#93c5fd}
.hover\:border-blue-400:hover{border-color:#60a5fa}
.hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.hover\:text-blue-500:hover{color:#3b82f6}
.hover\:text-blue-800:hover{color:#1e40af}

/* Focus */
.focus\:ring-2:focus{--tw-ring-offset-shadow:0 0 0 2px #fff;--tw-ring-shadow:0 0 0 calc(2px + 2px) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000}
.focus\:ring-blue-500:focus{--tw-ring-color:#3b82f6}
.focus\:border-blue-500:focus{border-color:#3b82f6}

/* Disabled */
.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}
.disabled\:opacity-50:disabled{opacity:.5}

/* Group hover */
.group:hover .group-hover\:opacity-100{opacity:1}

/* Responsive */
@media(min-width:640px){
.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sm\:flex-row{flex-direction:row}
.sm\:gap-6{gap:1.5rem}
.sm\:inline{display:inline}
.sm\:mt-0{margin-top:0}
}
@media(min-width:768px){
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Print */
@media print{.no-print{display:none!important}}

/* Card helper used by tools */
.card{background:#fff;border-radius:.75rem;border:1px solid #e5e7eb;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.06)}
.text-input{outline:none;transition:border-color .15s,box-shadow .15s}

/* Professional micro-interactions */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;font-size:.95rem;transition:all .15s ease;box-shadow:0 1px 2px rgba(37,99,235,.3)}
.btn-primary:hover{background:#1d4ed8;box-shadow:0 2px 6px rgba(37,99,235,.35);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(37,99,235,.2)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:.5rem;font-weight:500;cursor:pointer;font-size:.875rem;transition:all .15s ease}
.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}
.copy-feedback{position:relative;overflow:visible}
.copy-feedback::after{content:'Copied!';position:absolute;top:-2rem;left:50%;transform:translateX(-50%);background:#065f46;color:#fff;padding:.2rem .6rem;border-radius:.25rem;font-size:.75rem;opacity:0;pointer-events:none;transition:opacity .2s}
.copy-feedback.copied::after{opacity:1}
.result-area{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;min-height:80px;transition:border-color .2s}
.result-area:focus-within{border-color:#3b82f6}
.tool-input{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}
.tool-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}
.tool-input::placeholder{color:#9ca3af}

/* Hero gradient header */
.tool-hero{background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 50%,#f8fafc 100%);border-bottom:1px solid #e0e7ff;padding:2rem 1rem 1.5rem;margin:-2rem -1rem 2rem;border-radius:.75rem .75rem 0 0}
.tool-hero h1{font-size:1.875rem;font-weight:700;color:#0f172a;margin-bottom:.5rem}
.tool-hero p{color:#475569;font-size:1rem;max-width:36rem;margin:0 auto}
.tool-badge{display:inline-block;padding:.2rem .6rem;background:#dbeafe;color:#1d4ed8;border-radius:9999px;font-size:.75rem;font-weight:600;margin-bottom:.75rem}

/* Smooth skeleton loader */
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:800px 100%;animation:shimmer 1.5s infinite}
