/*! CryptoDroom — utility CSS (subset of Tailwind, handcrafted for this theme) */

/* Reset */
*,*::before,*::after{box-sizing:border-box;border:0 solid #e5e7eb}
html{-webkit-text-size-adjust:100%;line-height:1.5;font-family:'Inter',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}
body{margin:0;line-height:inherit}
hr{height:0;color:inherit;border-top-width:1px}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,[type=button],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,h5,h6,p{margin:0}

/* Tokens */
:root{
  --cd-bg:#0f172a; --cd-surface:#1e293b; --cd-fg:#e2e8f0; --cd-muted:#94a3b8;
  --cd-gain:#22c55e; --cd-loss:#ef4444; --cd-neon:#38bdf8;
}

/* Layout */
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}
.mx-auto{margin-left:auto;margin-right:auto}
.block{display:block}.inline-block{display:inline-block}.inline{display:inline}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.table-cell{display:table-cell}
.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}
.self-start{align-self:flex-start}
.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}.gap-10{gap:2.5rem}
.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))}
.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1/-1}
.aspect-\[16\/10\]{aspect-ratio:16/10}
.min-w-0{min-width:0}.min-h-\[360px\]{min-height:360px}.max-h-\[520px\]{max-height:520px}.w-full{width:100%}.h-full{height:100%}.h-16{height:4rem}.h-32{height:8rem}.h-10{height:2.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-2{width:.5rem}.h-2{height:.5rem}.w-56{width:14rem}
.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}
.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.fixed{position:fixed}
.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-2{top:.5rem}.top-24{top:6rem}.left-2{left:.5rem}
.z-40{z-index:40}.-z-10{z-index:-10}
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.whitespace-nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}
.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}
.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-relaxed{line-height:1.625}
.leading-\[1\.05\]{line-height:1.05}
.font-sans{font-family:'Inter',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}
.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}
.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-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-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* Padding / Margin */
.p-1{padding:.25rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}
.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-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}
.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-20{padding-top:5rem}
.pb-6{padding-bottom:1.5rem}.pb-10{padding-bottom:2.5rem}.pb-14{padding-bottom:3.5rem}.pb-20{padding-bottom:5rem}
.pl-10{padding-left:2.5rem}
.m-0{margin:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}
.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}
.mt-auto{margin-top:auto}.ml-2{margin-left:.5rem}

/* Colors */
.bg-cd-bg{background-color:var(--cd-bg)}
.bg-cd-surface{background-color:var(--cd-surface)}
.bg-cd-neon{background-color:var(--cd-neon)}
.bg-cd-bg\/80{background-color:rgba(15,23,42,.8)}
.bg-cd-surface\/40{background-color:rgba(30,41,59,.4)}
.bg-cd-surface\/60{background-color:rgba(30,41,59,.6)}
.bg-white\/5{background-color:rgba(255,255,255,.05)}
.bg-white\/\[0\.02\]{background-color:rgba(255,255,255,.02)}
.text-cd-fg{color:var(--cd-fg)}
.text-cd-bg{color:var(--cd-bg)}
.text-cd-muted{color:var(--cd-muted)}
.text-cd-neon{color:var(--cd-neon)}
.border-cd-neon{border-color:var(--cd-neon)}
.border-cd-neon\/40{border-color:rgba(56,189,248,.4)}
.border-white\/5{border-color:rgba(255,255,255,.05)}
.border-white\/10{border-color:rgba(255,255,255,.1)}

/* Borders */
.border{border-width:1px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}
.rounded{border-radius:.25rem}.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}

