/* ============================================================
   Smart Nav - Optimized CSS (replaces Tailwind CDN + Font Awesome)
   Self-contained, no external dependencies
   ============================================================ */

/* --- Color Palette --- */
:root {
  --slate-50:#f8fafc; --slate-100:#e2e8f0; --slate-200:#cbd5e1;
  --slate-300:#94a3b8; --slate-400:#64748b; --slate-500:#475569;
  --slate-600:#334155; --slate-700:#2a3545; --slate-800:#1e293b;
  --slate-900:#0f172a; --slate-950:#020617;
  --indigo-400:#818cf8; --indigo-500:#6366f1; --indigo-600:#4f46e5;
  --pink-300:#f9a8d4; --pink-400:#f472b6; --pink-500:#ec4899; --pink-600:#db2777;
  --sky-400:#38bdf8; --sky-500:#0ea5e9; --sky-600:#0284c7;
  --red-400:#f87171; --red-500:#ef4444; --red-600:#dc2626;
  --red-900:#7f1d1d; --red-950:#450a0a;
  --emerald-400:#34d399; --emerald-500:#10b981; --emerald-600:#059669;
  --amber-500:#f59e0b;
  --blue-200:#93c5fd; --blue-400:#60a5fa;
  --teal-400:#2dd4bf;
  --yellow-500:#eab308;
  --purple-400:#c084fc;
}

/* --- Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
button,input,a{font:inherit;color:inherit}
button{cursor:pointer;border:none;background:none}

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

/* --- Flexbox --- */
.flex-col{flex-direction:column}
.flex-1{flex:1 1 0%}
.items-center{align-items:center}
.items-stretch{align-items:stretch}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.justify-start{justify-content:flex-start}
.shrink-0{flex-shrink:0}
.grow{flex-grow:1}

.space-x-1 > * + *{margin-left:.25rem}
.space-x-1\.5 > * + *{margin-left:.375rem}
.space-x-2 > * + *{margin-left:.5rem}
.space-x-2\.5 > * + *{margin-left:.625rem}
.space-x-3 > * + *{margin-left:.75rem}
.space-y-1 > * + *{margin-top:.25rem}
.space-y-1\.5 > * + *{margin-top:.375rem}
.space-y-3 > * + *{margin-top:.75rem}
.space-y-4 > * + *{margin-top:1rem}

/* --- Grid --- */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.col-span-full{grid-column:1 / -1}
.col-span-1{grid-column:span 1 / span 1}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-8{gap:2rem}
.items-stretch{align-items:stretch}

