/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
:root{
  /* Palette (neutral dark-friendly) */
  --bg: #080d14;
  --bg-elev: #101923;
  --card: #141f2b;
  --muted: #8d9aaa;
  --text: #eef6f8;
  --primary: #53e0d0;
  --primary-600:#1ca8ad;
  --accent-ember: #ff7048;
  --success:#22c55e;
  --warning:#f59e0b;
  --danger:#ef4444;

  /* Shadows & radii */
  --shadow-sm: 0 1px 2px rgba(0,0,0,.25);
  --shadow-md: 0 6px 18px rgba(0,0,0,.25);
  --radius: 10px;

  /* Typography & spacing */
  --font: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  --fs-xxs:.75rem; /*12*/
  --fs-xs:.8125rem;/*13*/
  --fs-sm:.875rem; /*14*/
  --fs-md:1rem;    /*16*/
  --fs-lg:1.125rem;/*18*/
  --fs-xl:1.375rem;/*22*/
  --fs-2xl:1.75rem;/*28*/
  --fs-3xl:2rem;   /*32*/

  --sp-1:.25rem;
  --sp-2:.5rem;
  --sp-3:.75rem;
  --sp-4:1rem;
  --sp-5:1.25rem;
  --sp-6:1.5rem;
  --sp-8:2rem;
  --sp-10:2.5rem;
}

