/* Consolidated stylesheet for Index.html and selection.html
   Contains only the utility classes and component styles actually used.
*/
:root{--indigo-600:#4f46e5;--indigo-700:#4338ca;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-600:#475569;--slate-700:#334155;--slate-800:#0f172a;--green-500:#10b981;--green-600:#059669;--red-500:#ef4444}

/* Base and layout */
body{font-family:'Inter',sans-serif;background:var(--slate-50);color:var(--slate-800);}
.min-h-screen{min-height:100vh}
.container{width:95%;}
@media(min-width:768px){.container{max-width:64rem;margin-left:auto;margin-right:auto}}
.mx-auto{margin-left:auto;margin-right:auto}
.text-center{text-align:center}
.text-left{text-align:left}

/* Grid / flex */
.grid{display:grid}
.grid-cols-1{grid-template-columns:1fr}
@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.flex{display:flex}
.items-center{align-items:center}
.justify-center{justify-content:center}
.space-y-6 > * + *{margin-top:1.5rem}
.space-y-8 > * + *{margin-top:2rem}
.space-x-4{column-gap:1rem}

/* Spacing */
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.p-10{padding:2.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.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-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.mb-10{margin-bottom:2.5rem}
.mb-8{margin-bottom:2rem}
.mb-6{margin-bottom:1.5rem}
.mb-4{margin-bottom:1rem}
.mb-2{margin-bottom:.5rem}
.mb-1{margin-bottom:.25rem}
.mt-8{margin-top:2rem}
.mt-6{margin-top:1.5rem}
.mt-4{margin-top:1rem}
.mt-2{margin-top:.5rem}

/* Widths */
.w-full{width:100%}
.w-2\/3{width:66.666667%}
.w-40{width:10rem}
.w-32{width:8rem}
.w-16{width:4rem}
.max-w-lg{max-width:30rem}
.max-w-4xl{max-width:52rem}

/* Typography */
.text-sm{font-size:0.875rem}
.text-md{font-size:1rem}
.text-lg{font-size:1.125rem}
.text-xl{font-size:1.25rem}
.text-2xl{font-size:1.5rem}
.text-3xl{font-size:2rem}
.text-4xl{font-size:2.25rem}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}
.font-medium{font-weight:500}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,'Roboto Mono','Courier New',monospace}

/* Colors */
.text-indigo-600{color:var(--indigo-600)}
.text-indigo-500{color:#6366f1}
.text-red-600{color:#dc2626}
.bg-indigo-100{background:#eef2ff}
.text-slate-800{color:var(--slate-800)}
.text-slate-700{color:var(--slate-700)}
.text-slate-600{color:var(--slate-600)}
.text-slate-500{color:#6b7280}
.bg-slate-50{background:var(--slate-50)}
.bg-slate-100{background:var(--slate-100)}
.bg-slate-200{background:var(--slate-200)}
.bg-white{background:#fff}
.text-white{color:#fff}
.bg-green-500{background:var(--green-500)}
.bg-green-600{background:var(--green-600)}
.bg-red-500{background:var(--red-500)}

/* Buttons / controls */
.rounded{border-radius:.25rem}
.rounded-lg{border-radius:.5rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}
.border{border:1px solid #e5e7eb}
.border-transparent{border-color:transparent}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}
.transition{transition:all .2s ease}
.hover\:bg-slate-700:hover{background:var(--slate-700)}
.hover\:bg-slate-600:hover{background:var(--slate-600)}
.hover\:bg-green-600:hover{background:var(--green-600)}
.hover\:bg-red-600:hover{background:#dc2626}
.focus\:outline-none:focus{outline:0}
.focus\:ring-4:focus{box-shadow:0 0 0 4px rgba(99,102,241,0.2)}

/* Small helpers */
.inline-block{display:inline-block}
.block{display:block}
.hidden{display:none}
.ml-2{margin-left:.5rem}
.text-sm{font-size:.875rem}

/* Lists */
.list-disc{list-style-type:disc}
.list-inside{list-style-position:inside}

/* Result card animation */
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.result-card{animation:fadeIn .5s ease-out forwards}

/* Range slider (green theme) - cross-browser */
input[type="range"]{ 
   -webkit-appearance:none; 
   appearance:none; 
   width:100%; 
   height:8px; 
   border-radius:999px; 
   background:linear-gradient(90deg,var(--green-500) 0%, var(--slate-200) 0%);
   outline:none
}
input[type="range"]::-webkit-slider-runnable-track{height:8px;background:var(--slate-200);border-radius:999px}
input[type="range"]::-webkit-slider-thumb{ 
   -webkit-appearance:none;
   appearance:none;
   width:20px;
   height:20px;
   margin-top:-6px;
   background:var(--slate-700);
   border-radius:50%;
   cursor:pointer;
   box-shadow:0 0 0 6px var(--slate-300);
}
input[type="range"]::-moz-range-track{height:8px;background:var(--slate-200);border-radius:999px}
input[type="range"]::-moz-range-thumb{width:20px;height:20px;background:var(--green-500);border:none;border-radius:50%;cursor:pointer}

/* small utility for centered text inside boxes */
.rounded-md{border-radius:.375rem}

/* Session URL box: center and prevent overflow for long URLs */
#sessionUrl{
   display:block;
   margin-left:auto;
   margin-right:auto;
   max-width:100%;
   width:90%;
   box-sizing:border-box;
   padding-left:.75rem;
   padding-right:.75rem;
   word-break:break-word;
   overflow-wrap:anywhere;
   text-align:center;
}

/* End of consolidated stylesheet */

/* Button color inversion: default darker, hover lighter */
button.bg-slate-600,
button.bg-slate-500,
button.bg-slate-700,
.bg-slate-600[role="button"],
.bg-slate-500[role="button"] {
   background: var(--slate-700) !important;
   color: #fff !important;
}
button.bg-slate-600:hover,
button.bg-slate-500:hover,
.bg-slate-600[role="button"]:hover,
.bg-slate-500[role="button"]:hover {
   background: var(--slate-600) !important;
}

button.bg-green-500,
.bg-green-500[role="button"] {
   background: var(--green-600) !important; /* darker by default */
   color: #fff !important;
}
button.bg-green-500:hover,
.bg-green-500[role="button"]:hover {
   background: var(--green-500) !important; /* lighter on hover */
}

button.bg-red-500,
.bg-red-500[role="button"] {
   background: #b91c1c !important; /* darker red */
   color: #fff !important;
}
button.bg-red-500:hover,
.bg-red-500[role="button"]:hover {
   background: var(--red-500) !important;
}
