/* ============================================================
   ArbMax - Pre-compiled Tailwind CSS (production-ready)
   To rebuild:  npx tailwindcss -i ./src/input.css -o ./public/assets/css/app.css --minify
   See INSTALL.md for the full build pipeline.
   ============================================================ */

/* Tailwind base reset (subset for offline / pinned output) */
*,*::before,*::after{box-sizing:border-box;border:0 solid #e5e7eb}
html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;line-height:1.5;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{margin:0;line-height:inherit;background:#0a0e17;color:#e6edf7}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none}
:-moz-focusring{outline:auto}
:-moz-ui-invalid{box-shadow:none}
progress{vertical-align:baseline}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
[type='search']{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
summary{display:list-item}
blockquote,dl,dd,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}
fieldset{margin:0;padding:0}
legend{padding:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
dialog{padding:0}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:#5b6680}
button,[role="button"]{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
[hidden]{display:none}

/* ---------- App tokens ---------- */
:root {
  --bg:        #0a0e17;
  --bg-panel:  #0f1421;
  --bg-card:   #131a2b;
  --bg-hover:  #1a2238;
  --bg-line:   #1f2a44;
  --ink:       #e6edf7;
  --ink-mute:  #8a96b0;
  --ink-dim:   #5b6680;
  --brand:     #1cf286;
  --brand-300: #4fffa8;
  --brand-500: #00d673;
  --accent-gold:  #ffc857;
  --accent-blue:  #4f9bff;
  --accent-red:   #ff4d6d;
  --accent-purple:#9b6bff;
  --tg-blue:      #229ED9;
}

html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ---------- Layout helpers ---------- */
.mx-auto{margin-left:auto;margin-right:auto}
.w-full{width:100%}
.max-w-7xl{max-width:80rem}
.max-w-3xl{max-width:48rem}
.max-w-2xl{max-width:42rem}
.max-w-md{max-width:28rem}
.block{display:block}
.inline-block{display:inline-block}
.inline{display:inline}
.inline-flex{display:inline-flex}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.sticky{position:sticky}
.top-0{top:0}
.left-0{left:0}
.right-0{right:0}
.bottom-0{bottom:0}
.inset-0{inset:0}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.z-10{z-index:10}
.z-20{z-index:20}
.z-30{z-index:30}
.z-50{z-index:50}

/* Sizing */
.h-2{height:.5rem}
.h-3{height:.75rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-16{height:4rem}
.h-screen{height:100vh}
.min-h-screen{min-height:100vh}
.w-2{width:.5rem}
.w-3{width:.75rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-7{width:1.75rem}
.w-8{width:2rem}
.w-9{width:2.25rem}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-16{width:4rem}

/* Spacing */
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.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-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.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-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.m-0{margin:0}
.m-2{margin:.5rem}
.m-4{margin:1rem}
.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}
.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}
.mb-10{margin-bottom:2.5rem}
.ml-2{margin-left:.5rem}
.mr-2{margin-right:.5rem}
.space-y-2 > * + *{margin-top:.5rem}
.space-y-3 > * + *{margin-top:.75rem}
.space-y-4 > * + *{margin-top:1rem}
.space-y-6 > * + *{margin-top:1.5rem}
.gap-1{gap:.25rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}

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

/* 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-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.col-span-2{grid-column:span 2 / span 2}
.col-span-3{grid-column:span 3 / span 3}
.col-span-5{grid-column:span 5 / span 5}
.col-span-6{grid-column:span 6 / span 6}
.col-span-7{grid-column:span 7 / span 7}
.col-span-12{grid-column:span 12 / span 12}

/* 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-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.16}
.text-6xl{font-size:3.75rem;line-height:1}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}
.font-medium{font-weight:500}
.uppercase{text-transform:uppercase}
.tracking-wider{letter-spacing:.05em}
.tracking-widest{letter-spacing:.1em}
.leading-tight{line-height:1.25}
.leading-relaxed{line-height:1.625}
.text-center{text-align:center}
.text-left{text-align:left}
.text-right{text-align:right}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Colors */
.text-ink{color:var(--ink)}
.text-ink-mute{color:var(--ink-mute)}
.text-ink-dim{color:var(--ink-dim)}
.text-brand-300{color:var(--brand-300)}
.text-brand-400{color:#1cf286}
.text-brand-500{color:var(--brand-500)}
.text-gold{color:var(--accent-gold)}
.text-accent-blue{color:var(--accent-blue)}
.text-accent-red{color:var(--accent-red)}
.text-accent-purple{color:var(--accent-purple)}
.text-black{color:#000}
.text-white{color:#fff}
.text-tg{color:var(--tg-blue)}
.bg-bg{background:var(--bg)}
.bg-bg-panel{background:var(--bg-panel)}
.bg-bg-card{background:var(--bg-card)}
.bg-bg-hover{background:var(--bg-hover)}
.bg-brand-500{background:var(--brand-500)}
.bg-brand-500\/5{background:rgba(0,214,115,.05)}
.bg-brand-500\/10{background:rgba(0,214,115,.10)}
.bg-brand-500\/15{background:rgba(0,214,115,.15)}
.bg-gold{background:var(--accent-gold)}
.bg-tg{background:var(--tg-blue)}
.bg-black\/20{background:rgba(0,0,0,.2)}
.bg-transparent{background:transparent}
.divide-y > * + *{border-top:1px solid var(--bg-line)}
.divide-bg-line > * + *{border-top:1px solid var(--bg-line)}

/* Borders / radius */
.border{border-width:1px}
.border-t{border-top-width:1px}
.border-b{border-bottom-width:1px}
.border-bg-line{border-color:var(--bg-line)}
.border-brand-500\/30{border-color:rgba(0,214,115,.30)}
.border-brand-500\/40{border-color:rgba(0,214,115,.40)}
.border-brand-500\/50{border-color:rgba(0,214,115,.50)}
.border-tg\/30{border-color:rgba(34,158,217,.30)}
.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}

/* Shadow / glow */
.shadow-card{box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 8px 24px rgba(0,0,0,.35)}
.shadow-glow{box-shadow:0 0 0 1px rgba(28,242,134,.25),0 8px 30px rgba(28,242,134,.15)}

/* Misc */
.cursor-pointer{cursor:pointer}
.select-none{user-select:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.transition{transition:all .15s ease}
.transition-all{transition:all .15s ease}
.duration-200{transition-duration:.2s}
.tabular-nums{font-variant-numeric:tabular-nums}
.line-through{text-decoration:line-through}
.fill-gold{fill:var(--accent-gold)}

/* ---------- Animations ---------- */
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(28,242,134,.45)}50%{box-shadow:0 0 0 12px rgba(28,242,134,0)}}
.animate-pulseGlow{animation:pulseGlow 2s infinite}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
.animate-ping{animation:ping 1.4s cubic-bezier(0,0,.2,1) infinite}
@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
.animate-slideUp{animation:slideUp .4s ease-out both}
@keyframes flash{0%{background:rgba(28,242,134,.25)}100%{background:transparent}}
.animate-flash{animation:flash 1.2s ease-out}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.animate-blink{animation:blink 1.2s ease-in-out infinite}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.animate-ticker{animation:ticker 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.animate-spin{animation:spin 1s linear infinite}

/* ---------- Gradients / backgrounds ---------- */
.bg-grid{background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px}
.bg-glow-green{background:radial-gradient(circle at 50% 0%,rgba(28,242,134,.18),transparent 60%)}
.bg-glow-blue{background:radial-gradient(circle at 50% 0%,rgba(79,155,255,.18),transparent 60%)}
.bg-glow-gold{background:radial-gradient(circle at 50% 0%,rgba(255,200,87,.18),transparent 60%)}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.from-tg\/10{--tw-gradient-from:rgba(34,158,217,.10);--tw-gradient-stops:var(--tw-gradient-from),transparent}
.to-transparent{--tw-gradient-to:transparent}
.text-gradient-green{background:linear-gradient(90deg,#4fffa8,#1cf286);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.text-gradient-gold{background:linear-gradient(90deg,#ffd76b,#ffc857);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0a0e17}
::-webkit-scrollbar-thumb{background:#1f2a44;border-radius:5px}
::-webkit-scrollbar-thumb:hover{background:#2a3858}

/* Range input */
input[type="range"]{-webkit-appearance:none;height:6px;background:#1f2a44;border-radius:3px;outline:none}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#1cf286;cursor:pointer;border:2px solid #0a0e17}
input[type="range"]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#1cf286;cursor:pointer;border:2px solid #0a0e17}

/* Form controls */
input[type="text"],input[type="email"],input[type="password"],input[type="number"],select,textarea{
  width:100%;background:var(--bg-panel);border:1px solid var(--bg-line);
  color:var(--ink);border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;
  transition:border-color .15s,box-shadow .15s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(28,242,134,.15)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;border-radius:.5rem;transition:all .15s;white-space:nowrap;cursor:pointer;border:1px solid transparent;line-height:1.25}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-sm{height:2.25rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem}
.btn-md{height:2.5rem;padding-left:1rem;padding-right:1rem;font-size:.875rem}
.btn-lg{height:3rem;padding-left:1.5rem;padding-right:1.5rem;font-size:1rem}
.btn-xl{height:3.5rem;padding-left:2rem;padding-right:2rem;font-size:1.125rem}
.btn-primary{background:var(--brand);color:#000;box-shadow:0 0 0 1px rgba(28,242,134,.25),0 8px 30px rgba(28,242,134,.15)}
.btn-primary:hover{background:#4fffa8;box-shadow:0 0 0 1px rgba(28,242,134,.4),0 12px 40px rgba(28,242,134,.25)}
.btn-secondary{background:var(--bg-card);color:var(--ink);border-color:var(--bg-line)}
.btn-secondary:hover{background:var(--bg-hover)}
.btn-outline{background:transparent;color:var(--brand-300);border-color:rgba(28,242,134,.40)}
.btn-outline:hover{background:rgba(28,242,134,.10);border-color:rgba(28,242,134,.60)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--bg-hover)}
.btn-gold{background:var(--accent-gold);color:#000;box-shadow:0 0 0 1px rgba(255,200,87,.4),0 8px 30px rgba(255,200,87,.25)}
.btn-gold:hover{background:#ffd76b}
.btn-tg{background:var(--tg-blue);color:#fff}
.btn-tg:hover{background:#1f8dc4}
.btn-block{width:100%}

/* ---------- Cards ---------- */
.card{background:var(--bg-card);border-radius:.75rem;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 8px 24px rgba(0,0,0,.35);position:relative;overflow:hidden}
.card-bordered{border:1px solid var(--bg-line)}
.card-hover:hover{border-color:rgba(28,242,134,.40)}
.border-gradient{position:relative}
.border-gradient::before{content:'';position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,rgba(28,242,134,.4),rgba(79,155,255,.2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

/* ---------- Responsive ---------- */
@media (min-width:640px){
  .sm\:flex{display:flex}
  .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-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .sm\:block{display:block}
  .sm\:hidden{display:none}
  .sm\:text-2xl{font-size:1.5rem;line-height:2rem}
  .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .sm\:text-5xl{font-size:3rem;line-height:1.16}
  .sm\:p-8{padding:2rem}
  .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .sm\:py-24{padding-top:6rem;padding-bottom:6rem}
}
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:grid{display:grid}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .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\:hidden{display:none}
}
@media (min-width:1024px){
  .lg\:flex{display:flex}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:col-span-2{grid-column:span 2 / span 2}
}

/* ---------- Pricing toggle ---------- */
.toggle{display:inline-flex;align-items:center;gap:.25rem;background:var(--bg-panel);border:1px solid var(--bg-line);border-radius:9999px;padding:4px}
.toggle button{padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:600;color:var(--ink-mute);transition:all .15s;background:transparent;cursor:pointer}
.toggle button.active{background:var(--brand);color:#000}

/* ---------- Live counter pulse dot ---------- */
.pulse-dot{position:relative;display:inline-flex;height:.5rem;width:.5rem}
.pulse-dot::before{content:'';position:absolute;display:inline-flex;height:100%;width:100%;border-radius:50%;background:var(--brand);opacity:.75;animation:ping 1.4s cubic-bezier(0,0,.2,1) infinite}
.pulse-dot::after{content:'';position:relative;display:inline-flex;border-radius:50%;height:.5rem;width:.5rem;background:var(--brand)}

/* ---------- Terminal / dashboard ---------- */
.term{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-variant-numeric:tabular-nums}
.term-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:1024px){.term-grid{grid-template-columns:2fr 1fr}}
.kpi-up{color:#1cf286}
.kpi-down{color:#ff4d6d}
.flash-row{animation:flash 1.2s ease-out}

/* activity ticker */
.ticker-wrap{overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;gap:2.5rem;animation:ticker 60s linear infinite}

/* chat bubble / toast */
.toast{position:fixed;right:1.25rem;bottom:1.25rem;background:var(--bg-card);border:1px solid var(--bg-line);padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;box-shadow:0 8px 30px rgba(0,0,0,.5);z-index:50;animation:slideUp .3s ease-out}
