/* ==========================================================================
   legacy-auth/auth-preserved.css
   Extraido MECANICAMENTE de index.html (HEAD 40b1112) por p01-extract-auth.py.
   index.html sha256 de origem: 120D3B16886CF9B63A4F44527288A8427A149B98B429577DD09D3CB401DC93A2
   Bloco HTML do login: linhas 2048-2093
   Contem SOMENTE o que o login original precisa: regras do escopo .oracle-login
   / .oracle-field / .oracle-btn / .oracle-badge / #auth-*, as regras base de
   elemento, as variaveis CSS alcancadas por fecho transitivo e os @keyframes
   referenciados. Nao contem token do dashboard novo, Tailwind ou CDN de fonte.
   ========================================================================== */

:root {
  --cyan-4: #22d3ee;
  --cyan-5: #06b6d4;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-soft: cubic-bezier(.22, .61, .36, 1);
  --emerald-4: #34d399;
  --fg: #e8eefb;
  --fg-2: #a8b6d0;
  --fg-3: #6b7c9b;
  --fg-4: #4d5c77;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --grad-brand: linear-gradient(135deg, #22d3ee 0%, #6366f1 52%, #8b5cf6 100%);
  --grad-sheen: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.24) 45%, transparent 70%);
  --ink-900: #04060a;
  --line: rgba(148, 178, 224, .10);
  --r-xl: 26px;
  --rose-4: #fb7185;
}


/* ---- regras de base que o preflight do CDN fornecia (agora explicitas) ----
   Medido: sem elas o campo de e-mail cai de 46px para 41px de altura e o cartao
   muda 87px de altura, porque input/button deixam de herdar fonte e line-height
   e h1 para de ser resetado. Nenhuma dessas regras e de terceiro. */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; }
body { line-height: inherit; }
blockquote, dl, dd, figure, p, pre { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
fieldset { margin: 0; padding: 0; }
legend { padding: 0; }
button, input, optgroup, select, textarea {
  font-family: 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'] {
  background-color: transparent;
  background-image: none;
}
input::placeholder, textarea::placeholder { opacity: 1; }
table { border-collapse: collapse; }
a { color: inherit; text-decoration: inherit; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
[hidden] { display: none; }


/* ---- regras base de elemento usadas pela tela de acesso ---- */

* { box-sizing: border-box; }

html {
      background: var(--ink-900);
      -webkit-text-size-adjust: 100%;
      scroll-behavior: smooth;
    }

body {
      margin: 0;
      min-height: 100vh;
      min-height: 100svh;
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      background: transparent;
      color: var(--fg);
      overflow-x: hidden;
      user-select: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
      letter-spacing: -.005em;
    }

input, textarea, select, [contenteditable],
    #chat-stream, #eval-analysis-text, .audit-table-box, .selectable {
      user-select: text;
      -webkit-user-select: text;
    }

.font-mono, code, pre, kbd, samp,
    [id^="hud-"], [id^="top-"], [id^="tokens-"], [id^="hist-"],
    [id^="eval-pct"], [id^="eval-score"], [id^="live-"], [id^="pilar-"] {
      font-family: 'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;
      font-variant-numeric: tabular-nums;
      font-feature-settings: 'tnum' 1, 'cv01' 1;
    }

::selection { background: rgba(34,211,238,.32); color: #fff; }

h1, h2, h3, h4 { letter-spacing: -.02em; }

h1 { font-weight: 800; }

button, .scale-btn, .tf-btn, .strategy-btn, .quick-prompt, .mobile-tab-btn {
      transition:
        transform .22s var(--ease-out),
        background-color .25s var(--ease-soft),
        border-color .25s var(--ease-soft),
        box-shadow .3s var(--ease-soft),
        color .2s var(--ease-soft);
    }

button:not([disabled]) { position: relative; overflow: hidden; }

button:not([disabled])::after {
      content: '';
      position: absolute;
      top: 0;
      left: -120%;
      width: 60%;
      height: 100%;
      background: var(--grad-sheen);
      transform: skewX(-18deg);
      opacity: 0;
      pointer-events: none;
    }

button:focus-visible,
    input:focus-visible,
    select:focus-visible,
    a:focus-visible {
      outline: 2px solid var(--cyan-4);
      outline-offset: 2px;
      border-radius: 8px;
    }

input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
      transition: border-color .25s var(--ease-soft), box-shadow .25s var(--ease-soft), background-color .25s var(--ease-soft);
    }

input:not([type="checkbox"]):not([type="radio"]):focus,
    select:focus,
    textarea:focus {
      border-color: rgba(34,211,238,.7) !important;
      box-shadow: 0 0 0 3px rgba(34,211,238,.14);
    }

::-webkit-scrollbar { width: 7px; height: 7px; }

::-webkit-scrollbar-track { background: rgba(8,12,20,.55); border-radius: 99px; }

::-webkit-scrollbar-thumb {
      background: linear-gradient(180deg, rgba(34,211,238,.45), rgba(99,102,241,.45));
      border-radius: 99px;
    }

::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, rgba(34,211,238,.8), rgba(99,102,241,.8)); }