/* Base reset & layout */
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:400 var(--fs-md)/1.6 var(--font);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);margin:var(--sp-6) 0}
.container{width:min(1120px, 92%);margin:0 auto}
.card{
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:var(--sp-6);
  border:1px solid rgba(255,255,255,.06);
}
.shadow-md{box-shadow:var(--shadow-md)}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.6rem 1rem;border-radius:12px;
  border:1px solid transparent;cursor:pointer;
  background:linear-gradient(135deg, var(--primary), var(--primary-600));
  color:white;font-weight:600;letter-spacing:.2px;
  box-shadow:0 6px 16px rgba(83,224,208,.18);
  transition:transform .08s ease, filter .15s ease, box-shadow .15s ease;
}
.btn:hover{filter:brightness(1.08);box-shadow:0 8px 20px rgba(83,224,208,.28)}
.btn:active{transform:translateY(1px)}
.btn-outline{
  background:transparent;border-color:rgba(255,255,255,.14);
  color:var(--text)
}
.btn-outline:hover{background:rgba(255,255,255,.06)}
.btn-danger{background:linear-gradient(135deg,var(--accent-ember),#c43b32);box-shadow:0 6px 16px rgba(255,112,72,.22)}

/* Inputs */
input[type="text"],
input[type="number"],
input[type="password"],
input[type="email"],
select, textarea{
  width:100%;
  color:var(--text);
  background:var(--bg-elev);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  padding:.7rem .9rem;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
input::placeholder, textarea::placeholder{color:rgba(231,236,243,.55)}
input:focus, textarea:focus, select:focus{
  border-color:rgba(79,140,255,.6);
  box-shadow:0 0 0 3px rgba(83,224,208,.18);
}
.form-row{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}
@media (min-width: 720px){.form-row.cols-2{grid-template-columns:1fr 1fr}}

/* Tables */
.table{
  width:100%;border-collapse:separate;border-spacing:0;
  background:var(--card);border-radius:14px;overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
}
.table th,.table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
.table thead th{text-align:left;font-weight:700;font-size:var(--fs-sm);color:var(--muted);background:rgba(255,255,255,.03)}
.table tbody tr:hover{background:rgba(255,255,255,.03)}
.table tbody tr:last-child td{border-bottom:none}
.badge{
  display:inline-block;padding:.2rem .5rem;border-radius:999px;
  font-size:var(--fs-xs);font-weight:700;letter-spacing:.2px
}
.badge.success{background:rgba(34,197,94,.15);color:#8be6a5}
.badge.warn{background:rgba(245,158,11,.15);color:#ffd28a}
.badge.danger{background:rgba(239,68,68,.15);color:#ff9b9b}

/* Nav / header */
.navbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--sp-4) 0;margin-bottom:var(--sp-6);
}
.navbar .brand{font-weight:800;font-size:var(--fs-xl);letter-spacing:.3px}
.navbar .actions{display:flex;gap:var(--sp-3)}

/* Sections */
.section{margin:var(--sp-8) 0}
.section .title{font-size:var(--fs-2xl);font-weight:800;margin-bottom:var(--sp-3)}
.section .subtitle{color:var(--muted);margin-bottom:var(--sp-5)}

/* Utilities */
.grid{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}
.grid.cols-2{grid-template-columns:1fr 1fr}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}
.stack > * + *{margin-top:var(--sp-4)}
.flex{display:flex;gap:var(--sp-3)}
.flex.center{align-items:center}
.flex.between{justify-content:space-between}
.p-0{padding:0}.p-4{padding:var(--sp-4)}.p-6{padding:var(--sp-6)}
.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-6{margin-bottom:var(--sp-6)}

.mobile-app-nav{display:none}
@media (max-width:699px){
  .mobile-app-nav{
    position:fixed;inset:auto 0 0;z-index:1000;
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    padding:7px 12px calc(7px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(255,255,255,.1);
    background:rgba(8,13,20,.96);
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  }
  .mobile-app-nav a,.mobile-app-nav button{
    position:relative;min-width:0;min-height:48px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    padding:4px 8px;border:0;border-radius:8px;
    color:#91a0af;background:transparent;text-decoration:none;
    font:600 11px/1.1 var(--font);cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transition:color .16s ease,background-color .16s ease;
  }
  .mobile-app-nav a::before,.mobile-app-nav button::before{
    content:"";position:absolute;top:-7px;left:50%;width:24px;height:2px;
    border-radius:0 0 2px 2px;background:transparent;transform:translateX(-50%);
  }
  .mobile-app-nav a svg,.mobile-app-nav button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
  .mobile-app-nav a.is-active,.mobile-app-nav button.is-active{color:#53e0d0;background:rgba(83,224,208,.07)}
  .mobile-app-nav a.is-active::before,.mobile-app-nav button.is-active::before{background:#53e0d0}
  .mobile-app-nav a:hover,.mobile-app-nav button:hover{color:#eef6f8}
  .mobile-app-nav a:active,.mobile-app-nav button:active{transform:translateY(1px)}
  .mobile-app-nav button:disabled,.mobile-app-nav button.is-disabled{opacity:.42;cursor:not-allowed}
  .mobile-app-nav a:focus-visible,.mobile-app-nav button:focus-visible{outline:2px solid #53e0d0;outline-offset:-2px}
}
@media (prefers-reduced-motion:reduce){.mobile-app-nav a,.mobile-app-nav button{transition:none}}

/* --- Original specific rules preserved below --- */

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!./src/app/components/runScraper.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
/* Global body styles */
body {
  background: #080d14 !important;
  margin: 0;
  padding: 0;
  min-height: 100svh;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
}

html,
.cover-container,
.body {
  height: auto;
  min-height: 100svh;
  min-height: 0;
}

/* Scraper page */
.body {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  text-align: center;
  color: var(--text);
  background: #080d14;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
  top: auto !important;
}

/* Container styles */
.cover-container {
  width: 100%;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  background: #080d14;
}
.masthead {
  margin-bottom: 0.1rem;
  text-align: center;
}
.masthead-brand {
  color: white;
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0;
}
.inner {
  width: 100%;
  text-align: center;
}

/* The app owns the viewport; do not leave a centered phone-sized island on desktop. */
@media (min-width: 700px) {
  .sniper-form,
  .active-trading-shell {
    max-width: 760px;
  }

  .sniper-form {
    padding-inline: 24px;
  }

  .active-trading-shell {
    padding-inline: 24px;
  }
}
/* Status & controls */
.trading-status {
  display: block !important;
  margin-bottom: 20px;
  text-align: center;
  margin-top: 0px; /* Move closer to top */
  min-height: 30px;
}
.trading-status > div {
  display: block !important;
}
.trading-status .badge {
  display: inline-block !important;
  margin: 5px;
}
.stopTrading {
  display: block;
  margin: 25px 0;
}
.stopTrading.hidden {
  display: none;
}
.checkbox {
  width: 18px;
  height: 18px;
  margin-top: 5px;
  margin-bottom: 10px;
}
.checkbox-label {
  margin-left: 0.25rem;
  margin-top: 20px;
}
.bought {
  margin-top: var(--sp-3);
  font-weight: 700;
  letter-spacing: 0.3px;
  color: #8be6a5;
}
.not-found {
  margin-top: var(--sp-3);
  font-weight: 700;
  letter-spacing: 0.3px;
  color: #ff9b9b;
}

/* Active trading screen: dark, layered monitoring dashboard inspired by code.html. */
.session-resolving-shell {
  display: grid;
  place-content: center;
  grid-gap: 12px;
  gap: 12px;
  min-height: 100dvh;
  color: #8993a3;
  background: #080d14;
  font: 700 11px monospace;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}

.session-resolving-mark {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin: 0 auto;
  color: #53e0d0;
  background: rgba(0, 255, 135, 0.1);
  border: 1px solid rgba(0, 255, 135, 0.3);
  border-radius: 10px;
  font-size: 23px;
  animation: session-resolving-pulse 1.2s ease-in-out infinite;
}

.active-trading-shell,
.sniper-form {
  animation: screen-enter 360ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes screen-enter {
  /* Keep the shell free of transforms so fixed headers stay viewport-fixed. */
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes session-resolving-pulse {
  50% { opacity: 0.55; transform: scale(0.94); }
}

@media (prefers-reduced-motion: reduce) {
  .active-trading-shell,
  .sniper-form,
  .session-resolving-mark {
    animation: none;
  }
}

.active-trading-shell {
  --active-bg: #080b10;
  --active-panel: #111722;
  --active-panel-deep: #0c1119;
  --active-line: rgba(255, 255, 255, 0.08);
  --active-muted: #8993a3;
  --active-text: #f5f7fa;
  --active-green: #53e0d0;
  --active-cyan: #9af7ed;
  height: 100dvh;
  min-height: 0;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 78px 16px 14px;
  color: var(--active-text);
  background: #080d14;
  text-align: left;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}
.active-trading-header,
.active-account,
.active-section-heading,
.active-purchase-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.active-trading-header {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 40;
  width: min(760px, 100%);
  box-sizing: border-box;
  margin: 0;
  padding: 12px 16px 11px;
  flex-wrap: wrap;
  row-gap: 10px;
  transform: translateX(-50%);
  background: rgba(8, 13, 20, 0.96);
  border-bottom: 1px solid var(--active-line);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}
.active-brand {
  display: flex;
  align-items: center;
  gap: 9px;
}
.active-brand-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: var(--active-green);
  background: rgba(0, 255, 135, 0.12);
  border: 1px solid rgba(0, 255, 135, 0.35);
  border-radius: 8px;
  font-size: 20px;
}
.active-brand strong {
  display: block;
  font-size: 15px;
  letter-spacing: 0.08em;
  line-height: 1;
}
.active-brand em {
  color: var(--active-green);
  font-style: normal;
}
.active-brand small {
  display: block;
  margin-top: 4px;
  color: var(--active-muted);
  font-size: 11px;
}
.active-live {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  color: var(--active-green);
  background: rgba(0, 255, 135, 0.08);
  border: 1px solid rgba(0, 255, 135, 0.28);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.active-brand .header-notification,
.sniper-brand .header-notification {
  position: static;
  width: auto;
  min-height: 0;
  margin-top: 4px;
  padding: 0;
  transform: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  justify-content: flex-start;
  text-align: left;
  font-size: 11px;
  line-height: 1.2;
}
.active-brand .header-notification.alert-success,
.sniper-brand .header-notification.alert-success {
  color: var(--active-green, #00ff87);
}
.active-brand .header-notification.alert-danger,
.sniper-brand .header-notification.alert-danger {
  color: #ff9b9b;
}
.active-live i,
.active-section-heading i {
  width: 7px;
  height: 7px;
  display: inline-block;
  background: var(--active-green);
  border-radius: 50%;
  box-shadow: 0 0 9px var(--active-green);
}
.active-account {
  gap: 12px;
  padding: 7px 10px;
  background: rgba(17, 23, 34, 0.88);
  border: 1px solid var(--active-line);
  border-radius: 10px;
  color: #cbd2dc;
  font-family: monospace;
  font-size: 13px;
}
.active-account span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.active-account small {
  flex: 0 0 auto;
  color: var(--active-muted);
  font-family: inherit;
  font-size: 11px;
}
.active-account small i {
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 4px;
  background: var(--active-green);
  border-radius: 50%;
}
.active-trading-main {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  margin-top: 8px;
}
.active-target-panel,
.active-history-panel {
  padding: 12px;
  background: linear-gradient(150deg, rgba(17, 23, 34, 0.98), rgba(12, 17, 25, 0.98));
  border: 1px solid var(--active-line);
  border-radius: 14px;
}
.active-target-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  justify-content: space-between;
  align-items: flex-start;
  grid-gap: 10px;
  gap: 10px;
}
.active-price-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 1px;
  gap: 1px;
  margin-top: 8px;
  overflow: hidden;
  background: rgba(148, 163, 184, 0.18);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 12px;
}
.active-price-strip > div {
  padding: 7px 9px;
  background: rgba(15, 23, 42, 0.86);
}
.active-price-strip small {
  display: block;
  color: #cbd5e1;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.active-price-strip .active-buy-label {
  color: var(--active-cyan);
}
.active-price-strip .active-sell-label {
  color: var(--active-green);
}
.active-price-strip strong {
  display: block;
  margin-top: 2px;
  color: #ffffff;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
}
.active-price-strip strong span {
  color: #cbd5e1;
  font-size: 8px;
  font-weight: 500;
}
.active-target-image {
  flex: 0 0 auto;
  width: 130px;
  height: 174px;
  object-fit: contain;
  align-self: center;
  filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.38));
}
.player-suggestion-row {
  display: flex;
  align-items: center;
  gap: 9px;
}
.player-suggestion-item {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.player-suggestion-image {
  width: 72px;
  height: 82px;
  margin: -10px 0 -10px auto;
  flex: 0 0 auto;
  object-fit: contain;
  border-radius: 4px;
}
.active-eyebrow,
.active-section-heading,
.active-metrics small {
  color: var(--active-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.active-target-panel h1 {
  margin: 5px 0 3px;
  color: white;
  font-size: 23px;
  line-height: 1.1;
}
.active-player-rating {
  color: var(--active-green);
  font-size: 15px;
  vertical-align: middle;
}
.active-target-panel p {
  margin: 0;
  color: var(--active-muted);
  font-size: 13px;
}
.active-target-state {
  flex: 0 0 auto;
  padding: 4px 6px;
  color: var(--active-green);
  background: rgba(0, 255, 135, 0.1);
  border-radius: 4px;
  font-size: 11px;
  font-weight: 800;
}
@media (max-width: 480px) {
  .active-target-image {
    width: 105px;
    height: 140px;
  }
}
.active-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 8px;
  gap: 8px;
}

.active-mode {
  margin: 8px 0 0;
  color: #94a3b8;
  font-size: 11px;
  letter-spacing: 0.14em;
}

.active-mode strong {
  color: #e2e8f0;
  margin-left: 8px;
}
.active-login-step {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  padding: 18px;
  background: linear-gradient(135deg, rgba(17, 23, 34, 0.96), rgba(12, 17, 25, 0.96));
  border: 1px solid rgba(83, 224, 208, 0.24);
  border-radius: 10px;
}
.active-login-step strong {
  display: block;
  color: var(--active-cyan);
  font-size: 12px;
  letter-spacing: 0.12em;
}
.active-login-step p {
  margin: 5px 0 0;
  color: var(--active-muted);
  font-size: 12px;
  line-height: 1.45;
}
.active-login-spinner {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  border: 2px solid rgba(154, 247, 237, 0.2);
  border-top-color: var(--active-cyan);
  border-radius: 50%;
  animation: active-login-spin 0.8s linear infinite;
}
@keyframes active-login-spin {
  to { transform: rotate(360deg); }
}
.active-metrics > div {
  padding: 9px 6px;
  background: var(--active-panel);
  border: 1px solid var(--active-line);
  border-radius: 10px;
  text-align: center;
}
.active-metrics > div:first-child {
  border-color: rgba(0, 255, 135, 0.35);
}

.active-check-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.active-found-prices {
  grid-column: 1 / -1;
  text-align: left;
}

.active-found-prices > div {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .5rem;
}

.active-found-prices span {
  padding: .35rem .55rem;
  border: 1px solid rgba(83, 224, 208, .25);
  border-radius: var(--radius);
  color: var(--text);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: .78rem;
}
.active-profit-metric {
  border-color: rgba(183, 255, 60, 0.35) !important;
}
.active-profit-metric strong {
  color: #b7ff3c;
  font-size: 21px;
}
.active-metrics strong {
  display: block;
  margin: 4px 0 2px;
  font: 700 28px/1 monospace;
}
.active-metrics span {
  color: var(--active-muted);
  font-size: 11px;
}
.active-section-heading {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--active-line);
}
.active-section-heading span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #d8dee8;
}
.active-section-heading small {
  font-size: 11px;
}
.active-purchase-row {
  padding: 11px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.active-purchase-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.active-purchase-row b,
.active-purchase-row small {
  display: block;
}
.active-purchase-row b {
  font-size: 14px;
}
.active-purchase-row small {
  margin-top: 3px;
  color: var(--active-green);
  font-size: 11px;
}
.active-purchase-row strong {
  color: var(--active-cyan);
  font: 700 14px monospace;
}
.active-empty {
  margin: 18px 0 2px;
  color: var(--active-muted);
  font-size: 13px;
  text-align: center;
}
.active-stop-button {
  width: 100%;
  padding: 11px;
  color: #ffb4ac;
  background: rgba(186, 26, 26, 0.15);
  border: 1px solid rgba(255, 59, 48, 0.45);
  border-radius: 9px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition:
    background 0.2s,
    transform 0.2s;
}
.active-stop-button:hover {
  background: rgba(186, 26, 26, 0.3);
}
.active-stop-button:active {
  transform: translateY(1px);
}
.active-stop-button:focus-visible {
  outline: 2px solid var(--active-cyan);
  outline-offset: 3px;
}
.analysis-shell {
  min-height: 100dvh; width: 100%; max-width: 760px; margin: 0 auto; padding: 104px 16px 24px;
  box-sizing: border-box; color: #f5f7fa; background: #080d14; text-align: left; overflow: auto;
}
.analysis-header { position: fixed; top: 0; left: 50%; z-index: 40; width: min(760px, 100%); box-sizing: border-box; padding: 17px 16px; display: flex; justify-content: space-between; align-items: center; transform: translateX(-50%); background: rgba(8,13,20,.96); border-bottom: 1px solid rgba(255,255,255,.08); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.analysis-header .active-brand { display: flex; gap: 9px; align-items: center; }
.analysis-header em { color: #f59e0b; font-style: normal; font-size: 11px; }
.analysis-badge { color: #f59e0b; border: 1px solid rgba(245,158,11,.4); padding: 6px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.analysis-badge i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; background: #f59e0b; border-radius: 50%; }
.analysis-main { display: grid; grid-gap: 12px; gap: 12px; }
.analysis-hero, .analysis-results, .analysis-progress, .analysis-message { padding: 18px; background: linear-gradient(150deg,#111722,#0c1119); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; }
.analysis-hero small, .analysis-results-heading { color: #f59e0b; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.analysis-hero h1 { margin: 8px 0; font-size: 27px; }
.analysis-hero p { margin: 0; color: #8993a3; font-size: 13px; line-height: 1.5; }
.analysis-results-heading { display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.08); }
.analysis-results-heading small { color: #8993a3; }
.analysis-result-row { display: grid; grid-template-columns: 30px 1fr auto auto; grid-gap: 10px; gap: 10px; align-items: center; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.06); font-size: 13px; }
.analysis-result-row b { color: #f59e0b; font-family: monospace; }
.analysis-result-row span, .analysis-result-row em { color: #8993a3; font-size: 11px; font-style: normal; }
.analysis-result-row em { color: #53e0d0; }
.analysis-progress { display: grid; grid-gap: 8px; gap: 8px; color: #f59e0b; font-family: monospace; }
.analysis-login-step { display: flex; align-items: center; gap: 14px; padding: 22px 18px; background: linear-gradient(150deg,#111722,#0c1119); border: 1px solid rgba(245,158,11,.28); border-radius: 10px; }
.analysis-login-step strong { color: #f59e0b; font: 700 13px monospace; letter-spacing: .08em; }
.analysis-login-step p { margin: 6px 0 0; color: #8993a3; font-size: 13px; }
.analysis-spinner { width: 18px; height: 18px; flex: 0 0 auto; border: 2px solid rgba(245,158,11,.25); border-top-color: #f59e0b; border-radius: 50%; animation: analysis-spin .8s linear infinite; }
@keyframes analysis-spin { to { transform: rotate(360deg); } }
.analysis-progress span, .analysis-message { color: #8993a3; font-size: 13px; }
.analysis-message.error { color: #ff9b9b; }
.analysis-filter-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 12px; gap: 12px; }
.analysis-filter-grid label { display: grid; grid-gap: 5px; gap: 5px; color: #8b98aa; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.analysis-filter-grid input { width: 100%; box-sizing: border-box; padding: 10px; color: #e2e8f0; background: #152132; border: 1px solid #1e2e42; border-radius: 5px; }
@media (max-width: 480px) { .analysis-filter-grid { grid-template-columns: repeat(2, 1fr); } .analysis-result-row { grid-template-columns: 24px 1fr auto; } .analysis-result-row em { grid-column: 2 / -1; } }
@media (max-width: 699px) {
  .formDiv:has(.active-trading-shell) {
    padding-inline: 0;
  }

  .active-trading-shell {
    padding: 64px 12px calc(16px + env(safe-area-inset-bottom));
    min-height: 100svh;
    height: auto;
    overflow-y: visible;
  }
  .active-account {
    font-size: 13px;
  }
}

/* Final phone layout overrides: keep these last so legacy desktop rules cannot
   reintroduce viewport locking or undersized controls. */
@media (max-width: 699px) {
  body { min-height: 100svh; height: auto; overflow-x: hidden; overflow-y: auto; }
  .sniper-form,
  .active-trading-shell,
  .analysis-shell {
    max-width: none;
    height: auto;
    min-height: 100svh;
    overflow-y: visible;
  }
  .sniper-form { padding: 64px 12px calc(20px + env(safe-area-inset-bottom)); }
  .sniper-form-header,
  .active-trading-header { width: 100%; padding-inline: 12px; }
  .sniper-form-footer {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    margin-inline: -12px !important;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
    background: linear-gradient(180deg, rgba(8,13,20,0), rgba(8,13,20,.98) 30%);
    border-top: 0;
  }
  .sniper-form .inline-buttons { grid-template-columns: 1fr; }
  .sniper-form .inline-buttons .stopTrading,
  .sniper-form .inline-buttons .btn,
  .sniper-form select,
  .sniper-form input { min-height: 48px; }
  .sniper-form .checkbox { width: 24px; height: 24px; }
  .sniper-form .checkbox-label,
  .sniper-toggle-control strong { font-size: 13px; }
  .sniper-toggle-control { min-height: 60px; }
  .active-account { min-height: 44px; margin-top: 8px; }
  .active-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .active-metrics > div { min-height: 82px; }
  input, select, textarea { scroll-margin-top: 76px; scroll-margin-bottom: 128px; }
}

/* Mobile-first overrides. The app is phone-only, so the narrow layout is the
   source of truth rather than a compressed desktop layout. */
@media (max-width: 699px) {
  :root {
    --mobile-gutter: 12px;
    --mobile-touch-target: 48px;
  }

  button,
  select,
  input,
  textarea {
    min-height: var(--mobile-touch-target);
  }

  input,
  select,
  textarea {
    scroll-margin-top: 76px;
    scroll-margin-bottom: 128px;
  }

  .sniper-form {
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 100svh;
    padding: 64px var(--mobile-gutter) calc(20px + env(safe-area-inset-bottom));
    overflow: visible;
  }

  .sniper-form-header,
  .active-trading-header {
    width: 100%;
    padding: 10px var(--mobile-gutter);
  }

  .sniper-form-header {
    min-height: 56px;
  }

  .sniper-brand strong,
  .active-brand strong {
    font-size: 13px;
  }

  .sniper-brand em,
  .active-brand em {
    font-size: 11px;
  }

  .sniper-header-actions {
    gap: 4px;
  }

  .sniper-settings-tab,
  .sniper-mode-trigger {
    min-height: 42px;
    padding: 8px 9px;
  }

  .sniper-form-footer {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 30;
    width: auto;
    margin-inline: calc(var(--mobile-gutter) * -1) !important;
    padding: 12px var(--mobile-gutter) calc(12px + env(safe-area-inset-bottom));
    background: linear-gradient(180deg, rgba(8, 13, 20, 0), rgba(8, 13, 20, .98) 30%);
    border-top: 0;
  }

  .sniper-form .inline-buttons {
    grid-template-columns: 1fr;
  }

  .sniper-form .inline-buttons .stopTrading,
  .sniper-form .inline-buttons .btn {
    min-height: var(--mobile-touch-target);
    font-size: 12px !important;
  }

  .sniper-form .checkbox {
    width: 24px;
    height: 24px;
  }

  .sniper-form .checkbox-label,
  .sniper-toggle-control strong {
    font-size: 13px;
  }

  .sniper-toggle-control {
    min-height: 60px;
    padding: 11px 12px;
  }

  .sniper-toggle {
    width: 44px;
    height: 26px;
  }

  .sniper-toggle::after {
    width: 18px;
    height: 18px;
  }

  .sniper-toggle-control input:checked + .sniper-toggle::after {
    transform: translateX(16px);
  }

  .active-account {
    margin-top: 8px;
    padding: 10px 11px;
    min-height: 44px;
  }

  .active-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .active-metrics > div {
    min-height: 82px;
    padding: 10px 7px;
  }

  .active-metrics strong {
    font-size: 24px;
  }

  .active-metrics span {
    font-size: 12px;
  }

  .active-target-panel {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .active-target-images {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .active-target-state {
    grid-column: 2;
    grid-row: 1;
  }
}

/* New configuration screen: compact FUT market terminal */
.sniper-form {
  --sniper-bg: #070b10;
  --sniper-panel: #0e1620;
  --sniper-panel-2: #131e2c;
  --sniper-input: #152132;
  --sniper-line: #1e2e42;
  --sniper-muted: #8b98aa;
  --sniper-text: #e2e8f0;
  --sniper-cyan: #00f5d4;
  --sniper-volt: #00ff87;
  --sniper-amber: #f59e0b;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  box-sizing: border-box;
  height: 100dvh;
  min-height: 0;
  padding: 70px 16px 16px;
  color: var(--sniper-text);
  background: #080d14;
  text-align: left;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  gap: 12px;
}
.sniper-form-header {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(760px, calc(100% - 32px));
  box-sizing: border-box;
  padding: 16px 0 15px;
  flex-wrap: wrap;
  row-gap: 9px;
  transform: translateX(-50%);
  background: rgba(7, 11, 16, 0.96);
  border-bottom: 1px solid var(--sniper-line);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}

/* Keep the primary actions reachable while the configuration form scrolls. */
.sniper-form-footer {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 30;
  display: flex;
  gap: 10px;
  justify-content: stretch;
  margin: 12px -16px 0;
  padding: 12px 16px 16px;
  background: linear-gradient(180deg, rgba(8, 13, 20, 0), rgba(8, 13, 20, 0.98) 28%);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.sniper-form-footer .stopTrading {
  flex: 1 1;
  margin: 0 !important;
  min-height: 48px;
}

.sniper-form-footer .btn:focus-visible {
  outline: 2px solid var(--sniper-cyan);
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .sniper-form-footer {
    margin-inline: -10px;
    padding-inline: 10px;
  }
}
.sniper-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.sniper-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: var(--sniper-cyan);
  background: var(--sniper-panel);
  border: 1px solid var(--sniper-cyan);
  border-radius: 8px;
  font-size: 22px;
  box-shadow: 0 0 16px rgba(0, 245, 212, 0.2);
}
.sniper-brand strong {
  display: block;
  font-size: 14px;
  letter-spacing: 0.07em;
  white-space: nowrap;
  color: #fff;
}
.sniper-brand em {
  color: var(--sniper-cyan);
  font-style: normal;
}
.sniper-brand small {
  display: block;
  margin-top: 4px;
  color: var(--sniper-muted);
  font-size: 9px;
}
.sniper-ready {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  color: var(--sniper-volt);
  border: 1px solid rgba(0, 255, 135, 0.3);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.sniper-ready i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sniper-volt);
  box-shadow: 0 0 8px var(--sniper-volt);
}
.sniper-header-status {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 128px;
  min-width: 0;
  padding: 6px 8px;
  box-sizing: border-box;
  overflow: hidden;
  color: var(--sniper-volt);
  border: 1px solid rgba(0, 255, 135, 0.3);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.sniper-header-status::first-letter {
  color: currentColor;
}
.sniper-header-status i {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
}
.sniper-header-status.success {
  color: var(--sniper-volt);
}
.sniper-header-status.danger {
  color: #ff9b9b;
  border-color: rgba(239, 68, 68, 0.4);
}
.sniper-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sniper-mode-menu {
  position: relative;
}
.sniper-mode-trigger {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 8px;
  color: var(--sniper-text);
  background: var(--sniper-panel);
  border: 1px solid var(--sniper-line);
  border-radius: 7px;
  cursor: pointer;
  font: inherit;
  transition: border-color 0.2s, background 0.2s;
}
.sniper-mode-trigger:hover,
.sniper-mode-trigger.is-open {
  border-color: var(--sniper-cyan);
  background: rgba(0, 245, 212, 0.08);
}
.sniper-mode-trigger:focus-visible {
  outline: 2px solid var(--sniper-cyan);
  outline-offset: 2px;
}
.sniper-mode-trigger-label {
  color: var(--sniper-muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.sniper-mode-trigger strong {
  color: var(--sniper-cyan);
  font-size: 9px;
  letter-spacing: 0.06em;
}
.sniper-mode-trigger i {
  color: var(--sniper-muted);
  font-size: 8px;
  transition: transform 0.2s;
}
.sniper-mode-trigger.is-open i {
  transform: rotate(180deg);
}
.sniper-mode-popover {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 60;
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  width: 220px;
  padding: 6px;
  background: #0b1420;
  border: 1px solid var(--sniper-line);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
}
.sniper-mode-popover .sniper-mode-option {
  align-items: flex-start;
  min-height: auto;
  padding: 9px 10px;
  border-radius: 6px;
  text-align: left;
}
.sniper-mode-popover .sniper-mode-option small {
  display: block;
  color: var(--sniper-muted);
  font-size: 9px;
  line-height: 1.3;
}
.sniper-mode-popover .sniper-mode-option.is-selected small {
  color: #06151a;
}
.sniper-section {
  padding: 13px;
  background: var(--sniper-panel);
  border: 1px solid var(--sniper-line);
  border-radius: 12px;
  margin-bottom: 12px;
}
.sniper-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(30, 46, 66, 0.7);
  color: #dce5ef;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.09em;
}
.sniper-section-heading span {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sniper-section-heading b {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: var(--sniper-cyan);
  background: rgba(0, 245, 212, 0.1);
  border: 1px solid rgba(0, 245, 212, 0.3);
  border-radius: 5px;
  font-size: 9px;
}
.sniper-section-heading small {
  color: var(--sniper-muted);
  font-size: 8px;
  font-weight: 700;
}
.sniper-heading-meta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sniper-clear-button {
  padding: 3px 7px;
  color: var(--sniper-muted);
  background: transparent;
  border: 1px solid var(--sniper-line);
  border-radius: 5px;
  font: 700 8px/1 inherit;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    color 0.2s,
    border-color 0.2s,
    background 0.2s;
}
.sniper-clear-button:hover {
  color: var(--sniper-cyan);
  border-color: var(--sniper-cyan);
  background: rgba(0, 245, 212, 0.08);
}
.sniper-clear-button:active {
  transform: translateY(1px);
}
.sniper-clear-button:focus-visible {
  outline: 2px solid var(--sniper-cyan);
  outline-offset: 2px;
}
.sniper-clear-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.sniper-form .inline-inputs {
  gap: 8px;
  margin-bottom: 10px;
}
.sniper-form input.form,
.sniper-form select.form,
.sniper-form .code-type-dropdown,
.sniper-form .rarity-dropdown {
  min-height: 42px;
  padding: 10px 11px;
  border: 1px solid var(--sniper-line);
  border-radius: 8px;
  background: var(--sniper-input);
  color: var(--sniper-text);
  font-size: 12px;
  box-sizing: border-box;
}
.sniper-form input.form::placeholder {
  color: #68788c;
}
.sniper-form input.form:focus,
.sniper-form select:focus {
  border-color: var(--sniper-cyan);
  box-shadow: 0 0 0 2px rgba(0, 245, 212, 0.12);
  outline: none;
}
.sniper-form .sniper-target-row {
  margin-bottom: 10px !important;
}
.sniper-form .player-filter-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(130px, 0.9fr) minmax(110px, 0.75fr);
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
  position: relative;
}
.sniper-form .player-filter-grid > input,
.sniper-form .player-filter-grid > .player-search-field,
.sniper-form .player-filter-grid > select {
  min-width: 0;
  width: 100%;
}
.sniper-form .player-filter-grid > input,
.sniper-form .player-filter-grid > .player-search-field {
  grid-column: 1;
}
.player-search-field {
  position: relative;
  min-width: 0;
}
.player-search-field input.form {
  width: 100%;
  padding-right: 42px;
}
.player-search-clear {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 26px;
  height: 26px;
  padding: 0;
  transform: translateY(-50%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}
.player-search-clear:hover {
  background: rgba(255, 255, 255, 0.18);
}
.player-search-clear:focus-visible {
  outline: 2px solid var(--sniper-cyan);
  outline-offset: 2px;
}
.sniper-form .player-filter-grid > select[name="rarity"] {
  grid-column: 2;
}
.sniper-form .player-filter-grid > select[name="quality"] {
  grid-column: 3;
}
@media (max-width: 760px) {
  .sniper-form .player-filter-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .sniper-form .player-filter-grid > input {
    grid-column: 1 / -1;
  }
  .sniper-form .player-filter-grid > .player-search-field {
    grid-column: 1 / -1;
  }
  .sniper-form .player-filter-grid > select[name="rarity"],
  .sniper-form .player-filter-grid > select[name="quality"] {
    grid-column: auto;
  }
}
.sniper-form .sniper-filter-row {
  margin-bottom: 0;
}
.target-sell-override-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  color: #dbe8ff;
  font-size: 13px;
}
.target-sell-override-toggle input {
  accent-color: #4f8cff;
}
.target-sell-override-help {
  display: block;
  margin-top: 6px;
  color: #91a4c2;
}
.custom-sell-prices-section {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid rgba(79, 140, 255, 0.35);
  background: rgba(18, 34, 61, 0.45);
}
.custom-sell-prices-heading small {
  display: block;
  margin-top: 4px;
  color: #91a4c2;
}
.custom-sell-prices-fields {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr auto;
  grid-gap: 8px;
  gap: 8px;
  margin-top: 12px;
}
.custom-sell-prices-fields input { min-width: 0; }
.custom-sell-player-field { position: relative; min-width: 0; }
.custom-sell-player-field input { width: 100%; }
.custom-sell-player-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 20;
  max-height: 180px;
  overflow-y: auto;
  color: #fff;
  background: #222;
  border: 1px solid #4f8cff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(79, 140, 255, 0.12);
}
.custom-sell-player-suggestions .player-suggestion-item {
  padding: 10px 16px !important;
  cursor: pointer;
  border-bottom: 1px solid #333;
  font-size: 1rem;
}
.custom-sell-player-suggestions .player-suggestion-item:last-child {
  border-bottom: 0;
}
.custom-sell-player-suggestions .player-suggestion-item:hover {
  background: #2d3d5c;
}
.custom-sell-prices-list { margin-top: 10px; }
.custom-sell-price-row {
  display: grid;
  grid-template-columns: 1.5fr 1fr auto;
  grid-gap: 10px;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-top: 1px solid rgba(145, 164, 194, 0.18);
  color: #dbe8ff;
}
.custom-sell-price-row span { color: #91a4c2; }
@media (max-width: 760px) {
  .sniper-form .sniper-filter-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sniper-form .sniper-filter-row > select,
  .sniper-form .sniper-filter-row > input {
    width: 100% !important;
    flex: none !important;
    min-width: 0 !important;
  }
  .custom-sell-prices-fields,
  .custom-sell-price-row { grid-template-columns: 1fr; }
}
.sniper-form .sniper-pricing-section {
  clear: both;
  display: block;
  width: 100%;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--sniper-line);
}
.sniper-form .sniper-pricing-section .two-columns-grid {
  position: static;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: stretch !important;
  align-items: stretch;
  width: 100%;
  margin: 0;
}
.sniper-form .sniper-pricing-section .two-columns-grid > .form-group {
  min-width: 0;
  width: 100% !important;
}
.sniper-form .sniper-pricing-section .two-columns-grid > .form-group:only-child {
  grid-column: 1 / -1;
}
.sniper-form .sniper-pricing-section .form-group {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  .sniper-form .sniper-pricing-section .two-columns-grid {
    grid-template-columns: 1fr;
  }
}
.sniper-form .sniper-filter-row select,
.sniper-form .sniper-filter-row input {
  width: 100%;
  max-width: none !important;
}
.sniper-form .sniper-toggle-row {
  justify-content: flex-start !important;
  margin: 12px 0 0 !important;
  padding: 10px 11px;
  background: rgba(21, 33, 50, 0.7);
  border: 1px solid var(--sniper-line);
  border-radius: 8px;
}
.sniper-form .checkbox {
  width: 16px;
  height: 16px;
  accent-color: var(--sniper-cyan);
  margin: 0;
}
.sniper-form .checkbox-label {
  color: #b8c5d4;
  font-size: 11px;
}
.sniper-mode-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 3px;
  gap: 3px;
  padding: 3px;
  overflow: hidden;
  border: 1px solid var(--sniper-line);
  border-radius: 999px;
  background: #0b1420;
}
.sniper-mode-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 44px;
  padding: 8px 10px;
  color: inherit;
  text-align: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    transform 0.2s;
}
.sniper-mode-option:last-child {
  border-right: 0;
}
.sniper-mode-option strong {
  color: #dce5ef;
  font-size: 11px;
  font-weight: 700;
}
.sniper-mode-option small {
  display: none;
}
.sniper-mode-option.is-selected {
  background: var(--sniper-cyan);
  box-shadow: 0 0 12px rgba(0, 245, 212, 0.25);
}
.sniper-mode-option.is-selected strong,
.sniper-mode-option.is-selected small {
  color: #06151a;
}
.sniper-mode-option:hover {
  background: rgba(0, 245, 212, 0.06);
}
.sniper-mode-option.is-selected:hover {
  background: var(--sniper-cyan);
}
.sniper-mode-option:focus-visible {
  outline: 2px solid var(--sniper-cyan);
  outline-offset: -3px;
}
.sniper-mode-option:active {
  transform: translateY(1px);
}
.sniper-mode-description {
  margin-top: 8px;
  padding: 8px 10px;
  color: var(--sniper-muted);
  background: rgba(21, 33, 50, 0.7);
  border: 1px solid var(--sniper-line);
  border-radius: 7px;
  font-size: 10px;
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 640px) {
  .sniper-header-actions {
    gap: 5px;
  }
  .sniper-mode-trigger-label {
    display: none;
  }
  .sniper-mode-trigger strong {
    font-size: 8px;
  }
  .sniper-mode-popover {
    /* Escape the scroll container so the menu is not clipped by the form's
       overflow rules on narrow screens. Keep it inside the viewport. */
    position: fixed;
    top: 58px;
    right: 12px;
    width: min(220px, calc(100vw - 24px));
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
  }
  .sniper-mode-options {
    border-radius: 12px;
  }
  .sniper-mode-option {
    min-width: 0;
    padding-inline: 5px;
  }
  .sniper-mode-option strong,
  .sniper-mode-option small {
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.sniper-toggle-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 10px 11px;
  background: rgba(21, 33, 50, 0.7);
  border: 1px solid var(--sniper-line);
  border-radius: 8px;
  cursor: pointer;
}
.sniper-toggle-control > span:first-child {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.sniper-toggle-control strong {
  color: #dce5ef;
  font-size: 11px;
  font-weight: 700;
}
.sniper-toggle-control small {
  color: var(--sniper-muted);
  font-size: 9px;
  line-height: 1.3;
}
.sniper-toggle-control input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.sniper-toggle {
  position: relative;
  flex: 0 0 auto;
  width: 38px;
  height: 22px;
  border: 1px solid #38516b;
  border-radius: 999px;
  background: #0b1420;
  transition:
    background 0.2s,
    border-color 0.2s;
}
.sniper-toggle::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #718096;
  transition:
    transform 0.2s,
    background 0.2s;
}
.sniper-toggle-control input:checked + .sniper-toggle {
  background: rgba(0, 245, 212, 0.18);
  border-color: var(--sniper-cyan);
}
.sniper-toggle-control input:checked + .sniper-toggle::after {
  background: var(--sniper-cyan);
  transform: translateX(16px);
  box-shadow: 0 0 8px rgba(0, 245, 212, 0.45);
}
.sniper-toggle-control:focus-within {
  border-color: var(--sniper-cyan);
  box-shadow: 0 0 0 2px rgba(0, 245, 212, 0.12);
}
.sniper-toggle-control:active {
  transform: translateY(1px);
}
.sniper-form .two-columns-grid {
  gap: 8px;
  margin: 0 0 10px;
  align-items: stretch;
}
.sniper-form .two-columns-grid .form-group {
  max-width: none;
  padding: 11px;
  background: var(--sniper-input);
  border: 1px solid var(--sniper-line);
  border-radius: 9px;
  align-items: stretch;
}
.sniper-form .two-columns-grid label {
  margin: 0 0 6px;
  color: var(--sniper-muted);
  font-size: 9px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.sniper-form .two-columns-grid input {
  padding: 10px;
  min-height: 40px;
  background: #0d1827;
  border: 1px solid var(--sniper-line);
  border-radius: 7px;
  color: #fff;
}
.sniper-form .price-fields-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 8px;
  gap: 8px;
  width: 100%;
}
.sniper-form .price-fields-grid > div {
  min-width: 0;
}
.sniper-form .price-fields-grid label {
  display: block;
}
.sniper-form .price-fields-grid input {
  width: 100%;
  box-sizing: border-box;
}
.sniper-form .inline-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 8px;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--sniper-line);
}
.sniper-form-footer {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 12px 0;
  background: transparent;
  border-top: 1px solid var(--sniper-line);
}
.sniper-form .inline-buttons .stopTrading {
  margin: 0 !important;
  min-height: 46px;
  border-radius: 8px !important;
  font-size: 11px !important;
}
.sniper-form .inline-buttons .btn-primary {
  background: linear-gradient(90deg, #0070f3, var(--sniper-cyan)) !important;
  color: #061118;
}
.sniper-form .inline-buttons .btn-danger {
  background: linear-gradient(90deg, #ef4444, #f97316) !important;
}
.sniper-form .alert {
  margin: 0;
}
@media (max-width: 420px) {
  .sniper-form {
    padding-inline: 12px;
  }
  .sniper-form-footer {
    width: 100%;
  }
  .sniper-brand strong {
    font-size: 13px;
  }
  .sniper-ready {
    font-size: 8px;
  }
  .sniper-section-heading small {
    display: none;
  }
}

/* Form layout */
.two-columns-grid {
  display: flex !important;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin: 25px 0;
  width: 100%;
}
.two-columns-grid .form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  align-items: center;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}
.two-columns-grid label {
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  text-align: left;
  font-weight: 500;
}
.two-columns-grid input {
  width: 100%;
  padding: 15px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 14px;
}
.two-columns-grid input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}
.two-columns-grid input:focus {
  outline: none;
  border-color: rgba(79, 140, 255, 0.6);
  box-shadow: 0 0 0 3px rgba(79, 140, 255, 0.2);
}
@media (max-width: 600px) {
  .two-columns-grid {
    flex-direction: column;
    gap: 10px;
    margin-block: 14px;
  }

  .two-columns-grid .form-group {
    max-width: none;
    padding: 11px;
  }
}
/* Main container */
.formDiv {
  max-width: 760px;
  width: 100%;
  padding: 0 16px 24px;
  margin: 0 auto;
  min-height: 0;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}
.player-suggestion-details {
  display: block;
  margin-top: 3px;
  color: #aab7cf;
  font-size: 0.78rem;
}
/* Keep the form locked to the viewport. */
.formDiv form {
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  max-height: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 10px;
}
/* Keep trading-status and submit button always visible */
.trading-status {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background: transparent;
  padding-bottom: 8px;
}
.submit {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 10;
  background: transparent;
  margin-top: 25px;
}
/* Prevent submit button from being pushed out of view */
.formDiv form > .submit {
  margin-bottom: 0;
}

/* Submit button spacing */
.submit {
  position: relative;
  text-align: center;
  padding: 15px 25px;
  width: 100%;
  margin-top: 25px;
}

/* Alert styling */
.alert {
  /* Keep notifications below the fixed page header instead of underneath it. */
  position: fixed;
  top: 70px;
  left: 50%;
  z-index: 50;
  width: min(760px, calc(100% - 32px));
  box-sizing: border-box;
  transform: translateX(-50%);
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 15px;
  border-radius: 8px;
  text-align: center;
  transition:
    background 0.2s,
    color 0.2s;
}
.header-notification:empty {
  display: none !important;
}
.alert.alert-success {
  background: rgba(34, 197, 94, 0.2);
  border: 1px solid rgba(34, 197, 94, 0.3);
  color: #8be6a5;
}
.alert.alert-danger {
  background: rgba(239, 68, 68, 0.2);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: #ff9b9b;
}
.code-type-dropdown {
  padding: 7px 12px;
  font-size: 15px;
  border-radius: 6px;
  border: 1px solid #bdbdbd;
  background: linear-gradient(90deg, #1074e8 0%, #011626 100%);
  color: white;
  margin-left: 0;
  margin-right: 0;
  min-width: 100px;
  /* max-width: 300px; */
  height: 36px;
  outline: none;
  transition: border-color 0.2s;
  flex: 0 0 130px;
}

.code-type-dropdown:focus {
  border-color: #4f8cff;
  box-shadow: 0 0 0 2px rgba(79, 140, 255, 0.15);
}

.code-input {
  min-width: 100px;
  flex: 2 1;
}
.rarity-dropdown {
  padding: 7px 12px;
  font-size: 13px !important;
  border-radius: 6px;
  border: 1px solid #bdbdbd;
  background: linear-gradient(90deg, #1074e8 0%, #011626 100%);
  color: white;
  min-width: 100px;
  height: 36px;
  outline: none;
  transition: border-color 0.2s;
}

/* Keep the compact labels fully visible in the narrow form controls. */
.sniper-form .code-type-dropdown {
  font-size: 13px !important;
}
.trading-info.sleek-trading-info,
.trading-status .sleek-trading-info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin: 18px 0 12px 0;
  padding: 14px 0;
  background: rgba(79, 140, 255, 0.08);
  border-radius: 14px;
  box-shadow: 0 2px 12px 0 rgba(79, 140, 255, 0.08);
}

.badge.trading,
.badge-success.trading {
  background: linear-gradient(90deg, #4f8cff 60%, #6fc3ff 100%);
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  padding: 10px 22px;
  border-radius: 8px;
  box-shadow: 0 1px 6px 0 rgba(79, 140, 255, 0.1);
  display: flex;
  align-items: center;
  letter-spacing: 0.5px;
  border: none;
}

.badge.bought,
.badge-success.bought {
  background: linear-gradient(90deg, #e6f9f0 60%, #c6f7e2 100%);
  color: #1a7f5a;
  font-weight: 500;
  font-size: 15px;
  padding: 9px 18px;
  border-radius: 8px;
  border: 1px solid #b7e6d7;
  display: flex;
  align-items: center;
}

.badge.not-found,
.badge-danger.not-found {
  background: linear-gradient(90deg, #fff6e6 60%, #ffe7c6 100%);
  color: #b36b00;
  font-weight: 500;
  font-size: 15px;
  padding: 9px 18px;
  border-radius: 8px;
  border: 1px solid #ffe0b3;
  display: flex;
  align-items: center;
}

.badge.custom-badge,
.trading-status .badge.custom-badge {
  background: linear-gradient(90deg, #f7f7fa 60%, #e3e3e9 100%);
  color: #b71c1c;
  font-weight: 600;
  font-size: 16px;
  padding: 10px 22px;
  border-radius: 8px;
  border: 1px solid #e3e3e9;
  box-shadow: 0 1px 6px 0 rgba(183, 28, 28, 0.07);
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  margin: 0 auto;
}

.animated-splash-screen,
.fixed.top-0.left-0.w-screen.h-screen.z-\[9999\] {
  position: fixed !important;
  z-index: 99999 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: linear-gradient(120deg, #101820 60%, #1e2a3a 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  left: 0 !important;
  top: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  cursor: pointer;
  animation: splash-bg-gradient 2.5s linear infinite alternate;
}

.animated-splash-screen:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: -8px;
}

@media (prefers-reduced-motion: reduce) {
  .animated-splash-screen,
  .splash-logo-text {
    animation: none !important;
  }
}

/* Animated background gradient */
@keyframes splash-bg-gradient {
  0% {
    background: linear-gradient(120deg, #101820 60%, #1e2a3a 100%);
  }
  25% {
    background: linear-gradient(120deg, #1e2a3a 60%, #4f8cff 100%);
  }
  50% {
    background: linear-gradient(120deg, #4f8cff 60%, #101820 100%);
  }
  75% {
    background: linear-gradient(120deg, #1e2a3a 60%, #f44506 100%);
  }
  100% {
    background: linear-gradient(120deg, #101820 60%, #1e2a3a 100%);
  }
}

/* Animated floating shapes */
.splash-shape {
  position: absolute;
  border-radius: 50%;
  opacity: 0.18;
  filter: blur(2px);
  animation: splash-shape-float 6s ease-in-out infinite alternate;
}

/* Example for animated logo text */
.splash-logo-text {
  font-size: 3.2rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: #fff;
  text-shadow:
    0 4px 32px #4f8cff,
    0 1px 0 #222;
  animation: splash-logo-color 2s linear infinite alternate;
}

@keyframes splash-logo-color {
  0% {
    color: #fff;
    text-shadow:
      0 4px 32px #4f8cff,
      0 1px 0 #222;
  }
  50% {
    color: #4f8cff;
    text-shadow:
      0 4px 32px #f44506,
      0 1px 0 #222;
  }
  100% {
    color: #fff;
    text-shadow:
      0 4px 32px #ffe066,
      0 1px 0 #222;
  }
}

/* Fix for body/page offset interfering with splash screen */
body,
html {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  height: 100%;
  width: 100%;
  overflow-x: hidden;
  /* Remove or comment out the next line to allow vertical scrolling/pull-to-refresh */
  /* overflow-y: hidden !important; */
}

.body {
  /* Remove top offset for splash to be centered */
  top: 0 !important;
}

@keyframes splash-name-glow {
  0% {
    text-shadow:
      0 2px 16px #4f8cff,
      0 1px 0 #222;
  }
  50% {
    text-shadow:
      0 2px 24px #ffe066,
      0 1px 0 #222;
  }
  100% {
    text-shadow:
      0 2px 16px #f44506,
      0 1px 0 #222;
  }
}

input,
textarea,
select {
  font-size: 16px !important;
}

.inline-inputs {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}

.inline-inputs input,
select {
  flex: 1 1;
  padding: 8px;
  font-size: 14px;
}

.inline-buttons {
  display: flex;
  gap: 10px;
}

.inline-buttons button {
  flex: 1 1;
}

.stop-btn {
  background-color: #e74c3c;
  color: white;
}
.active-purchase-history {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(9, 14, 25, 0.72);
}

.active-history-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  color: #94a3b8;
  font-size: 10px;
  letter-spacing: 0.12em;
}

.active-history-heading span {
  color: #b7ff3c;
  font-family: monospace;
}

.active-history-list {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.active-history-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: #e2e8f0;
  font-size: 12px;
}

.active-history-row strong {
  color: #b7ff3c;
  font-family: monospace;
  white-space: nowrap;
}
.active-history-values {
  display: grid;
  justify-items: end;
  grid-gap: 2px;
  gap: 2px;
}
.active-history-values small {
  color: #b7ff3c;
  font-family: monospace;
  font-size: 10px;
}
.target-queue {
  display: grid;
  grid-gap: 7px;
  gap: 7px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}
.target-queue-item {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 62px;
  padding: 10px 12px 10px 16px;
  border: 1px solid rgba(0, 245, 212, 0.22);
  border-radius: 6px;
  background: linear-gradient(90deg, rgba(0, 245, 212, 0.07), rgba(15, 23, 42, 0.48));
  box-shadow: inset 3px 0 0 var(--sniper-cyan);
  color: #e2e8f0;
  font-size: 13px;
  transition: border-color 0.2s, background 0.2s, transform 0.2s;
}
.target-queue-item:hover {
  border-color: rgba(0, 245, 212, 0.58);
  background: linear-gradient(90deg, rgba(0, 245, 212, 0.12), rgba(15, 23, 42, 0.65));
  transform: translateX(2px);
}
.target-queue-item > div:first-child {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
  min-width: 0;
}
.target-queue-item strong {
  overflow: hidden;
  color: #f8fafc;
  font-size: 12px;
  letter-spacing: 0.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.target-queue-item small {
  color: #94a3b8;
  font-size: 11px;
}
.target-queue-item-paused {
  border-color: rgba(148, 163, 184, 0.22);
  background: rgba(15, 23, 42, 0.3);
  box-shadow: inset 3px 0 0 #64748b;
  opacity: 0.72;
}
.target-editor-banner { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:-2px 0 16px; padding:12px 14px; border:1px solid rgba(0,245,212,.18); border-left:3px solid var(--sniper-cyan); background:rgba(0,245,212,.045); }
.target-editor-banner.is-editing { border-color:rgba(255,190,92,.35); border-left-color:#ffbe5c; background:rgba(255,190,92,.06); }
.target-editor-banner > div { display:grid; grid-gap:3px; gap:3px; }
.target-editor-kicker { color:var(--sniper-cyan); font:700 9px/1 monospace; letter-spacing:.12em; text-transform:uppercase; }
.is-editing .target-editor-kicker { color:#ffbe5c; }
.target-editor-banner strong { color:#f5f7fa; font-size:14px; }
.target-editor-banner small { color:var(--sniper-muted); font-size:11px; }
.target-editor-group { padding:12px 0 14px; border-bottom:1px solid var(--sniper-line); }
.target-editor-group-heading { display:flex; align-items:center; gap:9px; margin-bottom:11px; }
.target-editor-group-heading > span { display:grid; place-items:center; width:22px; height:22px; color:var(--sniper-cyan); border:1px solid rgba(0,245,212,.3); border-radius:5px; font:700 9px monospace; }
.target-editor-group-heading div { display:grid; grid-gap:2px; gap:2px; }
.target-editor-group-heading strong { color:#e5edf7; font-size:12px; }
.target-editor-group-heading small { color:var(--sniper-muted); font-size:10px; }
.sniper-pricing-section .target-editor-group-heading { margin-bottom:12px; }
.target-queue { margin-top:18px; padding-top:16px; }
.target-queue-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.target-queue-heading div { display:grid; grid-gap:3px; gap:3px; }
.target-queue-heading strong { color:#e5edf7; font-size:13px; }
.target-queue-heading small { color:var(--sniper-muted); font-size:10px; }
.target-queue-heading > span { padding:4px 7px; color:var(--sniper-lime); border:1px solid rgba(183,255,60,.24); border-radius:999px; font:700 9px monospace; text-transform:uppercase; }
.target-save-button { width:100%; margin-top:4px; }
@media (max-width:760px) { .target-editor-banner { align-items:flex-start; flex-direction:column; } .target-editor-banner .sniper-clear-button { align-self:flex-start; } }
.target-trading-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--sniper-lime);
  padding: 5px 7px;
  border: 1px solid rgba(183, 255, 60, 0.26);
  border-radius: 999px;
  background: rgba(183, 255, 60, 0.06);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.target-trading-toggle input {
  width: 12px;
  height: 12px;
  accent-color: var(--sniper-lime);
  cursor: pointer;
}
.target-remove-button {
  color: #fb7185;
  border-color: rgba(251, 113, 133, 0.26);
}
.target-remove-button:hover {
  color: #fecdd3;
  border-color: #fb7185;
  background: rgba(251, 113, 133, 0.1);
}
.active-targets-list {
  margin-top: 12px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  padding-top: 10px;
}
.active-target-images {
  display: grid;
  align-items: stretch;
  grid-gap: 6px;
  gap: 6px;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
}
.active-target-card-content {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.active-target-images .active-target-image {
  flex: 0 0 58px;
  width: 58px;
  height: 78px;
  object-fit: contain;
}
.active-target-card {
  min-width: 0;
  padding: 7px 0;
  text-align: left;
}
.active-target-details {
  min-width: 0;
}
.active-target-details > strong {
  display: block;
  overflow: hidden;
  color: #f8fafc;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.active-target-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 4px;
  color: #94a3b8;
  font-size: 10px;
}
.active-target-card-prices {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  margin-top: 3px;
  color: #b7ff3c;
  font: 9px monospace;
  white-space: normal;
}
.active-targets-list-heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
  color: #94a3b8;
  font: 10px monospace;
  letter-spacing: 0.12em;
}
.active-targets-list-heading span {
  color: #b7ff3c;
}
.active-target-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) minmax(70px, 0.7fr) auto;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  padding: 6px 0;
  color: #dbe4ee;
  font-size: 12px;
}
.active-target-row b,
.active-target-row em {
  color: #b7ff3c;
  font: 11px monospace;
}
.active-target-row span {
  overflow: hidden;
  color: #94a3b8;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.active-target-row em {
  font-style: normal;
  white-space: nowrap;
}
.target-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.sniper-add-target-button {
  justify-self: start;
  margin-top: 3px;
  padding: 9px 14px;
  border: 1px solid rgba(0, 245, 212, 0.42);
  border-radius: 6px;
  background: rgba(0, 245, 212, 0.08);
  color: var(--sniper-cyan);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}
.sniper-add-target-button:hover {
  border-color: var(--sniper-cyan);
  background: rgba(0, 245, 212, 0.16);
  transform: translateY(-1px);
}
.sniper-add-target-button:active {
  transform: translateY(1px);
}
.sniper-add-target-button:focus-visible,
.target-trading-toggle:focus-within {
  outline: 2px solid var(--sniper-cyan);
  outline-offset: 2px;
}

.sniper-settings-tab,
.settings-close-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(0, 245, 212, 0.28);
  border-radius: 6px;
  padding: 8px 11px;
  background: rgba(0, 245, 212, 0.06);
  color: var(--sniper-cyan);
  font: 800 10px monospace;
  letter-spacing: .08em;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
}
.sniper-settings-tab:hover,
.settings-close-button:hover { background: rgba(0, 245, 212, .14); border-color: var(--sniper-cyan); }
.sniper-settings-tab:active,
.settings-close-button:active { transform: translateY(1px); }
.sniper-settings-tab:focus-visible,
.settings-close-button:focus-visible,
.backend-option:focus-within,
.backend-edit-list input:focus-visible { outline: 2px solid var(--sniper-cyan); outline-offset: 2px; }
.settings-panel { min-height: min(720px, 100dvh); }
.settings-panel .sniper-form-header { margin-bottom: 0; }
.settings-panel .sniper-brand small { display: block; margin-top: 4px; color: #8290a0; font: 9px monospace; letter-spacing: .12em; }
.settings-content { max-width: 720px; margin: 0 auto; padding: 34px 28px 48px; text-align: left; }
.settings-content .sniper-section-heading { margin-bottom: 12px; }
.settings-content .sniper-section-heading small { color: #8290a0; font: 9px monospace; letter-spacing: .1em; }
.settings-intro { margin: 0 0 24px; color: #9ca9b8; font-size: 13px; }
.backend-options { display: grid; grid-gap: 10px; gap: 10px; }
.backend-option { display: grid; grid-template-columns: 18px 1fr 18px; align-items: center; grid-gap: 12px; gap: 12px; padding: 15px; border: 1px solid rgba(255,255,255,.1); background: rgba(12,17,25,.74); cursor: pointer; }
.backend-option.is-selected { border-color: rgba(0,245,212,.7); background: rgba(0,245,212,.06); }
.backend-option input { accent-color: var(--sniper-cyan); }
.backend-option span { display: grid; grid-gap: 4px; gap: 4px; min-width: 0; }
.backend-option strong { color: #f5f7fa; font: 11px monospace; letter-spacing: .08em; }
.backend-option small { overflow: hidden; color: #91a0b1; font: 12px monospace; text-overflow: ellipsis; white-space: nowrap; }
.backend-option i { color: var(--sniper-cyan); opacity: 0; }
.backend-option.is-selected i { opacity: 1; }
.backend-edit-list { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 14px; gap: 14px; margin-top: 26px; }
.backend-edit-list label { display: grid; grid-gap: 7px; gap: 7px; color: #8290a0; font: 10px monospace; letter-spacing: .1em; }
.backend-edit-list input { width: 100%; padding: 11px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 5px; background: #0c1119; color: #e9f0f5; font: 12px monospace; }
.settings-active-note { display: flex; align-items: center; gap: 8px; margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); color: #8290a0; font: 10px monospace; letter-spacing: .05em; }
.settings-active-note i { color: var(--sniper-cyan); }
.settings-active-note code { overflow: hidden; color: #dce7ed; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 560px) {
  .settings-content { padding: 24px 16px 36px; }
  .backend-edit-list { grid-template-columns: 1fr; }
  .sniper-settings-tab { padding-inline: 8px; }
}
@media (max-width: 560px) {
  .target-queue-item {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .target-card-actions {
    width: 100%;
    justify-content: flex-end;
  }
  .active-purchase-history {
    margin-top: 10px;
    padding: 10px 12px;
  }
  .active-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  .active-metrics > div {
    min-width: 0;
    padding: 6px 3px;
    border-radius: 7px;
  }
  .active-metrics strong,
  .active-profit-metric strong {
    margin: 3px 0 1px;
    font-size: 17px;
  }
  .active-metrics small {
    font-size: 10px;
    letter-spacing: 0.02em;
  }
  .active-metrics span {
    display: block;
    min-height: 16px;
    font-size: 10px;
    line-height: 1.2;
  }
  .active-history-row {
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    font-size: 11px;
  }
  .active-history-row > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .active-history-values {
    flex: 0 0 auto;
  }
}

/* Phone-only layout: final overrides for the legacy terminal rules above. */
@media (max-width: 699px) {
  body { min-height: 100svh; height: auto; overflow-x: hidden; overflow-y: auto; }
  .sniper-form,
  .active-trading-shell,
  .analysis-shell {
    max-width: none;
    height: auto;
    min-height: 100svh;
    overflow-y: visible;
  }
  .sniper-form { padding: 64px 12px calc(20px + env(safe-area-inset-bottom)); }
  .sniper-form-header,
  .active-trading-header { width: 100%; padding-inline: 12px; }
  .sniper-form-footer {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    margin-inline: -12px !important;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
    background: linear-gradient(180deg, rgba(8,13,20,0), rgba(8,13,20,.98) 30%);
    border-top: 0;
  }
  .sniper-form .inline-buttons { grid-template-columns: 1fr; }
  .sniper-form .inline-buttons .stopTrading,
  .sniper-form .inline-buttons .btn,
  .sniper-form select,
  .sniper-form input { min-height: 48px; }
  .sniper-form .checkbox { width: 24px; height: 24px; }
  .sniper-form .checkbox-label,
  .sniper-toggle-control strong { font-size: 13px; }
  .sniper-toggle-control { min-height: 60px; }
  .active-account { min-height: 44px; margin-top: 8px; }
  .active-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .active-metrics > div { min-height: 82px; }
  input, select, textarea { scroll-margin-top: 76px; scroll-margin-bottom: 128px; }
}
.saved-target-run-selector {
  margin: 1rem 0 .25rem;
  padding: 1rem;
  border: 1px solid rgba(83, 224, 208, .19);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(83, 224, 208, .045), rgba(20, 31, 43, .7));
}
.saved-target-run-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.85rem; }
.saved-target-run-heading > div { display:grid; grid-gap:.2rem; gap:.2rem; }
.saved-target-run-heading strong { color:#eef6f8; font-size:.95rem; }
.saved-target-run-heading small,.saved-target-run-count { color:#91a0af; font-size:.76rem; }
.saved-target-run-heading a,.saved-target-run-empty a { color:#53e0d0; font-size:.78rem; font-weight:700; white-space:nowrap; }
.saved-target-run-list { display:grid; grid-gap:.5rem; gap:.5rem; }
.saved-target-run-item { display:flex; align-items:center; gap:.75rem; padding:.75rem; border:1px solid rgba(255,255,255,.075); border-radius:9px; background:rgba(8,13,20,.55); cursor:pointer; }
.saved-target-run-item:hover { border-color:rgba(83,224,208,.32); }
.saved-target-run-item input { flex:none; width:1rem; height:1rem; accent-color:#53e0d0; }
.saved-target-run-copy { flex:1 1; min-width:0; display:grid; grid-gap:.18rem; gap:.18rem; }
.saved-target-run-copy strong { overflow:hidden; color:#eef6f8; font-size:.84rem; text-overflow:ellipsis; white-space:nowrap; }
.saved-target-run-copy small { overflow:hidden; color:#91a0af; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.saved-target-run-copy .saved-target-run-prices { color:#c3d0d9; font-family:var(--mono); }
.saved-target-run-item.is-disabled { opacity:.6; }
.saved-target-run-toggle { min-width:2rem; color:#53e0d0; font:700 .65rem var(--mono); text-align:right; }
.saved-target-run-item.is-disabled .saved-target-run-toggle { color:#91a0af; }
.saved-target-run-count { margin:.75rem 0 0; text-align:right; }
.saved-target-run-empty { padding:1.15rem; border:1px dashed rgba(255,255,255,.12); border-radius:9px; color:#91a0af; font-size:.82rem; text-align:center; }
.saved-target-run-empty.is-error { color:#ffaaaa; }
@media (max-width:600px) { .saved-target-run-heading { align-items:flex-start; flex-direction:column; } }

/* Keep the phone header compact and reserve space above the persistent nav. */
@media (max-width:699px) {
  .sniper-form { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .sniper-form-header { flex-wrap: nowrap; min-height: 56px; padding-block: 8px; row-gap: 0; }
  .sniper-header-actions { flex: 0 0 auto; margin-left: auto; }
  .sniper-header-actions > .sniper-settings-tab,
  .sniper-header-status { display: none; }
  .sniper-brand strong { font-size: 12px; }
  .sniper-mode-trigger { min-height: 38px; }
  .sniper-form-footer { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .sniper-form .sniper-form-footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-panel { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .settings-panel .settings-close-button { display: none; }
  .active-trading-shell { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .active-trading-main { padding-bottom: 12px; }
}