/* Effects */
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}
.shadow-\[0_0_20px_rgba\(56\,189\,248\,0\.4\)\]{box-shadow:0 0 20px rgba(56,189,248,.4)}
.backdrop-blur,.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.opacity-70{opacity:.7}.opacity-90{opacity:.9}
.transition{transition:all .2s ease}
.duration-500{transition-duration:.5s}
.scale-105{transform:scale(1.05)}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}
.group:hover .group-hover\:opacity-90{opacity:.9}
.hover\:opacity-90:hover{opacity:.9}
.hover\:text-cd-fg:hover{color:var(--cd-fg)}
.hover\:text-cd-neon:hover{color:var(--cd-neon)}
.hover\:bg-white\/5:hover{background-color:rgba(255,255,255,.05)}
.hover\:bg-white\/\[0\.02\]:hover{background-color:rgba(255,255,255,.02)}
.hover\:border-cd-neon:hover{border-color:var(--cd-neon)}
.hover\:border-cd-neon\/40:hover{border-color:rgba(56,189,248,.4)}
.hover\:underline:hover{text-decoration:underline}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.focus\:border-cd-neon:focus{border-color:var(--cd-neon)}

/* Backgrounds: gradients & radial */
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops, var(--cd-neon),var(--cd-gain)))}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops, var(--cd-neon),#22d3ee))}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops, var(--cd-bg),transparent))}
.from-cd-neon{--tw-gradient-stops: var(--cd-neon),var(--cd-gain)}
.from-cd-surface{--tw-gradient-stops: var(--cd-surface),var(--cd-bg)}
.from-primary{--tw-gradient-stops: var(--cd-neon),#22d3ee}
.to-cyan-400{--tw-gradient-stops: var(--cd-neon),#22d3ee}
.to-cd-gain,.to-cd-bg{}
.via-cd-bg\/60{}
.from-cd-bg{}
.bg-clip-text{-webkit-background-clip:text;background-clip:text}
.text-transparent{color:transparent}
.bg-\[radial-gradient\(ellipse_at_top\,rgba\(56\,189\,248\,0\.15\)\,transparent_60\%\)\,radial-gradient\(ellipse_at_bottom\,rgba\(34\,197\,94\,0\.10\)\,transparent_60\%\)\],
.cd-hero-bg{
  background-image: radial-gradient(ellipse at top, rgba(56,189,248,.15), transparent 60%), radial-gradient(ellipse at bottom, rgba(34,197,94,.10), transparent 60%);
}
/* Gradient text helper used by the hero headline */
.cd-gradient-text{background-image:linear-gradient(90deg,var(--cd-neon),#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* space-y utilities */
.space-y-2 > * + *{margin-top:.5rem}
.space-y-3 > * + *{margin-top:.75rem}
.space-y-4 > * + *{margin-top:1rem}
/* scroll margin for anchor links under sticky header */
.scroll-mt-24{scroll-margin-top:6rem}

/* Animations */
@keyframes pulse{50%{opacity:.5}}
.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
.bg-cd-gain{background-color:var(--cd-gain)}
.bg-cd-loss{background-color:var(--cd-loss)}

/* Tables */
table{border-collapse:collapse;width:100%}

/* Sr-only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:.5rem .75rem;margin:0;overflow:visible;clip:auto;white-space:normal}
.focus\:absolute:focus{position:absolute}.focus\:top-2:focus{top:.5rem}.focus\:left-2:focus{left:.5rem}
.focus\:bg-cd-surface:focus{background-color:var(--cd-surface)}.focus\:text-cd-fg:focus{color:var(--cd-fg)}.focus\:px-3:focus{padding-left:.75rem;padding-right:.75rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:rounded:focus{border-radius:.25rem}

/* Responsive — sm 640, md 768, lg 1024, xl 1280 */
@media (min-width:640px){
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .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\:flex-row{flex-direction:row}
}
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:hidden{display:none}
  .md\:table-cell{display:table-cell}
  .md\:flex-row{flex-direction:row}
  .md\:items-center{align-items:center}
  .md\:justify-between{justify-content:space-between}
  .md\:justify-end{justify-content:flex-end}
  .md\:flex-none{flex:none}
  .md\:w-56{width:14rem}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:col-span-1{grid-column:span 1 / span 1}
  .md\:pt-20{padding-top:5rem}.md\:pb-14{padding-bottom:3.5rem}
  .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}
  .md\:p-6{padding:1.5rem}
  .md\:text-right{text-align:right}
}
@media (min-width:1024px){
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:block{display:block}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .lg\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}
  .lg\:row-span-3{grid-row:span 3 / span 3}
  .lg\:col-span-2{grid-column:span 2 / span 2}
}