html { background: #03050a; }

body {
      background:
        radial-gradient(140% 90% at 50% -10%, #0b1728 0%, #05080f 46%, #020306 100%);
    }

.font-mono, [class*="font-mono"], code, kbd, samp, pre,
#top-balance, #top-pnl, #top-spread,
#live-bid-price, #live-ask-price,
#hud-rsi-val, #tokens-spent-val, #tokens-remaining-val, #tokens-total-val {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1, 'zero' 1;
}

h1, h2, h3 { letter-spacing: -.015em; }


/* ---- tela de acesso ---- */

.oracle-login {
      position: fixed;
      inset: 0;
      z-index: 900;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      overflow: hidden;
      background:
        radial-gradient(95% 70% at 50% -12%, rgba(34,211,238,.16), transparent 62%),
        radial-gradient(75% 60% at 88% 104%, rgba(139,92,246,.17), transparent 62%),
        radial-gradient(80% 60% at 8% 92%, rgba(52,211,153,.11), transparent 62%),
        radial-gradient(130% 110% at 50% -20%, #0b1424 0%, #05070d 60%, #020306 100%);
      transition: opacity .6s var(--ease-soft), visibility .6s;
    }

.oracle-login.is-leaving { opacity: 0; visibility: hidden; pointer-events: none; }

.oracle-login__canvas { position: absolute; inset: 0; width: 100%; height: 100%; }

.oracle-login__veil {
      position: absolute;
      inset: 0;
      background:
        radial-gradient(70% 60% at 50% 45%, rgba(4,6,10,0) 0%, rgba(4,6,10,.55) 62%, rgba(4,6,10,.92) 100%);
      pointer-events: none;
    }

.oracle-login__grid {
      position: absolute;
      inset: 0;
      opacity: .22;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(34,211,238,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(34,211,238,.10) 1px, transparent 1px);
      background-size: 56px 56px, 56px 56px;
      -webkit-mask-image: radial-gradient(90% 70% at 50% 50%, #000 20%, transparent 78%);
      mask-image: radial-gradient(90% 70% at 50% 50%, #000 20%, transparent 78%);
    }

.oracle-login__panel {
      position: relative;
      z-index: 2;
      width: 100%;
      max-width: 430px;
      padding: 34px 30px 26px;
      border-radius: var(--r-xl);
      background: linear-gradient(180deg, rgba(16,24,40,.90) 0%, rgba(7,11,19,.95) 100%);
      border: 1px solid rgba(148,178,224,.16);
      backdrop-filter: blur(26px) saturate(160%);
      -webkit-backdrop-filter: blur(26px) saturate(160%);
      box-shadow: 0 1px 0 rgba(255,255,255,.09) inset, 0 70px 140px -50px rgba(0,0,0,1);
      animation: oPanelIn .8s var(--ease-out) both;
    }

.oracle-login__panel::before {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: inherit;
      padding: 1px;
      background: conic-gradient(from var(--oAngle, 0deg), rgba(34,211,238,.85), rgba(99,102,241,.7), rgba(139,92,246,.85), rgba(34,211,238,.85));
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      mask-composite: exclude;
      opacity: .75;
      animation: oSpin 9s linear infinite;
      pointer-events: none;
    }

.oracle-login__brand { display: flex; align-items: center; gap: 13px; margin-bottom: 26px; }

.oracle-login__mark {
      width: 48px;
      height: 48px;
      flex: 0 0 48px;
      display: grid;
      place-items: center;
      border-radius: 15px;
      font-size: 22px;
      background: var(--grad-brand);
      box-shadow: 0 14px 34px -14px rgba(34,211,238,.85), 0 0 0 1px rgba(255,255,255,.14) inset;
      animation: oMarkPulse 4.5s var(--ease-soft) infinite;
    }

.oracle-login__title {
      margin: 0;
      font-size: 21px;
      font-weight: 800;
      letter-spacing: .01em;
      color: #fff;
      line-height: 1.1;
    }

.oracle-login__title span { color: var(--cyan-4); }

.oracle-login__sub {
      margin: 3px 0 0;
      font-size: 11.5px;
      color: var(--fg-3);
      letter-spacing: .02em;
    }

.oracle-login__form { display: flex; flex-direction: column; gap: 15px; }

.oracle-field { display: flex; flex-direction: column; gap: 6px; }

.oracle-field__label {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--fg-3);
    }

.oracle-field__wrap { position: relative; display: flex; align-items: center; }

.oracle-field input {
      width: 100%;
      padding: 12px 14px;
      font-size: 13.5px;
      color: #fff;
      background: rgba(4,7,13,.85);
      border: 1px solid rgba(148,178,224,.16);
      border-radius: 13px;
      outline: none;
      transition: border-color .25s var(--ease-soft), box-shadow .25s var(--ease-soft);
    }

.oracle-field input::placeholder { color: var(--fg-4); }

.oracle-field input:focus {
      border-color: rgba(34,211,238,.75);
      box-shadow: 0 0 0 4px rgba(34,211,238,.13);
    }

.oracle-field__eye {
      position: absolute;
      right: 8px;
      padding: 6px 8px;
      font-size: 14px;
      line-height: 1;
      border: none;
      border-radius: 9px;
      background: transparent;
      color: var(--fg-3);
      cursor: pointer;
    }

.oracle-field__eye:hover { color: #fff; background: rgba(255,255,255,.07); }

.oracle-login__row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      font-size: 11.5px;
      color: var(--fg-2);
    }

.oracle-check { display: flex; align-items: center; gap: 7px; cursor: pointer; }

.oracle-check input { accent-color: var(--cyan-5); }

.oracle-link { color: var(--cyan-4); text-decoration: none; }

.oracle-link:hover { text-decoration: underline; }

.oracle-btn {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 13px 20px;
      font-size: 13.5px;
      font-weight: 700;
      letter-spacing: .01em;
      border-radius: 14px;
      border: 1px solid transparent;
      cursor: pointer;
      overflow: hidden;
      transition: transform .22s var(--ease-out), box-shadow .3s var(--ease-soft), filter .25s;
    }

.oracle-btn--block { width: 100%; }

.oracle-btn--primary {
      color: #021018;
      background: linear-gradient(135deg, #67e8f9 0%, #22d3ee 34%, #6366f1 100%);
      box-shadow: 0 18px 40px -18px rgba(34,211,238,.9), 0 0 0 1px rgba(255,255,255,.16) inset;
    }

.oracle-btn--primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 26px 54px -18px rgba(99,102,241,.95), 0 0 0 1px rgba(255,255,255,.22) inset;
      filter: saturate(1.1);
    }

.oracle-btn--primary:active { transform: translateY(0) scale(.985); }

.oracle-btn--ghost {
      color: var(--fg-2);
      background: rgba(255,255,255,.04);
      border-color: rgba(148,178,224,.18);
    }

.oracle-btn--ghost:hover { color: #fff; background: rgba(255,255,255,.08); }

.oracle-btn[disabled] { opacity: .55; cursor: not-allowed; }

.oracle-login__feedback {
      margin: 0;
      min-height: 16px;
      font-size: 11.5px;
      color: var(--rose-4);
      font-family: 'JetBrains Mono', monospace;
    }

.oracle-login__feedback.is-ok { color: var(--emerald-4); }

.oracle-login__foot {
      margin-top: 22px;
      padding-top: 16px;
      border-top: 1px solid var(--line);
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: center;
      text-align: center;
    }

.oracle-login__foot p { margin: 0; font-size: 10.5px; color: var(--fg-4); line-height: 1.5; }

.oracle-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 3px 10px;
      border-radius: 99px;
      font-size: 9.5px;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-family: 'JetBrains Mono', monospace;
    }

.oracle-badge--warn {
      color: #ffe6b0;
      background: rgba(251,191,36,.13);
      border: 1px solid rgba(251,191,36,.38);
    }


/* ---- contextos de midia ---- */

@media (hover: hover) {

  button:not([disabled]):hover::after {
        animation: oSheen .85s var(--ease-out);
      }

  button:not([disabled]):hover { transform: translateY(-1px); }

  button:not([disabled]):active { transform: translateY(0) scale(.97); }

}

@media (max-width: 1023px) {

  body { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }

  main { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }

}

@media (max-height: 800px), (max-width: 1280px) {

  header { padding-top: 0.35rem !important; padding-bottom: 0.35rem !important; }

}

@media (max-width: 640px) {

  button, .tf-btn, .strategy-btn, .scale-btn { min-height: 38px; }

  .oracle-login__panel { padding: 26px 20px 20px; border-radius: 22px; }

  main { padding-left: .5rem !important; padding-right: .5rem !important; }

}

@media print {

  .o-ambient, #mobile-tabs-bar, .oracle-login { display: none !important; }

}

@media (min-width: 1024px) and (min-height: 700px) {

  body { height: 100vh; height: 100svh; overflow: hidden; }

}

@media (min-width: 1024px) {

  body { height: 100vh; overflow: hidden; }

}


/* ---- @property (registro Houdini) exigidos pelas animacoes do login ---- */

@property --oAngle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }


/* ---- animacoes referenciadas ---- */

@keyframes oMarkPulse {
      0%, 100% { box-shadow: 0 14px 34px -14px rgba(34,211,238,.85), 0 0 0 1px rgba(255,255,255,.14) inset; }
      50%      { box-shadow: 0 18px 44px -12px rgba(139,92,246,.95), 0 0 0 1px rgba(255,255,255,.2) inset; }
    }

@keyframes oPanelIn {
      from { opacity: 0; transform: translateY(26px) scale(.97); }
      to   { opacity: 1; transform: none; }
    }

@keyframes oSheen {
      0%   { left: -120%; opacity: .0; }
      18%  { opacity: .55; }
      100% { left: 160%; opacity: 0; }
    }

@keyframes oSpin { to { --oAngle: 360deg; } }