/* --- Width --- */
.w-full{width:100%}
.w-10{width:2.5rem}
.w-36{width:9rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-60{width:15rem}
.max-w-sm{max-width:24rem}
.max-w-2xl{max-width:42rem}
.max-w-7xl{max-width:80rem}

/* --- Height --- */
.h-full{height:100%}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-10{height:2.5rem}

/* --- Padding --- */
.p-1{padding:.25rem}
.p-1\.5{padding:.375rem}
.p-2{padding:.5rem}
.p-2\.5{padding:.625rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.px-1{padding-left:.25rem;padding-right:.25rem}
.px-1\.5{padding-left:.375rem;padding-right:.375rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}
.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-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.pb-3{padding-bottom:.75rem}
.pl-4{padding-left:1rem}
.pr-4{padding-right:1rem}
.pr-5{padding-right:1.25rem}
.pt-2{padding-top:.5rem}
.pt-3{padding-top:.75rem}

/* --- Margin --- */
.m-1{margin:.25rem}
.mx-auto{margin-left:auto;margin-right:auto}
.mb-1{margin-bottom:.25rem}
.mb-1\.5{margin-bottom:.375rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-8{margin-bottom:2rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-4{margin-top:1rem}
.mr-1{margin-right:.25rem}
.mr-1\.5{margin-right:.375rem}
.mr-2{margin-right:.5rem}
.mr-2\.5{margin-right:.625rem}
.mr-3{margin-right:.75rem}
.ml-1{margin-left:.25rem}
.ml-2{margin-left:.5rem}

/* --- Typography --- */
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.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-5xl{font-size:3rem;line-height:1}
.text-10px{font-size:10px;line-height:1rem}
.text-9px{font-size:9px;line-height:1rem}
.text-11px{font-size:11px;line-height:1rem}
.text-\[10px\]{font-size:10px;line-height:1rem}
.text-\[9px\]{font-size:9px;line-height:1rem}
.text-\[11px\]{font-size:11px;line-height:1rem}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-extrabold{font-weight:800}
.font-bold{font-weight:700}
.text-center{text-align:center}
.text-left{text-align:left}
.tracking-wide{letter-spacing:.025em}
.tracking-tight{letter-spacing:-.025em}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select-none{-webkit-user-select:none;user-select:none}
.uppercase{text-transform:uppercase}
.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",sans-serif}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* --- Background Colors --- */
.bg-slate-50{background-color:var(--slate-50)}
.bg-slate-100{background-color:var(--slate-100)}
.bg-slate-800{background-color:var(--slate-800)}
.bg-slate-900{background-color:var(--slate-900)}
.bg-slate-950{background-color:var(--slate-950)}
.bg-transparent{background-color:transparent}

/* Background with opacity */
.bg-slate-500\/5{background-color:rgba(71,85,105,.05)}
.bg-slate-500\/10{background-color:rgba(71,85,105,.10)}
.bg-slate-500\/20{background-color:rgba(71,85,105,.20)}
.bg-slate-500\/30{background-color:rgba(71,85,105,.30)}
.bg-slate-950\/60{background-color:rgba(2,6,23,.60)}
.bg-slate-950\/95{background-color:rgba(2,6,23,.95)}
.bg-slate-900\/95{background-color:rgba(15,23,42,.95)}
.bg-indigo-500\/20{background-color:rgba(99,102,241,.20)}
.bg-indigo-600{background-color:var(--indigo-600)}
.bg-indigo-600\/10{background-color:rgba(79,70,229,.10)}
.bg-indigo-600\/20{background-color:rgba(79,70,229,.20)}
.bg-indigo-600\/40{background-color:rgba(79,70,229,.40)}
.bg-sky-600{background-color:var(--sky-600)}
.bg-sky-600\/20{background-color:rgba(2,132,199,.20)}
.bg-sky-600\/40{background-color:rgba(2,132,199,.40)}
.bg-red-600\/20{background-color:rgba(220,38,38,.20)}
.bg-red-600\/40{background-color:rgba(220,38,38,.40)}
.bg-red-950\/40{background-color:rgba(69,10,10,.40)}
.bg-emerald-600\/20{background-color:rgba(5,150,105,.20)}
.bg-emerald-600\/40{background-color:rgba(5,150,105,.40)}
.bg-pink-400{background-color:var(--pink-400)}
.bg-pink-600\/20{background-color:rgba(219,39,119,.20)}
.bg-pink-600\/40{background-color:rgba(219,39,119,.40)}
.bg-cleared{background-color:var(--slate-900)!important}

/* Gradient */
.bg-gradient-to-r{
  background-image:linear-gradient(90deg,#818cf8 0%,#c084fc 50%,#f472b6 100%)
}
.bg-clip-text{-webkit-background-clip:text;background-clip:text}
.text-transparent{color:transparent}

/* --- Text Colors --- */
.text-slate-100{color:var(--slate-100)}
.text-slate-200{color:var(--slate-200)}
.text-slate-400{color:var(--slate-400)}
.text-slate-500{color:var(--slate-500)}
.text-slate-400\/60{color:rgba(100,116,139,.6)}
.text-indigo-400{color:var(--indigo-400)}
.text-indigo-500{color:var(--indigo-500)}
.text-pink-400{color:var(--pink-400)}
.text-pink-300{color:var(--pink-300)}
.text-emerald-400{color:var(--emerald-400)}
.text-emerald-500{color:var(--emerald-500)}
.text-sky-400{color:var(--sky-400)}
.text-sky-500{color:var(--sky-500)}
.text-red-400{color:var(--red-400)}
.text-red-500{color:var(--red-500)}
.text-amber-500{color:var(--amber-500)}
.text-white{color:#fff}
.text-blue-400{color:var(--blue-400)}
.text-teal-400{color:var(--teal-400)}
.text-yellow-500{color:var(--yellow-500)}
.text-blue-200{color:var(--blue-200)}
.text-indigo-400\/70{color:rgba(129,140,248,.7)}

/* --- Border Colors --- */
.border{border-style:solid;border-width:1px;border-color:currentColor}
.border-2{border-width:2px}
.border-slate-700{border-color:var(--slate-700)}
.border-slate-700\/40{border-color:rgba(42,53,69,.40)}
.border-slate-800{border-color:var(--slate-800)}
.border-slate-500\/10{border-color:rgba(71,85,105,.10)}
.border-slate-500\/30{border-color:rgba(71,85,105,.30)}
.border-indigo-500\/20{border-color:rgba(99,102,241,.20)}
.border-indigo-500\/50{border-color:rgba(99,102,241,.50)}
.border-sky-500\/20{border-color:rgba(2,132,199,.20)}
.border-red-500\/20{border-color:rgba(239,68,68,.20)}
.border-pink-500\/20{border-color:rgba(236,72,153,.20)}
.border-emerald-500\/20{border-color:rgba(16,185,129,.20)}
.border-dashed{border-style:dashed}
.border-none{border:0}

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

/* --- Shadows --- */
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.3),0 4px 6px -2px rgba(0,0,0,.2)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.3),0 8px 10px -6px rgba(0,0,0,.2)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}
.shadow-indigo-600\/20{box-shadow:0 20px 25px -5px rgba(79,70,229,.20)}

/* --- Backdrop --- */
.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

/* --- Opacity --- */
.opacity-0{opacity:0}
.opacity-30{opacity:.3}
.opacity-50{opacity:.5}
.opacity-60{opacity:.6}
.opacity-90{opacity:.9}

/* --- Overflow --- */
.overflow-hidden{overflow:hidden}

/* --- Position --- */
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-5{top:1.25rem}
.right-5{right:1.25rem}
.right-1{right:.25rem}
.right-2{right:.5rem}
.left-2{left:.5rem}
.top-full{top:100%}
.bottom-5{bottom:1.25rem}
.bottom-16{bottom:4rem}
.z-\[50\]{z-index:50}
.z-\[100\]{z-index:100}
.z-\[110\]{z-index:110}
.z-\[150\]{z-index:150}
.z-\[160\]{z-index:160}
.z-\[300\]{z-index:300}
.z-10{z-index:10}

/* --- Transitions --- */
.transition-all{transition:background-color .3s,border-color .3s,color .3s,opacity .3s,transform .3s}
.transition-colors{transition:background-color .3s,border-color .3s,color .3s}
.transition-opacity{transition:opacity .3s}
.duration-300{transition-duration:.3s}

/* --- Hover States --- */
.hover\:text-indigo-500:hover{color:var(--indigo-500)}
.hover\:text-indigo-400:hover{color:var(--indigo-400)}
.hover\:text-indigo-300:hover{color:#a5b4fc}
.hover\:text-pink-300:hover{color:var(--pink-300)}
.hover\:text-red-400:hover{color:var(--red-400)}
.hover\:text-emerald-400:hover{color:var(--emerald-400)}
.hover\:text-sky-500:hover{color:var(--sky-500)}
.hover\:text-indigo-400\/70:hover{color:rgba(129,140,248,.7)}
.hover\:bg-slate-700:hover{background-color:var(--slate-700)}
.hover\:bg-indigo-500:hover{background-color:var(--indigo-500)}
.hover\:bg-sky-500:hover{background-color:var(--sky-500)}
.hover\:bg-indigo-600\/10:hover{background-color:rgba(79,70,229,.10)}
.hover\:bg-emerald-600\/10:hover{background-color:rgba(5,150,105,.10)}
.hover\:bg-pink-600\/40:hover{background-color:rgba(219,39,119,.40)}
.hover\:bg-sky-600\/40:hover{background-color:rgba(2,132,199,.40)}
.hover\:bg-red-600\/40:hover{background-color:rgba(220,38,38,.40)}
.hover\:bg-emerald-600\/40:hover{background-color:rgba(5,150,105,.40)}
.hover\:bg-indigo-600\/20:hover{background-color:rgba(79,70,229,.20)}
.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:underline:hover{text-decoration:underline}
.hover\:border-indigo-500\/30:hover{border-color:rgba(99,102,241,.30)}
.hover\:border-indigo-500\/50:hover{border-color:rgba(99,102,241,.50)}
.hover\:border-pink-500\/30:hover{border-color:rgba(236,72,153,.30)}
.hover\:border-emerald-500\/20:hover{border-color:rgba(16,185,129,.20)}
.hover\:border-sky-500\/20:hover{border-color:rgba(2,132,199,.20)}
.hover\:border-red-500\/20:hover{border-color:rgba(239,68,68,.20)}

/* --- Active States --- */
.active\:scale-95:active{transform:scale(.95)}

/* --- Focus States --- */
.focus\:outline-none:focus{outline:0}
.focus\:border-indigo-500:focus{border-color:var(--indigo-500)}
.focus\:border-emerald-500:focus{border-color:var(--emerald-500)}
.focus-within\:border-indigo-500\/80:focus-within{border-color:rgba(99,102,241,.80)}
.focus\:ring-0:focus{box-shadow:none}

/* --- Group Hover --- */
.group:hover .group-hover\:opacity-50{opacity:.5}
.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:text-indigo-400{color:var(--indigo-400)}

/* --- Cursor --- */
.cursor-pointer{cursor:pointer}
.cursor-move{cursor:move}

/* --- Selection --- */
.selection\:bg-indigo-500::selection{background-color:var(--indigo-500)}
.selection\:text-white::selection{color:#fff}

/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */
@media (min-width:640px){
  .sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:768px){
  .md\:text-base{font-size:1rem;line-height:1.5rem}
}
@media (min-width:1024px){
  .lg\:py-20{padding-top:5rem;padding-bottom:5rem}
  .lg\:text-7xl{font-size:4.5rem;line-height:1}
  .lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (min-width:1280px){
  .xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .xl\:col-span-1{grid-column:span 1 / span 1}
}

/* ============================================================
   COMPONENT STYLES (glassmorphism, themes, etc.)
   ============================================================ */

/* Dark Theme */
body.theme-dark{
  background:linear-gradient(135deg,#0f172a 0%,#020617 100%);
  color:#f8fafc;
}
body.theme-dark .glass-card{
  background:rgba(30,41,59,.45);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.05);
  box-shadow:0 20px 25px -5px rgba(0,0,0,.3);
}
body.theme-dark .glass-input{
  background:rgba(255,255,255,.07);
}

/* Light Theme */
body.theme-light{
  background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);
  color:#0f172a;
}
body.theme-light .glass-card{
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 25px -5px rgba(0,0,0,.05);
}
body.theme-light .glass-input{
  background:rgba(0,0,0,.04);
  color:#000;
}
body.theme-light input::placeholder{color:var(--slate-400)}
body.theme-light .engine-menu{background:#fff;border-color:var(--slate-200)}
body.theme-light .engine-menu button{color:var(--slate-600)}
body.theme-light .engine-menu button:hover{background:rgba(79,70,229,.08)}

/* Custom BG overlay */
body.has-custom-bg::before{
  content:'';
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.55);
  backdrop-filter:blur(2px);
  z-index:-1;
}
body.theme-light.has-custom-bg::before{
  background:rgba(248,250,252,.55);
}

/* Video BG */
#video-bg{
  position:fixed;
  top:0;left:0;
  width:100vw;height:100vh;
  object-fit:cover;
  z-index:-2;
  pointer-events:none;
}

/* Dragging state */
.dragging{
  opacity:.4;
  transform:scale(.98);
  border:2px dashed #6366f1 !important;
}

/* Admin visibility */
body:not(.is-admin) .admin-only{display:none!important}

/* Icon span styling (replaces Font Awesome) */
.icon{display:inline-flex;align-items:center;justify-content:center;font-style:normal}
.icon-sm{font-size:.875rem}
.icon-xs{font-size:.75rem}
.icon-lg{font-size:1.25rem}
.icon-xl{font-size:1.5rem}

/* Engine button icon circle */
.engine-icon-circle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.25rem;height:1.25rem;
  border-radius:50%;
  font-size:9px;
  font-weight:700;
  font-family:Georgia,serif;
}
.engine-icon-circle.google{background:rgba(96,165,250,.15);color:var(--blue-400)}
.engine-icon-circle.bing{background:rgba(45,212,191,.15);color:var(--teal-400)}
.engine-icon-circle.baidu{background:rgba(239,68,68,.15);color:var(--red-400)}
.engine-icon-circle.github{background:rgba(100,116,139,.15);color:var(--slate-400)}

/* Link icon circle */
.link-icon-circle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1rem;height:1rem;
  border-radius:50%;
  background:rgba(99,102,241,.20);
  color:var(--indigo-400);
  font-size:9px;
  font-weight:700;
  flex-shrink:0;
}

/* Clock gradient text */
.clock-gradient{
  font-size:3rem;
  font-weight:800;
  letter-spacing:-.025em;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  background-image:linear-gradient(90deg,#818cf8 0%,#c084fc 50%,#f472b6 100%);
  margin-bottom:.5rem;
}

/* Animation */
@keyframes fadeIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
.animate-fade-in{animation:fadeIn .5s ease-out}

@keyframes spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
.spin{animation:spin 1s linear infinite;display:inline-block}

/* Scrollbar (subtle) */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(100,116,139,.3);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.5)}