:root {
  --tzx-rail: 65px;
  --tzx-bar: 0px;
  --tzx-safe-b: env(safe-area-inset-bottom, 0px);
  --tzx-card: rgba(255, 255, 255, 0.035);
  --tzx-line: rgba(255, 255, 255, 0.08);
  --tzx-ink: #f5f5f7;
  --tzx-ink2: rgba(245, 245, 247, 0.62);
  --tzx-ink3: rgba(245, 245, 247, 0.38);
  --tzx-acc: rgb(var(--acc-rgb, 184, 245, 0));
  --tzx-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Inter, Roboto, sans-serif;
}
@media (max-width: 759px) {
  :root { --tzx-rail: 0px; --tzx-bar: calc(53px + var(--tzx-safe-b)); }
}

html.tz-app, html.tz-app body { overscroll-behavior: none; }
html.tz-app body.tz-focus { padding-bottom: 0 !important; }

html.tz-app body.tz-focus .app {
  display: flex !important;
  max-width: none !important;
  margin: 0 0 0 var(--tzx-rail) !important;
  height: calc(100vh - var(--tz-top, 52px) - var(--tzx-bar)) !important;
  height: calc(100dvh - var(--tz-top, 52px) - var(--tzx-bar)) !important;
  overflow: hidden !important;
  grid-template-columns: none !important;
}

html.tz-app body.tz-focus .left-col {
  flex: 1 1 auto;
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  border-left: 1px solid var(--tzx-line) !important;
  border-right: 1px solid var(--tzx-line) !important;
}

html.tz-app body.tz-focus .right-col {
  position: relative !important;
  inset: auto !important;
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 1 !important;
  background: var(--bg) !important;
  display: none;
  -webkit-overflow-scrolling: touch;
}

html.tz-app body[data-tzx-screen="scan"] .right-col { display: none !important; }
html.tz-app body[data-tzx-screen="scan"].tzx-result .left-col { display: none !important; }
html.tz-app body[data-tzx-screen="scan"].tzx-result .right-col { display: block !important; }

html.tz-app body[data-tzx-screen="scan"].tzx-result .right-col > .tab-content,
html.tz-app body[data-tzx-screen="scan"].tzx-result .right-col > #tzx-seg { max-width: 860px; margin-left: auto; margin-right: auto; }

html.tz-app body:not([data-tzx-screen="scan"]) .left-col { display: none !important; }
html.tz-app body:not([data-tzx-screen="scan"]) .right-col { display: block !important; }
html.tz-app body:not([data-tzx-screen="scan"]) .right-col > .tab-content,
html.tz-app body:not([data-tzx-screen="scan"]) .right-col > #tzx-seg {
  max-width: 1180px; margin-left: auto; margin-right: auto;
}

html.tz-app #tz-stack, html.tz-app #tz-tabs-panel, html.tz-app #tz-drawer-scrim, html.tz-app #tz-drawer-close, html.tz-app #main-tabs, html.tz-app #stats-ticker, html.tz-app #tradzy-chat-btn, html.tz-app #toast-stack, html.tz-app #tz-notif-stack { display: none !important; }

html.tz-app .hdr { position: sticky !important; top: 0; z-index: 900 !important; }
@media (max-width: 759px) {
  html.tz-app .hdr { padding-left: 12px !important; padding-right: 9px !important; }
  
  html.tz-app #autosave-indicator, html.tz-app .player-greet { display: none !important; }
  
  html.tz-app .hdr .hdr-center { display: flex !important; flex: 0 1 auto; min-width: 0; overflow: hidden; }
}

html.tz-app #v19-demo-banner {
  position: sticky !important; top: 0 !important; height: auto !important; min-height: 0 !important;
  padding: 6px 12px !important; font-size: 12px !important; z-index: 901 !important;
}

#tzx-nav { display: none; }
html.tz-app #tzx-nav {
  display: flex;
  position: fixed;
  z-index: 880;
  font-family: var(--tzx-font);
  background: rgba(8, 9, 12, 0.92);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  backdrop-filter: blur(20px) saturate(160%);
}
@media (min-width: 760px) {
  html.tz-app #tzx-nav {
    top: var(--tz-top, 44px); bottom: 0; left: 0; width: var(--tzx-rail);
    flex-direction: column; align-items: stretch; gap: 2px; padding: 9px 7px;
    border-right: 1px solid var(--tzx-line);
  }
  html.tz-app #tzx-nav .tzx-spacer { flex: 1; }
}
@media (max-width: 759px) {
  html.tz-app #tzx-nav {
    left: 0; right: 0; bottom: 0; height: calc(53px + var(--tzx-safe-b));
    padding: 5px 3px var(--tzx-safe-b);
    justify-content: space-around; align-items: flex-start;
    border-top: 1px solid var(--tzx-line);
  }
  html.tz-app #tzx-nav .tzx-desk, html.tz-app #tzx-nav .tzx-spacer { display: none; }
}
.tzx-nav-btn {
  position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  min-width: 48px; min-height: 44px; padding: 5px 3px;
  border: 0; border-radius: 10px; background: none; cursor: pointer;
  color: var(--tzx-ink3);
  font: 600 10.5px/1 var(--tzx-font); letter-spacing: .01em;
  transition: color .15s, background .15s;
  -webkit-tap-highlight-color: transparent;
}
.tzx-nav-btn svg { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzx-nav-btn:hover { color: var(--tzx-ink); background: rgba(255, 255, 255, 0.04); }
.tzx-nav-btn.is-on { color: var(--tzx-acc); }
@media (min-width: 760px) { .tzx-nav-btn.is-on { background: rgba(var(--acc-rgb, 184, 245, 0), 0.10); } }
@media (max-width: 759px) { .tzx-nav-btn { flex: 1; min-width: 0; } }

.tzx-cdot { position: absolute; top: 5px; right: calc(50% - 16px); width: 7px; height: 7px; border-radius: 84px; background: #22c55e;
  box-shadow: 0 0 0 2px rgba(8, 9, 12, 1), 0 0 8px rgba(34, 197, 94, .65); font-style: normal; pointer-events: none; animation: tzxLive 2.4s ease-in-out infinite; }
.tzx-cdot.has-n { width: auto; min-width: 14px; height: 14px; top: 2px; right: calc(50% - 22px); padding: 0 3px; font: 700 10px/13.5px var(--tzx-font); color: #04130a; text-align: center; animation: none; }
.tzx-cdot[hidden] { display: none; }
.tzx-tile { position: relative; }
.tzx-tile .tzx-cdot { top: 9px; right: 9px; }
@keyframes tzxLive { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
.tzx-nav-btn.is-scan.is-on svg { filter: drop-shadow(0 0 6px rgba(var(--acc-rgb, 184, 245, 0), .6)); }

#tzx-seg {
  position: sticky; top: 0; z-index: 6;
  display: flex; align-items: center; gap: 7px;
  padding: 10px 14px 9px;
  background: linear-gradient(var(--bg) 70%, transparent);
  font-family: var(--tzx-font);
}
#tzx-seg:empty { display: none; }
.tzx-seg-title { font: 700 15px/1.1 var(--tzx-font); color: var(--tzx-ink); letter-spacing: -.02em; margin-right: auto; }
.tzx-seg-pills { display: flex; gap: 3px; padding: 3px; border-radius: 9px; background: rgba(255, 255, 255, 0.06); overflow-x: auto; scrollbar-width: none; }
.tzx-seg-pills::-webkit-scrollbar { display: none; }
.tzx-seg-pills button {
  border: 0; background: none; color: var(--tzx-ink2); cursor: pointer; white-space: nowrap;
  padding: 6px 10px; border-radius: 7px; font: 600 13px/1 var(--tzx-font);
}
.tzx-seg-pills button.is-on { background: rgba(255, 255, 255, 0.12); color: var(--tzx-ink); }
.tzx-back {
  border: 0; background: rgba(255, 255, 255, 0.06); color: var(--tzx-ink); cursor: pointer;
  padding: 7px 10px; border-radius: 9px; font: 600 13px/1 var(--tzx-font);
}
@media (max-width: 759px) {
  #tzx-seg { flex-wrap: wrap; padding: 9px 10px 7px; }
  .tzx-seg-title { font-size: 15px; }
  .tzx-seg-pills { order: 3; width: 100%; }
  .tzx-seg-pills button { flex: 1; }
}

.tzx-empty {
  margin: 7px 14px 15px; padding: 22px 17px; border-radius: 15px;
  border: 1px solid var(--tzx-line); background: var(--tzx-card);
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 9px;
  font-family: var(--tzx-font);
}
.tzx-empty svg { width: 37px; height: 37px; stroke: var(--tzx-acc); fill: none; stroke-width: 1.6; opacity: .9; }
.tzx-empty b { font-size: 14.5px; color: var(--tzx-ink); letter-spacing: -.01em; }
.tzx-empty span { font-size: 13.5px; color: var(--tzx-ink2); max-width: 340px; }
.tzx-empty .tzx-row { display: flex; gap: 7px; flex-wrap: wrap; justify-content: center; margin-top: 3px; }
.tzx-btn {
  border: 0; border-radius: 10px; cursor: pointer; padding: 9px 14px;
  font: 700 13px/1 var(--tzx-font); background: var(--tzx-acc); color: #050505;
}
.tzx-btn.ghost { background: rgba(255, 255, 255, 0.07); color: var(--tzx-ink); }
.tzx-btn:active { transform: scale(.98); }

html.tz-app #tzn-panel, html.tz-app #tradzy-chat-panel {
  position: fixed !important;
  top: var(--tz-top, 44px) !important;
  right: 0 !important; left: auto !important; bottom: var(--tzx-bar) !important;
  width: min(420px, 100vw) !important; height: auto !important;
  max-width: 100vw !important; max-height: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important; border-left: 1px solid var(--tzx-line) !important;
  box-shadow: -24px 0 60px rgba(0, 0, 0, .45) !important;
  transform: translateX(105%) !important;
  opacity: 1 !important; visibility: hidden !important;
  transition: transform .28s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .28s !important;
  z-index: 870 !important;
  display: flex !important; flex-direction: column !important;
  overflow: hidden !important;
}
html.tz-app #tzn-panel.open, html.tz-app #tradzy-chat-panel.open {
  transform: none !important; visibility: visible !important;
  transition: transform .28s cubic-bezier(.2, .8, .2, 1) !important;
}
@media (max-width: 759px) {
  html.tz-app #tzn-panel, html.tz-app #tradzy-chat-panel { width: 100vw !important; border-left: 0 !important; }
}

html.tz-app #tradzy-chat-panel [class*="resize"], html.tz-app #tzn-panel [class*="resize"] { display: none !important; }

#tzx-scrim {
  position: fixed; inset: var(--tz-top, 44px) 0 var(--tzx-bar) var(--tzx-rail);
  background: rgba(0, 0, 0, .45); z-index: 860;
  opacity: 0; pointer-events: none; transition: opacity .2s;
}
body.tzx-sheet-open #tzx-scrim { opacity: 1; pointer-events: auto; }

#tzx-more {
  position: fixed; z-index: 875; font-family: var(--tzx-font);
  left: var(--tzx-rail); bottom: var(--tzx-bar);
  width: min(380px, 100vw); max-height: calc(100dvh - var(--tz-top, 52px) - var(--tzx-bar) - 12px);
  overflow-y: auto; padding: 12px;
  background: #0c0d11; border: 1px solid var(--tzx-line); border-radius: 17px 17px 0 0;
  transform: translateY(105%); visibility: hidden;
  transition: transform .26s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .26s;
}
#tzx-more.open { transform: none; visibility: visible; transition: transform .26s cubic-bezier(.2, .8, .2, 1); }
@media (min-width: 760px) {
  #tzx-more { bottom: 10px; left: calc(var(--tzx-rail) + 7px); border-radius: 15px; transform: translateX(-8px); opacity: 0; transition: opacity .18s, transform .18s, visibility 0s linear .18s; }
  #tzx-more.open { opacity: 1; transform: none; transition: opacity .18s, transform .18s; }
}
@media (max-width: 759px) { #tzx-more { left: 0; width: 100vw; } }
.tzx-more-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.tzx-tile {
  display: flex; flex-direction: column; align-items: flex-start; gap: 7px;
  padding: 10px; border-radius: 12px; border: 1px solid var(--tzx-line);
  background: var(--tzx-card); color: var(--tzx-ink); cursor: pointer; text-align: left;
  font: 600 13px/1.2 var(--tzx-font);
}
.tzx-tile svg { width: 19px; height: 19px; stroke: var(--tzx-acc); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzx-tile small { font-weight: 500; font-size: 11px; color: var(--tzx-ink3); }
.tzx-tile:hover { border-color: rgba(var(--acc-rgb, 184, 245, 0), .35); }
.tzx-more-h { margin: 3px 2px 9px; font: 700 13px var(--tzx-font); color: var(--tzx-ink3); letter-spacing: .02em; }

#tzx-toasts {
  position: fixed; z-index: 99990; pointer-events: none;
  display: flex; flex-direction: column; gap: 7px;
  right: 14px; top: calc(var(--tz-top, 44px) + 10px); width: min(340px, calc(100vw - 32px));
  font-family: var(--tzx-font);
}
@media (max-width: 759px) {
  #tzx-toasts { top: auto; right: 10px; left: 10px; width: auto; bottom: calc(var(--tzx-bar) + 9px); flex-direction: column-reverse; }
}
.tzx-toast {
  pointer-events: auto; cursor: pointer;
  display: flex; gap: 10px; align-items: center;
  padding: 10px 12px; border-radius: 12px;
  background: rgba(22, 24, 30, 0.96); border: 1px solid var(--tzx-line);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .45);
  color: var(--tzx-ink);
  animation: tzx-in .26s cubic-bezier(.2, .8, .2, 1) both;
}
.tzx-toast.out { animation: tzx-out .2s ease both; }
.tzx-toast i { flex: 0 0 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; font-style: normal; font-size: 13px; background: rgba(255, 255, 255, .06); }
.tzx-toast.good i { background: rgba(var(--acc-rgb, 184, 245, 0), .16); }
.tzx-toast.bad i { background: rgba(255, 90, 90, .16); }
.tzx-toast div { min-width: 0; }
.tzx-toast b { display: block; font-size: 13px; font-weight: 700; letter-spacing: -.005em; }
.tzx-toast span { display: block; margin-top: 2px; font-size: 12.5px; color: var(--tzx-ink2); line-height: 1.35; overflow-wrap: anywhere; }
@keyframes tzx-in { from { opacity: 0; transform: translateY(-8px) scale(.98); } }
@keyframes tzx-out { to { opacity: 0; transform: translateY(-6px) scale(.98); } }
@media (max-width: 759px) { @keyframes tzx-in { from { opacity: 0; transform: translateY(10px); } } }

.tzx-hero { padding: 19px 14px 5px; font-family: var(--tzx-font); }
.tzx-h { margin: 0; font: 800 16.5px/1.08 var(--tzx-font); letter-spacing: -.03em; color: var(--tzx-ink); }
.tzx-sub { margin: 5px 0 0; font-size: 14px; color: var(--tzx-ink3); }
.tzx-search { display: flex; gap: 7px; margin-top: 14px; }
.tzx-search input {
  flex: 1; min-width: 0; height: 44px; padding: 0 14px; border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.05);
  color: var(--tzx-ink); font: 600 14.5px var(--tzx-font); letter-spacing: .01em; text-transform: uppercase;
  outline: none; transition: border-color .15s, background .15s;
}
.tzx-search input.is-link { text-transform: none; letter-spacing: 0; font-size: 13px; }
.tzx-search input::placeholder { text-transform: none; color: var(--tzx-ink3); font-weight: 500; }
.tzx-search input:focus { border-color: rgba(var(--acc-rgb, 184, 245, 0), .6); background: rgba(255, 255, 255, 0.07); }
.tzx-search button {
  flex: 0 0 auto; height: 44px; padding: 0 17px; border: 0; border-radius: 12px; cursor: pointer;
  background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font);
}
.tzx-search button:disabled { opacity: .5; }
.tzx-pop { display: flex; gap: 5px; margin-top: 9px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.tzx-pop::-webkit-scrollbar { display: none; }
.tzx-pop button {
  flex: 0 0 auto; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2);
  padding: 6px 9px; border-radius: 84px; cursor: pointer; font: 600 12.5px var(--tzx-font);
}
.tzx-pop button:hover { color: var(--tzx-ink); border-color: rgba(255, 255, 255, .2); }
.tz-snap.is-scanning .tzx-search { opacity: .55; pointer-events: none; }

.tzx-live { margin: 12px 14px 0; padding: 12px; border-radius: 15px; border: 1px solid var(--tzx-line); background: var(--tzx-card); font-family: var(--tzx-font); }
.tzx-live[hidden] { display: none; }
.tzx-live-top { display: flex; align-items: baseline; gap: 7px; }
.tzx-live-sym { font: 800 15px var(--tzx-font); letter-spacing: -.02em; color: var(--tzx-ink); }
.tzx-live-name { font-size: 12.5px; color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 1; }
.tzx-live-px { font: 700 14.5px var(--tzx-font); color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzx-live-ch { font: 600 12.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzx-live-ch.up { color: var(--tzx-acc); } .tzx-live-ch.down { color: #ff6f5e; }
.tzx-chart { display: block; width: 100%; height: 112px; margin: 9px 0 7px; }
.tzx-tfs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; }
@media (max-width: 520px) { .tzx-tfs { grid-template-columns: repeat(3, 1fr); } }
.tzx-tf {
  border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .02); border-radius: 10px; cursor: pointer;
  padding: 7px 5px; display: flex; flex-direction: column; align-items: center; gap: 3px; color: var(--tzx-ink2);
  font: 700 13px var(--tzx-font);
}
.tzx-tf small { font: 600 11px var(--tzx-font); }
.tzx-tf .up { color: var(--tzx-acc); } .tzx-tf .down { color: #ff6f5e; } .tzx-tf .flat { color: var(--tzx-ink3); }
.tzx-tf.is-on { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .08); color: var(--tzx-ink); }
.tzx-src { margin-top: 7px; font-size: 11.5px; color: var(--tzx-ink3); }

.tzx-guide { margin: 12px 14px 0; display: flex; gap: 5px; font-family: var(--tzx-font); }
.tzx-guide[hidden] { display: none; }
.tzx-g {
  flex: 1; min-width: 0; display: flex; align-items: center; gap: 7px; padding: 8px 9px; border-radius: 10px; cursor: pointer;
  border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink3); font: 600 12.5px var(--tzx-font); text-align: left;
}
.tzx-g i { flex: 0 0 17px; height: 17px; border-radius: 50%; display: grid; place-items: center; font: 800 11px var(--tzx-font); font-style: normal; border: 1.5px solid currentColor; }
.tzx-g.is-done { color: var(--tzx-ink2); }
.tzx-g.is-done i { background: var(--tzx-acc); border-color: var(--tzx-acc); color: #050505; }
.tzx-g.is-next { color: var(--tzx-ink); border-color: rgba(var(--acc-rgb, 184, 245, 0), .5); background: rgba(var(--acc-rgb, 184, 245, 0), .06); }
.tzx-g.is-next i { color: var(--tzx-acc); animation: tzx-pulse 1.6s ease-in-out infinite; }
.tzx-g span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzx-guide-x { flex: 0 0 auto; border: 0; background: none; color: var(--tzx-ink3); cursor: pointer; font-size: 16px; padding: 0 9px; min-width: 31px; min-height: 31px; }
@keyframes tzx-pulse { 50% { box-shadow: 0 0 0 5px rgba(var(--acc-rgb, 184, 245, 0), .18); } }

.tzx-spot { outline: 2px solid var(--tzx-acc) !important; outline-offset: 3px; border-radius: 10px; animation: tzx-spot 1.2s ease 2; }
@keyframes tzx-spot { 50% { outline-color: rgba(var(--acc-rgb, 184, 245, 0), .2); } }

@media (max-width: 759px) {
  html.tz-app body.tz-focus .left-col { border: 0 !important; max-width: none !important; }
  .tzx-hero { padding-top: 15px; }
  .tzx-h { font-size: 15px; }
  .tzx-search input, .tzx-search button { height: 43px; }
  .tzx-g span { font-size: 12px; }
}

#tz-boot.is-done { opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s linear .35s; }

@media (prefers-reduced-motion: reduce) {
  .tzx-toast, .tzx-toast.out, #tzn-panel, #tradzy-chat-panel, #tzx-more { animation: none !important; transition: none !important; }
}

html.tz-app .tz-snap { margin: 0 0 10px !important; }
.tzx-status-wrap { margin: 9px 14px 0; }
.tzx-status-wrap .tz-snap-status:empty + .tz-confirm:empty { display: none; }
html.tz-app .tz-manual { margin: 10px auto 3px !important; display: block; }

html.tz-app #v19-demo-banner { display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; background: #0b0d08 !important; border-bottom: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .18) !important; }
html.tz-app #v19-demo-banner.hidden { display: none !important; }
html.tz-app #v19-demo-banner .v19-demo-badge { display: none !important; }
html.tz-app #v19-demo-banner .v19-demo-text { font: 500 13px var(--tzx-font) !important; letter-spacing: 0 !important; color: var(--tzx-ink2) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
html.tz-app #v19-demo-banner .v19-demo-text strong { color: var(--tzx-ink) !important; }
html.tz-app #v19-demo-banner .v19-demo-cta { font: 700 12.5px var(--tzx-font) !important; letter-spacing: 0 !important; padding: 6px 10px !important; border-radius: 84px !important; white-space: nowrap; flex: 0 0 auto; }
@media (max-width: 759px) { html.tz-app #v19-demo-banner { justify-content: space-between !important; padding: 5px 10px !important; } }
.tzx-sheet-bar { display: none; }
html.tz-app .tzx-sheet-bar {
  display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto;
  padding: 10px 12px; border-bottom: 1px solid var(--tzx-line); font-family: var(--tzx-font);
}
html.tz-app .tzx-sheet-bar b { font: 700 14.5px var(--tzx-font); color: var(--tzx-ink); letter-spacing: -.01em; }
html.tz-app .tzx-sheet-bar button { width: 27px; height: 27px; border-radius: 50%; border: 0; background: rgba(255,255,255,.08); color: var(--tzx-ink); cursor: pointer; font-size: 13px; }

html.tz-app #music-panel {
  position: fixed !important;
  top: calc(var(--tz-top, 44px) + 7px) !important; bottom: auto !important;
  right: 10px !important; left: auto !important;
  transform: none !important;
  width: min(360px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - var(--tz-top, 52px) - var(--tzx-bar) - 20px) !important;
  overflow-y: auto !important;
  z-index: 950 !important;
}
@media (max-width: 759px) {
  html.tz-app #music-panel { right: 10px !important; left: 10px !important; width: auto !important; }
}

.tzmd-tfpick select { appearance: none; -webkit-appearance: none; border: 1px solid var(--tzx-line); background: rgba(255,255,255,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239aa192'/%3E%3C/svg%3E") no-repeat right 8px center; color: var(--tzx-ink); font: 700 13px var(--tzx-font); border-radius: 7px; padding: 3px 20px 3px 7px; min-height: 26px; cursor: pointer; }
.tzmd-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tzx-shotin { display: inline; margin-left: 5px; }
/* one box: a link, a symbol, a TradingView link (Manual is the fallback, reached when nothing else reads) */
.tz-snap .tzx-methods, .tz-snap .tzx-acc { display: none; }
.tzx-methods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; margin-top: 12px; padding: 3px; border-radius: 11px; background: rgba(255, 255, 255, .06); }
.tzx-methods button { border: 0; background: none; color: var(--tzx-ink2); cursor: pointer; padding: 8px 5px; border-radius: 9px; font: 700 13px var(--tzx-font); }
.tzx-methods button.is-on { background: rgba(255, 255, 255, .13); color: var(--tzx-ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .3); }
.tzx-acc { display: flex; align-items: center; gap: 9px; margin: 9px 2px 2px; }
.tzx-acc-txt { font: 500 12px var(--tzx-font); color: var(--tzx-ink3); }
.tzx-pane[hidden] { display: none !important; }
.tzx-pane .tzx-sub { margin: 10px 0 0; line-height: 1.45; }
.tzx-pane .tzx-sub b { color: var(--tzx-ink2); }
.tzx-pane .tz-steps { margin-top: 10px; }
.tzx-pane .tz-step small b { color: var(--tzx-ink2); }
.tzx-pane .tz-paste { width: 100%; margin-top: 7px; box-sizing: border-box; }
.tzx-pane .tzx-btn.tz-manual { display: block; width: 100%; margin-top: 12px !important; padding: 11px !important; font: 700 13px var(--tzx-font) !important; text-decoration: none !important; }
.tzx-pane .tz-step small b { font-size: inherit !important; line-height: inherit !important; font-weight: 700; }

.tzx-sugg { margin-top: 5px; border: 1px solid var(--tzx-line); border-radius: 12px; background: #101114; overflow: hidden; box-shadow: 0 12px 32px rgba(0, 0, 0, .45); }
.tzx-sugg[hidden] { display: none; }
.tzx-sg {
  display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 9px; align-items: baseline;
  width: 100%; padding: 9px 12px; border: 0; border-top: 1px solid var(--tzx-line); background: none; text-align: left; cursor: pointer; font-family: var(--tzx-font);
}
.tzx-sg:first-child { border-top: 0; }
.tzx-fl { font-style: normal; margin-right: 6px; font-size: 14px; line-height: 1; }
.tzx-sg b { font: 700 13px var(--tzx-font); color: var(--tzx-ink); }
.tzx-sg span { font-size: 13px; color: var(--tzx-ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tzx-sg small { grid-column: 1 / -1; font-size: 11.5px; color: var(--tzx-ink3); }
.tzx-sg small:empty { display: none; }
.tzx-sg:hover, .tzx-sg.is-on { background: rgba(var(--acc-rgb, 184, 245, 0), .08); }
.tzx-pop button.is-recent { color: var(--tzx-ink); border-color: rgba(var(--acc-rgb, 184, 245, 0), .35); }
.tzx-pop button.is-recent::before { content: '↺ '; color: var(--tzx-acc); }
.tzx-dym { display: inline-flex; flex-wrap: wrap; gap: 5px; margin-left: 3px; vertical-align: middle; }
.tzx-dym button {
  border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .45); background: rgba(var(--acc-rgb, 184, 245, 0), .08); color: var(--tzx-ink);
  padding: 3px 9px; border-radius: 84px; cursor: pointer; font: 600 12.5px var(--tzx-font);
}
.tzx-dym-fallback {
  display: inline-block; margin-left: 5px; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .45); background: rgba(var(--acc-rgb, 184, 245, 0), .08);
  color: var(--tzx-ink); padding: 3px 9px; border-radius: 84px; cursor: pointer; font: 600 12.5px var(--tzx-font);
}

.tzx-opt { margin-top: 12px; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 14px; background: var(--tzx-card); font-family: var(--tzx-font); }
.tzx-opt > b { display: block; font-size: 13px; color: var(--tzx-ink); }
.tzx-opt > small { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.45; color: var(--tzx-ink3); }
.tzx-opt > small b { color: var(--tzx-ink2); }
.tzx-opt .tzx-search { margin-top: 9px; }
.tzx-opt .tzx-search input { text-transform: none; font-size: 13px; height: 39px; }
.tzx-opt .tzx-search button { height: 39px; }

.tzv3-src { margin-top: 5px; }
.tzv3-src > summary { cursor: pointer; color: var(--tzx-ink2); font: 600 12px var(--tzx-font); list-style: none; }
.tzv3-src > summary::-webkit-details-marker { display: none; }
.tzv3-src > summary::after { content: ' ▾'; color: var(--tzx-ink3); }
.tzv3-src ul { list-style: none; margin: 5px 0 0; padding: 0; display: grid; gap: 3px; }
.tzv3-src li { display: grid; grid-template-columns: 77px auto 1fr; gap: 7px; align-items: baseline; font-size: 12px; color: var(--tzx-ink2); }
.tzv3-src li b { color: var(--tzx-ink); font-weight: 600; }
.tzv3-src li span { font-variant-numeric: tabular-nums; }
.tzv3-src li small { color: var(--tzx-ink3); text-align: right; }
.tzv3-src li.is-off { opacity: .55; text-decoration: line-through; text-decoration-color: rgba(255, 111, 94, .6); }
.tzv3-src p { margin: 5px 0 0; font-size: 12px; color: var(--tzx-ink3); }
#tzv3-plan { margin: 12px 0; padding: 14px; border-radius: 15px; border: 1px solid var(--tzx-line); background: var(--tzx-card); font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzv3-plan[hidden] { display: none; }
.tzv3-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.tzv3-h b { font: 800 14.5px var(--tzx-font); letter-spacing: -.01em; }
.tzv3-dir { font: 700 12.5px var(--tzx-font); padding: 3px 9px; border-radius: 84px; }
.tzv3-dir.is-long { color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .12); }
.tzv3-dir.is-short { color: #ff6f5e; background: rgba(255, 111, 94, .12); }
.tzv3-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.tzv3-grid.tzv3-size { grid-template-columns: repeat(4, 1fr); margin-top: 7px; }
@media (max-width: 620px) { .tzv3-grid { grid-template-columns: repeat(2, 1fr); } .tzv3-grid.tzv3-size { grid-template-columns: repeat(2, 1fr); } }
.tzv3-grid > div { padding: 9px; border-radius: 10px; background: rgba(255, 255, 255, .03); border: 1px solid var(--tzx-line); min-width: 0; }
.tzv3-grid i { display: block; font: 600 11px var(--tzx-font); font-style: normal; color: var(--tzx-ink3); text-transform: uppercase; letter-spacing: .04em; }
.tzv3-grid b { display: block; margin-top: 3px; font: 700 13px var(--tzx-font); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tzv3-grid small { display: block; margin-top: 2px; font-size: 11.5px; line-height: 1.35; color: var(--tzx-ink3); }
.tzv3-grid .is-stop b { color: #ff6f5e; }
.tzv3-grid .is-tp b { color: var(--tzx-acc); }
.tzv3-note { margin: 9px 0 0; font-size: 12.5px; color: var(--tzx-ink2); }
.tzv3-manage { margin: 9px 0 0; padding-left: 15px; font-size: 13px; line-height: 1.5; color: var(--tzx-ink2); }
.tzv3-manage li.is-inv { color: var(--tzx-ink); font-weight: 600; }
.tzv3-q { margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--tzx-line); font-size: 12px; color: var(--tzx-ink3); }
.tzv3-use { margin-top: 10px; width: 100%; height: 37px; border: 1px solid var(--tzx-acc); border-radius: 10px; background: rgba(var(--acc-rgb, 184, 245, 0), .1); color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzv3-use.is-quiet { margin-top: 5px; height: 31px; border: 0; background: none; color: var(--tzx-ink3); font-weight: 500; font-size: 13px; }
.tzv3-take { margin-top: 10px; width: 100%; height: 41px; border: 0; border-radius: 10px; background: var(--tzx-acc); color: #000; font: 700 13px var(--tzx-font); cursor: pointer; }
.tzv3-take:disabled { opacity: .7; cursor: default; }
.tzv3-take.is-done { background: none; border: 1px solid var(--tzx-acc); color: var(--tzx-acc); }
.tzv3-take.is-soft { background: none; border: 1px solid var(--tzx-line); color: var(--tzx-ink); }

.tzv3-sheet { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: flex-end; justify-content: center; padding: 14px; background: rgba(0, 0, 0, .55); }
.tzv3-sheet-box { width: 100%; max-width: 420px; padding: 17px 15px 10px; border-radius: 17px; border: 1px solid var(--tzx-line); background: #0d0f12; text-align: center; }
.tzv3-sheet-box > b { display: block; font: 800 15.5px var(--tzx-font); color: var(--tzx-ink); }
.tzv3-sheet-box > p { margin: 5px 0 12px; font-size: 13.5px; color: var(--tzx-ink3); }
.tzv3-sheet-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.tzv3-sheet-row button { height: 44px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); font: 800 13.5px var(--tzx-font); cursor: pointer; }
.tzv3-sheet-row .is-long { color: var(--tzx-acc); border-color: rgba(var(--acc-rgb, 184, 245, 0), .45); }
.tzv3-sheet-row .is-short { color: #ff6f5e; border-color: rgba(255, 111, 94, .45); }
.tzv3-sheet-x { margin-top: 7px; height: 34px; width: 100%; border: 0; background: none; color: var(--tzx-ink3); font: 600 14px var(--tzx-font); cursor: pointer; }
@media (min-width: 700px) { .tzv3-sheet { align-items: center; } }
.tzt-mon-wrap { margin: -2px 0 7px; padding: 0 3px; }
.tzt-remind { display: inline-flex; align-items: center; gap: 5px; margin-left: 9px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzt-remind button { height: 24px; padding: 0 9px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink2); font: 600 12px var(--tzx-font); cursor: pointer; }
.tzt-remind button:hover { color: var(--tzx-ink); border-color: rgba(255, 255, 255, .3); }
.tzt-mon-btn { height: 26px; padding: 0 10px; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .45); border-radius: 84px; background: none; color: var(--tzx-ink); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzt-mon-btn:disabled { opacity: .6; }
.tzt-mon { margin-top: 7px; padding: 10px; border-radius: 12px; border: 1px solid var(--tzx-line); background: var(--tzx-card); font-family: var(--tzx-font); font-size: 13px; color: var(--tzx-ink2); }
.tzt-mon[hidden] { display: none; }
.tzt-mon p { margin: 0; }
.tzt-mon-h { display: flex; justify-content: space-between; align-items: baseline; }
.tzt-mon-h b { font: 800 13px var(--tzx-font); }
.tzt-mon-h.is-good b { color: var(--tzx-acc); } .tzt-mon-h.is-warn b { color: #efb327; } .tzt-mon-h.is-bad b { color: #ff6f5e; }
.tzt-mon-h span { font-variant-numeric: tabular-nums; color: var(--tzx-ink); }
.tzt-mon ul { margin: 7px 0 5px; padding-left: 15px; line-height: 1.45; }
.tzt-mon small { color: var(--tzx-ink3); }
.tzt-mon-apply { display: block; margin-top: 9px; height: 31px; padding: 0 12px; border: 0; border-radius: 9px; background: var(--tzx-acc); color: #050505; font: 700 13px var(--tzx-font); cursor: pointer; }
.tzx-link-row { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 9px 10px; margin-top: 5px; border: 0; border-radius: 9px; background: rgba(255,255,255,.05); color: var(--tzx-ink); cursor: pointer; font: 600 13px var(--tzx-font); text-align: left; }
.tzx-link-row::after { content: '›'; color: var(--tzx-ink3); font-size: 18px; }
.tzx-link-row:hover { background: rgba(255,255,255,.08); }

/* Manual is the drawing flow now (127-manual.js): the legacy card sections stay in the page for the engine, out of sight */
html.tz-app body.tzx-lane-manual .left-col-scroll > :not(#tz-snap) { display: none !important; }
html.tz-app body.tzx-lane-manual #tz-snap .tzx-live,
html.tz-app body.tzx-lane-manual #tz-snap .tzx-guide { display: none !important; }

html.tz-app #left-col-panel .asec-points, html.tz-app #left-col-panel .wt-badge,
html.tz-app #left-col-panel .tf-relevance-bar { display: none !important; }

.tzx-methods {
  position: relative; isolation: isolate;
  background: rgba(var(--acc-rgb, 184, 245, 0), .07) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb, 184, 245, 0), .22);
  border-radius: 14px !important; padding: 4px !important; gap: 5px !important;
}
.tzx-goo-defs { position: absolute; width: 0; height: 0; }
.tzx-goo { position: absolute; inset: 4px; display: flex; align-items: stretch; filter: url(#tzx-goo); pointer-events: none; z-index: 0; }
.tzx-goo i { flex: 1 1 0; border-radius: 10px; background: var(--tzx-acc); transform: scale(.35, .2); opacity: 0;
  transition: transform .55s cubic-bezier(.34, 1.56, .64, 1), opacity .25s ease; }
.tzx-goo b { flex: 0 0 5px; align-self: center; height: 60%; background: var(--tzx-acc); transform: scaleY(0); transition: transform .45s cubic-bezier(.34, 1.56, .64, 1) .12s; }
.tzx-methods[data-scan="1"] .tzx-goo i[data-l="scan"],
.tzx-methods[data-tv="1"] .tzx-goo i[data-l="tv"],
.tzx-methods[data-manual="1"] .tzx-goo i[data-l="manual"] { transform: none; opacity: 1; }
.tzx-methods[data-scan="1"][data-tv="1"] .tzx-goo b[data-l="scan-tv"],
.tzx-methods[data-tv="1"][data-manual="1"] .tzx-goo b[data-l="tv-manual"] { transform: scaleY(1.35); }

.tzx-methods[data-scan="1"][data-manual="1"]:not([data-tv="1"]) .tzx-goo i[data-l="tv"] { transform: scale(1, .22); opacity: 1; }
.tzx-methods[data-scan="1"][data-manual="1"]:not([data-tv="1"]) .tzx-goo b { transform: scaleY(.5); }

.tzx-methods button { position: relative; z-index: 1; background: none !important; color: var(--tzx-acc) !important;
  border-radius: 10px !important; box-shadow: none !important; transition: color .2s, box-shadow .2s; }
.tzx-methods button.is-on { box-shadow: inset 0 0 0 2px var(--tzx-acc) !important; }
.tzx-methods[data-scan="1"] button[data-m="scan"],
.tzx-methods[data-tv="1"] button[data-m="tv"],
.tzx-methods[data-manual="1"] button[data-m="manual"] { color: #0a0c02 !important; }
.tzx-methods[data-scan="1"] button[data-m="scan"].is-on,
.tzx-methods[data-tv="1"] button[data-m="tv"].is-on,
.tzx-methods[data-manual="1"] button[data-m="manual"].is-on { box-shadow: inset 0 0 0 2px rgba(10, 12, 2, .55), 0 0 18px rgba(var(--acc-rgb, 184, 245, 0), .45) !important; }
.tzx-acc { margin: 7px 3px 0 !important; }
.tzx-acc-txt { color: var(--tzx-ink2) !important; }
@media (prefers-reduced-motion: reduce) { .tzx-goo i, .tzx-goo b { transition: none; } }

html.tz-app body.tzx-lane-manual #tv-boss-btn{ display: none !important; }
.tzx-methods[data-scan="1"][data-manual="1"]:not([data-tv="1"]) button[data-m="tv"] { color: var(--tzx-ink) !important; text-shadow: 0 0 2px #000, 0 0 8px #000, 0 0 12px #000; }

#tzp-sheet { position: fixed; inset: 0; z-index: 100200; display: flex; align-items: center; justify-content: center; font-family: var(--tzx-font); }
#tzp-sheet[hidden] { display: none; }
.tzp-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.tzp-box { position: relative; width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 19px 15px 15px;
  border-radius: 19px; background: #0c0d11; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .22); box-shadow: 0 30px 80px rgba(0, 0, 0, .6); color: var(--tzx-ink); }
@media (max-width: 759px) { #tzp-sheet { align-items: flex-end; } .tzp-box { width: 100vw; border-radius: 19px 19px 0 0; padding-bottom: calc(15px + var(--tzx-safe-b)); } }
.tzp-x { position: absolute; top: 10px; right: 10px; width: 27px; height: 27px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .08); color: var(--tzx-ink); cursor: pointer; }
.tzp-body h2 { margin: 0 31px 3px 0; font: 800 15px/1.15 var(--tzx-font); letter-spacing: -.02em; }
.tzp-body > p { margin: 0 0 12px; color: var(--tzx-ink2); font-size: 14px; }
.tzp-founder { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; margin-bottom: 10px; cursor: pointer; text-align: left;
  border: 0; border-radius: 14px; background: linear-gradient(120deg, rgba(var(--acc-rgb, 184, 245, 0), .22), rgba(var(--acc-rgb, 184, 245, 0), .06)); box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb, 184, 245, 0), .5); color: var(--tzx-ink); }
.tzp-founder b { display: block; font-size: 13px; color: var(--tzx-acc); }
.tzp-founder small { font-size: 12px; color: var(--tzx-ink2); }

.tzp-price { font: 800 15px var(--tzx-font); letter-spacing: -.02em; }
.tzp-price s { margin-right: 5px; font-size: 13px; font-weight: 600; color: var(--tzx-ink3); }

.tzp-buy { width: 100%; margin-top: 12px; height: 44px; border: 0; border-radius: 12px; cursor: pointer; background: var(--tzx-acc); color: #050505; font: 800 13.5px var(--tzx-font); }

.tzp-free { width: 100%; margin: 10px 0 3px; height: 39px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px; cursor: pointer; background: transparent; color: var(--tzx-ink); font: 700 13px var(--tzx-font); }
.tzp-free:hover { border-color: var(--tzx-acc); color: var(--tzx-acc); }
/* out of analyses (88-pro.js): when they refill is the one big thing, then the way past it */
.tzp-cap { padding: 10px 4px 2px; text-align: center; }
.tzp-cap-eye { display: inline-block; padding: 4px 11px; border-radius: 84px; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); font: 800 11px var(--tzx-font); letter-spacing: .1em; text-transform: uppercase; }
.tzp-cap-eye.is-pro { background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); }
.tzp-body .tzp-cap h2 { margin: 12px 0 0; font-size: 19px; line-height: 1.2; letter-spacing: -.025em; }
.tzp-refill { display: flex; flex-direction: column; align-items: center; gap: 3px; max-width: 290px; margin: 18px auto 2px; padding: 15px 16px 14px; border-radius: 18px;
  background: radial-gradient(90% 120% at 50% 0%, rgba(var(--acc-rgb, 184, 245, 0), .12), rgba(var(--acc-rgb, 184, 245, 0), .03)); border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .2); }
.tzp-refill span { font: 700 11px var(--tzx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--tzx-ink2); }
.tzp-refill b { font: 900 30px/1.05 var(--tzx-font); letter-spacing: -.035em; color: var(--tzx-acc); font-variant-numeric: tabular-nums; }
.tzp-refill em { font-style: normal; font-size: 13px; color: var(--tzx-ink2); }
.tzp-spin { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; height: 46px; margin: 18px 0 0; border: 0; border-radius: 13px; cursor: pointer;
  background: rgba(var(--acc-rgb, 184, 245, 0), .13); box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb, 184, 245, 0), .35); color: var(--tzx-acc); font: 800 14px var(--tzx-font); transition: background .15s; }
.tzp-spin:hover { background: rgba(var(--acc-rgb, 184, 245, 0), .22); }
.tzp-textlink { display: block; margin: 13px auto 0; padding: 4px 6px; border: 0; background: none; color: var(--tzx-ink2); font: 600 13.5px var(--tzx-font); text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .25); text-underline-offset: 3px; cursor: pointer; }
.tzp-textlink:hover { color: var(--tzx-ink); }
.tzp-or { display: flex; align-items: center; gap: 11px; margin: 22px 0 14px; color: var(--tzx-ink2); font: 700 12px var(--tzx-font); letter-spacing: .03em; white-space: nowrap; }
.tzp-or::before, .tzp-or::after { content: ''; flex: 1; height: 1px; background: rgba(255, 255, 255, .1); }
.tzp-buy:disabled { opacity: .6; }
.tzp-fine { margin: 9px 0 0; text-align: center; font-size: 12.5px; color: var(--tzx-ink2); }
.tzp-err { margin-top: 7px; text-align: center; font-size: 13px; color: #ff6f5e; }
.tzp-err:empty { display: none; }
/* Your plan: renews on … / cancel renewal / resume / change card */
.tzp-mine { padding-top: 5px; }
.tzp-sub { margin-top: 12px; padding: 12px 14px 5px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; background: rgba(255, 255, 255, .03); }
.tzp-sub p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--tzx-ink); }
.tzp-sub .tzp-buy { margin-top: 10px; height: 39px; font-size: 13px; }
.tzp-sub .tzp-free { margin: 9px 0 7px; }
.tzp-sub-h { margin: 15px 0 0; font: 700 11px var(--tzx-font); letter-spacing: .14em; text-transform: uppercase; color: var(--tzx-ink2); }
.tzp-soon { padding: 26px 0; text-align: center; color: var(--tzx-ink2); }

.tzp-len { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; padding: 3px; border-radius: 12px; background: rgba(255, 255, 255, .05); }
.tzp-len button { position: relative; height: 34px; border: 0; border-radius: 9px; background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzp-len button.is-on { background: var(--tzx-acc); color: #050505; }
.tzp-len i { position: absolute; top: -7px; right: 3px; padding: 1px 5px; border-radius: 84px; background: #0c0d11; box-shadow: inset 0 0 0 1px var(--tzx-acc); color: var(--tzx-acc); font: 800 10px var(--tzx-font); font-style: normal; }
.tzp-hero { padding: 19px 0 3px; text-align: center; }
.tzp-pm { display: flex; align-items: baseline; justify-content: center; gap: 5px; }
.tzp-pm b { font: 800 31px/1 var(--tzx-font); letter-spacing: -.04em; }
.tzp-pm span { font-size: 16px; color: var(--tzx-ink2); }
.tzp-total { margin-top: 7px; font-size: 13.5px; color: var(--tzx-ink2); }
.tzp-total s { color: var(--tzx-ink3); }
.tzp-total b { color: var(--tzx-ink); }
.tzp-body .tzp-founder { position: relative; margin: 14px 0 0; padding: 14px 12px; }
.tzp-founder small { display: block; }
.tzp-founder em { font-style: normal; font-weight: 800; color: var(--tzx-acc); }
.tzp-founder .tzp-price { font-size: 15.5px; }
.tzp-off { position: absolute; top: -8px; right: 10px; padding: 2px 7px; border-radius: 84px; background: var(--tzx-acc); color: #050505; font: 800 11px var(--tzx-font); font-style: normal; }

.tzp-back { margin: -3px 0 9px; padding: 5px 0; border: 0; background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzp-paysum { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 31px 12px 0; }
.tzp-paysum span { font: 800 16px var(--tzx-font); letter-spacing: -.01em; }
.tzp-paysum b { font: 800 16px var(--tzx-font); color: var(--tzx-acc); }
.tzp-pay { min-height: 320px; border-radius: 12px; overflow: hidden; }
.tzp-pay iframe { width: 100% !important; border: 0; }
.tzp-done { padding: 22px 0 3px; text-align: center; }
.tzp-done > b { display: block; font-size: 42px; color: var(--tzx-acc); line-height: 1; }
.tzp-done h2 { margin: 9px 0 3px !important; }
.tzp-done p { margin: 0 0 5px; color: var(--tzx-ink2); }

#tzr-sheet { position: fixed; inset: 0; z-index: 100150; display: flex; align-items: center; justify-content: center; font-family: var(--tzx-font); }
#tzr-sheet[hidden] { display: none; }
.tzr-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.tzr-box { position: relative; display: flex; flex-direction: column; width: min(560px, calc(100vw - 24px)); height: min(760px, calc(100dvh - 32px));
  border-radius: 19px; background: #0c0d11; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .22); box-shadow: 0 30px 80px rgba(0, 0, 0, .6); color: var(--tzx-ink); overflow: hidden; }
@media (max-width: 759px) { #tzr-sheet { align-items: flex-end; } .tzr-box { width: 100vw; height: calc(100dvh - 40px); border-radius: 19px 19px 0 0; } }
.tzr-head { display: flex; align-items: center; justify-content: space-between; padding: 15px 15px 7px; }
.tzr-head h2 { margin: 0; font: 800 15px/1.1 var(--tzx-font); letter-spacing: -.02em; }
.tzr-x { width: 27px; height: 27px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .08); color: var(--tzx-ink); cursor: pointer; }
.tzr-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin: 3px 15px 9px; padding: 3px; border-radius: 10px; background: rgba(255, 255, 255, .05); }
.tzr-tabs button { height: 31px; border: 0; border-radius: 8px; background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzr-tabs button.is-on { background: var(--tzx-acc); color: #050505; }
.tzr-body { flex: 1; overflow-y: auto; padding: 3px 15px calc(15px + var(--tzx-safe-b)); -webkit-overflow-scrolling: touch; }
.tzr-bar { display: flex; gap: 7px; margin-bottom: 10px; position: sticky; top: 0; z-index: 1; background: #0c0d11; padding-bottom: 3px; }
.tzr-search { flex: 1; min-width: 0; height: 34px; padding: 0 10px; border-radius: 9px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 500 13px var(--tzx-font); }
.tzr-new { height: 34px; padding: 0 12px; border: 0; border-radius: 9px; background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); font: 700 13px var(--tzx-font); cursor: pointer; white-space: nowrap; }
.tzr-new-wide { width: 100%; margin-top: 12px; height: 39px; }
.tzr-card { padding: 12px; margin-bottom: 9px; border-radius: 12px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tzr-card-top { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.tzr-name { font: 700 13.5px var(--tzx-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzr-kind { display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; padding: 3px 7px; border-radius: 84px; background: rgba(var(--acc-rgb, 184, 245, 0), .12); color: var(--tzx-acc); font: 700 11px var(--tzx-font); }
.tzr-kind.is-private { background: rgba(255, 255, 255, .08); color: var(--tzx-ink2); }
.tzr-kind svg { width: 9px; height: 9px; fill: none; stroke: currentColor; stroke-width: 2.2; }
.tzr-desc { margin-top: 5px; font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink2); white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; cursor: pointer; }
.tzr-desc.is-open { display: block; }
.tzr-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 9px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzr-fill { width: 51px; height: 4px; border-radius: 84px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.tzr-fill i { display: block; height: 100%; background: var(--tzx-acc); border-radius: 84px; }
.tzr-act { margin-left: auto; height: 27px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 9px; background: none; color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.tzr-btns { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.tzr-btns .tzr-act { margin-left: 0; }
.tzr-act.is-go { background: var(--tzx-acc); border-color: var(--tzx-acc); color: #050505; }
.tzr-act.is-muted { border: 0; color: var(--tzx-ink3); cursor: default; }
.tzr-act em { font-style: normal; min-width: 15px; padding: 0 4px; border-radius: 84px; background: var(--tzx-acc); color: #050505; font-size: 11px; }
.tzr-state { color: var(--tzx-ink2); }
.tzr-state.is-warn { color: #ffb44a; }
.tzr-h { margin: 12px 0 7px; font: 700 12px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzr-empty { padding: 31px 7px; text-align: center; color: var(--tzx-ink2); font-size: 14px; line-height: 1.6; }
.tzr-link { margin-top: 7px; border: 0; background: none; color: var(--tzx-acc); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzr-back { margin: 0 0 9px; padding: 5px 0; border: 0; background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzr-form { display: flex; flex-direction: column; gap: 12px; }
.tzr-form label { display: flex; flex-direction: column; gap: 5px; font: 600 13px var(--tzx-font); color: var(--tzx-ink2); }
.tzr-form input, .tzr-form textarea { padding: 9px 10px; border-radius: 9px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 500 13px var(--tzx-font); resize: vertical; }
.tzr-form input:focus, .tzr-form textarea:focus, .tzr-search:focus { outline: none; border-color: var(--tzx-acc); }
.tzr-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.tzr-seg button { padding: 10px 9px; border-radius: 10px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink); font: 700 13px var(--tzx-font); text-align: left; cursor: pointer; }
.tzr-seg button small { display: block; margin-top: 3px; font: 500 12px var(--tzx-font); color: var(--tzx-ink3); }
.tzr-seg button.is-on { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .08); box-shadow: 0 0 0 1px var(--tzx-acc); }
.tzr-price { font-size: 13.5px; color: var(--tzx-ink2); text-align: center; }
.tzr-price b { color: var(--tzx-ink); font-size: 13.5px; }
.tzr-go { height: 43px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 800 13.5px var(--tzx-font); cursor: pointer; }
.tzr-go:disabled { opacity: .6; }
.tzr-err { text-align: center; font-size: 13px; color: #ff6f5e; }
.tzr-err:empty { display: none; }
.tzr-paysum { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.tzr-paysum span { font: 800 15.5px var(--tzx-font); }
.tzr-paysum b { font: 800 15.5px var(--tzx-font); color: var(--tzx-acc); }
.tzr-pay { min-height: 320px; border-radius: 12px; overflow: hidden; }
.tzr-pay iframe { width: 100% !important; border: 0; }
.tzr-fine { margin: 9px 0 0; text-align: center; font-size: 12.5px; color: var(--tzx-ink2); }
.tzr-done { padding: 26px 0 3px; text-align: center; display: flex; flex-direction: column; gap: 7px; }
.tzr-done > b { font-size: 42px; color: var(--tzx-acc); line-height: 1; }
.tzr-done h3 { margin: 5px 0 0; font: 800 15px var(--tzx-font); }
.tzr-done p { margin: 0 0 7px; color: var(--tzx-ink2); }

.tzr-sub { margin: 7px 0 3px; font: 700 11.5px var(--tzx-font); letter-spacing: .05em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzr-person { display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 6px 0; font-size: 13px; border-bottom: 1px solid rgba(255, 255, 255, .04); }
.tzr-person small { color: var(--tzx-ink3); }
.tzr-person > span:last-child { display: flex; gap: 5px; }
.tzr-mini { height: 24px; padding: 0 9px; border-radius: 7px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 700 12px var(--tzx-font); cursor: pointer; }
.tzr-mini.is-go { background: var(--tzx-acc); border-color: var(--tzx-acc); color: #050505; }

#tzw { position: fixed; inset: 0; z-index: 100400; display: flex; align-items: center; justify-content: center; padding: 14px;
  background: radial-gradient(120% 80% at 50% 0%, rgba(var(--acc-rgb, 184, 245, 0), .10), transparent 60%), rgba(4, 5, 7, .96);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzw[hidden] { display: none; }
html.tzw-open body { overflow: hidden; }
.tzw-box { width: min(440px, 100%); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 22px 19px 19px; border-radius: 22px;
  background: #0c0d11; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .2); box-shadow: 0 40px 100px rgba(0, 0, 0, .7); }
@media (max-width: 520px) { #tzw { padding: 0; align-items: stretch; } .tzw-box { width: 100%; max-height: none; border-radius: 0; border: 0; padding: calc(24px + env(safe-area-inset-top, 0px)) 17px calc(20px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; } .tzw-body { flex: 1; display: flex; flex-direction: column; } .tzw-body .tzw-go { margin-top: auto; } }
.tzw-dots { display: flex; gap: 5px; margin-bottom: 22px; }
.tzw-dots i { flex: 1; height: 3px; border-radius: 84px; background: rgba(255, 255, 255, .08); transition: background .3s; }
.tzw-dots i.on { background: var(--tzx-acc); }
.tzw-body.tzw-in { animation: tzwIn .32s cubic-bezier(.2, .8, .2, 1); }
@keyframes tzwIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .tzw-body.tzw-in { animation: none; } }
.tzw-body h1 { margin: 0 0 5px; font: 800 18px/1.1 var(--tzx-font); letter-spacing: -.03em; }
.tzw-body > p { margin: 0 0 19px; font-size: 15.5px; color: var(--tzx-ink2); }
.tzw-handle { display: flex; align-items: center; height: 49px; padding: 0 14px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--tzx-line); }
.tzw-handle:focus-within { border-color: var(--tzx-acc); box-shadow: 0 0 0 3px rgba(var(--acc-rgb, 184, 245, 0), .15); }
.tzw-handle span { font: 700 15px var(--tzx-font); color: var(--tzx-ink3); }
.tzw-handle input { flex: 1; min-width: 0; height: 100%; border: 0; background: none; color: var(--tzx-ink); font: 700 15px var(--tzx-font); outline: none; }
html .tzw-handle input:focus, html .tzw-handle input:focus-visible { outline: none !important; box-shadow: none !important; border-radius: 0; }
.tzw-status { min-height: 17px; margin: 7px 2px 15px; font-size: 13.5px; color: var(--tzx-ink3); }
.tzw-status.is-ok { color: var(--tzx-acc); }
.tzw-status.is-bad { color: #ffb44a; }
.tzw-go { width: 100%; height: 48px; margin-top: 7px; border: 0; border-radius: 14px; background: var(--tzx-acc); color: #050505; font: 800 14.5px var(--tzx-font); cursor: pointer; transition: transform .12s, opacity .2s; }
.tzw-go:active { transform: scale(.98); }
.tzw-go:disabled { opacity: .45; cursor: default; }
.tzw-link { display: block; margin: 12px auto 0; border: 0; background: none; color: var(--tzx-ink2); font: 600 14px var(--tzx-font); cursor: pointer; }
.tzw-ref { width: 100%; height: 39px; margin-top: 10px; padding: 0 12px; border-radius: 11px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 600 13px var(--tzx-font); }
.tzw-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.tzw-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; height: 78px; border-radius: 15px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); cursor: pointer; transition: all .15s; }
.tzw-tile b { font-size: 15.5px; line-height: 1; color: var(--tzx-ink2); }
.tzw-tile span { font: 700 13px var(--tzx-font); }
.tzw-tile.on { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .10); box-shadow: 0 0 0 1px var(--tzx-acc); }
.tzw-tile.on b { color: var(--tzx-acc); }

.tzw-flow { display: flex; align-items: center; gap: 5px; margin: -5px 0 17px; font: 700 13px var(--tzx-font); color: var(--tzx-ink2); }
.tzw-flow span { display: inline-flex; align-items: center; gap: 5px; }
.tzw-flow b { display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: rgba(var(--acc-rgb, 184, 245, 0), .15); color: var(--tzx-acc); font-size: 11px; }
.tzw-flow i { flex: 1; height: 1px; background: var(--tzx-line); }
.tzw-picks { display: flex; flex-direction: column; gap: 9px; }
.tzw-pick { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: center; gap: 2px 10px; padding: 14px 15px; border-radius: 15px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); text-align: left; cursor: pointer; transition: all .15s; }
.tzw-pick:hover, .tzw-pick:focus-visible { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .08); }
.tzw-pick b { font: 800 15.5px var(--tzx-font); }
.tzw-pick span { grid-row: 2; font-size: 13px; color: var(--tzx-ink3); }
.tzw-pick em { grid-row: 1 / 3; grid-column: 2; font: 800 13px var(--tzx-font); font-style: normal; color: var(--tzx-acc); }
.tzw-coach { position: fixed; z-index: 100100; max-width: 300px; padding: 10px 12px; border-radius: 12px; background: var(--tzx-acc); color: #050505; font-family: var(--tzx-font); box-shadow: 0 16px 40px rgba(0, 0, 0, .5); animation: tzwIn .3s ease; pointer-events: auto; }
.tzw-coach b { display: block; font: 800 13px var(--tzx-font); }
.tzw-coach span { display: block; margin-top: 2px; font: 600 13px var(--tzx-font); opacity: .75; }
.tzw-coach::after { content: ''; position: absolute; left: 50%; bottom: -6px; width: 12px; height: 12px; background: var(--tzx-acc); transform: translateX(-50%) rotate(45deg); border-radius: 2px; }
.tzw-pulse { animation: tzwPulse 1.4s ease-in-out infinite !important; }
@keyframes tzwPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(var(--acc-rgb, 184, 245, 0), .6); } 50% { box-shadow: 0 0 0 10px rgba(var(--acc-rgb, 184, 245, 0), 0); } }

#tzr-space { position: fixed; inset: 0; z-index: 100160; display: flex; flex-direction: column; background: #07080b; color: var(--tzx-ink); font-family: var(--tzx-font); }
#tzr-space[hidden] { display: none; }
html.tzs-open body { overflow: hidden; }
#tzr-space .tzs-head { display: flex; align-items: center; gap: 9px; padding: calc(9px + env(safe-area-inset-top, 0px)) 12px 9px; border-bottom: 1px solid var(--tzx-line); background: rgba(8, 9, 12, .94); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.tzs-back { width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .06); color: var(--tzx-ink); font: 400 26px/1 var(--tzx-font); cursor: pointer; }
.tzs-title { flex: 1; min-width: 0; }
.tzs-title b { display: block; font: 800 14.5px var(--tzx-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzs-title small { font-size: 12.5px; color: var(--tzx-ink3); }
.tzs-people { height: 29px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzs-main { flex: 1; min-height: 0; display: flex; }
.tzs-feed { flex: 1; min-width: 0; overflow-y: auto; padding: 14px max(12px, calc((100% - 646px) / 2)) 7px; -webkit-overflow-scrolling: touch; }
.tzs-side { width: 300px; flex-shrink: 0; overflow-y: auto; padding: 12px 14px; border-left: 1px solid var(--tzx-line); background: #0b0c10; }
.tzs-side[hidden] { display: none; }
@media (max-width: 759px) { .tzs-side { position: absolute; inset: 0; width: auto; z-index: 2; border: 0; padding-top: calc(60px + env(safe-area-inset-top, 0px)); } }
.tzs-side-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.tzs-side-h b { font: 800 13.5px var(--tzx-font); }
.tzs-side-x { width: 26px; height: 26px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .06); color: var(--tzx-ink); cursor: pointer; }
#tzr-space .tzs-more { display: block; margin: 0 auto 10px; padding: 5px 12px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzs-msg { display: flex; flex-direction: column; align-items: flex-start; margin-top: 10px; }
.tzs-msg.is-cont { margin-top: 3px; }
.tzs-msg.is-mine { align-items: flex-end; }
.tzs-who { margin: 0 3px 3px; font: 700 12.5px var(--tzx-font); color: var(--tzx-ink2); }
.tzs-who time { font-weight: 500; color: var(--tzx-ink3); margin-left: 3px; }
.tzs-bub { position: relative; max-width: min(78%, 560px); padding: 8px 11px; border-radius: 15px 15px 15px 5px; background: rgba(255, 255, 255, .07); font-size: 13px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.tzs-msg.is-mine .tzs-bub { border-radius: 15px 15px 5px 15px; background: var(--tzx-acc); color: #050505; }
.tzs-bub a { color: inherit; text-decoration: underline; }
.tzs-del { position: absolute; top: -7px; right: -7px; width: 19px; height: 19px; border: 0; border-radius: 50%; background: #2a2d36; color: var(--tzx-ink); font-size: 11px; cursor: pointer; opacity: 0; transition: opacity .15s; }
.tzs-msg:hover .tzs-del, .tzs-del:focus-visible { opacity: 1; }
@media (hover: none) { .tzs-del { opacity: .55; } }
.tzs-ended { margin: 0; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--tzx-line); text-align: center; font-size: 13px; color: #ffb44a; }
.tzs-ended .tzr-mini { margin-left: 7px; }
.tzs-compose { display: flex; align-items: flex-end; gap: 7px; padding: 9px max(10px, calc((100% - 646px) / 2)) calc(9px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--tzx-line); background: rgba(8, 9, 12, .96); }
.tzs-compose[hidden] { display: none; }
.tzs-compose textarea { flex: 1; min-height: 37px; max-height: 119px; padding: 9px 12px; border-radius: 19px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .05); color: var(--tzx-ink); font: 500 13px/1.4 var(--tzx-font); resize: none; outline: none; }
.tzs-compose textarea:focus { border-color: var(--tzx-acc); }
.tzs-compose button { width: 37px; height: 37px; flex-shrink: 0; border: 0; border-radius: 50%; background: var(--tzx-acc); color: #050505; font: 800 20px var(--tzx-font); cursor: pointer; }
.tzs-compose button:disabled { opacity: .5; }

.tzm-switch { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; cursor: pointer; }
.tzm-switch span { font: 700 13px var(--tzx-font); }
.tzm-switch small { display: block; font: 500 12px var(--tzx-font); color: var(--tzx-ink3); margin-top: 2px; }
.tzm-switch input { position: absolute; opacity: 0; pointer-events: none; }
.tzm-switch i { position: relative; flex-shrink: 0; width: 37px; height: 22px; border-radius: 84px; background: rgba(255, 255, 255, .14); transition: background .2s; }
.tzm-switch i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; transition: transform .2s; }
.tzm-switch input:checked + i { background: var(--tzx-acc); }
.tzm-switch input:checked + i::after { transform: translateX(18px); background: #050505; }
.tzm-switch input:focus-visible + i { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
.tzm-invite { margin: 5px 0 3px; padding: 10px; border-radius: 10px; background: rgba(var(--acc-rgb, 184, 245, 0), .06); border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .18); }
.tzm-invite b { display: block; font: 700 13px var(--tzx-font); }
.tzm-invite small { display: block; font: 500 12px var(--tzx-font); color: var(--tzx-ink3); margin-top: 2px; }
.tzm-invite code { display: block; margin: 7px 0; padding: 6px 8px; border-radius: 7px; background: rgba(0, 0, 0, .35); font: 600 12.5px ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--tzx-ink2); overflow-wrap: anywhere; }
.tzm-row { display: flex; flex-wrap: wrap; gap: 5px; }
.tzm-person { flex-wrap: wrap; }
.tzr-person em { font-style: normal; margin-left: 3px; padding: 1px 5px; border-radius: 84px; background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); font: 700 10.5px var(--tzx-font); vertical-align: 1px; }
.tzr-person em.is-soft { background: rgba(255, 255, 255, .07); color: var(--tzx-ink3); }
.tzr-person em.is-warn { background: rgba(255, 180, 74, .14); color: #ffb44a; }
.tzm-more { letter-spacing: .1em; }
.tzm-acts { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 5px; padding: 7px 0 2px; }
.tzm-acts[hidden] { display: none; }
.tzr-mini.is-danger { color: #ff6f5e; border-color: rgba(255, 111, 94, .35); }
.tzs-note { padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--tzx-line); text-align: center; font-size: 13.5px; color: var(--tzx-ink3); }
.tzs-note[hidden] { display: none; }
.tzi-invite { padding: 15px 3px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.tzi-invite > small { font: 700 12px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzi-invite h3 { margin: 0; font: 800 15.5px/1.15 var(--tzx-font); letter-spacing: -.02em; }
.tzi-invite p { margin: 3px 0; font-size: 14.5px; line-height: 1.5; color: var(--tzx-ink2); white-space: pre-line; }
.tzi-invite .tzr-meta { justify-content: center; }
.tzi-invite .tzr-go { width: 100%; margin-top: 9px; }

html.tz-app .analyze-btn-wrap { flex-direction: row !important; align-items: stretch; gap: 7px !important; }
html.tz-app #analyze-btn {
  height: 44px; min-height: 44px !important; margin: 0 !important; padding: 0 14px !important; border-radius: 12px !important;
  font-family: var(--tzx-font) !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: -.01em !important;
  text-transform: none !important; line-height: 1 !important; animation: none !important; transition: transform .12s ease, background .15s ease !important;
  -webkit-tap-highlight-color: transparent;
}
html.tz-app #analyze-btn { flex: 1.7 1 0 !important; background: var(--tzx-acc) !important; color: #050505 !important; border: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 1px 2px rgba(0, 0, 0, .45) !important; overflow: hidden; }
html.tz-app #analyze-btn::before, html.tz-app #analyze-btn::after { display: none !important; }
html.tz-app #analyze-btn .analyze-btn-label { margin: 0 !important; letter-spacing: inherit !important; }
html.tz-app #analyze-btn:active { transform: scale(.98); }
html.tz-app #analyze-btn:focus-visible { outline: 2px solid var(--tzx-ink) !important; outline-offset: 2px; }
html.tz-app #analyze-btn:disabled { opacity: .7 !important; }
html.tz-app .analyze-btn-wrap.tv-ready-analyze .analyze-btn { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 0 0 2px rgba(var(--acc-rgb, 184, 245, 0), .35) !important; }

@media (max-width: 759px) {
  html.tz-app { --fs-scale: .92; }
  html.tz-app #analyze-btn { height: 41px; min-height: 41px !important; font-size: 13px !important; }
  
  html.tz-app #tzx-nav { transition: transform .24s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
  html.tz-app body.tzx-nav-hide { --tzx-bar: 0px; }
  html.tz-app body.tzx-nav-hide #tzx-nav { transform: translateY(110%); }
  html.tz-app body.tzx-nav-hide .analyze-btn-wrap { padding-bottom: calc(7px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (prefers-reduced-motion: reduce) { html.tz-app #tzx-nav { transition: none; } }

#tzspin { position: fixed; inset: 0; z-index: 100300; display: flex; align-items: center; justify-content: center; padding: 14px; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzspin[hidden] { display: none; }
.tzsp-scrim { position: absolute; inset: 0; background: radial-gradient(80% 60% at 50% 40%, rgba(var(--acc-rgb, 184, 245, 0), .14), transparent 70%), rgba(3, 4, 6, .95); }   /* no backdrop blur: it was redone every frame the page behind moved, and made the wheel lag */
.tzsp-box { position: relative; width: min(400px, 100%); max-height: calc(100dvh - 32px); overflow: hidden auto; padding: 22px 19px 19px; border-radius: 24px; text-align: center;
  background: linear-gradient(180deg, #11140c, #0a0b0e 55%); border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .25); box-shadow: 0 40px 100px rgba(0, 0, 0, .7); animation: tzspIn .35s cubic-bezier(.2, .9, .3, 1.2); }
@keyframes tzspIn { from { opacity: 0; transform: scale(.94) translateY(10px); } to { opacity: 1; transform: none; } }
.tzsp-x { position: absolute; top: 12px; right: 12px; width: 27px; height: 27px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .07); color: var(--tzx-ink); cursor: pointer; z-index: 2; }
.tzsp-eyebrow { display: inline-block; padding: 3px 9px; border-radius: 84px; background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); font: 800 11.5px var(--tzx-font); letter-spacing: .08em; text-transform: uppercase; }
.tzsp-box h2 { margin: 10px 0 3px; font: 800 16.5px/1.1 var(--tzx-font); letter-spacing: -.03em; }
.tzsp-sub { margin: 0 0 15px; font-size: 15px; color: var(--tzx-ink2); }
.tzsp-wheel { position: relative; width: 280px; height: 280px; max-width: 78vw; max-height: 78vw; margin: 0 auto; }
/* the wheel is drawn once and turned by the GPU (91-spin.js); its shadow sits on the still frame, not the turning canvas */
.tzsp-wheel::before { content: ''; position: absolute; inset: 4px; border-radius: 50%; box-shadow: 0 14px 34px rgba(0, 0, 0, .6), 0 0 40px rgba(var(--acc-rgb, 184, 245, 0), .08); pointer-events: none; }
.tzsp-wheel canvas { position: relative; width: 100%; height: 100%; display: block; will-change: transform; transform: translateZ(0); backface-visibility: hidden; }
.tzsp-pointer { position: absolute; top: -5px; left: 50%; width: 0; height: 0; transform: translateX(-50%); transform-origin: 50% 0; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 22px solid var(--tzx-acc); filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .6)); z-index: 1; }
.tzsp-pointer.is-tick { animation: tzspTick .12s ease-out; }
@keyframes tzspTick { 40% { transform: translateX(-50%) rotate(-16deg); } 100% { transform: translateX(-50%); } }

.tzsp-hub { position: absolute; inset: 0; margin: auto; width: 65px; height: 65px; border: 3px solid #0a0b0e; border-radius: 50%; background: var(--tzx-acc); color: #050505; font: 900 13.5px var(--tzx-font); letter-spacing: .04em; cursor: pointer; box-shadow: 0 0 0 4px rgba(var(--acc-rgb, 184, 245, 0), .25), 0 8px 24px rgba(0, 0, 0, .6); transition: transform .12s; touch-action: manipulation; }
.tzsp-hub:not(:disabled):hover { transform: scale(1.05); }
.tzsp-hub:not(:disabled) { animation: tzspPulse 1.8s ease-in-out infinite; }
.tzsp-hub:disabled { cursor: default; animation: none; }
.tzsp-hub.is-wait::after { content: ''; position: absolute; inset: 19px; border-radius: 50%; border: 3px solid rgba(5, 5, 5, .25); border-top-color: #050505; animation: tzspTurn .7s linear infinite; }
@keyframes tzspTurn { to { transform: rotate(360deg); } }
.tzsp-wheel canvas { cursor: pointer; touch-action: manipulation; }
@keyframes tzspPulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(var(--acc-rgb, 184, 245, 0), .25), 0 8px 24px rgba(0, 0, 0, .6); } 50% { box-shadow: 0 0 0 12px rgba(var(--acc-rgb, 184, 245, 0), 0), 0 8px 24px rgba(0, 0, 0, .6); } }
.tzsp-odds { min-height: 15px; margin-top: 14px; font-size: 13px; color: var(--tzx-ink2); }
.tzsp-odds:empty { visibility: hidden; }
.tzsp-odds[hidden] { display: none; }
.tzsp-result { margin-top: 14px; }
.tzsp-result[hidden] { display: none; }
.tzsp-result small { font: 800 12px var(--tzx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--tzx-acc); }
.tzsp-big { display: block; margin: 2px 0; font: 900 38px/1 var(--tzx-font); letter-spacing: -.04em; color: var(--tzx-acc); text-shadow: 0 0 30px rgba(var(--acc-rgb, 184, 245, 0), .35); }
.tzsp-big i { display: block; margin-top: 2px; font: 700 13px var(--tzx-font); font-style: normal; letter-spacing: 0; color: var(--tzx-ink); text-shadow: none; }
.tzsp-big.is-again { color: #ffb44a; text-shadow: none; }
.tzsp-result h3 { margin: 3px 0; font: 800 15px var(--tzx-font); }
.tzsp-result p { margin: 5px 0 12px; font-size: 14.5px; line-height: 1.5; color: var(--tzx-ink2); }
.tzsp-result p b { color: var(--tzx-ink); }
.tzsp-go { width: 100%; height: 44px; border: 0; border-radius: 13px; background: var(--tzx-acc); color: #050505; font: 800 14px var(--tzx-font); cursor: pointer; }
.tzsp-link { display: block; margin: 10px auto 0; border: 0; background: none; color: var(--tzx-ink2); font: 600 14px var(--tzx-font); cursor: pointer; }
.tzsp-confetti { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 3; }
.tzsp-what { margin: 10px 4px 0; font-size: 12.5px; line-height: 1.45; color: var(--tzx-ink3, rgba(232, 236, 239, .45)); }
/* while the wheel is open the header's looping shine, ring and wiggle rest */
html.tzsp-open .hdr .tz-gift, html.tzsp-open .hdr .tz-gift *, html.tzsp-open .hdr .tz-gift::before, html.tzsp-open .hdr .tz-gift::after { animation-play-state: paused !important; }
/* the win: a congrats card over the wheel */
.tzsp-win { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 18px; border-radius: inherit;
  background: radial-gradient(70% 55% at 50% 42%, rgba(var(--acc-rgb, 184, 245, 0), .16), transparent 70%), rgba(8, 10, 6, .94); animation: tzspFade .25s ease both; }
.tzsp-win[hidden] { display: none; }
.tzsp-win-in { width: 100%; max-width: 300px; animation: tzspPop .5s cubic-bezier(.2, 1.4, .4, 1) both; }
.tzsp-win small { display: inline-block; padding: 4px 11px; border-radius: 84px; background: rgba(var(--acc-rgb, 184, 245, 0), .16); color: var(--tzx-acc); font: 900 12px var(--tzx-font); letter-spacing: .12em; text-transform: uppercase; }
.tzsp-win-n { display: block; margin: 10px 0 0; font: 900 72px/1 var(--tzx-font); letter-spacing: -.05em; color: var(--tzx-acc); font-variant-numeric: tabular-nums;
  text-shadow: 0 0 34px rgba(var(--acc-rgb, 184, 245, 0), .45); animation: tzspGlow 1.6s ease-in-out .5s infinite; }
.tzsp-win em { display: block; margin-top: 4px; font: 800 14px var(--tzx-font); font-style: normal; letter-spacing: .02em; color: var(--tzx-ink); }
.tzsp-win p { margin: 12px 0 16px; font-size: 14px; line-height: 1.5; color: var(--tzx-ink2); }
.tzsp-win p b { color: var(--tzx-ink); }
.tzsp-win.is-big .tzsp-win-n { font-size: 84px; }
.tzsp-win.is-jackpot .tzsp-win-n { color: #f4ffc2; text-shadow: 0 0 44px rgba(var(--acc-rgb, 184, 245, 0), .7), 0 0 12px rgba(255, 255, 255, .5); }
@keyframes tzspFade { from { opacity: 0; } }
@keyframes tzspPop { 0% { opacity: 0; transform: scale(.6) translateY(16px); } 100% { opacity: 1; transform: none; } }
@keyframes tzspGlow { 50% { text-shadow: 0 0 52px rgba(var(--acc-rgb, 184, 245, 0), .75); } }
@media (prefers-reduced-motion: reduce) { .tzsp-win, .tzsp-win-in, .tzsp-win-n, .tzsp-pointer.is-tick { animation: none; } }
html.tzsp-open body { overflow: hidden; }
#tzsp-chip { display: inline-flex; align-items: center; gap: 5px; margin: 0 0 9px; padding: 6px 10px; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .35); border-radius: 84px;
  background: rgba(var(--acc-rgb, 184, 245, 0), .08); color: var(--tzx-acc); font: 700 13px var(--tzx-font); cursor: pointer; animation: tzspChip 2.6s ease-in-out infinite; }
@keyframes tzspChip { 0%, 100% { box-shadow: 0 0 0 0 rgba(var(--acc-rgb, 184, 245, 0), .0); } 50% { box-shadow: 0 0 0 4px rgba(var(--acc-rgb, 184, 245, 0), .12); } }
@media (prefers-reduced-motion: reduce) { .tzsp-box, .tzsp-hub, #tzsp-chip { animation: none !important; } }
.tzw-spin-hint { margin: 12px 0 0; padding: 9px 10px; border-radius: 10px; background: rgba(var(--acc-rgb, 184, 245, 0), .08); color: var(--tzx-acc); font: 700 13.5px var(--tzx-font); text-align: center; }

html.tz-app #tab-log:not(.tzt-has-scan-log) > :not(#tzt-journal):not(#tzj),
html.tz-app #tab-equity:not(.tzt-has-scan-log) > :not(#tzt-equity),
html.tz-app #tab-log .tzx-empty, html.tz-app #tab-equity .tzx-empty { display: none !important; }
html.tz-app #tab-log.tzt-has-scan-log > #tzt-journal, html.tz-app #tab-equity.tzt-has-scan-log > #tzt-equity { margin-bottom: 24px; padding-bottom: 17px; border-bottom: 1px solid var(--tzx-line); }

html.tz-app #local-log-modal .log-header, html.tz-app #local-log-modal .ll-view-tabs,
html.tz-app #ll-view-list, html.tz-app #ll-view-equity, html.tz-app #ll-view-calendar { display: none !important; }

#tzt-journal, #tzt-equity { font-family: var(--tzx-font); color: var(--tzx-ink); max-width: 760px; margin: 0 auto; padding: 5px 14px 7px; }
#tzt-journal .tzt-head { align-items: center; }
#tzt-journal .tzt-rank { margin-top: 0; }
.tzt-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.tzt-head h2 { margin: 0; font: 800 15.5px/1.15 var(--tzx-font); letter-spacing: -.02em; }
.tzt-sub { margin: 3px 0 0; font-size: 14px; color: var(--tzx-ink2); }
.tzt-add { flex-shrink: 0; height: 34px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzt-rank { display: inline-flex; align-items: baseline; gap: 5px; margin-top: 5px; font-size: 13px; color: var(--tzx-ink2); }
.tzt-rank b { font: 800 13px var(--tzx-font); color: var(--tzx-acc); }
.tzt-rank.is-out b { color: var(--tzx-ink2); }
.tzt-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-bottom: 14px; }
@media (max-width: 520px) { .tzt-kpis { grid-template-columns: repeat(2, 1fr); } }
.tzt-kpi { padding: 10px; border-radius: 12px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tzt-kpi b { display: block; font: 800 16px/1.1 var(--tzx-font); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.tzt-kpi span { display: block; margin-top: 3px; font-size: 12px; color: var(--tzx-ink3); }
.is-up { color: var(--tzx-acc) !important; }
.is-down { color: #ff6f5e !important; }
.is-open { color: #ffb44a !important; }
.tzt-ins { margin: -3px 0 14px; padding: 12px; border-radius: 14px; background: var(--tzx-card); border: 1px solid var(--tzx-line); font-family: var(--tzx-font); }
.tzt-ins-h { font: 700 12.5px var(--tzx-font); color: var(--tzx-ink3); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 7px; }
.tzt-ins ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 7px; }
.tzt-ins li { position: relative; padding-left: 14px; font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzt-ins li b { color: var(--tzx-ink); }
.tzt-ins li::before { content: ''; position: absolute; left: 0; top: .5em; width: 6px; height: 6px; border-radius: 84px; background: var(--tzx-ink3); }
.tzt-ins li.is-good::before { background: var(--tzx-acc); }
.tzt-ins li.is-bad::before { background: #ff6f5e; }
.tzt-day { margin-bottom: 12px; }
.tzt-day-h { display: flex; justify-content: space-between; padding: 0 3px 5px; font: 700 12.5px var(--tzx-font); color: var(--tzx-ink3); text-transform: uppercase; letter-spacing: .05em; font-variant-numeric: tabular-nums; }
.tzt-row { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px; margin-bottom: 5px; border: 1px solid var(--tzx-line); border-radius: 12px; background: var(--tzx-card); color: var(--tzx-ink); text-align: left; cursor: pointer; font-family: var(--tzx-font); transition: background .15s; }
.tzt-row:hover { background: rgba(255, 255, 255, .06); }
.tzt-dir { flex-shrink: 0; display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; font-size: 13px; }
.tzt-dir.is-long { background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); }
.tzt-dir.is-short { background: rgba(255, 111, 94, .14); color: #ff6f5e; }
.tzt-main { flex: 1; min-width: 0; }
.tzt-main b { display: block; font: 700 13px var(--tzx-font); }
.tzt-main small, .tzt-res small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--tzx-ink3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzt-res { flex-shrink: 0; text-align: right; }
.tzt-res b { font: 800 13px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzt-empty { padding: 27px 17px; text-align: center; border-radius: 15px; border: 1px dashed var(--tzx-line); }
.tzt-empty b { font: 800 15.5px var(--tzx-font); }
.tzt-empty p { margin: 5px auto 14px; max-width: 360px; font-size: 14px; line-height: 1.5; color: var(--tzx-ink2); }
.tzt-go { height: 43px; padding: 0 19px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 800 13.5px var(--tzx-font); cursor: pointer; }
.tzt-link { border: 0; background: none; color: var(--tzx-ink2); font: 600 14px var(--tzx-font); cursor: pointer; padding: 9px; }
.tzt-mini { height: 27px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzt-tools { display: grid; gap: 6px; margin-top: 7px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzt-tools button { height: 28px; padding: 0 11px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzt-tools > span { font-size: 12px; }

/* THE SLIDE RULE (owner, 2026-10-13: "the last buttons are stacking … make a rule for them to stick on phones, so they don't
   bleed, and be slideable"). A row of buttons never wraps, squeezes or breaks a label onto two lines: it stays one line and
   slides sideways, with a soft fade on the side that has more (85-shell.js sets is-l / is-r). Put class="tz-slide" on any
   button row that may not fit a phone. */
.tz-slide { display: flex; flex-wrap: nowrap; gap: 6px; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
  scrollbar-width: none; -webkit-overflow-scrolling: touch; margin: 0 -2px; padding: 2px; }
.tz-slide::-webkit-scrollbar { display: none; }
.tz-slide > * { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; }
.tz-slide.is-r { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 34px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 34px), transparent); }
.tz-slide.is-l { -webkit-mask-image: linear-gradient(90deg, transparent, #000 34px); mask-image: linear-gradient(90deg, transparent, #000 34px); }
.tz-slide.is-l.is-r { -webkit-mask-image: linear-gradient(90deg, transparent, #000 34px, #000 calc(100% - 34px), transparent); mask-image: linear-gradient(90deg, transparent, #000 34px, #000 calc(100% - 34px), transparent); }

.tzt-curve-wrap { margin: 3px 0 15px; padding: 10px; border-radius: 14px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tzt-canvas { display: block; width: 100%; }
.tzt-legend { display: flex; gap: 12px; margin-top: 7px; font-size: 12px; color: var(--tzx-ink3); }
.tzt-legend i { display: inline-block; width: 12px; height: 0; margin-right: 5px; vertical-align: middle; border-top: 2.5px solid var(--tzx-acc); }
.tzt-legend i.is-line { border-top: 2px dashed rgba(255, 255, 255, .6); }
.tzt-legend i.is-target { border-top: 1px dotted rgba(255, 255, 255, .35); }
.tzt-legend i.is-ghost { border-top: 2px dashed rgb(125, 210, 255); }
.tzt-ghost { margin: 9px 2px 14px; font-size: 14px; line-height: 1.5; color: var(--tzx-ink2); }
.tzt-ghost b { color: var(--tzx-ink); }
.tzt-ghost b.is-up { color: var(--tzx-acc); }
.tzt-ghost b.is-down { color: #ff6f5e; }
.tzt-offer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0; padding: 14px; border-radius: 14px; border: 1px solid rgba(125, 210, 255, .3); background: rgba(125, 210, 255, .06); }
.tzt-offer > div:first-child { flex: 1 1 260px; }
.tzt-offer b { font: 700 13px var(--tzx-font); color: var(--tzx-ink); }
.tzt-offer p { margin: 3px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzt-offer-b { display: flex; align-items: center; gap: 7px; }
.tzt-offer-b .tzt-go { width: auto; margin: 0; padding: 0 15px; }
.tzt-sub-h { margin: 5px 2px 7px; font: 800 12.5px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzt-plan { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 15px; }
@media (max-width: 520px) { .tzt-plan { grid-template-columns: 1fr; } }
.tzt-plan div { padding: 9px 10px; border-radius: 10px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tzt-plan span { display: block; font-size: 12px; color: var(--tzx-ink3); }
.tzt-plan b { display: block; margin-top: 3px; font: 700 13px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzt-tips { margin: 0 0 15px; padding: 0; list-style: none; }
.tzt-tips li { position: relative; padding: 9px 10px 9px 29px; margin-bottom: 5px; border-radius: 10px; background: rgba(var(--acc-rgb, 184, 245, 0), .05); font-size: 14px; line-height: 1.45; color: var(--tzx-ink2); }
.tzt-tips li::before { content: '→'; position: absolute; left: 10px; top: 9px; color: var(--tzx-acc); font-weight: 800; }
.tzt-row2 { display: flex; align-items: center; gap: 9px; }

#tradzy-public-profile.tzpf { z-index: 100170; }
#tradzy-public-profile.tzpf .modal { max-width: 400px !important; border-radius: 20px !important; background: #0c0d11 !important; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .2) !important; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tradzy-public-profile.tzpf .modal > div:first-child { border-bottom: 0 !important; padding: 12px 14px 0 !important; }
#tradzy-public-profile.tzpf .modal > div:first-child > div { font: 700 12px var(--tzx-font) !important; letter-spacing: .06em !important; text-transform: uppercase; color: var(--tzx-ink3) !important; }
#tradzy-public-profile.tzpf .modal > div:first-child > button { width: 27px; height: 27px; border-radius: 50% !important; background: rgba(255, 255, 255, .07) !important; color: var(--tzx-ink) !important; font-size: 13px !important; }
#tradzy-public-profile.tzpf #pp-body { padding: 9px 15px 17px !important; max-height: min(78vh, 680px) !important; }
@media (max-width: 759px) { #tradzy-public-profile.tzpf { align-items: flex-end !important; } #tradzy-public-profile.tzpf .modal { width: 100vw !important; max-width: none !important; border-radius: 20px 20px 0 0 !important; } #tradzy-public-profile.tzpf #pp-body { padding-bottom: calc(17px + env(safe-area-inset-bottom, 0px)) !important; } }
.tzpf-loading { padding: 34px 0; text-align: center; color: var(--tzx-ink2); }
.tzpf-av { flex-shrink: 0; display: grid; place-items: center; width: 49px; height: 49px; border-radius: 50%; background: linear-gradient(135deg, var(--tzx-acc), #6f9a00); color: #050505; font: 900 26px var(--tzx-font); }

html.tz-app #tradzy-chat-panel { font-family: var(--tzx-font) !important; background: #0b0c10 !important; }
html.tz-app #tradzy-chat-panel .chat-header, html.tz-app #tradzy-chat-panel .chat-room-bar { display: none !important; }
#tzc-rooms { padding: 7px 10px 9px; border-bottom: 1px solid var(--tzx-line); }
.tzc-chips { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; -webkit-overflow-scrolling: touch; }
.tzc-chips::-webkit-scrollbar { display: none; }
.tzc-chips button { flex-shrink: 0; display: inline-flex; align-items: center; gap: 4px; height: 27px; padding: 0 10px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; white-space: nowrap; }
.tzc-chips button.is-on { background: var(--tzx-acc); border-color: var(--tzx-acc); color: #050505; }
.tzc-chips button.is-locked:not(.is-on) { color: var(--tzx-ink3); }
.tzc-chips svg { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 2.2; }
.tzc-chips .tzc-open { font-style: normal; font-size: 18px; font-weight: 600; line-height: 1; margin: -1px -2px 0 -1px; opacity: .6; }
.tzc-rule { margin-top: 7px; font-size: 12.5px; color: var(--tzx-ink2); }
.tzc-rule.is-locked { color: #ffb44a; }
/* ── Chat bubbles, iMessage style (159-imessage.js groups them) ── */
html.tz-app #tradzy-chat-panel .chat-messages { padding: 10px 12px 6px !important; background: none !important; display: flex; flex-direction: column; }
html.tz-app #tradzy-chat-panel .chat-msg { --tzm-bg: #26262b; --tzm-ink: #f5f5f7; position: relative; display: flex; flex-direction: column; align-items: flex-start; align-self: flex-start; max-width: 80%; margin: 1px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; }
html.tz-app #tradzy-chat-panel .chat-msg.tzm-first { margin-top: 9px !important; }
html.tz-app #tradzy-chat-panel .chat-msg.own-msg { --tzm-bg: linear-gradient(0deg, rgba(11, 12, 16, .14), rgba(11, 12, 16, 0) 56px), rgb(var(--acc-rgb, 184, 245, 0)); --tzm-ink: #07100a; align-items: flex-end; align-self: flex-end; margin-left: 0 !important; }
html.tz-app #tradzy-chat-panel .tzm-who { display: flex; align-items: center; gap: 6px; margin: 0 0 3px 12px; max-width: 100%; }
html.tz-app #tradzy-chat-panel .chat-msg:not(.tzm-first) .tzm-who { display: none; }
html.tz-app #tradzy-chat-panel .chat-msg-user { font: 600 11.5px/1.2 var(--tzx-font) !important; letter-spacing: 0 !important; color: var(--tzx-ink2) !important; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; text-decoration: none !important; -webkit-tap-highlight-color: transparent; }
html.tz-app #tradzy-chat-panel .chat-msg .chat-msg-user { background: none !important; -webkit-text-fill-color: currentColor !important; animation: none !important; display: block; }
html.tz-app #tradzy-chat-panel .chat-msg-user:hover { color: var(--tzx-ink) !important; text-decoration: none !important; }
html.tz-app #tradzy-chat-panel .chat-msg-streak { flex: none; font: 600 11px var(--tzx-font); color: var(--tzx-ink3); cursor: pointer; }
html.tz-app #tradzy-chat-panel .chat-rank-badge { flex: none; max-width: 52px !important; padding: 1px 6px !important; border-radius: 84px !important; background: rgba(255, 255, 255, .09) !important; border: 0 !important; color: var(--tzx-ink2) !important; font: 700 10px/1.4 var(--tzx-font) !important; cursor: pointer; }
html.tz-app #tradzy-chat-panel .chat-rank-badge.rank-1 { background: rgba(255, 200, 80, .18) !important; color: #ffc850 !important; }
html.tz-app #tradzy-chat-panel .chat-rank-badge.rank-2 { background: rgba(200, 210, 225, .16) !important; color: #d6dde8 !important; }
html.tz-app #tradzy-chat-panel .chat-rank-badge.rank-3 { background: rgba(214, 140, 80, .18) !important; color: #e0a070 !important; }
html.tz-app #tradzy-chat-panel .tzm-bub { position: relative; max-width: 100%; padding: 7px 12px 8px; border-radius: 18px; background: var(--tzm-bg); color: var(--tzm-ink); font: 400 15px/1.3 var(--tzx-font); overflow-wrap: anywhere; word-break: break-word; }
html.tz-app #tradzy-chat-panel .tzm-bub.is-card { padding: 0; background: none; border-radius: 0; }
html.tz-app #tradzy-chat-panel .tzm-bub .chat-msg-body { font: 400 15px/1.3 var(--tzx-font) !important; letter-spacing: 0 !important; color: inherit !important; overflow-wrap: anywhere; margin: 0 !important; padding: 0 !important; }
/* the tail (owner, 2026-10-04: "the bubble and its pointer aren't one piece"): one
   shape, masked out of a box that wears the bubble's own paint (--tzm-bg: solid, or
   the own gradient anchored to the bottom in pixels, so both match at every height),
   overlapping the bubble by a pixel. No page-coloured patch to carve the curve, no
   see-through colour doubling where the two meet. The corner it grows from is square. */
html.tz-app #tradzy-chat-panel .chat-msg.tzm-last:not(.own-msg) .tzm-bub:not(.is-card) { border-bottom-left-radius: 0; }
html.tz-app #tradzy-chat-panel .chat-msg.tzm-last.own-msg .tzm-bub:not(.is-card) { border-bottom-right-radius: 0; }
html.tz-app #tradzy-chat-panel .chat-msg.tzm-last .tzm-bub:not(.is-card)::before { content: ''; position: absolute; bottom: 0; left: -8px; width: 9px; height: 18px; background: var(--tzm-bg);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 18'%3E%3Cpath d='M9 0H8C8 7.5 5.4 14.6 0 18H9Z'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 18'%3E%3Cpath d='M9 0H8C8 7.5 5.4 14.6 0 18H9Z'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%; }
html.tz-app #tradzy-chat-panel .chat-msg.tzm-last.own-msg .tzm-bub:not(.is-card)::before { left: auto; right: -8px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 18'%3E%3Cpath d='M0 0H1C1 7.5 3.6 14.6 9 18H0Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 18'%3E%3Cpath d='M0 0H1C1 7.5 3.6 14.6 9 18H0Z'/%3E%3C/svg%3E"); }
/* Pro senders: a faint tint of the accent in the paint itself (a ring would draw a line between bubble and tail) */
html.tz-app #tradzy-chat-panel .chat-msg.sub-sender:not(.own-msg) { --tzm-bg: linear-gradient(rgba(var(--acc-rgb, 184, 245, 0), .07), rgba(var(--acc-rgb, 184, 245, 0), .07)), #26262b; }
html.tz-app #tradzy-chat-panel .chat-msg-xp { display: none !important; }
html.tz-app #tradzy-chat-panel .chat-msg-meta { display: none; margin: 2px 12px 0; }
html.tz-app #tradzy-chat-panel .chat-msg.tzm-last .chat-msg-meta { display: block; }
html.tz-app #tradzy-chat-panel .chat-msg-time { font: 500 10.5px var(--tzx-font) !important; color: var(--tzx-ink3) !important; letter-spacing: 0 !important; }
.tzm-day { align-self: center; margin: 12px 0 4px; font: 600 11px var(--tzx-font); color: var(--tzx-ink3); text-align: center; }
@keyframes tzm-pop { from { opacity: 0; transform: translateY(8px) scale(.94); } to { opacity: 1; transform: none; } }
.chat-msg.tzm-new .tzm-bub { animation: tzm-pop .24s cubic-bezier(.2, .9, .3, 1.2) both; transform-origin: bottom left; }
.chat-msg.own-msg.tzm-new .tzm-bub { transform-origin: bottom right; }
@media (prefers-reduced-motion: reduce) { .chat-msg.tzm-new .tzm-bub { animation: none; } }
html.tz-app #tradzy-chat-panel .chat-input-row .chat-send-btn { opacity: .35; transform: scale(.88); transition: opacity .15s, transform .15s; }
html.tz-app #tradzy-chat-panel .chat-input-row.has-text .chat-send-btn { opacity: 1; transform: none; }
html.tz-app #tradzy-chat-panel .chat-input-row { padding: 9px 10px calc(9px + env(safe-area-inset-bottom, 0px)) !important; gap: 7px !important; border-top: 1px solid var(--tzx-line) !important; background: #0b0c10 !important; }
html.tz-app #tradzy-chat-panel .chat-input { height: 36px !important; padding: 0 12px !important; border-radius: 84px !important; border: 1px solid var(--tzx-line) !important; background: rgba(255, 255, 255, .05) !important; color: var(--tzx-ink) !important; font: 500 13px var(--tzx-font) !important; letter-spacing: 0 !important; }
html.tz-app #tradzy-chat-panel .chat-input:focus { border-color: var(--tzx-acc) !important; outline: none !important; }
html.tz-app #tradzy-chat-panel .chat-send-btn { width: 36px !important; min-width: 36px !important; height: 36px !important; padding: 0 !important; border-radius: 50% !important; border: 0 !important; background: var(--tzx-acc) !important; color: #050505 !important; font: 800 0/1 var(--tzx-font) !important; }
html.tz-app #tradzy-chat-panel .chat-send-btn::after { content: '↑'; font-size: 19px; line-height: 36px; }
html.tz-app #tradzy-chat-panel #chat-gate-bar { margin: 7px 10px 10px !important; padding: 10px !important; border-radius: 12px !important; border: 1px solid rgba(255, 180, 74, .25) !important; background: rgba(255, 180, 74, .06) !important; font-family: var(--tzx-font) !important; text-align: center; }
html.tz-app #tradzy-chat-panel #chat-gate-bar-text { font: 700 13px var(--tzx-font) !important; letter-spacing: 0 !important; color: #ffb44a !important; }
html.tz-app #tradzy-chat-panel #chat-gate-bar-cta { font: 500 12.5px var(--tzx-font) !important; letter-spacing: 0 !important; color: var(--tzx-ink2) !important; }

/* ── Notes (60-notes-feature.js, rebuilt 2026-10-03): one list with folder chips and search, a full editor ── */
html.tz-app #tzn-panel { background: #0b0c10 !important; font-family: var(--tzx-font) !important; letter-spacing: normal !important; }
#tzn-app { position: relative; flex: 1; min-height: 0; display: flex; flex-direction: column; color: var(--tzx-ink); font: 400 14px/1.45 var(--tzx-font); }
#tzn-app svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#tzn-app button { font: inherit; color: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.tzn2-top { display: flex; gap: 8px; padding: 10px 12px 6px; }
.tzn2-search { flex: 1; display: flex; align-items: center; gap: 7px; height: 38px; padding: 0 11px; border-radius: 11px; background: rgba(255, 255, 255, .06); color: var(--tzx-ink3); }
.tzn2-search input { flex: 1; min-width: 0; height: 100%; border: 0 !important; outline: 0 !important; background: none !important; box-shadow: none !important; color: var(--tzx-ink); font: 500 15px var(--tzx-font); }
.tzn2-search input::placeholder { color: var(--tzx-ink3); }
.tzn2-new { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 11px; background: var(--tzx-acc); color: #050505 !important; }
.tzn2-chips { display: flex; gap: 6px; padding: 4px 12px 8px; overflow-x: auto; scrollbar-width: none; }
.tzn2-chips::-webkit-scrollbar { display: none; }
.tzn2-chip { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 99px; background: none; color: var(--tzx-ink2) !important; font: 600 13px var(--tzx-font) !important; white-space: nowrap; }
.tzn2-chip em { font-style: normal; color: var(--tzx-ink3); }
.tzn2-chip.is-on { border-color: var(--tzx-ink); background: var(--tzx-ink); color: #0b0c10 !important; }
.tzn2-chip.is-on em { color: rgba(11, 12, 16, .55); }
.tzn2-chip.is-add { border-style: dashed; color: var(--tzx-ink3) !important; }
.tzn2-chip.is-add svg { width: 14px; height: 14px; }
.tzn2-fbar { display: flex; align-items: center; gap: 8px; margin: 0 12px 6px; padding: 7px 8px 7px 10px; border-radius: 11px; background: rgba(255, 255, 255, .035); color: var(--tzx-ink2); font-size: 13px; }
.tzn2-fbar svg { width: 16px; height: 16px; color: var(--tzx-ink3); }
.tzn2-fbar b { overflow: hidden; color: var(--tzx-ink); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.tzn2-fbar span { margin-right: auto; color: var(--tzx-ink3); white-space: nowrap; }
.tzn2-fbar button { padding: 4px 6px; border: 0; background: none; color: var(--tzx-ink2) !important; font: 600 13px var(--tzx-font) !important; }
.tzn2-fbar button:last-child { color: #ff8a95 !important; }
.tzn2-list { flex: 1; min-height: 0; overflow-y: auto; padding: 2px 12px 12px; overscroll-behavior: contain; }
.tzn2-h { margin: 12px 4px 6px; color: var(--tzx-ink3); font: 700 12px var(--tzx-font); letter-spacing: .02em; }
.tzn2-row { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; width: 100%; margin: 0 0 6px; padding: 11px 12px; border: 0; border-radius: 13px; background: rgba(255, 255, 255, .045); text-align: left; }
.tzn2-row:active { background: rgba(255, 255, 255, .07); }
.tzn2-row b { grid-column: 1 / -1; display: flex; align-items: center; gap: 5px; overflow: hidden; color: var(--tzx-ink); font: 700 15px/1.3 var(--tzx-font); text-overflow: ellipsis; white-space: nowrap; }
.tzn2-row small { grid-column: 1; display: block; overflow: hidden; color: var(--tzx-ink3); font: 400 13px/1.35 var(--tzx-font); text-overflow: ellipsis; white-space: nowrap; }
.tzn2-row small time { margin-right: 7px; color: var(--tzx-ink2); }
.tzn2-row.is-fired { box-shadow: inset 3px 0 0 #ffc94d; }
.tzn2-tags { grid-column: 2; grid-row: 2; display: flex; align-items: center; gap: 6px; }
.tzn2-tags i { display: inline-flex; align-items: center; gap: 3px; color: var(--tzx-ink3); font: 600 12px var(--tzx-font); font-style: normal; }
.tzn2-tags i.is-bell, .tzn2-pin { color: #ffc94d; }
.tzn2-tags svg, .tzn2-pin svg { width: 14px !important; height: 14px !important; }
.tzn2-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 44px 24px; color: var(--tzx-ink3); text-align: center; }
.tzn2-empty > span { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 6px; border-radius: 16px; background: rgba(255, 255, 255, .05); color: var(--tzx-ink2); }
.tzn2-empty > span svg { width: 24px; height: 24px; }
.tzn2-empty b { color: var(--tzx-ink); font: 700 16px var(--tzx-font); }
.tzn2-empty p { max-width: 260px; margin: 0; font-size: 14px; }
.tzn2-cta { display: inline-flex; align-items: center; gap: 6px; height: 40px; margin-top: 12px; padding: 0 16px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505 !important; font: 700 14px var(--tzx-font) !important; }
.tzn2-foot { display: flex; gap: 6px; padding: 8px 12px calc(10px + env(safe-area-inset-bottom, 0px)); overflow-x: auto; border-top: 1px solid var(--tzx-line); scrollbar-width: none; }
.tzn2-foot::-webkit-scrollbar { display: none; }
.tzn2-foot button { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 99px; background: none; color: var(--tzx-ink2) !important; font: 600 13px var(--tzx-font) !important; }
.tzn2-foot button.is-on { border-color: rgba(184, 245, 0, .35); color: var(--tzx-acc) !important; }
.tzn2-foot svg { width: 16px !important; height: 16px !important; }
.tzn2-ntop { display: flex; align-items: center; justify-content: space-between; padding: 8px 8px 4px; }
.tzn2-back { display: inline-flex; align-items: center; gap: 2px; height: 36px; padding: 0 8px 0 2px; border: 0; background: none; color: var(--tzx-acc) !important; font: 600 15px var(--tzx-font) !important; }
.tzn2-back svg { width: 22px !important; height: 22px !important; }
.tzn2-tools { display: flex; gap: 2px; }
.tzn2-tools button { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 11px; background: none; color: var(--tzx-ink2) !important; }
.tzn2-tools button:active { background: rgba(255, 255, 255, .08); }
.tzn2-tools button.is-on { background: rgba(255, 201, 77, .1); color: #ffc94d !important; }
.tzn2-note { flex: 1; min-height: 0; overflow-y: auto; padding: 4px 16px 24px; overscroll-behavior: contain; }
.tzn2-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 10px; color: var(--tzx-ink3); font-size: 12.5px; }
.tzn2-where { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 4px 0 9px; border-radius: 99px; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); }
.tzn2-where svg { width: 15px !important; height: 15px !important; }
.tzn2-where select { height: 100%; padding-right: 4px; border: 0 !important; outline: 0; background: none !important; box-shadow: none !important; color: var(--tzx-ink); font: 600 13px var(--tzx-font); }
.tzn2-where select option { background: #15171c; color: #f5f5f7; }
.tzn2-rchip { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border: 0; border-radius: 99px; background: rgba(255, 201, 77, .12); color: #ffc94d !important; font: 600 12.5px var(--tzx-font) !important; }
.tzn2-rchip svg { width: 14px !important; height: 14px !important; }
.tzn2-ed { margin-left: auto; }
.tzn2-title { display: block; width: 100%; margin: 0 0 6px; padding: 0; border: 0 !important; outline: 0 !important; background: none !important; box-shadow: none !important; color: var(--tzx-ink) !important; font: 800 22px/1.25 var(--tzx-font) !important; }
.tzn2-body { display: block; width: 100%; min-height: 160px; padding: 0; border: 0 !important; outline: 0 !important; background: none !important; box-shadow: none !important; color: var(--tzx-ink) !important; font: 400 16px/1.55 var(--tzx-font) !important; resize: none; }
.tzn2-title::placeholder, .tzn2-body::placeholder { color: var(--tzx-ink3); }
.tzn2-voice { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0 14px; padding: 10px; border-radius: 13px; background: rgba(255, 255, 255, .045); }
.tzn2-voice button { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 99px; background: none; color: var(--tzx-ink2) !important; font: 600 13px var(--tzx-font) !important; }
.tzn2-voice button.is-main { border-color: transparent; background: var(--tzx-acc); color: #050505 !important; }
.tzn2-voice svg { width: 16px !important; height: 16px !important; }
.tzn2-voice small { color: var(--tzx-ink3); font-size: 12.5px; }
.tzn2-voice.is-rec { background: rgba(255, 90, 106, .1); color: #ff8a95; }
.tzn2-time { margin-right: auto; font-variant-numeric: tabular-nums; }
.tzn2-dot { width: 9px; height: 9px; border-radius: 50%; background: #ff5a6a; animation: tzn2-pulse 1s ease-in-out infinite; }
@keyframes tzn2-pulse { 50% { opacity: .3; } }
.tzn2-scrim { position: absolute; inset: 0; z-index: 2; background: rgba(0, 0, 0, .5); }
.tzn2-sheet { position: absolute; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); left: 8px; z-index: 3; display: flex; flex-direction: column; padding: 14px 8px 8px; border-radius: 18px; background: #16181d; box-shadow: 0 -10px 40px rgba(0, 0, 0, .5); animation: tzn2-up .2s ease-out; }
@keyframes tzn2-up { from { opacity: 0; transform: translateY(16px); } }
.tzn2-sheet > b { padding: 0 8px 8px; color: var(--tzx-ink); font: 700 15px var(--tzx-font); }
.tzn2-sheet button { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 0 10px; border: 0; border-radius: 11px; background: none; color: var(--tzx-ink) !important; font: 600 15px var(--tzx-font) !important; text-align: left; }
.tzn2-sheet button:active { background: rgba(255, 255, 255, .06); }
.tzn2-sheet button small { color: var(--tzx-ink3); font: 500 13px var(--tzx-font); }
.tzn2-sheet .is-danger { color: #ff8a95 !important; }
.tzn2-sheet .is-cancel { justify-content: center; margin-top: 4px; background: rgba(255, 255, 255, .06); }
#tzn-app button:focus-visible, #tzn-app select:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
/* writing is the focus: no box drawn around the title, the text or the search (older app-wide focus rules draw one) */
#tzn-app .tzn2-title:focus, #tzn-app .tzn2-title:focus-visible, #tzn-app .tzn2-body:focus, #tzn-app .tzn2-body:focus-visible,
#tzn-app .tzn2-search input:focus, #tzn-app .tzn2-search input:focus-visible, #tzn-app .tzn2-where select:focus, #tzn-app .tzn2-where select:focus-visible { outline: 0 !important; box-shadow: none !important; border-color: transparent !important; }
.tzn2-search:focus-within { box-shadow: 0 0 0 2px rgba(184, 245, 0, .35); }
.tzn2-where:focus-within { box-shadow: 0 0 0 2px var(--tzx-acc); }
@media (prefers-reduced-motion: reduce) { .tzn2-dot, .tzn2-sheet { animation: none; } }

html.tz-app #tab-analytics:not(.tzs-has-scan-log) > :not(#tzs-stats), html.tz-app #tab-analytics .tzx-empty { display: none !important; }
html.tz-app #tab-analytics.tzs-has-scan-log > #tzs-stats { margin-bottom: 24px; padding-bottom: 17px; border-bottom: 1px solid var(--tzx-line); }
#tzs-stats { font-family: var(--tzx-font); color: var(--tzx-ink); max-width: 860px; margin: 0 auto; padding: 5px 14px 7px; }
.tzs-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 620px) { .tzs-two { grid-template-columns: 1fr; } }
.tzs-table { margin-bottom: 15px; border-radius: 12px; border: 1px solid var(--tzx-line); overflow: hidden; }
.tzs-table > div { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 9px 12px; background: var(--tzx-card); font-size: 14px; font-variant-numeric: tabular-nums; }
.tzs-table > div + div { border-top: 1px solid var(--tzx-line); }
.tzs-table span:first-child { font-weight: 700; text-transform: capitalize; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzs-table span:nth-child(2) { color: var(--tzx-ink3); font-size: 12.5px; }
.tzs-table b { min-width: 60px; text-align: right; font-weight: 800; }
.tzt-tips li b { color: var(--tzx-ink); }

html.tz-app { --font-mono: var(--tzx-font); --font-big: var(--tzx-font); }
html.tz-app body { font-variant-numeric: tabular-nums; }
html.tz-app body :not(.logo):not(.tzsp-eyebrow):not(.tzt-sub-h):not(.tzw-small) { letter-spacing: normal !important; }
html.tz-app .logo { font-family: 'Bebas Neue', var(--tzx-font) !important; letter-spacing: .14em !important; }

/* ── Get the app (96-install.js), Apple-style (owner, 2026-10-10: "a download button, Apple-style, noticeable, not a
   blockade"): a Get capsule in the header, a tip that drops from it now and then, a sheet laid out like an App Store
   page (icon, name, Get) with the iPhone steps as a grouped list ── */
#tzi-sheet { position: fixed; inset: 0; z-index: 100250; display: flex; align-items: flex-end; justify-content: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzi-sheet[hidden] { display: none; }
.tzi-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: tzqz-fade .25s ease both; }
.tzi-box { position: relative; width: min(420px, 100%); box-sizing: border-box; max-height: calc(100dvh - 24px); overflow: hidden auto; scrollbar-width: none; padding: 26px 20px calc(16px + env(safe-area-inset-bottom, 0px)); border-radius: 26px 26px 0 0; background: #1c1c1e; box-shadow: 0 -12px 40px rgba(0, 0, 0, .5); animation: tzqz-sheet .44s cubic-bezier(.2, .9, .25, 1) both; }
.tzi-box::-webkit-scrollbar { display: none; }
@media (min-width: 761px) { #tzi-sheet { align-items: center; } .tzi-box { border-radius: 26px; } }
.tzi-x { position: absolute; top: 14px; right: 14px; width: 30px; height: 30px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(118, 118, 128, .24); color: rgba(235, 235, 245, .6); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzi-head { display: flex; align-items: center; gap: 16px; padding-right: 30px; }
.tzi-icon { flex: none; width: 84px; height: 84px; border-radius: 19px; box-shadow: 0 0 0 .5px rgba(255, 255, 255, .12), 0 8px 24px rgba(0, 0, 0, .45); }
.tzi-id { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.tzi-id h2 { margin: 0; font: 700 22px/1.15 var(--tzx-font); letter-spacing: -.02em; color: var(--tzx-ink); }
.tzi-id p { margin: 2px 0 10px; font: 400 14px var(--tzx-font); color: rgba(235, 235, 245, .6); }
.tzi-go { min-width: 78px; min-height: 0; height: 30px; padding: 0 18px; border: 0; border-radius: 999px; background: rgb(184, 245, 0); color: #050505; font: 700 15px var(--tzx-font); letter-spacing: .01em; cursor: pointer; transition: transform .12s; }
.tzi-go:active { transform: scale(.95); }
.tzi-id p .tzi-gift { font-weight: 700; color: rgb(184, 245, 0); white-space: nowrap; }
a.tzi-go { display: inline-flex; align-items: center; justify-content: center; gap: 7px; text-decoration: none; line-height: 1; }
.tzi-go.tzi-win { height: 34px; padding: 0 16px; font-size: 14px; }
.tzi-go.tzi-win svg { width: 14px; height: 14px; }
.tzi-warn .tzi-k svg { stroke: currentColor; fill: currentColor; }
.tzi-tag { display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border-radius: 999px; background: rgba(184, 245, 0, .14); color: rgb(184, 245, 0); font: 600 12.5px var(--tzx-font); }
.tzi-warn { margin: 16px 0 0; padding: 10px 12px; border-radius: 12px; background: rgba(255, 159, 10, .12); color: #ffb340; font-size: 13.5px; line-height: 1.4; }
.tzi-steps { list-style: none; margin: 18px 0 0; padding: 0; border-radius: 14px; background: #2c2c2e; overflow: hidden; }
.tzi-steps li { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 14px; font-size: 15px; color: var(--tzx-ink); }
.tzi-steps li + li { box-shadow: inset 0 .5px 0 rgba(84, 84, 88, .65); }
.tzi-steps li > span { display: inline-flex; flex-wrap: wrap; align-items: center; column-gap: 5px; }
.tzi-steps li > b { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: rgba(118, 118, 128, .3); font: 700 12px var(--tzx-font); }
.tzi-k { display: inline-flex; align-items: center; gap: 5px; font-style: normal; font-weight: 600; white-space: nowrap; }
.tzi-k svg { width: 18px; height: 18px; fill: none; stroke: #0a84ff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzi-perks { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 14px; text-align: left; }
.tzi-perks li { display: flex; gap: 13px; align-items: center; }
.tzi-perks i { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: rgba(184, 245, 0, .12); }
.tzi-perks svg { width: 19px; height: 19px; fill: none; stroke: rgb(184, 245, 0); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzi-perks span { display: flex; flex-direction: column; gap: 1px; font-size: 13.5px; line-height: 1.35; color: rgba(235, 235, 245, .6); }
.tzi-perks strong { color: var(--tzx-ink); font-size: 15px; font-weight: 600; }
.tzi-note { margin: 18px 0 0; font-size: 14px; line-height: 1.45; color: rgba(235, 235, 245, .68); }
.tzi-later { display: block; width: 100%; height: 50px; margin-top: 20px; border: 0; border-radius: 14px; background: rgb(184, 245, 0); color: #050505; font: 600 17px var(--tzx-font); cursor: pointer; }
.tzi-later:active { transform: scale(.98); }
html.tzi-open body { overflow: hidden; }
/* the Get capsule in the header (the App Store's Get button) */
.tzi-get { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 3px; min-width: 0; min-height: 0; height: 30px; margin: 0; padding: 0 11px 0 8px; border: 0; border-radius: 999px; background: rgba(184, 245, 0, .16); color: rgb(184, 245, 0); font: 700 13.5px var(--tzx-font); letter-spacing: .01em; cursor: pointer; position: relative; overflow: hidden; transition: transform .12s, background .2s; }
.tzi-get svg { flex: none; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.tzi-get:active { transform: scale(.94); background: rgba(184, 245, 0, .26); }
.tzi-get.is-lit { background: rgb(184, 245, 0); color: #050505; }
.tzi-get::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-20deg); animation: tzi-sheen 7s ease-in-out 2.5s infinite; pointer-events: none; }
@media (max-width: 370px) { .tzi-get { width: 30px; padding: 0; } .tzi-get span { display: none; } }   /* a small phone: the glyph alone, the tip says what it is */
/* the tip under it: a small bubble with an arrow to the button */
.tzi-tip { position: fixed; z-index: 100240; right: 10px; width: min(250px, calc(100vw - 20px)); box-sizing: border-box; display: flex; flex-direction: column; gap: 3px; padding: 11px 14px 12px; border-radius: 14px; background: rgba(44, 44, 46, .96); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: 0 10px 30px rgba(0, 0, 0, .45); font-family: var(--tzx-font); cursor: pointer; transform-origin: calc(100% - var(--x, 30px) + 10px) 0; animation: tzi-tip-in .34s cubic-bezier(.2, 1.2, .35, 1) both; }
.tzi-tip::before { content: ''; position: absolute; top: -6px; right: calc(var(--x, 30px) - 16px); width: 12px; height: 12px; border-radius: 2px; background: rgba(44, 44, 46, .96); transform: rotate(45deg); }
.tzi-tip b { font: 600 14px var(--tzx-font); color: var(--tzx-ink); }
.tzi-tip span { font: 400 13px/1.4 var(--tzx-font); color: rgba(235, 235, 245, .66); }
.tzi-tip.is-out { animation: tzi-tip-out .2s ease-in both; }
@keyframes tzi-sheen { 0%, 82% { left: -60%; } 100% { left: 130%; } }
@keyframes tzi-tip-in { from { opacity: 0; transform: scale(.85) translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes tzi-tip-out { to { opacity: 0; transform: scale(.92) translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .tzi-box, .tzi-scrim, .tzi-tip, .tzi-tip.is-out { animation: none; } .tzi-get::after { display: none; } }

#tzse-sheet { position: fixed; inset: 0; z-index: 100250; display: flex; align-items: flex-end; justify-content: center; padding: 14px; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzse-sheet[hidden] { display: none; }
@media (min-width: 761px) { #tzse-sheet { align-items: center; } }
.tzse-bell { font-size: 34px; line-height: 1; margin-top: 3px; }
.tzse-body h2 { margin: 9px 0 3px; font: 800 15px/1.15 var(--tzx-font); letter-spacing: -.025em; }
.tzse-body > p { margin: 0 0 12px; font-size: 15px; line-height: 1.45; color: var(--tzx-ink2); }
.tzse-rows { display: grid; gap: 7px; margin: 0 0 12px; text-align: left; }
.tzse-row { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 11px; border-radius: 12px; border: 1px solid var(--tzx-line); background: var(--tzx-card); color: var(--tzx-ink); font: inherit; text-align: left; cursor: pointer; }
.tzse-row:disabled { cursor: default; opacity: .6; }
.tzse-row.is-on { border-color: rgba(var(--acc-rgb, 184, 245, 0), .45); background: rgba(var(--acc-rgb, 184, 245, 0), .07); }
.tzse-row > b { flex: none; width: 24px; font-size: 15px; text-align: center; }
.tzse-row > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tzse-row strong { font-size: 13px; font-weight: 700; }
.tzse-row small { font-size: 13px; line-height: 1.35; color: var(--tzx-ink2); }
.tzse-sw { flex: none; position: relative; width: 34px; height: 20px; border-radius: 10px; background: rgba(255, 255, 255, .14); transition: background .15s; }
.tzse-sw::after { content: ''; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #fff; transition: transform .15s; }
.tzse-row.is-on .tzse-sw { background: var(--tzx-acc); }
.tzse-row.is-on .tzse-sw::after { transform: translateX(16px); background: #050505; }
.tzse-foot { margin: 0 0 9px; font-size: 13.5px; color: var(--tzx-ink2); }
#tzse-sheet .tzi-warn { margin: 0 0 10px; padding: 9px 10px; border-radius: 10px; background: rgba(255, 176, 32, .1); color: #ffc862; font-size: 13px; }
#session-clock-wrap[role="button"] { cursor: pointer; }
#session-clock-wrap[data-alerts] #session-name::after { content: ' 🔔'; font-size: .8em; }

.tzd-flame { width: 15px; height: 15px; fill: rgba(245, 245, 247, .28); flex: none; }
.tzd-flame .tzd-core { fill: rgba(245, 245, 247, .18); }
.tzd-flame.on { fill: #ff8a1f; filter: drop-shadow(0 0 6px rgba(255, 138, 31, .45)); }
.tzd-flame.on .tzd-core { fill: #ffd23f; }
#tzd-pill { display: inline-flex; align-items: center; gap: 3px; height: 29px; padding: 0 9px 0 7px; margin-right: 5px; border-radius: 84px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink2); font: 800 14px var(--tzx-font); cursor: pointer; -webkit-tap-highlight-color: transparent; }
#tzd-pill.is-done { color: #ffb14a; border-color: rgba(255, 138, 31, .35); background: rgba(255, 138, 31, .08); }
#tzd-pill.is-risk { color: var(--tzx-ink); border-color: rgba(255, 138, 31, .5); animation: tzdPulse 1.8s ease-in-out infinite; }
@keyframes tzdPulse { 50% { box-shadow: 0 0 0 5px rgba(255, 138, 31, .12); } }
.tzd-s-fl { display: flex; align-items: center; gap: 3px; font: 800 14.5px var(--tzx-font); }
.tzd-s-fl .tzd-flame { width: 19px; height: 19px; }
.tzd-s-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.tzd-s-mid strong { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzd-week { display: flex; gap: 5px; }
.tzd-week i { position: relative; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .05); font-style: normal; }
.tzd-week i em { font: 700 11px var(--tzx-font); font-style: normal; color: var(--tzx-ink3); }
.tzd-week i.d { background: linear-gradient(180deg, #ffb14a, #ff7a1a); }
.tzd-week i.d em { color: #1a0d00; }
.tzd-week i.f { background: rgba(90, 170, 255, .18); box-shadow: inset 0 0 0 1.5px rgba(90, 170, 255, .6); }
.tzd-week i.f em { color: #8cc4ff; }
.tzd-week i.t { box-shadow: inset 0 0 0 1.5px rgba(255, 138, 31, .7); }
.tzd-week i.t em { color: #ffb14a; }
.tzd-week i.u { opacity: .45; }
.tzd-week i.x em { color: var(--tzx-ink3); }
.tzd-week.mini { gap: 3px; }
.tzd-week.mini i { width: 14px; height: 4px; border-radius: 3px; }
#tzd-sheet { position: fixed; inset: 0; z-index: 100240; display: flex; align-items: flex-end; justify-content: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzd-sheet[hidden] { display: none; }
@media (min-width: 761px) { #tzd-sheet { align-items: center; padding: 14px; } }
.tzd-scrim { position: absolute; inset: 0; background: rgba(3, 4, 6, .74); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.tzd-box { position: relative; width: min(440px, 100%); max-height: calc(100dvh - 24px); overflow: hidden auto; padding: 19px 15px calc(15px + env(safe-area-inset-bottom, 0px)); border-radius: 22px 22px 0 0; background: linear-gradient(180deg, #16110b, #0a0b0e 42%); border: 1px solid var(--tzx-line); box-shadow: 0 -20px 60px rgba(0, 0, 0, .6); animation: tzdUp .32s cubic-bezier(.2, .9, .3, 1); overscroll-behavior: contain; }
@media (min-width: 761px) { .tzd-box { border-radius: 22px; } }
@keyframes tzdUp { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
.tzd-x { position: absolute; top: 10px; right: 10px; width: 27px; height: 27px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .07); color: var(--tzx-ink); cursor: pointer; z-index: 2; }
.tzd-hero { text-align: center; padding-bottom: 5px; }
.tzd-big { display: inline-flex; align-items: center; gap: 9px; }
.tzd-big .tzd-flame { width: 46px; height: 46px; }
.tzd-big div { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.tzd-big b { font: 800 26px/1 var(--tzx-font); letter-spacing: -.03em; }
.tzd-big span { font-size: 14px; color: var(--tzx-ink2); margin-top: 2px; }
.tzd-line { margin: 7px 0 10px; font-size: 15px; color: var(--tzx-ink2); }
.tzd-hero .tzd-week { justify-content: center; }
.tzd-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 12px; margin-top: 10px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzd-h { margin: 15px 2px 7px; font: 700 13px var(--tzx-font); color: var(--tzx-ink2); }
.tzd-call { margin-top: 12px; padding: 12px; border-radius: 15px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tzd-call-h { display: flex; justify-content: space-between; align-items: center; font: 700 13px var(--tzx-font); color: var(--tzx-ink2); }
.tzd-ask { margin: 7px 0 9px; font-size: 16px; line-height: 1.35; }
.tzd-go { width: 100%; min-height: 39px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #0a0a0a; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzd-quests { display: grid; gap: 7px; }
.tzd-q { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--tzx-line); background: var(--tzx-card); color: var(--tzx-ink); text-align: left; font-family: var(--tzx-font); cursor: pointer; }
.tzd-q > b { flex: none; width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .06); font-size: 14.5px; }
.tzd-q span { flex: 1; display: flex; flex-direction: column; font-size: 13px; color: var(--tzx-ink3); }
.tzd-q strong { font-size: 13px; color: var(--tzx-ink); font-weight: 700; }
.tzd-q i { font-style: normal; color: var(--tzx-ink3); font-size: 20px; }
.tzd-q.done { cursor: default; }
.tzd-q.done > b { background: var(--tzx-acc); color: #050505; font-size: 13.5px; font-weight: 900; }
.tzd-q.done strong { color: var(--tzx-ink2); text-decoration: line-through; text-decoration-color: rgba(255, 255, 255, .25); }
.tzd-perfect { margin: 9px 2px 0; font-size: 12.5px; color: var(--tzx-ink3); text-align: center; }
.tzd-miles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; }
.tzd-miles span { display: flex; flex-direction: column; align-items: center; padding: 7px 0; border-radius: 10px; background: rgba(255, 255, 255, .03); font-size: 10.5px; color: var(--tzx-ink3); }
.tzd-miles b { font: 800 16px var(--tzx-font); color: var(--tzx-ink2); }
.tzd-miles .got { background: rgba(255, 138, 31, .12); }
.tzd-miles .got b { color: #ffb14a; }
.tzd-miles .next { box-shadow: inset 0 0 0 1px rgba(255, 138, 31, .4); }

#tzd-cele { position: fixed; inset: 0; z-index: 100400; display: flex; align-items: center; justify-content: center; padding: 14px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzd-cbox { position: relative; width: min(360px, 100%); padding: 26px 19px 17px; border-radius: 24px; text-align: center; background: linear-gradient(180deg, #221407, #0a0b0e 65%); border: 1px solid rgba(255, 138, 31, .3); animation: tzspIn .4s cubic-bezier(.2, .9, .3, 1.25); }
.tzd-cbox > .tzd-flame { width: 65px; height: 65px; }
.tzd-cn { display: block; margin-top: -5px; font: 800 38px/1 var(--tzx-font); letter-spacing: -.04em; color: #ffb14a; }
.tzd-cbox h2 { margin: 5px 0 3px; font: 800 15px var(--tzx-font); }
.tzd-cbox p { margin: 0 0 15px; color: var(--tzx-ink2); font-size: 15px; line-height: 1.45; }
.tzd-share, .tzd-ok { width: 100%; height: 43px; border-radius: 13px; font: 800 13.5px var(--tzx-font); cursor: pointer; }
.tzd-share { border: 0; background: linear-gradient(180deg, #ffb14a, #ff7a1a); color: #1a0d00; margin-bottom: 7px; }
.tzd-ok { border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink); }
.tzd-burst { position: absolute; left: 50%; top: 60px; width: 0; height: 0; pointer-events: none; }
.tzd-burst i { position: absolute; width: 6px; height: 6px; border-radius: 2px; background: #ffb14a; transform: rotate(var(--a)) translateY(0); opacity: 0; animation: tzdBurst .9s ease-out forwards; }
.tzd-burst i:nth-child(3n) { background: var(--tzx-acc); }
.tzd-burst i:nth-child(4n) { background: #fff; }
@keyframes tzdBurst { 0% { opacity: 1; transform: rotate(var(--a)) translateY(0); } 100% { opacity: 0; transform: rotate(var(--a)) translateY(calc(var(--r) * -1)); } }
html.tzd-open body { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { #tzd-pill.is-risk, .tzd-box, .tzd-cbox, .tzd-burst i { animation: none !important; } }

.tzw-goals { display: grid; gap: 9px; }
.tzw-goal { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border-radius: 15px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); text-align: left; font-family: var(--tzx-font); cursor: pointer; transition: transform .12s, border-color .15s, background .15s; }
.tzw-goal:active { transform: scale(.985); }
.tzw-goal > b { flex: none; width: 37px; height: 37px; border-radius: 12px; display: grid; place-items: center; background: rgba(255, 255, 255, .05); font-size: 15px; }
.tzw-goal span { display: flex; flex-direction: column; gap: 2px; font-size: 13.5px; color: var(--tzx-ink2); line-height: 1.35; }
.tzw-goal strong { font-size: 13.5px; color: var(--tzx-ink); font-weight: 700; }
.tzw-goal.on { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .10); box-shadow: 0 0 0 1px var(--tzx-acc); }
.tzw-proof { min-height: 1.4em; color: var(--tzx-acc) !important; font-weight: 600; }
.tzw-plan { display: grid; gap: 9px; margin: 12px 0 15px; }
.tzw-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 15px; background: rgba(255, 255, 255, .035); border: 1px solid var(--tzx-line); opacity: 0; transform: translateY(8px); animation: tzwRow .45s cubic-bezier(.2, .9, .3, 1) forwards; }
@keyframes tzwRow { to { opacity: 1; transform: none; } }
.tzw-row > b { flex: none; font-size: 15px; width: 27px; text-align: center; }
.tzw-row span { flex: 1; display: flex; flex-direction: column; gap: 2px; font-size: 13.5px; color: var(--tzx-ink2); line-height: 1.35; }
.tzw-row strong { font-size: 13.5px; color: var(--tzx-ink); font-weight: 700; }
.tzw-row i { flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--tzx-acc); color: #050505; font: 900 13px var(--tzx-font); font-style: normal; }
@media (prefers-reduced-motion: reduce) { .tzw-row { animation: none; opacity: 1; transform: none; } }

.tzd-push { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 10px 12px; border-radius: 14px; background: rgba(90, 170, 255, .07); border: 1px solid rgba(90, 170, 255, .2); }
.tzd-push[hidden] { display: none; }
.tzd-call .tzd-push { margin-top: 10px; }
.tzd-push > b { flex: none; font-size: 20px; }
.tzd-push span { flex: 1; display: flex; flex-direction: column; font-size: 12.5px; color: var(--tzx-ink3); line-height: 1.35; }
.tzd-push strong { font-size: 13px; color: var(--tzx-ink); font-weight: 700; }
.tzd-push button { flex: none; height: 31px; padding: 0 12px; border: 0; border-radius: 9px; background: #4aa3ff; color: #03101f; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzd-push button:disabled { opacity: .6; }
.tzd-push.on { background: rgba(255, 255, 255, .03); border-color: var(--tzx-line); }
.tzd-push.on button { background: none; color: var(--tzx-ink2); box-shadow: inset 0 0 0 1px var(--tzx-line); }

#local-log-modal .modal.tzq { font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzq .modal-title { font: 800 15px/1.2 var(--tzx-font) !important; letter-spacing: -.02em !important; text-transform: none !important; color: var(--tzx-ink) !important; }
.tzq .modal-ticker-badge { font: 500 13px var(--tzx-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tzx-ink3) !important; }
.tzq > .modal-field label, .tzq > .modal-field > div > label { font: 600 13px var(--tzx-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--tzx-ink2) !important; }
.tzq > .modal-field label span { font-weight: 500; color: var(--tzx-ink3); margin-left: 3px; }
.tzq .inp { font-family: var(--tzx-font) !important; font-size: 13.5px !important; letter-spacing: 0 !important; }
.tzq .tzq-hide { display: none !important; }
.tzq-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 5px; }
.tzq-seg button { height: 37px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.tzq-seg button:active { transform: scale(.98); }
.tzq-seg button.on { color: var(--tzx-ink); background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .25); }
.tzq-seg button.up.on { color: #4ee88f; background: rgba(46, 213, 115, .14); border-color: rgba(46, 213, 115, .45); }
.tzq-seg button.down.on { color: #ff6b78; background: rgba(255, 71, 87, .12); border-color: rgba(255, 71, 87, .42); }
.tzq-seg button.open.on { color: #8cc4ff; background: rgba(90, 170, 255, .12); border-color: rgba(90, 170, 255, .42); }
.tzq-out { grid-auto-columns: auto; grid-template-columns: 1.2fr 1fr 1fr .8fr; }
.tzq-chips { display: flex; gap: 5px; margin-top: 7px; overflow-x: auto; scrollbar-width: none; }
.tzq-chips::-webkit-scrollbar { display: none; }
.tzq-chips button { flex: none; height: 26px; padding: 0 9px; border-radius: 84px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzq-chips button.on { color: var(--tzx-ink); background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .25); }
.tzq-more-btn { display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%; margin: 5px 0 3px; padding: 10px 12px; border-radius: 12px; border: 1px dashed rgba(255, 255, 255, .14); background: none; color: var(--tzx-ink); text-align: left; font-family: var(--tzx-font); cursor: pointer; }
.tzq-more-btn strong { font-size: 13px; font-weight: 700; }
.tzq-more-btn span { grid-column: 1; font-size: 12.5px; color: var(--tzx-ink3); }
.tzq-more-btn i { grid-row: 1 / span 2; grid-column: 2; font-style: normal; color: var(--tzx-ink3); transition: transform .2s; }
.tzq-more-btn.open i { transform: rotate(180deg); }
.tzq-more[hidden] { display: none; }
.tzq-more { padding-top: 5px; }
.tzq .modal-btns .modal-btn { font-family: var(--tzx-font) !important; letter-spacing: 0 !important; text-transform: none !important; font-size: 13.5px !important; font-weight: 700 !important; }
.tzq .modal-field.tzq-stack { flex-direction: column !important; gap: 10px !important; }

#tzv-sheet { position: fixed; inset: 0; z-index: 100270; display: flex; align-items: flex-end; justify-content: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzv-sheet[hidden] { display: none; }
@media (min-width: 761px) { #tzv-sheet { align-items: center; padding: 14px; } }
.tzv-scrim { position: absolute; inset: 0; background: rgba(3, 4, 6, .76); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.tzv-box { position: relative; width: min(420px, 100%); max-height: calc(100dvh - 24px); overflow: hidden auto; padding: 22px 17px calc(17px + env(safe-area-inset-bottom, 0px)); border-radius: 22px 22px 0 0; text-align: center; background: linear-gradient(180deg, #13160b, #0a0b0e 55%); border: 1px solid var(--tzx-line); animation: tzdUp .32s cubic-bezier(.2, .9, .3, 1); }
@media (min-width: 761px) { .tzv-box { border-radius: 22px; } }
.tzv-x { position: absolute; top: 10px; right: 10px; width: 27px; height: 27px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .07); color: var(--tzx-ink); cursor: pointer; }
.tzv-gift { font-size: 46px; line-height: 1; }
.tzv-body h2 { margin: 9px 0 5px; font: 800 15px/1.15 var(--tzx-font); letter-spacing: -.025em; }
.tzv-sub { margin: 0 0 14px; font-size: 15px; line-height: 1.45; color: var(--tzx-ink2); }
.tzv-link { display: flex; align-items: center; gap: 7px; padding: 5px 5px 5px 12px; border-radius: 12px; background: rgba(255, 255, 255, .05); border: 1px solid var(--tzx-line); }
.tzv-url { flex: 1; min-width: 0; text-align: left; font: 600 13px var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzv-link button { flex: none; height: 32px; padding: 0 14px; border: 0; border-radius: 9px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzv-share { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.tzv-share > * { flex: 1 1 auto; display: grid; place-items: center; height: 37px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink); font: 700 13px var(--tzx-font); text-decoration: none; cursor: pointer; }
.tzv-share .tzv-main { flex-basis: 100%; background: var(--tzx-acc); color: #050505; border: 0; font-size: 13.5px; height: 43px; }
.tzv-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 14px 0 9px; }
.tzv-stats span { display: flex; flex-direction: column; padding: 9px 0; border-radius: 10px; background: rgba(255, 255, 255, .035); font-size: 12px; color: var(--tzx-ink3); }
.tzv-stats b { font: 800 15px var(--tzx-font); color: var(--tzx-ink); }
.tzv-fine { margin: 0; font-size: 12.5px; color: var(--tzx-ink3); }
.tzv-go { width: 100%; height: 44px; border: 0; border-radius: 14px; background: var(--tzx-acc); color: #050505; font: 800 14.5px var(--tzx-font); cursor: pointer; }
.tzv-acct { display: flex; align-items: center; gap: 10px; padding: 3px 2px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzv-acct > b { font-size: 24px; }
.tzv-acct span { flex: 1; display: flex; flex-direction: column; font-size: 13px; color: var(--tzx-ink3); line-height: 1.35; }
.tzv-acct strong { font-size: 13px; color: var(--tzx-ink); }
.tzv-acct button { flex: none; height: 32px; padding: 0 14px; border: 0; border-radius: 9px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzd-invite { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 12px; padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .22); background: rgba(var(--acc-rgb, 184, 245, 0), .05); color: var(--tzx-ink); text-align: left; font-family: var(--tzx-font); cursor: pointer; }
.tzd-invite > b { font-size: 22px; }
.tzd-invite span { flex: 1; display: flex; flex-direction: column; font-size: 12.5px; color: var(--tzx-ink3); }
.tzd-invite strong { font-size: 13px; color: var(--tzx-ink); }
.tzd-invite i { font-style: normal; color: var(--tzx-ink3); font-size: 20px; }
.tzw-invited { margin: 3px 0 9px !important; padding: 9px 10px; border-radius: 10px; background: rgba(var(--acc-rgb, 184, 245, 0), .08); color: var(--tzx-acc) !important; font-weight: 600; font-size: 13px !important; }
html.tzv-open body { overflow: hidden; }

.tz-dir-row { grid-template-columns: 1.3fr 1fr 1fr !important; }
.tz-dir-btn[data-dir="auto"].is-on { border-color: rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .09); color: var(--tzx-ink, #f5f5f7); }
.tzv3-side { margin: -5px 0 10px; font-size: 13px; color: var(--tzx-ink3, rgba(245, 245, 247, .45)); }

.tzx-pats { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.tzx-pats-h { width: 100%; font-size: 11.5px; color: var(--tzx-ink3); }
.tzx-pat { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 5px 9px; border-radius: 9px; border: 1px dashed var(--tzx-line, rgba(255,255,255,.08)); background: rgba(255, 255, 255, .03); color: var(--tzx-ink, #f5f5f7); font: 600 12.5px var(--tzx-font, inherit); cursor: pointer; text-align: left; max-width: 100%; }
.tzx-pat small { font-weight: 500; font-size: 11px; color: var(--tzx-ink3); }
.tzx-pat.bull { border-color: rgba(184, 245, 0, .35); }
.tzx-pat.bear { border-color: rgba(255, 111, 94, .4); }
.tzx-pat.is-on { border-style: solid; background: rgba(255, 255, 255, .08); }
.tzx-pat.is-on::after { content: 'Confirmed ✓'; font-size: 10.5px; font-weight: 600; color: var(--lime, #b8f500); }

.tz-cp-adv > summary { cursor: pointer; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.tz-cp-adv > summary::-webkit-details-marker { display: none; }
.tz-cp-adv > summary small { font-size: var(--fs-11, 11px); color: var(--text3); }
.tz-cp-adv > summary .f-label::after { content: ' ›'; }
.tz-cp-adv[open] > summary .f-label::after { content: ' ⌄'; }
.tz-cp-adv[open] > summary { margin-bottom: 7px; }

.tzv3-mine { margin: 3px 0 10px; transition: opacity .15s; }
.tzv3-mine.is-busy { opacity: .6; }
.tzv3-styles { display: grid; grid-template-columns: repeat(auto-fit, minmax(61px, 1fr)); gap: 5px; margin-bottom: 9px; }
.tzv3-style { padding: 6px 5px; text-align: center; border-radius: 849px; border: 1px solid var(--tzx-line, rgba(255,255,255,.08)); background: rgba(255,255,255,.03); color: var(--tzx-ink2, rgba(245,245,247,.62)); font: 600 13px var(--tzx-font, inherit); cursor: pointer; }
.tzv3-style.is-on { color: var(--tzx-ink, #f5f5f7); border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.09); }
.tzv3-style.is-custom { cursor: default; }
.tzv3-style:disabled { opacity: .35; cursor: not-allowed; }
.tzv3-ps { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.tzv3-ps > b { font: 700 16.5px/1 var(--tzx-font, inherit); min-width: 41px; }
.tzv3-ps > span { font-weight: 600; font-size: 14px; color: var(--tzx-ink, #f5f5f7); }
.tzv3-ps small { display: block; margin-top: 2px; font-weight: 500; font-size: 11.5px; color: var(--tzx-ink3, rgba(245,245,247,.38)); }
.tzv3-ps.is-good > b { color: var(--lime, #b8f500); }
.tzv3-ps.is-mid > b { color: #ffbe50; }
.tzv3-ps.is-bad > b { color: #ff6f5e; }
.tzv3-warn { margin: 5px 0; padding-left: 15px; font-size: 13px; color: #ffbe50; }
.tzv3-sugs { margin: 9px 0; padding: 9px 10px; border-radius: 10px; background: rgba(255,255,255,.03); border: 1px solid var(--tzx-line, rgba(255,255,255,.08)); }
.tzv3-sugs-h { font-size: 11.5px; color: var(--tzx-ink3, rgba(245,245,247,.38)); margin-bottom: 5px; }
.tzv3-sug { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 5px 0; font-size: 13px; color: var(--tzx-ink2, rgba(245,245,247,.62)); }
.tzv3-sug + .tzv3-sug { border-top: 1px solid var(--tzx-line, rgba(255,255,255,.08)); }
.tzv3-sug button { flex: none; padding: 5px 9px; border-radius: 849px; border: 1px solid rgba(184,245,0,.4); background: rgba(184,245,0,.08); color: var(--lime, #b8f500); font: 600 12px var(--tzx-font, inherit); cursor: pointer; white-space: nowrap; }
.tzv3-adv { margin: 9px 0; }
.tzv3-adv > summary { cursor: pointer; font-weight: 600; font-size: 13px; color: var(--tzx-ink2, rgba(245,245,247,.62)); padding: 5px 0; }
.tzv3-sl { display: block; margin: 9px 0; font-size: 13px; color: var(--tzx-ink2, rgba(245,245,247,.62)); }
.tzv3-sl > span { display: flex; justify-content: space-between; margin-bottom: 3px; }
.tzv3-sl > span b { color: var(--tzx-ink, #f5f5f7); }
.tzv3-sl input[type=range] { width: 100%; accent-color: var(--lime, #b8f500); }
.tzv3-usd input { width: 100%; box-sizing: border-box; padding: 7px 9px; border-radius: 9px; border: 1px solid var(--tzx-line, rgba(255,255,255,.08)); background: rgba(255,255,255,.03); color: var(--tzx-ink, #f5f5f7); font-size: 13px; }
.tzv3-chk { display: flex; align-items: center; gap: 7px; margin: 5px 0; font-size: 13px; color: var(--tzx-ink2, rgba(245,245,247,.62)); }
.tzv3-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 7px; }
.tzv3-mode button { padding: 7px; border-radius: 9px; border: 1px solid var(--tzx-line, rgba(255,255,255,.08)); background: rgba(255,255,255,.03); color: var(--tzx-ink2, rgba(245,245,247,.62)); font: 600 12.5px var(--tzx-font, inherit); cursor: pointer; }
.tzv3-mode button.is-on { color: var(--tzx-ink, #f5f5f7); border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.09); }

.tza-bar { display: flex; align-items: center; gap: 9px; width: 100%; margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); text-align: left; font: inherit; cursor: pointer; }
.tza-bar:hover { border-color: rgba(255, 255, 255, .22); }
.tza-bar em { margin-left: auto; font: 600 12.5px var(--tzx-font); font-style: normal; color: var(--tzx-ink3); white-space: nowrap; }
.tza-b-main, .tza-r-main { display: flex; flex-direction: column; min-width: 0; }
.tza-b-main b, .tza-r-main b { font: 700 13px var(--tzx-font); color: var(--tzx-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tza-b-main small, .tza-r-main small { font-size: 12.5px; color: var(--tzx-ink3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tza-bar .is-up, .tza-box .is-up { color: var(--tzx-acc); }
.tza-bar .is-down, .tza-box .is-down { color: #ff6f5e; }
.tza-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--tzx-acc); }
.tza-dot.is-prop { background: #7dd2ff; }
.tza-dot.is-demo { background: #b9a6ff; }
.tza-dot.is-blown { background: #ff6f5e; }
.tza-dot.is-archived { background: rgba(255, 255, 255, .3); }
.tza-dot.is-all { background: conic-gradient(var(--tzx-acc) 0 33%, #7dd2ff 0 66%, #b9a6ff 0); }
.tza-tag { margin-left: 5px; padding: 1px 6px; border-radius: 84px; background: rgba(255, 111, 94, .15); color: #ff6f5e; font: 700 10.5px var(--tzx-font); vertical-align: middle; }
html.tza-open { overflow: hidden; }
#tza-sheet { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: flex-end; justify-content: center; }
#tza-sheet[hidden] { display: none; }
.tza-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.tza-box { position: relative; width: 100%; max-width: 480px; max-height: 88vh; overflow-y: auto; padding: 17px 15px 15px; border-radius: 19px 19px 0 0; border: 1px solid var(--tzx-line); background: #0d0f12; }
@media (min-width: 700px) { #tza-sheet { align-items: center; } .tza-box { border-radius: 19px; } }
.tza-x { position: absolute; top: 10px; right: 10px; width: 27px; height: 27px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); cursor: pointer; }
.tza-body h2 { margin: 0 29px 3px 0; font: 800 15px var(--tzx-font); color: var(--tzx-ink); }
.tza-sub { margin: 0 0 12px; font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink3); }
.tza-row { position: relative; display: flex; align-items: center; margin-bottom: 7px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .02); }
.tza-row.is-on { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .06); }
.tza-row.is-past { opacity: .75; }
.tza-pick { display: flex; flex: 1; align-items: center; gap: 9px; min-width: 0; padding: 10px; border: 0; background: none; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.tza-r-num { display: flex; flex-direction: column; align-items: flex-end; margin-left: auto; white-space: nowrap; }
.tza-r-num b { font: 700 13px var(--tzx-font); color: var(--tzx-ink); }
.tza-r-num small { font-size: 11.5px; color: var(--tzx-ink3); }
.tza-more { flex: none; width: 32px; height: 37px; border: 0; background: none; color: var(--tzx-ink3); font-size: 18px; cursor: pointer; }
.tza-menu { position: absolute; top: 39px; right: 7px; z-index: 2; display: flex; flex-direction: column; min-width: 190px; padding: 5px; border-radius: 10px; border: 1px solid var(--tzx-line); background: #15181d; box-shadow: 0 12px 30px rgba(0, 0, 0, .45); }
.tza-menu[hidden] { display: none; }
.tza-menu button { padding: 9px 10px; border: 0; border-radius: 7px; background: none; color: var(--tzx-ink); text-align: left; font: 600 13px var(--tzx-font); cursor: pointer; }
.tza-menu button:hover { background: rgba(255, 255, 255, .06); }
.tza-menu .is-danger { color: #ff6f5e; }
.tza-add { width: 100%; height: 39px; margin-top: 3px; border: 1px dashed rgba(255, 255, 255, .22); border-radius: 12px; background: none; color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tza-pro { margin-left: 5px; padding: 2px 7px; border-radius: 84px; background: var(--tzx-acc); color: #050505; font: 800 10.5px var(--tzx-font); }
.tza-fine { margin: 7px 2px 0; font-size: 12.5px; color: var(--tzx-ink3); }
.tza-h { margin: 15px 2px 7px; font: 800 12px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tza-back { margin: 0 0 7px; padding: 0; border: 0; background: none; color: var(--tzx-ink3); font: 600 13px var(--tzx-font); cursor: pointer; }
.tza-f { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; font: 700 12.5px var(--tzx-font); color: var(--tzx-ink2); }
.tza-f small { font-weight: 500; color: var(--tzx-ink3); }
.tza-f input, .tza-f select { height: 37px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 600 13px var(--tzx-font); }
.tza-f input[hidden] { display: none; }
.tza-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.tza-chips button { height: 27px; padding: 0 10px; border-radius: 84px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 600 13px var(--tzx-font); cursor: pointer; }
.tza-chips button.on { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .1); color: var(--tzx-ink); }
.tza-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; padding: 3px; border-radius: 10px; background: rgba(255, 255, 255, .05); }
.tza-seg button { height: 31px; border: 0; border-radius: 8px; background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tza-seg button.on { background: var(--tzx-acc); color: #050505; }
.tza-two { display: grid; grid-template-columns: 1fr 94px; gap: 9px; }
.tza-go { width: 100%; height: 43px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tza-go:disabled { opacity: .6; cursor: default; }
.tza-go.is-warm { background: #ff8a5b; }
.tza-link { width: 100%; height: 34px; margin-top: 5px; border: 0; background: none; color: var(--tzx-ink3); font: 600 13.5px var(--tzx-font); cursor: pointer; }
.tza-snap { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; }
.tza-snap span { flex: 1 1 77px; display: flex; flex-direction: column; padding: 9px 10px; border-radius: 10px; background: rgba(255, 255, 255, .04); font-size: 12px; color: var(--tzx-ink3); }
.tza-snap b { font: 800 13.5px var(--tzx-font); color: var(--tzx-ink); }
.tza-gate-ic { font-size: 34px; margin-bottom: 5px; }
.tza-logto { display: flex; align-items: center; gap: 7px; margin: 5px 0 9px; font: 700 12.5px var(--tzx-font); color: var(--tzx-ink3); }
.tza-logto select { flex: 1; height: 31px; padding: 0 9px; border-radius: 9px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 600 13px var(--tzx-font); }

.tzv3-ps { position: relative; }
.tzv3-qm { flex: none; width: 20px; height: 20px; margin-left: auto; border: 1px solid var(--tzx-line); border-radius: 50%; background: none; color: var(--tzx-ink3); font: 700 12px var(--tzx-font); cursor: pointer; }
.tzv3-qm:hover { color: var(--tzx-ink); border-color: rgba(255, 255, 255, .3); }
.tzv3-grid.tzv3-odds { position: relative; grid-template-columns: repeat(3, 1fr); margin-top: 7px; padding-right: 26px; }
.tzv3-grid.tzv3-odds .tzv3-qm { position: absolute; top: 0; right: 0; }
.tzv3-odds .is-up { color: var(--tzx-acc); }
.tzv3-odds .is-down { color: #ff6f5e; }
.tzv3-why { margin: 7px 0 0; padding: 9px 10px; border-radius: 9px; background: rgba(255, 255, 255, .04); font-size: 12.5px; line-height: 1.5; color: var(--tzx-ink2); }
.tzv3-why[hidden] { display: none; }
.tzv3-warnline { margin: 7px 0 0; font-size: 12.5px; color: #ffb35c; }
.tzv3-warnline::before { content: '⚠ '; }
.tzv3-inv { margin: 10px 0 0; font-size: 13px; font-weight: 600; color: var(--tzx-ink); }
.tzv3-inv::before { content: '✕ '; color: #ff6f5e; }
.tzv3-mng { margin-top: 7px; }
.tzv3-mng summary { cursor: pointer; font-size: 12.5px; color: var(--tzx-ink3); }
@media (max-width: 620px) { .tzv3-grid.tzv3-odds { grid-template-columns: repeat(3, 1fr); } }

#tzt-open { margin: 9px 0 10px; font-family: var(--tzx-font); }
.tzt-open-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.tzt-open-h b { font: 700 12px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink2); }
.tzt-open-h .tzt-link { padding: 3px 0; font-size: 12.5px; }
.tzt-open-t { padding: 9px 10px; margin-bottom: 5px; border: 1px solid var(--tzx-line); border-radius: 12px; background: var(--tzx-card); }
.tzt-open-t .tzt-dir { width: 26px; height: 26px; }
.tzt-open-t .tzt-main b { font-size: 13px; }
.tzt-open-t .tzt-mon-btn { flex-shrink: 0; }
body.tz-focus #active-trade-banner-top, body.tz-focus #active-trade-banner { display: none !important; }

body.tz-focus #results-wrap:has(> #tzv3-plan:not([hidden])) > [data-tz-group="plan"]:not(#tzv3-plan) { display: none !important; }

.tzsh-row { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 9px; margin-top: 5px; font-size: 12px; color: var(--text3); }
.tzsh-add { display: inline-flex; align-items: center; gap: 3px; height: 24px; padding: 0 10px; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .4); border-radius: 84px; color: var(--text); font-weight: 600; font-size: 12.5px; cursor: pointer; }
.tzsh-add:hover { background: rgba(var(--acc-rgb, 184, 245, 0), .08); }
.tzsh-hide { display: none !important; }
.tzsh-note { padding: 9px 10px; font-size: 12.5px; line-height: 1.45; color: var(--text2); }
.tzsh-note[hidden] { display: none; }
.tzsh-retry { border: 0; background: none; padding: 0; color: var(--lime, #b8f500); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }

.tzg { display: grid; gap: 9px; font-family: var(--tzx-font); text-align: left; }
.tzg-bal { display: grid; gap: 5px; }
.tzg-bal > span:first-child, .tzg-row span { font-size: 12.5px; font-weight: 600; color: var(--tzx-ink3); letter-spacing: .02em; }
.tzg-in { display: flex; align-items: center; gap: 5px; height: 44px; padding: 0 14px; border: 1px solid var(--tzx-line); border-radius: 12px; background: var(--tzx-card); }
.tzg-in:focus-within { border-color: rgba(var(--acc-rgb, 184, 245, 0), .6); }
.tzg-in i { font-style: normal; font-weight: 700; color: var(--tzx-ink3); font-size: 18px; }
.tzg-in input { flex: 1; min-width: 0; height: 100%; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: none !important; color: var(--tzx-ink); font: 700 15px var(--tzx-font); padding: 0 !important; }
.tzg-row { display: flex; align-items: baseline; justify-content: space-between; margin-top: 5px; }
.tzg-row b { font: 800 15.5px var(--tzx-font); color: var(--tzx-acc); }
.tzg input.tzg-range { -webkit-appearance: none; appearance: none; flex: none; width: 100%; height: 5px; margin: 5px 0; border-radius: 84px; background: linear-gradient(90deg, var(--tzx-acc) var(--fill, 0%), rgba(255, 255, 255, .12) var(--fill, 0%)); outline: none; cursor: pointer; }
.tzg input.tzg-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 3px solid var(--tzx-acc); box-shadow: 0 2px 8px rgba(0, 0, 0, .45); }
.tzg input.tzg-range::-moz-range-thumb { width: 17px; height: 17px; border-radius: 50%; background: #fff; border: 3px solid var(--tzx-acc); }
.tzg-target { font-size: 15px; color: var(--tzx-ink2); }
.tzg-target b { color: var(--tzx-ink); font-size: 14.5px; }
.tzg-target span { color: var(--tzx-ink3); font-size: 13px; }
.tzg-need { margin: 2px 0 0; font-size: 13px; line-height: 1.45; color: var(--tzx-ink3); }
.tzg-need b { color: var(--tzx-ink); }
.tzg .tzt-go { margin-top: 5px; width: 100%; }
.tzg .tzt-go:disabled { opacity: .45; cursor: not-allowed; }
.tzg .tzt-link { justify-self: center; }
.tzt-goalform { max-width: 520px; }
.tzt-rank.is-new b { color: var(--tzx-ink2); }

.tzs.is-mixed { --tzs-c: #efb327; }
.tzs.is-wait { --tzs-c: #ff8a5c; }
.tzs-score.is-grade b { font-size: 20px; letter-spacing: -.02em; color: var(--tzs-c); font-variant-numeric: normal; }
.tzs-score.is-grade i { color: var(--text3); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 10px; }
.tzs-para { margin: 7px 0 0; font-size: 14.5px; line-height: 1.55; color: rgba(255, 255, 255, .84); }

#tab-propfirm.tzch-on > :not(#tzch) { display: none !important; }
#tzch { font-family: var(--tzx-font); color: var(--tzx-ink); max-width: 760px; margin: 0 auto; padding: 5px 14px 20px; }
.tzch-head h2 { margin: 0; font: 800 15px/1.2 var(--tzx-font); display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.tzch-head h2 em, .tzch-head .is-pro { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 84px; background: rgba(255, 255, 255, .08); color: var(--tzx-ink2); }
.tzch-head h2 em.is-good { background: rgba(var(--acc-rgb, 184, 245, 0), .16); color: var(--tzx-acc); }
.tzch-head h2 em.is-bad { background: rgba(255, 90, 90, .14); color: #ff6f5e; }
.tzch-head .is-pro { background: var(--tzx-acc); color: #050505; }
.tzch-sub { margin: 5px 0 12px; font-size: 13.5px; line-height: 1.5; color: var(--tzx-ink2); }
.tzch-card { margin-top: 10px; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 14px; background: var(--tzx-card); }
.tzch-card h3 { margin: 0 0 9px; font: 700 13px var(--tzx-font); }
.tzch-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.tzch-chips button { padding: 6px 10px; border-radius: 84px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzch-chips button.on { border-color: var(--tzx-acc); color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .08); }
.tzch-chips.is-size { margin-top: 9px; }
.tzch-rule { margin: 9px 0 0; font-size: 13px; line-height: 1.5; color: var(--tzx-ink2); }
.tzch-note { margin: 5px 0 0; font-size: 11.5px; line-height: 1.45; color: var(--tzx-ink3, var(--tzx-ink2)); opacity: .85; }
.tzch-fine { margin: 7px 0 0; font-size: 11.5px; color: var(--tzx-ink3); }
.tzch-go { width: 100%; margin-top: 10px; height: 39px; border: 0; border-radius: 11px; cursor: pointer; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); }
.tzch-go.is-quiet { background: transparent; color: var(--tzx-ink); border: 1px solid rgba(255, 255, 255, .18); }
.tzch-link { border: 0; background: none; color: var(--tzx-ink2); font: 600 13.5px var(--tzx-font); cursor: pointer; padding: 9px 5px; }
.tzch-actions { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.tzch-actions .tzch-go { flex: 1 1 220px; width: auto; }
.tzch-list { display: grid; gap: 7px; margin-bottom: 3px; }
.tzch-list button { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: var(--tzx-card); color: var(--tzx-ink); text-align: left; cursor: pointer; font: 700 13px var(--tzx-font); }
.tzch-list button span { font-weight: 500; font-size: 12.5px; color: var(--tzx-ink2); }
.tzch-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-bottom: 10px; }
.tzch-kpis div { padding: 10px; border-radius: 12px; border: 1px solid var(--tzx-line); background: var(--tzx-card); min-width: 0; }
.tzch-kpis b { display: block; font: 800 15.5px var(--tzx-font); overflow: hidden; text-overflow: ellipsis; }
.tzch-kpis span { font-size: 11.5px; color: var(--tzx-ink3); }
.tzch-kpis .is-up { color: var(--tzx-acc); } .tzch-kpis .is-down { color: #ff6f5e; }
.tzch-bar { margin: 9px 0; }
.tzch-bar-h { display: flex; justify-content: space-between; gap: 9px; font-size: 13px; color: var(--tzx-ink2); }
.tzch-bar-h b { color: var(--tzx-ink); font-weight: 700; text-align: right; }
.tzch-track { height: 7px; margin-top: 5px; border-radius: 84px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.tzch-track i { display: block; height: 100%; border-radius: 84px; background: var(--tzx-acc); }
.tzch-bar.is-ok .tzch-track i { background: #7dd3a8; } .tzch-bar.is-bad .tzch-track i { background: #ff6f5e; } .tzch-bar.is-good .tzch-track i { background: var(--tzx-acc); }
.tzch-bar small { display: block; margin-top: 3px; font-size: 11.5px; color: var(--tzx-ink3); }
.tzch-warn { margin: 10px 0; padding: 9px 10px; border-radius: 10px; background: rgba(255, 255, 255, .04); font-size: 13px; line-height: 1.45; color: var(--tzx-ink2); }
.tzch-warn.is-bad { background: rgba(255, 90, 90, .1); color: #ffb3b3; }
.tzch-result { display: flex; flex-direction: column; gap: 3px; margin: 10px 0; padding: 10px 12px; border-radius: 12px; }
.tzch-result.is-good { background: rgba(var(--acc-rgb, 184, 245, 0), .1); } .tzch-result.is-bad { background: rgba(255, 90, 90, .1); }
.tzch-result span { font-size: 13px; color: var(--tzx-ink2); }
.tzch-result button { align-self: flex-start; margin-top: 5px; padding: 7px 12px; border-radius: 9px; border: 0; background: var(--tzx-ink); color: #050505; font: 700 13px var(--tzx-font); cursor: pointer; }
.tzch-rules { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 7px; margin-top: 10px; }
.tzch-f { display: flex; flex-direction: column; gap: 3px; font-size: 11.5px; color: var(--tzx-ink3); position: relative; }
.tzch-f.is-wide { margin-top: 9px; }
.tzch-f input { height: 34px; padding: 0 37px 0 9px; border-radius: 9px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); font: 600 13px var(--tzx-font); }
.tzch-f i { position: absolute; right: 9px; bottom: 10px; font-style: normal; font-size: 11px; color: var(--tzx-ink3); }
.tzch-seg { grid-column: 1 / -1; display: flex; gap: 5px; }
.tzch-seg button { flex: 1; height: 32px; border-radius: 9px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzch-seg button.on { border-color: var(--tzx-acc); color: var(--tzx-acc); }
.tzch-rules .tzch-go { grid-column: 1 / -1; }
.tzch-tag { font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .05em; padding: 2px 7px; border-radius: 84px; background: var(--tzx-acc); color: #050505; vertical-align: middle; }
.tzch-teach { margin-top: 9px; padding: 9px 10px; border-radius: 10px; background: rgba(255, 255, 255, .035); }
.tzch-teach p { margin: 0 0 5px; font-size: 13px; line-height: 1.5; color: var(--tzx-ink2); } .tzch-teach p:last-child { margin: 0; }
.tzch-teach b { color: var(--tzx-ink); font-weight: 700; }
.tzch-labrow { display: flex; gap: 7px; align-items: flex-end; margin-top: 9px; }
.tzch-labrow .tzch-f { flex: 1; min-width: 0; } .tzch-labrow .tzch-f input { width: 100%; min-width: 0; padding-right: 9px; }
.tzch-seg.is-tf { flex: 0 0 auto; } .tzch-seg.is-tf button { flex: 0 0 auto; width: 39px; height: 34px; }
.tzch-go[disabled] { opacity: .6; cursor: default; }
.tzch-labres { margin-top: 12px; }
.tzch-verdict { margin: 0 0 9px; font-size: 13px; line-height: 1.5; font-weight: 600; }
.tzch-curve { display: block; width: 100%; height: 60px; margin: 3px 0 9px; }
.tzch-curve line { stroke: rgba(255, 255, 255, .15); stroke-dasharray: 3 3; stroke-width: 1; vector-effect: non-scaling-stroke; }
.tzch-curve polyline { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.tzch-curve polyline.is-up { stroke: var(--tzx-acc); } .tzch-curve polyline.is-down { stroke: #ff6f5e; }
.tzch-trades { display: grid; gap: 3px; }
.tzch-trades div { display: grid; grid-template-columns: 1fr 1fr auto; gap: 7px; font-size: 12.5px; color: var(--tzx-ink2); padding: 5px 0; border-bottom: 1px solid rgba(255, 255, 255, .05); }
.tzch-trades b.is-up { color: var(--tzx-acc); } .tzch-trades b.is-down { color: #ff6f5e; }

/* Void Engine 4: history check (81-signal.js) */
.tzs-v4 { margin: 10px 0 2px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(87, 199, 255, .28); background: linear-gradient(160deg, rgba(87, 199, 255, .07), rgba(var(--acc-rgb, 184, 245, 0), .03)); }
.tzs-v4-h { display: flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #9fdcff; }
.tzs-v4-h i { font-style: normal; font-size: 10px; letter-spacing: .04em; padding: 2px 6px; border-radius: 84px; background: #57c7ff; color: #04121a; }
.tzs-v4 p { margin: 7px 0 0; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .88); }
.tzs-v4-u { color: var(--tzx-ink2); }
.tzs-v4 dl { margin: 9px 0 0; display: grid; gap: 5px; }
.tzs-v4 dl div { display: flex; justify-content: space-between; gap: 9px; font-size: 13px; }
.tzs-v4 dt { color: var(--tzx-ink2); } .tzs-v4 dd { margin: 0; font-weight: 600; text-align: right; }
.tzs-v4-when { font-size: 12.5px !important; color: var(--tzx-ink2) !important; } .tzs-v4-when.is-locked { font-style: italic; }
/* classic strategies on this chart (81-signal.js) */
.tzs-strats { margin: 10px 0 2px; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: var(--tzx-card); }
.tzs-strats summary { display: flex; align-items: center; gap: 7px; cursor: pointer; list-style: none; font-size: 13.5px; color: var(--tzx-ink2); min-height: 24px; }
.tzs-strats summary::-webkit-details-marker { display: none; }
.tzs-strats summary b { color: var(--tzx-ink); }
.tzs-strats summary::after { content: '▾'; margin-left: auto; font-size: 11px; color: var(--tzx-ink3); }
.tzs-strats[open] summary::after { content: '▴'; }
.tzs-strats ul { list-style: none; margin: 7px 0 0; padding: 0; display: grid; gap: 7px; }
.tzs-strats li { position: relative; padding-left: 12px; }
.tzs-strats li::before { content: ''; position: absolute; left: 0; top: .5em; width: 6px; height: 6px; border-radius: 50%; background: var(--tzx-ink3); }
.tzs-strats li.is-good::before { background: #6ee7a0; } .tzs-strats li.is-bad::before { background: #ff8070; }
.tzs-strats li b { display: flex; justify-content: space-between; gap: 7px; font-size: 13px; }
.tzs-strats li em { font-style: normal; font-weight: 600; font-size: 12px; color: var(--tzx-ink2); white-space: nowrap; }
.tzs-strats li.is-good em { color: #6ee7a0; } .tzs-strats li.is-bad em { color: #ff8070; }
.tzs-strats li small { display: block; font-size: 12px; color: var(--tzx-ink3); }
/* the full reading as one article; free: fades under a blur into one gate */
.tzs-article { margin: 10px 0 2px; }
.tzs-article p { margin: 9px 0 0; font-size: 14.5px; line-height: 1.62; color: rgba(255, 255, 255, .86); }
.tzs-article h5 { margin: 14px 0 0; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--tzx-ink2); }
.tzs-article .tzs-stars { margin-top: 12px; }
.tzs-article.is-locked { position: relative; }
.tzs-cut { -webkit-mask-image: linear-gradient(#000 45%, rgba(0,0,0,.35)); mask-image: linear-gradient(#000 45%, rgba(0,0,0,.35)); }
.tzs-veil { max-height: 128px; overflow: hidden; filter: blur(4.5px); opacity: .7; user-select: none; -webkit-user-select: none; pointer-events: none;
  -webkit-mask-image: linear-gradient(rgba(0,0,0,.9), transparent 92%); mask-image: linear-gradient(rgba(0,0,0,.9), transparent 92%); }
.tzs-veil ul { list-style: none; margin: 9px 0 0; padding: 0; display: grid; gap: 7px; }
.tzs-veil li { font-size: 13.5px; line-height: 1.5; color: rgba(255, 255, 255, .8); } .tzs-veil li b { display: block; font-size: 11.5px; color: var(--tzx-ink2); } .tzs-veil li b em { font-style: normal; }
.tzs-gate { position: relative; margin-top: -46px; padding: 14px; border-radius: 14px; text-align: center; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .28);
  background: linear-gradient(180deg, rgba(14, 18, 8, .92), rgba(8, 9, 10, .98)); box-shadow: 0 -18px 36px rgba(0, 0, 0, .45); }
.tzs-gate b { display: block; font-size: 13px; } .tzs-gate small { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzs-unlock { width: 100%; margin-top: 9px; height: 36px; border: 0; border-radius: 10px; cursor: pointer; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); }

.tzs-mem { margin: 10px 0 2px; padding: 9px 10px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 10px; background: rgba(255, 255, 255, .025); }
.tzs-mem-h { font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--text3); margin-bottom: 5px; }
.tzs-mem ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.tzs-mem li { display: flex; gap: 7px; font-size: 13.5px; line-height: 1.45; color: rgba(255, 255, 255, .8); }
.tzs-mem li::before { flex: none; width: 14px; text-align: center; font-weight: 700; }
.tzs-mem li.is-good::before { content: '✓'; color: var(--lime, #b8f500); }
.tzs-mem li.is-bad::before { content: '!'; color: #ff6f5e; }
.tzs-mem li.is-neutral::before { content: '•'; color: var(--text3); }
.tzv3-ps b.is-grade { min-width: 37px; }

.tzt-combos { margin: 10px 0 12px; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 14px; background: var(--tzx-card); font-family: var(--tzx-font); }
.tzt-combos p { margin: 5px 0 9px; font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzt-combos small { display: block; margin-top: 7px; font-size: 12px; color: var(--tzx-ink3); }
.tzt-combo { display: flex; align-items: baseline; justify-content: space-between; gap: 9px; padding: 8px 0; border-top: 1px solid var(--tzx-line); }
.tzt-combo:first-of-type { border-top: 0; }
.tzt-combo b { font-size: 13px; color: var(--tzx-ink); }
.tzt-combo span { font-size: 12.5px; color: var(--tzx-ink3); text-align: right; }
.tzt-combo.is-good b::before { content: '▲ '; color: var(--tzx-acc); font-size: 11px; }
.tzt-combo.is-bad b::before { content: '▼ '; color: #ff6f5e; font-size: 11px; }
.tzt-combo-bar { height: 5px; border-radius: 84px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.tzt-combo-bar i { display: block; height: 100%; background: var(--tzx-acc); border-radius: 84px; }
.tzt-g { display: inline-block; margin-left: 5px; padding: 1px 6px; border-radius: 84px; font: 700 11px var(--tzx-font); font-style: normal; vertical-align: 2px; background: rgba(255, 255, 255, .08); color: var(--tzx-ink2); }
.tzt-g.is-A, .tzt-g.is-B { background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); }
.tzt-g.is-C { background: rgba(239, 179, 39, .14); color: #efb327; }
.tzt-g.is-D, .tzt-g.is-F { background: rgba(255, 138, 92, .14); color: #ff8a5c; }

body.tz-focus #tab-missions > :not(#tzm) { display: none !important; }
#tzm { max-width: 640px; margin: 0 auto; padding: 3px 14px 20px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzm-bar { height: 7px; border-radius: 84px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.tzm-bar i { display: block; height: 100%; border-radius: 84px; background: var(--tzx-acc); transition: width .4s ease; }
.tzm-sec { margin-top: 14px; }
.tzm-h { display: flex; align-items: baseline; justify-content: space-between; margin: 0 3px 7px; }
.tzm-h span { font: 700 12px var(--tzx-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tzx-ink2); }
.tzm-h small { font-size: 12px; color: var(--tzx-ink3); }
.tzm-sec ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--tzx-line); border-radius: 14px; background: var(--tzx-card); }
.tzm-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-top: 1px solid var(--tzx-line); }
.tzm-row:first-child { border-top: 0; }
.tzm-row > i { flex: none; display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .22); font-style: normal; font-size: 12px; font-weight: 800; color: #0b0c0e; }
.tzm-row.is-done > i { background: var(--tzx-acc); border-color: var(--tzx-acc); }
.tzm-row > span { flex: 1; min-width: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 9px; }
.tzm-row > span b { grid-column: 1 / -1; font-size: 13px; font-weight: 600; }
.tzm-row.is-done > span b { color: var(--tzx-ink3); text-decoration: line-through; text-decoration-color: rgba(255, 255, 255, .25); }
.tzm-row small { height: 4px; border-radius: 84px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.tzm-row small em { display: block; height: 100%; background: var(--tzx-acc); border-radius: 84px; }
.tzm-row u { text-decoration: none; font-size: 12px; color: var(--tzx-ink3); }
.tzm-row > strong { flex: none; font-size: 12.5px; font-weight: 700; color: var(--tzx-acc); }
.tzm-row.is-done > strong { color: var(--tzx-ink3); }
.tzm-foot { margin: 12px 3px 0; font-size: 12.5px; color: var(--tzx-ink3); }

body.tz-focus #tab-calendar > :not(#tzt-cal), body.tz-focus #tab-setuphm > :not(#tzt-setups) { display: none !important; }
#tzt-cal, #tzt-setups { max-width: 760px; margin: 0 auto; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzc-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 3px 0 10px; }
.tzc-h > div { text-align: center; }
.tzc-h h2 { margin: 0; font: 800 15px var(--tzx-font); }
.tzc-h .tzt-sub { margin: 2px 0 0; }
.tzc-h .tzt-sub b.is-up { color: var(--tzx-acc); } .tzc-h .tzt-sub b.is-down { color: #ff6f5e; }
.tzc-w, .tzc-g { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.tzc-w span { text-align: center; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); padding-bottom: 3px; }
.tzc-d { min-height: 53px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 6px 7px; border: 1px solid var(--tzx-line); border-radius: 10px; background: var(--tzx-card); color: var(--tzx-ink3); font-family: var(--tzx-font); cursor: default; text-align: left; }
.tzc-d.is-pad { border: 0; background: none; }
.tzc-d b { font-size: 12.5px; font-weight: 700; }
.tzc-d small { font-size: 11.5px; font-weight: 700; color: var(--tzx-ink2); }
.tzc-d.has { cursor: pointer; color: var(--tzx-ink); }
.tzc-d.is-up { background: rgba(var(--acc-rgb, 184, 245, 0), .12); border-color: rgba(var(--acc-rgb, 184, 245, 0), .35); }
.tzc-d.is-up small { color: var(--tzx-acc); }
.tzc-d.is-down { background: rgba(255, 111, 94, .10); border-color: rgba(255, 111, 94, .35); }
.tzc-d.is-down small { color: #ff6f5e; }
.tzc-d.is-today b { color: var(--tzx-acc); }
.tzc-d.is-on { outline: 2px solid var(--tzx-acc); outline-offset: 1px; }
.tzc-list { margin-top: 12px; }
@media (max-width: 520px) { .tzc-d { min-height: 41px; padding: 4px; } .tzc-d small { font-size: 10px; } }
.tzs-tables { display: grid; gap: 10px; margin-top: 10px; }
.tzs-t { padding: 12px; border: 1px solid var(--tzx-line); border-radius: 14px; background: var(--tzx-card); }
.tzs-t table { width: 100%; border-collapse: collapse; font-size: 13.5px; margin-top: 5px; }
.tzs-t th { text-align: right; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--tzx-ink3); padding: 3px 5px; }
.tzs-t td { text-align: right; padding: 6px 5px; border-top: 1px solid var(--tzx-line); color: var(--tzx-ink2); font-variant-numeric: tabular-nums; }
.tzs-t th:first-child, .tzs-t td:first-child { text-align: left; color: var(--tzx-ink); font-weight: 600; }
.tzs-t tr.is-up td:last-child { color: var(--tzx-acc); font-weight: 700; }
.tzs-t tr.is-down td:last-child { color: #ff6f5e; font-weight: 700; }
.tzs-t tr.is-thin td { opacity: .5; }

.tzv3-chart { margin: 3px 0 9px; }
.tzv3-chart summary { cursor: pointer; font-size: 12.5px; color: var(--tzx-ink3); }
.tzp-top { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 2px 0 9px; }
.tzp-grades { display: flex; gap: 7px; }
.tzp-g { display: flex; flex-direction: column; align-items: center; min-width: 49px; padding: 5px 9px; border: 1px solid var(--tzx-line); border-radius: 10px; background: var(--tzx-card); }
.tzp-g b { font: 800 15px var(--tzx-font); line-height: 1.1; }
.tzp-g b.is-A, .tzp-g b.is-B { color: var(--tzx-acc); } .tzp-g b.is-C { color: #efb327; } .tzp-g b.is-D, .tzp-g b.is-F { color: #ff8a5c; }
.tzp-g small { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzp-g.is-trade { border-color: rgba(var(--acc-rgb, 184, 245, 0), .45); }
.tzp-teach-t { height: 26px; padding: 0 10px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink3); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzp-teach-t.is-on { color: var(--tzx-ink); border-color: rgba(var(--acc-rgb, 184, 245, 0), .45); }
.tzp-sec { margin-top: 10px; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 14px; background: var(--tzx-card); }
.tzp-sec h4 { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; margin: 0 0 7px; font: 800 13px var(--tzx-font); color: var(--tzx-ink); }
.tzp-sec h4 small { font-size: 12px; font-weight: 500; color: var(--tzx-ink3); }
.tzp-teach { margin: 3px 0 9px; padding: 7px 9px; border-left: 3px solid rgba(var(--acc-rgb, 184, 245, 0), .6); border-radius: 0 7px 7px 0; background: rgba(var(--acc-rgb, 184, 245, 0), .05); font-size: 13px; line-height: 1.5; color: var(--tzx-ink2); }
.tzp-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 5px 7px; margin: 5px 0; }
.tzp-row > label { font-size: 12.5px; font-weight: 700; color: var(--tzx-ink2); }
.tzp-row.is-stop > label { color: #ff6f5e; } .tzp-row.is-tp > label { color: var(--tzx-acc); }
.tzp-row input, .tzp-row select, .tzp-size input { height: 34px; min-width: 0; padding: 0 10px !important; border: 1px solid var(--tzx-line) !important; border-radius: 9px !important; background: rgba(0, 0, 0, .25) !important; color: var(--tzx-ink) !important; font: 600 13px var(--tzx-font) !important; outline: none !important; box-shadow: none !important; }
.tzp-row input:focus, .tzp-size input:focus, .tzp-row select:focus { border-color: rgba(var(--acc-rgb, 184, 245, 0), .6) !important; }
.tzp-row.is-tp { grid-template-columns: 54px minmax(0, 1fr) auto auto; }
.tzp-pct { display: inline-flex; align-items: center; gap: 3px; }
.tzp-pct input { width: 49px; text-align: right; }
.tzp-pct i { font-style: normal; font-size: 12px; color: var(--tzx-ink3); }
.tzp-sub { grid-column: 2 / -1; font-size: 12px; color: var(--tzx-ink3); }
.tzp-mini { height: 26px; padding: 0 9px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink2); font: 600 12px var(--tzx-font); cursor: pointer; white-space: nowrap; }
.tzp-mini:hover { color: var(--tzx-ink); border-color: rgba(255, 255, 255, .3); }
.tzp-mini.is-lime { border-color: rgba(var(--acc-rgb, 184, 245, 0), .6); color: var(--tzx-acc); }
.tzp-mini.is-on { background: rgba(var(--acc-rgb, 184, 245, 0), .12); color: var(--tzx-acc); }
.tzp-x { width: 26px; height: 26px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .06); color: var(--tzx-ink3); cursor: pointer; }
.tzp-add { margin: 3px 0 2px; height: 29px; padding: 0 12px; border: 1px dashed rgba(var(--acc-rgb, 184, 245, 0), .45); border-radius: 9px; background: none; color: var(--tzx-acc); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzp-moves { margin-top: 9px; padding-top: 7px; border-top: 1px solid var(--tzx-line); }
.tzp-mh { display: flex; flex-direction: column; gap: 2px; margin-bottom: 3px; font-size: 12.5px; font-weight: 700; color: var(--tzx-ink2); }
.tzp-mh small { font-weight: 500; color: var(--tzx-ink3); }
.tzp-moves .tzp-row { grid-template-columns: 77px minmax(0, 1fr); }
.tzp-size { display: grid; gap: 7px; margin-top: 9px; }
.tzp-size label { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-size: 12.5px; font-weight: 700; color: var(--tzx-ink2); }
.tzp-size label > span { display: inline-flex; align-items: center; gap: 5px; }
.tzp-size input { width: 82px; }
.tzp-size i { font-style: normal; font-weight: 500; color: var(--tzx-ink3); }
.tzp-err { margin: 3px 0; color: #ff8a5c; font-size: 13px; font-weight: 600; }
.tzp-pb-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(119px, 1fr)); gap: 7px; }
.tzp-pb { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 9px 10px; border: 1px solid var(--tzx-line); border-radius: 10px; background: rgba(0, 0, 0, .2); color: var(--tzx-ink); font-family: var(--tzx-font); text-align: left; cursor: pointer; }
.tzp-pb b { font-size: 13px; } .tzp-pb small { font-size: 11.5px; color: var(--tzx-ink3); }
.tzp-pb.is-on { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .08); }
.tzp-pbd { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--tzx-line); }
.tzp-pbd-h { display: flex; align-items: baseline; gap: 7px; } .tzp-pbd-h b { font-size: 13px; } .tzp-pbd-h small { color: var(--tzx-ink3); font-size: 12px; }
.tzp-rule { margin: 5px 0; font-size: 13px; color: var(--tzx-ink); }
.tzp-fan { margin: 7px 0 3px; }
.tzp-fan-l { margin: 3px 0 7px; font-size: 13px; line-height: 1.5; color: var(--tzx-ink2); }
.tzp-pbd-b { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.tzp-pbd-b small { font-size: 12px; color: var(--tzx-ink3); }
.tzp-pinned { font-size: 12.5px; font-weight: 700; color: var(--tzx-acc); }
.tzp-cmp { margin-top: 9px; } .tzp-cmp summary { cursor: pointer; font-size: 12.5px; color: var(--tzx-ink3); }
.tzp-cmp table { width: 100%; margin-top: 7px; border-collapse: collapse; font-size: 12.5px; }
.tzp-cmp th { text-align: right; font-size: 11px; color: var(--tzx-ink3); padding: 3px; } .tzp-cmp th:first-child, .tzp-cmp td:first-child { text-align: left; }
.tzp-cmp td { text-align: right; padding: 5px 3px; border-top: 1px solid var(--tzx-line); color: var(--tzx-ink2); font-variant-numeric: tabular-nums; }
.tzp-cmp tr.is-on td { color: var(--tzx-acc); font-weight: 700; }

.tzp-fut { margin: 9px 0; padding: 9px 10px; border: 1px solid var(--tzx-line); border-radius: 10px; background: rgba(255, 255, 255, .025); }
.tzp-fut-h { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; font: 700 13px var(--tzx-font); }
.tzp-fut-h small { font-weight: 500; font-size: 11.5px; color: var(--tzx-ink3); }
.tzp-fut table { width: 100%; margin-top: 5px; border-collapse: collapse; font-size: 12.5px; }
.tzp-fut th { text-align: right; font-size: 11.5px; font-weight: 700; color: var(--tzx-ink2); padding: 3px; }
.tzp-fut th small { display: block; font-weight: 500; color: var(--tzx-ink3); }
.tzp-fut td { text-align: right; padding: 5px 3px; border-top: 1px solid var(--tzx-line); color: var(--tzx-ink2); font-variant-numeric: tabular-nums; }
.tzp-fut th:first-child, .tzp-fut td:first-child { text-align: left; color: var(--tzx-ink3); }
.tzp-fut .is-you { color: var(--tzx-acc); font-weight: 700; background: rgba(var(--acc-rgb, 184, 245, 0), .06); }
.tzp-fut b.is-down { color: #ff6f5e; }
.tzp-fut-n { margin: 7px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzp-fut-n.is-bad { color: #ffb3b3; }
/* the calculator switch (forex, gold/silver): "$ and x" or "Lots and pips" */
.tzp-calc { display: inline-flex; margin-left: auto; padding: 2px; border: 1px solid var(--tzx-line); border-radius: 84px; gap: 2px; }
.tzp-calc button { height: 26px; padding: 0 10px; border: 0; border-radius: 84px; background: none; color: var(--tzx-ink3); font: 600 12px var(--tzx-font); cursor: pointer; white-space: nowrap; }
.tzp-calc button.is-on { background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); }
.tzp-calc button:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 1px; }
/* the leverage ladder (104-plan.js levLadder): every leverage, same $ at risk */
.tzp-lad { margin: 9px 0; padding: 8px 10px; border: 1px solid var(--tzx-line); border-radius: 10px; background: rgba(255, 255, 255, .025); }
.tzp-lad summary { cursor: pointer; font: 700 13px var(--tzx-font); color: var(--tzx-ink); }
.tzp-lad summary small { margin-left: 7px; font-weight: 500; font-size: 11.5px; color: var(--tzx-ink3); }
.tzp-lad table { width: 100%; margin-top: 7px; border-collapse: collapse; font-size: 12.5px; }
.tzp-lad th { text-align: right; font-size: 11px; font-weight: 700; color: var(--tzx-ink3); padding: 3px; }
.tzp-lad td { text-align: right; padding: 6px 3px; border-top: 1px solid var(--tzx-line); color: var(--tzx-ink2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tzp-lad th:first-child, .tzp-lad td:first-child { text-align: left; }
.tzp-lad td small { display: block; font-size: 10.5px; color: var(--tzx-ink3); font-weight: 500; }
.tzp-lad tr[data-lev] { cursor: pointer; }
.tzp-lad tr[data-lev]:hover td, .tzp-lad tr[data-lev]:focus-visible td { background: rgba(255, 255, 255, .04); }
.tzp-lad tr[data-lev]:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: -2px; }
.tzp-lad tr.is-you td { color: var(--tzx-acc); font-weight: 700; background: rgba(var(--acc-rgb, 184, 245, 0), .06); }
.tzp-lad tr.is-best td:first-child { color: var(--tzx-acc); font-weight: 700; }
.tzp-lad tr.is-liq td:nth-child(2) { color: #ff8a8a; }
.tzp-lad td.is-up { color: var(--tzx-acc); } .tzp-lad td.is-down { color: #ff6f5e; }
.tzp-lad-n { margin: 6px 0 0; font-size: 11.5px; line-height: 1.45; color: var(--tzx-ink3); }
.tzp-go { margin-top: 10px; }
@media (max-width: 520px) { .tzp-row, .tzp-row.is-tp { grid-template-columns: 44px minmax(0, 1fr) auto; } .tzp-row.is-tp .tzp-x { grid-column: 3; } .tzp-pct input { width: 43px; } }

.tzx-acc-txt:empty { display: none; }
.tzm-h { display: flex; align-items: baseline; gap: 7px; margin: 0 2px 7px; }
.tzm-h b { font: 800 13px var(--tzx-font); color: var(--tzx-ink); }
.tzm-h small { font-size: 12px; color: var(--tzx-ink3); }

.tzs-stars { margin: 9px 0 2px; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: var(--tzx-card); }
.tzs-stars summary { display: flex; align-items: center; gap: 7px; cursor: pointer; list-style: none; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--tzx-ink2); }
.tzs-stars summary::-webkit-details-marker { display: none; }
.tzs-stars summary small { margin-left: auto; font-size: 11px; color: var(--tzx-ink3); }
.tzs-stars summary::after { content: '▾'; font-size: 11px; color: var(--tzx-ink3); }
.tzs-stars[open] summary::after { content: '▴'; }
.tzs-stars i { font-style: normal; font-size: 10px; letter-spacing: .04em; padding: 2px 6px; border-radius: 84px; background: var(--tzx-acc); color: #050505; }
.tzs-stars ul { list-style: none; margin: 7px 0 0; padding: 0; display: grid; gap: 7px; }
.tzs-stars li { position: relative; padding-left: 10px; font-size: 13.5px; line-height: 1.5; color: rgba(255, 255, 255, .82); }
.tzs-stars li::before { content: ''; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; border-radius: 50%; background: var(--tzx-ink3); }
.tzs-stars li.is-good::before { background: #6ee7a0; }
.tzs-stars li.is-bad::before { background: #ff8070; }
.tzs-stars li b { display: block; font-size: 11.5px; font-weight: 700; color: var(--tzx-ink2); }
.tzs-stars li b em { font-style: normal; color: var(--tzx-ink3); font-variant-numeric: tabular-nums; }
.tzs-stars.is-locked ul { opacity: .9; }

#tzh { max-width: 760px; margin: 0 auto; padding: 14px 14px 34px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzh-head p { margin: 0 0 12px; font-size: 13.5px; color: var(--tzx-ink2); line-height: 1.45; }
.tzh-find { width: 100%; height: 36px; margin: 0 0 10px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--tzx-line); background: var(--tzx-card); color: var(--tzx-ink); font: 500 13px var(--tzx-font); }
.tzh-list { display: grid; gap: 7px; }
.tzh-card { border: 1px solid var(--tzx-line); border-radius: 14px; background: var(--tzx-card); overflow: hidden; }
.tzh-card.is-open { border-color: rgba(var(--acc-rgb, 184, 245, 0), .3); }
.tzh-pair { display: flex; align-items: center; gap: 9px; width: 100%; padding: 10px 12px; border: 0; background: none; color: inherit; font-family: inherit; text-align: left; cursor: pointer; }
.tzh-sym { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.tzh-sym b { font: 800 13.5px var(--tzx-font); }
.tzh-sym small { font-size: 12px; color: var(--tzx-ink3); }
.tzh-grades { display: flex; gap: 3px; }
.tzh-g { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 19px; padding: 0 3px; border-radius: 6px; font: 800 11.5px var(--tzx-font); background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); }
.tzh-g.is-A { background: rgba(110, 231, 160, .16); color: #6ee7a0; }
.tzh-g.is-B { background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); }
.tzh-g.is-C { background: rgba(239, 179, 39, .14); color: #efb327; }
.tzh-g.is-D, .tzh-g.is-F { background: rgba(255, 128, 112, .14); color: #ff8a7a; }
.tzh-mv { min-width: 49px; text-align: right; font: 800 13px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzh-mv.up, .tzh-conn b.up, .tzh-legs em.up { color: #6ee7a0; }
.tzh-mv.dn, .tzh-conn b.dn, .tzh-legs em.dn { color: #ff8070; }
@media (max-width: 420px) { .tzh-grades .tzh-g:nth-last-child(n+5) { display: none; } }
.tzh-body { padding: 0 12px 12px; }
.tzh-acts { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 9px; }
.tzh-read-btn { flex: 1 1 220px; height: 37px; border: 0; border-radius: 10px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.tzh-read-btn:disabled { opacity: .75; cursor: default; }
.tzh-again { flex: 1 1 136px; height: 37px; border: 1px solid var(--tzx-line); border-radius: 10px; background: none; color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzh-note { margin: 0 0 9px; font-size: 13px; color: var(--tzx-ink3); }
.tzh-tfs { display: flex; flex-wrap: wrap; gap: 5px; margin: 3px 0 7px; }
.tzh-tfs button { height: 26px; padding: 0 9px; border-radius: 84px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzh-tfs button.is-on { border-color: var(--tzx-acc); color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .08); }
.tzh-reads { list-style: none; margin: 0; padding: 0; }
.tzh-read { position: relative; padding: 0 0 0 14px; }
.tzh-read::before { content: ''; position: absolute; left: 3px; top: 5px; bottom: -5px; width: 2px; background: var(--tzx-line); }
.tzh-read:last-child::before { display: none; }
.tzh-row { display: flex; align-items: center; gap: 7px; padding: 5px 0; flex-wrap: wrap; }
.tzh-read::after { content: ''; position: absolute; left: 0; top: 11px; width: 9px; height: 9px; border-radius: 50%; background: #0a0b0e; border: 2px solid var(--tzx-ink3); box-sizing: border-box; }
.tzh-when { font: 700 13px var(--tzx-font); }
.tzh-meta { font-size: 12.5px; color: var(--tzx-ink3); }
.tzh-conn { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 9px; padding: 7px 9px; border-radius: 9px; background: rgba(255, 255, 255, .025); font-size: 12px; color: var(--tzx-ink2); }
.tzh-conn > * { padding: 3px 7px; border-radius: 84px; background: rgba(255, 255, 255, .05); }
.tzh-conn .tzh-since { background: none; padding-left: 0; color: var(--tzx-ink3); }
.tzh-conn b { font-weight: 800; font-variant-numeric: tabular-nums; }
.tzh-same { color: var(--tzx-ink3); }
.tzh-story { margin: 0 0 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .22); background: rgba(var(--acc-rgb, 184, 245, 0), .05); }
.tzh-story-h { display: flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--tzx-acc); }
.tzh-story-h i { font-style: normal; font-size: 10px; padding: 2px 6px; border-radius: 84px; background: var(--tzx-acc); color: #050505; }
.tzh-story p { margin: 7px 0 0; font-size: 14.5px; line-height: 1.6; color: rgba(255, 255, 255, .88); }
.tzh-legs { margin-top: 9px; }
.tzh-legs summary { cursor: pointer; font: 700 13px var(--tzx-font); color: var(--tzx-ink2); }
.tzh-legs ul { list-style: none; margin: 7px 0 0; padding: 0; display: grid; gap: 9px; }
.tzh-legs li b { display: block; font-size: 12.5px; margin-bottom: 3px; }
.tzh-legs li b em { font-style: normal; }
.tzh-legs .lean { display: block; font-size: 13px; line-height: 1.45; color: var(--tzx-ink2); padding-left: 9px; border-left: 2px solid var(--tzx-line); margin-top: 3px; }
.tzh-legs .lean.up { border-left-color: #6ee7a0; }
.tzh-legs .lean.dn { border-left-color: #ff8070; }
.tzh-legs .lean small { color: var(--tzx-ink3); font-variant-numeric: tabular-nums; }
.tzh-empty { padding: 26px 9px; text-align: center; color: var(--tzx-ink2); }
.tzh-go { height: 37px; padding: 0 15px; border: 0; border-radius: 10px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }

#tzdv { position: fixed; inset: 0; z-index: 100400; display: flex; align-items: center; justify-content: center; padding: 14px; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzdv[hidden] { display: none; }
.tzdv-scrim { position: absolute; inset: 0; background: rgba(3, 4, 6, .9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.tzdv-box { position: relative; width: min(380px, 100%); padding: 22px 19px 17px; border-radius: 20px; text-align: center; background: linear-gradient(180deg, #11140c, #0a0b0e 60%); border: 1px solid var(--tzx-line); box-shadow: 0 40px 100px rgba(0, 0, 0, .7); }
.tzdv-ic { font-size: 30px; }
.tzdv-box h2 { margin: 7px 0 5px; font: 800 15px/1.2 var(--tzx-font); }
.tzdv-box p { margin: 0 0 12px; font-size: 14px; color: var(--tzx-ink2); }
.tzdv-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 5px; text-align: left; }
.tzdv-list li { display: flex; justify-content: space-between; gap: 9px; padding: 9px 10px; border-radius: 10px; background: var(--tzx-card); border: 1px solid var(--tzx-line); font-size: 14px; }
.tzdv-list small { color: var(--tzx-ink3); }
.tzdv-go { width: 100%; height: 43px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 800 13.5px var(--tzx-font); cursor: pointer; }
.tzdv-go:disabled { opacity: .7; }
.tzdv-fine { display: block; margin: 5px 0 3px; font-size: 12px; color: var(--tzx-ink3); }
.tzdv-link { margin-top: 7px; border: 0; background: none; color: var(--tzx-ink2); font: 600 14px var(--tzx-font); cursor: pointer; }
html.tzdv-open body { overflow: hidden; }
.tzh-sec { margin: 15px 2px 7px; font: 800 12px var(--tzx-font); letter-spacing: .07em; text-transform: uppercase; color: var(--tzx-ink2); }
.tzh-sec small { margin-left: 5px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--tzx-ink3); }
.tzh-pos { display: grid; gap: 7px; }
.tzh-trade { border: 1px solid var(--tzx-line); border-radius: 12px; background: var(--tzx-card); padding: 9px 10px; }
.tzh-trow { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.tzh-trow b { font: 800 13px var(--tzx-font); }
.tzh-trow span { font-size: 12.5px; color: var(--tzx-ink3); }
.tzh-trow em { font-style: normal; font: 800 11px var(--tzx-font); padding: 3px 7px; border-radius: 84px; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); }
.tzh-trow em.is-open { color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .1); }
.tzh-trow em.is-win { color: #6ee7a0; background: rgba(110, 231, 160, .12); }
.tzh-trow em.is-loss { color: #ff8a7a; background: rgba(255, 128, 112, .12); }
.tzh-pbtn { margin-left: auto; height: 29px; padding: 0 10px; border: 0; border-radius: 9px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.tzh-pbtn:disabled { opacity: .75; }
.tzh-pstory { margin: 9px 0 0; }
.tzh-strip { display: flex; flex-wrap: wrap; gap: 7px; margin: 9px 0 2px; }
.tzh-strip button { flex: 1 1 180px; height: 34px; border-radius: 10px; border: 1px solid rgba(150, 120, 255, .35); background: rgba(150, 120, 255, .08); color: #d4c8ff; font: 700 13px var(--tzx-font); cursor: pointer; }

.tzm-league { display: flex; align-items: center; gap: 12px; margin-top: 9px; padding: 12px 14px; border-radius: 17px; border: 1px solid color-mix(in srgb, var(--lg) 40%, transparent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--lg) 16%, transparent), rgba(255, 255, 255, .02)); }
.tzm-lg-bar i { background: var(--lg) !important; }
.tzm-rank { display: block; margin-top: 5px; font-size: 12px; color: var(--tzx-ink3); }
.tzm-ladder summary { cursor: pointer; font: 800 13px var(--tzx-font); color: var(--tzx-ink2); list-style: none; }
.tzm-ladder ul { list-style: none; margin: 9px 0 7px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
.tzm-ladder li { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 7px 3px; border-radius: 10px; border: 1px solid var(--tzx-line); font-size: 11.5px; color: var(--tzx-ink3); }
.tzm-ladder li i { width: 14px; height: 15px; clip-path: polygon(50% 0, 100% 14%, 100% 52%, 50% 100%, 0 52%, 0 14%); background: var(--lg); }
.tzm-ladder li b { color: var(--tzx-ink); font-size: 12.5px; }
.tzm-ladder li.is-on { border-color: var(--lg); background: color-mix(in srgb, var(--lg) 12%, transparent); }
.tzm-ladder p { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--tzx-ink3); }

.tzo { position: relative; display: inline-block; flex: none; width: var(--o-s); height: var(--o-s); isolation: isolate; }
.tzo > i, .tzo i { position: absolute; display: block; font-style: normal; }
.tzo-aura { inset: -22%; border-radius: 50%; z-index: -1;
  background: radial-gradient(circle, color-mix(in srgb, var(--o-c) 70%, transparent) 0%, transparent 68%);
  opacity: var(--o-glow); animation: tzo-breathe 4.8s ease-in-out infinite; }
.tzo-core { inset: var(--o-in, 12%); border-radius: 50%; overflow: hidden;
  background: radial-gradient(circle at 34% 30%, #fff 0%, var(--o-c) 26%, var(--o-d) 78%, #05060a 100%);
  box-shadow: 0 0 calc(var(--o-s) * .18) color-mix(in srgb, var(--o-c) 55%, transparent), inset 0 0 calc(var(--o-s) * .12) rgba(0, 0, 0, .55); }
.tzo-swirl { inset: -10%; border-radius: 50%; mix-blend-mode: screen; opacity: .55;
  background: repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--o-c) 80%, #fff) 0deg, transparent calc(360deg / var(--o-arms) * .35), transparent calc(360deg / var(--o-arms)));
  -webkit-mask: radial-gradient(circle, transparent 12%, #000 40%, transparent 72%); mask: radial-gradient(circle, transparent 12%, #000 40%, transparent 72%);
  animation: tzo-spin var(--o-spin) linear infinite; }
.tzo-shine { left: 20%; top: 14%; width: 34%; height: 22%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 255, 255, .75), transparent); filter: blur(.5px); }
.tzo-ring { inset: 2%; border-radius: 50%; border: 1.5px solid color-mix(in srgb, var(--o-c) 70%, transparent); transform: rotateX(72deg) rotateZ(0deg); animation: tzo-ring 9s linear infinite; }

.tzo-orbit { inset: 0; animation: tzo-spin calc(var(--o-spin) * 1.4) linear infinite reverse; }
.tzo-spark { left: 50%; top: 50%; width: max(3px, calc(var(--o-s) * .06)); height: max(3px, calc(var(--o-s) * .06)); margin: calc(var(--o-s) * -.03); border-radius: 50%;
  background: #fff; box-shadow: 0 0 6px var(--o-c), 0 0 2px #fff;
  transform: rotate(var(--a)) translateX(calc(var(--o-s) * var(--r))); animation: tzo-twinkle 2.4s ease-in-out infinite; animation-delay: calc(var(--a) / 360deg * -2.4s); }
.tzo-crown { inset: -30%; border-radius: 50%; z-index: -1; opacity: .5;
  background: repeating-conic-gradient(color-mix(in srgb, var(--o-c) 60%, transparent) 0deg 3deg, transparent 3deg 22deg);
  -webkit-mask: radial-gradient(circle, transparent 38%, #000 46%, transparent 70%); mask: radial-gradient(circle, transparent 38%, #000 46%, transparent 70%);
  animation: tzo-spin 40s linear infinite; }

.tzo-ring[data-r="1"] { inset: -6%; border-width: 1px; animation-duration: 13s; animation-direction: reverse; transform: rotateX(68deg) rotateY(24deg); }
.tzo-ring[data-r="2"] { inset: -14%; border-style: dashed; opacity: .7; animation-duration: 21s; transform: rotateX(76deg) rotateY(-30deg); }
.tzo[data-t="11"] .tzo-core { background: radial-gradient(circle at 34% 30%, #fff 0%, transparent 42%), conic-gradient(from 0deg, #ff5ca8, #ffb13b, #ffe066, #8fe27a, #57dcea, #7c86ff, #dd6bff, #ff5ca8); }
.tzo[data-t="11"] .tzo-aura { background: conic-gradient(from 90deg, rgba(255, 92, 168, .6), rgba(87, 220, 234, .6), rgba(255, 224, 102, .6), rgba(221, 107, 255, .6), rgba(255, 92, 168, .6)); -webkit-mask: radial-gradient(circle, #000 20%, transparent 70%); mask: radial-gradient(circle, #000 20%, transparent 70%); animation: tzo-spin 12s linear infinite; }
@keyframes tzo-spin { to { transform: rotate(360deg); } }
@keyframes tzo-ring { to { transform: rotateX(72deg) rotateZ(360deg); } }
@keyframes tzo-breathe { 50% { transform: scale(1.08); opacity: calc(var(--o-glow) * 1.25); } }
@keyframes tzo-twinkle { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .tzo *, .tzo { animation: none !important; } }
.tz-notif-icon .tzo { vertical-align: middle; }
.tzm-lvno { display: block; font: 800 12px var(--tzx-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tzx-acc); }

/* ── Quant (112-quant.js) ─────────────────────────────────────────────── */
#tzq { font-family: var(--tzx-font); color: var(--tzx-ink); max-width: 860px; margin: 0 auto; padding: 5px 14px 20px; }
.tzq-hero { display: flex; align-items: center; gap: 14px; padding: 14px; margin-bottom: 10px; border-radius: 17px; border: 1px solid var(--tzx-line); background: linear-gradient(135deg, rgba(var(--acc-rgb, 184, 245, 0), .10), rgba(255, 255, 255, .02)); }
.tzq-hero h2 { margin: 0; font: 800 15px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzq-hero p { margin: 3px 0 0; font-size: 13px; color: var(--tzx-ink2); }
.tzq-grade { flex: none; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 15px; background: rgba(0, 0, 0, .35); border: 2px solid var(--tzq-c, var(--tzx-acc)); }
.tzq-grade b { font: 900 16.5px var(--tzx-font); line-height: 1; color: var(--tzq-c, var(--tzx-acc)); }
.tzq-grade small { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--tzx-ink3); margin-top: -8px; }
.tzq-gA, .tzq-gB { --tzq-c: #b8f500; } .tzq-gC { --tzq-c: #f2c94c; } .tzq-gD { --tzq-c: #ff9f43; } .tzq-gF { --tzq-c: #ff6052; }
.tzt-sub-h small { font-weight: 500; color: var(--tzx-ink3); margin-left: 5px; text-transform: none; letter-spacing: 0; }
.tzq-hist { display: flex; align-items: flex-end; height: 128px; padding: 0 2px 15px; border-bottom: 1px solid var(--tzx-line); }
.tzq-bin { position: relative; height: 100%; display: flex; align-items: flex-end; justify-content: center; cursor: pointer; padding: 0 1px; }
.tzq-bin i { display: block; width: 100%; max-width: 32px; border-radius: 3px 3px 0 0; transition: filter .15s; }
.tzq-bin:hover i { filter: brightness(1.25); }
.tzq-bin i.is-win { background: rgba(184, 245, 0, .85); } .tzq-bin i.is-loss { background: rgba(255, 96, 82, .85); } .tzq-bin i.is-flat { background: rgba(255, 255, 255, .28); }
.tzq-bin small { position: absolute; bottom: -15px; left: 50%; transform: translateX(-50%); font-size: 10px; color: var(--tzx-ink3); white-space: nowrap; }
.tzq-histtip { margin: 7px 0 0; font-size: 12.5px; color: var(--tzx-ink2); }
.tzq-risk { display: flex; align-items: center; gap: 9px; margin: 0 0 9px; font-size: 13px; color: var(--tzx-ink2); }
.tzq-risk input { flex: 1; accent-color: var(--tzx-acc); }
.tzq-risk b { min-width: 37px; text-align: right; color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzq-fanwrap { position: relative; }
.tzq-fan { display: block; width: 100%; height: auto; }
.tzq-fan text { font: 600 10px var(--tzx-font); fill: var(--tzx-ink3); }
.tzq-base { stroke: rgba(255, 255, 255, .16); stroke-dasharray: 3 4; }
.tzq-b90 { fill: rgba(184, 245, 0, .12); } .tzq-b50 { fill: rgba(184, 245, 0, .24); }
.tzq-med { fill: none; stroke: #b8f500; stroke-width: 2; vector-effect: non-scaling-stroke; }
.tzq-x { stroke: rgba(255, 255, 255, .35); vector-effect: non-scaling-stroke; }
.tzq-tip { position: absolute; top: 5px; min-width: 119px; padding: 7px 9px; border-radius: 9px; background: rgba(10, 12, 18, .94); border: 1px solid var(--tzx-line); font-size: 12px; pointer-events: none; display: flex; flex-direction: column; gap: 2px; }
.tzq-tip[hidden] { display: none; }
.tzq-tip b { font-weight: 800; }
.tzq-key { display: flex; gap: 12px; flex-wrap: wrap; margin: 7px 0 10px; font-size: 12px; color: var(--tzx-ink2); }
.tzq-key i { display: inline-block; width: 12px; height: 7px; border-radius: 2px; margin-right: 4px; vertical-align: 0; }
.tzq-key .k90 { background: rgba(184, 245, 0, .2); } .tzq-key .k50 { background: rgba(184, 245, 0, .4); } .tzq-key .kmed { height: 2px; vertical-align: 3px; background: #b8f500; }
.tzq-foot { font-size: 12px; color: var(--tzx-ink3); margin: 12px 0 0; }

/* ── Trader card (114-card.js) ────────────────────────────────────────── */
.tzcard { position: fixed; inset: 0; z-index: 9000; display: grid; place-items: center; padding: 14px; background: rgba(0, 0, 0, .72); backdrop-filter: blur(6px); }
.tzcard-box { width: min(380px, 100%); display: flex; flex-direction: column; gap: 10px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzcard-card { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 24px 15px 15px; border-radius: 22px; text-align: center;
  background: radial-gradient(120% 70% at 50% 0%, rgba(255, 255, 255, .07), transparent 60%), linear-gradient(180deg, #0b0e14, #05060a); border: 1px solid var(--tzx-line); box-shadow: 0 30px 80px rgba(0, 0, 0, .55); }
.tzcard-card .tzo { margin: 5px 0 12px; }
.tzcard-name { font: 800 15px var(--tzx-font); }
.tzcard-title { font: 700 13px var(--tzx-font); color: var(--tzx-acc); }
.tzcard-league { font: 700 13px var(--tzx-font); }
.tzcard-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(61px, 1fr)); gap: 7px; width: 100%; margin-top: 12px; }
.tzcard-stats div { padding: 9px 3px; border-radius: 12px; background: rgba(255, 255, 255, .05); }
.tzcard-stats b { display: block; font: 800 15.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzcard-stats small { font-size: 11px; color: var(--tzx-ink3); }
.tzcard-note { margin: 0; text-align: center; font-size: 12px; color: var(--tzx-ink3); }
.tzcard-row { display: flex; gap: 7px; }
.tzcard-row button { flex: 1; padding: 10px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .06); color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzcard-row .tzcard-go { background: var(--tzx-acc); color: #07080b; border-color: transparent; }

/* ── Strategy lab (115-lab.js) ────────────────────────────────────────── */
#tzl { font-family: var(--tzx-font); color: var(--tzx-ink); max-width: 860px; margin: 0 auto; padding: 5px 14px 24px; }
.tzl-head h2 { margin: 3px 0 2px; font: 800 15px var(--tzx-font); }
.tzl-head p { margin: 0 0 10px; font-size: 13px; color: var(--tzx-ink2); }
.tzl-presets { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 5px; margin-bottom: 7px; scrollbar-width: none; }
.tzl-presets button { flex: none; padding: 7px 10px; border-radius: 849px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzl-presets .tzl-mine { border-color: var(--tzx-acc); color: var(--tzx-acc); }
.tzl-presets button:disabled { opacity: .4; cursor: default; }
.tzl-form { display: grid; grid-template-columns: 1fr; gap: 7px 15px; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 15px; background: rgba(255, 255, 255, .02); margin-bottom: 12px; }
@media (min-width: 720px) { .tzl-form { grid-template-columns: 1fr 1fr; } .tzl-sizing { grid-column: 1 / -1; } }
.tzl-f { display: grid; grid-template-columns: 100px 1fr 70px; align-items: center; gap: 9px; font-size: 13px; color: var(--tzx-ink2); }
.tzl-f input[type=range] { width: 100%; accent-color: var(--tzx-acc); }
.tzl-f input[type=number] { width: 100%; padding: 6px 9px; border-radius: 9px; border: 1px solid var(--tzx-line); background: rgba(0, 0, 0, .3); color: var(--tzx-ink); font: 700 13px var(--tzx-font); }
.tzl-f b { text-align: right; color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzl-sizing { display: flex; flex-direction: column; align-items: stretch; gap: 7px; }
.tzl-sizing .tzl-seg button { flex: 1 1 30%; }
.tzl-seg { display: flex; flex-wrap: wrap; gap: 5px; }
.tzl-seg button { padding: 6px 9px; border-radius: 9px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 700 12px var(--tzx-font); cursor: pointer; }
.tzl-seg button.on { background: var(--tzx-acc); color: #07080b; border-color: transparent; }
.tzl-szhelp { font-size: 11.5px; color: var(--tzx-ink3); }
.tzl-prop input { justify-self: start; width: 17px; height: 17px; accent-color: var(--tzx-acc); }
.tzl-pin { fill: none; stroke: rgba(255, 255, 255, .75); stroke-width: 2; stroke-dasharray: 6 5; vector-effect: non-scaling-stroke; }
.tzq-key .kpin { height: 0; border-top: 2px dashed rgba(255, 255, 255, .75); vertical-align: 3px; }
.tzl-note { font-size: 12.5px; color: var(--tzx-ink2); margin: 5px 0 0; }
.tzl-actions { display: flex; gap: 7px; margin: 10px 0; flex-wrap: wrap; }
.tzl-actions button, .tzl-cmp button { padding: 9px 12px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .05); color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzl-actions [data-share] { background: var(--tzx-acc); color: #07080b; border-color: transparent; }
.tzl-cmp { margin: 0 0 10px; overflow-x: auto; }
.tzl-cmp table { width: 100%; border-collapse: collapse; font-size: 13px; }
.tzl-cmp th, .tzl-cmp td { padding: 6px 7px; border-bottom: 1px solid var(--tzx-line); text-align: right; font-variant-numeric: tabular-nums; }
.tzl-cmp th:first-child { text-align: left; color: var(--tzx-ink2); font-weight: 600; }
.tzl-cmp thead th { font-weight: 800; color: var(--tzx-ink); }
.tzl-cmp button { margin-top: 7px; }
.tzl-map { overflow-x: auto; }
.tzl-map table { border-collapse: separate; border-spacing: 2px; margin: 0 auto; }
.tzl-map th { font: 700 10.5px var(--tzx-font); color: var(--tzx-ink3); padding: 2px 3px; white-space: nowrap; }
.tzl-map td { width: 26px; height: 17px; border-radius: 3px; cursor: pointer; }
.tzl-map td.is-me { outline: 2px solid #fff; outline-offset: -1px; }
.tzl-map-y, .tzl-map-x { font-size: 11px; color: var(--tzx-ink3); text-align: center; margin: 2px 0; }
.tzl-maptip { font-size: 12.5px; color: var(--tzx-ink2); margin: 7px 0 0; }
.tzq-lab { margin-top: 10px; }

/* ── Reports & taxes (116-reports.js) ─────────────────────────────────── */
.tzrep { position: fixed; inset: 0; z-index: 9000; display: flex; justify-content: center; align-items: flex-start; overflow-y: auto; padding: 14px; background: rgba(0, 0, 0, .72); backdrop-filter: blur(6px); }
.tzrep-box { width: min(720px, 100%); margin: 17px 0 51px; padding: 15px; border-radius: 19px; background: #0b0e14; border: 1px solid var(--tzx-line); font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzrep-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.tzrep-top h2 { margin: 0; font: 800 15px var(--tzx-font); }
.tzrep-top p { margin: 2px 0 0; font-size: 12.5px; color: var(--tzx-ink3); }
.tzrep-x { width: 31px; height: 31px; border-radius: 10px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink); cursor: pointer; }
.tzrep-years { display: flex; gap: 5px; margin: 10px 0 0; flex-wrap: wrap; }
.tzrep-years button { padding: 5px 10px; border-radius: 849px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzrep-years button.on { background: var(--tzx-acc); color: #07080b; border-color: transparent; }
.tzrep-hero { display: flex; flex-direction: column; gap: 2px; margin: 14px 0 9px; }
.tzrep-hero small { font-size: 12px; color: var(--tzx-ink3); text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.tzrep-hero b { font: 900 20px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzrep-hero span { font-size: 12.5px; color: var(--tzx-ink3); }
.tzrep-note { font-size: 13px; color: var(--tzx-ink2); }
.tzrep-months { display: flex; align-items: flex-end; gap: 3px; height: 94px; padding-bottom: 14px; border-bottom: 1px solid var(--tzx-line); }
.tzrep-m { position: relative; flex: 1; height: 100%; display: flex; align-items: flex-end; justify-content: center; }
.tzrep-m i { width: 100%; max-width: 26px; border-radius: 3px 3px 0 0; min-height: 1px; }
.tzrep-m i.is-up { background: rgba(184, 245, 0, .85); } .tzrep-m i.is-down { background: rgba(255, 96, 82, .85); }
.tzrep-m small { position: absolute; bottom: -14px; font-size: 10px; color: var(--tzx-ink3); }
.tzrep-actions { display: flex; gap: 7px; margin: 14px 0 5px; flex-wrap: wrap; }
.tzrep-actions button { padding: 9px 14px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .05); color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzrep-foot { font-size: 11.5px; color: var(--tzx-ink3); margin: 9px 0 0; }
@media print {
  html.tzrep-print body > *:not(#tzrep) { display: none !important; }
  html.tzrep-print .tzrep { position: static; background: #fff; padding: 0; backdrop-filter: none; }
  html.tzrep-print .tzrep-box { background: #fff; color: #111; border: 0; margin: 0; width: 100%; }
  html.tzrep-print .tzrep-box * { color: #111 !important; }
  html.tzrep-print .tzrep-x, html.tzrep-print .tzrep-actions, html.tzrep-print .tzrep-years { display: none !important; }
}

/* ── Import (117-import.js) ───────────────────────────────────────────── */
.tzimp-drop { display: flex; flex-direction: column; align-items: center; gap: 3px; margin: 12px 0 7px; padding: 19px; border: 2px dashed var(--tzx-line); border-radius: 15px; cursor: pointer; text-align: center; }
.tzimp-drop.is-over, .tzimp-drop:hover { border-color: var(--tzx-acc); }
.tzimp-drop b { font: 800 13.5px var(--tzx-font); color: var(--tzx-acc); }
.tzimp-drop span { font-size: 12.5px; color: var(--tzx-ink3); }
.tzimp-how { margin: 5px 0 3px; padding-left: 15px; font-size: 12.5px; color: var(--tzx-ink2); line-height: 1.55; }
.tzimp-file { margin: 10px 0 0; font: 700 13px var(--tzx-font); color: var(--tzx-ink); }
.tzimp-mode { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 9px; }
.tzimp-mode button { padding: 6px 9px; border-radius: 9px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 700 12px var(--tzx-font); cursor: pointer; }
.tzimp-mode button.on { background: var(--tzx-acc); color: #07080b; border-color: transparent; }
.tzimp-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 7px; }
.tzimp-map label { display: flex; flex-direction: column; gap: 3px; font-size: 11.5px; color: var(--tzx-ink3); }
.tzimp-map select { padding: 6px 7px; border-radius: 8px; border: 1px solid var(--tzx-line); background: rgba(0, 0, 0, .35); color: var(--tzx-ink); font: 600 12.5px var(--tzx-font); }
.tzimp-sum { font-size: 13px; color: var(--tzx-ink2); margin: 10px 0 0; }
.tzimp-prev span:nth-child(2) { font-size: 12px; }
.tzrep-actions .tzt-go { background: var(--tzx-acc); color: #07080b; border-color: transparent; }
.tzrep-actions button:disabled { opacity: .45; cursor: default; }
.tzimp-map select { font-size: 13px; }
.tzq-leaks { list-style: none; margin: 0 0 7px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.tzq-leaks li { padding: 10px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .02); }
.tzq-lk-top { display: flex; justify-content: space-between; gap: 9px; font-size: 13px; }
.tzq-lk-top span { font: 800 13px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzq-leaks i { display: block; height: 4px; margin: 7px 0; border-radius: 3px; background: rgba(255, 96, 82, .8); }
.tzq-leaks p { margin: 0; font-size: 12.5px; color: var(--tzx-ink2); }
.tzl-lessons { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 7px; margin-bottom: 9px; }
.tzl-lessons button { min-height: 48px; padding: 9px 10px; border-radius: 12px; border: 1px solid var(--tzx-line); background: linear-gradient(135deg, rgba(var(--acc-rgb, 184, 245, 0), .08), rgba(255, 255, 255, .02)); color: var(--tzx-ink); font: 700 13px var(--tzx-font); text-align: left; cursor: pointer; line-height: 1.3; }
.tzl-lessons button.on { border-color: var(--tzx-acc); }
.tzl-lesson { margin: 0 0 10px; padding: 12px; border-radius: 14px; border: 1px solid var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .06); scroll-margin-top: 90px; }
.tzl-lesson b { font: 800 13px var(--tzx-font); }
.tzl-lesson p { margin: 5px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--tzx-ink2); }

/* ── Prop simulator: groups, guard, odds (106-challenge.js, 118-prop-odds.js) ── */
.tzch-grp { margin: 9px 0 5px; font: 800 11px var(--tzx-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzch-chips button small { font-weight: 600; opacity: .7; margin-left: 3px; }
.tzch-guard { display: flex; flex-direction: column; gap: 3px; margin: 9px 0; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .07); }
.tzch-guard b { font: 800 13px var(--tzx-font); }
.tzch-guard span { font-size: 12.5px; color: var(--tzx-ink2); }
.tzch-odds { margin: 12px 0; padding: 12px; border-radius: 14px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .025); }
.tzch-odds-h { display: flex; justify-content: space-between; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.tzch-odds-h h3 { margin: 0; font: 800 13.5px var(--tzx-font); }
.tzch-odds-h span { font-size: 12px; color: var(--tzx-ink3); }
.tzch-odds-big { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; margin: 9px 0; }
.tzch-odds-big b { font: 900 24px var(--tzx-font); line-height: 1; font-variant-numeric: tabular-nums; }
.tzch-odds-big.is-good b { color: #b8f500; } .tzch-odds-big.is-mid b { color: #f2c94c; } .tzch-odds-big.is-bad b { color: #ff6052; }
.tzch-odds-big span { font-size: 13px; color: var(--tzx-ink2); }
.tzch-fails { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.tzch-fails div { display: grid; grid-template-columns: 111px 1fr 36px; align-items: center; gap: 7px; font-size: 12.5px; color: var(--tzx-ink2); }
.tzch-fails i { height: 5px; border-radius: 3px; background: rgba(255, 96, 82, .8); min-width: 2px; }
.tzch-fails b { text-align: right; color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzch-curve { display: flex; align-items: flex-end; gap: 3px; height: 68px; padding-bottom: 14px; border-bottom: 1px solid var(--tzx-line); }
.tzch-curve div { position: relative; flex: 1; height: 100%; display: flex; align-items: flex-end; }
.tzch-curve i { width: 100%; border-radius: 3px 3px 0 0; background: rgba(184, 245, 0, .35); }
.tzch-curve .is-best i { background: #b8f500; }
.tzch-curve .is-me i { outline: 2px solid #fff; outline-offset: -2px; }
.tzch-curve small { position: absolute; bottom: -14px; left: 50%; transform: translateX(-50%); font-size: 10px; color: var(--tzx-ink3); }
.tzch-odds-tip { font-size: 13px; color: var(--tzx-ink2); margin: 9px 0; }
.tzch-linkbtn { border: 0; background: none; padding: 0; color: var(--tzx-acc); font: 800 13px var(--tzx-font); cursor: pointer; text-decoration: underline; }
.tzch-odds-form { display: grid; grid-template-columns: 1fr; gap: 5px 15px; }
@media (min-width: 720px) { .tzch-odds-form { grid-template-columns: 1fr 1fr; } }
.tzch-strip { display: flex; flex-direction: column; gap: 5px; width: 100%; margin: 0 0 10px; padding: 9px 10px; border-radius: 14px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); font-family: var(--tzx-font); text-align: left; cursor: pointer; }
.tzch-strip.is-failed { border-color: rgba(255, 96, 82, .5); } .tzch-strip.is-passed, .tzch-strip.is-funded { border-color: rgba(184, 245, 0, .5); }
.tzch-strip-top { display: flex; align-items: baseline; gap: 7px; }
.tzch-strip-top b { font: 800 13px var(--tzx-font); }
.tzch-strip-top em { font-style: normal; font: 700 11px var(--tzx-font); padding: 2px 6px; border-radius: 849px; background: rgba(255, 255, 255, .08); color: var(--tzx-ink2); }
.tzch-strip-top i { font-style: normal; margin-left: auto; font: 800 13px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzch-strip small { font-size: 12px; color: var(--tzx-ink3); }
#tzch-formguard { margin: 7px 0 10px; }
.tzq-skip { display: block; margin-top: 3px; font-size: 11.5px; color: var(--tzx-ink3); }
/* bigger hit area for the header session clock, same look */
#session-clock-wrap[role="button"] { position: relative; }
#session-clock-wrap[role="button"]::after { content: ''; position: absolute; inset: -8px -3px; }
/* My rules (119-rules.js) */
.tzrl-strip { display: flex; align-items: center; gap: 10px; margin: 10px 0; padding: 10px 12px; border-radius: 12px; background: var(--tzx-card, rgba(255,255,255,.04)); border: 1px solid var(--tzx-line, rgba(255,255,255,.08)); }
.tzrl-strip > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tzrl-strip b { font-size: 13px; }
.tzrl-strip small { font-size: 12px; color: var(--tzx-ink2); line-height: 1.4; }
.tzrl-strip button { flex: 0 0 auto; min-height: 31px; padding: 0 12px; border-radius: 9px; border: 1px solid var(--tzx-line, rgba(255,255,255,.12)); background: none; color: inherit; font-weight: 600; cursor: pointer; }
.tzrl-strip.is-stop { border-color: rgba(255, 96, 82, .45); background: rgba(255, 96, 82, .08); }
.tzrl-strip.is-off b { color: var(--tzx-ink); }
.tzrl-form { display: flex; flex-direction: column; gap: 7px; margin-top: 9px; }
.tzrl-row { display: flex; align-items: center; justify-content: space-between; gap: 9px; font-size: 13px; }
.tzrl-in { display: flex; align-items: center; gap: 5px; }
.tzrl-in input { width: 65px; min-height: 31px; padding: 0 9px; border-radius: 8px; border: 1px solid var(--tzx-line, rgba(255,255,255,.12)); background: var(--tzx-bg2, rgba(0,0,0,.25)); color: inherit; font: inherit; text-align: right; }
.tzrl-in small { width: 37px; font-size: 11.5px; color: var(--tzx-ink3); }
.tzrl-flags { margin-top: 3px; flex-wrap: wrap; }
.tzrl-guard.is-stop { border-color: rgba(255, 96, 82, .5); background: rgba(255, 96, 82, .08); }
.tzq-rule { margin-top: 5px; min-height: 27px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--tzx-line, rgba(255,255,255,.12)); background: none; color: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
#tzrl .tzs-table span { text-transform: none; }
/* Weekly review (120-review.js) */
.tzrv-gA, .tzrv-gB { --tzq-c: #b8f500; } .tzrv-gC { --tzq-c: #f2c94c; } .tzrv-gD { --tzq-c: #ff9f43; } .tzrv-gF { --tzq-c: #ff6052; }
.tzrv-nav { display: flex; justify-content: space-between; margin: 3px 0 9px; }
.tzrv-nav button { min-height: 29px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font-weight: 600; cursor: pointer; }
.tzrv-nav button:disabled { opacity: .35; cursor: default; }
.tzrv-hero { display: flex; gap: 12px; align-items: center; margin: 5px 0 10px; }
.tzrv-hero > div:last-child > b { font-size: 13px; }
.tzrv-hero p { margin: 3px 0 0; font-size: 12.5px; color: var(--tzx-ink2); line-height: 1.4; }
.tzrv-d { display: block; font-style: normal; font-size: 11px; margin-top: 2px; color: var(--tzx-ink3); }
.tzrv-parts { display: flex; flex-direction: column; gap: 7px; margin-bottom: 7px; }
.tzrv-parts > div { display: grid; grid-template-columns: minmax(0, 1.2fr) 1fr 34px; gap: 9px; align-items: center; font-size: 13px; }
.tzrv-parts i { height: 5px; border-radius: 3px; background: rgba(255,255,255,.07); overflow: hidden; }
.tzrv-parts u { display: block; height: 100%; border-radius: 3px; background: #b8f500; }
.tzrv-parts u.mid { background: #f2c94c; } .tzrv-parts u.bad { background: #ff6052; }
.tzrv-parts b { text-align: right; font-size: 12.5px; }
.tzrv-focus { margin: 12px 0 3px; padding: 12px; border-radius: 12px; border: 1px solid rgba(184, 245, 0, .3); background: rgba(184, 245, 0, .05); }
.tzrv-focus small { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzrv-focus p { margin: 5px 0 9px; font-size: 14px; line-height: 1.45; }
.tzrv-note { width: 100%; box-sizing: border-box; min-height: 68px; padding: 9px 10px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(0,0,0,.25); color: inherit; font: inherit; font-size: 14px; resize: vertical; }
#tzrv .tzs-table span { text-transform: none; }
/* Discover row on Home (121-discover.js) */
.tzx-disc { margin: 14px 14px 0; font-family: var(--tzx-font); }
.tzx-disc-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.tzx-disc-h span { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzx-disc-h button { min-width: 31px; min-height: 27px; border: 0; background: none; color: var(--tzx-ink3); font-size: 18px; cursor: pointer; }
.tzx-disc-row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(128px, 1fr); gap: 7px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.tzx-disc-row::-webkit-scrollbar { display: none; }
.tzx-disc-c { display: flex; flex-direction: column; gap: 3px; text-align: left; padding: 10px; border-radius: 12px; border: 1px solid var(--tzx-line); background: var(--tzx-card); color: inherit; cursor: pointer; font: inherit; }
.tzx-disc-c b { font-size: 13px; line-height: 1.3; }
.tzx-disc-c small { font-size: 11.5px; line-height: 1.35; color: var(--tzx-ink2); }
.tzx-disc-c:active { transform: scale(.98); }
.tzrl-more { display: block; margin-top: 7px; padding: 0; border: 0; background: none; color: var(--tzx-acc, #b8f500); font: inherit; font-size: 12.5px; font-weight: 600; text-align: left; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
/* Paper desk (122-paper.js) */
#tzp { font-family: var(--tzx-font); color: var(--tzx-ink); max-width: 760px; margin: 0 auto; padding: 5px 14px 20px; }
.tzp-mk { margin: 10px 0 9px; }
.tzp-card { margin: 9px 0; padding: 10px; border-radius: 14px; border: 1px solid var(--tzx-line); background: var(--tzx-card); }
.tzp-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; margin-bottom: 5px; }
.tzp-head small { display: block; font-size: 11.5px; color: var(--tzx-ink3); }
.tzp-head b { display: block; font-size: 15.5px; font-weight: 800; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.tzp-head em { font-style: normal; font-size: 12.5px; font-weight: 600; }
.tzp-feed { font-size: 11.5px; color: var(--tzx-ink2); white-space: nowrap; display: flex; align-items: center; gap: 5px; }
.tzp-dotl { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--tzx-ink3); }
.tzp-dotl.is-live { background: #b8f500; box-shadow: 0 0 0 3px rgba(184,245,0,.18); }
.tzp-dotl.is-down { background: #ff6052; }
.tzp-chart { position: relative; min-height: 230px; touch-action: pan-y; }
.tzp-chart svg { display: block; overflow: visible; }
.tzp-wait { height: 230px; display: grid; place-items: center; font-size: 13px; color: var(--tzx-ink3); }
.tzp-line { fill: none; stroke-width: 2; stroke-linejoin: round; }
.tzp-line.is-up { stroke: #b8f500; } .tzp-line.is-down { stroke: #ff6052; }
.tzp-zone-tp { fill: rgba(184,245,0,.08); } .tzp-zone-sl { fill: rgba(255, 96, 82,.09); }
.tzp-l-tp, .tzp-l-sl, .tzp-l-en, .tzp-l-px { stroke-width: 1.5; stroke-dasharray: 5 4; }
.tzp-l-tp { stroke: #b8f500; } .tzp-l-sl { stroke: #ff6052; } .tzp-l-en { stroke: rgba(255,255,255,.7); } .tzp-l-px { stroke: rgba(255,255,255,.25); stroke-dasharray: 2 3; }
.tzp-dot { fill: #fff; stroke: #0a0a0a; stroke-width: 2; }
/* the price tags on the right edge (they had no style, so they drew black on black) */
.tzp-l-tp-tag rect { fill: #b8f500; } .tzp-l-sl-tag rect { fill: #ff6052; } .tzp-l-en-tag rect { fill: rgba(255,255,255,.85); } .tzp-l-px-tag rect { fill: #f5f5f7; }
.tzp-l-tp-tag text, .tzp-l-sl-tag text, .tzp-l-en-tag text, .tzp-l-px-tag text { fill: #0a0a0b; font: 700 10px/1 var(--tzx-font, system-ui); }
.tzp-cross { stroke: rgba(255,255,255,.3); stroke-width: 1; }
.tzp-hdot { fill: #fff; }
.tzp-hit { fill: transparent; cursor: crosshair; }
.tzp-tip { position: absolute; top: 0; width: 102px; padding: 3px 7px; border-radius: 7px; background: rgba(20,20,22,.92); border: 1px solid var(--tzx-line); font-size: 11px; text-align: center; pointer-events: none; }
.tzp-rng { margin-top: 7px; }
.tzp-side { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 10px; }
.tzp-side button { min-height: 37px; border-radius: 10px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: inherit; font-weight: 700; font-size: 13px; cursor: pointer; }
.tzp-side button.on.is-up { background: rgba(184,245,0,.12); border-color: rgba(184,245,0,.6); color: #b8f500; }
.tzp-side button.on.is-down { background: rgba(255, 96, 82,.12); border-color: rgba(255, 96, 82,.6); color: #ff8070; }
.tzp-sl { display: block; margin: 9px 0; }
.tzp-sl span { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 5px; }
.tzp-sl input[type=range] { width: 100%; height: 24px; -webkit-appearance: none; appearance: none; background: none; }
.tzp-sl input[type=range]::-webkit-slider-runnable-track { height: 5px; border-radius: 3px; background: rgba(255,255,255,.08); }
.tzp-sl input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; margin-top: -8px; border-radius: 50%; border: 3px solid #0a0a0a; }
.tzp-sl input[type=range]::-moz-range-track { height: 5px; border-radius: 3px; background: rgba(255,255,255,.08); }
.tzp-sl input[type=range]::-moz-range-thumb { width: 15px; height: 15px; border-radius: 50%; border: 3px solid #0a0a0a; }
.tzp-sl.is-red b { color: #ff8070; } .tzp-sl.is-red input::-webkit-slider-thumb { background: #ff6052; } .tzp-sl.is-red input::-moz-range-thumb { background: #ff6052; }
.tzp-sl.is-green b { color: #b8f500; } .tzp-sl.is-green input::-webkit-slider-thumb { background: #b8f500; } .tzp-sl.is-green input::-moz-range-thumb { background: #b8f500; }
.tzp-row { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 9px 0; font-size: 13px; }
.tzp-why { align-items: flex-start; } .tzp-why > span { padding-top: 7px; }
.tzp-why .tzch-chips { justify-content: flex-end; flex-wrap: wrap; margin: 0; }
.tzp-line-txt { margin: 9px 0; font-size: 12.5px; line-height: 1.55; color: var(--tzx-ink2); }
.tzp-go { width: 100%; }
.tzp-go.is-short { background: #ff6052; color: #0a0a0a; }
.tzp-open { display: flex; flex-direction: column; gap: 7px; }
.tzp-pos { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; align-items: center; padding: 9px 10px; border-radius: 10px; border: 1px solid var(--tzx-line); background: var(--tzx-card); }
.tzp-pos small { display: block; font-size: 11.5px; color: var(--tzx-ink2); margin-top: 2px; }
.tzp-pos > span { font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.tzp-pos button { min-height: 29px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--tzx-line); background: none; color: inherit; font-weight: 600; cursor: pointer; }
#tzp .tzs-table span { text-transform: none; }
/* Exit coach (123-exits.js) */
.tzx-exit { display: flex; gap: 12px; align-items: center; margin: 7px 0 9px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: var(--tzx-card); }
.tzx-exit > b { font-size: 15.5px; font-weight: 800; white-space: nowrap; }
.tzx-exit p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--tzx-ink2); }
.tzx-exit.is-bad { border-color: rgba(255, 96, 82,.35); } .tzx-exit.is-good { border-color: rgba(184,245,0,.35); }
[data-exits] .tzs-table span { text-transform: none; }
/* Share cards (124-share.js) */
.tzsh-img { display: block; width: 100%; max-width: 420px; margin: 10px auto; border-radius: 15px; border: 1px solid var(--tzx-line); aspect-ratio: 4 / 5; background: #07080c; }
.tzsh-picks { margin-top: 9px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.tzsh-picks::-webkit-scrollbar { display: none; }
.tzsh-picks button { flex: 0 0 auto; }
.tzsh-picks small { color: #b8f500; font-weight: 700; }
/* Paper duels (125-duels.js) */
.tzdu-card { margin: 9px 0; padding: 12px; border-radius: 14px; border: 1px solid var(--tzx-line); background: var(--tzx-card); }
.tzdu-card.is-live { border-color: rgba(184,245,0,.4); background: linear-gradient(180deg, rgba(184,245,0,.07), var(--tzx-card)); }
.tzdu-card.is-done { border-color: rgba(255,255,255,.16); }
.tzdu-top { display: flex; justify-content: space-between; align-items: baseline; gap: 9px; }
.tzdu-top b { font-size: 13px; } .tzdu-top span { font-size: 12px; color: var(--tzx-ink2); white-space: nowrap; }
.tzdu-card p { margin: 5px 0 9px; font-size: 12.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzdu-row { display: flex; gap: 7px; }
.tzdu-row button { flex: 1; min-height: 34px; border-radius: 9px; border: 1px solid var(--tzx-line); background: none; color: inherit; font: inherit; font-weight: 700; font-size: 13px; cursor: pointer; }
.tzdu-row .tzt-go { border: 0; background: var(--tzx-acc); color: #050505; }   /* the main one stays lime over the plain row buttons */
.tzdu-code { margin: 3px 0 10px; font: 800 15.5px var(--tzx-font); letter-spacing: .3em; text-align: center; padding: 9px; border-radius: 10px; background: rgba(0,0,0,.3); }
.tzdu-bar { display: grid; grid-template-columns: 65px 1fr 54px; gap: 9px; align-items: center; margin: 9px 0; font-size: 13px; }
.tzdu-bar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--tzx-ink2); } .tzdu-bar.is-me span { color: var(--tzx-ink); font-weight: 700; }
.tzdu-bar i { height: 9px; border-radius: 4px; background: rgba(255,255,255,.07); overflow: hidden; }
.tzdu-bar u { display: block; height: 100%; border-radius: 4px; } .tzdu-bar u.up { background: #b8f500; } .tzdu-bar u.down { background: #ff6052; }
.tzdu-bar b { text-align: right; }
.tzdu-rules { margin: 9px 0; padding-left: 15px; font-size: 13.5px; line-height: 1.6; color: var(--tzx-ink2); }
/* Manual: your own charts (127-manual.js) */
.tzmd { font-family: var(--tzx-font); }
.tzmd-mkt { margin: 9px 0 5px; }
.tzmd-f { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.tzmd-f span { font-size: 11px; font-weight: 600; color: var(--tzx-ink2); }
.tzmd-f input { width: 100%; min-width: 0; box-sizing: border-box; min-height: 36px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(0,0,0,.25); color: var(--tzx-ink); font: 600 13px var(--tzx-font); }
.tzmd-f input:focus { outline: none; border-color: var(--tzx-acc); }
.tzmd-mkt input { text-transform: uppercase; }
.tzmd-more { display: flex; align-items: center; gap: 9px; margin: 7px 0 10px; }
.tzmd-more i { flex: none; width: 46px; height: 3px; border-radius: 2px; background: rgba(255,255,255,.1); overflow: hidden; position: relative; }
.tzmd-more i::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--p, 0%); background: var(--tzx-acc); border-radius: 2px; transition: width .4s ease; }
.tzmd-more small { font-size: 12px; color: var(--tzx-ink2); }
.tzmd-slot { margin: 7px 0; padding: 10px; border-radius: 14px; border: 1px solid var(--tzx-line); background: var(--tzx-card); }
.tzmd-slot.is-ok { border-color: rgba(var(--acc-rgb, 184, 245, 0), .28); }
.tzmd-sh { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; }
.tzmd-sh b { font-size: 13px; } .tzmd-sh small { font-size: 11px; color: var(--tzx-ink3); }
.tzmd-x { margin-left: auto; width: 26px; height: 26px; border-radius: 8px; border: 0; background: none; color: var(--tzx-ink3); font-size: 14px; cursor: pointer; }
.tzmd-addimg { display: flex; align-items: center; gap: 7px; width: 100%; min-height: 37px; padding: 0 12px; border-radius: 10px; border: 1px dashed rgba(255,255,255,.2); background: none; color: var(--tzx-ink); font: 600 13px var(--tzx-font); cursor: pointer; }
.tzmd-addimg span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 7px; background: rgba(var(--acc-rgb, 184, 245, 0), .14); color: var(--tzx-acc); font-size: 14.5px; line-height: 1; }
.tzmd-reading { display: flex; align-items: center; gap: 9px; min-height: 37px; font-size: 13px; color: var(--tzx-ink2); }
.tzmd-reading i { width: 15px; height: 15px; border-radius: 50%; border: 2px solid rgba(var(--acc-rgb, 184, 245, 0), .25); border-top-color: var(--tzx-acc); animation: tzmd-spin .8s linear infinite; }
@keyframes tzmd-spin { to { transform: rotate(360deg); } }
.tzmd-view { border-radius: 10px; overflow: hidden; background: #000; }
.tzmd-view canvas { display: block; width: 100%; height: auto; max-width: none; }
.tzmd-view.is-draw { outline: 2px solid #57c7ff; outline-offset: -2px; }
.tzmd-view.is-draw canvas { touch-action: none; cursor: crosshair; }
.tzmd-read, .tzmd-okl, .tzmd-bad, .tzmd-warn, .tzmd-lines, .tzmd-hint2 { margin: 7px 0 0; font-size: 12.5px; line-height: 1.45; }
.tzmd-read { color: var(--tzx-ink2); } .tzmd-read b { color: var(--tzx-ink); }
.tzmd-okl { color: var(--tzx-acc); font-weight: 600; }
.tzmd-bad { color: #ff8070; } .tzmd-warn { color: #ffc861; }
.tzmd-lines { color: #9fdcff; } .tzmd-hint2 { color: var(--tzx-ink3); }
.tzmd-askh { margin: 10px 0 5px; font-size: 12px; font-weight: 600; color: var(--tzx-ink2); }
.tzmd-asks { display: grid; gap: 7px; }
.tzmd-q { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 7px; align-items: center; }
.tzmd-q img { justify-self: start; max-width: 100%; border-radius: 7px; border: 1px solid var(--tzx-line); background: #fff; image-rendering: auto; }
.tzmd-q input { width: 100%; min-width: 0; box-sizing: border-box; min-height: 36px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(0,0,0,.25); color: var(--tzx-ink); font: 600 13px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzmd-q input:focus { outline: none; border-color: var(--tzx-acc); }
.tzmd-link { display: inline-block; margin-top: 7px; padding: 0; min-height: 26px; border: 0; background: none; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tzmd-hint2.is-pick { color: #9fdcff; font-weight: 600; }
.tzmd-view.is-pick { outline: 2px dashed #57c7ff; outline-offset: -2px; } .tzmd-view.is-pick canvas { cursor: pointer; }
.tzmd-view.is-trace { outline: 2px solid #ffb020; outline-offset: -2px; } .tzmd-view.is-trace canvas { touch-action: none; cursor: crosshair; }
.tzmd-q1 { margin: 9px 0 0; font-size: 13px; font-weight: 700; }
.tzmd-qt { justify-self: start; font-size: 12.5px; font-weight: 600; color: var(--tzx-ink2); }
.tzmd-slot .tzmd-seg { margin-top: 7px; }
.tzmd-acts { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 9px; }
.tzmd-acts button, .tzmd-addtf button { min-height: 29px; padding: 0 10px; border-radius: 84px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzmd-acts button.on { border-color: #57c7ff; color: #9fdcff; }
.tzmd-addtf { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; margin: 10px 0 3px; }
.tzmd-addtf span { font-size: 12px; color: var(--tzx-ink3); margin-right: 2px; }
.tzmd-csv { margin: 12px 0 3px; }
.tzmd-csv button { border: 0; background: none; padding: 0; min-height: 27px; color: var(--tzx-ink); font: 600 13px var(--tzx-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tzmd-csv small { display: block; font-size: 11.5px; color: var(--tzx-ink3); }
.tzmd-grab { margin: 9px 0 3px; }
.tzmd-grab summary { cursor: pointer; min-height: 27px; display: flex; align-items: center; color: var(--tzx-ink); font: 600 13px var(--tzx-font); text-decoration: underline; text-underline-offset: 3px; }
.tzmd-grab p, .tzmd-grab small { display: block; margin: 7px 0; font-size: 12px; line-height: 1.45; color: var(--tzx-ink3); }
.tzmd-bm { display: inline-block; margin-right: 7px; padding: 8px 12px; border-radius: 10px; background: var(--tzx-acc); color: #0b0d0a; font: 700 13px var(--tzx-font); text-decoration: none; cursor: grab; }
.tzmd-grab button { min-height: 29px; padding: 0 10px; border-radius: 84px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzmd-csvok { display: flex; align-items: center; gap: 10px; }
.tzmd-csvok p { margin: 0; } .tzmd-csvok b { display: block; font-size: 13px; } .tzmd-csvok small { font-size: 11.5px; color: var(--tzx-ink3); }
.tzmd-spark { flex: none; width: 102px; height: 31px; } .tzmd-spark path { fill: none; stroke: #b8f500; stroke-width: 1.6; }
.tzmd-main { display: flex; align-items: center; gap: 9px; margin: 12px 0 3px; font-size: 12px; color: var(--tzx-ink2); }
.tzmd-seg { display: flex; gap: 3px; flex-wrap: wrap; }
.tzmd-seg button { min-height: 27px; padding: 0 10px; border-radius: 84px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzmd-seg button.on { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .12); color: var(--tzx-ink); }
.tzmd-ready { margin: 12px 0 3px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzmd-ready.is-on { color: var(--tzx-acc); font-weight: 600; }
/* Wait: one small rounded square: its edge loads, a pen draws inside (135-wait.js) */
.tzl { position: fixed; inset: 0; z-index: 9600; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 17px; font-family: var(--tzx-font); color: var(--tzx-ink);
  background: rgba(4, 6, 3, .55); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.tzl.is-on { display: flex; animation: tzl-fade .2s ease both; }
.tzl.is-out { opacity: 0; transition: opacity .24s ease; }
.tzl-pill { position: relative; width: 109px; height: 109px; border-radius: 32px; background: rgba(12, 15, 9, .94);
  box-shadow: 0 16px 44px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .05); animation: tzl-pop .3s cubic-bezier(.2, .9, .3, 1) both; }
.tzl-art { position: absolute; inset: 0; width: 100%; height: 100%; }
/* look: 'slime' (the analyses): the T logo instead of the pen and the edge line (161-slime.js) */
.tzl-slime { position: absolute; inset: 0; display: none; }
.tzl.is-slime .tzl-slime { display: block; }
.tzl.is-slime .tzl-art { display: none; }
.tzl-slow { max-width: 240px; text-align: center; font-size: 12.5px; color: var(--tzx-ink2); }
.tzl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@keyframes tzl-fade { from { opacity: 0; } }
@keyframes tzl-pop { from { opacity: 0; transform: scale(.94); } }
@media (prefers-reduced-motion: reduce) { .tzl.is-on, .tzl-pill { animation: none; } }
/* Today's markets on Home (128-markets.js) */
#tzmk { margin: 3px 0 15px; font-family: var(--tzx-font); }
.tzmk-h { display: flex; flex-direction: column; gap: 2px; margin: 0 2px 9px; }
.tzmk-h b { font: 800 14.5px var(--tzx-font); letter-spacing: -.01em; }
.tzmk-h span { font-size: 12px; color: var(--tzx-ink3); }
.tzmk-h .tzmk-ht { display: flex; align-items: center; gap: 7px; font-size: inherit; color: inherit; }
.tzmk-help { width: 17px; height: 17px; min-width: 17px; min-height: 17px; flex: none; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: none; color: var(--tzx-ink3); font: 800 11px var(--tzx-font); cursor: pointer; padding: 0; }
.tzmk-bonus { font-style: normal; font-size: 11px; font-weight: 800; padding: 2px 7px; border-radius: 84px; background: linear-gradient(135deg, #ffd166, #f59e0b); color: #1a1000; vertical-align: 2px; margin-left: 3px; }
.tzmk-vote.is-winning button.on { box-shadow: 0 0 0 3px rgba(184,245,0,.28); }
.tzmk-vote.is-losing button.on { opacity: .72; }
.tzmk-rules { list-style: none; margin: 7px 0 3px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.tzmk-rules li { display: flex; gap: 10px; align-items: flex-start; }
.tzmk-rules b { flex: 0 0 36px; height: 26px; display: grid; place-items: center; border-radius: 9px; background: rgba(255,255,255,.06); font: 800 13px var(--tzx-font); }
.tzmk-rules span { font-size: 14px; line-height: 1.5; color: var(--tzx-ink2); }
.tzmk-ok, .tzmk-no { font-style: normal; font-size: 10.5px; font-weight: 800; padding: 1px 5px; border-radius: 84px; }
.tzmk-ok { background: rgba(184,245,0,.2); color: #d4ff5a; } .tzmk-no { background: rgba(255, 96, 82,.2); color: #ff9a9a; }
.tzmk-vote { flex: none; display: flex; gap: 5px; }
.tzmk-vote button { width: 34px; height: 34px; border-radius: 10px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: var(--tzx-ink2); font-size: 13px; cursor: pointer; }
.tzmk-vote button[data-v="1"].on { background: #b8f500; color: #0a0a0a; border-color: #b8f500; }
.tzmk-vote button[data-v="-1"].on { background: #ff6052; color: #0a0a0a; border-color: #ff6052; }
.tzmk-vote button:active { transform: scale(.94); }
.tzmk-hint { display: block; margin: 5px 3px 0; font-size: 11px; color: var(--tzx-ink3); }
.tzmk-chart { display: block; width: 100%; height: auto; margin: 5px 0 2px; } .tzmk-chart path { fill: none; stroke-width: 2; stroke: #b8f500; stroke-linejoin: round; } .tzmk-chart.is-down path { stroke: #ff6052; }
.tzmk-cap { display: block; font-size: 11px; color: var(--tzx-ink3); margin-bottom: 7px; }
.tzmk-sec { margin: 9px 0; } .tzmk-sec b { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--tzx-ink3); } .tzmk-sec p { margin: 3px 0 0; font-size: 14.5px; line-height: 1.55; }
.tzmk-callrow { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.tzmk-callrow button { min-height: 41px; border-radius: 12px; border: 1px solid var(--tzx-line); background: none; color: inherit; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzmk-callrow button[data-rv="1"].on { background: #b8f500; color: #0a0a0a; border-color: #b8f500; } .tzmk-callrow button[data-rv="-1"].on { background: #ff6052; color: #0a0a0a; border-color: #ff6052; }
.tzm-cup { filter: drop-shadow(0 4px 10px rgba(0,0,0,.45)); }
/* League promotion (103-missions.js) */
.tzm-promo-box { position: relative; text-align: center; padding-top: 19px; }
.tzm-promo-box .tzrep-actions { justify-content: center; }
.tzm-promo-box .tzrep-x { position: absolute; right: 12px; top: 12px; }
.tzm-promo-cup { display: flex; justify-content: center; margin: 5px 0 9px; animation: tzm-cup-in .8s cubic-bezier(.2,1.4,.4,1) both; }
.tzm-promo-box small { font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--tzx-acc); }
.tzm-promo-box h2 { margin: 3px 0 5px; font: 900 18px var(--tzx-font); }
.tzm-promo-box p { margin: 0 auto 12px; max-width: 320px; font-size: 14px; line-height: 1.5; color: var(--tzx-ink2); }
@keyframes tzm-cup-in { from { transform: scale(.4) rotate(-12deg); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .tzm-promo-cup { animation: none; } }
/* Park feel: weather on the blocks, weekend hangout, time-of-day light (128-markets.js) */
#tz-snap .tzx-hero { position: relative; }
#tz-snap .tzx-hero::before { content: ''; position: absolute; left: -14px; right: -14px; top: -34px; height: 320px; z-index: -1; pointer-events: none; opacity: .55; transition: background 2s; }
body[data-park="asia"] #tz-snap .tzx-hero::before { background: radial-gradient(120% 70% at 80% 0%, rgba(70, 90, 200, .28), transparent 70%); }
body[data-park="london"] #tz-snap .tzx-hero::before { background: radial-gradient(120% 70% at 20% 0%, rgba(255, 150, 110, .22), transparent 70%); }
body[data-park="ny"] #tz-snap .tzx-hero::before { background: radial-gradient(120% 70% at 50% 0%, rgba(120, 220, 200, .18), transparent 70%); }
body[data-park="dusk"] #tz-snap .tzx-hero::before { background: radial-gradient(120% 70% at 70% 0%, rgba(170, 100, 220, .22), transparent 70%); }
body[data-park="moon"] #tz-snap .tzx-hero::before { background: radial-gradient(90% 60% at 85% 0%, rgba(210, 225, 255, .16), transparent 70%); }


/* ── Delete my account (87-account.js) ─────────────────────────────── */
.tzx-del { margin-top: 15px; padding-top: 10px; border-top: 1px solid var(--tzx-line, rgba(255,255,255,.08)); }
.tzx-del .tzx-del-btn { color: #ff6f5e; }
.tzx-del small { display: block; margin-top: 5px; font-size: 12px; line-height: 1.4; color: var(--tzx-ink3, #888); }
.tzx-legal { margin: 12px 0 0; font-size: 12.5px; color: var(--tzx-ink3, #888); }
.tzx-legal a, .v19-popup-legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* ── Community: the Tradzy channel (131-community.js) ─────────────────── */
#tzc { max-width: 680px; margin: 0 auto; padding: 3px 10px 20px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin: 3px 2px 12px; }
.tzc-head h2 { margin: 0; font: 800 15px/1.2 var(--tzx-font); letter-spacing: -.02em; }
.tzc-head p { margin: 3px 0 0; font-size: 13.5px; color: var(--tzx-ink3); }
.tzc-new { flex: none; min-height: 34px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzc-empty { padding: 24px 14px; border-radius: 14px; background: var(--tzx-card); text-align: center; color: var(--tzx-ink3); font-size: 14px; }
.tzc-post { position: relative; margin: 0 0 10px; padding: 12px 14px 10px; border-radius: 15px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tzc-post.is-pinned { border-color: rgba(var(--acc-rgb, 184, 245, 0), .35); }
.tzc-meta { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--tzx-ink3); }
.tzc-meta time { margin-left: auto; }
.tzc-kind { display: inline-block; padding: 2px 7px; border-radius: 84px; background: rgba(255, 255, 255, .07); color: var(--tzx-ink2); font-weight: 700; font-size: 11.5px; letter-spacing: .02em; }
.is-giveaway .tzc-kind { background: rgba(var(--acc-rgb, 184, 245, 0), .16); color: var(--tzx-acc); }
.is-notice .tzc-kind { background: rgba(255, 180, 74, .16); color: #ffb44a; }
.is-partner .tzc-kind { background: rgba(143, 211, 255, .16); color: #8fd3ff; }
.tzc-pin { font-weight: 700; color: var(--tzx-acc); }
.tzc-post h3 { margin: 7px 0 3px; font: 800 14.5px/1.3 var(--tzx-font); }
.tzc-post p { margin: 0 0 7px; font-size: 14.5px; line-height: 1.5; color: var(--tzx-ink2); overflow-wrap: anywhere; }
.tzc-gift { display: flex; align-items: center; gap: 10px; margin: 9px 0 5px; padding: 9px 10px; border-radius: 12px; background: rgba(var(--acc-rgb, 184, 245, 0), .08); border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .3); }
.tzc-gift span { flex: 1; display: flex; flex-direction: column; font-size: 12.5px; color: var(--tzx-ink3); }
.tzc-gift b { font-size: 13px; color: var(--tzx-ink); }
.tzc-gift button { flex: none; min-height: 32px; padding: 0 15px; border: 0; border-radius: 9px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzc-gift button:disabled { opacity: .6; }
.tzc-link { display: inline-block; margin: 3px 0 2px; font-weight: 700; font-size: 13px; color: var(--tzx-acc); text-decoration: none; }
.tzc-by { margin-top: 5px; font-size: 12px; color: var(--tzx-ink3); }
.tzc-tools { display: flex; gap: 7px; margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--tzx-line); }
.tzc-tools button { min-height: 27px; padding: 0 10px; border: 1px solid var(--tzx-line); border-radius: 8px; background: none; color: var(--tzx-ink2); font: 600 13px var(--tzx-font); cursor: pointer; }
#tzc-strip { display: flex; align-items: center; gap: 7px; width: 100%; margin: 9px 0 0; padding: 9px 10px; border: 1px solid var(--tzx-line); border-radius: 12px; background: var(--tzx-card); color: var(--tzx-ink); font: 600 13px var(--tzx-font); text-align: left; cursor: pointer; }
#tzc-strip b { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#tzc-strip i { font-style: normal; color: var(--tzx-ink3); font-size: 18px; }
#tzc-sheet { position: fixed; inset: 0; z-index: 100270; display: flex; align-items: flex-end; justify-content: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzc-sheet[hidden] { display: none; }
@media (min-width: 761px) { #tzc-sheet { align-items: center; padding: 14px; } }
.tzc-form { text-align: left !important; }
.tzc-form h2 { margin: 0 0 10px; font: 800 15px var(--tzx-font); }
.tzc-form label { display: flex; flex-direction: column; gap: 4px; margin: 0 0 9px; font-size: 12.5px; font-weight: 600; color: var(--tzx-ink3); flex: 1; min-width: 0; }
.tzc-form input, .tzc-form select, .tzc-form textarea { width: 100%; box-sizing: border-box; padding: 9px 10px; border-radius: 9px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 500 13px var(--tzx-font); }
.tzc-form textarea { resize: vertical; min-height: 94px; }
.tzc-form .tzc-check { flex-direction: row; align-items: center; gap: 7px; }
.tzc-form .tzc-check input { width: auto; }
.tzc-form fieldset { margin: 3px 0 10px; padding: 9px 10px 0; border: 1px solid var(--tzx-line); border-radius: 10px; }
.tzc-form legend { padding: 0 5px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzc-row { display: flex; gap: 9px; flex-wrap: wrap; }
.tzc-hide { flex: none; min-height: 44px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 14px; background: none; color: var(--tzx-ink2); font: 700 14px var(--tzx-font); cursor: pointer; }

/* ── Exchange sync (132-sync.js) ───────────────────────────────────────── */
.tzsy-box { width: min(560px, 100%); }
.tzsy-soon { display: flex; justify-content: center; padding: 24px 0; }
.tzsy-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin: 14px 0 5px; }
.tzsy-grid button { height: 46px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 800 13px var(--tzx-font); cursor: pointer; }
.tzsy-grid button:hover { border-color: var(--tzx-acc); color: var(--tzx-acc); }
.tzsy-h { margin: 15px 0 0; font: 700 11px var(--tzx-font); letter-spacing: .14em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzsy-links { display: flex; flex-direction: column; gap: 7px; margin-top: 12px; }
.tzsy-link { padding: 10px 12px; border: 1px solid var(--tzx-line); border-radius: 12px; background: rgba(255, 255, 255, .03); }
.tzsy-link.is-bad { border-color: rgba(255, 111, 94, .45); }
.tzsy-l1 { display: flex; justify-content: space-between; gap: 7px; align-items: baseline; }
.tzsy-l1 b { font: 800 13px var(--tzx-font); }
.tzsy-l1 span { font-size: 12px; color: var(--tzx-ink3); font-variant-numeric: tabular-nums; }
.tzsy-l2 { margin-top: 2px; font-size: 12.5px; color: var(--tzx-ink2); }
.tzsy-link.is-bad .tzsy-l2 { color: #ff8a8a; }
.tzsy-l3 { display: flex; gap: 5px; margin-top: 9px; }
.tzsy-l3 button { padding: 7px 10px; border-radius: 9px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzsy-l3 button[data-off] { color: var(--tzx-ink3); }
.tzsy-safe { margin: 10px 0 0; font-size: 12.5px; color: var(--tzx-ink3); line-height: 1.5; }
.tzsy-safe b { color: var(--tzx-acc); }
.tzsy-note { margin: 14px 0 3px; font-size: 14px; color: var(--tzx-ink2); }
.tzsy-back { margin: 10px 0 0; padding: 0; border: 0; background: none; color: var(--tzx-ink3); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzsy-name { margin: 5px 0 9px; font: 900 15px var(--tzx-font); }
.tzsy-how { margin: 0 0 10px; padding: 9px 10px; border-radius: 10px; background: rgba(184, 245, 0, .06); border: 1px solid rgba(184, 245, 0, .2); font-size: 13px; }
.tzsy-how summary { cursor: pointer; font-weight: 800; color: var(--tzx-acc); }
.tzsy-how p { margin: 7px 0 0; color: var(--tzx-ink2); line-height: 1.5; }
.tzsy-f { display: flex; flex-direction: column; gap: 4px; margin: 0 0 9px; }
.tzsy-f span { font: 700 12px var(--tzx-font); color: var(--tzx-ink3); }
.tzsy-f input, .tzsy-f select { height: 39px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 600 13px var(--tzx-font); }
.tzsy-f input:focus, .tzsy-f select:focus { outline: none; border-color: var(--tzx-acc); }
.tzsy-confirm { display: flex; gap: 9px; align-items: flex-start; margin: 3px 0 5px; font-size: 13px; color: var(--tzx-ink2); line-height: 1.45; }
.tzsy-confirm input { margin-top: 2px; width: 15px; height: 15px; accent-color: var(--tzx-acc); }
.tzsy-err { font-size: 13px; color: #ff6f5e; }
.tzsy-err:empty { display: none; }
.tzsy-done { padding: 17px 0 3px; text-align: center; }
.tzsy-done > b { display: block; font-size: 40px; color: var(--tzx-acc); line-height: 1; }
.tzsy-done h3 { margin: 9px 0 3px; font: 900 15px var(--tzx-font); }
.tzsy-done p { margin: 0; color: var(--tzx-ink2); font-size: 14px; }
.tzsy-done .tzrep-actions { justify-content: center; }
.tzsy-grid .tzsy-other { grid-column: 1 / -1; border-style: dashed; color: var(--tzx-acc); }
.tzsy-list { display: flex; flex-direction: column; gap: 5px; max-height: 46vh; overflow-y: auto; margin: 3px 0 5px; padding-right: 2px; }
.tzsy-dest { margin-top: 3px; font-size: 12px; color: var(--tzx-ink3); }
.tzsy-warn { margin: 7px 0 9px; padding: 8px 10px; border-radius: 10px; background: rgba(255, 184, 77, .08); border: 1px solid rgba(255, 184, 77, .35); color: #ffcf85; font-size: 12.5px; line-height: 1.45; }
.tzsy-link .tzsy-warn { margin: 7px 0 0; }
.tzsy-grid button.is-warn { border-color: rgba(255, 184, 77, .45); }
.tzsy-grid button.is-warn::after { content: " ⚠"; color: #ffb84d; }
.tzsy-list button { flex: 0 0 auto; height: 39px; padding: 0 12px; text-align: left; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzsy-list button:hover { border-color: var(--tzx-acc); color: var(--tzx-acc); }
.tzt-sync-cta { display: block; margin: 9px auto 0; padding: 7px 10px; border: 0; background: none; color: var(--tzx-acc); font: 700 13px var(--tzx-font); cursor: pointer; }

/* ── League orbs (133-leagues.js, canvas; the painter animates the live ones) and the trophy road on Missions ── */
.tzlo { display: inline-block; vertical-align: middle; flex: none; }
.tzm-road { display: flex; align-items: center; gap: 14px; padding: 14px 15px; border-radius: 19px; border: 1px solid color-mix(in srgb, var(--lg) 40%, transparent);
  background: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--lg) 22%, transparent), rgba(255, 255, 255, .02) 60%); }
.tzm-road-t { flex: 1; min-width: 0; }
.tzm-road-t h2 { margin: 2px 0 2px; font: 900 15px var(--tzx-font); color: var(--tzx-ink); }
.tzm-road-t p { margin: 0 0 7px; font-size: 13px; color: var(--tzx-ink3); }
.tzm-road-t p b { color: var(--tzx-ink); }
.tzm-road .tzm-lg-bar i { background: var(--lg); }
.tzm-life { display: block; margin-top: 5px; font-size: 12px; color: var(--tzx-ink3); }
.tzm-ladder ul.tzm-orbs100 { grid-template-columns: repeat(5, 1fr); max-height: 420px; overflow-y: auto; }
.tzm-orbs100 li { padding: 7px 2px; }
.tzm-orbs100 li b { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.tzm-orbs100 li small { font-size: 10px; }
.tzm-orbs100 li.is-off { opacity: .7; }
.tzm-orbs100 li.is-now { border-color: var(--tzx-acc); background: rgba(var(--acc-rgb, 184, 245, 0), .08); }
.tzm-promo-cup .tzlo { filter: drop-shadow(0 8px 30px rgba(0, 0, 0, .5)); }

/* Appearance, as a settings row (71-theme.js) */

/* ── The one badge: XP ring round it (103-missions.js ring()), Home card, badge sheet, division and season boards ── */
.tzr { position: relative; display: inline-grid; place-items: center; width: var(--sz); height: var(--sz); flex: none; }
.tzr > * { grid-area: 1 / 1; }
.tzr > .tzlo { position: relative; z-index: 1; }
.tzr-ring { width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.tzr-ring circle { fill: none; stroke-width: 5; }
.tzr-bg { stroke: rgba(255, 255, 255, .09); }
.tzr-fg { stroke: var(--tzx-acc); stroke-linecap: round; filter: drop-shadow(0 0 4px rgba(184, 245, 0, .55)); transition: stroke-dashoffset .6s ease; }
.tzr-lv { position: absolute; z-index: 2; left: 50%; bottom: -4px; transform: translateX(-50%); padding: 2px 6px; border-radius: 84px; background: #0b0c0e; border: 1px solid rgba(184, 245, 0, .55); font: 800 10.5px var(--tzx-font); color: var(--tzx-acc); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tzr.is-big .tzr-ring circle { stroke-width: 3.5; }
.tzr.is-big .tzr-lv { font-size: 13px; padding: 3px 9px; bottom: -2px; }

#tzm-home { display: flex; align-items: stretch; gap: 7px; width: 100%; margin: 0 0 10px; font-family: var(--tzx-font); color: var(--tzx-ink); --row: 88px; }
/* the badge: a round island, its ring filling as you climb the division */
.tzmh-island { flex: none; width: var(--row); height: var(--row); display: grid; place-items: center; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid color-mix(in srgb, var(--lg, #b8f500) 40%, transparent);
  background: radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--lg, #b8f500) 26%, transparent), rgba(255, 255, 255, .02) 70%);
  box-shadow: 0 12px 30px -16px color-mix(in srgb, var(--lg, #b8f500) 70%, transparent); transition: transform .2s; }
.tzmh-island .tzr-lv { bottom: -6px; font-size: 10px; padding: 1px 5px; }
.tzmh-island:active, .tzmh-cup:active, .tzm-road-badge:active { transform: scale(.96); }
/* the trophy: a smooth square with the cup and your rank */
.tzmh-cup { flex: none; width: var(--row); height: var(--row); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 3px; border-radius: 19px; cursor: pointer; color: inherit; font: inherit;
  border: 1px solid rgba(255, 216, 77, .34); background: linear-gradient(160deg, rgba(255, 216, 77, .18), rgba(255, 255, 255, .02) 70%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06); transition: transform .2s; }
.tzmh-cup .tzm-cup { filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .5)); animation: tzm-cup-float 3.2s ease-in-out infinite; }
.tzmh-cup small { font: 900 12px var(--tzx-font); color: #ffe27a; font-variant-numeric: tabular-nums; }
/* the middle: the calling bar and its dropdown */
/* The box is back (owner, 2026-10-04: "keep it back as before, just rearrange the price: it
   starts at the box's left edge and ends at the trophy pill's edge"). The market's line runs the
   box edge to edge (its fill fading to nothing); the title and caption keep their padding. */
.tzmh-mid { flex: 1; min-width: 0; height: var(--row); border-radius: 19px; overflow: hidden; border: 1px solid rgba(184, 245, 0, .3);
  background: linear-gradient(135deg, rgba(184, 245, 0, .11), rgba(255, 255, 255, .02) 70%); transition: border-color .25s; }
.tzmh-mid.is-weekend { border-color: rgba(255, 209, 102, .45); background: linear-gradient(135deg, rgba(255, 209, 102, .14), rgba(255, 255, 255, .02) 70%); }
.tzmh-mid.is-done { border-color: var(--tzx-line); background: rgba(255, 255, 255, .03); }
.tzmh-mid:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
@keyframes tzmk-bar-in { from { opacity: 0; transform: translateY(8px); } }
/* the four tiles drop down under the row; compact (hidden) by default */
#tzmk.is-closed { display: none; }
#tzmk:not(.is-closed) { animation: tzmk-drop .35s cubic-bezier(.2, .9, .3, 1) both; }
@keyframes tzmk-drop { from { opacity: 0; transform: translateY(-10px); } }
@media (max-width: 370px) { #tzm-home { --row: 78px; gap: 5px; } }
@media (prefers-reduced-motion: reduce) { .tzmh-cup .tzm-cup, #tzmk:not(.is-closed) { animation: none; } }

/* the trophy road: the leaderboards button, end-of-day missions, achievements */
.tzm-row.is-end > i { border-style: dashed; color: var(--tzx-ink2); font-size: 11px; }
.tzm-row.is-end u { text-decoration: none; grid-column: 1 / -1; font-size: 11.5px; font-weight: 700; }
.tzm-row.is-end u.is-on { color: var(--tzx-acc); } .tzm-row.is-end u.is-off { color: #ff8a7a; }
.tzm-row.is-missed > span b { color: var(--tzx-ink3); }
.tzm-ach ul.tzm-orbs100 { display: grid; }

/* Leaderboards: the sheet, its tabs and lists */
.tzlb-box { position: relative; max-height: min(88vh, 820px); overflow-y: auto; padding-top: 15px;
  background-image: radial-gradient(120% 50% at 50% 0%, rgba(255, 216, 77, .16), transparent 70%); }
.tzlb-box .tzrep-x { position: absolute; right: 12px; top: 12px; }
.tzlb-top { display: flex; align-items: center; gap: 10px; margin: 0 34px 10px 0; }
.tzlb-top h2 { margin: 0; font: 900 15px var(--tzx-font); } .tzlb-top p { margin: 2px 0 0; font-size: 12.5px; color: var(--tzx-ink3); }
.tzlb-top .tzm-cup { animation: tzm-cup-float 3.2s ease-in-out infinite; }
.tzlb-tabs { position: sticky; top: -15px; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; padding: 3px; margin: 0 0 10px; border-radius: 12px; background: var(--tzx-bg, #0b0c0e); border: 1px solid var(--tzx-line); }
.tzlb-tabs button { min-height: 31px; padding: 0 3px; border: 0; border-radius: 9px; background: none; color: var(--tzx-ink3); font: 800 12px var(--tzx-font); cursor: pointer; white-space: nowrap; }
.tzlb-tabs button.on { background: rgba(255, 216, 77, .16); color: #ffe27a; }
.tzlb-lead { margin: 0 2px 9px; font-size: 12.5px; line-height: 1.5; color: var(--tzx-ink3); }
.tzlb-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.tzlb-list li { display: flex; align-items: center; gap: 7px; padding: 7px 9px; border-radius: 10px; font-size: 13.5px; background: rgba(255, 255, 255, .025); }
.tzlb-list li b { width: 22px; text-align: right; font: 800 13px var(--tzx-font); color: var(--tzx-ink3); font-variant-numeric: tabular-nums; }
.tzlb-list li span { flex: 1; min-width: 0; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzlb-list li span small { display: block; color: var(--tzx-ink3); font-weight: 600; font-size: 11.5px; }
.tzlb-list li strong { min-width: 60px; text-align: right; font: 800 13px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzlb-list li strong small { display: block; font-size: 10px; color: var(--tzx-ink3); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.tzlb-list li.is-me { background: rgba(var(--acc-rgb, 184, 245, 0), .1); border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .35); }
.tzlb-list .tzm-gap { justify-content: center; background: none; color: var(--tzx-ink3); padding: 0; }
.tzlb-body .tzm-pips { margin-bottom: 10px; }
@media (prefers-reduced-motion: reduce) { .tzlb-top .tzm-cup { animation: none; } }

.tzm-road-badge { flex: none; padding: 0 0 3px; border: 0; background: none; cursor: pointer; border-radius: 50%; }
@media (max-width: 380px) { .tzm-road { gap: 9px; padding: 12px 10px; } .tzm-road-t h2 { font-size: 15px; } }
.tzm-pips { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px; margin: 3px 0 9px; }
.tzm-pips i { font-style: normal; text-align: center; padding: 3px 0; border-radius: 6px; font: 800 10px var(--tzx-font); color: var(--tzx-ink3); background: rgba(255, 255, 255, .04); border: 1px solid transparent; }
.tzm-pips i.is-past { color: #0b0c0e; background: color-mix(in srgb, var(--lg) 75%, transparent); }
.tzm-pips i.is-now { color: var(--tzx-ink); border-color: var(--lg); background: color-mix(in srgb, var(--lg) 22%, transparent); box-shadow: 0 0 12px -2px var(--lg); }

.tzm-badge-box { position: relative; text-align: center; padding-top: 20px; background-image: radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--lg) 26%, transparent), transparent 70%); }
.tzm-badge-box .tzrep-x { position: absolute; right: 12px; top: 12px; }
.tzm-badge-hero { display: flex; justify-content: center; margin: 3px 0 10px; animation: tzm-cup-in .7s cubic-bezier(.2, 1.4, .4, 1) both; }
.tzm-badge-box h2 { margin: 3px 0 2px; font: 900 16.5px var(--tzx-font); }
.tzm-badge-sub { margin: 0 0 10px; font-size: 13px; color: var(--tzx-ink3); }
.tzm-badge-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 10px 0; }
.tzm-badge-stats span { display: flex; flex-direction: column; gap: 2px; padding: 9px 3px; border-radius: 12px; background: rgba(255, 255, 255, .04); min-width: 0; }
.tzm-badge-stats b { font: 900 14.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzm-badge-stats small { font-size: 11px; color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzm-badge-list { list-style: none; margin: 0 0 10px; padding: 0; text-align: left; border: 1px solid var(--tzx-line); border-radius: 12px; }
.tzm-badge-list li { display: flex; align-items: center; gap: 9px; padding: 9px 10px; font-size: 13.5px; color: var(--tzx-ink2); }
.tzm-badge-list li + li { border-top: 1px solid var(--tzx-line); }
.tzm-badge-list li span { flex: 1; }
.tzm-badge-list li b { font: 800 13px var(--tzx-font); color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzm-badge-box .tzrep-actions { justify-content: center; }
@media (prefers-reduced-motion: reduce) { .tzm-badge-hero { animation: none; } }

.tzm-podium { display: grid; grid-template-columns: 1fr 1.15fr 1fr; align-items: end; gap: 7px; margin: 5px 0 10px; }
.tzm-pod { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; text-align: center; }
.tzm-pod > b { max-width: 100%; font: 800 13px var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzm-pod > small { font: 700 11.5px var(--tzx-font); color: var(--tzx-ink3); font-variant-numeric: tabular-nums; }
.tzm-pod.is-me > b { color: var(--tzx-acc); }
.tzm-pod-base { width: 100%; margin-top: 5px; border-radius: 10px 10px 3px 3px; display: grid; place-items: center; }
.tzm-pod-base i { font-style: normal; font: 900 18px var(--tzx-font); color: rgba(0, 0, 0, .5); }
.tzm-pod.is-p1 .tzm-pod-base { height: 53px; background: linear-gradient(180deg, #ffe27a, #b98511); box-shadow: 0 12px 30px -12px rgba(255, 200, 60, .75); }
.tzm-pod.is-p2 .tzm-pod-base { height: 37px; background: linear-gradient(180deg, #f1f4f8, #8c98a5); }
.tzm-pod.is-p3 .tzm-pod-base { height: 27px; background: linear-gradient(180deg, #f5b77e, #8a4a1c); }
.tzm-pod.is-empty .tzm-pod-base { opacity: .22; }
.tzm-cup { display: block; filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .45)); }
.tzm-pod.is-p1 .tzm-cup { animation: tzm-cup-float 3.2s ease-in-out infinite; }
.tzm-cup-spark { transform-box: fill-box; transform-origin: center; animation: tzm-spark 2.8s ease-in-out infinite; opacity: 0; }
.tzm-pod.is-p2 .tzm-cup-spark { animation-delay: .9s; } .tzm-pod.is-p3 .tzm-cup-spark { animation-delay: 1.7s; }
@keyframes tzm-cup-float { 50% { transform: translateY(-4px); } }
@keyframes tzm-spark { 0%, 55%, 100% { opacity: 0; transform: scale(.3) rotate(0deg); } 72% { opacity: 1; transform: scale(1) rotate(45deg); } }
@media (prefers-reduced-motion: reduce) { .tzm-pod .tzm-cup, .tzm-cup-spark { animation: none; } .tzm-cup-spark { opacity: .8; } }

/* "Log a trade" says it costs nothing (index.html #local-log-btn) */

/* ── Predict today: four tiles, the prediction bar, the crowd's tube (128-markets.js) ── */
.tzmk-h .tzmk-ht { width: 100%; }
.tzmk-count { margin-left: auto; font-style: normal; font: 800 12px var(--tzx-font); color: var(--tzx-ink3); padding: 3px 8px; border-radius: 84px; background: rgba(255, 255, 255, .05); font-variant-numeric: tabular-nums; }

/* the tube: the crowd's green against its red, a spark where they meet */

/* a tile opened up: full rows with the month's line */

/* ── Predict today, round 3: thin tubes, charts in the tiles, the island, folding back (128-markets.js) ── */
/* the tube: two thin lines meeting, green against red; 50/50 before anyone calls */
.tzmk-tube { display: flex; gap: 3px; height: 3px; margin-top: 5px; }
.tzmk-tube i { display: block; height: 100%; border-radius: 84px; transition: flex-basis .8s cubic-bezier(.2, .9, .3, 1); }
.tzmk-tube i:first-child { flex: 0 0 calc(var(--up) - 1.5px); background: #b8f500; }
.tzmk-tube i:last-child { flex: 1 1 auto; background: #ff6052; }
.tzmk-tube.is-empty i { opacity: .55; }
.tzmk-tube-l { display: flex; gap: 9px; margin-top: 4px; font: 700 11px var(--tzx-font); color: var(--tzx-ink3); }
.tzmk-tube-l .up { color: #b8f500; } .tzmk-tube-l .dn { color: #ff8070; } .tzmk-tube-l span { margin-left: auto; }
.tzmk-crowd { margin-top: 12px; } .tzmk-crowd > small { font: 700 11px var(--tzx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzmk-crowd .tzmk-tube { height: 3px; }

/* the island: Home's middle, one market at a time */
.tzmh-mid { display: block; padding: 0; text-align: left; color: var(--tzx-ink); font: inherit; cursor: pointer; }
.tzmh-mid:active { transform: scale(.98); }
.tzmh-mid.is-open { border-color: rgba(184, 245, 0, .6); box-shadow: 0 0 0 3px rgba(184, 245, 0, .1); }
.tzmh-mid.is-open .tzmk-isl-f small { color: var(--tzx-acc); }
.tzmh-mid.is-weekend:not(.is-open) .tzmk-isl-f small { color: #e8c46a; }
.tzmh-mid.is-caught { animation: tzmk-catch .5s cubic-bezier(.2, 1.4, .4, 1); }
@keyframes tzmk-catch { 40% { transform: scale(1.04); box-shadow: 0 0 0 4px rgba(184, 245, 0, .25); } }
.tzmk-isl { --c: 150, 160, 175; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 8px 10px 7px; }
.tzmk-isl.m-up { --c: 184, 245, 0; } .tzmk-isl.m-dn { --c: 255, 96, 82; }
.tzmk-isl.is-in > * { animation: tzmk-bar-in .45s cubic-bezier(.2, .9, .3, 1) both; }
.tzmk-isl-t { display: flex; align-items: baseline; gap: 5px; min-width: 0; }
.tzmk-isl-t b { font: 900 13px var(--tzx-font); color: var(--tzx-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzmk-isl-t em { margin-left: auto; font-style: normal; font: 800 13px var(--tzx-font); color: rgb(var(--c)); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tzmk-isl-s { display: block; flex: 1; min-height: 24px; margin: 5px -10px 4px; width: calc(100% + 20px); max-width: none; align-self: flex-start; }   /* edge to edge: cancels the row's side padding */
.tzmk-isl-s svg { display: block; width: 100%; height: 100%; overflow: visible; }
.tzmk-isl-f { display: flex; align-items: center; gap: 5px; }
.tzmk-isl-f small { flex: 1; min-width: 0; font: 700 11px var(--tzx-font); color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzmk-isl-f i { font-style: normal; font: 800 11px var(--tzx-font); color: var(--tzx-ink2); font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .tzmh-mid.is-caught, .tzmk-isl.is-in > * { animation: none; } }

/* Home's ends: the badge big with a whisper of a ring; the cup small with your count */
.tzr.is-subtle .tzr-ring circle { stroke-width: 2.4; }
.tzr.is-subtle .tzr-bg { stroke: rgba(255, 255, 255, .05); }
.tzr.is-subtle .tzr-fg { stroke: rgba(184, 245, 0, .42); filter: none; }
.tzmh-cup b { font: 900 14.5px var(--tzx-font); color: #ffe27a; font-variant-numeric: tabular-nums; line-height: 1.1; }
.tzmh-cup small { font: 700 9.5px var(--tzx-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tzx-ink3); }

/* the streak, on the trophy road (97-today.js card()) */
.tzd-card { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 9px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--tzx-line); background: var(--tzx-card); color: var(--tzx-ink); font-family: var(--tzx-font); text-align: left; cursor: pointer; }
.tzd-card.is-done { border-color: rgba(255, 138, 31, .3); background: linear-gradient(135deg, rgba(255, 138, 31, .1), rgba(255, 255, 255, .02) 70%); }
.tzd-card .tzd-s-mid small { font-size: 11.5px; color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzd-card > i { font-style: normal; font-size: 20px; color: var(--tzx-ink3); }
.tzd-card:active { transform: scale(.99); }

/* ── Predict to Rank Up: one long list under the row (128-markets.js) ── */
.tzmk-list { display: flex; flex-direction: column; border-radius: 15px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .025); overflow: hidden; }
#tzmk.is-weekend .tzmk-list { border-color: rgba(255, 209, 102, .35); }
.tzmk-li { --c: 150, 160, 175; display: flex; align-items: center; gap: 5px; padding: 0 9px 0 0; overflow: hidden;
  transition: height .4s cubic-bezier(.4, 0, .2, 1), opacity .3s, transform .4s cubic-bezier(.4, 0, .2, 1); }
.tzmk-li + .tzmk-li { border-top: 1px solid var(--tzx-line); }
.tzmk-li.m-up { --c: 184, 245, 0; } .tzmk-li.m-dn { --c: 255, 96, 82; }
.tzmk-li.is-folding { height: 0 !important; opacity: 0; transform: translateY(-24px) scale(.94); border-top-width: 0; }
.tzmk-li-m { flex: 1; min-width: 0; min-height: 0; display: flex; align-items: center; gap: 9px; padding: 10px 5px 10px 12px; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; font-family: var(--tzx-font); }
.tzmk-li-m:active { background: rgba(255, 255, 255, .04); }
.tzmk-li-id { flex: 0 0 71px; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.tzmk-li-id b { font: 800 13px var(--tzx-font); letter-spacing: .02em; display: flex; align-items: center; gap: 4px; color: rgb(var(--c)); white-space: nowrap; }
.tzmk-li-id small { font-size: 11.5px; color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzmk-li-s { flex: 1; min-width: 31px; height: 26px; }
.tzmk-li-s svg { display: block; width: 100%; height: 100%; }
.tzmk-li-q { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 1px; min-width: 61px; }
.tzmk-li-q b { font: 800 13px var(--tzx-font); color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzmk-li-q small { font: 700 12px var(--tzx-font); color: rgb(var(--c)); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tzmk-li .tzmk-vote button { width: 34px; height: 34px; min-height: 34px; }
@media (max-width: 380px) { .tzmk-li-id { flex-basis: 60px; } .tzmk-li .tzmk-vote button { width: 31px; height: 31px; min-height: 31px; } .tzmk-li-q { min-width: 54px; } .tzmk-li-m { gap: 7px; padding-left: 10px; } }
@media (prefers-reduced-motion: reduce) { .tzmk-li, .tzmk-tube i { transition: none; } }

.tzmk-li-s svg, .tzmk-isl-s svg { color: rgb(var(--c)); }
.tzmk-li-s .l, .tzmk-isl-s .l { fill: none; stroke: rgb(var(--c)); stroke-width: 1.6; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }
.tzmk-isl-s .l { stroke-width: 2; }
.tzmk-li-s .a, .tzmk-isl-s .a { stroke: none; }   /* fill: the fading gradient spark() gives each chart */

/* Home's badge: no ring, no plate; it glows, turns, breathes and shines (103-missions.js homeCard) */
#tzm-home .tzmh-island { position: relative; border: 0; background: none; box-shadow: none; overflow: visible; }
.tzmh-badge { display: grid; place-items: center; width: 100%; height: 100%; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--lg, #c98a5a) 70%, transparent));
  animation: tzmh-glow 2.6s ease-in-out infinite; transform-style: preserve-3d; }
/* sized from the row, never squeezed by the global img/canvas max-width (it stretched the badge) */
.tzmh-badge .tzlo { max-width: none; width: calc(var(--row) * 1.3) !important; height: calc(var(--row) * 1.3) !important; margin: calc(var(--row) * -.15); }
/* the turn: a league badge turns once, 1.5 s, every 22-38 s at random (133-leagues.js schedules it: about twice a
   minute, never in step; owner 2026-10-07). It used to be a 30 s loop, the same beat every time. */
.tzlo.tz-turn { animation: tzlo-turn 1.5s cubic-bezier(.45, 0, .2, 1) 1; }
@keyframes tzlo-turn { 0% { transform: perspective(300px) rotateY(0deg) scale(1); } 50% { transform: perspective(300px) rotateY(180deg) scale(1.06); } 100% { transform: perspective(300px) rotateY(360deg) scale(1); } }
@media (prefers-reduced-motion: reduce) { .tzlo.tz-turn { animation: none; } }
@keyframes tzmh-glow {
  0%, 100% { filter: drop-shadow(0 0 8px color-mix(in srgb, var(--lg, #c98a5a) 55%, transparent)) brightness(1); }
  50% { filter: drop-shadow(0 0 18px color-mix(in srgb, var(--lg, #c98a5a) 90%, transparent)) brightness(1.18); } }
@media (prefers-reduced-motion: reduce) { .tzmh-badge { animation: none; } }
/* the island: title and caption keep their padding inside the box; the line between them
   runs edge to edge (.tzmk-isl-s cancels the side padding) */
.tzmk-isl { padding: 6px 10px 5px; }
.tzmk-isl-f small { font-size: 11px; }

/* ── Start: the first minute (138-start.js) ───────────────────────────── */
#tzo { position: fixed; inset: 0; z-index: 100450; display: flex; justify-content: center; overflow: hidden; color: var(--tzx-ink); font-family: var(--tzx-font);
  background: radial-gradient(120% 70% at 50% -10%, rgba(184, 245, 0, .09), transparent 60%), #050605; }
#tzo[hidden] { display: none; }
html.tzo-open body { overflow: hidden; }
.tzo-box { display: flex; flex-direction: column; width: min(520px, 100%); height: 100%; padding: calc(10px + env(safe-area-inset-top, 0px)) 15px calc(14px + env(safe-area-inset-bottom, 0px)); }
.tzo-top { flex: none; display: flex; align-items: center; gap: 10px; height: 37px; }
.tzo-top.is-bare .tzo-bar { visibility: hidden; }
.tzo-back { flex: none; display: grid; place-items: center; width: 31px; height: 31px; border: 0; border-radius: 10px; background: none; color: var(--tzx-ink2); cursor: pointer; }
.tzo-back[hidden] { display: grid; visibility: hidden; }
.tzo-back svg, .tzo-ic svg, .tzo-tick svg, .tzo-st i svg { stroke: currentColor; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.tzo-back svg { width: 20px; height: 20px; stroke-width: 2.4; }
/* the three-step checklist (138-start.js): what's left to a first read; the old progress bar stays in the DOM, hidden */
.tzo-steps { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.tzo-steps[hidden] { display: flex; visibility: hidden; }
.tzo-st { display: flex; align-items: center; gap: 6px; min-width: 0; font: 700 12.5px var(--tzx-font); color: var(--tzx-ink3); white-space: nowrap; }
.tzo-st + .tzo-st::before { content: ''; width: 12px; height: 2px; margin-right: 2px; border-radius: 2px; background: rgba(255, 255, 255, .12); }
.tzo-st i { flex: none; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; font: 800 11px var(--tzx-font); font-style: normal; background: rgba(255, 255, 255, .08); color: var(--tzx-ink2); }
.tzo-st i svg { width: 11px; height: 11px; stroke-width: 3.4; }
.tzo-st b { font-weight: 700; display: none; }
.tzo-st.is-on { color: var(--tzx-ink); }
.tzo-st.is-on b { display: inline; }
.tzo-st.is-on i { background: var(--tzx-acc); color: #0a0d05; }
.tzo-st.is-done i { background: rgba(var(--acc-rgb, 184, 245, 0), .2); color: var(--tzx-acc); }
.tzo-st.is-done + .tzo-st.is-on::before, .tzo-st.is-done + .tzo-st::before { background: rgba(var(--acc-rgb, 184, 245, 0), .5); }
.tzo-bar { display: none; flex: 1; height: 12px; border-radius: 84px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.tzo-bar i { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--tzx-acc); transition: width .5s cubic-bezier(.3, 1.3, .5, 1); }
.tzo-bar i::after { content: ""; display: block; height: 3px; margin: 3px 7px 0; border-radius: 84px; background: rgba(255, 255, 255, .38); }
.tzo-skip { flex: none; min-width: 31px; padding: 7px 2px; border: 0; background: none; color: var(--tzx-ink3); font: 700 14px var(--tzx-font); cursor: pointer; }
.tzo-skip[hidden] { display: block; visibility: hidden; }
.tzo-body { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; padding: 15px 2px 5px; scrollbar-width: none; }
.tzo-body::-webkit-scrollbar { display: none; }
.tzo-body.is-in { animation: tzoIn .34s cubic-bezier(.2, .8, .2, 1); }
.tzo-body.is-back { animation: tzoBack .34s cubic-bezier(.2, .8, .2, 1); }
@keyframes tzoIn { from { opacity: 0; transform: translateX(22px); } }
@keyframes tzoBack { from { opacity: 0; transform: translateX(-22px); } }
.tzo-foot { flex: none; padding-top: 10px; }

/* the guide: the pen in its square, and what it says */
.tzo-q { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 17px; }
.tzo-guide { flex: none; display: grid; place-items: center; width: 70px; height: 70px; border-radius: 21px; background: #0c0f09;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .45), inset 0 0 0 2px rgba(184, 245, 0, .38); animation: tzoBob 3.6s ease-in-out infinite; }
.tzo-guide canvas { width: 56px; height: 56px; }
@keyframes tzoBob { 50% { transform: translateY(-3px) rotate(-1.5deg); } }
.tzo-say { position: relative; flex: 1; min-width: 0; padding: 10px 13px 11px; border-radius: 15px; border: 2px solid rgba(255, 255, 255, .1); background: #0b0d0a; }
.tzo-say::before { content: ""; position: absolute; left: -7px; bottom: 19px; width: 11px; height: 11px; background: #0b0d0a;
  border-left: 2px solid rgba(255, 255, 255, .1); border-bottom: 2px solid rgba(255, 255, 255, .1); transform: rotate(45deg); }
.tzo-say b { display: block; font: 800 15px/1.18 var(--tzx-font); letter-spacing: -.02em; }
.tzo-say span { display: block; margin-top: 4px; min-height: 1.4em; font-size: 14.5px; line-height: 1.4; color: var(--tzx-ink2); }
.tzo-say span.is-react { color: var(--tzx-acc); font-weight: 600; animation: tzoPop .32s cubic-bezier(.3, 1.5, .5, 1); }
@keyframes tzoPop { from { opacity: 0; transform: translateY(4px) scale(.97); } }

/* answers: chunky, pressable, like keys */
.tzo-opts { display: grid; gap: 9px; }
.tzo-opts.is-grid { grid-template-columns: 1fr 1fr; }
.tzo-opt, .tzo-pick { position: relative; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 53px; padding: 9px 12px; border-radius: 15px;
  border: 2px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .025); box-shadow: 0 3px 0 rgba(255, 255, 255, .08);
  color: var(--tzx-ink); font-family: var(--tzx-font); text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: transform .08s ease, box-shadow .08s ease, border-color .15s ease, background .15s ease; }
.tzo-opt:active, .tzo-pick:active { transform: translateY(3px); box-shadow: 0 0 0 rgba(255, 255, 255, .08); }
.tzo-opt:focus-visible, .tzo-pick:focus-visible { outline: 2px solid var(--tzx-ink); outline-offset: 2px; }
.tzo-opt.on { border-color: var(--tzx-acc); background: rgba(184, 245, 0, .09); box-shadow: 0 3px 0 rgba(184, 245, 0, .55); }
.tzo-ic { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); font-style: normal; transition: background .15s, color .15s; }
.tzo-ic svg { width: 19px; height: 19px; stroke-width: 1.9; }
.tzo-opt.on .tzo-ic { background: rgba(184, 245, 0, .16); color: var(--tzx-acc); }
.tzo-cc { font: 800 13px var(--tzx-font); letter-spacing: .04em; color: var(--tzx-ink); }
.tzo-opt > span, .tzo-pick > span { flex: 1; min-width: 0; }
.tzo-opt b, .tzo-pick b { display: block; font: 700 13px/1.22 var(--tzx-font); }
.tzo-opt small, .tzo-pick small { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.3; color: var(--tzx-ink3); }
.tzo-tick { flex: none; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .16); color: transparent; transition: background .15s, border-color .15s, color .15s; }
.tzo-tick.is-multi { border-radius: 7px; }
.tzo-tick svg { width: 12px; height: 12px; stroke-width: 3.2; }
.tzo-opt.on .tzo-tick { background: var(--tzx-acc); border-color: var(--tzx-acc); color: #050505; animation: tzoTick .28s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes tzoTick { from { transform: scale(.4); } }
.tzo-opts.is-grid .tzo-opt { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 9px; min-height: 95px; padding: 11px 11px 10px; }
.tzo-opts.is-grid .tzo-tick { position: absolute; top: 9px; right: 9px; }
.tzo-more { display: grid; gap: 9px; }
.tzo-more[hidden] { display: none; }
.tzo-link { display: block; margin: 10px auto 0; padding: 7px 9px; border: 0; background: none; color: var(--tzx-ink2); font: 700 14.5px var(--tzx-font); cursor: pointer; }
.tzo-pick em { flex: none; font: 800 13px var(--tzx-font); font-style: normal; color: var(--tzx-acc); }

/* the big button, pressable too */
.tzo-go, .tzo-alt { display: block; width: 100%; height: 46px; border-radius: 14px; font: 800 14px var(--tzx-font); letter-spacing: .01em; cursor: pointer;
  transition: transform .08s ease, box-shadow .08s ease, background .2s, color .2s; -webkit-tap-highlight-color: transparent; }
.tzo-go { border: 0; background: var(--tzx-acc); color: #050505; box-shadow: 0 4px 0 #6d9200; }
.tzo-go:active { transform: translateY(4px); box-shadow: 0 0 0 #6d9200; }
.tzo-go:disabled { background: rgba(255, 255, 255, .08); color: var(--tzx-ink3); box-shadow: 0 4px 0 rgba(255, 255, 255, .04); cursor: default; transform: none; }
.tzo-alt { margin-top: 10px; border: 2px solid rgba(255, 255, 255, .12); background: none; color: var(--tzx-ink); box-shadow: 0 4px 0 rgba(255, 255, 255, .08); }
.tzo-alt:active { transform: translateY(4px); box-shadow: none; }
.tzo-go:focus-visible, .tzo-alt:focus-visible { outline: 2px solid var(--tzx-ink); outline-offset: 3px; }

/* hello */
.tzo-hello { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding-bottom: 7px; }
.tzo-hero-pen { display: grid; place-items: center; width: 128px; height: 128px; border-radius: 37px; background: #0c0f09;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .55), 0 0 60px rgba(184, 245, 0, .12), inset 0 0 0 3px rgba(184, 245, 0, .5); animation: tzoFloat 4.2s ease-in-out infinite; }
.tzo-hero-pen canvas { width: 100px; height: 100px; }
.tzo-hero-logo { width: 120px; height: 120px; display: grid; place-items: center; }
.tzo-hero-logo svg { width: 100%; height: 100%; display: block; }
.tzo-hero-pen.is-small { width: 104px; height: 104px; border-radius: 31px; }
.tzo-hero-pen.is-small canvas { width: 82px; height: 82px; }
@keyframes tzoFloat { 50% { transform: translateY(-7px); } }
#tzo .tzo-word { margin-top: 22px; font: 800 13px var(--tzx-font); letter-spacing: .34em !important; color: var(--tzx-acc); }
.tzo-hello h1 { margin: 9px 0 0; font: 800 21.5px/1.04 var(--tzx-font); letter-spacing: -.035em; }
.tzo-hello p { max-width: 330px; margin: 10px 0 0; font-size: 16px; line-height: 1.45; color: var(--tzx-ink2); }
.tzo-kinds { width: calc(100% + 36px); margin: 22px -15px 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); }
.tzo-kinds div { display: flex; gap: 7px; width: max-content; animation: tzoSlide 26s linear infinite; }
.tzo-kinds span, .tzo-intro span { flex: none; padding: 6px 11px; border-radius: 84px; border: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .03); font: 600 13px var(--tzx-font); color: var(--tzx-ink2); }
@keyframes tzoSlide { to { transform: translateX(-50%); } }
.tzo-intro { display: flex; flex-wrap: wrap; gap: 7px; }
.tzo-intro span { animation: tzoPop .4s cubic-bezier(.3, 1.5, .5, 1) both; }

@media (min-width: 760px) {
  .tzo-box { height: auto; max-height: calc(100dvh - 48px); margin: auto; border-radius: 24px; border: 1px solid rgba(255, 255, 255, .08); background: rgba(8, 10, 7, .9); padding: 15px 22px 20px; }
  .tzo-body { min-height: 470px; }
}
@media (prefers-reduced-motion: reduce) {
  .tzo-body.is-in, .tzo-body.is-back, .tzo-guide, .tzo-hero-pen, .tzo-kinds div, .tzo-mock div, .tzo-intro span, .tzo-say span.is-react, .tzo-opt.on .tzo-tick, .tzo-chk li.is-on i { animation: none; }
  .tzo-kinds div { flex-wrap: wrap; width: auto; justify-content: center; }
}

/* ── Home tiles (139-home.js) ─────────────────────────────────────────── */
.tzh { margin: 17px 0 5px; }
#tz-snap.has-read .tzh { margin-top: 22px; }
.tzh-h { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 0 2px 10px; }
.tzh-h b { font: 700 13px var(--tzx-font); color: var(--tzx-ink); }
.tzh.is-edit .tzh-h b { font-size: 13px; font-weight: 600; color: var(--tzx-ink2); }
.tzh-edit { flex: none; padding: 6px 11px; border: 0; border-radius: 84px; background: rgba(255, 255, 255, .07); color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzh.is-edit .tzh-edit { background: var(--tzx-acc); color: #050505; }
.tzh-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(61px, 1fr)); gap: 14px 5px; }
.tzh-t { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; min-width: 0; padding: 0; border: 0; background: none;
  color: var(--tzx-ink); font-family: var(--tzx-font); cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.tzh-ic { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 16px; color: var(--tzx-acc);
  background: linear-gradient(160deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .025)); border: 1px solid rgba(255, 255, 255, .075);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .28); transition: transform .12s ease, border-color .15s ease; }
.tzh-ic svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzh-t:active .tzh-ic { transform: scale(.93); }
.tzh-t:focus-visible { outline: none; }
.tzh-t:focus-visible .tzh-ic { outline: 2px solid var(--tzx-ink); outline-offset: 2px; }
.tzh-n { max-width: 100%; font-size: 12px; font-weight: 600; line-height: 1.2; text-align: center; }
.tzh-v { margin-top: -3px; font-size: 10.5px; font-weight: 600; color: var(--tzx-ink3); white-space: nowrap; }
.tzh.is-edit .tzh-grid .tzh-t[data-k] { animation: tzhWig .3s ease-in-out infinite alternate; touch-action: none; cursor: grab; }
.tzh.is-edit .tzh-grid .tzh-t[data-k]:nth-child(2n) { animation-delay: -.15s; animation-direction: alternate-reverse; }
@keyframes tzhWig { from { transform: rotate(-1.8deg); } to { transform: rotate(1.8deg); } }
.tzh-t.is-drag { z-index: 5; animation: none !important; cursor: grabbing; transition: none; }
.tzh-t.is-drag .tzh-ic { border-color: var(--tzx-acc); box-shadow: 0 18px 36px rgba(0, 0, 0, .55); }
.tzh-x { position: absolute; top: -6px; left: calc(50% - 38px); display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%;
  background: #45483f; border: 2px solid #0a0b09; color: #fff; font-style: normal; cursor: pointer; }
.tzh-x svg { width: 10px; height: 10px; stroke: currentColor; stroke-width: 3; fill: none; stroke-linecap: round; }
.tzh-add .tzh-ic { background: none; border: 2px dashed rgba(255, 255, 255, .2); box-shadow: none; color: var(--tzx-ink2); }
.tzh-foot { display: flex; flex-wrap: wrap; justify-content: center; gap: 3px 15px; margin-top: 14px; }
.tzh-reset { padding: 5px 2px; border: 0; background: none; color: var(--tzx-ink3); font: 600 13px var(--tzx-font); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
/* every other tool at a glance: chips that wrap, nothing hidden off the edge */
#tzh .tzh-row { display: flex; flex-wrap: wrap; gap: 7px; }
.tzh-c { flex: none; display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 12px 0 5px; border-radius: 84px; border: 1px solid var(--tzx-line);
  background: rgba(255, 255, 255, .03); color: var(--tzx-ink); font: 600 13px var(--tzx-font); white-space: nowrap; cursor: pointer; }
.tzh-c .tzh-ic { width: 24px; height: 24px; border-radius: 50%; border: 0; box-shadow: none; background: rgba(255, 255, 255, .07); }
.tzh-c .tzh-ic svg { width: 13px; height: 13px; stroke-width: 2; }
.tzh-sheet { position: fixed; inset: 0; z-index: 100300; display: flex; align-items: flex-end; justify-content: center; background: rgba(0, 0, 0, 0); transition: background .22s ease; }
.tzh-sheet.is-on { background: rgba(0, 0, 0, .58); }
.tzh-sheet-box { width: min(520px, 100%); max-height: 80dvh; overflow-y: auto; padding: 14px 14px calc(14px + env(safe-area-inset-bottom, 0px)); border-radius: 20px 20px 0 0;
  border: 1px solid var(--tzx-line); background: #0d0f0b; transform: translateY(100%); transition: transform .24s cubic-bezier(.2, .9, .3, 1); }
.tzh-sheet.is-on .tzh-sheet-box { transform: none; }
.tzh-sheet-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.tzh-sheet-h b { font: 800 15.5px var(--tzx-font); }
.tzh-sheet-h button { width: 29px; height: 29px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .07); color: var(--tzx-ink); font-size: 20px; cursor: pointer; }
.tzh-opt { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 3px; border: 0; border-bottom: 1px solid var(--tzx-line); background: none;
  color: var(--tzx-ink); font-family: var(--tzx-font); text-align: left; cursor: pointer; }
.tzh-opt:last-child { border-bottom: 0; }
.tzh-opt .tzh-ic { flex: none; width: 37px; height: 37px; border-radius: 12px; box-shadow: none; }
.tzh-opt .tzh-ic svg { width: 19px; height: 19px; }
.tzh-opt > span:not(.tzh-ic) { flex: 1; min-width: 0; }
.tzh-opt b { display: block; font-size: 13px; font-weight: 700; }
.tzh-opt small { display: block; margin-top: 1px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzh-opt > i { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(184, 245, 0, .14); color: var(--tzx-acc); }
.tzh-opt > i svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2.4; fill: none; stroke-linecap: round; }
@media (min-width: 760px) { .tzh-sheet { align-items: center; } .tzh-sheet-box { border-radius: 20px; } }
@media (prefers-reduced-motion: reduce) { .tzh.is-edit .tzh-grid .tzh-t[data-k] { animation: none; } .tzh-sheet-box { transition: none; } }

/* ── Journal: portfolio, positions, options (140-journal.js) ──────────── */
#tab-log.tzj-on-hold #tzt-journal, #tab-log.tzj-on-lev #tzt-journal, #tab-log.tzj-on-opt #tzt-journal { display: none; }
#tab-log #tzt-journal .tzt-add { display: none; }
#tzj { margin: 2px 0 12px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzj-bar { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.tzj-pills { flex: 1; min-width: 0; display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; }
.tzj-pills::-webkit-scrollbar { display: none; }
.tzj-pills button { flex: none; display: inline-flex; align-items: center; gap: 5px; height: 31px; padding: 0 10px; border-radius: 84px; border: 1px solid var(--tzx-line);
  background: rgba(255, 255, 255, .03); color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzj-pills button.is-on { background: var(--tzx-ink); border-color: var(--tzx-ink); color: #050505; }
.tzj-pills i { min-width: 15px; height: 15px; padding: 0 4px; border-radius: 84px; background: rgba(184, 245, 0, .18); color: var(--tzx-acc); font: 800 11px/15.5px var(--tzx-font); font-style: normal; text-align: center; }
.tzj-pills button.is-on i { background: rgba(0, 0, 0, .12); color: #050505; }
.tzj-fab { position: fixed; z-index: 60; bottom: calc(var(--tzx-bar, 0px) + 10px); left: calc(var(--tzx-rail, 0px) + 14px); right: 14px; margin: 0 auto; max-width: 560px;
  display: flex; align-items: center; justify-content: center; gap: 7px; height: 44px; border: 0; border-radius: 14px; background: var(--tzx-acc); color: #050505;
  font: 800 13.5px var(--tzx-font); cursor: pointer; box-shadow: 0 4px 0 #6d9200, 0 14px 30px rgba(0, 0, 0, .45); transition: transform .08s, box-shadow .08s; }
.tzj-fab svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 2.8; fill: none; stroke-linecap: round; }
.tzj-fab:active { transform: translateY(4px); box-shadow: 0 0 0 #6d9200, 0 8px 20px rgba(0, 0, 0, .45); }
body:not([data-tzx-screen="journal"]) .tzj-fab, .tzj-fab[hidden], .tzj-sheet ~ .tzj-fab { display: none; }
#tzj { padding-bottom: 65px; }
#tab-log.tzj-on-trades #tzj { padding-bottom: 0; }
#tab-log.tzj-on-trades #tzt-journal { padding-bottom: 65px; }

.tzj-sum { padding: 14px 14px 12px; border-radius: 17px; border: 1px solid var(--tzx-line); background: linear-gradient(160deg, rgba(184, 245, 0, .07), rgba(255, 255, 255, .02)); margin-bottom: 9px; }
.tzj-sum small { display: block; font-size: 12.5px; font-weight: 600; color: var(--tzx-ink3); }
.tzj-sum b { display: block; margin-top: 3px; font: 800 18px/1.1 var(--tzx-font); letter-spacing: -.02em; }
.tzj-sum > span { display: block; margin-top: 5px; font-size: 13px; font-weight: 700; }
.tzj-sum em { display: block; margin-top: 5px; font-size: 12.5px; font-style: normal; color: var(--tzx-ink2); }
.tzj-sum em i { font-style: normal; font-weight: 700; }
.tzj-asof { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin: 0 2px 7px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzj-asof button { border: 0; background: none; color: var(--tzx-acc); font: 700 13px var(--tzx-font); cursor: pointer; padding: 5px 2px; }
.tzj-asof button:disabled { color: var(--tzx-ink3); cursor: default; }
.tzj-list { display: grid; gap: 7px; }
.tzj-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 11px 12px; border-radius: 14px; border: 1px solid var(--tzx-line);
  background: rgba(255, 255, 255, .025); color: var(--tzx-ink); font-family: var(--tzx-font); text-align: left; cursor: pointer; transition: background .15s, border-color .15s; }
.tzj-row:hover { border-color: rgba(255, 255, 255, .16); }
.tzj-row:active { background: rgba(255, 255, 255, .05); }
.tzj-l, .tzj-r { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.tzj-r { align-items: flex-end; text-align: right; flex: none; max-width: 48%; }
.tzj-l b, .tzj-r b { font: 700 13px/1.2 var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzj-l b em { font-style: normal; font-size: 10.5px; font-weight: 700; padding: 1px 5px; border-radius: 84px; background: rgba(184, 245, 0, .14); color: var(--tzx-acc); vertical-align: 2px; }
.tzj-l small, .tzj-r small { font-size: 12.5px; color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzj-side { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-right: 6px; border-radius: 5px; font-size: 10px; font-style: normal; vertical-align: 1px; }
.tzj-side.is-long { background: rgba(184, 245, 0, .16); color: var(--tzx-acc); }
.tzj-side.is-short { background: rgba(255, 90, 110, .16); color: #ff6052; }
.tzj-need { font-style: normal; font-size: 13px; color: #ffb44a; }
#tzj .is-up, .tzj-sheet .is-up { color: var(--tzx-acc); }
#tzj .is-down, .tzj-sheet .is-down { color: #ff6052; }
.tzj-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 26px 17px 22px; border-radius: 19px; border: 1px dashed rgba(255, 255, 255, .12); }
.tzj-empty-ic { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 16px; background: rgba(184, 245, 0, .1); color: var(--tzx-acc); }
.tzj-empty-ic svg, .tzj-ic svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzj-empty b { margin-top: 12px; font: 800 15.5px var(--tzx-font); }
.tzj-empty p { max-width: 320px; margin: 5px 0 14px; font-size: 14px; line-height: 1.45; color: var(--tzx-ink2); }
.tzj-go { height: 39px; padding: 0 17px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; box-shadow: 0 3px 0 #6d9200; }
.tzj-go:active { transform: translateY(3px); box-shadow: none; }

/* sheets */
.tzj-sheet { position: fixed; inset: 0; z-index: 100320; display: flex; align-items: flex-end; justify-content: center; background: rgba(0, 0, 0, 0); transition: background .22s ease; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzj-sheet.is-on { background: rgba(0, 0, 0, .6); }
.tzj-box { width: min(520px, 100%); max-height: 88dvh; overflow-y: auto; padding: 14px 15px calc(15px + env(safe-area-inset-bottom, 0px)); border-radius: 20px 20px 0 0;
  border: 1px solid var(--tzx-line); background: #0d0f0b; transform: translateY(100%); transition: transform .24s cubic-bezier(.2, .9, .3, 1); }
.tzj-sheet.is-on .tzj-box { transform: none; }
@media (min-width: 760px) { .tzj-sheet { align-items: center; } .tzj-box { border-radius: 20px; } }
.tzj-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.tzj-h b { font: 800 16px/1.2 var(--tzx-font); letter-spacing: -.01em; }
.tzj-h button { flex: none; width: 29px; height: 29px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .07); color: var(--tzx-ink); font-size: 20px; cursor: pointer; }
.tzj-kinds { display: grid; gap: 9px; }
.tzj-kind { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 12px; border-radius: 15px; border: 2px solid rgba(255, 255, 255, .1); box-shadow: 0 3px 0 rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .025); color: var(--tzx-ink); font-family: var(--tzx-font); text-align: left; cursor: pointer; transition: transform .08s, box-shadow .08s, border-color .15s; }
.tzj-kind:hover { border-color: rgba(184, 245, 0, .5); }
.tzj-kind:active { transform: translateY(3px); box-shadow: none; }
.tzj-ic { flex: none; display: grid; place-items: center; width: 37px; height: 37px; border-radius: 12px; background: rgba(184, 245, 0, .1); color: var(--tzx-acc); }
.tzj-ic svg { width: 19px; height: 19px; }
.tzj-kind b { display: block; font: 700 13px var(--tzx-font); }
.tzj-kind small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzj-note { margin: 10px 2px 0; font-size: 13px; line-height: 1.45; color: var(--tzx-ink3); }
.tzj-in > .tzj-note:first-child { margin: 0 2px 12px; }
.tzj-f { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; min-width: 0; }
.tzj-f label { font-size: 13px; font-weight: 700; color: var(--tzx-ink2); }
.tzj-f label em { font-style: normal; font-weight: 500; color: var(--tzx-ink3); }
.tzj-f input, .tzj-f textarea { width: 100%; min-width: 0; height: 43px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04);
  color: var(--tzx-ink); font: 600 13.5px var(--tzx-font); outline: none; box-sizing: border-box; color-scheme: dark; }
.tzj-f textarea { height: auto; padding: 10px 12px; font-weight: 500; font-size: 13px; resize: vertical; }
.tzj-f input:focus, .tzj-f textarea:focus { border-color: var(--tzx-acc); box-shadow: 0 0 0 3px rgba(184, 245, 0, .14); }
.tzj-f small { font-size: 12px; color: var(--tzx-ink3); line-height: 1.35; }
.tzj-f.is-bad input { border-color: #ff6052; }
.tzj-f .tzj-err { color: #ff8a98; font-weight: 600; }
.tzj-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.tzj-seg { display: flex; gap: 5px; padding: 3px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--tzx-line); }
.tzj-seg button { flex: 1; height: 34px; border: 0; border-radius: 9px; background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzj-seg button.is-on { background: var(--tzx-ink); color: #050505; }
.tzj-more { margin: 2px 0 10px; border-radius: 12px; border: 1px solid var(--tzx-line); padding: 0 12px; }
.tzj-more summary { padding: 11px 0; font-size: 14px; font-weight: 700; color: var(--tzx-ink2); cursor: pointer; list-style: none; }
.tzj-more summary::-webkit-details-marker { display: none; }
.tzj-more summary::after { content: "+"; float: right; color: var(--tzx-ink3); }
.tzj-more[open] summary::after { content: "−"; }
.tzj-shot-btn { height: 39px; border-radius: 12px; border: 1px dashed rgba(255, 255, 255, .2); background: none; color: var(--tzx-ink); font: 600 13px var(--tzx-font); cursor: pointer; }
.tzj-actions { position: sticky; bottom: calc(-15px - env(safe-area-inset-bottom, 0px)); margin: 3px -15px 0; padding: 9px 15px calc(3px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(180deg, rgba(13, 15, 11, 0), #0d0f0b 30%); }
.tzj-save { width: 100%; height: 46px; border: 0; border-radius: 14px; background: var(--tzx-acc); color: #050505; font: 800 14px var(--tzx-font); cursor: pointer; box-shadow: 0 4px 0 #6d9200; }
.tzj-save:active { transform: translateY(4px); box-shadow: none; }
.tzj-dl { display: grid; gap: 0; margin: 0 0 12px; }
.tzj-dl div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 2px; border-bottom: 1px solid var(--tzx-line); }
.tzj-dl dt { font-size: 14px; color: var(--tzx-ink3); }
.tzj-dl dd { margin: 0; font-size: 14.5px; font-weight: 700; text-align: right; }
.tzj-dl dd small { font-weight: 500; color: var(--tzx-ink3); }
.tzj-acts { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.tzj-acts button { height: 41px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzj-acts button.is-main { grid-column: 1 / -1; border: 0; background: var(--tzx-acc); color: #050505; box-shadow: 0 3px 0 #6d9200; }
.tzj-acts button.is-del { color: #ff8a98; }
.tzj-acts button.is-del[data-sure] { background: rgba(255, 90, 110, .14); border-color: rgba(255, 90, 110, .5); }
@media (prefers-reduced-motion: reduce) { .tzj-box { transition: none; } }

/* ── The read: one story, the fade, the pills (81-signal.js readBlock) ─── */
.tzrd { margin-top: 5px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzrd-read p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.62; color: rgba(245, 245, 247, .9); }
.tzrd-read p:first-child { font-size: 16px; color: var(--tzx-ink); }
.tzrd-read.is-locked { position: relative; }
.tzrd-read.is-locked > p:first-child { margin-bottom: 0; }
.tzrd-fade { position: relative; max-height: 100px; overflow: hidden; margin-top: 5px; -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 45%, transparent 100%); mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 45%, transparent 100%); }
.tzrd-fade p { margin: 0; font-size: 15.5px; line-height: 1.62; color: rgba(245, 245, 247, .85); filter: blur(4.5px); user-select: none; pointer-events: none; }
.tzrd-gate { position: relative; margin-top: -24px; padding: 15px 14px 14px; border-radius: 17px; text-align: center;
  background: linear-gradient(180deg, rgba(10, 12, 8, 0), rgba(10, 12, 8, .96) 28%); }
.tzrd-gate b { display: block; font: 800 14.5px var(--tzx-font); }
.tzrd-gate small { display: block; max-width: 360px; margin: 5px auto 12px; font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzrd-gate .tzs-unlock { width: 100%; max-width: 320px; height: 43px; border: 0; border-radius: 13px; background: var(--tzx-acc); color: #050505; font: 800 15.5px var(--tzx-font); cursor: pointer; box-shadow: 0 4px 0 #6d9200; }
.tzrd-gate .tzs-unlock:active { transform: translateY(4px); box-shadow: none; }
.tzrd-pills { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 3px; }
.tzrd-pill { display: inline-flex; align-items: center; gap: 5px; height: 31px; padding: 0 10px; border-radius: 84px; border: 1px solid var(--tzx-line);
  background: rgba(255, 255, 255, .035); color: var(--tzx-ink); font: 700 13px var(--tzx-font); cursor: pointer; white-space: nowrap; }
.tzrd-pill.is-on { border-color: var(--tzx-acc); background: rgba(184, 245, 0, .1); }
.tzrd-pill .is-up { color: var(--tzx-acc); }
.tzrd-pill .is-down { color: #ff6052; }
.tzrd-pill.is-locked { color: var(--tzx-ink2); }
.tzrd-car { font-style: normal; font-size: 11px; color: var(--tzx-ink3); transition: transform .15s; }
.tzrd-pill.is-on .tzrd-car { transform: rotate(180deg); }
.tzrd-lock { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }
.tzrd-panel { margin-top: 9px; padding: 12px 12px 5px; border-radius: 15px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .02); animation: tzrdIn .22s ease both; }
@keyframes tzrdIn { from { opacity: 0; transform: translateY(-4px); } }
.tzrd-panel p { margin: 0 0 9px; font-size: 14px; line-height: 1.5; color: rgba(245, 245, 247, .88); }
.tzrd-u { color: var(--tzx-ink3) !important; font-size: 13px !important; }
.tzrd-fg { margin-bottom: 9px; }
.tzrd-fg h5 { margin: 0 0 5px; font: 800 12px var(--tzx-font); text-transform: uppercase; letter-spacing: .08em !important; color: var(--tzx-ink3); }
.tzrd-fg.is-good h5 { color: var(--tzx-acc); }
.tzrd-fg.is-bad h5 { color: #ff6052; }
.tzrd-fg ul, .tzrd-watch, .tzrd-strats { margin: 0; padding: 0; list-style: none; }
.tzrd-fg li { display: flex; gap: 9px; padding: 8px 0; border-top: 1px solid var(--tzx-line); font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzrd-fg li:first-child { border-top: 0; }
.tzrd-fg li > i { flex: none; width: 17px; height: 17px; margin-top: 1px; border-radius: 5px; display: grid; place-items: center; font-style: normal; font-size: 10px; }
.tzrd-fg.is-good li > i { background: rgba(184, 245, 0, .15); color: var(--tzx-acc); }
.tzrd-fg.is-bad li > i { background: rgba(255, 90, 110, .15); color: #ff6052; }
.tzrd-fg.is-neutral li > i { background: rgba(255, 255, 255, .07); color: var(--tzx-ink3); }
.tzrd-fg li b { display: block; font-size: 13px; color: var(--tzx-ink); }
.tzrd-fg li b em { font-style: normal; font-weight: 600; color: var(--tzx-ink3); }
.tzrd-watch li { position: relative; padding: 7px 0 7px 15px; border-top: 1px solid var(--tzx-line); font-size: 14px; line-height: 1.45; color: rgba(245, 245, 247, .9); }
.tzrd-watch li:first-child { border-top: 0; }
.tzrd-watch li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; border-radius: 50%; background: var(--tzx-acc); }
.tzrd-dl { margin: 0 0 9px; }
.tzrd-dl div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid var(--tzx-line); font-size: 13.5px; }
.tzrd-dl dt { color: var(--tzx-ink3); }
.tzrd-dl dd { margin: 0; font-weight: 700; text-align: right; }
.tzrd-ol { display: grid; gap: 12px; margin: 3px 0 10px; }
.tzrd-olr { display: grid; grid-template-columns: 63px 1fr auto; grid-template-rows: auto auto; align-items: center; gap: 3px 9px; }
.tzrd-olr > b { font-size: 13px; }
.tzrd-olr > em { font-style: normal; font-weight: 800; font-size: 15px; text-align: right; min-width: 44px; }
.tzrd-olr > small { grid-column: 1 / -1; font-size: 12px; color: var(--tzx-ink3); }
.tzrd-bar { position: relative; height: 9px; border-radius: 84px; background: rgba(255, 255, 255, .06); }
.tzrd-zero { position: absolute; left: 50%; top: -3px; bottom: -3px; width: 1px; background: rgba(255, 255, 255, .25); }
.tzrd-mid { position: absolute; top: 0; bottom: 0; border-radius: 84px; opacity: .55; }
.tzrd-mid.is-up { background: var(--tzx-acc); }
.tzrd-mid.is-down { background: #ff6052; }
.tzrd-dot { position: absolute; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(0, 0, 0, .5); }
.tzrd .is-up { color: var(--tzx-acc); }
.tzrd .is-down { color: #ff6052; }
.tzrd-strats li { padding: 8px 0; border-top: 1px solid var(--tzx-line); font-size: 13px; color: var(--tzx-ink3); }
.tzrd-strats li:first-child { border-top: 0; }
.tzrd-strats li b { display: flex; justify-content: space-between; gap: 9px; font-size: 13px; color: var(--tzx-ink); }
.tzrd-strats li b em { font-style: normal; font-weight: 700; font-size: 13px; }
.tzrd-strats li.is-good b em { color: var(--tzx-acc); }
.tzrd-strats li.is-bad b em { color: #ff6052; }
.tzrd-took { display: block; width: 100%; margin-top: 9px; padding: 10px; border: 1px dashed rgba(255, 255, 255, .18); border-radius: 12px; background: none; color: var(--tzx-ink2); font: 700 14px var(--tzx-font); cursor: pointer; }
#results-wrap.tzrd-on [data-tz-group="plan"] { display: none !important; }
/* What next? under a read (81-signal.js nextRow, 141-kind.js): one primary, the rest as chips */
.tznx { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--tzx-line); }
.tznx-h { margin-bottom: 9px; font: 700 12px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tznx-go { display: block; width: 100%; min-height: 41px; padding: 10px 14px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; transition: transform .12s ease, filter .12s ease; }
.tznx-go:active { transform: scale(.98); }
.tznx-go:hover { filter: brightness(1.06); }
.tznx-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.tznx-row button { flex: 1 1 auto; min-height: 34px; padding: 8px 12px; border: 1px solid var(--tzx-line); border-radius: 84px; background: var(--tzx-card); color: var(--tzx-ink); font: 600 13px var(--tzx-font); cursor: pointer; white-space: nowrap; }
.tznx-row button:hover { border-color: rgba(255, 255, 255, .2); }
.tznx-row button:active { transform: scale(.97); }
.tznx button:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
/* a market row the read sent you to (128-markets.js callFor) */
.tzmk-li.is-flash { animation: tzmk-flash 1.6s ease; }
@keyframes tzmk-flash { 0%, 60% { box-shadow: inset 0 0 0 2px var(--tzx-acc); } 100% { box-shadow: inset 0 0 0 2px transparent; } }
@media (prefers-reduced-motion: reduce) { .tzmk-li.is-flash { animation: none; box-shadow: inset 0 0 0 2px var(--tzx-acc); } }

@media (prefers-reduced-motion: reduce) { .tzrd-panel { animation: none; } }

/* Money: the card under the account bar that grows with the trader (142-money.js) */
.tzmo-wrap:empty { display: none; }
.tzmo { margin: 9px 0 12px; padding: 14px; border: 1px solid var(--tzx-line); border-radius: 15px; background: var(--tzx-card); font-family: var(--tzx-font); }
.tzmo.is-empty { display: flex; align-items: center; gap: 10px; padding: 10px 12px; color: var(--tzx-ink2); font-size: 13.5px; }
.tzmo.is-empty span { flex: 1; }
.tzmo.is-empty button { flex: none; min-height: 31px; padding: 7px 14px; border: 0; border-radius: 84px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzmo-head small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzmo-head b { display: inline-block; margin-top: 3px; font-size: 18px; font-weight: 800; letter-spacing: -.02em; color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzmo-head em { margin-left: 7px; font-style: normal; font-weight: 800; font-size: 13px; }
.tzmo .is-up { color: var(--tzx-acc); }
.tzmo .is-down { color: #ff6052; }
.tzmo-spark { display: block; width: 100%; height: 37px; margin-top: 9px; }
.tzmo-spark path { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.tzmo-spark.is-up path { stroke: var(--tzx-acc); }
.tzmo-spark.is-down path { stroke: #ff6052; }
.tzmo-rows { margin: 10px 0 0; }
.tzmo-head + .tzmo-rows, .tzmo-spark + .tzmo-rows { padding-top: 9px; border-top: 1px solid var(--tzx-line); }
.tzmo-rows div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 4px 0; }
.tzmo-rows dt { font-size: 13.5px; color: var(--tzx-ink2); }
.tzmo-rows dd { margin: 0; font-size: 15px; font-variant-numeric: tabular-nums; }
.tzmo-rows dd em { font-style: normal; font-size: 12.5px; color: var(--tzx-ink3); }
.tzmo-foot { margin: 7px 0 0; font-size: 11.5px; color: var(--tzx-ink3); }
/* the goal starts as one button (92-trades.js setupView) */
.tzt-goalopen { display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%; margin: 0 0 12px; padding: 12px 14px; border: 1px dashed rgba(255, 255, 255, .18); border-radius: 14px; background: none; color: var(--tzx-ink); text-align: left; font-family: var(--tzx-font); cursor: pointer; }
.tzt-goalopen b { font-size: 13px; }
.tzt-goalopen small { grid-column: 1; font-size: 12.5px; color: var(--tzx-ink3); }
.tzt-goalopen i { grid-row: 1 / span 2; grid-column: 2; font-style: normal; font-size: 22px; color: var(--tzx-ink3); }
.tzt-goalopen:hover { border-color: rgba(255, 255, 255, .3); }
.tzt-goalopen:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
.tza-bar + .tzmo-wrap .tzmo { margin-top: -3px; }
/* a position whose stop can't protect it (141-kind.js units) */
.tzj-row { position: relative; }
.tzj-risk { position: absolute; top: 7px; right: 7px; display: grid; place-items: center; width: 14px; height: 14px; border-radius: 50%; background: #ff6052; color: #050505; font: 900 11px var(--tzx-font); font-style: normal; }
.tzj-warn { margin: 5px 0 2px; padding: 9px 10px; border-radius: 10px; background: rgba(255, 96, 82, .12); border: 1px solid rgba(255, 96, 82, .35); color: #ffb3bd; font: 600 13px/1.4 var(--tzx-font); }
/* Leaderboards: five boards now (Callers joined), and the Callers' kinds (103-missions.js) */
.tzlb-tabs { display: flex; overflow-x: auto; scrollbar-width: none; }
.tzlb-tabs::-webkit-scrollbar { display: none; }
.tzlb-tabs button { flex: 1 0 auto; padding: 0 10px; }
.tzlb-tabs button:focus-visible { outline: 2px solid #ffe27a; outline-offset: 2px; }

/* Sign in (24-signin-gate.js): the logo, one line, Google's own button, email as the quiet option */
#v19-trial-popup .tzsi { max-width: min(380px, 92vw) !important; padding: 27px 20px 19px !important; border-radius: 22px !important; border: 1px solid var(--tzx-line); background: #0b0c0f; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); text-align: center; font-family: var(--tzx-font); }
.tzsi-logo { display: block; width: 54px; height: 54px; margin: 3px auto 15px; border-radius: 14px; box-shadow: 0 0 0 1px rgba(184, 245, 0, .25), 0 10px 30px rgba(184, 245, 0, .12); }
.tzsi-h { margin: 0 0 5px; font: 800 15px/1.2 var(--tzx-font); letter-spacing: -.01em; color: var(--tzx-ink); }
.tzsi-sub { margin: 0 0 19px; font-size: 14px; color: var(--tzx-ink2); }
.tzsi-google { display: flex !important; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 43px; margin: 0 0 9px !important; padding: 10px 14px !important; border: 0 !important; border-radius: 12px !important; background: #fff !important; color: #1f1f1f !important; font: 600 13px var(--tzx-font) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer; box-shadow: 0 1px 2px rgba(0, 0, 0, .3); transition: transform .12s ease, box-shadow .12s ease; }
.tzsi-google:hover { box-shadow: 0 2px 10px rgba(255, 255, 255, .18); }
.tzsi-google:active { transform: scale(.98); }
.tzsi-google svg { flex: none; }
.tzsi-google.is-busy { opacity: .75; cursor: progress; transform: none; }
.tzsi-email { display: block; width: 100%; min-height: 39px; padding: 10px 14px; border: 1px solid var(--tzx-line); border-radius: 12px; background: none; color: var(--tzx-ink); font: 600 13px var(--tzx-font); cursor: pointer; }
.tzsi-email:hover { border-color: rgba(255, 255, 255, .22); }
.tzsi-google:focus-visible, .tzsi-email:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
.tzsi-legal { margin: 14px 0 0 !important; font: 12px/1.5 var(--tzx-font) !important; letter-spacing: 0 !important; color: var(--tzx-ink3) !important; }
/* ── Email sign-in (index.html #tradzy-auth-overlay): the sign-in sheet's look, Google on top ── */
#tradzy-auth-overlay { background: rgba(var(--surf-rgb), .92) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-family: var(--tzx-font) !important; }
#tradzy-auth-overlay > .tzau { position: relative; width: 100%; max-width: min(380px, 100%) !important; padding: 27px 20px 19px; border: 1px solid var(--tzx-line); border-radius: 22px; background: #0b0c0f; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); color: var(--tzx-ink); text-align: center; }
.tzau .tzsi-h { margin-bottom: 14px; font-size: 17px; }
.tzau .tzsi-sub { margin-bottom: 14px; }
.tzau-x { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border: 0; border-radius: 10px; background: none; color: var(--tzx-ink3); font-size: 15px; cursor: pointer; }
.tzau-x:hover { background: rgba(255, 255, 255, .05); color: var(--tzx-ink); }
.tzau-or { display: flex; align-items: center; gap: 10px; margin: 14px 0 12px; font: 500 12px var(--tzx-font); color: var(--tzx-ink3); }
.tzau-or::before, .tzau-or::after { content: ''; flex: 1; height: 1px; background: var(--tzx-line); }
.tzau-f { display: flex; flex-direction: column; gap: 5px; margin: 0 0 10px; font: 600 12.5px var(--tzx-font); color: var(--tzx-ink2); text-align: left; }
.tzau-f em { font-style: normal; font-weight: 500; color: var(--tzx-ink3); }
.tzau .tzau-f input { height: 44px; padding: 0 12px !important; border: 1px solid var(--tzx-line) !important; border-radius: 12px !important; background: rgba(255, 255, 255, .04) !important; color: var(--tzx-ink) !important; font: 500 15px var(--tzx-font) !important; letter-spacing: 0 !important; text-transform: none !important; outline: none !important; box-shadow: none !important; }
.tzau .tzau-f input:focus, .tzau .tzau-f input:focus-visible { border-color: var(--tzx-acc) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(var(--acc-rgb, 184, 245, 0), .15) !important; }
.tzau-go { display: block; width: 100%; min-height: 44px; margin: 6px 0 4px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #0b0c0f; font: 700 14px var(--tzx-font); cursor: pointer; }
.tzau-go:disabled { opacity: .6; cursor: progress; }
.tzau-link { display: inline-block; margin: 8px 0 0; padding: 4px 6px; border: 0; background: none; color: var(--tzx-ink2); font: 500 13px var(--tzx-font); cursor: pointer; }
.tzau-link:hover { color: var(--tzx-ink); }
.tzau-switch { margin: 14px 0 0; font: 13px var(--tzx-font); color: var(--tzx-ink3); }
.tzau-switch button { padding: 2px; border: 0; background: none; color: var(--tzx-acc); font: 600 13px var(--tzx-font); cursor: pointer; }
.tzau-note { margin: 10px 0 0; font: 12.5px/1.45 var(--tzx-font); color: var(--tzx-ink3); }
.tzau .auth-error, .tzau .auth-success { display: none; margin: 0 0 12px; padding: 9px 12px; border-radius: 10px; font: 500 13px/1.4 var(--tzx-font); letter-spacing: 0; text-align: left; }
.tzau .auth-error.show { display: block; border: 1px solid rgba(255, 93, 108, .25); background: rgba(255, 93, 108, .1); color: #ff8a95; }
.tzau .auth-success.show { display: block; border: 1px solid rgba(184, 245, 0, .2); background: rgba(184, 245, 0, .08); color: var(--tzx-acc); }
.tzau-go:focus-visible, .tzau-link:focus-visible, .tzau-switch button:focus-visible, .tzau-x:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
#auth-config-error { position: fixed; top: 0; right: 0; left: 0; z-index: 10000; padding: 8px 16px; background: rgba(255, 30, 30, .12); color: #ff8a8a; font: 600 13px var(--tzx-font); text-align: center; }
#auth-config-error[hidden] { display: none; }
/* Home top row (owner, 2026-10-02): the badge 20% smaller, the trophy a little
   smaller, the middle takes the room; the row keeps its height */
#tzm-home { --isl: calc(var(--row) * .8); --cupw: calc(var(--row) * .86); align-items: center; }
#tzm-home .tzmh-island { width: var(--isl); height: var(--isl); }
#tzm-home .tzmh-badge .tzlo { width: calc(var(--isl) * 1.3) !important; height: calc(var(--isl) * 1.3) !important; margin: calc(var(--isl) * -.15); }
#tzm-home .tzmh-cup { width: var(--cupw); height: var(--cupw); border-radius: 17px; }
#tzm-home .tzmh-cup b { font-size: 13px; }
#tzm-home .tzmh-cup .tzm-cup { width: 22px; height: 26px; }

/* The bar (85-shell.js): the Tradzy mark for Home, four picked slots, and the up button */
.tzx-nav-btn.is-chev svg { transition: transform .22s ease; }
.tzx-nav-btn.is-chev.is-on svg { transform: rotate(180deg); }
.tzx-nav-btn.is-slot span, .tzx-nav-btn span { max-width: 54px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* The drawer: taller on phones, a grab handle, the Home tiles first */
@media (max-width: 759px) { #tzx-more { max-height: calc(88dvh - var(--tzx-bar)); padding-top: 7px; } }
@media (min-width: 760px) { #tzx-more { width: min(460px, calc(100vw - var(--tzx-rail) - 24px)); max-height: calc(100dvh - var(--tz-top, 52px) - 24px); } }
.tzx-grab { width: 34px; height: 4px; margin: 0 auto 9px; border-radius: 84px; background: rgba(255, 255, 255, .18); }
@media (min-width: 760px) { .tzx-grab { display: none; } }
#tzx-dh .tzh { margin: 0 0 14px; }
#tzx-more .tzx-more-h small { margin-left: 5px; font-weight: 500; color: var(--tzx-ink3); }
.tzx-bar-edit { display: block; margin: 12px auto 3px; padding: 7px 14px; border: 0; border-radius: 84px; background: none; color: var(--tzx-ink3); font: 600 13px var(--tzx-font); cursor: pointer; }
.tzx-bar-edit:hover { color: var(--tzx-ink); }
.tzx-bar-ed { margin: 0 0 14px; padding: 10px; border: 1px solid rgba(184, 245, 0, .25); border-radius: 14px; background: rgba(184, 245, 0, .04); }
.tzx-bar-slots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-bottom: 10px; }
.tzx-bar-slots button, .tzx-bar-opts button { display: flex; align-items: center; gap: 5px; min-height: 34px; padding: 7px 9px; border: 1px solid var(--tzx-line); border-radius: 10px; background: var(--tzx-card); color: var(--tzx-ink); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzx-bar-slots button { flex-direction: column; justify-content: center; gap: 3px; min-height: 49px; font-size: 11px; }
.tzx-bar-slots button span, .tzx-bar-opts button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.tzx-bar-slots button.on { border-color: var(--tzx-acc); box-shadow: 0 0 0 2px rgba(184, 245, 0, .2); }
.tzx-bar-slots svg, .tzx-bar-opts svg { flex: none; width: 15px; height: 15px; stroke: var(--tzx-acc); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzx-bar-opts { display: flex; flex-wrap: wrap; gap: 5px; }
.tzx-bar-opts button.is-used { opacity: .45; }
.tzx-bar-reset { display: block; margin: 9px auto 0; padding: 5px 10px; border: 0; background: none; color: var(--tzx-ink3); font: 600 12px var(--tzx-font); cursor: pointer; }
.tzx-bar-slots button:focus-visible, .tzx-bar-opts button:focus-visible, .tzx-bar-edit:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }

/* ── Legions (143-legions.js) ─────────────────────────────────────────── */
#tab-legion { font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzlg-bdg { flex: none; display: inline-block; filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .5)); }
.tzlg-bdg svg { display: block; overflow: visible; }
.tzlg-bdg .tzlg-ban { transform-box: fill-box; transform-origin: 50% 20%; animation: tzlg-sway 5.5s ease-in-out infinite; }
.tzlg-bdg .tzlg-plate { animation: tzlg-glow 3.6s ease-in-out infinite; }
@keyframes tzlg-sway { 0%, 100% { transform: translateY(0) rotate(-2.5deg); } 50% { transform: translateY(-2px) rotate(2.5deg); } }
@keyframes tzlg-glow { 0%, 100% { stroke-opacity: .45; } 50% { stroke-opacity: .95; } }
.tzlg-bdg.is-still .tzlg-ban, .tzlg-bdg.is-still .tzlg-plate { animation: none; }
@media (prefers-reduced-motion: reduce) { .tzlg-bdg .tzlg-ban, .tzlg-bdg .tzlg-plate { animation: none; } }
.tzlg-seg { display: flex; gap: 3px; margin: 0 0 12px; padding: 3px; border: 1px solid var(--tzx-line); border-radius: 12px; background: rgba(255, 255, 255, .02); }
.tzlg-seg button { flex: 1; min-width: max-content; min-height: 32px; padding: 0 6px; border: 0; border-radius: 9px; background: none; color: var(--tzx-ink3); font: 700 13px var(--tzx-font); cursor: pointer; white-space: nowrap; }
.tzlg-seg button.on { background: rgba(184, 245, 0, .12); color: var(--tzx-acc); }
.tzlg-search { display: flex; gap: 7px; margin-bottom: 9px; }
.tzlg-search input { flex: 1; min-width: 0; min-height: 37px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 10px; background: var(--tzx-card); color: var(--tzx-ink); font: 500 13px var(--tzx-font); }
.tzlg-search button { flex: none; min-height: 37px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzlg-list { display: flex; flex-direction: column; gap: 7px; }
.tzlg-row { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px; border: 1px solid var(--tzx-line); border-radius: 14px; background: var(--tzx-card); color: var(--tzx-ink); text-align: left; font: inherit; cursor: pointer; }
.tzlg-row:hover { border-color: rgba(255, 255, 255, .2); }
.tzlg-row-m { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tzlg-row-m b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzlg-row-m small { font-size: 12.5px; color: var(--tzx-ink3); }
.tzlg-row-t { flex: none; font: 800 13.5px var(--tzx-font); color: #ffe27a; }
/* a trophy count: the number and its cup on one line, standing on the same baseline (143-legions.js tro) */
.tzlg-tr { display: inline-flex; align-items: baseline; gap: 3px; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tzlg-tr i { flex: none; font-style: normal; font-size: .9em; line-height: 1; }
/* your Legion in a list of them */
.tzlg-row.is-mine { border-color: rgba(184, 245, 0, .38); background: rgba(184, 245, 0, .05); }
.tzlg-yours { margin-left: 6px; padding: 1px 7px; border-radius: 84px; background: rgba(184, 245, 0, .14); color: var(--tzx-acc); font: 800 10px var(--tzx-font); font-style: normal; letter-spacing: .04em; text-transform: uppercase; vertical-align: 1px; }
.tzlg-tags { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 2px; }
.tzlg-tags i { padding: 2px 7px; border-radius: 84px; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); font: 600 11px var(--tzx-font); font-style: normal; }
.tzlg-tags.is-big { justify-content: center; margin: 9px 0; }
.tzlg-tags.is-big i { padding: 3px 9px; font-size: 12px; }
.tzlg-tags.is-pick button { min-height: 29px; padding: 0 10px; border: 1px solid var(--tzx-line); border-radius: 84px; background: none; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tzlg-tags.is-pick button.on { border-color: var(--tzx-acc); color: var(--tzx-acc); background: rgba(184, 245, 0, .08); }
.tzlg-empty { margin: 15px 0; text-align: center; font-size: 14px; color: var(--tzx-ink3); }
/* found one */
.tzlg-make { display: flex; flex-direction: column; gap: 12px; }
.tzlg-bb { display: flex; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 15px; background: radial-gradient(circle at 20% 50%, rgba(184, 245, 0, .08), transparent 60%); }
.tzlg-f { display: flex; flex-direction: column; gap: 5px; font: 600 13px var(--tzx-font); color: var(--tzx-ink2); }
.tzlg-f em, .tzpf-f em { font-style: normal; font-weight: 500; color: var(--tzx-ink3); }
.tzlg-f input, .tzlg-f textarea, .tzlg-f select, .tzpf-f input, .tzpf-f select { min-height: 37px; padding: 9px 10px; border: 1px solid var(--tzx-line); border-radius: 10px; background: var(--tzx-card); color: var(--tzx-ink); font: 500 13px var(--tzx-font); resize: vertical; }
.tzlg-segs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.tzlg-segs button { display: flex; flex-direction: column; gap: 2px; padding: 9px 7px; border: 1px solid var(--tzx-line); border-radius: 10px; background: none; color: var(--tzx-ink); text-align: left; font: inherit; cursor: pointer; }
.tzlg-segs button b { font-size: 13px; }
.tzlg-segs button small { font-size: 11px; color: var(--tzx-ink3); font-weight: 500; }
.tzlg-segs button.on { border-color: var(--tzx-acc); background: rgba(184, 245, 0, .08); }
.tzlg-go { display: block; width: 100%; min-height: 43px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzlg-go:disabled { background: rgba(255, 255, 255, .08); color: var(--tzx-ink3); cursor: default; }
.tzlg-go.is-soft { background: rgba(255, 255, 255, .08); color: var(--tzx-ink); }
.tzlg-seg button:focus-visible, .tzlg-go:focus-visible, .tzlg-row:focus-visible, .tzlg-segs button:focus-visible, .tzlg-tags.is-pick button:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
/* a Legion up close */
.tzlg-sheet .tzrep-box { max-width: min(440px, 94vw); }
.tzlg-card { text-align: center; font-family: var(--tzx-font); }
.tzlg-card .tzlg-bdg { display: block; margin: 3px auto 9px; }
.tzlg-card .tzlg-go + .tzlg-go { margin-top: 8px; }
.tzlg-card h3 { margin: 0; font: 800 15px var(--tzx-font); color: var(--tzx-ink); }
.tzlg-tag { margin: 2px 0 10px; font: 600 12.5px var(--tzx-font); color: var(--tzx-ink3); letter-spacing: .06em; }
.tzlg-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-bottom: 9px; }
.tzlg-stats span { padding: 9px 3px; border-radius: 10px; background: rgba(255, 255, 255, .04); }
.tzlg-stats b { display: block; font: 800 14.5px var(--tzx-font); color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzlg-stats small { font-size: 11px; color: var(--tzx-ink3); }
.tzlg-desc { margin: 7px 0; font-size: 14px; line-height: 1.45; color: var(--tzx-ink2); }
.tzlg-meta { margin: 5px 0 10px; font-size: 12.5px; color: var(--tzx-ink3); }
.tzlg-people { display: flex; flex-direction: column; gap: 3px; margin-top: 10px; text-align: left; }
.tzlg-p { display: flex; align-items: center; gap: 9px; padding: 7px 9px; border-radius: 10px; background: rgba(255, 255, 255, .025); }
.tzlg-p.is-me { background: rgba(184, 245, 0, .07); }
.tzlg-p-n { width: 17px; font: 800 13px var(--tzx-font); color: var(--tzx-ink3); text-align: center; }
.tzpf-av { flex: none; display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; font-style: normal; font-weight: 800; color: #fff; }
.tzlg-p-m { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.tzlg-p-m b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzlg-p-m small { font-size: 11.5px; color: var(--tzx-ink3); }
.tzlg-p strong { font: 800 13px var(--tzx-font); color: #ffe27a; }
.tzlg-more { width: 27px; height: 27px; border: 0; border-radius: 9px; background: rgba(255, 255, 255, .06); color: var(--tzx-ink); font: 700 13.5px var(--tzx-font); cursor: pointer; }
.tzlg-acts { display: flex; flex-direction: column; gap: 7px; margin-top: 10px; }
.tzlg-acts button { min-height: 39px; border: 1px solid var(--tzx-line); border-radius: 10px; background: var(--tzx-card); color: var(--tzx-ink); font: 600 13px var(--tzx-font); cursor: pointer; }
.tzlg-acts button.is-danger { color: #ff6052; }
/* your Legion */
.tzlg-mine { display: flex; align-items: center; gap: 10px; margin: 3px 0 12px; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 15px; background: linear-gradient(135deg, rgba(184, 245, 0, .08), rgba(255, 255, 255, .02) 70%); cursor: pointer; }
@media (hover: hover) { .tzlg-mine:hover { border-color: rgba(255, 255, 255, .22); } }
.tzlg-mine-m { flex: 1; min-width: 0; }
.tzlg-mine-m h2 { margin: 0; font: 800 16px var(--tzx-font); }
.tzlg-mine-m p { margin: 3px 0 0; font-size: 12.5px; color: var(--tzx-ink3); }
/* the name opens the Legion's profile (the whole card does too) */
.tzlg-name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; max-width: 100%; min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; line-height: 1.2; text-align: left; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.tzlg-name i { margin-left: 3px; font-style: normal; font-size: 19px; font-weight: 600; line-height: 0; vertical-align: -1px; color: var(--tzx-ink3); }
.tzlg-name:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 3px; border-radius: 6px; }
.tzlg-mine-t { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.tzlg-mine-t .tzlg-tr { font: 800 16px/1 var(--tzx-font); color: #ffe27a; }
.tzlg-mine-t small { font-size: 11.5px; color: var(--tzx-ink3); white-space: nowrap; }
.tzlg-about { display: flex; flex-direction: column; gap: 10px; }
.tzlg-dl { margin: 0; }
.tzlg-dl div { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--tzx-line); font-size: 13px; }
.tzlg-dl dt { color: var(--tzx-ink3); }
.tzlg-dl dd { margin: 0; }
.tzlg-edit { display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 14px; }
.tzlg-leave { align-self: center; padding: 9px 14px; border: 0; background: none; color: #ff6052; font: 700 13px var(--tzx-font); cursor: pointer; }

/* ── My profile (144-profile.js) ──────────────────────────────────────── */
.tzpf .tzrep-box { max-width: min(420px, 94vw); font-family: var(--tzx-font); display: flex; flex-direction: column; gap: 12px; }
.tzpf-top { text-align: center; }
.tzpf-top .tzpf-me { display: inline-block; margin: 3px 0 7px; }
.tzpf-top h2 { margin: 0; font: 800 15px var(--tzx-font); color: var(--tzx-ink); }
.tzpf-top p { margin: 3px 0 0; font-size: 13.5px; color: var(--tzx-ink2); }
.tzpf-av { box-shadow: 0 0 0 2px rgba(255, 255, 255, .12); }
.tzpf-f { display: flex; flex-direction: column; gap: 5px; font: 600 13px var(--tzx-font); color: var(--tzx-ink2); }
/* the handle: an @ in front, checked as you type (144-profile.js) */
.tzpf-at { position: relative; display: flex; }
.tzpf-at i { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); font: 700 13px var(--tzx-font); font-style: normal; color: var(--tzx-ink3); pointer-events: none; }
.tzpf-f .tzpf-at input { flex: 1; min-width: 0; padding-left: 25px; }
.tzpf-f em[data-hs].is-ok { color: var(--tzx-acc); }
.tzpf-f em[data-hs].is-bad { color: #ffb44a; }
.tzpf-card { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; padding: 9px 10px; border: 1px solid rgba(184, 245, 0, .3); border-radius: 14px; background: rgba(184, 245, 0, .05); font-family: var(--tzx-font); }
.tzpf-card span { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.tzpf-card b { font-size: 13px; color: var(--tzx-ink); }
.tzpf-card small { font-size: 12px; color: var(--tzx-ink3); }
.tzpf-card [data-go] { min-height: 31px; padding: 0 14px; border: 0; border-radius: 84px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzpf-later { width: 26px; height: 26px; border: 0; border-radius: 50%; background: none; color: var(--tzx-ink3); cursor: pointer; }

/* Leaderboards (103-missions.js): the prize banner, light rows past 50, the seasons' top 3 */
.tzlb-prize { position: relative; display: flex; align-items: center; gap: 12px; margin: 0 0 12px; padding: 12px 14px; overflow: hidden; border-radius: 15px; border: 1px solid rgba(255, 216, 77, .45);
  background: radial-gradient(120% 140% at 0% 0%, rgba(255, 216, 77, .28), rgba(255, 216, 77, .06) 55%, rgba(255, 255, 255, .02)); font-family: var(--tzx-font); }
.tzlb-prize::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .16) 50%, transparent 65%); transform: translateX(-100%); animation: tzlb-shine 4.5s ease-in-out infinite; pointer-events: none; }
@keyframes tzlb-shine { 0%, 55% { transform: translateX(-100%); } 85%, 100% { transform: translateX(100%); } }
.tzlb-prize .tzm-cup { flex: none; filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .5)); animation: tzm-cup-float 3.2s ease-in-out infinite; }
.tzlb-prize small { display: block; font: 700 11.5px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: #ffe27a; opacity: .85; }
.tzlb-prize b { display: block; margin: 2px 0; font: 900 15px/1.1 var(--tzx-font); color: #fff4c2; letter-spacing: -.01em; }
.tzlb-prize span { display: block; font-size: 13px; line-height: 1.4; color: var(--tzx-ink2); }
.tzlb-prize.is-big { flex-direction: column; text-align: center; padding: 19px 15px; }
.tzlb-prize.is-big b { font-size: 19px; }
.tzm-road .tzlb-prize, #tab-missions .tzlb-prize { margin: 10px 0; }
.tzlb-dot { flex: none; width: 10px; height: 10px; margin: 0 6px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(255, 255, 255, .08); }
.tzlb-halls { margin-top: 19px; padding-top: 12px; border-top: 1px solid var(--tzx-line); }
.tzlb-halls .tzm-h { margin-top: 12px; }
.tzlb-halls .tzm-h:first-child { margin-top: 0; }
@media (prefers-reduced-motion: reduce) { .tzlb-prize::after, .tzlb-prize .tzm-cup { animation: none; } }
/* profile photos (144-profile.js): the photo covers the circle; the emoji or initial shows if it fails */
.tzpf-av { position: relative; overflow: hidden; }
.tzpf-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.tzpf-photo { display: flex; gap: 7px; justify-content: center; }
.tzpf-ph { min-height: 32px; padding: 0 14px; border: 0; border-radius: 84px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzpf-ph.is-soft { background: rgba(255, 255, 255, .08); color: var(--tzx-ink); }
.tzpf-ph:disabled { opacity: .6; }

/* The Legion hub (143-legions.js): My profile · My Legion · Legions · Social, like Clash's clan window */
.tzlg-card .tzpf-av { margin: 0 auto; }
.tzlg-sub { margin: 10px 0 5px; font: 700 11.5px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzlg-p[data-player], .tzlg-people .tzlg-p { cursor: pointer; }
.tzlg-mini { flex: none; min-height: 27px; padding: 0 10px; border: 0; border-radius: 84px; background: var(--tzx-acc); color: #050505; font: 800 12.5px var(--tzx-font); cursor: pointer; }
.tzlg-mini.is-soft { background: rgba(255, 255, 255, .08); color: var(--tzx-ink); }
.tzlg-rel { flex: none; padding: 3px 9px; border-radius: 84px; background: rgba(184, 245, 0, .1); color: var(--tzx-acc); font: 700 12px var(--tzx-font); font-style: normal; }
.tzlg-p .tzpf-av { width: 31px; height: 31px; }

/* Legions: the $49 route (143-legions.js) */
.tzlg-go.is-pay { margin-top: -3px; background: none; border: 1px solid rgba(255, 216, 77, .5); color: #ffe27a; }
.tzlg-wait { display: flex; align-items: center; gap: 7px; margin-bottom: 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(255, 216, 77, .4); background: rgba(255, 216, 77, .07); }
.tzlg-wait span { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.tzlg-wait b { font-size: 13px; color: var(--tzx-ink); }
.tzlg-wait small { font-size: 12px; color: var(--tzx-ink3); }
.tzlg-pay { min-height: 102px; margin: 10px 0 3px; display: grid; place-items: center; }
.tzlg-pay > iframe, .tzlg-pay > div { width: 100%; }
.tzlg-err { min-height: 1em; margin: 5px 0 0; font-size: 13px; color: #ff6052; }

/* Payment help (88-pro.js payHelp): quiet under every form, loud on a failure */
/* one small line (88-pro.js payHelp); a touch brighter on a failure */
.tzpay-help { margin: 7px 0 0; font: 12.5px/1.4 var(--tzx-font); color: var(--tzx-ink3); text-align: center; }
.tzpay-help a { color: var(--tzx-acc); font-weight: 700; text-decoration: none; white-space: nowrap; }
.tzpay-help a:hover { text-decoration: underline; }
.tzpay-help.is-loud { color: #ffe27a; }

/* Chat's covers (94-chat.js): the Pro lounge for non-Pro, the Legion room for someone not in one */
#tradzy-chat-panel.tzc-covered #chat-messages, #tradzy-chat-panel.tzc-covered #chat-input-row, #tradzy-chat-panel.tzc-covered #chat-cooldown-bar, #tradzy-chat-panel.tzc-covered #chat-gate-bar { display: none !important; }
.tzc-cover { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; min-height: 320px; padding: 20px 17px; overflow: hidden; text-align: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzc-cover h3 { margin: 3px 0 0; font: 800 15px var(--tzx-font); }
.tzc-cover p { margin: 0; font-size: 14px; line-height: 1.45; color: var(--tzx-ink2); max-width: 300px; }
.tzc-cover ul { list-style: none; margin: 7px 0 3px; padding: 0; display: flex; flex-direction: column; gap: 5px; text-align: left; }
.tzc-cover li { padding-left: 19px; position: relative; font-size: 13.5px; color: var(--tzx-ink); }
.tzc-cover li::before { content: '✦'; position: absolute; left: 0; color: #ffe27a; }
.tzc-cover small { font-size: 12px; color: var(--tzx-ink3); }
.tzc-cv-ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: rgba(184, 245, 0, .12); color: var(--tzx-acc); font-size: 26px; }
.tzc-cv-ic.is-pro { background: rgba(255, 216, 77, .14); color: #ffe27a; }
.tzc-cv-go { min-height: 39px; margin-top: 5px; padding: 0 19px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzc-cover.is-pro .tzc-cv-go { background: linear-gradient(135deg, #ffe27a, #ffb84d); }
.tzc-cv-in { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.tzc-cv-blur { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 12px; padding: 15px; filter: blur(6px); opacity: .45; pointer-events: none; }
.tzc-cv-blur i { display: block; width: 64%; height: 32px; border-radius: 12px 12px 12px 3px; background: rgba(255, 255, 255, .14); }
.tzc-cv-blur i.is-r { align-self: flex-end; width: 52%; border-radius: 12px 12px 3px 12px; background: rgba(255, 216, 77, .25); }
.tzc-cover.is-pro::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, rgba(8, 9, 12, .55), rgba(8, 9, 12, .92) 70%); pointer-events: none; }
.tzc-cv-go:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
.tzlg-chatgo { margin-bottom: 10px; }

/* The banner builder (143-legions.js mountBuilder) */
.tzlg-bb { display: block; padding: 12px; border: 1px solid var(--tzx-line); border-radius: 15px; background: radial-gradient(circle at 18% 20%, rgba(184, 245, 0, .07), transparent 55%); }
.tzlg-bb-side { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.tzlg-bb-name { font: 800 14.5px var(--tzx-font); color: var(--tzx-ink); }
.tzlg-bb-side small { font-size: 12.5px; color: var(--tzx-ink3); }
.tzlg-seg.is-small { margin: 12px 0 0; }
.tzlg-seg.is-small button { min-height: 29px; font-size: 12.5px; }
.tzlg-bb button:focus-visible { outline: 2px solid var(--tzx-acc); outline-offset: 2px; }
.tzlg-credit { margin: 10px 0 0; font-size: 11px; color: var(--tzx-ink3); }
.tzlg-credit a { color: inherit; }

/* Money in their currency, small under the dollars (144-profile.js TZFx) */
.tzfx { display: block; margin-top: 2px; font: 600 12px var(--tzx-font); font-style: normal; color: var(--tzx-ink3); }
.tzlg-go small { display: block; font-size: 11.5px; font-weight: 600; opacity: .75; }
.tzlb-prize .tzfx { color: #ffe27a; opacity: .75; margin: -2px 0 3px; }
/* Where to look for Legions (143-legions.js whereOptions) */
.tzlg-where { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; font: 600 13px var(--tzx-font); color: var(--tzx-ink3); }
.tzlg-where select { flex: 1; min-height: 34px; padding: 0 9px; border: 1px solid var(--tzx-line); border-radius: 10px; background: var(--tzx-card); color: var(--tzx-ink); font: 600 13px var(--tzx-font); }
/* the Chat flag (85-shell.js I.flag): pole and cloth drawn, the Tradzy mark filled */
.tzx-flagic g { fill: currentColor; stroke: none; }
.tzx-flagic g path { stroke: currentColor; fill: none; }

.tzx-tile .tzx-flagic g { fill: var(--tzx-acc); }

/* Crests (145-crest.js): the maker's extra tabs, 50 swatches, pattern thumbs; a crest as a face */
.tzlg-seg.is-tabs button { padding: 0 5px; font-size: 12px; }
.tzlg-seg.is-tgt { margin: 3px 0 9px; }
.tzpf-ph.is-crest { background: rgba(255, 216, 77, .14); color: #ffe27a; }
.tzpf-photo { flex-wrap: wrap; }

/* The crest maker is a shuffle (145-crest.js): one crest, Shuffle, Back */
.tzlg-bb.is-shuffle { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.tzlg-bb.is-shuffle .tzlg-bb-view { flex: none; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 24px; }
.tzlg-bb.is-shuffle .tzlg-bb-view.is-pop .tzlg-bdg { animation: tzcr-pop .32s cubic-bezier(.3, 1.5, .5, 1); }
.tzlg-bb.is-shuffle .tzlg-bb-side { align-items: center; gap: 5px; max-width: 300px; }
.tzlg-bb.is-shuffle .tzlg-bb-side small { line-height: 1.35; }
.tzlg-bb.is-shuffle .tzlg-credit { margin: 0; font-size: 10.5px; }
.tzlg-bb-acts { display: flex; gap: 7px; margin-top: 5px; }
.tzlg-shuf { min-height: 34px; padding: 0 14px; border: 0; border-radius: 84px; background: var(--tzx-acc); color: #0a0c08; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzlg-shuf:active { transform: scale(.96); }
.tzlg-shuf.is-back { background: rgba(255, 255, 255, .07); color: var(--tzx-ink2); font-weight: 700; }
.tzlg-shuf:disabled { opacity: .4; cursor: default; }
@keyframes tzcr-pop { 0% { transform: scale(.82) rotate(-6deg); opacity: .4; } 100% { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .tzlg-bb.is-shuffle .tzlg-bb-view.is-pop .tzlg-bdg { animation: none; } }

/* Trophy road (owner, 2026-10-02): a smaller badge card; the prize card opens the Season board */
.tzm-road { gap: 10px; padding: 10px 12px; border-radius: 15px; }
.tzm-road-t h2 { font-size: 15px; }
.tzm-road-t p { margin-bottom: 5px; font-size: 12.5px; }
.tzm-road .tzm-life, .tzm-road .tzm-rank { font-size: 11.5px; }
.tzlb-prize.is-tap { cursor: pointer; }
.tzlb-prize.is-tap:active { transform: scale(.98); }
.tzlb-prize b .tzpz-q { position: relative; z-index: 2; display: inline-grid; place-items: center; width: 17px; height: 17px; margin-left: 3px; padding: 0; vertical-align: 3px;
  border: 1.5px solid rgba(255, 226, 122, .7); border-radius: 50%; background: rgba(0, 0, 0, .25); color: #ffe27a; font: 800 12px var(--tzx-font); cursor: pointer; }
.tzpz-pro { display: inline-block; padding: 0 5px; border-radius: 5px; background: var(--tzx-acc); color: #0a0c08; font: 900 10.5px/14.5px var(--tzx-font); font-style: normal; letter-spacing: .04em; vertical-align: 1px; }

/* The prize rules (147-prize.js, the ?) */
.tzpz-rbox { max-width: min(440px, 96vw); }
.tzpz-rtop { display: flex; align-items: center; gap: 10px; margin: 3px 0 10px; }
.tzpz-rtop small { font: 700 11px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: #ffe27a; }
.tzpz-rtop h2 { margin: 2px 0 0; font: 900 15px var(--tzx-font); color: var(--tzx-ink); }
.tzpz-fine { margin: 12px 0 3px; font-size: 11.5px; color: var(--tzx-ink3); }
.tzpz-fine a { color: inherit; }
.tzpz-gopro { background: linear-gradient(100deg, #ffe27a, #ffd84d 40%, #e0a100) !important; color: #1a1200 !important; }

/* The prize popup (147-prize.js): the day's first open, after the streak */
.tzpz { position: fixed; inset: 0; z-index: 10050; display: grid; place-items: center; padding: 14px; animation: tzpz-fade .25s ease-out; }
.tzpz.is-out { opacity: 0; transition: opacity .2s; }
.tzpz-scrim { position: absolute; inset: 0; background: radial-gradient(60% 50% at 50% 42%, rgba(255, 196, 0, .22), rgba(0, 0, 0, .86) 70%); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.tzpz-box { position: relative; width: min(360px, 100%); padding: 22px 17px 15px; overflow: hidden; text-align: center; border-radius: 24px; font-family: var(--tzx-font);
  border: 1.5px solid transparent; background: radial-gradient(120% 80% at 50% 0%, #3a2800, #120d02 55%, #080704) padding-box, linear-gradient(140deg, #fff3b0, #ffcc33 30%, #7a5200 55%, #ffd84d 80%, #fff3b0) border-box;
  box-shadow: 0 0 0 1px rgba(255, 216, 77, .15), 0 30px 80px rgba(0, 0, 0, .6), 0 0 90px rgba(255, 190, 0, .35); animation: tzpz-in .55s cubic-bezier(.2, 1.4, .4, 1); }
.tzpz-rays { position: absolute; left: 50%; top: 100px; width: 560px; height: 560px; margin: -238px 0 0 -238px; pointer-events: none; opacity: .55;
  background: repeating-conic-gradient(from 0deg, rgba(255, 216, 77, .34) 0deg 7deg, transparent 7deg 20deg);
  -webkit-mask: radial-gradient(circle, #000 12%, transparent 62%); mask: radial-gradient(circle, #000 12%, transparent 62%); animation: tzpz-spin 26s linear infinite; }
.tzpz-coins { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.tzpz-coins i { position: absolute; top: -20px; left: var(--x); font: 900 13.5px var(--tzx-font); font-style: normal; color: #ffd84d; text-shadow: 0 0 10px rgba(255, 200, 0, .9);
  transform: scale(var(--s)); opacity: 0; animation: tzpz-fall var(--t) linear var(--d) infinite; }
.tzpz-x { position: absolute; top: 10px; right: 10px; z-index: 3; width: 29px; height: 29px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff4c2; font-size: 13px; cursor: pointer; }
.tzpz-chip { position: relative; z-index: 2; display: inline-block; padding: 4px 10px; border-radius: 84px; background: var(--tzx-acc); color: #0a0c08; font: 900 12px var(--tzx-font); letter-spacing: .04em; text-transform: uppercase;
  box-shadow: 0 0 0 3px rgba(184, 245, 0, .18), 0 0 24px rgba(184, 245, 0, .45); animation: tzpz-pulse 2.2s ease-in-out infinite; }
.tzpz-cup { position: relative; z-index: 2; margin: 9px auto 2px; width: max-content; filter: drop-shadow(0 12px 22px rgba(0, 0, 0, .6)) drop-shadow(0 0 26px rgba(255, 200, 0, .55)); animation: tzm-cup-float 3.2s ease-in-out infinite; }
.tzpz-k { position: relative; z-index: 2; display: block; font: 800 11px var(--tzx-font); letter-spacing: .08em; text-transform: uppercase; color: #ffe27a; opacity: .9; }
.tzpz-amt { position: relative; z-index: 2; display: block; margin: 2px 0 0; font: 900 40.5px/1 var(--tzx-font); letter-spacing: -.03em;
  background: linear-gradient(100deg, #fff6c9 0%, #ffd84d 22%, #fff 40%, #e0a100 58%, #ffe680 76%, #fff6c9 100%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 4px 0 #6b4700) drop-shadow(0 0 18px rgba(255, 200, 0, .55)); animation: tzpz-gold 3.4s linear infinite; }
.tzpz-loc { position: relative; z-index: 2; display: block; margin-top: 3px; font: 700 13px var(--tzx-font); font-style: normal; color: #ffe27a; opacity: .8; }
.tzpz-t { position: relative; z-index: 2; margin: 5px 0 0; font: 900 14.5px var(--tzx-font); color: #fff4c2; }
.tzpz-s { position: relative; z-index: 2; margin: 7px 3px 14px; font-size: 13px; line-height: 1.45; color: rgba(255, 244, 194, .78); }
.tzpz-go { position: relative; z-index: 2; display: block; width: 100%; min-height: 43px; overflow: hidden; border: 0; border-radius: 14px; cursor: pointer;
  background: linear-gradient(100deg, #fff3b0, #ffd84d 35%, #f0b400 70%, #ffe680); color: #1a1200; font: 900 13.5px var(--tzx-font); box-shadow: 0 10px 26px rgba(255, 190, 0, .35), inset 0 -3px 0 rgba(0, 0, 0, .18); }
.tzpz-go::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .7) 50%, transparent 65%); transform: translateX(-100%); animation: tzlb-shine 2.8s ease-in-out infinite; }
.tzpz-go:active { transform: scale(.97); }
.tzpz-sub { position: relative; z-index: 2; display: block; width: 100%; min-height: 36px; margin-top: 7px; border: 1px solid rgba(255, 216, 77, .35); border-radius: 12px; background: rgba(255, 216, 77, .06); color: #fff4c2; font: 800 14px var(--tzx-font); cursor: pointer; }
.tzpz-how { position: relative; z-index: 2; margin-top: 7px; padding: 7px; border: 0; background: none; color: rgba(255, 244, 194, .6); font: 700 12.5px var(--tzx-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@keyframes tzpz-fade { from { opacity: 0; } }
@keyframes tzpz-in { from { transform: scale(.7) translateY(30px); opacity: 0; } }
@keyframes tzpz-spin { to { transform: rotate(360deg); } }
@keyframes tzpz-gold { to { background-position: -250% 0; } }
@keyframes tzpz-pulse { 50% { box-shadow: 0 0 0 5px rgba(184, 245, 0, .12), 0 0 34px rgba(184, 245, 0, .6); } }
@keyframes tzpz-fall { 0% { opacity: 0; transform: translateY(0) scale(var(--s)) rotate(0); } 10% { opacity: 1; } 85% { opacity: .9; } 100% { opacity: 0; transform: translateY(560px) scale(var(--s)) rotate(260deg); } }
@media (prefers-reduced-motion: reduce) { .tzpz, .tzpz-box, .tzpz-rays, .tzpz-coins i, .tzpz-chip, .tzpz-cup, .tzpz-amt, .tzpz-go::after { animation: none !important; } .tzpz-coins { display: none; } }

/* The streak popup's XP (97-today.js) */
.tzd-collect { display: flex; align-items: center; gap: 10px; margin: 10px 0; padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(255, 150, 60, .4);
  background: radial-gradient(120% 140% at 0% 0%, rgba(255, 140, 40, .22), rgba(255, 255, 255, .02) 60%); }
.tzd-collect > span { flex: 1; min-width: 0; }
.tzd-collect b { display: block; font: 800 13px var(--tzx-font); color: var(--tzx-ink); }
.tzd-collect small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.35; color: var(--tzx-ink3); }
.tzd-collect .tzd-go { flex: none; width: auto; margin: 0; padding: 0 12px; white-space: nowrap; }
.tzd-collect.is-got b { color: #ffb36b; }

/* Season prize, formal (owner, 2026-10-02): the rules as clauses; the popup's one line of fine print */
.tzpz-legal { margin: 0; padding: 0 0 0 2px; list-style: none; display: flex; flex-direction: column; gap: 7px; font-size: 12px; line-height: 1.5; color: var(--tzx-ink3); text-align: justify; }
.tzpz-legal b { color: var(--tzx-ink2); font-weight: 700; }
.tzpz-fine2 { position: relative; z-index: 2; margin: 9px 0 0; font-size: 10.5px; line-height: 1.4; color: rgba(255, 244, 194, .5); }
.tzpz-fine2 .tzpz-how { margin: 0; padding: 0; font: inherit; color: inherit; }

/* Achievements (148-achievements.js): the trophy road's grid, one family up close, the medals on profiles */
.tza-medal { display: inline-block; flex: none; vertical-align: middle; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .45)); }
.tza-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.tza-cell { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 0; padding: 9px 3px 7px; border: 1px solid var(--tzx-line); border-radius: 12px; background: rgba(255, 255, 255, .025); color: inherit; font: inherit; cursor: pointer; }
.tza-cell:active { transform: scale(.96); }
.tza-cell b { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 800 11.5px var(--tzx-font); color: var(--tzx-ink); }
.tza-cell small { font-size: 10.5px; color: var(--tzx-ink3); }
.tza-cell.is-locked b { color: var(--tzx-ink3); }
.tza-cell em { display: block; width: 80%; height: 3px; margin-top: 2px; border-radius: 3px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.tza-cell em i { display: block; height: 100%; border-radius: 3px; background: var(--tzx-acc); }
.tza-cell em.is-max i { background: linear-gradient(90deg, #ffe27a, #b58cff); }
.tza-star { position: absolute; top: 3px; right: 5px; font-style: normal; font-size: 13px; color: #ffd84d; text-shadow: 0 0 8px rgba(255, 200, 0, .6); }
@media (max-width: 360px) { .tza-grid { grid-template-columns: repeat(3, 1fr); } }
.tza-box { max-width: min(420px, 96vw); }
.tza-hero { display: flex; flex-direction: column; align-items: center; gap: 5px; text-align: center; margin: 5px 0 10px; }
.tza-hero h2 { margin: 3px 0 0; font: 900 15px var(--tzx-font); color: var(--tzx-ink); }
.tza-hero p { margin: 0; font-size: 13.5px; color: var(--tzx-ink2); }
.tza-tiers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.tza-tiers li { display: flex; align-items: center; gap: 9px; padding: 5px 9px; border-radius: 10px; background: rgba(255, 255, 255, .025); }
.tza-tiers li.is-next { box-shadow: inset 0 0 0 1px rgba(184, 245, 0, .35); }
.tza-tiers li > span:not(.tza-medal) { flex: 1; min-width: 0; }
.tza-tiers b { display: block; font: 800 13px var(--tzx-font); color: var(--tzx-ink); }
.tza-tiers small { display: block; font-size: 12px; color: var(--tzx-ink3); }
.tza-tiers li > i { font-style: normal; font-weight: 900; color: var(--tzx-acc); }
.tza-have { margin: 9px 0 0; text-align: center; font-size: 13px; color: var(--tzx-ink3); }
.tza-have b { color: var(--tzx-ink); }
.tza-show { display: flex; justify-content: center; gap: 9px; margin: 7px 0 3px; flex-wrap: wrap; }
.tza-chip { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 65px; }
.tza-chip small { display: flex; flex-direction: column; align-items: center; font: 800 10.5px/1.2 var(--tzx-font); color: var(--tzx-ink2); text-align: center; }
.tza-chip small em { font-style: normal; font-weight: 700; color: var(--tzx-ink3); }
@media (prefers-reduced-motion: reduce) { .tza-medal { animation: none !important; } }

/* Missions (103-missions.js + 146-pool.js): Daily · Weekly · Monthly · Milestones, one swap a period */
.tzm-mtabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; margin: 0 0 7px; padding: 3px; border-radius: 12px; background: rgba(255, 255, 255, .04); }
.tzm-mtabs button { display: flex; flex-direction: column; align-items: center; gap: 1px; min-height: 37px; padding: 3px 2px; border: 0; border-radius: 9px; background: none; color: var(--tzx-ink3); font: 800 12.5px var(--tzx-font); cursor: pointer; }
.tzm-mtabs button small { font: 700 10.5px var(--tzx-font); opacity: .8; }
.tzm-mtabs button.on { background: var(--tzx-acc); color: #0a0c08; }
.tzm-mmeta { display: flex; justify-content: space-between; margin: 0 2px 5px; font-size: 11.5px; color: var(--tzx-ink3); }
.tzm-missions .tzm-row > i { font-style: normal; }
.tzm-swap { flex: none; width: 26px; height: 26px; margin-left: 5px; border: 1px solid var(--tzx-line); border-radius: 50%; background: rgba(255, 255, 255, .03); color: var(--tzx-ink3); font: 800 15px var(--tzx-font); cursor: pointer; }
.tzm-swap:active { transform: rotate(-90deg); }

/* Leagues, lighter (2026-10-02): the Home badge's glow was a drop-shadow +
   brightness filter animated over a canvas that repaints ~30 times a second,
   so the phone re-filtered the whole badge every frame (the stutter). Now the
   glow is a soft light behind it that breathes with opacity and scale only. */
.tzmh-badge { position: relative; isolation: isolate; filter: none; animation: none; }
.tzmh-badge::before { content: ''; position: absolute; z-index: -1; inset: -10%; border-radius: 50%; pointer-events: none; will-change: opacity, transform;
  background: radial-gradient(circle, color-mix(in srgb, var(--lg, #c98a5a) 62%, transparent) 0%, color-mix(in srgb, var(--lg, #c98a5a) 20%, transparent) 42%, transparent 68%);
  animation: tzmh-aura 2.6s ease-in-out infinite; }
@keyframes tzmh-aura { 0%, 100% { opacity: .55; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.06); } }
/* a phone left open: after 12 s without a touch the badge and the cups rest; a touch wakes them (133-leagues.js) */
html.tz-still .tzmh-badge, html.tz-still .tzmh-badge::before, html.tz-still .tzmh-badge::after, html.tz-still .tzm-cup, html.tz-still .tzm-cup-spark, html.tz-still .tzm-dots i { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) { .tzmh-badge::before { animation: none; } }
.tzm-promo-cup .tzlo { filter: none; }
/* A Legion's banner with its league's particles (133-leagues.js aura) */
.tzlg-aurawrap { position: relative; display: inline-grid; place-items: center; flex: none; width: var(--s); height: var(--s); isolation: isolate; }
.tzlg-aurawrap > .tzlg-bdg { position: relative; z-index: 1; }
.tzlg-aurawrap > canvas.tzlo-aura { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); max-width: none !important; pointer-events: none; }
.tzlg-aurawrap > canvas.tzlo-aura.is-b { z-index: 0; }
.tzlg-aurawrap > canvas.tzlo-aura.is-f { z-index: 2; }
.tzlg-card .tzlg-aurawrap { margin: 15px auto 9px; }
.tzlg-mine .tzlg-aurawrap { margin: 7px; }
.tzlg-lgline { display: flex; align-items: center; justify-content: center; gap: 5px; margin: 3px 0 7px; font-size: 12px; color: var(--tzx-ink3); }
.tzlg-mine .tzlg-lgline { justify-content: flex-start; margin: 3px 0 0; }
.tzlg-lgline b { color: var(--tzx-ink2); }
.tzlg-lgline span { text-wrap: balance; }   /* "Vanguard III · / Legion league", never a lone "league" */

/* Minimal (owner, 2026-10-03): Home is the app icon; the drawer's corners are icon + one word */
.tzx-nav-btn svg.tzx-appicon { width: 23px; height: 23px; stroke: none; fill: none; border-radius: 6px; opacity: .78; transition: opacity .2s, transform .2s; }
.tzx-nav-btn.is-on svg.tzx-appicon, .tzx-nav-btn:hover svg.tzx-appicon { opacity: 1; }
.tzx-nav-btn.is-on svg.tzx-appicon { transform: scale(1.06); filter: drop-shadow(0 0 6px rgba(184, 245, 0, .35)); }
.tzx-more-grid.is-min { grid-template-columns: repeat(4, 1fr); gap: 5px; margin-top: 12px; }
.tzx-more-grid.is-min .tzx-tile { flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 58px; padding: 9px 3px; text-align: center; font-size: 11.5px; }
.tzx-more-grid.is-min .tzx-tile span { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
@media (max-width: 340px) { .tzx-more-grid.is-min { grid-template-columns: repeat(3, 1fr); } }

/* Missions found as you use the app (146-pool.js found) */
.tzm-found-h { margin: 10px 2px 5px; font: 800 11px var(--tzx-font); letter-spacing: .08em; text-transform: uppercase; color: var(--tzx-acc); }
.tzm-found .tzm-row { background: rgba(184, 245, 0, .05); border-color: rgba(184, 245, 0, .22); }
.tzm-found-p { margin: 9px 2px 0; font-size: 12px; color: var(--tzx-ink3); }

/* The header account button wears the trader's face (144-profile.js paintHeader) */
#acct-avatar-hdr.has-face { width: 26px; height: 26px; padding: 0; overflow: visible; background: none !important; box-shadow: none; font-size: 0; }
#acct-avatar-hdr.has-face .tzpf-av { flex: none; }

/* The session clock (149-clock.js): the header pill in words, and "Markets right now" */
#session-clock-wrap { position: relative; display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 5px; height: 24px; max-width: 128px; padding: 0 9px 0 8px;
  border-radius: 84px; border: 1px solid color-mix(in srgb, var(--ck, #6a7280) 45%, transparent); background: color-mix(in srgb, var(--ck, #6a7280) 10%, rgba(255, 255, 255, .02)); cursor: pointer; overflow: hidden; }
#session-clock-wrap .tzck-dot { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--ck, #6a7280); box-shadow: 0 0 8px var(--ck, #6a7280); }
#session-clock-wrap[data-soon] .tzck-dot { animation: tzck-pulse 1.2s ease-in-out infinite; }
#session-clock-wrap[data-quiet] .tzck-dot { box-shadow: none; }
#session-clock-wrap .tzck-name { font: 700 12px var(--tzx-font); color: var(--tzx-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: 0; }
#session-clock-wrap .tzck-bar { position: absolute; left: 9px; right: 9px; bottom: 3px; height: 2px; border-radius: 2px; background: rgba(255, 255, 255, .08); overflow: hidden; }
#session-clock-wrap .tzck-bar em { display: block; height: 100%; background: var(--ck, #6a7280); transition: width .6s; }
@keyframes tzck-pulse { 50% { opacity: .35; transform: scale(.7); } }
@media (prefers-reduced-motion: reduce) { #session-clock-wrap[data-soon] .tzck-dot { animation: none; } }
.tzck-box { max-width: min(440px, 96vw); }
.tzck-h { margin: 2px 0 9px; font: 900 15px var(--tzx-font); color: var(--tzx-ink); }
.tzck-now { display: flex; align-items: baseline; gap: 7px; }
.tzck-now b { font: 900 20px/1 var(--tzx-font); color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzck-now small { font-size: 12px; color: var(--tzx-ink3); }
.tzck-head { display: flex; align-items: center; gap: 7px; margin: 7px 0 10px; font: 700 13.5px var(--tzx-font); color: var(--tzx-ink2); }
.tzck-head i { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--ck); box-shadow: 0 0 8px var(--ck); }
.tzck-tl { position: relative; padding: 3px 0 2px; }
.tzck-lane { display: flex; align-items: center; height: 15px; margin: 3px 0; }
.tzck-lane > span { flex: none; width: 54px; font: 700 11px var(--tzx-font); color: var(--tzx-ink3); }
.tzck-track { position: relative; flex: 1; height: 9px; border-radius: 4px; background: rgba(255, 255, 255, .05); }
.tzck-track i { position: absolute; top: 0; bottom: 0; border-radius: 4px; opacity: .85; }
.tzck-ticks { display: flex; justify-content: space-between; margin: 3px 0 0 54px; font-size: 10px; color: var(--tzx-ink3); font-variant-numeric: tabular-nums; }
.tzck-nowline { position: absolute; top: 0; bottom: 12px; width: 2px; margin-left: -1px; border-radius: 2px; background: #fff; box-shadow: 0 0 6px rgba(255, 255, 255, .8); }
.tzck-list { list-style: none; margin: 10px 0 0; padding: 0; }
.tzck-list li { display: flex; align-items: flex-start; gap: 9px; padding: 9px 0; border-top: 1px solid var(--tzx-line); }
.tzck-list li > i { flex: none; width: 9px; height: 9px; margin-top: 3px; border-radius: 50%; background: var(--ck); opacity: .4; }
.tzck-list li.is-on > i { opacity: 1; box-shadow: 0 0 8px var(--ck); }
.tzck-list li > span { flex: 1; min-width: 0; }
.tzck-list b { display: block; font: 800 13px var(--tzx-font); color: var(--tzx-ink); }
.tzck-list b em { margin-left: 3px; padding: 1px 6px; border-radius: 84px; background: var(--ck); color: #0a0a0a; font: 800 10px/13.5px var(--tzx-font); font-style: normal; vertical-align: 1px; }
.tzck-list small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--tzx-ink2); }
.tzck-list small.tzck-note { color: var(--tzx-ink3); font-size: 12px; }
.tzck-bell { flex: none; width: 27px; height: 27px; border: 1px solid var(--tzx-line); border-radius: 50%; background: rgba(255, 255, 255, .03); cursor: pointer; font-size: 13px; }
.tzck-alerts { display: block; width: 100%; margin-top: 10px; }
.tzck-foot { margin: 9px 0 0; font-size: 11.5px; line-height: 1.45; color: var(--tzx-ink3); }
.tzx-more-grid.is-min .tzx-tile small, .tzx-more-grid.is-min .tzx-tile br { display: none; }

/* My rules by kind of trader (119-rules.js) */
.tzrl-grp { margin: 0 0 12px; padding: 10px 10px 3px; border: 1px solid var(--tzx-line); border-radius: 12px; background: rgba(255, 255, 255, .02); }
.tzrl-gh { display: flex; align-items: baseline; gap: 7px; margin: 0 0 5px; }
.tzrl-gh b { font: 800 13px var(--tzx-font); color: var(--tzx-ink); }
.tzrl-gh small { font-size: 11.5px; color: var(--tzx-ink3); }
.tzrl-grp .tzrl-flags, .tzrl-sess { margin: 5px 0 7px; }
.tzrl-sess > span { display: block; margin: 3px 0 5px; font-size: 13px; color: var(--tzx-ink2); }
.tzrl-need { margin: 3px 0 7px; font-size: 11.5px; color: #ffb44a; }
.tzrl-all { display: block; width: 100%; margin: 0 0 10px; padding: 9px; border: 1px dashed var(--tzx-line); border-radius: 10px; background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }

/* Stats by kind (95-stats.js): the kind row, the portfolio mix */
.tzs-kinds { display: flex; gap: 3px; margin: 0 0 10px; padding: 3px; border-radius: 12px; background: rgba(255, 255, 255, .04); }
.tzs-kinds button { flex: 1; min-height: 31px; border: 0; border-radius: 9px; background: none; color: var(--tzx-ink3); font: 800 12.5px var(--tzx-font); cursor: pointer; }
.tzs-kinds button.on { background: var(--tzx-acc); color: #0a0c08; }
.tzs-mix { display: flex; gap: 3px; margin: 9px 0 10px; border-radius: 10px; overflow: hidden; }
.tzs-mix span { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 7px 9px; background: rgba(90, 184, 255, .16); }
.tzs-mix span.is-crypto { background: rgba(255, 176, 46, .16); }
.tzs-mix span.is-meme { background: rgba(214, 63, 184, .18); }
.tzs-mix b { font: 800 12px var(--tzx-font); color: var(--tzx-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzs-mix small { font-size: 11px; color: var(--tzx-ink2); }

/* The plan as an option (104-plan.js optionIdea) */
.tzp-opt { margin: 9px 0; padding: 10px 12px; border: 1px solid rgba(169, 139, 255, .35); border-radius: 12px; background: rgba(169, 139, 255, .07); }
.tzp-opt > b { display: block; margin-bottom: 3px; font: 800 13px var(--tzx-font); color: var(--tzx-ink); }
.tzp-opt p { margin: 3px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzp-opt p b { color: var(--tzx-ink); }

/* ── The picture (150-see.js): what might happen, key prices, patterns ── */
.tzsee { margin: 14px 0 3px; }
.tzsee-tabs { display: flex; gap: 3px; padding: 3px; border-radius: 10px; background: rgba(255, 255, 255, .05); width: fit-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.tzsee-tabs::-webkit-scrollbar { display: none; }
.tzsee-tabs button { flex: none; height: 26px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; white-space: nowrap; transition: background .15s, color .15s; }
.tzsee-tabs button[aria-selected="true"] { background: rgba(255, 255, 255, .13); color: var(--tzx-ink); }
@media (max-width: 400px) { .tzsee-tabs button { padding: 0 7px; font-size: 11.5px; } }
.tzsee-chart { margin-top: 9px; width: 100%; min-height: 200px; }
.tzsee-svg { display: block; width: 100%; height: auto; overflow: visible; }
.tzsee-grid { stroke: rgba(255, 255, 255, .05); stroke-width: 1; }
.tzsee-fut-bg { fill: rgba(255, 255, 255, .03); }
.tzsee-now { stroke: rgba(255, 255, 255, .2); stroke-dasharray: 2 3; }
.tzsee-cap { font: 800 9px var(--tzx-font); letter-spacing: .08em; fill: rgba(245, 245, 247, .45); }
.tzsee-ema { fill: none; stroke: rgba(245, 245, 247, .26); stroke-width: 1; }
.tzsee-candles.is-dim { opacity: .5; }
.tzsee-last { stroke: rgba(245, 245, 247, .22); stroke-dasharray: 1 3; }
.tzsee-pulse { fill: rgba(245, 245, 247, .3); transform-box: fill-box; transform-origin: center; animation: tzseePulse 1.8s ease-out infinite; }
@keyframes tzseePulse { from { transform: scale(.6); opacity: .9; } to { transform: scale(2.3); opacity: 0; } }
.tzsee-lab { font: 700 10px var(--tzx-font); }
.tzsee-tag { font: 700 9.5px var(--tzx-font); paint-order: stroke; stroke: rgba(10, 10, 12, .9); stroke-width: 3px; stroke-linejoin: round; }
.tzsee-glyph { font: 800 8px var(--tzx-font); pointer-events: none; }
/* the pixel line every analysis chart draws price with (149-pixel.js) */
.tzpix { animation: tzpixIn .45s ease-out both; }
@keyframes tzpixIn { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .tzpix { animation: none; } }
.tzsee-svg .is-dim { opacity: .5; }
.tzsee-cone { transform-box: fill-box; transform-origin: 0% 50%; animation: tzseeGrow 1s cubic-bezier(.2, .8, .2, 1) both .1s; }
@keyframes tzseeGrow { from { transform: scaleX(0); opacity: 0; } to { transform: none; opacity: 1; } }
.tzsee-anim { animation: tzseeFade .5s ease both; }
.tzsee-dot { animation: tzseeFade .4s ease both .25s; }
@keyframes tzseeFade { from { opacity: 0; } }
.tzsee-draw { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: tzseeDraw 1s ease forwards .1s; }
@keyframes tzseeDraw { to { stroke-dashoffset: 0; } }
.tzsee-say { margin: 9px 2px 0; font-size: 14.5px; line-height: 1.55; color: rgba(245, 245, 247, .8); }
.tzsee-say b { color: var(--tzx-ink); font-weight: 800; }
.tzsee-say span { color: var(--tzx-ink3); }
@media (prefers-reduced-motion: reduce) { .tzsee * { animation: none !important; } .tzsee-draw { stroke-dashoffset: 0; } }

/* paper desk: "More" opens the rest of the markets */
.tzp-mk .tzp-more { color: var(--tzx-ink2); border-style: dashed; }

/* Predict to Rank Up: three markets, the rest one tap away */
.tzmk-more { display: block; width: 100%; margin: 5px 0 2px; height: 32px; border-radius: 10px; border: 1px dashed var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }

/* a chart read from the copy kept on this phone (151-saved.js) */
.tz-snap-status.is-kept { color: rgba(245, 245, 247, .82); border-left: 3px solid #ffbe50; padding-left: 9px; }

/* Predict to Rank Up: a call's panel and its stake (128-markets.js), Apple-style (owner, 2026-10-10: "the trophy call
   system became a little crowded and janky"): one quiet line under the row, a hairline that runs down the 5 seconds,
   gold while trophies ride; the first-time how-to is one tip with a ✕ */
.tzmk-tw, .tzmk-stake { position: relative; flex: 0 0 calc(100% - 20px); box-sizing: border-box; display: flex; align-items: center; gap: 8px; margin: -2px 10px 10px; padding: 8px 12px; border-radius: 12px; background: rgba(118, 118, 128, .16); font: 500 12.5px/1.2 var(--tzx-font); color: var(--tzx-ink2); overflow: hidden; }
.tzmk-tw.is-new { animation: tzmk-tw-in .3s cubic-bezier(.2, .9, .3, 1) both; }
.tzmk-tw.is-gold, .tzmk-stake { background: rgba(255, 196, 61, .12); }
.tzmk-tw.is-sheet, .tzmk-stake.is-sheet { flex: none; margin: 8px 0 0; }
.tzmk-tw-n { flex: none; display: inline-flex; align-items: center; gap: 3px; height: 24px; padding: 0 9px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: var(--tzx-ink); font: 600 12.5px var(--tzx-font); white-space: nowrap; }
.tzmk-tw-n b { font: 700 13.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzmk-tw.is-gold .tzmk-tw-n, .tzmk-stake .tzmk-tw-n { background: rgba(255, 196, 61, .2); color: #ffd166; }
.tzmk-tw.is-gold .tzmk-tw-n b { animation: tzmk-tw-pop .32s cubic-bezier(.2, 1.5, .4, 1); }
.tzmk-tw-t { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzmk-tw-t b.up { color: rgb(184, 245, 0); font-weight: 600; }
.tzmk-tw-h { flex: none; margin-left: auto; padding-left: 4px; font-weight: 600; color: var(--tzx-ink); white-space: nowrap; }
.tzmk-tw.is-gold .tzmk-tw-h { color: #ffd166; }
.tzmk-hot { flex: none; font-style: normal; font-weight: 700; color: #ffb547; }
.tzmk-tw-bar { position: absolute; left: 12px; right: 12px; bottom: 3px; height: 2px; border-radius: 2px; background: rgba(184, 245, 0, .7); transform-origin: left; animation: tzmk-tw-left 5s linear forwards; }
.tzmk-tw.is-gold .tzmk-tw-bar { background: rgba(255, 209, 102, .8); }
.tzmk-stake-ed { flex: none; margin-left: auto !important; width: auto !important; min-height: 0 !important; min-width: 0 !important; height: 26px !important; padding: 0 11px; border: 0; border-radius: 999px; background: rgba(255, 196, 61, .2); color: #ffd166; font: 600 12px var(--tzx-font); cursor: pointer; }
.tzmk-tip { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 10px; padding: 12px 10px 12px 12px; border-radius: 14px; background: rgba(118, 118, 128, .16); font-family: var(--tzx-font); animation: tzmk-tw-in .3s ease both; }
.tzmk-tip-ic { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: rgba(184, 245, 0, .14); }
.tzmk-tip-ic svg { width: 18px; height: 18px; fill: rgb(184, 245, 0); } .tzmk-tip-ic svg .d { fill: rgb(255, 96, 82); }
.tzmk-tip > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tzmk-tip b { font: 600 14px var(--tzx-font); color: var(--tzx-ink); letter-spacing: -.01em; }
.tzmk-tip small { font: 400 13px/1.4 var(--tzx-font); color: var(--tzx-ink2); }
.tzmk-tip button { flex: none; width: 24px; height: 24px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(118, 118, 128, .24); color: var(--tzx-ink2); font: 700 11px var(--tzx-font); cursor: pointer; }
@keyframes tzmk-tw-left { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes tzmk-tw-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes tzmk-tw-pop { from { transform: scale(.7); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .tzmk-tw.is-new, .tzmk-tw-n b, .tzmk-tip { animation: none; } .tzmk-tw-bar { animation-duration: 5s; } }
.tzmk-li { flex-wrap: wrap; }

/* ── The forecast (152-forecast.js, Void Engine 5) ─────────────────────── */
.tzc { margin: 15px 0 5px; padding: 12px 12px 10px; border-radius: 19px; background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015)); border: 1px solid var(--tzx-line); font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzc-top { display: flex; align-items: center; gap: 7px; }
.tzc-top h3 { margin: 0; font: 800 14.5px var(--tzx-font); letter-spacing: -.01em; }
.tzc-eng { padding: 3px 7px; border-radius: 849px; background: rgba(184, 245, 0, .12); color: var(--tzx-acc); font: 800 10.5px var(--tzx-font); letter-spacing: .04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60%; }
.tzc-how { margin-left: auto; width: 22px; height: 22px; flex: none; border-radius: 50%; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 800 13px var(--tzx-font); cursor: pointer; }
.tzc-tabs { display: flex; gap: 3px; margin-top: 10px; padding: 3px; border-radius: 10px; background: rgba(255, 255, 255, .05); width: fit-content; max-width: 100%; }
.tzc-tabs button { height: 26px; padding: 0 11px; border: 0; border-radius: 8px; background: transparent; color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; transition: background .15s, color .15s; }
.tzc-tabs button[aria-selected="true"] { background: rgba(255, 255, 255, .13); color: var(--tzx-ink); }
.tzc-head { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.tzc-head > div { min-width: 0; }
.tzc-ring { width: 54px; height: 54px; flex: none; }
.tzc-ring-bg { fill: none; stroke: rgba(255, 255, 255, .08); stroke-width: 7; }
.tzc-ring-fg { fill: none; stroke-width: 7; stroke-linecap: round; animation: tzcRing .9s cubic-bezier(.2, .8, .2, 1) both; }
.tzc-ring-fg.is-up { stroke: rgb(184, 245, 0); }
.tzc-ring-fg.is-dn { stroke: rgb(255, 96, 82); }
.tzc-ring text { font: 800 13px var(--tzx-font); fill: var(--tzx-ink); }
@keyframes tzcRing { from { stroke-dasharray: 0 999; } }
.tzc-big { display: block; font: 800 14px var(--tzx-font); line-height: 1.25; }
.tzc-head small { display: block; margin-top: 3px; font-size: 12.5px; color: var(--tzx-ink2); line-height: 1.4; }
.tzc-head small b { color: var(--tzx-ink); font-weight: 800; }
.tzc-chip { font-style: normal; padding: 1px 5px; border-radius: 5px; background: rgba(255, 255, 255, .08); font-size: 11px; font-weight: 700; }
.tzc-chip.is-on { background: rgba(184, 245, 0, .14); color: var(--tzx-acc); }
.tzc-chart { margin-top: 9px; width: 100%; min-height: 220px; }
.tzc-svg { display: block; width: 100%; height: auto; overflow: visible; }
.tzc-grid { stroke: rgba(255, 255, 255, .05); }
.tzc-fut { fill: rgba(255, 255, 255, .025); }
.tzc-now { stroke: rgba(255, 255, 255, .2); stroke-dasharray: 2 3; }
.tzc-b90 { fill: rgba(var(--rgb), .09); }
.tzc-b50 { fill: rgba(var(--rgb), .2); stroke: rgba(var(--rgb), .35); stroke-width: 1; }
.tzc-bands { transform-box: fill-box; transform-origin: 0% 50%; animation: tzseeGrow 1s cubic-bezier(.2, .8, .2, 1) both .1s; }
.tzc-members path { fill: none; stroke: rgba(245, 245, 247, .22); stroke-width: 1; stroke-dasharray: 600; stroke-dashoffset: 600; animation: tzseeDraw 1.2s ease forwards; }
.tzc-mid { fill: none; stroke-width: 2.2; stroke-dasharray: 5 4; stroke-linecap: round; }
.tzc-area { fill: rgba(245, 245, 247, .05); }
.tzc-line { fill: none; stroke: rgba(245, 245, 247, .85); stroke-width: 1.8; stroke-linejoin: round; }
.tzc-pulse { fill: rgba(245, 245, 247, .3); transform-box: fill-box; transform-origin: center; animation: tzseePulse 1.8s ease-out infinite; }
.tzc-lab { font: 700 10px var(--tzx-font); }
.tzc-tag { font: 700 9.5px var(--tzx-font); paint-order: stroke; stroke: rgba(10, 10, 12, .9); stroke-width: 3px; stroke-linejoin: round; }
.tzc-axis { font: 600 9.5px var(--tzx-font); fill: rgba(245, 245, 247, .38); }
.tzc-touch { display: grid; grid-template-columns: repeat(auto-fit, minmax(111px, 1fr)); gap: 5px; margin-top: 9px; }
.tzc-touch span { position: relative; overflow: hidden; display: flex; align-items: baseline; justify-content: space-between; gap: 5px; padding: 7px 9px; border-radius: 10px; background: rgba(255, 255, 255, .05); }
.tzc-touch span i { position: absolute; left: 0; bottom: 0; height: 3px; background: rgba(245, 245, 247, .4); border-radius: 2px; }
.tzc-touch span.is-up i { background: rgb(184, 245, 0); }
.tzc-touch span.is-dn i { background: rgb(255, 96, 82); }
.tzc-touch small { min-width: 0; font-size: 12px; font-weight: 700; color: var(--tzx-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzc-touch small em { display: block; font-style: normal; font-size: 11px; font-weight: 600; color: var(--tzx-ink3); }
.tzc-touch span { align-items: center; }
.tzc-touch b { font: 800 13px var(--tzx-font); }
.tzc-note { margin: 5px 2px 0; font-size: 11.5px; color: var(--tzx-ink3); }
.tzc-facts { margin: 10px 0 0; display: grid; gap: 7px; }
.tzc-facts div { display: grid; grid-template-columns: 78px 1fr; gap: 7px; }
.tzc-facts dt { font: 800 11px var(--tzx-font); letter-spacing: .04em; text-transform: uppercase; color: var(--tzx-ink3); padding-top: 2px; }
.tzc-facts dd { margin: 0; font-size: 13px; line-height: 1.45; color: var(--tzx-ink2); }
.tzc-push { margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--tzx-line); }
.tzc-push > b { display: block; margin-bottom: 5px; font: 800 12.5px var(--tzx-font); color: var(--tzx-ink2); }
.tzc-pr { display: grid; grid-template-columns: 94px 1fr 54px; align-items: center; gap: 7px; margin: 3px 0; font-size: 12.5px; }
.tzc-pb { position: relative; height: 5px; border-radius: 3px; background: rgba(255, 255, 255, .06); }
.tzc-pb::after { content: ""; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 1px; background: rgba(255, 255, 255, .25); }
.tzc-pb i { position: absolute; top: 0; bottom: 0; border-radius: 3px; }
.tzc-pb i.is-up { background: rgb(184, 245, 0); }
.tzc-pb i.is-dn { background: rgb(255, 96, 82); }
.tzc-pr em { font-style: normal; font-weight: 800; text-align: right; }
.tzc em.is-up, .tzc b.is-up, .tzc-bh i.is-up { color: rgb(184, 245, 0); }
.tzc em.is-dn, .tzc b.is-dn, .tzc-bh i.is-dn { color: rgb(255, 96, 82); }
.tzc-none { margin: 9px 2px 0; font-size: 13px; color: var(--tzx-ink2); }
.tzc-lean { margin: 10px 2px 0; font: 700 15px var(--tzx-font); }
.tzc-lock { position: relative; margin-top: 7px; border-radius: 14px; overflow: hidden; }
.tzc-ghost { display: block; width: 100%; height: 111px; filter: blur(5px); opacity: .8; }
.tzc-gate { position: relative; margin-top: -34px; padding: 12px 10px 5px; text-align: center; }
.tzc-gate b { display: block; font: 800 13.5px var(--tzx-font); }
.tzc-gate small { display: block; max-width: 380px; margin: 5px auto 10px; font-size: 13px; line-height: 1.45; color: var(--tzx-ink2); }
.tzc-unlock { width: 100%; max-width: 320px; height: 41px; border: 0; border-radius: 13px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; box-shadow: 0 4px 0 #6d9200; }
.tzc-board { margin-top: 14px; }
.tzc-bh { display: flex; align-items: baseline; justify-content: space-between; gap: 7px; }
.tzc-bh b { font: 800 13px var(--tzx-font); }
.tzc-bh span { font-size: 12px; color: var(--tzx-ink3); }
.tzc-bh i { font-style: normal; font-weight: 800; }
.tzc-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-top: 7px; }
@media (min-width: 560px) { .tzc-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tzc-tile { position: relative; display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 9px 9px 10px; border-radius: 12px; border: 1px solid transparent; background: rgba(255, 255, 255, .045); color: var(--tzx-ink); text-align: left; font-family: var(--tzx-font); cursor: pointer; animation: tzseeFade .45s ease both; }
.tzc-tile.is-up { background: linear-gradient(180deg, rgba(184, 245, 0, .09), rgba(184, 245, 0, .02)); border-color: rgba(184, 245, 0, .18); }
.tzc-tile.is-dn { background: linear-gradient(180deg, rgba(255, 96, 82, .1), rgba(255, 96, 82, .02)); border-color: rgba(255, 96, 82, .2); }
.tzc-ti { display: flex; align-items: center; gap: 5px; min-width: 0; }
.tzc-ti i { font-style: normal; width: 15px; text-align: center; opacity: .8; }
.tzc-ti b { flex: 1; min-width: 0; font: 800 12.5px var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzc-ti em { font-style: normal; font-weight: 900; font-size: 13px; }
.tzc-tile.is-up .tzc-ti em { color: rgb(184, 245, 0); }
.tzc-tile.is-dn .tzc-ti em { color: rgb(255, 96, 82); }
.tzc-tile.is-flat .tzc-ti em { color: var(--tzx-ink3); }
.tzc-tile small { font-size: 11.5px; line-height: 1.35; color: var(--tzx-ink2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tzc-tile.is-open small { -webkit-line-clamp: unset; display: block; }
.tzc-meter { position: absolute; left: 9px; right: 9px; bottom: 5px; height: 2px; border-radius: 2px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.tzc-meter i { display: block; height: 100%; background: rgba(245, 245, 247, .35); }
.tzc-tile.is-up .tzc-meter i { background: rgb(184, 245, 0); }
.tzc-tile.is-dn .tzc-meter i { background: rgb(255, 96, 82); }
.tzc-steps { margin: 12px 0 0; padding: 0; list-style: none; counter-reset: s; display: grid; gap: 9px; }
.tzc-steps li { counter-increment: s; position: relative; padding: 10px 10px 10px 37px; border-radius: 12px; background: rgba(255, 255, 255, .04); animation: tzseeFade .4s ease both; }
.tzc-steps li::before { content: counter(s); position: absolute; left: 10px; top: 10px; width: 19px; height: 19px; border-radius: 50%; display: grid; place-items: center; background: rgba(184, 245, 0, .14); color: var(--tzx-acc); font: 800 12px var(--tzx-font); }
.tzc-steps b { font: 800 13px var(--tzx-font); }
.tzc-steps p { margin: 3px 0 7px; font-size: 13px; line-height: 1.5; color: var(--tzx-ink2); }
.tzc-steps code { display: block; padding: 7px 9px; border-radius: 9px; background: rgba(0, 0, 0, .35); border: 1px solid var(--tzx-line); font: 600 13px "SF Mono", ui-monospace, Menlo, Consolas, monospace; color: #e8ffd0; overflow-x: auto; white-space: nowrap; }
.tzc-prog b { color: var(--tzx-acc); }
@media (prefers-reduced-motion: reduce) { .tzc * { animation: none !important; } .tzc-members path { stroke-dashoffset: 0; } }

/* ── One part of the chart (160-sector.js), opened from the board's tiles ── */
.tzc-sector { margin-top: 9px; }
.tzc-tile.is-open { border-color: rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .07); }
.tzsec { padding: 11px 11px 8px; border-radius: 16px; background: rgba(255, 255, 255, .035); border: 1px solid var(--tzx-line); animation: tzseeFade .3s ease both; }
.tzsec-h { display: flex; align-items: baseline; gap: 8px; }
.tzsec-h b { font: 800 14px var(--tzx-font); color: var(--tzx-ink); }
.tzsec-h em { margin-left: auto; font: 800 11.5px var(--tzx-font); font-style: normal; white-space: nowrap; }
.tzsec-h em.is-up, .tzsec-items .is-up i { color: rgb(184, 245, 0); }
.tzsec-h em.is-dn, .tzsec-items .is-dn i { color: rgb(255, 96, 82); }
.tzsec-h em.is-flat, .tzsec-items .is-flat i { color: var(--tzx-ink3); }
.tzsec-what { margin: 4px 0 0; font-size: 13px; line-height: 1.45; color: var(--tzx-ink2); }
.tzsec-ai { margin: 5px 0 0; font: 700 12px var(--tzx-font); color: var(--tzx-ink3); }
.tzsec-ai b.is-up { color: rgb(184, 245, 0); } .tzsec-ai b.is-dn { color: rgb(255, 96, 82); } .tzsec-ai b.is-flat { color: var(--tzx-ink2); }
.tzsec-chart { margin-top: 8px; width: 100%; min-height: 170px; }
.tzsec-svg { display: block; width: 100%; height: auto; overflow: visible; }
.tzsec-grid { stroke: rgba(255, 255, 255, .05); stroke-width: 1; }
.tzsec-last { stroke: rgba(245, 245, 247, .2); stroke-dasharray: 1 3; }
.tzsec-lab { font: 700 10px var(--tzx-font); }
.tzsec-cap { font: 800 9px var(--tzx-font); letter-spacing: .08em; fill: rgba(245, 245, 247, .45); }
.tzsec-anim { animation: tzseeFade .45s ease both; }
.tzsec-draw { stroke-dasharray: 1600; stroke-dashoffset: 1600; animation: tzseeDraw 1s ease forwards .05s; }
.tzsec-items { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.tzsec-items li { display: grid; grid-template-columns: 14px auto 1fr; gap: 3px 7px; align-items: baseline; font-size: 13px; line-height: 1.4; }
.tzsec-items li i { font-style: normal; font-size: 11px; }
.tzsec-items li b { font: 800 12.5px var(--tzx-font); color: var(--tzx-ink); white-space: nowrap; }
.tzsec-items li span { color: var(--tzx-ink2); min-width: 0; }
.tzsec-say { margin: 8px 0 0; font-size: 13.5px; color: var(--tzx-ink2); }
@media (max-width: 380px) { .tzsec-items li { grid-template-columns: 14px 1fr; } .tzsec-items li span { grid-column: 2; } }
@media (prefers-reduced-motion: reduce) { .tzsec, .tzsec * { animation: none !important; } .tzsec-draw { stroke-dashoffset: 0; } }

/* ── Lookout points (159-look.js): legs up, legs down, lookout points ───── */
.tzlk { margin: 15px 0 5px; padding: 12px 12px 9px; border-radius: 19px; background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015)); border: 1px solid var(--tzx-line); font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzlk-top { display: flex; align-items: center; gap: 7px; }
.tzlk-top h3 { margin: 0; font: 800 14.5px var(--tzx-font); letter-spacing: -.01em; }
.tzlk-live { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px 3px 7px; border-radius: 849px; background: rgba(255, 190, 80, .14); color: rgb(255, 190, 80); font: 800 10.5px var(--tzx-font); letter-spacing: .04em; text-transform: uppercase; }
.tzlk-live i { width: 6px; height: 6px; border-radius: 50%; background: rgb(255, 190, 80); animation: tzseePulse 1.8s ease-out infinite; }
.tzlk-chart { margin-top: 8px; width: 100%; min-height: 150px; }
.tzlk-svg { display: block; width: 100%; height: auto; overflow: visible; }
.tzlk-grid { stroke: rgba(255, 255, 255, .05); stroke-width: 1; }
.tzlk-last { stroke: rgba(245, 245, 247, .2); stroke-dasharray: 1 3; }
.tzlk-lab { font: 700 10px var(--tzx-font); }
.tzlk-pt { animation: tzseeFade .45s ease both; }
.tzlk-ring { fill: rgba(255, 190, 80, .28); transform-box: fill-box; transform-origin: center; animation: tzseePulse 1.8s ease-out infinite; }
.tzlk-key { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 7px 2px 0; font: 700 11.5px var(--tzx-font); color: var(--tzx-ink3); }
.tzlk-key .is-up { color: rgba(184, 245, 0, .85); }
.tzlk-key .is-dn { color: rgba(255, 96, 82, .9); }
.tzlk-key .is-lk { color: rgba(255, 190, 80, .9); }
/* trade ideas (161-ideas.js): a card an idea, its own pixel chart */
.tzid { margin: 15px 0 5px; padding: 12px 12px 10px; border-radius: 19px; background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015)); border: 1px solid var(--tzx-line); font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzid-top { display: flex; align-items: center; gap: 7px; }
.tzid-top h3 { margin: 0; font: 800 14.5px var(--tzx-font); letter-spacing: -.01em; }
.tzid-top span { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 849px; background: rgba(184, 245, 0, .14); color: rgb(184, 245, 0); font: 800 11px/20px var(--tzx-font); text-align: center; }
.tzid-none { margin: 6px 2px 0; font: 600 12.5px/1.4 var(--tzx-font); color: var(--tzx-ink3); }
.tzid-list { list-style: none; margin: 9px 0 0; padding: 0; display: grid; gap: 9px; }
@media (min-width: 640px) { .tzid-list { grid-template-columns: 1fr 1fr; } }
.tzid-card { padding: 10px 10px 9px; border-radius: 14px; background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .06); animation: tzseeFade .4s ease both; }
.tzid-h { display: flex; align-items: center; gap: 8px; }
.tzid-h b { font: 800 13px var(--tzx-font); }
.tzid-h em { font: 800 12px var(--tzx-font); font-style: normal; }
.tzid-h .is-up, .tzid-plan .is-up { color: rgb(184, 245, 0); }
.tzid-h .is-dn, .tzid-plan .is-dn { color: rgb(255, 96, 82); }
.tzid-rr { margin-left: auto; padding: 2px 8px; border-radius: 8px; background: rgba(255, 255, 255, .08); font: 800 11.5px var(--tzx-font); color: var(--tzx-ink); }
.tzid-chart { margin-top: 6px; width: 100%; min-height: 118px; }
.tzid-svg { display: block; width: 100%; height: auto; overflow: visible; }
.tzid-grid { stroke: rgba(255, 255, 255, .05); stroke-width: 1; }
.tzid-lab { font: 700 9.5px var(--tzx-font); }
.tzid-plan { margin: 6px 1px 0; font: 600 12.5px/1.45 var(--tzx-font); color: var(--tzx-ink2); }
.tzid-plan b { color: var(--tzx-ink); font-weight: 800; }
.tzid-paid { margin: 3px 1px 0; font: 700 11.5px var(--tzx-font); color: var(--tzx-ink3); }
.tzid-foot { margin: 8px 2px 0; font: 600 11px var(--tzx-font); color: var(--tzx-ink3); }
.tzid-intro, .tzlk-say { margin: 7px 2px 0; font: 500 13px/1.5 var(--tzx-font); color: var(--tzx-ink2); }
.tzlk-say b { color: var(--tzx-ink); }
/* the card: the summary under the grade, then one tab at a time (81-signal.js) */
.tzs-para { margin: 6px 0 0; font: 500 14px/1.55 var(--tzx-font); color: var(--tzx-ink2); }
.tzs-story .tzs-vibe { font-size: 15.5px; font-weight: 800; }
.tzs-story .tzs-para { margin: 7px 0 0; font: 500 13.5px/1.55 var(--tzx-font); color: var(--tzx-ink2); }
.tzs-tabs { position: relative; display: flex; gap: 4px; margin: 14px 0 2px; padding: 3px; border-radius: 12px; background: rgba(255, 255, 255, .05); overflow-x: auto; scrollbar-width: none; }
.tzs-tabs::-webkit-scrollbar { display: none; }
.tzs-tabs.m-r { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent); }
.tzs-tabs.m-l { -webkit-mask-image: linear-gradient(90deg, transparent, #000 26px); mask-image: linear-gradient(90deg, transparent, #000 26px); }
.tzs-tabs.m-l.m-r { -webkit-mask-image: linear-gradient(90deg, transparent, #000 26px, #000 calc(100% - 26px), transparent); mask-image: linear-gradient(90deg, transparent, #000 26px, #000 calc(100% - 26px), transparent); }
.tzs-tabs button { flex: 1 0 auto; height: 32px; padding: 0 12px; border: 0; border-radius: 9px; background: transparent; color: var(--tzx-ink2); font: 750 13px var(--tzx-font); cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 5px; transition: background .15s, color .15s; }
.tzs-tabs button[aria-selected="true"] { background: rgba(255, 255, 255, .13); color: var(--tzx-ink); }
.tzs-tabn { min-width: 16px; height: 16px; padding: 0 4px; border-radius: 849px; background: rgba(184, 245, 0, .16); color: rgb(184, 245, 0); font: 800 10px/16px var(--tzx-font); font-style: normal; }
.tzs-tabdot { width: 7px; height: 7px; border-radius: 50%; background: rgb(255, 190, 80); animation: tzseePulse 1.8s ease-out infinite; }
.tzs-tab > section:first-child, .tzs-tab > div:first-child { margin-top: 10px; }
@media (max-width: 420px) { .tzs-tabs { gap: 2px; } .tzs-tabs button { padding: 0 7px; font-size: 12.5px; } }
@media (prefers-reduced-motion: reduce) { .tzlk * { animation: none !important; } }

/* ── Performance charts (153-curves.js) ────────────────────────────────── */
.tzq { margin: 14px 0 7px; padding: 12px; border-radius: 17px; background: rgba(255, 255, 255, .03); border: 1px solid var(--tzx-line); font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzq-head { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.tzq-head b { font: 800 13.5px var(--tzx-font); }
.tzq-det { height: 24px; padding: 0 10px; border-radius: 849px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 700 12px var(--tzx-font); cursor: pointer; }
.tzq-det[aria-pressed="true"] { background: rgba(184, 245, 0, .12); color: var(--tzx-acc); border-color: rgba(184, 245, 0, .3); }
.tzq-tabs { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 9px; }
.tzq-tabs button { height: 26px; padding: 0 10px; border: 0; border-radius: 8px; background: rgba(255, 255, 255, .05); color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzq-tabs button[aria-selected="true"] { background: rgba(255, 255, 255, .14); color: var(--tzx-ink); }
.tzq-tabs .tzq-more { background: transparent; border: 1px dashed var(--tzx-line); }
.tzq-chart { margin-top: 9px; width: 100%; min-height: 102px; }
.tzq-svg { display: block; width: 100%; height: auto; overflow: visible; }
.tzq-grid { stroke: rgba(255, 255, 255, .05); }
.tzq-zero { stroke: rgba(255, 255, 255, .22); stroke-dasharray: 3 4; }
.tzq-peak { fill: none; stroke: rgba(245, 245, 247, .35); stroke-width: 1; stroke-dasharray: 2 3; }
.tzq-ddzone { fill: rgba(255, 96, 82, .08); }
.tzq-axis { font: 600 9.5px var(--tzx-font); fill: rgba(245, 245, 247, .42); }
.tzq-axis.is-dim { fill: rgba(245, 245, 247, .28); }
.tzq-tag { font: 800 10px var(--tzx-font); paint-order: stroke; stroke: rgba(10, 10, 12, .9); stroke-width: 3px; stroke-linejoin: round; }
.tzq-val { font: 700 9.5px var(--tzx-font); fill: rgba(245, 245, 247, .75); }
.tzq-lab { font: 800 11px var(--tzx-font); fill: var(--tzx-ink); }
.tzq-draw { stroke-dasharray: 2400; stroke-dashoffset: 2400; animation: tzseeDraw 1.1s ease forwards; }
.tzq-dot, .tzq-bar { animation: tzseeFade .45s ease both; }
.tzq-none { margin: 5px 2px; font-size: 13px; color: var(--tzx-ink2); }
.tzq-sheet { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-top: 9px; }
.tzq-sheet.is-full { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 560px) { .tzq-sheet.is-full { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tzq-st { min-width: 0; padding: 8px 9px; border-radius: 10px; background: rgba(255, 255, 255, .045); }
.tzq-st small { display: block; font-size: 11px; font-weight: 700; color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzq-st b { display: block; margin-top: 2px; font: 800 13px var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzq-st b.is-up { color: rgb(184, 245, 0); }
.tzq-st b.is-dn { color: rgb(255, 96, 82); }
@media (prefers-reduced-motion: reduce) { .tzq * { animation: none !important; } .tzq-draw { stroke-dashoffset: 0; } }

/* ── Your style (154-style.js) ─────────────────────────────────────────── */
.tzy { margin: 3px 0 10px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzy-row { display: flex; align-items: center; gap: 7px; padding: 9px 10px; border-radius: 14px; background: rgba(255, 255, 255, .045); border: 1px solid var(--tzx-line); }
.tzy-row > span { flex: 1; min-width: 0; }
.tzy-row small { display: block; font-size: 11px; font-weight: 700; color: var(--tzx-ink3); }
.tzy-row b { display: block; font: 800 13px var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzy-sw { flex: none; height: 29px; padding: 0 12px; border: 0; border-radius: 9px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzy-back { flex: none; height: 29px; padding: 0 10px; border-radius: 9px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzy-start { margin-top: 7px; padding: 10px; border-radius: 14px; background: linear-gradient(180deg, rgba(184, 245, 0, .1), rgba(184, 245, 0, .03)); border: 1px solid rgba(184, 245, 0, .22); animation: tzseeFade .4s ease both; }
.tzy-sh { display: flex; align-items: baseline; justify-content: space-between; gap: 7px; }
.tzy-sh b { font: 800 13px var(--tzx-font); }
.tzy-sh small { font-size: 11.5px; color: var(--tzx-ink3); font-weight: 700; }
.tzy-dots { display: flex; gap: 3px; margin-top: 7px; }
.tzy-dots i { flex: 1; height: 3px; border-radius: 2px; background: rgba(255, 255, 255, .1); }
.tzy-dots i.is-done { background: rgb(184, 245, 0); }
.tzy-dots i.is-now { background: rgba(184, 245, 0, .45); }
.tzy-start p { margin: 9px 0 0; font-size: 14px; line-height: 1.4; }
.tzy-sb { display: flex; gap: 7px; margin-top: 9px; }
.tzy-go { flex: 1; height: 34px; border: 0; border-radius: 10px; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzy-skip { height: 34px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzy-cards { display: grid; gap: 7px; margin-top: 12px; }
.tzy-cards[hidden] { display: none; }
.tzy-card { position: relative; display: block; width: 100%; padding: 10px 29px 10px 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); text-align: left; font-family: var(--tzx-font); cursor: pointer; }
.tzy-card b { display: block; font: 800 13px var(--tzx-font); }
.tzy-card small { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.4; color: var(--tzx-ink2); }
.tzy-card i { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-style: normal; font-size: 20px; color: var(--tzx-ink3); }
.tzy-card:hover { border-color: rgba(184, 245, 0, .35); }
.tzy-more { margin-top: 9px; width: 100%; height: 32px; border-radius: 10px; border: 1px dashed var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }

/* ── Moments: evolve and results (155-evolve.js) ───────────────────────── */
html.tzevo-open { overflow: hidden; }
.tzevo { position: fixed; inset: 0; z-index: 9600; display: flex; align-items: center; justify-content: center; padding: 14px; background: radial-gradient(ellipse at 50% 40%, rgba(20, 24, 12, .92), rgba(0, 0, 0, .94)); backdrop-filter: blur(8px); font-family: var(--tzx-font); color: var(--tzx-ink); animation: tzseeFade .3s ease both; }
.tzevo.is-out { opacity: 0; transition: opacity .25s; }
.tzevo-box { position: relative; width: min(420px, 100%); text-align: center; }
.tzevo-k { display: block; font: 800 11px var(--tzx-font); letter-spacing: .12em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzevo h2 { margin: 5px 0 0; font: 800 15px var(--tzx-font); }
.tzevo-stage { position: relative; width: 240px; height: 240px; margin: 0 auto; display: grid; place-items: center; }
.tzevo-rays { position: absolute; inset: -34px; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(255, 236, 160, .16) 0 8deg, transparent 8deg 20deg); opacity: 0; transition: opacity .6s; animation: tzevoSpin 14s linear infinite; mask-image: radial-gradient(circle, #000 25%, transparent 70%); -webkit-mask-image: radial-gradient(circle, #000 25%, transparent 70%); }
@keyframes tzevoSpin { to { transform: rotate(360deg); } }
.tzevo-orbs { position: relative; width: 168px; height: 168px; }
.tzevo-orbs > span { position: absolute; inset: 0; display: grid; place-items: center; transition: filter .08s, opacity .08s, transform .3s; }
.tzevo-b { opacity: 0; }
.tzevo.is-evolving .tzevo-orbs > span { filter: brightness(0) invert(1) drop-shadow(0 0 18px rgba(255, 255, 255, .8)); }
.tzevo.is-evolving .tzevo-orbs { animation: tzevoPulse .5s ease-in-out infinite alternate; }
@keyframes tzevoPulse { from { transform: scale(.94); } to { transform: scale(1.06); } }
.tzevo.is-evolving.show-b .tzevo-a { opacity: 0; } .tzevo.is-evolving.show-b .tzevo-b { opacity: 1; }
.tzevo.is-done .tzevo-a { opacity: 0; } .tzevo.is-done .tzevo-b { opacity: 1; animation: tzevoPop .7s cubic-bezier(.2, 1.4, .4, 1) both; }
.tzevo.is-done .tzevo-rays { opacity: 1; }
@keyframes tzevoPop { from { transform: scale(.6); } to { transform: none; } }
.tzevo-burst { position: absolute; inset: 0; pointer-events: none; }
.tzevo-burst i { position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; margin: -3px; border-radius: 50%; background: #fff3b0; box-shadow: 0 0 10px #ffe680; opacity: 0; transform: rotate(var(--a)) translateY(0); }
.tzevo.is-done .tzevo-burst i { animation: tzevoBurst 1.1s ease-out var(--d) both; }
@keyframes tzevoBurst { 0% { opacity: 1; transform: rotate(var(--a)) translateY(0) scale(1); } 100% { opacity: 0; transform: rotate(var(--a)) translateY(-150px) scale(.3); } }
.tzevo-flash { position: fixed; inset: 0; background: #fff; opacity: 0; pointer-events: none; }
.tzevo.is-flash .tzevo-flash { animation: tzevoFlash .9s ease-out both; }
@keyframes tzevoFlash { 0% { opacity: 0; } 25% { opacity: 1; } 100% { opacity: 0; } }
.tzevo-say { min-height: 37px; margin: 5px 0 0; font: 700 17px var(--tzx-font); line-height: 1.35; }
.tzevo-say b { color: var(--tzx-acc); }
.tzevo-count { position: relative; display: flex; align-items: baseline; justify-content: center; gap: 7px; margin-top: 9px; }
.tzevo-count b { font: 900 20px var(--tzx-font); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.tzevo-count small { font-size: 13px; color: var(--tzx-ink3); font-weight: 700; }
.tzevo-cup { align-self: center; }
.tzevo-delta { font-style: normal; font: 900 13.5px var(--tzx-font); color: rgb(184, 245, 0); opacity: 0; animation: tzevoDelta 1.4s ease .5s both; }
.tzevo.is-loss .tzevo-delta { color: rgb(255, 96, 82); }
@keyframes tzevoDelta { 0% { opacity: 0; transform: translateY(10px); } 30% { opacity: 1; transform: none; } 100% { opacity: 1; } }
.tzevo.is-loss.is-in .tzevo-count b { animation: tzevoShake .5s ease .4s; color: rgb(255, 96, 82); }
@keyframes tzevoShake { 0%, 100% { transform: none; } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.tzevo-bar { width: min(280px, 90%); height: 7px; margin: 10px auto 0; border-radius: 3px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.tzevo-bar i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, #b8f500, #fff3b0); transition: width 1.3s cubic-bezier(.3, .8, .3, 1); }
.tzevo-coins { position: relative; height: 0; }
.tzevo-coins i { position: absolute; left: calc(50% - 40px + var(--k, 0) * 9px); top: 26px; width: 9px; height: 9px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff3b0, #e0b800); opacity: 0; }
.tzevo.is-in .tzevo-coins i { animation: tzevoCoin .9s ease-in both; }
.tzevo-coins i:nth-child(1) { --k: 0; animation-delay: .3s !important; } .tzevo-coins i:nth-child(2) { --k: 1; animation-delay: .38s !important; } .tzevo-coins i:nth-child(3) { --k: 2; animation-delay: .46s !important; }
.tzevo-coins i:nth-child(4) { --k: 3; animation-delay: .54s !important; } .tzevo-coins i:nth-child(5) { --k: 4; animation-delay: .62s !important; } .tzevo-coins i:nth-child(6) { --k: 5; animation-delay: .7s !important; }
.tzevo-coins i:nth-child(7) { --k: 6; animation-delay: .78s !important; } .tzevo-coins i:nth-child(8) { --k: 7; animation-delay: .86s !important; } .tzevo-coins i:nth-child(9) { --k: 8; animation-delay: .94s !important; }
@keyframes tzevoCoin { 0% { opacity: 1; transform: translate(0, 0); } 100% { opacity: 0; transform: translate(-30px, -70px) scale(.4); } }
.tzevo-res { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 5px; text-align: left; max-height: 38vh; overflow-y: auto; }
.tzevo-res li { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 9px 10px; border-radius: 12px; background: rgba(255, 255, 255, .05); border: 1px solid transparent; animation: tzseeFade .4s ease both; }
.tzevo-res li.is-ok { border-color: rgba(184, 245, 0, .22); }
.tzevo-res li.is-no { border-color: rgba(255, 96, 82, .22); }
.tzevo-res li span { min-width: 0; }
.tzevo-res b { display: block; font: 800 13px var(--tzx-font); }
.tzevo-res small { display: block; font-size: 12px; color: var(--tzx-ink3); }
.tzevo-res small.tzevo-why { color: var(--tzx-ink2); margin-top: 2px; }
.tzevo-res em { flex: none; font-style: normal; font: 900 13.5px var(--tzx-font); }
.tzevo-res li.is-ok em { color: rgb(184, 245, 0); } .tzevo-res li.is-no em { color: rgb(255, 96, 82); } .tzevo-res li.is-void em { color: var(--tzx-ink3); font-size: 12px; }
.tzevo-act { display: flex; gap: 7px; margin-top: 14px; }
.tzevo-act[hidden] { display: none; }
.tzevo-act button { flex: 1; height: 39px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .05); color: var(--tzx-ink); font: 800 13px var(--tzx-font); cursor: pointer; }
.tzevo-act .tzevo-go { border: 0; background: var(--tzx-acc); color: #050505; box-shadow: 0 4px 0 #6d9200; }
@media (prefers-reduced-motion: reduce) { .tzevo *, .tzevo { animation: none !important; } }
/* the planted Legion flag; Home's T without its tile */
.tzx-flagic .tzx-flag-b { fill: currentColor; fill-opacity: .16; }
.tzx-nav-btn.is-on .tzx-flagic .tzx-flag-b { fill-opacity: .35; }
.hdr .user-sync-dot { display: none !important; }

/* ── Faces (2026-10-06): a rounded rectangle fully covered by a picture or the
   trader's photo; no rings, glows, gradients or crests ─────────────────── */
.tzpf-av.is-pic { position: relative; display: block; overflow: hidden; border-radius: 26%; background: #1a1d24 !important; box-shadow: none !important; font-size: 0; flex: none; }
.tzpf-av.is-pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; display: block; }
#acct-avatar-hdr.has-face { border-radius: 26%; overflow: hidden; }
#acct-avatar-hdr.has-face::before, #acct-avatar-hdr.has-face::after { content: none !important; display: none !important; }
.tzpf-me .tzpf-av.is-pic { margin: 0 auto; }
.tzpf-photo .tzpf-ph[disabled] { opacity: .45; cursor: default; }

/* ── You: the account sheet (156-you.js) ─────────────────────────────── */
.tzyou { position: fixed; inset: 0; z-index: 9100; display: flex; justify-content: center; align-items: flex-end; background: rgba(0, 0, 0, .66); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: tzyouIn .2s ease both; }
.tzyou.is-out { opacity: 0; transition: opacity .18s; }
@keyframes tzyouIn { from { opacity: 0; } to { opacity: 1; } }
html.tzyou-open, html.tzyou-open body { overflow: hidden; }
.tzyou-box { width: min(520px, 100%); max-height: min(92dvh, 900px); overflow-y: auto; overscroll-behavior: contain; padding: 12px 14px calc(15px + env(safe-area-inset-bottom, 0px)); border-radius: 19px 19px 0 0; background: #0b0e14; border: 1px solid var(--tzx-line); border-bottom: 0; font-family: var(--tzx-font); color: var(--tzx-ink); animation: tzyouUp .26s cubic-bezier(.2, .8, .3, 1) both; }
@keyframes tzyouUp { from { transform: translateY(40px); } to { transform: none; } }
@media (min-width: 700px) { .tzyou { align-items: center; padding: 14px; } .tzyou-box { border-radius: 19px; border-bottom: 1px solid var(--tzx-line); } }
.tzyou-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.tzyou-top h2 { margin: 0; font: 900 15.5px var(--tzx-font); letter-spacing: -.01em; }
.tzyou-card { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 15px; background: linear-gradient(135deg, color-mix(in srgb, var(--lg, #b8f500) 14%, transparent), rgba(255, 255, 255, .03)); border: 1px solid color-mix(in srgb, var(--lg, #b8f500) 26%, transparent); }
.tzyou-face { flex: none; display: block; line-height: 0; }
.tzyou-id { flex: 1; min-width: 0; display: grid; gap: 3px; }
.tzyou-id > b { font: 900 13.5px var(--tzx-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzyou-lg { display: flex; align-items: center; gap: 5px; min-width: 0; }
.tzyou-lg svg, .tzyou-lg canvas { flex: none; }
.tzyou-lg em { font-style: normal; font: 800 13px var(--tzx-font); color: var(--lg, var(--tzx-acc)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzyou-id small { font-size: 12px; color: var(--tzx-ink3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzyou-edit { flex: none; height: 29px; padding: 0 12px; border-radius: 84px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .06); color: var(--tzx-ink); font: 800 13px var(--tzx-font); cursor: pointer; }
.tzyou-card.is-out-card { flex-direction: column; align-items: stretch; text-align: center; gap: 7px; padding: 15px 12px; }
.tzyou-card.is-out-card b { font: 900 13.5px var(--tzx-font); }
.tzyou-card.is-out-card small { font-size: 13px; color: var(--tzx-ink2); }
.tzyou-go, .tzyou-ghost { height: 37px; border-radius: 12px; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzyou-go { border: 0; background: var(--tzx-acc); color: #050505; }
.tzyou-ghost { border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink); }
.tzyou-plan { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 9px; padding: 9px 10px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--tzx-line); }
.tzyou-plan span { min-width: 0; display: grid; gap: 1px; }
.tzyou-plan b { font: 800 13px var(--tzx-font); }
.tzyou-plan small { font-size: 12px; color: var(--tzx-ink3); }
.tzyou-plan button { flex: none; height: 29px; padding: 0 12px; border-radius: 84px; border: 0; background: var(--tzx-acc); color: #050505; font: 800 13px var(--tzx-font); cursor: pointer; }
.tzyou-plan.is-pro { border-color: rgba(255, 216, 77, .3); background: rgba(255, 216, 77, .06); }
.tzyou-plan.is-pro b { color: #ffd84d; }
.tzyou-plan.is-pro button { background: rgba(255, 255, 255, .08); color: var(--tzx-ink); }
.tzyou-nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-top: 9px; }
.tzyou-nums span { min-width: 0; display: grid; gap: 1px; padding: 8px 3px; border-radius: 12px; background: rgba(255, 255, 255, .04); text-align: center; }
.tzyou-nums b { font: 900 13px var(--tzx-font); font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzyou-nums small { font-size: 10.5px; color: var(--tzx-ink3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzyou-list { margin-top: 9px; border-radius: 14px; background: rgba(255, 255, 255, .035); border: 1px solid var(--tzx-line); overflow: hidden; }
.tzyou-row { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 7px 10px; border: 0; border-top: 1px solid rgba(255, 255, 255, .05); background: transparent; color: var(--tzx-ink); text-align: left; font-family: var(--tzx-font); cursor: pointer; }
.tzyou-list > .tzyou-row:first-child { border-top: 0; }
button.tzyou-row:active { background: rgba(255, 255, 255, .05); }
.tzyou-row > i { flex: none; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; background: rgba(255, 255, 255, .06); }
.tzyou-row > i svg, .tzyou-chev { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzyou-row > span { flex: 1; min-width: 0; display: grid; gap: 1px; }
.tzyou-row b { font: 700 13px var(--tzx-font); }
.tzyou-row small { font-size: 12px; color: var(--tzx-ink3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tzyou-chev { flex: none; color: var(--tzx-ink3); }
.tzyou-row.is-form { cursor: default; }
.tzyou-inline { display: flex; gap: 5px; margin-top: 5px; min-width: 0; }
.tzyou-inline input { flex: 1; min-width: 0; height: 31px; padding: 0 9px; border-radius: 9px; border: 1px solid var(--tzx-line); background: rgba(0, 0, 0, .3); color: var(--tzx-ink); font: 600 13.5px var(--tzx-font); }
.tzyou-inline input[data-code] { text-transform: uppercase; letter-spacing: .06em; }
.tzyou-inline button { flex: none; height: 31px; padding: 0 12px; border-radius: 9px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .06); color: var(--tzx-ink); font: 800 13px var(--tzx-font); cursor: pointer; }
.tzyou-acc { display: flex; gap: 7px; margin-top: 5px; }
.tzyou-acc button { width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .14); cursor: pointer; padding: 0; }
.tzyou-acc button.is-locked { opacity: .45; }
.tzyou-out { display: block; width: 100%; height: 39px; margin-top: 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 800 13px var(--tzx-font); cursor: pointer; }
.tzyou-del { display: block; margin: 9px auto 0; padding: 5px 9px; border: 0; background: none; color: rgb(255, 96, 82); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzyou-ver { margin: 7px 0 0; text-align: center; font-size: 11px; color: var(--tzx-ink3); }
@media (max-width: 360px) { .tzyou-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tzyou-card { gap: 9px; } }

/* ── The phone holds still (owner, 2026-10-06: "make things stick to the
   borders so elements don't slide on the phone"): the page never pans
   sideways or bounces, a pinch or a double tap doesn't zoom it, and the
   phone doesn't resize text on its own. Rows that scroll sideways (chips,
   leagues) still scroll; the chart drawing tools set their own touch rules. */
html.tz-app, html.tz-app body { max-width: 100%; overflow-x: hidden; overflow-x: clip; overscroll-behavior: none; }
html.tz-app { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; touch-action: pan-x pan-y; }
@media (pointer: coarse) { html.tz-app body { -webkit-tap-highlight-color: transparent; } }

/* You: the code box under the plan, the second page's back arrow */
.tzyou-code { margin: 5px 2px 0; }
.tzyou-code .tzyou-inline { margin-top: 0; }
.tzyou-link { padding: 3px 0; border: 0; background: none; color: var(--tzx-ink3); font: 600 12px var(--tzx-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tzyou-top h2 { flex: 1; }
.tzyou-back { width: 31px; height: 31px; margin-right: 7px; border-radius: 10px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink); font: 600 19px/1 var(--tzx-font); cursor: pointer; }
.tzx-more-grid > [hidden] { display: none !important; }

/* Legion (2026-10-07): Join and Create right in the chat; Friends as their own sheet */
.tzc-cv-two { display: flex; gap: 7px; flex-wrap: wrap; justify-content: center; }
.tzc-cv-go.is-soft { background: rgba(255, 255, 255, .08); color: var(--tzx-ink); }
.tzlg-soc-h { margin: 2px 0 10px; font: 800 15px var(--tzx-font); }
.tzlg-socsheet .tzlg-seg { margin-top: 0; }
#tab-legion { padding: 0 14px 24px; }   /* the same margins as the Trophy road (#tzm) */
/* the prize's "?": small and quiet (owner, 2026-10-07: "why so big"); the app-wide
   40px button minimum doesn't apply, a few invisible pixels around it keep it tappable */
.tzlb-prize b .tzpz-q { min-width: 0; min-height: 0; width: 15px; height: 15px; margin-left: 4px; vertical-align: 2px; border-width: 1px; border-color: rgba(255, 226, 122, .45); background: none; color: rgba(255, 226, 122, .8); font: 800 9.5px/1 var(--tzx-font); }
.tzlb-prize b .tzpz-q::after { content: ''; position: absolute; inset: -7px; }

/* ── The header (owner, 2026-10-07: "time to change this header, it's old from
   v1 … the profile with that green circle, the logo too, same but better … the
   session dot: a high aura when sessions overlap, a low dim aura when it's
   chill … make sure the whole header appears well"). One row on every screen:
   the Tradzy mark and name · the session pill · music and you. Whatever else
   the old header still holds (autosave, sync dot, greeting) stays hidden. ──── */
html.tz-app .hdr {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px;
  height: 52px !important; min-height: 52px !important; padding: 0 12px !important;
  background: rgba(7, 8, 11, .86) !important; -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid rgba(255, 255, 255, .06) !important; box-shadow: none !important;
}
html.tz-app .hdr > :not(.logo-wrap):not(.hdr-center):not(.hdr-right) { display: none !important; }

/* the brand */
html.tz-app .hdr .logo-wrap { justify-self: start; display: inline-flex !important; align-items: center; gap: 7px; min-width: 0; overflow: hidden; margin: 0 !important; padding: 0 !important; }
html.tz-app .hdr .logo { display: block !important; font: 400 20px/1 'Bebas Neue', var(--tzx-font) !important; letter-spacing: .15em !important; color: #b8f500 !important;
  text-shadow: none !important; white-space: nowrap; overflow: hidden; text-overflow: clip; padding-top: 2px; }

/* the session pill: its dot's aura follows the market (149-clock.js data-level) */
html.tz-app .hdr .hdr-center { justify-self: center; display: flex !important; align-items: center; min-width: 0; overflow: visible !important; margin: 0 !important; position: static !important; transform: none !important; }
html.tz-app #session-clock-wrap { height: 30px !important; min-height: 0 !important; min-width: 0 !important; max-width: 150px; gap: 8px; padding: 0 13px 0 11px; overflow: visible;
  border: 1px solid color-mix(in srgb, var(--ck, #6a7280) 32%, rgba(255, 255, 255, .06)); background: color-mix(in srgb, var(--ck, #6a7280) 9%, rgba(255, 255, 255, .03)); }
html.tz-app #session-clock-wrap .tzck-name { font: 700 12.5px var(--tzx-font); }
html.tz-app #session-clock-wrap .tzck-bar { left: 12px; right: 12px; bottom: 4px; height: 1.5px; overflow: hidden; }
html.tz-app #session-clock-wrap .tzck-dot { position: relative; width: 8px; height: 8px; box-shadow: 0 0 6px color-mix(in srgb, var(--ck, #6a7280) 70%, transparent); }
html.tz-app #session-clock-wrap .tzck-dot::after { content: ''; position: absolute; inset: -5px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, color-mix(in srgb, var(--ck, #6a7280) 55%, transparent) 0%, transparent 70%); opacity: .55; }
/* overlap (London + New York, or any two): a bright aura and a ring going out */
html.tz-app #session-clock-wrap[data-level="hot"] .tzck-dot { box-shadow: 0 0 10px 2px var(--ck), 0 0 22px 6px color-mix(in srgb, var(--ck) 45%, transparent); animation: tzck-aura 1.8s ease-in-out infinite; }
html.tz-app #session-clock-wrap[data-level="hot"] .tzck-dot::after { inset: -10px; opacity: 1; animation: tzck-ring 1.8s ease-out infinite; }
/* one session: a soft breath */
html.tz-app #session-clock-wrap[data-level="on"] .tzck-dot { animation: tzck-breathe 3.4s ease-in-out infinite; }
/* opening in a few minutes: it blinks */
html.tz-app #session-clock-wrap[data-level="soon"] .tzck-dot { animation: tzck-pulse 1.2s ease-in-out infinite; }
/* quiet hours and the weekend: low and dim */
html.tz-app #session-clock-wrap[data-level="quiet"] .tzck-dot, html.tz-app #session-clock-wrap[data-level="weekend"] .tzck-dot { opacity: .55; box-shadow: 0 0 3px color-mix(in srgb, var(--ck, #6a7280) 40%, transparent); }
html.tz-app #session-clock-wrap[data-level="quiet"] .tzck-dot::after, html.tz-app #session-clock-wrap[data-level="weekend"] .tzck-dot::after { opacity: .12; }
@keyframes tzck-aura { 50% { box-shadow: 0 0 14px 3px var(--ck), 0 0 32px 10px color-mix(in srgb, var(--ck) 40%, transparent); } }
@keyframes tzck-ring { 0% { transform: scale(.55); opacity: .95; } 100% { transform: scale(1.7); opacity: 0; } }
@keyframes tzck-breathe { 50% { box-shadow: 0 0 12px 2px color-mix(in srgb, var(--ck, #6a7280) 70%, transparent); } }
@media (prefers-reduced-motion: reduce) { html.tz-app #session-clock-wrap .tzck-dot, html.tz-app #session-clock-wrap .tzck-dot::after { animation: none !important; } }

/* music and you */
html.tz-app .hdr .hdr-right { justify-self: end; display: flex !important; align-items: center; gap: 8px; margin: 0 !important; min-width: 0; }
/* a phone: the logo and the buttons take what they need and the session pill gets the middle that's left, so a crowded
   right side (Get, the gift pill, music, you) never slides over it */
@media (max-width: 560px) {
  html.tz-app .hdr { grid-template-columns: auto minmax(0, 1fr) auto; }
  html.tz-app .hdr .hdr-center { overflow: hidden !important; }
  html.tz-app #session-clock-wrap { max-width: 100% !important; }
}
html.tz-app .hdr .music-btn, html.tz-app .hdr .user-acct-btn {
  position: relative; display: grid !important; place-items: center; width: 34px !important; height: 34px !important; min-width: 0 !important; min-height: 0 !important;
  padding: 0 !important; margin: 0 !important; border-radius: 11px !important; border: 0 !important; background: rgba(255, 255, 255, .045) !important; box-shadow: none !important;
  color: var(--tzx-ink2) !important; transition: background .15s, color .15s; }
/* the green ring (both, like before, finer) */
html.tz-app .hdr .music-btn::after, html.tz-app .hdr .user-acct-btn::after { content: ''; position: absolute; inset: 0; border-radius: 11px; pointer-events: none;
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--tzx-acc, #b8f500) 55%, transparent); }
html.tz-app .hdr .music-btn #music-icon, html.tz-app .hdr #acct-btn-icon, html.tz-app .hdr #acct-signed-dot { display: none !important; }
html.tz-app .hdr .music-btn::before, html.tz-app .hdr .user-acct-btn:not(.signed-in)::before { content: ''; width: 17px; height: 17px; background: currentColor;
  -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
html.tz-app .hdr .music-btn { --ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 18V5l11-2v13'/><circle cx='6.5' cy='18' r='2.5'/><circle cx='17.5' cy='16' r='2.5'/></svg>"); }
html.tz-app .hdr .user-acct-btn { --ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><circle cx='12' cy='8.5' r='3.8'/><path d='M4.5 20c.9-3.6 3.9-5.6 7.5-5.6s6.6 2 7.5 5.6'/></svg>"); }
html.tz-app .hdr .music-btn.playing { color: #b8f500 !important; background: rgba(184, 245, 0, .1) !important; }
html.tz-app .hdr .music-btn.playing::after { box-shadow: inset 0 0 0 1.5px #b8f500, 0 0 12px rgba(184, 245, 0, .35); }
@media (hover: hover) { html.tz-app .hdr .music-btn:hover, html.tz-app .hdr .user-acct-btn:hover { background: rgba(255, 255, 255, .08) !important; color: var(--tzx-ink) !important; } }
/* signed in: your face fills it, the ring round it */
html.tz-app .hdr .user-acct-btn.signed-in { background: none !important; }
html.tz-app .hdr #acct-avatar-hdr.has-face { width: 34px !important; height: 34px !important; border-radius: 11px !important; overflow: hidden; }
html.tz-app .hdr #acct-avatar-hdr.has-face .tzpf-av { width: 34px !important; height: 34px !important; border-radius: 11px !important; }
html.tz-app .hdr .user-acct-btn.signed-in::after { box-shadow: inset 0 0 0 1.5px #b8f500, 0 0 0 2px rgba(7, 8, 11, .9), 0 0 10px rgba(184, 245, 0, .25); }

/* narrow phones: a smaller name; the smallest keep the mark alone */
@media (max-width: 360px) { html.tz-app .hdr .logo { font-size: 17px !important; letter-spacing: .12em !important; } html.tz-app #session-clock-wrap { max-width: 146px; padding: 0 11px 0 10px; gap: 7px; } }
@media (max-width: 330px) { html.tz-app .hdr .logo { display: none !important; } }

/* smaller (owner, 2026-10-07: "remove the logo, just TRADZY; make the header
   smaller, especially the NY bubble and the music"): 44px, a 24px pill, 28px buttons */
html.tz-app .hdr { height: 44px !important; min-height: 44px !important; padding: 0 10px !important; gap: 6px; }
html.tz-app .hdr .logo { font-size: 18px !important; letter-spacing: .14em !important; }
html.tz-app #session-clock-wrap { height: 24px !important; max-width: 132px; gap: 6px; padding: 0 10px 0 9px; }
html.tz-app #session-clock-wrap .tzck-name { font: 700 11.5px var(--tzx-font); }
html.tz-app #session-clock-wrap .tzck-dot { width: 7px; height: 7px; }
html.tz-app #session-clock-wrap .tzck-bar { left: 10px; right: 10px; bottom: 3px; height: 1px; }
html.tz-app .hdr .hdr-right { gap: 6px; }
html.tz-app .hdr .music-btn, html.tz-app .hdr .user-acct-btn { width: 28px !important; height: 28px !important; border-radius: 9px !important; }
html.tz-app .hdr .music-btn::after, html.tz-app .hdr .user-acct-btn::after { border-radius: 9px; box-shadow: inset 0 0 0 1.2px color-mix(in srgb, var(--tzx-acc, #b8f500) 50%, transparent); }
html.tz-app .hdr .music-btn::before, html.tz-app .hdr .user-acct-btn:not(.signed-in)::before { width: 14px; height: 14px; }
html.tz-app .hdr #acct-avatar-hdr.has-face, html.tz-app .hdr #acct-avatar-hdr.has-face .tzpf-av { width: 28px !important; height: 28px !important; border-radius: 9px !important; }
html.tz-app .hdr .user-acct-btn.signed-in::after { box-shadow: inset 0 0 0 1.2px #b8f500, 0 0 0 1.5px rgba(7, 8, 11, .9), 0 0 8px rgba(184, 245, 0, .22); }
html.tz-app .hdr .music-btn.playing::after { box-shadow: inset 0 0 0 1.2px #b8f500, 0 0 10px rgba(184, 245, 0, .3); }
.tz-cr-pop { position: fixed; z-index: 100250; width: min(280px, calc(100vw - 16px)); padding: 15px 15px 13px; border-radius: 16px; font-family: var(--tzx-font); color: var(--tzx-ink);
  background: linear-gradient(180deg, #12150d, #0b0c0f 60%); border: 1px solid rgba(var(--acc-rgb, 184, 245, 0), .22); box-shadow: 0 18px 50px rgba(0, 0, 0, .65); animation: tzcrIn .16s ease-out both; }
.tz-cr-pop[hidden] { display: none; }
@keyframes tzcrIn { from { opacity: 0; transform: translateY(-4px); } }
.tz-cr-n { display: block; margin-bottom: 11px; font: 900 24px/1 var(--tzx-font); letter-spacing: -.03em; color: var(--tzx-acc); font-variant-numeric: tabular-nums; }
.tz-cr-n span { font: 700 13px var(--tzx-font); letter-spacing: 0; color: var(--tzx-ink); }
.tz-cr-row { display: flex; justify-content: space-between; align-items: baseline; margin: 7px 0 0; font-size: 13px; color: var(--tzx-ink2); }
.tz-cr-row b { color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tz-cr-bar { height: 5px; margin: 6px 0 4px; border-radius: 9px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.tz-cr-bar i { display: block; height: 100%; border-radius: inherit; background: var(--tzx-acc); }
.tz-cr-pop p { margin: 11px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tz-cr-pop p b { color: var(--tzx-ink); }
.tz-cr-go { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 38px; margin-top: 12px; border: 0; border-radius: 11px; cursor: pointer;
  background: rgba(var(--acc-rgb, 184, 245, 0), .13); box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb, 184, 245, 0), .35); color: var(--tzx-acc); font: 800 13px var(--tzx-font); }
.tz-cr-link { display: block; margin: 9px auto 0; padding: 3px 6px; border: 0; background: none; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tz-cr-link:hover { color: var(--tzx-ink); }
.tz-cr-row .tz-pt { width: 11px; height: 11px; margin-left: 3px; vertical-align: -2px; }
.tz-cr-offers { display: grid; gap: 6px; margin: 0 0 12px; }
.tz-cr-offer { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px; border: 0; border-radius: 12px; cursor: pointer; text-align: left;
  background: rgba(var(--acc-rgb, 184, 245, 0), .08); box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb, 184, 245, 0), .22); color: var(--tzx-ink); font-family: var(--tzx-font); transition: background .15s; }
.tz-cr-offer:hover { background: rgba(var(--acc-rgb, 184, 245, 0), .14); }
.tz-cr-offer > i { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: rgba(0, 0, 0, .35); font-size: 15px; font-style: normal; }
.tz-cr-offer > i svg { width: 17px; height: 17px; fill: none; stroke: var(--tzx-acc); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tz-cr-offer span { flex: 1; min-width: 0; }
.tz-cr-offer b { display: block; font: 700 13.5px var(--tzx-font); }
.tz-cr-offer small { display: block; margin-top: 1px; font-size: 11.5px; color: var(--tzx-ink2); }
.tz-cr-offer em { flex: none; font: 800 13px var(--tzx-font); font-style: normal; color: var(--tzx-acc); font-variant-numeric: tabular-nums; }

/* the gift box, beside the music button (88-pro.js): the free spin and what's left in one pill.
   Calm by default (🎁 and the number: amber at 3 or fewer, red at 0); lime, shining and wiggling
   while a spin waits; a solid lime chip after a win ("+8" and the credit point) while the points land */
html.tz-app .hdr .tz-gift-slot { position: relative; display: inline-flex; flex: none; }
html.tz-app .hdr .tz-gift-slot[hidden] { display: none; }
html.tz-app .hdr .tz-gift { position: relative; display: inline-flex !important; align-items: center; gap: 4px; height: 28px !important; min-height: 0 !important; min-width: 0 !important;
  margin: 0 !important; padding: 0 9px 0 7px !important; border: 0 !important; border-radius: 9px !important; overflow: hidden; cursor: pointer; line-height: 1 !important;
  background: rgba(255, 255, 255, .045) !important; box-shadow: inset 0 0 0 1.2px color-mix(in srgb, var(--tzx-acc, #b8f500) 50%, transparent) !important;
  color: var(--tzx-acc, #b8f500); font: 800 13px var(--tzx-font); font-variant-numeric: tabular-nums; letter-spacing: 0; white-space: nowrap; transition: box-shadow .2s, background .15s; }
html.tz-app .hdr .tz-gift i { display: inline-block; font-size: 13px; font-style: normal; line-height: 1; transform-origin: 50% 80%; }
html.tz-app .hdr .tz-gift span { position: relative; z-index: 1; line-height: 1; }
html.tz-app .hdr .tz-gift .tz-pt { width: 12.7px; height: 12.7px; vertical-align: 0; }
html.tz-app .hdr .tz-gift.is-low span { color: #ffb44a; }
html.tz-app .hdr .tz-gift.is-low { box-shadow: inset 0 0 0 1.2px rgba(255, 180, 74, .6) !important; }
html.tz-app .hdr .tz-gift.is-out span { color: #ff6b7a; }
html.tz-app .hdr .tz-gift.is-out { box-shadow: inset 0 0 0 1.2px rgba(255, 107, 122, .6) !important; }
@media (hover: hover) { html.tz-app .hdr .tz-gift:hover { background: rgba(255, 255, 255, .08) !important; } }
/* a spin waits: lime, a shine sweeping across, the 🎁 wiggling now and then, a ring pulse */
html.tz-app .hdr .tz-gift.is-spin { background: linear-gradient(135deg, rgba(var(--acc-rgb, 184, 245, 0), .22), rgba(var(--acc-rgb, 184, 245, 0), .1)) !important;
  box-shadow: inset 0 0 0 1.2px rgba(var(--acc-rgb, 184, 245, 0), .7), 0 0 14px rgba(184, 245, 0, .22) !important; }
html.tz-app .hdr .tz-gift.is-spin i { animation: tzgWiggle 3.4s ease-in-out 1.2s infinite; }
html.tz-app .hdr .tz-gift.is-spin::before { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-18deg); animation: tzgShine 3.4s ease-in-out 1.6s infinite; }
html.tz-app .hdr .tz-gift.is-spin::after { content: ''; position: absolute; inset: -1px; border-radius: 10px; pointer-events: none; opacity: 0;
  box-shadow: 0 0 0 1.5px rgba(184, 245, 0, .8); animation: tzgRing 3.4s ease-out 1.2s infinite; }
@media (hover: hover) { html.tz-app .hdr .tz-gift.is-spin:hover { box-shadow: inset 0 0 0 1.2px var(--tzx-acc, #b8f500), 0 0 18px rgba(184, 245, 0, .38) !important; } }
/* half the month used: a quiet 🎁 (no shine), its card leads with invite a friend and get the app (178-box.js) */
html.tz-app .hdr .tz-gift.is-offer i { animation: tzgWiggle 6s ease-in-out 2s infinite; }
html.tz-app .hdr .tz-gift.is-in { animation: tzgIn .6s cubic-bezier(.2, 1.7, .4, 1) both; }
/* the win: a solid chip that pulses as each point lands */
html.tz-app .hdr .tz-gift.is-won { background: var(--tzx-acc, #b8f500) !important; color: #0a0d05; box-shadow: 0 0 18px rgba(184, 245, 0, .55) !important; cursor: default; }
html.tz-app .hdr .tz-gift.is-won i, html.tz-app .hdr .tz-gift.is-won::before, html.tz-app .hdr .tz-gift.is-won::after { animation: none; }
html.tz-app .hdr .tz-gift.is-won::before { display: none; }
html.tz-app .hdr .tz-gift.is-hit { animation: tzgHit .32s cubic-bezier(.2, 1.6, .4, 1); }
@keyframes tzgIn { 0% { transform: scale(.3) translateY(-6px); opacity: 0; } 100% { transform: none; opacity: 1; } }
@keyframes tzgHit { 40% { transform: scale(1.14); } 100% { transform: none; } }
@keyframes tzgWiggle { 0%, 70%, 100% { transform: none; } 75% { transform: translateY(-2px) rotate(-16deg) scale(1.15); } 81% { transform: rotate(12deg); } 87% { transform: rotate(-7deg); } 93% { transform: rotate(3deg); } }
@keyframes tzgShine { 0%, 55% { left: -60%; } 85%, 100% { left: 130%; } }
@keyframes tzgRing { 0%, 70% { transform: scale(1); opacity: 0; } 76% { opacity: .9; } 100% { transform: scale(1.25, 1.6); opacity: 0; } }
/* credits won fly into the top bar (88-pro.js celebrate) */
.tz-cr-coin { position: fixed; left: -10px; top: -10px; z-index: 100500; width: 20px; height: 20px; border-radius: 50%; pointer-events: none; will-change: transform, opacity;
  background: radial-gradient(circle at 35% 30%, #f4ffc2, #b8f500 55%, #8fd400); box-shadow: 0 0 12px rgba(184, 245, 0, .75), 0 0 0 1.5px rgba(7, 8, 11, .6);
  color: #10140a; font: 900 13px/20px var(--tzx-font, sans-serif); font-style: normal; text-align: center; }
/* the credit point, a lime ball with a + (a real SVG, 88-pro.js): what stands after the number; the same ball flies up there */
.tz-pt { display: inline-block; flex: none; width: 16px; height: 16px; vertical-align: -3px; }
@media (prefers-reduced-motion: reduce) { html.tz-app .hdr .tz-gift, html.tz-app .hdr .tz-gift i, html.tz-app .hdr .tz-gift::before, html.tz-app .hdr .tz-gift::after { animation: none !important; } }
/* which engine made the read, beside the call (81-signal.js) */
.tzs-eng { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 6px; vertical-align: 2px; font: 800 10px/1.5 var(--tzx-font, inherit); font-style: normal; letter-spacing: .04em;
  color: var(--tzx-acc, #b8f500); background: rgba(var(--acc-rgb, 184, 245, 0), .12); box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb, 184, 245, 0), .3); }
@media (max-width: 360px) { html.tz-app .hdr .logo { font-size: 16px !important; letter-spacing: .12em !important; display: block !important; } html.tz-app #session-clock-wrap { max-width: 128px; } }
@media (max-width: 330px) { html.tz-app .hdr .logo { display: block !important; font-size: 15px !important; letter-spacing: .1em !important; } }

/* ── The music player (owner, 2026-10-07: "redesign the music player"). The
   same parts and buttons (06-core-state-utils.js drives them), a calmer look:
   art and title, a slim visualizer, a lime play button among quiet ones, a
   thin volume line, one generate bar, and a track list that marks what's
   playing and only flags what's locked. ─────────────────────────────────── */
html.tz-app #music-panel { width: min(380px, calc(100vw - 20px)) !important; max-height: min(78dvh, 680px); overflow-y: auto; overscroll-behavior: contain;
  padding: 14px 14px 10px !important; border-radius: 20px !important; border: 1px solid rgba(255, 255, 255, .08) !important;
  background: linear-gradient(180deg, #11141b, #0b0d12) !important; box-shadow: 0 18px 48px rgba(0, 0, 0, .55) !important; font-family: var(--tzx-font); }
html.tz-app #music-panel * { letter-spacing: normal !important; }
html.tz-app #music-panel .music-panel-header { padding: 0 !important; }
html.tz-app #music-panel .music-now-playing { display: flex; align-items: center; gap: 12px; }
html.tz-app #music-panel .music-album-art { flex: none; width: 54px !important; height: 54px !important; border-radius: 15px !important; border: 0 !important;
  display: grid; place-items: center; font-size: 25px; background: radial-gradient(circle at 30% 25%, rgba(184, 245, 0, .28), transparent 60%), linear-gradient(135deg, #1b2230, #12161e) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06) !important; overflow: hidden; }
html.tz-app #music-panel .music-album-spin { display: none !important; }
html.tz-app #music-panel .music-track-info { min-width: 0; flex: 1; display: grid; gap: 3px; }
html.tz-app #music-panel .music-title { font: 800 15px/1.2 var(--tzx-font) !important; color: var(--tzx-ink) !important; text-transform: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.tz-app #music-panel .music-subtitle { font: 500 12px/1.3 var(--tzx-font) !important; color: var(--tzx-ink3) !important; font-style: normal !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.tz-app #music-panel .music-mode-pill { justify-self: start; display: inline-block !important; width: auto !important; padding: 2px 8px !important; border: 0 !important; border-radius: 99px !important;
  background: rgba(184, 245, 0, .1) !important; color: #b8f500 !important; font: 800 10px/1.4 var(--tzx-font) !important; }

/* the visualizer: low dots at rest, bars while playing */
html.tz-app #music-panel .music-viz { display: flex !important; align-items: flex-end; justify-content: center; gap: 4px; height: 26px !important; margin: 12px 0 6px !important; padding: 0 !important; background: none !important; border: 0 !important; }
html.tz-app #music-panel .music-viz-bar { width: 4px !important; height: 4px !important; min-height: 0; border-radius: 2px !important; background: rgba(184, 245, 0, .28) !important; box-shadow: none !important; transition: height .35s ease; }
html.tz-app #music-panel .music-viz-bar.active-bar { height: var(--h) !important; background: linear-gradient(180deg, #d8ff6a, #b8f500) !important; }

/* the controls: a lime play among quiet buttons */
html.tz-app #music-panel .music-controls { display: flex !important; align-items: center; justify-content: center; gap: 12px; margin: 4px 0 10px !important; padding: 0 !important; border: 0 !important; background: none !important; }
html.tz-app #music-panel .music-ctrl { width: 38px !important; height: 38px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; display: grid; place-items: center;
  border: 0 !important; border-radius: 50% !important; background: rgba(255, 255, 255, .06) !important; color: var(--tzx-ink2) !important; box-shadow: none !important; font-size: 13px !important; line-height: 1 !important; }
html.tz-app #music-panel .music-shuffle-btn, html.tz-app #music-panel #music-loop-btn { width: 32px !important; height: 32px !important; background: none !important; }
html.tz-app #music-panel .music-ctrl-play { width: 54px !important; height: 54px !important; background: #b8f500 !important; color: #050505 !important; font-size: 18px !important; box-shadow: 0 6px 18px rgba(184, 245, 0, .28) !important; }
html.tz-app #music-panel .music-shuffle-btn.active, html.tz-app #music-panel .music-shuffle-btn.on, html.tz-app #music-panel #music-loop-btn.on { color: #b8f500 !important; opacity: 1 !important; }
@media (hover: hover) { html.tz-app #music-panel .music-ctrl:not(.music-ctrl-play):hover { background: rgba(255, 255, 255, .1) !important; color: var(--tzx-ink) !important; } }

/* volume: one thin line */
html.tz-app #music-panel .music-vol-row { display: flex; align-items: center; gap: 9px; margin: 0 2px 12px !important; padding: 0 !important; }
html.tz-app #music-panel #music-vol { flex: 1; height: 4px; accent-color: #b8f500; background: none; }
html.tz-app #music-panel #music-vol-pct { min-width: 30px; color: var(--tzx-ink3) !important; font: 600 11px var(--tzx-font) !important; }

/* one tab only: no tab bar; the list gets a quiet heading instead */
html.tz-app #music-panel .music-sessions { display: none !important; }

/* generate: one soft bar */
html.tz-app #music-panel .music-gen-btn { display: flex !important; align-items: stretch; margin: 0 0 6px !important; border-radius: 13px !important; overflow: hidden;
  border: 1px solid rgba(184, 245, 0, .25) !important; background: rgba(184, 245, 0, .07) !important; box-shadow: none !important; }
html.tz-app #music-panel .music-gen-main { flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px !important; padding: 0 12px !important;
  border: 0 !important; background: none !important; color: #b8f500 !important; font: 800 12.5px var(--tzx-font) !important; text-transform: none !important; letter-spacing: 0 !important; }
/* the style it creates in (06 paintMusicStyles, 158-music.js STYLES): one row of chips you swipe */
html.tz-app #music-panel .music-styles { display: flex; gap: 6px; margin: 0 -14px 8px; padding: 2px 14px; overflow-x: auto; overscroll-behavior-x: contain; scroll-padding: 0 14px;
  scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, transparent, #000 14px, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(90deg, transparent, #000 14px, #000 calc(100% - 24px), transparent); }
html.tz-app #music-panel .music-styles::-webkit-scrollbar { display: none; }
html.tz-app #music-panel .music-style { flex: none; display: inline-flex; align-items: center; gap: 5px; min-width: 0; min-height: 32px; margin: 0; padding: 0 12px; border-radius: 99px;
  border: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .04); color: var(--tzx-ink2); font: 700 12px/1 var(--tzx-font); text-transform: none; white-space: nowrap; cursor: pointer;
  transition: background .15s, border-color .15s, color .15s; }
html.tz-app #music-panel .music-style span { font-size: 13px; line-height: 1; }
html.tz-app #music-panel .music-style.on { border-color: rgba(184, 245, 0, .5); background: rgba(184, 245, 0, .12); color: #b8f500; }
@media (hover: hover) { html.tz-app #music-panel .music-style:not(.on):hover { background: rgba(255, 255, 255, .08); color: var(--tzx-ink); } }
html.tz-app #music-panel .music-gen-progress { margin: 0 2px 12px !important; padding: 0 !important; background: none !important; border: 0 !important; }
html.tz-app #music-panel .music-gen-progress-head { display: flex; justify-content: space-between; gap: 8px; font: 600 11px var(--tzx-font) !important; color: var(--tzx-ink3) !important; margin-bottom: 5px; }
html.tz-app #music-panel .music-gen-progress-bar { height: 3px !important; border-radius: 2px; background: rgba(255, 255, 255, .07) !important; overflow: hidden; border: 0 !important; }
html.tz-app #music-panel .music-gen-progress-fill { height: 100% !important; background: #b8f500 !important; border-radius: 2px; box-shadow: none !important; }

/* the tracks */
html.tz-app #music-panel .music-tracks-wrap { max-height: none !important; border: 0 !important; background: none !important; padding: 0 !important; }
html.tz-app #music-panel .music-tracks-wrap::before { content: 'Tracks'; display: block; margin: 0 2px 6px; font: 800 12px var(--tzx-font); color: var(--tzx-ink3); }
html.tz-app #music-panel .music-track-item { display: grid !important; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 38px; padding: 0 10px !important; margin: 0 0 2px !important;
  border: 0 !important; border-radius: 10px !important; background: none !important; cursor: pointer; }
html.tz-app #music-panel .music-track-item .track-num { font: 700 11.5px var(--tzx-font) !important; color: var(--tzx-ink3) !important; text-align: center; }
html.tz-app #music-panel .music-track-item .track-name { font: 600 13px var(--tzx-font) !important; color: var(--tzx-ink2) !important; text-transform: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.tz-app #music-panel .music-track-item .track-vibe { font: 700 10.5px var(--tzx-font) !important; color: var(--tzx-ink3) !important; opacity: .8; }
html.tz-app #music-panel .music-track-item:not(.locked) .track-lock-badge { display: none !important; }
html.tz-app #music-panel .music-track-item .track-lock-badge { font-size: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html.tz-app #music-panel .music-track-item .track-lock-badge::before { content: '🔒'; font-size: 11px; }
html.tz-app #music-panel .music-track-item.locked { grid-template-columns: 22px minmax(0, 1fr) auto auto; opacity: .45; }
@media (hover: hover) { html.tz-app #music-panel .music-track-item:not(.locked):hover { background: rgba(255, 255, 255, .05) !important; } }
html.tz-app #music-panel .music-track-item.active { background: rgba(184, 245, 0, .09) !important; }
html.tz-app #music-panel .music-track-item.active .track-name { color: #b8f500 !important; font-weight: 800 !important; }
html.tz-app #music-panel .music-track-item.active .track-num { font-size: 0 !important; }
html.tz-app #music-panel .music-track-item.active .track-num::before { content: '▶'; font-size: 10px; color: #b8f500; }

/* You → Sounds: the switch sits at the row's end */
.tzyou-row .tzyou-sw { flex: none; padding: 0; position: relative; }

/* ── The player as a radio (owner, 2026-10-07: "minimal as possible, like
   radio FM, unless they dig in"): the station, play and skip. "All tracks"
   opens the rest (85-shell.js musicMore: #music-panel.is-full, remembered). ── */
/* only while open: the base .music-panel is display:none until .open */
html.tz-app #music-panel.open:not(.is-full) { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "head ctl" "viz viz" "more more";
  align-items: center; column-gap: 10px; width: min(340px, calc(100vw - 20px)) !important; padding: 12px 12px 8px !important; overflow: visible; }
html.tz-app #music-panel:not(.is-full) .music-panel-header { grid-area: head; min-width: 0; }
html.tz-app #music-panel:not(.is-full) .music-album-art { width: 42px !important; height: 42px !important; border-radius: 12px !important; font-size: 20px; }
html.tz-app #music-panel:not(.is-full) .music-title { font-size: 14px !important; }
html.tz-app #music-panel:not(.is-full) .music-subtitle { display: none !important; }
html.tz-app #music-panel .music-mode-pill::after { content: ' FM'; opacity: .75; }
html.tz-app #music-panel:not(.is-full) .music-controls { grid-area: ctl; margin: 0 !important; gap: 6px; }
html.tz-app #music-panel:not(.is-full) .music-ctrl-play { width: 44px !important; height: 44px !important; font-size: 15px !important; box-shadow: 0 4px 12px rgba(184, 245, 0, .25) !important; }
html.tz-app #music-panel:not(.is-full) .music-shuffle-btn,
html.tz-app #music-panel:not(.is-full) .music-controls .music-ctrl:nth-child(2),
html.tz-app #music-panel:not(.is-full) .music-vol-row,
html.tz-app #music-panel:not(.is-full) .music-styles,
html.tz-app #music-panel:not(.is-full) .music-gen-btn,
html.tz-app #music-panel:not(.is-full) .music-gen-progress,
html.tz-app #music-panel:not(.is-full) .music-tracks-wrap { display: none !important; }
html.tz-app #music-panel:not(.is-full) .music-viz { grid-area: viz; height: 16px !important; margin: 10px 0 2px !important; }
html.tz-app #music-panel:not(.is-full) .music-viz-bar.active-bar { height: calc(var(--h) * .6) !important; }
html.tz-app #music-panel .tzmu-more { grid-area: more; justify-self: center; display: block; margin: 4px auto 0; padding: 6px 10px; border: 0; background: none;
  color: var(--tzx-ink3); font: 700 11.5px var(--tzx-font); cursor: pointer; min-height: 0; min-width: 0; }
html.tz-app #music-panel .tzmu-more:hover { color: var(--tzx-ink); }
html.tz-app #music-panel.is-full .tzmu-more { margin: 0 auto 8px; }
html.tz-app #music-panel .music-ctrl { flex: none !important; }
html.tz-app #music-panel #music-vol { -webkit-appearance: auto !important; appearance: auto !important; accent-color: #b8f500; }
/* the full player: "Less" right under the controls, then the rest */
html.tz-app #music-panel.open.is-full { display: flex !important; flex-direction: column; }
html.tz-app #music-panel.is-full > * { flex-shrink: 0; }
html.tz-app #music-panel.is-full .tzmu-more { order: 1; margin: -4px auto 8px; }
html.tz-app #music-panel.is-full .music-vol-row, html.tz-app #music-panel.is-full .music-sessions, html.tz-app #music-panel.is-full .music-styles, html.tz-app #music-panel.is-full .music-gen-btn,
html.tz-app #music-panel.is-full .music-gen-progress, html.tz-app #music-panel.is-full .music-tracks-wrap { order: 2; }

/* ── A trader's card (93-profile.js, owner 2026-10-07): ▲ like · ▼ dislike ·
   + add friend; their trophy road behind the name, likes against dislikes ── */
html.tz-app #tradzy-public-profile .modal { max-width: 380px !important; width: calc(100vw - 20px) !important; padding: 0 !important; border-radius: 22px !important;
  background: #0b0e14 !important; border: 1px solid var(--tzx-line) !important; box-shadow: 0 20px 50px rgba(0, 0, 0, .55) !important; overflow: hidden; }
html.tz-app #tradzy-public-profile .modal > div:first-child:not(#pp-body) { display: none !important; }
html.tz-app #pp-body { padding: 0 !important; max-height: min(84dvh, 760px) !important; }
.tzpc { position: relative; padding: 0 14px 14px; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzpc-x { position: absolute; top: 10px; right: 10px; z-index: 3; width: 30px; height: 30px; min-width: 0; min-height: 0; border-radius: 50%; border: 0; background: rgba(0, 0, 0, .35); color: var(--tzx-ink); font-size: 13px; cursor: pointer; }
.tzpc-head { position: relative; display: flex; align-items: center; gap: 12px; margin: 0 -14px; padding: 18px 14px 16px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, .04), transparent); border-bottom: 1px solid rgba(255, 255, 255, .05); }
.tzpc-road { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 72%; pointer-events: none; opacity: .9; }
.tzpc-face, .tzpc-id { position: relative; z-index: 1; }
.tzpc-face { flex: none; line-height: 0; }
.tzpc-id { min-width: 0; flex: 1; display: grid; gap: 4px; padding-right: 26px; }
.tzpc-id h3 { margin: 0; font: 900 17px var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzpc-tag { flex: none; font-style: normal; padding: 0 6px; border-radius: 6px; background: rgba(255, 216, 77, .14); color: #ffd84d; font: 800 10px/16px var(--tzx-font); }
/* likes against dislikes */
.tzpc-likes { display: grid; gap: 4px; margin-top: 2px; }
.tzpc-likes i { display: block; height: 5px; border-radius: 3px; background: linear-gradient(90deg, #b8f500 var(--lp), #ff5c6c var(--lp)); }
.tzpc-likes i.is-none { background: rgba(255, 255, 255, .1); }
.tzpc-likes span { font: 600 11.5px var(--tzx-font); color: var(--tzx-ink3); }
/* ▲ ▼ + */
.tzpc-acts { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 7px; margin: 12px 0 0; }
.tzpc-act { display: flex; align-items: center; justify-content: center; gap: 6px; height: 40px; min-height: 0; padding: 0 10px; border-radius: 12px; border: 1px solid var(--tzx-line);
  background: rgba(255, 255, 255, .04); color: var(--tzx-ink2); font: 800 14px var(--tzx-font); cursor: pointer; }
.tzpc-act span { font: 800 13px var(--tzx-font); }
.tzpc-act.is-up.is-on { background: rgba(184, 245, 0, .14); border-color: rgba(184, 245, 0, .45); color: #b8f500; }
.tzpc-act.is-down.is-on { background: rgba(255, 92, 108, .14); border-color: rgba(255, 92, 108, .45); color: #ff7b88; }
.tzpc-act.is-add { border: 0; background: #b8f500; color: #050505; }
.tzpc-act.is-on:not(.is-up):not(.is-down) { color: #b8f500; border-color: rgba(184, 245, 0, .4); }
.tzpc-act:disabled { opacity: .45; cursor: default; }
.tzpc-note { margin: 7px 2px 0; font-size: 11.5px; color: var(--tzx-ink3); }
.tzpc-legion { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 10px; padding: 8px 10px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); text-align: left; cursor: pointer; }
.tzpc-legion .tzpc-lgt { flex: 1; min-width: 0; display: grid; }
.tzpc-legion .tzlg-bdg { flex: none; }
.tzpc-legion b { font: 800 13px var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzpc-legion small { font-size: 11.5px; color: var(--tzx-ink3); }
.tzpc-legion i { font-style: normal; color: var(--tzx-ink3); }
.tzpc-bio { margin: 10px 2px 0; font-size: 13px; line-height: 1.45; color: var(--tzx-ink2); }
.tzpc-bio.is-empty { color: var(--tzx-ink3); font-style: italic; }
.tzpc-btn { display: block; width: 100%; height: 40px; margin-top: 10px; border-radius: 12px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .05); color: var(--tzx-ink); font: 800 13px var(--tzx-font); cursor: pointer; }
.tzyou-face[data-k], .tzyou-id[data-k] { cursor: pointer; }
/* the card's top: dim green into dark, faint chart lines, the green road over them */
.tzpc-head { background:
    repeating-linear-gradient(180deg, transparent 0 23px, rgba(184, 245, 0, .045) 23px 24px),
    linear-gradient(180deg, rgba(184, 245, 0, .1) 0%, rgba(184, 245, 0, .035) 55%, rgba(11, 14, 20, 0) 100%) !important;
  border-bottom-color: rgba(184, 245, 0, .08) !important; }
.tzpc-road { height: 80%; opacity: .4; }   /* the chart at 40% */
/* the card's top follows the card's round corners */
.tzpc-head { border-radius: 21px 21px 0 0; }
/* the badges: the rank, bigger and glowing, then the 3 achievements */
.tzpc-noach { flex: 1; margin: 0; font-size: 12px; color: var(--tzx-ink3); }
/* the card, simpler (owner, 2026-10-07): rank and trophies in one card; small badges; quiet icons */
.tzpc-id h3 { display: flex; align-items: center; gap: 6px; }
.tzpc-likes { margin-top: 6px; }
.tzpc-likes i { height: 4px; }
.tzpc-rankcard { display: flex; align-items: center; gap: 12px; margin: 12px 0 0; padding: 8px 14px 8px 8px; border-radius: 16px;
  background: linear-gradient(135deg, rgba(184, 245, 0, .08), rgba(255, 255, 255, .02)); border: 1px solid rgba(184, 245, 0, .14); }
.tzpc-rankcard > :first-child { flex: none; filter: drop-shadow(0 0 10px rgba(184, 245, 0, .3)); }
.tzpc-rankcard > span { flex: 1; min-width: 0; display: grid; gap: 3px; }
.tzpc-rankcard b { font: 800 14px var(--tzx-font); color: var(--tzx-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzpc-rankcard strong { font: 900 19px/1 var(--tzx-font); color: #fff4c2; font-variant-numeric: tabular-nums; }
.tzpc-rankcard strong i { font-style: normal; font-size: 14px; }
.tzpc-next { display: block; height: 3px; border-radius: 2px; background: rgba(255, 255, 255, .08); overflow: hidden; text-decoration: none; }
.tzpc-next em { display: block; height: 100%; background: #b8f500; border-radius: 2px; }
.tzpc-acts { grid-template-columns: 52px 52px 1fr; }
.tzpc-act.is-up, .tzpc-act.is-down { font-size: 15px; padding: 0; }
/* the badges sit on the rank card's right */
.tzpc-medals { flex: none; align-self: center; }
.tzpc-medals .tza-show { display: flex !important; gap: 5px; margin: 0; }
.tzpc-medals .tza-chip { display: block; padding: 0; background: none; border: 0; line-height: 0; }
.tzpc-medals .tza-chip small { display: none !important; }
.tzpc-noach { margin: 8px 2px 0; font-size: 11.5px; color: var(--tzx-ink3); }
.tzpc-rankcard > .tzpc-medals { flex: none; display: block; min-width: 0; }
.tzpc-medals .tza-show { flex-wrap: nowrap !important; }
.tzpc-medals .tza-chip { flex: none !important; width: auto !important; min-width: 0 !important; }
/* the card, tighter (owner, 2026-10-07: "reduce the blank space") */
.tzpc { padding: 0 12px 12px; }
.tzpc-head { margin: 0 -12px; padding: 12px 12px 11px; gap: 10px; }
.tzpc-id { gap: 3px; padding-right: 92px; }
.tzpc-likes { margin-top: 4px; }
.tzpc-rankcard { margin-top: 8px; padding: 5px 12px 5px 6px; gap: 10px; }
.tzpc-rankcard strong { font-size: 17px; }
.tzpc-acts { margin-top: 8px; }
.tzpc-act { height: 38px; }
.tzpc-note { margin-top: 5px; }
.tzpc-legion { margin-top: 8px; padding: 6px 10px; }
.tzpc-bio { margin: 8px 2px 0; }
.tzpc-btn { margin-top: 8px; height: 38px; }
.tzpc-noach { margin-top: 6px; }
/* hide and report beside the close button */
.tzpc-tools { position: absolute; top: 10px; right: 44px; z-index: 3; display: flex; gap: 4px; }
.tzpc-tools button { width: 30px; height: 30px; min-width: 0; min-height: 0; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .35); color: var(--tzx-ink3); cursor: pointer; }
.tzpc-tools button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) { .tzpc-tools button:hover { color: var(--tzx-ink); } }
/* the card fills its sheet edge to edge, so the green top blends into it (the
   old profile sheet's padding, #tradzy-public-profile.tzpf #pp-body, no longer applies) */
html.tz-app #tradzy-public-profile.tzpf #pp-body { padding: 0 !important; }
.tzpc-head { border-radius: 0; border-bottom: 0 !important; }
html.tz-app #tradzy-public-profile.tzpf .modal { overflow: hidden !important; }
/* the top icons: no filled circles, just the marks on the card */
.tzpc-x, .tzpc-tools button { background: none !important; color: var(--tzx-ink3) !important; }
.tzpc-x { font-size: 14px; }
@media (hover: hover) { .tzpc-x:hover, .tzpc-tools button:hover { color: var(--tzx-ink) !important; } }
.tzpc { padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }

/* V6: the odds tab, the physics list, For you, the other side when this one is a No */
.tzod { margin: 6px 2px 0; }
.tzod h4 { margin: 14px 0 6px; font: 700 12px/1.2 var(--tzx-font); letter-spacing: .04em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzod-lead { margin: 2px 0 10px; font: 600 13.5px/1.45 var(--tzx-font); color: var(--tzx-ink2, #d6d6da); }
.tzod-bar { display: flex; height: 12px; border-radius: 6px; overflow: hidden; background: rgba(255, 255, 255, .06); }
.tzod-bar i { display: block; height: 100%; }
.tzod-bar i.is-up { background: rgb(184, 245, 0); } .tzod-bar i.is-dn { background: rgb(255, 96, 82); } .tzod-bar i.is-n { background: rgba(255, 255, 255, .18); }
.tzod-keys { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 7px; font: 600 12px/1.3 var(--tzx-font); color: var(--tzx-ink3); }
.tzod-keys b { color: var(--tzx-ink, #f5f5f7); margin-left: 3px; } .tzod-keys .is-up b { color: rgb(184, 245, 0); } .tzod-keys .is-dn b { color: rgb(255, 96, 82); }
.tzod-paths { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tzod-paths li { display: flex; flex-direction: column; gap: 2px; padding: 9px 11px; border-radius: 11px; background: rgba(255, 255, 255, .04); font: 600 12.5px/1.4 var(--tzx-font); color: var(--tzx-ink2, #d6d6da); }
.tzod-paths em { font-style: normal; color: var(--tzx-ink3); margin-left: 4px; }
.tzod-then b.is-up { color: rgb(184, 245, 0); } .tzod-then b.is-dn { color: rgb(255, 96, 82); }
.tzod-chart { width: 100%; min-height: 168px; } .tzod-svg { display: block; width: 100%; height: auto; }
.tzod-lab { font: 700 9.5px/1 var(--tzx-font); }
.tzod-reach { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin-top: 8px; }
.tzod-reach div { display: flex; flex-direction: column; align-items: center; padding: 7px 2px; border-radius: 9px; background: rgba(255, 255, 255, .04); }
.tzod-reach i { font: 600 11px/1 var(--tzx-font); font-style: normal; color: var(--tzx-ink3); } .tzod-reach b { margin-top: 4px; font: 700 14px/1 var(--tzx-font); color: var(--tzx-ink, #f5f5f7); }
.tzod-u, .tzod-edge { margin: 8px 2px 0; font: 600 12px/1.45 var(--tzx-font); color: var(--tzx-ink3); }
.tzod-lock { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 10px 12px; border-radius: 11px; background: rgba(184, 245, 0, .06); font: 600 12.5px/1.35 var(--tzx-font); }
.tzrd-phys { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tzrd-phys li { display: flex; flex-direction: column; gap: 2px; font: 600 12.5px/1.4 var(--tzx-font); color: var(--tzx-ink2, #d6d6da); }
.tzrd-phys b { color: var(--tzx-ink, #f5f5f7); } .tzrd-phys em { font-style: normal; color: var(--tzx-ink3); margin-left: 4px; }
.tzfy-l { margin: 0; padding-left: 18px; display: grid; gap: 5px; font: 600 13px/1.45 var(--tzx-font); color: var(--tzx-ink2, #d6d6da); }
.tzfy-rec { margin: 10px 2px 0; font: 600 12.5px/1.4 var(--tzx-font); color: var(--tzx-ink3); }
.tzfy-go { margin-top: 12px; width: 100%; min-height: 40px; border: 0; border-radius: 11px; background: rgba(255, 255, 255, .08); color: var(--tzx-ink, #f5f5f7); font: 700 13px/1 var(--tzx-font); cursor: pointer; }
.tzs-flip.is-loud { background: rgba(184, 245, 0, .14); color: rgb(184, 245, 0); font-weight: 700; }

/* tapbacks: the old three-emoji bar is gone; iMessage tapbacks live in app.css (chat section) (58-admin-bridge-v98-2.js) */

/* chat states: loading (typing dots), empty, locked */
.tzm-state { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 44px 24px; text-align: center; font-family: var(--tzx-font); }
.tzm-state b { font: 700 15px var(--tzx-font); color: var(--tzx-ink); }
.tzm-state span { font: 400 13.5px/1.4 var(--tzx-font); color: var(--tzx-ink3); }
.tzm-dots { display: inline-flex; gap: 5px; padding: 11px 14px; border-radius: 18px; background: #26262b; }
.tzm-dots i { width: 7px; height: 7px; border-radius: 50%; background: rgba(245, 245, 247, .45); animation: tzm-dot 1.2s ease-in-out infinite; }
.tzm-dots i:nth-child(2) { animation-delay: .16s; } .tzm-dots i:nth-child(3) { animation-delay: .32s; }
@keyframes tzm-dot { 0%, 60%, 100% { opacity: .35; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .tzm-dots i { animation: none; } }
html.tz-app #tradzy-chat-panel .tzm-lock { font: 500 14px/1.3 var(--tzx-font) !important; color: var(--tzx-ink2) !important; cursor: pointer; user-select: none; }
html.tz-app #tradzy-chat-panel .tzm-lock span { text-decoration: underline; text-underline-offset: 2px; }
.tzm-go { margin-top: 12px; min-height: 40px; padding: 0 22px; border: 0; border-radius: 12px; background: var(--tzx-acc); color: #050505; font: 700 14.5px var(--tzx-font); cursor: pointer; }

/* the read in the order a person reads it (owner, 2026-10-05): Read (a friend's words, then the chart with the trade on it),
   Proof (the odds as a hundred dots), Signs, For you (a note). 81-signal.js, 162-odds.js */
.tzs-story.is-friend { margin-top: 12px; }
.tzs-story.is-friend .tzs-vibe { font-size: 17px; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.tzk-talk { display: grid; gap: 9px; margin: 10px 1px 12px; }
.tzk-p { display: grid; gap: 3px; padding-left: 12px; border-left: 2px solid rgba(255, 255, 255, .1); }
.tzk-p:first-child { border-left-color: var(--tzx-acc); }
.tzk-p > i { font: 800 10.5px/1 var(--tzx-font); font-style: normal; letter-spacing: .09em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzk-p:first-child > i { color: var(--tzx-acc); }
.tzk-p p { margin: 0; font: 500 14px/1.5 var(--tzx-font); color: rgba(245, 245, 247, .88); }
.tzk-p:first-child p { font-size: 14.5px; font-weight: 600; color: var(--tzx-ink); }
.tzk-sec { margin: 4px 1px 12px; padding: 11px 12px; border-radius: 14px; background: rgba(255, 255, 255, .035); border: 1px solid var(--tzx-line); }
.tzk-sec h5 { margin: 0 0 4px; font: 800 12px/1.2 var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzk-sec p { margin: 0; font: 500 14px/1.55 var(--tzx-font); color: rgba(245, 245, 247, .88); }
.tzk-gate { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 11px 12px; border-radius: 14px; background: rgba(184, 245, 0, .06); border: 1px solid rgba(184, 245, 0, .16); }
.tzk-gate > span { flex: 1; min-width: 0; font: 500 12.5px/1.4 var(--tzx-font); color: var(--tzx-ink2); }
.tzk-gate > span b { display: block; margin-bottom: 1px; font: 800 13.5px var(--tzx-font); color: var(--tzx-ink); }
.tzk-gate .tzs-unlock { flex: none; height: 34px; padding: 0 16px; border: 0; border-radius: 10px; background: var(--tzx-acc); color: #050505; font: 800 13.5px var(--tzx-font); cursor: pointer; }
.tzk-fold { margin-top: 14px; border-radius: 14px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .02); }
.tzk-fold > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px; font: 700 13.5px var(--tzx-font); color: var(--tzx-ink2); cursor: pointer; }
.tzk-fold > summary::-webkit-details-marker { display: none; }
.tzk-fold > summary::after { content: "▾"; font-size: 11px; color: var(--tzx-ink3); transition: transform .15s; }
.tzk-fold[open] > summary::after { transform: rotate(180deg); }
.tzk-fold[open] > summary { color: var(--tzx-ink); border-bottom: 1px solid var(--tzx-line); }
.tzk-fold > :not(summary) { margin-left: 8px; margin-right: 8px; }
/* Proof: out of a hundred */
.tzod-h { margin: 6px 0 10px !important; font: 800 15px/1.3 var(--tzx-font) !important; letter-spacing: -.005em !important; text-transform: none !important; color: var(--tzx-ink) !important; }
.tzod-dots { display: grid; grid-template-columns: repeat(20, 1fr); gap: 4px; padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .03); border: 1px solid var(--tzx-line); }
.tzod-dots i { display: block; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 255, 255, .16); animation: tzodDot .35s ease both; animation-delay: calc(var(--i) * 6ms); }
.tzod-dots i.is-up { background: rgb(184, 245, 0); box-shadow: 0 0 6px rgba(184, 245, 0, .45); }
.tzod-dots i.is-dn { background: rgb(255, 96, 82); }
@keyframes tzodDot { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
.tzod-leg { list-style: none; margin: 11px 0 0; padding: 0; display: grid; gap: 6px; }
.tzod-leg li { display: flex; align-items: center; gap: 9px; font: 500 14px/1.35 var(--tzx-font); color: var(--tzx-ink2); }
.tzod-leg li > i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .22); }
.tzod-leg li.is-up > i { background: rgb(184, 245, 0); } .tzod-leg li.is-dn > i { background: rgb(255, 96, 82); }
.tzod-leg b { font-weight: 800; color: var(--tzx-ink); }
.tzod-aim { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.tzod-aim li { display: grid; grid-template-columns: 112px 1fr 66px; align-items: center; gap: 9px; font: 500 12.5px/1.3 var(--tzx-font); color: var(--tzx-ink2); }
.tzod-aim em { display: block; height: 8px; border-radius: 4px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.tzod-aim em i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, rgba(184, 245, 0, .55), rgb(184, 245, 0)); }
.tzod-aim b { text-align: right; font: 800 12.5px var(--tzx-font); color: var(--tzx-ink); }
/* For you: a note */
.tzfy-note { position: relative; margin: 8px 1px 0; padding: 14px 14px 13px; border-radius: 6px 16px 16px 16px; background: linear-gradient(180deg, rgba(255, 214, 102, .09), rgba(255, 214, 102, .045)), repeating-linear-gradient(180deg, transparent 0 27px, rgba(255, 214, 102, .07) 27px 28px); border: 1px solid rgba(255, 214, 102, .2); box-shadow: 0 8px 22px rgba(0, 0, 0, .28); }
.tzfy-note::before { content: ""; position: absolute; top: -1px; left: -1px; width: 22px; height: 22px; border-radius: 6px 0 14px 0; background: linear-gradient(135deg, rgba(255, 214, 102, .35), rgba(255, 214, 102, .1)); }
.tzfy-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 4px 16px; }
.tzfy-top b { font: 800 15px var(--tzx-font); color: #ffd666; letter-spacing: -.005em; }
.tzfy-top span { font: 800 10.5px var(--tzx-font); letter-spacing: .1em; color: var(--tzx-ink3); }
.tzfy-note .tzod-lead { margin: 0 0 9px; font-weight: 500; color: var(--tzx-ink2); }
.tzfy-note .tzfy-l { padding-left: 0; list-style: none; gap: 9px; }
.tzfy-note .tzfy-l li { position: relative; padding-left: 17px; font: 600 14px/1.5 var(--tzx-font); color: var(--tzx-ink); }
.tzfy-note .tzfy-l li::before { content: ""; position: absolute; left: 1px; top: .55em; width: 8px; height: 8px; border-radius: 50%; border: 2px solid #ffd666; }
.tzfy-row { display: flex; gap: 8px; margin-top: 13px; }
.tzfy-row .tzfy-go { margin-top: 0; flex: 1; background: rgba(255, 214, 102, .16); color: #ffe39a; }
.tzfy-save { flex: none; min-height: 40px; padding: 0 14px; border: 1px solid rgba(255, 214, 102, .28); border-radius: 11px; background: transparent; color: #ffd666; font: 700 13px/1 var(--tzx-font); cursor: pointer; }
.tzfy-save:disabled { opacity: .6; cursor: default; }
@media (prefers-reduced-motion: reduce) { .tzod-dots i { animation: none; } }

.tzsee-say b.is-up { color: rgb(184, 245, 0); } .tzsee-say b.is-dn { color: rgb(255, 96, 82); }
.tzod-fold { margin: 12px 0 4px; } .tzod-fold .tzod-paths { margin: 9px 0 11px; }

/* lookouts ahead: the coming windows (159-look.js) */
.tzlk-fut { fill: rgba(255, 255, 255, .03); }
.tzlk-cap { font: 800 9px var(--tzx-font); letter-spacing: .08em; fill: rgba(245, 245, 247, .38); }
.tzlk-num { font: 800 10px var(--tzx-font); fill: rgb(255, 190, 80); }
.tzlk-far { font: 800 9.5px var(--tzx-font); fill: rgb(255, 190, 80); }
.tzlk-up { margin: 12px 0 2px; }
.tzlk-up h4 { margin: 0 0 7px; font: 800 12px/1.2 var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzlk-up ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.tzlk-up li { display: flex; gap: 10px; padding: 10px 11px; border-radius: 13px; background: rgba(255, 190, 80, .06); border: 1px solid rgba(255, 190, 80, .16); }
.tzlk-up li.is-on { background: rgba(255, 190, 80, .12); border-color: rgba(255, 190, 80, .4); }
.tzlk-up li > b { flex: none; font: 800 12.5px/1.3 var(--tzx-font); color: rgb(255, 190, 80); }
.tzlk-up li > span { min-width: 0; display: grid; gap: 2px; }
.tzlk-up strong { font: 800 14px/1.25 var(--tzx-font); color: var(--tzx-ink); }
.tzlk-up em { font: 600 12.5px/1.3 var(--tzx-font); font-style: normal; color: var(--tzx-ink2); }
.tzlk-up small { font: 500 12.5px/1.45 var(--tzx-font); color: var(--tzx-ink3); }

.tzid-zt { font: 800 9.5px var(--tzx-font); paint-order: stroke; stroke: rgba(10, 10, 12, .85); stroke-width: 3px; stroke-linejoin: round; }

/* Proof: ten squares, each ten setups (162-odds.js) */
.tzod-sq { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px; max-width: 260px; }
.tzod-sq i { display: block; height: 12px; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); animation: tzodDot .3s ease both; animation-delay: calc(var(--i) * 30ms); }
.tzod-h { font-size: 13.5px !important; margin: 4px 0 8px !important; }
.tzod-leg { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; }
.tzod-leg li { font-size: 12.5px; }
.tzod-leg li > i { width: 8px; height: 8px; border-radius: 2px; }

/* the forecast, futuristic (152-forecast.js fanSvg): the future sweeps in from now, the middle path glows, one scan passes */
.tzc2-sec { position: relative; }
.tzc2 { overflow: visible; }
.tzc2-field { opacity: .9; }
.tzc2-now { stroke: rgba(184, 245, 0, .55); stroke-width: 1; stroke-dasharray: 2 3; }
.tzc2-cap { font: 800 9px var(--tzx-font); letter-spacing: .1em; fill: rgba(245, 245, 247, .42); }
.tzc2-sweep { animation: tzc2Sweep 1.1s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes tzc2Sweep { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
.tzc2-run { fill: none; stroke: rgba(245, 245, 247, .16); stroke-width: 1; animation: tzc2Fade .8s ease both; }
@keyframes tzc2Fade { from { opacity: 0; } to { opacity: 1; } }
.tzc2-mid { fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 600; stroke-dashoffset: 600; animation: tzc2Draw 1.3s .25s ease-out forwards; }
@keyframes tzc2Draw { to { stroke-dashoffset: 0; } }
.tzc2-endring { fill: none; stroke-width: 1.4; opacity: .7; transform-box: fill-box; transform-origin: center; animation: tzc2Ring 2.2s 1.2s ease-out infinite; }
@keyframes tzc2Ring { 0% { transform: scale(.5); opacity: .8; } 100% { transform: scale(1.8); opacity: 0; } }
.tzc2-scan { fill: rgba(184, 245, 0, .55); filter: blur(1.5px); opacity: 0; animation: tzc2Scan 1.4s .1s ease-in-out 1 both; }
@keyframes tzc2Scan { 0% { opacity: 0; transform: translateX(0); } 15% { opacity: .9; } 85% { opacity: .5; } 100% { opacity: 0; transform: translateX(var(--d)); } }
.tzc2-head { margin-bottom: 6px; }
.tzc2-head small b { color: var(--tzx-ink); }
.tzc2-odds { display: flex; align-items: center; gap: 8px; margin: 10px 0 4px; }
.tzc2-odds span { display: grid; gap: 1px; padding: 7px 11px; border-radius: 11px; background: rgba(255, 255, 255, .04); border: 1px solid var(--tzx-line); }
.tzc2-odds span b { font: 800 16px/1 var(--tzx-font); color: var(--tzx-ink); }
.tzc2-odds span.is-up b { color: rgb(184, 245, 0); } .tzc2-odds span.is-dn b { color: rgb(255, 96, 82); }
.tzc2-odds span small { font: 600 11px var(--tzx-font); color: var(--tzx-ink3); }
.tzc2-odds em { font: 600 11.5px var(--tzx-font); font-style: normal; color: var(--tzx-ink3); }
.tzc-bo { margin-top: 12px; }
@media (prefers-reduced-motion: reduce) { .tzc2-sweep, .tzc2-mid, .tzc2-scan, .tzc2-endring, .tzc2-run { animation: none !important; stroke-dashoffset: 0; clip-path: none; } .tzc2-scan { display: none; } }

/* deep analysis (163-deep.js): one card a part, its picture, its words, with you or against you */
.tzdp { margin: 8px 1px 0; }
.tzdp-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.tzdp-top h3 { margin: 0; font: 800 16px var(--tzx-font); letter-spacing: -.01em; }
.tzdp-top small { display: block; margin-top: 2px; font: 500 12px var(--tzx-font); color: var(--tzx-ink3); }
.tzdp-tally { display: flex; gap: 6px; font: 800 12px var(--tzx-font); }
.tzdp-tally i { font-style: normal; padding: 4px 8px; border-radius: 84px; background: rgba(255, 255, 255, .05); color: var(--tzx-ink2); }
.tzdp-tally i.is-up { color: rgb(184, 245, 0); background: rgba(184, 245, 0, .1); } .tzdp-tally i.is-dn { color: rgb(255, 96, 82); background: rgba(255, 96, 82, .1); }
.tzdp-scan { position: relative; height: 2px; margin: 10px 0 8px; border-radius: 2px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.tzdp-scan i { position: absolute; top: 0; bottom: 0; width: 30%; background: linear-gradient(90deg, transparent, rgb(184, 245, 0), transparent); animation: tzdpScan 1.6s ease-in-out 2 both; }
@keyframes tzdpScan { from { left: -30%; } to { left: 100%; } }
.tzdp-sum { margin: 0 0 10px; font: 600 14px/1.5 var(--tzx-font); color: var(--tzx-ink); }
.tzdp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 760px) { .tzdp-list { grid-template-columns: 1fr 1fr; } }
.tzdp-card { padding: 11px 12px 12px; border-radius: 15px; background: rgba(255, 255, 255, .03); border: 1px solid var(--tzx-line); border-left: 3px solid rgba(255, 255, 255, .14); animation: tzdpIn .45s ease both; }
.tzdp-card.is-up { border-left-color: rgb(184, 245, 0); } .tzdp-card.is-dn { border-left-color: rgb(255, 96, 82); }
@keyframes tzdpIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.tzdp-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.tzdp-h b { font: 800 13.5px var(--tzx-font); }
.tzdp-h em { font: 800 10.5px var(--tzx-font); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzdp-card.is-up .tzdp-h em { color: rgb(184, 245, 0); } .tzdp-card.is-dn .tzdp-h em { color: rgb(255, 96, 82); }
.tzdp-chart { width: 100%; margin: 2px 0 6px; } .tzdp-svg { display: block; width: 100%; height: auto; }
.tzdp-card p { margin: 0; font: 500 13.5px/1.5 var(--tzx-font); color: rgba(245, 245, 247, .86); }
.tzdp-ln { fill: none; stroke-width: 1.5; stroke-linejoin: round; }
.tzdp-zig { fill: none; stroke: rgba(245, 245, 247, .55); stroke-width: 1.2; stroke-dasharray: 3 3; }
.tzdp-grid { stroke: rgba(255, 255, 255, .08); stroke-width: 1; }
.tzdp-tag { font: 800 9.5px var(--tzx-font); paint-order: stroke; stroke: rgba(10, 10, 12, .85); stroke-width: 3px; stroke-linejoin: round; }
.tzdp-mtf { display: flex; gap: 6px; flex-wrap: wrap; margin: 2px 0 8px; }
.tzdp-mtf span { display: grid; justify-items: center; gap: 1px; min-width: 44px; padding: 6px 8px; border-radius: 10px; background: rgba(255, 255, 255, .04); border: 1px solid var(--tzx-line); }
.tzdp-mtf b { font: 800 11.5px var(--tzx-font); color: var(--tzx-ink2); }
.tzdp-mtf i { font-style: normal; font-size: 13px; color: var(--tzx-ink3); }
.tzdp-mtf .is-up { border-color: rgba(184, 245, 0, .35); } .tzdp-mtf .is-up i { color: rgb(184, 245, 0); }
.tzdp-mtf .is-dn { border-color: rgba(255, 96, 82, .35); } .tzdp-mtf .is-dn i { color: rgb(255, 96, 82); }
.tzdp-foot { margin: 10px 2px 0; font: 600 11.5px/1.45 var(--tzx-font); color: var(--tzx-ink3); }
.tzdp.is-locked { position: relative; }
.tzdp-ghost { display: grid; gap: 8px; filter: blur(3px); opacity: .55; pointer-events: none; }
.tzdp-ghost span { display: grid; gap: 5px; padding: 11px; border-radius: 14px; border: 1px solid var(--tzx-line); }
.tzdp-ghost b { font: 800 13px var(--tzx-font); }
.tzdp-ghost i { display: block; height: 8px; border-radius: 4px; background: rgba(184, 245, 0, .22); } .tzdp-ghost i + i { width: 60%; background: rgba(255, 255, 255, .12); }
.tzdp-gate { position: relative; margin-top: -120px; padding: 15px 14px 14px; border-radius: 17px; text-align: center; background: rgba(10, 10, 12, .88); border: 1px solid rgba(184, 245, 0, .22); }
.tzdp-gate b { display: block; font: 800 14.5px var(--tzx-font); }
.tzdp-gate small { display: block; max-width: 380px; margin: 5px auto 12px; font-size: 13px; line-height: 1.45; color: var(--tzx-ink2); }
.tzdp-gate .tzs-unlock { width: 100%; max-width: 320px; height: 42px; border: 0; border-radius: 13px; background: var(--tzx-acc); color: #050505; font: 800 15px var(--tzx-font); cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .tzdp-card, .tzdp-scan i { animation: none; } }

.tzlk-leg { fill: none; stroke-width: 1.6; stroke-dasharray: 4 4; opacity: .85; animation: tzc2Fade .8s .3s ease both; }
.tzlk-legt { font: 800 9.5px var(--tzx-font); paint-order: stroke; stroke: rgba(10, 10, 12, .85); stroke-width: 3px; stroke-linejoin: round; }

.tzid-t { padding: 2px 7px; border-radius: 84px; font: 800 10px var(--tzx-font); letter-spacing: .05em; text-transform: uppercase; background: rgba(255, 255, 255, .07); color: var(--tzx-ink3); }
.tzid-t.is-edge { background: rgba(184, 245, 0, .14); color: rgb(184, 245, 0); }

/* the chart, marked up like an analyst's (164-markup.js) */
.tzmx { margin: 2px 0 6px; }
.tzmx-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.tzmx-tfs { display: flex; gap: 3px; padding: 3px; border-radius: 11px; background: rgba(255, 255, 255, .05); }
.tzmx-tfs button { position: relative; height: 28px; min-width: 40px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: var(--tzx-ink2); font: 800 12.5px var(--tzx-font); cursor: pointer; }
.tzmx-tfs button[aria-selected="true"] { background: rgba(255, 255, 255, .14); color: var(--tzx-ink); }
.tzmx-tfs button i { position: absolute; top: 4px; right: 4px; width: 5px; height: 5px; border-radius: 50%; background: var(--tzx-acc); }
.tzmx-bias { flex: none; padding: 5px 10px; border-radius: 84px; font: 800 12px var(--tzx-font); background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); }
.tzmx-bias.is-up { background: rgba(184, 245, 0, .12); color: rgb(184, 245, 0); } .tzmx-bias.is-down { background: rgba(255, 96, 82, .12); color: rgb(255, 96, 82); }
.tzmx-chart { width: 100%; border-radius: 14px; background: rgba(255, 255, 255, .02); border: 1px solid var(--tzx-line); overflow: hidden; }
.tzmx-svg { display: block; width: 100%; height: auto; }
.tzmx-grid { stroke: rgba(255, 255, 255, .05); stroke-width: 1; }
.tzmx-fut { fill: rgba(255, 255, 255, .025); }
.tzmx-cap { font: 800 8.5px var(--tzx-font); letter-spacing: .1em; fill: rgba(245, 245, 247, .38); }
.tzmx-eq { stroke: rgba(245, 245, 247, .22); stroke-width: 1; stroke-dasharray: 8 6; }
.tzmx-pd { font: 800 8.5px var(--tzx-font); letter-spacing: .1em; }
.tzmx-ct { font: 800 8.5px var(--tzx-font); letter-spacing: .04em; }
.tzmx-pv { font: 900 10px var(--tzx-font); paint-order: stroke; stroke: rgba(10, 10, 12, .9); stroke-width: 3px; stroke-linejoin: round; }
.tzmx-bk { font: 900 9.5px var(--tzx-font); letter-spacing: .03em; paint-order: stroke; stroke: rgba(10, 10, 12, .9); stroke-width: 3px; stroke-linejoin: round; }
.tzmx-lab { font: 800 9.5px var(--tzx-font); }
.tzmx-path { stroke-dashoffset: 400; animation: tzmxDraw 1.6s .2s ease-out forwards; }
@keyframes tzmxDraw { to { stroke-dashoffset: 0; } }
.tzmx-pulse { fill: none; stroke: rgba(245, 245, 247, .8); stroke-width: 1.4; transform-box: fill-box; transform-origin: center; animation: tzc2Ring 2.2s ease-out infinite; }
.tzmx-layers { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0 2px; }
.tzmx-layers button { height: 29px; padding: 0 12px; border-radius: 84px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .04); color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzmx-layers button[aria-pressed="true"] { border-color: rgba(184, 245, 0, .45); background: rgba(184, 245, 0, .1); color: var(--tzx-ink); }
.tzmx-layers .tzmx-help { width: 29px; padding: 0; margin-left: auto; color: var(--tzx-ink2); }
.tzmx-say { margin: 10px 1px 0; display: grid; gap: 6px; }
.tzmx-say p { margin: 0; font: 500 13.5px/1.5 var(--tzx-font); color: rgba(245, 245, 247, .8); }
.tzmx-say p.is-lead { font-size: 14.5px; font-weight: 700; color: var(--tzx-ink); }
.tzmx-watch { margin-top: 11px; padding: 10px 11px; border-radius: 13px; background: rgba(255, 255, 255, .03); border: 1px solid var(--tzx-line); }
.tzmx-watch h5 { margin: 0 0 6px; font: 800 11.5px var(--tzx-font); letter-spacing: .07em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzmx-watch ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tzmx-watch li { display: flex; gap: 8px; font: 500 13px/1.45 var(--tzx-font); color: rgba(245, 245, 247, .86); }
.tzmx-watch li i { flex: none; width: 18px; height: 18px; border-radius: 6px; display: grid; place-items: center; font-style: normal; font-size: 11px; font-weight: 800; background: rgba(255, 190, 80, .14); color: rgb(255, 190, 80); }
.tzmx-dl { margin: 4px 0 0; display: grid; gap: 10px; }
.tzmx-dl dt { font: 800 13.5px var(--tzx-font); color: var(--tzx-ink); }
.tzmx-dl dd { margin: 2px 0 0; font: 500 13px/1.45 var(--tzx-font); color: var(--tzx-ink2); }
@media (prefers-reduced-motion: reduce) { .tzmx-path, .tzmx-pulse { animation: none; stroke-dashoffset: 0; } }
/* the analyst's sections (164-markup.js): one concept a chart */
.tzmx-help { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink2); font: 800 13px var(--tzx-font); cursor: pointer; }
.tzmx-body { display: grid; gap: 12px; }
.tzmx-sec { padding: 11px 11px 12px; border-radius: 16px; background: rgba(255, 255, 255, .025); border: 1px solid var(--tzx-line); animation: tzdpIn .4s ease both; }
.tzmx-sh { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.tzmx-sh h4 { display: flex; align-items: center; gap: 7px; margin: 0; font: 800 14px var(--tzx-font); letter-spacing: -.005em; color: var(--tzx-ink); }
.tzmx-sh h4 i { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 6px; background: rgba(255, 190, 80, .16); color: rgb(255, 190, 80); font: 900 11px var(--tzx-font); font-style: normal; }
.tzmx-sh em { flex: none; max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 4px 9px; border-radius: 84px; font: 800 11.5px var(--tzx-font); font-style: normal; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); }
.tzmx-sh em.is-up { background: rgba(184, 245, 0, .12); color: rgb(184, 245, 0); } .tzmx-sh em.is-dn { background: rgba(255, 96, 82, .12); color: rgb(255, 96, 82); }
.tzmx-sec .tzmx-chart { border-radius: 12px; }
ul.tzmx-say { list-style: none; padding: 0; margin: 9px 1px 0; display: grid; gap: 5px; }
ul.tzmx-say li { position: relative; padding-left: 13px; font: 500 13px/1.48 var(--tzx-font); color: rgba(245, 245, 247, .8); }
ul.tzmx-say li::before { content: ""; position: absolute; left: 1px; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: rgba(255, 190, 80, .8); }
ul.tzmx-say li.is-lead { font-weight: 700; font-size: 13.5px; color: var(--tzx-ink); }
.tzmx-none { font: 700 12px var(--tzx-font); fill: rgba(245, 245, 247, .45); }
.tzmx-sec .tzmx-layers { margin: 8px 0 0; }
.tzmx-layers button { height: 29px; padding: 0 11px; border-radius: 84px; border: 1px solid var(--tzx-line); background: transparent; color: var(--tzx-ink3); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzmx-layers button[aria-pressed="true"] { border-color: rgba(184, 245, 0, .45); background: rgba(184, 245, 0, .1); color: var(--tzx-ink); }

.tzc2-note { margin: 8px 2px 2px; font: 600 12px/1.45 var(--tzx-font); color: var(--tzx-ink3); }

/* the pixel chart (165-grid.js): the candles are a crisp bitmap, the levels and labels vector on top */
.tzmx-chart { position: relative; touch-action: pan-y; user-select: none; -webkit-user-select: none; cursor: crosshair; }
.tzmx-cv { position: absolute; left: 0; top: 0; image-rendering: pixelated; image-rendering: crisp-edges; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 8px), transparent); mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 8px), transparent); }
.tzmx-svg { position: relative; pointer-events: none; }
.tzmx-cross { position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(245, 245, 247, .45); pointer-events: none; }
.tzmx-zoom { display: flex; gap: 6px; flex: none; }
.tzmx-zoom button { width: 30px; height: 30px; border-radius: 10px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 800 16px/1 var(--tzx-font); cursor: pointer; }
.tzmx-zoom .tzmx-help { border-radius: 50%; font-size: 13px; color: var(--tzx-ink2); }
.tzmx-read { display: flex; flex-direction: column; gap: 2px; min-height: 36px; margin: 0 2px 8px; font: 500 12px/1.4 var(--tzx-font); color: var(--tzx-ink3); }
.tzmx-read strong { color: var(--tzx-ink); font-weight: 800; }
.tzmx-read em { font-style: normal; font-weight: 800; }
.tzmx-read em.is-up { color: rgb(184, 245, 0); } .tzmx-read em.is-dn { color: rgb(255, 96, 82); }
.tzmx-read b { font: 700 11.5px var(--tzx-font); color: var(--tzx-ink2); }

.tzmx-tip { position: absolute; top: 6px; width: 148px; padding: 6px 8px; border-radius: 9px; background: rgba(10, 10, 12, .9); border: 1px solid rgba(255, 255, 255, .14); font: 500 10.5px/1.45 var(--tzx-font); color: var(--tzx-ink2); pointer-events: none; z-index: 2; }
.tzmx-tip strong { color: var(--tzx-ink); font-weight: 800; }
.tzmx-tip em { font-style: normal; font-weight: 800; } .tzmx-tip em.is-up { color: rgb(184, 245, 0); } .tzmx-tip em.is-dn { color: rgb(255, 96, 82); }
.tzmx-tip b { color: var(--tzx-ink); font-weight: 700; }
.tzmx-read { min-height: 0; margin-bottom: 6px; } .tzmx-read b { color: var(--tzx-ink2); }



/* ── Edge+ (166-edge.js): the open trade, the whole engine, on the newest candles ── */
#tze { position: fixed; inset: 0; z-index: 100240; background: #07080b; color: var(--tzx-ink); font-family: var(--tzx-font); }
#tze[hidden] { display: none; }
.tze-in { height: 100%; overflow: hidden auto; overscroll-behavior: contain; padding: 0 0 calc(20px + env(safe-area-inset-bottom, 0px)); }
.tze-in > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.tze-top { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; gap: 9px; padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 10px; background: rgba(7, 8, 11, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--tzx-line); max-width: none; }
.tze-x { flex: none; width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .07); color: var(--tzx-ink); cursor: pointer; }
.tze-brand { font: 800 15px var(--tzx-font); letter-spacing: -.02em; } .tze-brand i { font-style: normal; color: var(--tzx-acc); }
.tze-name { font: 700 13.5px var(--tzx-font); white-space: nowrap; } .tze-name small { font-weight: 500; color: var(--tzx-ink3); }
.tze-name i { font-style: normal; font-size: 11px; } .tze-name .is-up { color: var(--tzx-acc); } .tze-name .is-dn { color: var(--red, #e8402f); }
.tze-mini { display: none; font: 700 12.5px var(--tzx-font); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tze-mini b { margin-left: 4px; } .tze-mini .is-up { color: var(--tzx-acc); } .tze-mini .is-dn { color: var(--red, #e8402f); }
#tze.is-down .tze-mini { display: inline; }
@media (max-width: 420px) { #tze.is-down .tze-name small, #tze.is-down .tze-feed small { display: none; } }
.tze-feed { margin-left: auto; display: flex; align-items: center; gap: 6px; min-width: 0; }
.tze-feed small { font-size: 11px; color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tze-dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--tzx-ink3); }
.tze-dot.is-live { background: var(--tzx-acc); animation: tzePulse 1.6s ease-out infinite; }
.tze-dot.is-polling, .tze-dot.is-engine { background: #ffc862; } .tze-dot.is-down { background: var(--red, #e8402f); }
@keyframes tzePulse { from { box-shadow: 0 0 0 0 rgba(var(--acc-rgb, 184, 245, 0), .5); } to { box-shadow: 0 0 0 7px rgba(var(--acc-rgb, 184, 245, 0), 0); } }
.tze-live { padding: 14px 16px 6px; }
.tze-px { display: flex; align-items: baseline; gap: 10px; }
.tze-px b { font: 800 28px/1 var(--tzx-font); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.tze-r { font: 800 17px var(--tzx-font); font-variant-numeric: tabular-nums; } .tze-r.is-up { color: var(--tzx-acc); } .tze-r.is-dn { color: var(--red, #e8402f); }
.tze-bar { position: relative; height: 6px; margin: 12px 3px 6px; border-radius: 3px; background: linear-gradient(90deg, rgba(232, 64, 47, .4), rgba(255, 255, 255, .08) 50%, rgba(var(--acc-rgb, 184, 245, 0), .4)); }
.tze-bar i { position: absolute; top: 50%; transform: translate(-50%, -50%); transition: left .4s ease; }
.tze-zero { width: 2px; height: 12px; border-radius: 1px; background: var(--tzx-ink3); }
.tze-pos { width: 13px; height: 13px; border-radius: 50%; border: 2px solid #07080b; } .tze-pos.is-up { background: var(--tzx-acc); } .tze-pos.is-dn { background: var(--red, #e8402f); }
.tze-ends, .tze-sub { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--tzx-ink3); }
.tze-sub { margin-top: 6px; }
.tze-tabs { position: sticky; top: calc(49px + env(safe-area-inset-top, 0px)); z-index: 2; display: flex; gap: 4px; padding: 8px 16px; overflow-x: auto; scrollbar-width: none; background: #07080b; }
.tze-tabs::-webkit-scrollbar { display: none; }
.tze-tabs button { flex: none; height: 30px; padding: 0 12px; border: 1px solid var(--tzx-line); border-radius: 999px; background: none; color: var(--tzx-ink2); font: 600 12.5px var(--tzx-font); cursor: pointer; }
.tze-tabs button[aria-selected="true"] { background: var(--tzx-acc); border-color: transparent; color: #050505; }
.tze-n { display: inline-grid; place-items: center; min-width: 16px; height: 16px; margin-left: 4px; padding: 0 4px; border-radius: 8px; background: var(--tzx-acc); color: #050505; font: 800 10px var(--tzx-font); font-style: normal; }
.tze-panel { padding: 4px 16px 0; min-height: 240px; }
.tze-wait { display: grid; place-items: center; gap: 10px; padding: 48px 12px; text-align: center; color: var(--tzx-ink3); font-size: 13px; }
.tze-empty { padding: 26px 6px; text-align: center; font-size: 13px; color: var(--tzx-ink3); }
.tze-log { list-style: none; margin: 4px 0 0; padding: 0; }
.tze-log li { display: grid; grid-template-columns: 46px 1fr; gap: 8px; padding: 9px 2px; border-top: 1px solid var(--tzx-line); font-size: 13.5px; }
.tze-log time { font-size: 11.5px; color: var(--tzx-ink3); font-variant-numeric: tabular-nums; padding-top: 1px; }
.tze-log li.is-with span { color: var(--tzx-acc); } .tze-log li.is-against span { color: #ffc862; }
#tze.is-warm .tze-panel .tzmx-sec, #tze.is-warm .tze-panel .tzmx-sec path, #tze.is-warm .tze-panel .tzc, #tze.is-warm .tze-panel .tzc path { animation: none; }
.tze-note { margin: 14px 16px 0; font-size: 11px; color: var(--tzx-ink3); text-align: center; }
.tzt-live-btn { margin-left: 6px; }
html.tze-open body { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .tze-dot.is-live { animation: none; } .tze-bar i { transition: none; } }

/* a sheet takes focus itself when it opens (160-route.js): no ring around the whole sheet; its buttons keep theirs */
body > [role="dialog"][tabindex="-1"]:focus, body > [role="dialog"][tabindex="-1"]:focus-visible,
body > .tzrep[tabindex="-1"]:focus, body > .tzrep[tabindex="-1"]:focus-visible { outline: none; }
/* the sign-in banner's sentence wraps on a narrow phone instead of being cut off ("…12 free analyses a mo…") */
@media (max-width: 420px) { html.tz-app #v19-demo-banner .v19-demo-text { white-space: normal !important; overflow: visible !important; line-height: 1.25 !important; } }

/* Snowball setups (167-snowball.js): one quiet card a setup */
.tzsn { margin: 10px 0 12px; }
.tzsn h5 { margin: 0 0 6px; font: 700 12.5px var(--tzx-font); color: var(--tzx-ink2); }
.tzsn-card { padding: 10px 11px; margin-bottom: 7px; border-radius: 12px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tzsn-card.is-on.is-up { border-color: rgba(var(--acc-rgb, 184, 245, 0), .35); }
.tzsn-card.is-on.is-dn { border-color: rgba(232, 64, 47, .35); }
.tzsn-h { display: flex; align-items: baseline; gap: 7px; }
.tzsn-h b { font: 700 13.5px var(--tzx-font); } .tzsn-card.is-up .tzsn-h b { color: var(--tzx-acc); } .tzsn-card.is-dn .tzsn-h b { color: var(--red, #e8402f); }
.tzsn-h i { font-style: normal; font-size: 11px; color: var(--tzx-ink3); }
.tzsn-h small { margin-left: auto; font-size: 11px; color: var(--tzx-ink2); }
.tzsn-cs { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 6px 0; font-size: 11.5px; }
.tzsn-c.is-ok { color: var(--tzx-ink2); } .tzsn-c.is-no { color: var(--tzx-ink3); }
.tzsn-lv { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 6px 0; }
.tzsn-lv span { display: flex; flex-direction: column; font: 600 12.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzsn-lv i { font-style: normal; font-size: 10.5px; font-weight: 500; color: var(--tzx-ink3); }
.tzsn-card p { margin: 4px 0 0; font-size: 11.5px; line-height: 1.4; color: var(--tzx-ink3); }

/* The pixel candles everywhere (165-grid.js TZGrid.svg / onto, owner 2026-10-06): crisp cells, and one readout for a
   tapped candle on any chart (the markup's charts keep their own, .tzmx-tip) */
.tzg-img, .tzg-cv { image-rendering: pixelated; }
.tzg-tip { position: fixed; z-index: 2147483000; width: 164px; padding: 6px 8px; border-radius: 9px; background: rgba(10, 10, 12, .92); border: 1px solid rgba(255, 255, 255, .14); font: 500 10.5px/1.45 var(--tzx-font, system-ui); color: var(--tzx-ink2, #c9c9cf); pointer-events: none; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.tzg-tip strong { color: var(--tzx-ink, #f5f5f7); font-weight: 800; }
.tzg-tip em { font-style: normal; font-weight: 800; } .tzg-tip em.is-up { color: rgb(184, 245, 0); } .tzg-tip em.is-dn { color: rgb(255, 96, 82); }
.tzg-tip b { color: var(--tzx-ink, #f5f5f7); font-weight: 700; }

/* The pace (168-pace.js): busier or quieter next, the 80% range */
.tzpc { margin: 0 0 12px; padding: 11px 12px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .025); }
.tzpc-h { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; } .tzpc-h b { font: 800 13.5px/1.2 var(--tzx-font); color: var(--tzx-ink); } .tzpc-h small { margin-left: auto; font-size: 10.5px; color: var(--tzx-ink3); }
.tzpc.is-busier .tzpc-h b { color: rgb(255, 190, 80); } .tzpc.is-quieter .tzpc-h b { color: rgb(120, 190, 255); }
.tzpc p { margin: 7px 0 0; font-size: 11.5px; line-height: 1.5; color: var(--tzx-ink2); } .tzpc-r { margin-top: 5px !important; }
.tzpc-meter, .tzpc-range { position: relative; height: 8px; border-radius: 2px; background: rgba(255, 255, 255, .06); image-rendering: pixelated; }
.tzpc-meter i { position: absolute; top: 0; bottom: 0; } .tzpc-meter .z-b { background: rgba(255, 190, 80, .22); } .tzpc-meter .z-q { background: rgba(120, 190, 255, .2); }
.tzpc-meter b, .tzpc-range .now { position: absolute; top: -3px; width: 4px; height: 14px; margin-left: -2px; background: var(--tzx-ink); }
.tzpc-ml, .tzpc-rl { display: flex; justify-content: space-between; margin-top: 4px; font-size: 9.5px; color: var(--tzx-ink3); }
.tzpc-range { margin-top: 10px; } .tzpc-range .band { position: absolute; top: 0; bottom: 0; background: rgba(245, 245, 247, .16); }
.tzpc-range em { position: absolute; top: -2px; width: 3px; height: 12px; margin-left: -1.5px; } .tzpc-range .tp { background: rgb(184, 245, 0); } .tzpc-range .sl { background: rgb(255, 96, 82); }

/* The forecast drawn in the house style (152-forecast.js, 2026-10-06): pixel heat of the runs, pencil edges and middle */
.tzc2-edge { fill: none; stroke: rgba(245, 245, 247, .38); stroke-width: 1; stroke-dasharray: 3 3; }
.tzc2-edge.is-in { stroke: rgba(245, 245, 247, .18); stroke-dasharray: 1 3; }
.tzc2 .tzc2-mid { stroke-width: 1.6; opacity: .92; }
.tzc2-end { shape-rendering: crispEdges; }
.tzc2-earn { stroke: rgba(255, 190, 80, .8); stroke-width: 1.2; stroke-dasharray: 4 3; }
.tzc2-earnt { font: 800 9px var(--tzx-font); letter-spacing: .06em; fill: rgb(255, 190, 80); }
.tzc2 image { image-rendering: pixelated; }
.tze-mine { margin: -4px 0 12px; padding: 0 2px; font-size: 11px; line-height: 1.5; color: var(--tzx-ink3); }

/* The Book (169-liquidity.js): the live order book as pixel heat, or where volume traded */
.tzlq { margin: 0 0 12px; padding: 11px 12px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .025); }
.tzlq-h { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; } .tzlq-h b { font: 800 13.5px/1.2 var(--tzx-font); color: var(--tzx-ink); } .tzlq-h small { margin-left: auto; font-size: 10.5px; color: var(--tzx-ink3); }
.tzlq-cv { position: relative; height: 288px; background: #050506; border-radius: 10px; overflow: hidden; cursor: crosshair; }
.tzlq-cv canvas { display: block; image-rendering: pixelated; }
.tzlq-y { position: absolute; right: 0; font: 700 9.5px/15px var(--tzx-font); font-style: normal; padding: 0 6px 0 18px; white-space: nowrap; pointer-events: none; color: var(--tzx-ink2); background: linear-gradient(90deg, rgba(5, 5, 6, 0), rgba(5, 5, 6, .9) 16px); }
.tzlq-y small { margin-left: 4px; font-weight: 600; font-size: 8.5px; opacity: .8; }
.tzlq-y.is-now { color: #0a0a0b; background: linear-gradient(90deg, rgba(245, 245, 247, 0), rgba(245, 245, 247, .96) 16px); }
.tzlq-y.is-bid { color: rgb(184, 245, 0); } .tzlq-y.is-ask { color: rgb(255, 96, 82); } .tzlq-y.is-poc { color: var(--tzx-ink); }
.tzlq-tip { position: absolute; width: 160px; padding: 6px 8px; border-radius: 8px; background: rgba(10, 10, 12, .92); border: 1px solid rgba(255, 255, 255, .14); font: 500 10.5px/1.45 var(--tzx-font); font-style: normal; color: var(--tzx-ink2); pointer-events: none; z-index: 2; }
.tzlq-tip b { color: var(--tzx-ink); }
.tzlq-k { margin: 8px 0 0; font-size: 10.5px; color: var(--tzx-ink3); line-height: 1.6; }
.tzlq-k i { display: inline-block; width: 9px; height: 9px; margin: 0 4px 0 6px; vertical-align: -1px; border-radius: 1px; image-rendering: pixelated; }
.tzlq-k i.b { background: rgb(184, 245, 0); } .tzlq-k i.a { background: rgb(255, 96, 82); }
.tzlq-k i.d { width: 6px; height: 6px; vertical-align: 0; } .tzlq-k i.d.up { background: rgb(184, 245, 0); } .tzlq-k i.d.dn { background: rgb(255, 96, 82); }
.tzlq-n { margin: 6px 0 0; font-size: 11px; line-height: 1.5; color: var(--tzx-ink2); }
/* ── Quiz (172-quiz.js), Apple-style (owner, 2026-10-10: "a little on the Apple style, it became crowded and janky"):
   iOS segmented controls, a plain balance card, the chart with a ring clock and Skip on it, the room legend, big
   call buttons, a three-page intro sheet ── */
.tzqz { max-width: 720px; margin: 0 auto; padding: 4px 16px 24px; font-family: var(--tzx-font); color: var(--tzx-ink); -webkit-tap-highlight-color: transparent; }
.tzqz button { font-family: var(--tzx-font); -webkit-tap-highlight-color: transparent; }
.tzqz-top { display: flex; align-items: center; margin-bottom: 10px; }
.tzqz-top .tzqz-seg { flex: 1; }
.tzqz-seg { position: relative; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); padding: 2px; border-radius: 10px; background: rgba(118, 118, 128, .24); isolation: isolate; }
.tzqz-seg > i { position: absolute; z-index: -1; top: 2px; bottom: 2px; left: 2px; width: calc((100% - 4px) / var(--n)); border-radius: 8px; background: #636366; box-shadow: 0 3px 8px rgba(0, 0, 0, .14), 0 1px 1px rgba(0, 0, 0, .06); transform: translateX(calc(var(--i) * 100%)); transition: transform .34s cubic-bezier(.3, .9, .3, 1); }
.tzqz-seg button { min-width: 0; min-height: 0; height: 30px; padding: 0 8px; border: 0; border-radius: 8px; background: none; color: var(--tzx-ink); font: 600 13px var(--tzx-font); letter-spacing: -.01em; white-space: nowrap; cursor: pointer; }
.tzqz-seg button[aria-checked="false"] { color: rgba(245, 245, 247, .72); font-weight: 500; }
.tzqz-bar { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; padding: 10px 14px; border-radius: 14px; background: rgba(118, 118, 128, .12); }
.tzqz-bal { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tzqz-bal b { font: 700 20px/1.1 var(--tzx-font); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.tzqz-bal small { font: 500 12px var(--tzx-font); color: var(--tzx-ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzqz-bal em { font-style: normal; font-weight: 600; } .tzqz-bal em.y { color: rgb(184, 245, 0); } .tzqz-bal em.n { color: rgb(255, 96, 82); }
.tzqz-fire { margin-left: auto; display: inline-flex; align-items: center; gap: 3px; height: 26px; padding: 0 9px; border-radius: 999px; background: rgba(255, 159, 10, .14); font-size: 13px; }
.tzqz-fire b { font: 700 13px var(--tzx-font); color: #ffb340; }
.tzqz-pot { margin-left: auto; display: inline-flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.tzqz-fire + .tzqz-pot { margin-left: 0; }
.tzqz-cups { display: inline-flex; gap: 2px; }
.tzqz-cups i { width: 16px; height: 16px; }
.tzqz-cups svg { display: block; width: 16px; height: 16px; fill: none; stroke: rgba(255, 255, 255, .24); stroke-width: 1.2; stroke-linejoin: round; stroke-linecap: round; }
.tzqz-cups i.on svg { fill: #ffd166; stroke: #ffb547; filter: drop-shadow(0 0 3px rgba(255, 196, 61, .45)); }
.tzqz-strk { display: inline-flex; gap: 3px; } .tzqz-strk b { width: 15px; height: 3px; border-radius: 2px; background: rgba(255, 255, 255, .14); }
.tzqz-strk b.on { background: #ffd166; }
.tzqz-pot small { font: 600 11px var(--tzx-font); color: #ffd166; }
.tzqz-pot.is-full .tzqz-cups { animation: tzqz-glow 2.4s ease-in-out infinite; }
/* the chart: a ring clock top right, Skip top left, the lines' words at the right edge */
.tzqz-cv { position: relative; height: 236px; border-radius: 16px; background: #050506; overflow: hidden; box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .09); }
.tzqz-cv canvas { display: block; }
.tzqz-id { position: absolute; left: 12px; bottom: 10px; font: 500 9px var(--tzx-font); font-style: normal; letter-spacing: .04em; color: rgba(245, 245, 247, .26); pointer-events: none; }
.tzqz-wait { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; padding: 0 24px; text-align: center; font-size: 13px; color: var(--tzx-ink3); background: #050506; }
.tzqz-clock { position: absolute; right: 10px; top: 10px; width: 34px; height: 34px; pointer-events: none; }
.tzqz-clock svg { display: block; width: 34px; height: 34px; transform: rotate(-90deg); }
.tzqz-clock circle { stroke-width: 3; }
.tzqz-clock .rb { fill: rgba(28, 28, 30, .72); stroke: rgba(255, 255, 255, .12); }
.tzqz-clock .rf { fill: none; stroke: rgb(184, 245, 0); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc((1 - var(--t, 1)) * 100); transition: stroke-dashoffset .1s linear, stroke .25s; }
.tzqz-clock b { position: absolute; inset: 0; display: grid; place-items: center; font: 700 12px var(--tzx-font); font-variant-numeric: tabular-nums; color: var(--tzx-ink); }
.tzqz-clock.is-low .rf { stroke: rgb(255, 96, 82); } .tzqz-clock.is-low b { color: rgb(255, 96, 82); }
.tzqz-skip { position: absolute; left: 10px; top: 12px; display: inline-flex; align-items: center; gap: 4px; min-width: 0; min-height: 0; height: 30px; padding: 0 10px 0 13px; border: 0; border-radius: 999px; background: rgba(118, 118, 128, .3); -webkit-backdrop-filter: blur(14px) saturate(1.5); backdrop-filter: blur(14px) saturate(1.5); color: var(--tzx-ink); font: 600 13px var(--tzx-font); cursor: pointer; transition: transform .12s, background .2s; }
.tzqz-skip svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tzqz-skip:active { transform: scale(.95); background: rgba(118, 118, 128, .45); }
.tzqz-tags { position: absolute; inset: 0; pointer-events: none; }
.tzqz-tag { position: absolute; right: 8px; transform: translateY(-120%); font: 600 9px var(--tzx-font); font-style: normal; letter-spacing: .05em; text-transform: uppercase; color: rgba(245, 245, 247, .62); white-space: nowrap; }
.tzqz-tag.by-clock { right: 52px; }
.tzqz-tag.is-tp, .tzqz-tag.is-up, .tzqz-tag.is-dn { color: rgb(184, 245, 0); }
.tzqz-tag.is-sl { color: rgb(255, 96, 82); transform: translateY(25%); }
.tzqz-tag.is-dn { transform: translateY(25%); }
.tzqz-tag.is-pin { padding: 3px 7px; border-radius: 7px; background: rgba(184, 245, 0, .12); transform: none; }
.tzqz-tag.is-pin.at-top { top: 18px; right: 54px; } .tzqz-tag.is-pin.at-bot { bottom: 12px; }
.tzqz-res { position: absolute; left: 10px; top: 10px; display: flex; align-items: baseline; gap: 6px; padding: 6px 11px; border-radius: 12px; background: rgba(28, 28, 30, .74); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); animation: tzqz-pop .38s cubic-bezier(.2, 1.3, .4, 1) both; }
.tzqz-res.y { color: rgb(184, 245, 0); } .tzqz-res.n { color: rgb(255, 96, 82); } .tzqz-res.f { color: var(--tzx-ink); } .tzqz-res.f.is-up b { color: rgb(184, 245, 0); } .tzqz-res.f.is-dn b { color: rgb(255, 96, 82); }
.tzqz-res b { font: 700 18px var(--tzx-font); letter-spacing: -.01em; } .tzqz-res small { font: 600 12px var(--tzx-font); } .tzqz-res.f small { color: var(--tzx-ink2); }
.tzqz-tro { font: 700 12px var(--tzx-font); font-style: normal; color: #ffd76a; animation: tzqz-up .9s ease .25s both; }
.tzqz-tro.is-lost { color: rgb(255, 96, 82); }
.tzqz-sk { font: 600 11px var(--tzx-font); font-style: normal; color: #ffd166; }
/* under the chart: the room and the target, then risk : reward */
.tzqz-legend { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin: 9px 2px 0; font: 500 12px var(--tzx-font); color: var(--tzx-ink2); }
.tzqz-legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.tzqz-legend b { color: var(--tzx-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.tzqz-legend i { flex: none; width: 12px; height: 9px; border-radius: 2px; }
.tzqz-legend .sw-room { background: rgba(245, 245, 247, .12); box-shadow: inset 0 0 0 1px rgba(245, 245, 247, .3); }
.tzqz-legend .sw-tp { height: 0; border-top: 2px dotted rgb(184, 245, 0); border-radius: 0; }
.tzqz-rr { margin-top: 10px; }
.tzqz-rr .tzqz-seg button { height: 32px; font-variant-numeric: tabular-nums; }
.tzqz-act { display: flex; gap: 10px; margin-top: 12px; }
.tzqz-act button { flex: 1; min-width: 0; height: 50px; border-radius: 14px; border: 0; background: rgba(118, 118, 128, .24); color: var(--tzx-ink); font: 600 17px var(--tzx-font); letter-spacing: -.01em; cursor: pointer; transition: transform .12s, opacity .2s; }
.tzqz-act button:active { transform: scale(.97); }
.tzqz-act button.up { background: rgb(184, 245, 0); color: #050505; }
.tzqz-act button.dn { background: rgb(255, 96, 82); color: #050505; }
.tzqz-act button.sm { flex: 0 0 auto; padding: 0 18px; font-weight: 500; font-size: 15px; }
.tzqz-act button.is-wide { flex: 1; }
.tzqz-act button:disabled { opacity: .35; cursor: default; }
.tzqz-say { margin: 14px 2px 0; font-size: 14px; line-height: 1.5; color: var(--tzx-ink2); } .tzqz-say b { color: var(--tzx-ink); }
.tzqz-say:empty { display: none; }
.tzqz-say .y { color: rgb(184, 245, 0); } .tzqz-say .n { color: rgb(255, 96, 82); }
.tzqz-n { margin: 10px 2px 0; font-size: 12px; line-height: 1.45; color: var(--tzx-ink3); }
.tzqz-refill { margin-top: 8px; height: 34px; padding: 0 16px; border-radius: 999px; border: 0; background: rgba(184, 245, 0, .14); color: rgb(184, 245, 0); font: 600 13px var(--tzx-font); cursor: pointer; }
.tzqz-burst { position: absolute; left: 50%; top: 45%; pointer-events: none; }
.tzqz-burst i { position: absolute; width: 5px; height: 5px; background: rgb(184, 245, 0); animation: tzqz-fly .9s ease-out var(--d) both; }
.tzqz-burst i:nth-child(3n) { background: #ffd76a; } .tzqz-burst i:nth-child(4n) { background: #f5f5f7; }
.tzqz-load { display: inline-flex; gap: 4px; margin-right: 8px; vertical-align: middle; }
.tzqz-load i { width: 6px; height: 6px; border-radius: 50%; background: rgb(184, 245, 0); animation: tzqz-blink 1s infinite; } .tzqz-load i:nth-child(2) { animation-delay: .15s; } .tzqz-load i:nth-child(3) { animation-delay: .3s; }
/* the intro: a sheet from the bottom, three pages, dots, one button */
#tzqz-intro { position: fixed; inset: 0; z-index: 100200; display: flex; align-items: flex-end; justify-content: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzqz-in-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: tzqz-fade .25s ease both; }
.tzqz-in-box { position: relative; width: min(420px, 100%); box-sizing: border-box; padding: 28px 0 calc(16px + env(safe-area-inset-bottom, 0px)); border-radius: 26px 26px 0 0; background: #1c1c1e; box-shadow: 0 -12px 40px rgba(0, 0, 0, .5); animation: tzqz-sheet .44s cubic-bezier(.2, .9, .25, 1) both; }
@media (min-width: 761px) { #tzqz-intro { align-items: center; } .tzqz-in-box { border-radius: 26px; } }
.tzqz-in-x { position: absolute; z-index: 1; top: 14px; right: 14px; width: 30px; height: 30px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(118, 118, 128, .24); color: rgba(235, 235, 245, .6); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzqz-in-pages { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.tzqz-in-pages::-webkit-scrollbar { display: none; }
.tzqz-in-pages section { flex: 0 0 100%; box-sizing: border-box; padding: 0 28px; scroll-snap-align: center; text-align: center; }
.tzqz-in-pages h3 { margin: 0 0 8px; font: 700 22px/1.2 var(--tzx-font); letter-spacing: -.02em; color: var(--tzx-ink); }
.tzqz-in-pages p { margin: 0 auto; max-width: 320px; font: 400 15px/1.45 var(--tzx-font); color: rgba(235, 235, 245, .68); }
.tzqz-in-dots { display: flex; justify-content: center; gap: 8px; margin: 18px 0 16px; }
.tzqz-in-dots i { width: 7px; height: 7px; border-radius: 50%; background: rgba(235, 235, 245, .28); transition: background .25s; }
.tzqz-in-dots i.on { background: var(--tzx-ink); }
.tzqz-in-go { display: block; width: calc(100% - 40px); margin: 0 20px; height: 50px; border: 0; border-radius: 14px; background: rgb(184, 245, 0); color: #050505; font: 600 17px var(--tzx-font); cursor: pointer; transition: transform .12s; }
.tzqz-in-go:active { transform: scale(.98); }
#tzqz-intro.is-out .tzqz-in-box { animation: tzqz-sheet-out .22s ease-in both; } #tzqz-intro.is-out .tzqz-in-scrim { animation: tzqz-fade-out .22s ease both; }
.tzqz-art { margin: 4px auto 18px; width: 100%; max-width: 280px; height: 140px; border-radius: 18px; background: #050506; overflow: hidden; }
.tzqz-art svg { display: block; width: 100%; height: 100%; }
.tzqz-art .w path { stroke: rgba(245, 245, 247, .32); stroke-width: 1.5; stroke-linecap: round; }
.tzqz-art .u rect { fill: rgb(184, 245, 0); } .tzqz-art .d rect { fill: rgb(255, 96, 82); }
.tzqz-art .now { stroke: rgba(245, 245, 247, .22); stroke-width: 1; stroke-dasharray: 3 4; }
.tzqz-art .q { fill: rgba(245, 245, 247, .45); font: 700 34px var(--tzx-font); text-anchor: middle; }
.tzqz-art .rb { fill: none; stroke: rgba(255, 255, 255, .14); stroke-width: 3; }
.tzqz-art .rf { fill: none; stroke: rgb(184, 245, 0); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 100; animation: tzqz-ring 6s linear infinite; }
.tzqz-art .rn { fill: var(--tzx-ink); font: 700 10px var(--tzx-font); text-anchor: middle; }
.tzqz-art .box { fill: rgba(245, 245, 247, .1); stroke: rgba(245, 245, 247, .22); stroke-width: 1; stroke-dasharray: 2 3; }
.tzqz-art .en { stroke: rgba(245, 245, 247, .6); stroke-width: 1.2; stroke-dasharray: 2 3; }
.tzqz-art .tp { stroke: rgb(184, 245, 0); stroke-width: 1.6; stroke-dasharray: 3 3; }
.tzqz-art .sl { stroke: rgb(255, 96, 82); stroke-width: 1.6; stroke-dasharray: 3 3; }
.tzqz-art .lt, .tzqz-art .lr, .tzqz-art .ls { font: 700 8px var(--tzx-font); letter-spacing: .06em; text-anchor: end; }
.tzqz-art .lt { fill: rgb(184, 245, 0); } .tzqz-art .lr { fill: rgba(245, 245, 247, .55); } .tzqz-art .ls { fill: rgb(255, 96, 82); }
.tzqz-art.is-pot g path { fill: none; stroke: rgba(255, 255, 255, .26); stroke-width: 1.1; stroke-linejoin: round; stroke-linecap: round; }
.tzqz-art.is-pot g.on path { fill: #ffd166; stroke: #ffb547; }
.tzqz-art .sk rect { fill: rgba(255, 255, 255, .14); } .tzqz-art .sk rect.on { fill: #ffd166; }
@keyframes tzqz-pop { from { transform: scale(.7); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes tzqz-up { 0% { transform: translateY(8px); opacity: 0; } 60% { transform: translateY(-3px); opacity: 1; } 100% { transform: none; opacity: 1; } }
@keyframes tzqz-fly { from { transform: translate(0, 0); opacity: 1; } to { transform: translate(var(--x), var(--y)); opacity: 0; } }
@keyframes tzqz-blink { 0%, 100% { opacity: .2; } 50% { opacity: 1; } }
@keyframes tzqz-glow { 50% { filter: brightness(1.25); } }
@keyframes tzqz-sheet { from { transform: translateY(100%); } to { transform: none; } }
@keyframes tzqz-sheet-out { from { transform: none; } to { transform: translateY(100%); } }
@keyframes tzqz-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes tzqz-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes tzqz-ring { from { stroke-dashoffset: 0; } to { stroke-dashoffset: 100; } }
@media (prefers-reduced-motion: reduce) { .tzqz-res, .tzqz-tro, .tzqz-burst i, .tzqz-load i, .tzqz-pot.is-full .tzqz-cups, .tzqz-in-box, .tzqz-in-scrim, .tzqz-art .rf { animation: none; } .tzqz-seg > i { transition: none; } }

/* ── Passes (173-pass.js): credits open a chart for 24 h; Edge and Edge+ float under a finished analysis ── */
.tzk-gate { flex-wrap: wrap; }
.tzk-gate .tzs-unlock { width: auto; margin-top: 0; }
#tzpd { position: fixed; z-index: 870; left: calc(var(--tzx-rail) + (100vw - var(--tzx-rail)) / 2); transform: translateX(-50%); bottom: calc(var(--tzx-bar, 0px) + 12px);
  display: flex; gap: 8px; padding: 6px; border-radius: 18px; background: rgba(10, 11, 14, .88); border: 1px solid rgba(184, 245, 0, .18);
  -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); box-shadow: 0 10px 30px rgba(0, 0, 0, .5);
  font-family: var(--tzx-font); animation: tzpdIn .35s cubic-bezier(.2, 1.2, .4, 1) both; }
#tzpd[hidden] { display: none; }
@keyframes tzpdIn { from { opacity: 0; transform: translate(-50%, 14px); } }
.tzpd-b { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; min-width: 112px; height: 46px; padding: 0 14px; border-radius: 13px; cursor: pointer;
  border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); }
.tzpd-b b { font: 900 15px/1 var(--tzx-font); letter-spacing: -.01em; }
.tzpd-b b i, .tzps-h i, .tzpl-k i { font-style: normal; color: var(--tzx-acc); }
.tzpd-b small { display: inline-flex; align-items: center; gap: 4px; font: 700 11px/1 var(--tzx-font); color: var(--tzx-ink2); }
.tzpd-b.is-plus { background: var(--tzx-acc); border-color: transparent; color: #050505; }
.tzpd-b.is-plus b i { color: #050505; }
.tzpd-b.is-plus small { color: rgba(5, 5, 5, .7); }
.tzpd-b.is-on small { color: var(--tzx-acc); } .tzpd-b.is-plus.is-on small { color: #050505; }
.tzpd-b:active { transform: scale(.97); }
.tzps-pt { width: 12px; height: 12px; vertical-align: -2px; flex: none; }
.tzpd-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--tzx-acc); box-shadow: 0 0 0 0 rgba(184, 245, 0, .6); animation: tzpdPulse 1.6s ease-out infinite; display: inline-block; }
.tzpd-b.is-plus .tzpd-dot { background: #050505; }
@keyframes tzpdPulse { 70% { box-shadow: 0 0 0 7px rgba(184, 245, 0, 0); } 100% { box-shadow: 0 0 0 0 rgba(184, 245, 0, 0); } }
html.tzpd-on #results-wrap { padding-bottom: 76px; }
#tzpl { position: fixed; z-index: 869; right: 12px; bottom: calc(var(--tzx-bar, 0px) + 12px); display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 99px; cursor: pointer;
  border: 1px solid rgba(184, 245, 0, .3); background: rgba(10, 11, 14, .9); color: var(--tzx-ink); font: 800 12px var(--tzx-font); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
#tzpl[hidden], html.tzpd-on #tzpl { display: none; }
#tzpl b { color: var(--tzx-acc); }
#tzps { position: fixed; inset: 0; z-index: 100250; display: flex; align-items: flex-end; justify-content: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzps[hidden] { display: none; }
.tzps-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .66); }
.tzps-box { position: relative; width: 100%; max-width: 440px; margin: 0 auto; padding: 20px 18px calc(18px + var(--tzx-safe-b, 0px)); border-radius: 22px 22px 0 0; background: #0c0d11; border: 1px solid var(--tzx-line); border-bottom: 0;
  animation: tzpsUp .28s cubic-bezier(.2, 1, .4, 1) both; max-height: 88vh; overflow-y: auto; }
@media (min-width: 760px) { #tzps { align-items: center; } .tzps-box { border-radius: 22px; border-bottom: 1px solid var(--tzx-line); } }
@keyframes tzpsUp { from { transform: translateY(30px); opacity: 0; } }
.tzps-x { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); font-size: 14px; cursor: pointer; }
.tzps-eye { display: block; font: 800 11px var(--tzx-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzps-h { margin: 6px 0 10px; font: 900 30px/1.05 var(--tzx-font); letter-spacing: -.03em; }
.tzps-note { margin: 0 0 10px; font-size: 13.5px; line-height: 1.5; color: var(--tzx-ink2); }
.tzps-what { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.tzps-what li { position: relative; padding-left: 22px; font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tzps-what li::before { content: ''; position: absolute; left: 4px; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--tzx-acc); }
.tzps-price { display: flex; flex-direction: column; gap: 3px; margin: 0 0 14px; padding: 11px 13px; border-radius: 13px; background: rgba(184, 245, 0, .06); border: 1px solid rgba(184, 245, 0, .16); }
.tzps-price b { display: inline-flex; align-items: center; gap: 6px; font: 900 17px var(--tzx-font); } .tzps-price b .tzps-pt { width: 16px; height: 16px; }
.tzps-price span { font-size: 12px; color: var(--tzx-ink3); } .tzps-price span.is-short { color: #ffb547; }
.tzps-go { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 48px; border: 0; border-radius: 14px; background: var(--tzx-acc); color: #050505; font: 900 15.5px var(--tzx-font); cursor: pointer; }
.tzps-go .tzps-pt { width: 15px; height: 15px; }
.tzps-go:disabled { opacity: .7; cursor: default; }
.tzps-link { display: block; width: 100%; margin-top: 8px; height: 40px; border: 1px solid var(--tzx-line); border-radius: 12px; background: none; color: var(--tzx-ink); font: 800 13.5px var(--tzx-font); cursor: pointer; }
.tzps-fine { margin: 10px 0 0; text-align: center; font-size: 11.5px; color: var(--tzx-ink3); }
.tzpl-list { display: grid; gap: 7px; }
.tzpl-row { display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 12px; border-radius: 13px; border: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); text-align: left; cursor: pointer; font-family: var(--tzx-font); }
.tzpl-k { flex: none; min-width: 52px; font: 900 13px var(--tzx-font); } .tzpl-k.is-plus { color: var(--tzx-ink); }
.tzpl-n { flex: 1; min-width: 0; display: flex; flex-direction: column; } .tzpl-n b { font: 800 14px var(--tzx-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .tzpl-n small { font-size: 11.5px; color: var(--tzx-ink3); }
.tzpl-t { flex: none; text-align: right; font: 800 13px var(--tzx-font); color: var(--tzx-acc); } .tzpl-t small { display: block; font-weight: 600; font-size: 10.5px; color: var(--tzx-ink3); }
html.tzps-open { overflow: hidden; }
/* Credits for practice (177-credit.js): the same sheet as a pass, the price line under an action */
#tzcr { position: fixed; inset: 0; z-index: 100250; display: flex; align-items: flex-end; justify-content: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
#tzcr[hidden] { display: none; }
@media (min-width: 760px) { #tzcr { align-items: center; } }
#tzcr .tzps-h { font-size: 27px; }
.tzcr-was { font-weight: 800; color: var(--tzx-ink2); text-decoration: line-through 2px #ff6052; }
.tzcr-gift { margin: 0 0 12px; padding: 9px 12px; border-radius: 12px; background: rgba(184, 245, 0, .09); color: var(--tzx-acc); font: 800 13px var(--tzx-font); }
.tzcr-note { margin: 8px 0 0; font-size: 11.5px; line-height: 1.5; color: var(--tzx-ink3); text-align: center; }
.tzcr-note:empty { display: none; }
.tzcr-note b { display: inline-flex; align-items: center; gap: 4px; color: var(--tzx-ink); font-weight: 800; }
.tzcr-note s { color: var(--tzx-ink3); }
.tzcr-pro { padding: 0; border: 0; background: none; color: var(--tzx-acc); font: 800 11.5px var(--tzx-font); cursor: pointer; }
.tzcr-chip { margin-left: 6px; padding: 2px 8px; border-radius: 99px; background: rgba(184, 245, 0, .1); color: var(--tzx-acc); font: 800 10.5px var(--tzx-font); font-style: normal; letter-spacing: 0; vertical-align: 3px; }
/* Edge (2 credits): the chart and what changed */
.tze-up { margin-left: 6px; padding: 4px 10px; border-radius: 99px; border: 1px solid rgba(184, 245, 0, .35); background: none; color: var(--tzx-acc); font: 800 11.5px var(--tzx-font); cursor: pointer; }
#tze .tze-tabs [hidden] { display: none; }

/* ── the analyst chart, 2026-10-08: drawing tools, the averages' legend, softer edges (164-markup.js) ── */
.tzmx-top { flex-wrap: wrap; row-gap: 7px; }
.tzmx-zoom { flex: 1 1 100%; align-items: center; justify-content: flex-end; }
@media (min-width: 560px) { .tzmx-zoom { flex: none; } }
.tzmx-tools { display: flex; gap: 2px; margin-right: auto; padding: 2px; border-radius: 11px; background: rgba(255, 255, 255, .05); }
@media (min-width: 560px) { .tzmx-tools { margin-right: 4px; } }
.tzmx-tools button { display: grid; place-items: center; width: 34px; height: 28px; padding: 0; border: 0; border-radius: 9px; background: transparent; color: var(--tzx-ink2); cursor: pointer; transition: background .18s, color .18s; }
.tzmx-tools button svg { width: 18px; height: 18px; }
.tzmx-tools button[aria-pressed="true"] { background: var(--tzx-acc); color: #050505; box-shadow: 0 2px 10px rgba(184, 245, 0, .25); }
.tzmx-tools button[hidden] { display: none; }
.tzmx.is-tool .tzmx-chart { touch-action: none; cursor: crosshair; box-shadow: inset 0 0 0 1px rgba(184, 245, 0, .35); }
.tzmx-tl { stroke: rgba(245, 245, 247, .95); stroke-width: 1.6; stroke-linecap: round; }
.tzmx-ray { stroke: rgba(245, 245, 247, .32); stroke-width: 1.2; stroke-dasharray: 4 4; }
.tzmx-tlp { fill: #0a0b0e; stroke: #f5f5f7; stroke-width: 1.5; }
.tzmx-mt { font: 800 11.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzmx-ms { font: 600 10.5px var(--tzx-font); fill: rgba(245, 245, 247, .62); }
.tzmx-leg { font: 800 10.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzmx-cv { -webkit-mask-image: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 14px), transparent); mask-image: linear-gradient(90deg, transparent, #000 28px, #000 calc(100% - 14px), transparent); }
.tzmx-legend { display: flex; gap: 12px; margin: -2px 2px 8px; font: 700 11.5px var(--tzx-font); }
.tzmx-legend span { display: inline-flex; align-items: center; gap: 5px; color: rgb(var(--c)); }
.tzmx-legend i { width: 8px; height: 8px; border-radius: 50%; background: rgb(var(--c)); box-shadow: 0 0 8px rgba(var(--c), .5); }
/* the chart's labels, Apple style (2026-10-08): sentence case, medium weight, no shouting caps */
.tzmx-ct { font: 600 9.5px var(--tzx-font); letter-spacing: .005em; }
.tzmx-pd { font: 600 9px var(--tzx-font); letter-spacing: .02em; }
.tzmx-pv { font: 700 9.5px var(--tzx-font); letter-spacing: .02em; stroke-width: 3.5px; }
.tzmx-bk { font: 700 9px var(--tzx-font); letter-spacing: .02em; stroke-width: 3.5px; }
.tzmx-lab { font: 600 9.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
/* a new analysis: its candles sweep in from the left, once (164-markup.js) */
.tzmx-cv.is-reveal { animation: tzmxReveal 1s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes tzmxReveal { from { clip-path: inset(0 100% 0 0); opacity: .35; filter: brightness(1.15); } 60% { filter: brightness(1.05); } to { clip-path: inset(0 0 0 0); opacity: 1; filter: none; } }
@media (prefers-reduced-motion: reduce) { .tzmx-cv.is-reveal { animation: none; } }
/* six tools (164-markup.js, 2026-10-08): level, Fibonacci, position, replay */
.tzmx-tools button { width: 30px; }
.tzmx-hl { stroke: rgba(245, 245, 247, .7); stroke-width: 1.1; stroke-dasharray: 5 4; }
.tzmx-fl { font: 600 9px var(--tzx-font); font-variant-numeric: tabular-nums; paint-order: stroke; stroke: rgba(10, 10, 12, .85); stroke-width: 3px; }
.tzmx-read { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.tzmx-rr { display: inline-flex; gap: 2px; padding: 2px; border-radius: 10px; background: rgba(255, 255, 255, .05); }
.tzmx-rr button { height: 24px; padding: 0 9px; border: 0; border-radius: 8px; background: transparent; color: var(--tzx-ink2); font: 700 11.5px var(--tzx-font); font-variant-numeric: tabular-nums; cursor: pointer; }
.tzmx-rr button[aria-pressed="true"] { background: var(--tzx-acc); color: #050505; }
.tzmx-rp { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; color: var(--tzx-ink2); }
.tzmx-rp b { display: inline-flex; align-items: center; gap: 6px; color: var(--tzx-ink); font-weight: 800; }
.tzmx-rp b i { width: 7px; height: 7px; border-radius: 50%; background: var(--tzx-acc); animation: tzpdPulse 1.6s ease-out infinite; }
.tzmx-rpb { display: inline-flex; gap: 4px; }
.tzmx-rpb button { min-width: 32px; height: 28px; padding: 0 10px; border: 1px solid var(--tzx-line); border-radius: 9px; background: rgba(255, 255, 255, .05); color: var(--tzx-ink); font: 800 14px var(--tzx-font); cursor: pointer; }
.tzmx-rpb button.is-x { font-size: 12px; border-color: rgba(184, 245, 0, .4); color: var(--tzx-acc); }
.tzmx.is-replay .tzmx-say, .tzmx.is-replay .tzmx-sh em { visibility: hidden; }
.tzmx.is-replay .tzmx-chart { box-shadow: inset 0 0 0 1px rgba(184, 245, 0, .28); }
.tzmx-tools button, .tzmx-zoom button { min-width: 0; }
.tzmx-read { min-height: 34px; }
/* the glow line's dot at the price now breathes slowly (149-pixel.js glow) */
.tzpx-breath { transform-box: fill-box; transform-origin: center; animation: tzpxBreath 3.2s ease-in-out infinite; }
@keyframes tzpxBreath { 0%, 100% { transform: scale(.8); opacity: .4; } 50% { transform: scale(1.1); opacity: .8; } }
@media (prefers-reduced-motion: reduce) { .tzpx-breath { animation: none; } }
/* (2026-10-08) a market's name stays white; only its number says up or down */
.tzmk-li-id b { color: var(--tzx-ink); }
/* ── Home: the quiz card and the watchlist (174-watch.js) ── */
.tzhw { margin: 12px 14px 0; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzhw-quiz { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 12px; border-radius: 15px; border: 1px solid rgba(184, 245, 0, .28);
  background: linear-gradient(100deg, rgba(184, 245, 0, .11), rgba(184, 245, 0, .02) 70%); color: var(--tzx-ink); text-align: left; cursor: pointer; overflow: hidden; font-family: inherit; }
.tzhw-qi { flex: 0 0 auto; width: 30px; height: 30px; stroke: rgba(184, 245, 0, .75); fill: rgb(184, 245, 0); }
.tzhw-qi rect.dn { fill: rgb(255, 96, 82); }
.tzhw-qt { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.tzhw-qt b { font: 800 14px var(--tzx-font); } .tzhw-qt small { font: 500 11.5px var(--tzx-font); color: var(--tzx-ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzhw-qgo { flex: 0 0 auto; height: 30px; padding: 0 14px; border-radius: 999px; background: rgb(184, 245, 0); color: #050505; font: 800 12.5px/30px var(--tzx-font); }
.tzhw-qbar { position: absolute; left: 0; bottom: 0; height: 2px; width: calc(var(--p, 0) * 100%); background: rgb(184, 245, 0); transition: width .4s ease; }
.tzhw-quiz:active { transform: scale(.985); }
.tzhw-h { display: flex; align-items: center; justify-content: space-between; margin: 14px 2px 7px; }
.tzhw-h b { font: 800 13px var(--tzx-font); letter-spacing: .01em; }
.tzhw-ed { min-height: 0; min-width: 0; height: 28px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 600 11.5px var(--tzx-font); cursor: pointer; }
.tzhw-ed[aria-pressed="true"] { color: rgb(184, 245, 0); border-color: rgba(184, 245, 0, .4); }
.tzhw-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tzhw-t { position: relative; min-width: 0; }
.tzhw-tb { display: flex; flex-direction: column; gap: 4px; width: 100%; min-width: 0; padding: 9px 10px 8px; border-radius: 13px; border: 1px solid var(--tzx-line); background: var(--tzx-card); color: var(--tzx-ink); text-align: left; cursor: pointer; font-family: inherit; }
.tzhw-tb:active { transform: scale(.98); }
.tzhw-t1 { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; min-width: 0; }
.tzhw-t1 b { font: 800 12.5px var(--tzx-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzhw-t1 em { font: 700 11px var(--tzx-font); font-style: normal; color: var(--tzx-ink3); white-space: nowrap; }
.tzhw-t.m-up .tzhw-t1 em { color: rgb(184, 245, 0); } .tzhw-t.m-dn .tzhw-t1 em { color: rgb(255, 96, 82); }
.tzhw-ln { display: block; height: 26px; } .tzhw-ln svg { display: block; width: 100%; height: 26px; max-width: none; overflow: visible; }
.tzhw-t2 { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; min-width: 0; }
.tzhw-t2 b { font: 700 12px var(--tzx-font); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tzhw-t2 small { font: 500 10px var(--tzx-font); color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tzhw-x { position: absolute; top: -6px; right: -6px; min-height: 0; min-width: 0; padding: 0; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--tzx-line); background: #16171b; color: var(--tzx-ink2); font: 700 10px var(--tzx-font); cursor: pointer; }
.tzhw-plus { min-height: 86px; border-radius: 13px; border: 1px dashed rgba(255, 255, 255, .16); background: none; color: var(--tzx-ink2); font: 700 12.5px var(--tzx-font); cursor: pointer; }
.tzhw-add { position: relative; grid-column: 1 / -1; }
.tzhw-add input { width: 100%; height: 40px; padding: 0 12px; border-radius: 12px; border: 1px solid rgba(184, 245, 0, .4); background: rgba(255, 255, 255, .04); color: var(--tzx-ink); font: 600 14px var(--tzx-font); text-transform: uppercase; outline: none; box-sizing: border-box; }
.tzhw-sg { display: flex; flex-direction: column; margin-top: 4px; border-radius: 12px; overflow: hidden; }
.tzhw-sg button { display: flex; align-items: baseline; gap: 8px; padding: 9px 12px; border: 0; border-bottom: 1px solid var(--tzx-line); background: rgba(255, 255, 255, .03); color: var(--tzx-ink); text-align: left; cursor: pointer; font-family: inherit; }
.tzhw-sg b { font: 800 12.5px var(--tzx-font); } .tzhw-sg span { font: 500 11.5px var(--tzx-font); color: var(--tzx-ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* ── Calls by taps (128-markets.js, 2026-10-10): the 5-second strip after a call, gold while trophies ride, the how-to ── */
.tzmk-li.has-panel { flex-wrap: wrap; }
.tzmk-li.is-gold { background: linear-gradient(100deg, rgba(255, 196, 61, .13), rgba(255, 196, 61, .04) 70%); box-shadow: inset 0 0 0 1px rgba(255, 196, 61, .45); }
.tzmk-li.is-gold .tzmk-li-id b { color: #ffd166; }
  border: 1px solid rgba(184, 245, 0, .28); background: rgba(184, 245, 0, .05); font-family: var(--tzx-font); animation: tzmk-tw-in .25s ease; }
.tzmk-callrow.is-gold button.on { box-shadow: 0 0 0 2px #ffd166, 0 0 14px rgba(255, 196, 61, .45); }
/* ── A watchlist market's card (174-watch.js, 2026-10-10): its last 3 days, alert lines drawn with a tap ── */
.tzhw-bell { margin-left: 4px; font-size: 10px; font-style: normal; }
.tzhw-plus.is-pro { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border-color: rgba(255, 209, 102, .4); color: var(--tzx-ink); }
.tzhw-plus.is-pro b { color: #ffd166; } .tzhw-plus.is-pro small { font: 500 10.5px var(--tzx-font); color: var(--tzx-ink3); }
.tzhwc { position: fixed; inset: 0; z-index: 905; display: flex; align-items: flex-end; justify-content: center; font-family: var(--tzx-font); color: var(--tzx-ink); }
.tzhwc-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .62); animation: tzhwc-fade .2s ease; }
.tzhwc-box { position: relative; width: min(520px, 100%); max-height: 88vh; overflow-y: auto; scrollbar-width: none; box-sizing: border-box; padding: 14px 14px calc(14px + env(safe-area-inset-bottom, 0px));
  border-radius: 20px 20px 0 0; background: #0c0d10; border: 1px solid var(--tzx-line); border-bottom: 0; animation: tzhwc-up .28s cubic-bezier(.2, 1, .3, 1); }
.tzhwc-box::-webkit-scrollbar { display: none; }
@media (min-width: 700px) { .tzhwc { align-items: center; } .tzhwc-box { border-radius: 20px; border-bottom: 1px solid var(--tzx-line); } }
.tzhwc-top { display: flex; align-items: center; gap: 10px; }
.tzhwc-id { display: flex; flex-direction: column; min-width: 0; flex: 1; } .tzhwc-id b { font: 800 18px var(--tzx-font); } .tzhwc-id small { font-size: 12px; color: var(--tzx-ink3); }
.tzhwc-q { display: flex; flex-direction: column; align-items: flex-end; } .tzhwc-q b { font: 800 16px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzhwc-q em { font: 700 12px var(--tzx-font); font-style: normal; color: var(--tzx-ink3); } .tzhwc-q em.y { color: rgb(184, 245, 0); } .tzhwc-q em.n { color: rgb(255, 96, 82); }
.tzhwc-x { min-height: 0; min-width: 0; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .06); color: var(--tzx-ink2); font: 700 12px var(--tzx-font); cursor: pointer; }
.tzhwc-ch { margin-top: 12px; border-radius: 13px; background: #050506; overflow: hidden; min-height: 120px; display: grid; place-items: center; }
.tzhwc-ch svg { display: block; width: 100%; height: auto; touch-action: none; cursor: crosshair; user-select: none; -webkit-user-select: none; }
.tzhwc-ch text { font: 700 8px var(--tzx-font); text-anchor: end; fill: #ffd166; }
.tzhwc-now { stroke: rgba(245, 245, 247, .45); stroke-dasharray: 1.5 2.5; stroke-width: 1; }
.tzhwc-ch .tzhwc-nowt { fill: rgba(245, 245, 247, .7); }
.tzhwc-ln line { stroke: #ffd166; stroke-width: 1.2; stroke-dasharray: 5 3; }
.tzhwc-ln circle { fill: #ffd166; stroke: #0c0d10; stroke-width: 1.5; }
.tzhwc-ln.is-drag line { stroke-width: 1.8; stroke-dasharray: none; } .tzhwc-ln.is-drag circle { r: 7; }
.tzhwc-wait { margin: 0; font-size: 12px; color: var(--tzx-ink3); }
.tzhwc-hint { margin: 7px 2px 0; min-height: 15px; font-size: 11.5px; color: var(--tzx-ink3); }
.tzhwc-al { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.tzhwc-al:empty { display: none; }
.tzhwc-chip { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 4px 0 10px; border-radius: 999px; border: 1px solid rgba(255, 209, 102, .4); background: rgba(255, 209, 102, .08); font: 600 12px var(--tzx-font); color: var(--tzx-ink2); }
.tzhwc-chip i { font-style: normal; font-size: 11px; } .tzhwc-chip b { color: #ffd166; font-variant-numeric: tabular-nums; }
.tzhwc-chip button { min-height: 0; min-width: 0; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .06); color: var(--tzx-ink3); font: 700 9px var(--tzx-font); cursor: pointer; }
.tzhwc-push { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 9px 11px; border-radius: 12px; background: rgba(255, 255, 255, .035); font-size: 12px; line-height: 1.4; color: var(--tzx-ink2); }
.tzhwc-push[hidden] { display: none; }
.tzhwc-push span { flex: 1; min-width: 0; }
.tzhwc-push button { flex: 0 0 auto; min-height: 0; height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(184, 245, 0, .4); background: none; color: rgb(184, 245, 0); font: 700 12px var(--tzx-font); cursor: pointer; }
.tzhwc-act { display: flex; gap: 8px; margin-top: 12px; }
.tzhwc-act button { min-height: 0; height: 42px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 700 13px var(--tzx-font); cursor: pointer; }
.tzhwc-act button.go { flex: 1; border: 0; background: rgb(184, 245, 0); color: #050505; }
@keyframes tzhwc-up { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes tzhwc-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .tzhwc-box, .tzhwc-scrim { animation: none; } }

/* ── Quick journal (175-jot.js): the Journal opens on it ── */
.tzjot { display: grid; gap: 10px; margin: 0 0 14px; padding: 14px; border-radius: 18px; background: rgba(28, 28, 30, .72); border: 1px solid var(--tzx-line); font-family: var(--tzx-font); }
.tzjot.is-hi { animation: tzjot-hi .9s ease; }
@keyframes tzjot-hi { 0% { box-shadow: 0 0 0 0 rgba(184, 245, 0, .55); } 100% { box-shadow: 0 0 0 14px rgba(184, 245, 0, 0); } }
.tzjot-h { display: flex; align-items: center; justify-content: space-between; }
.tzjot-h b { font: 700 17px var(--tzx-font); letter-spacing: -.02em; color: var(--tzx-ink); }
.tzjot-full { min-height: 0; height: 28px; padding: 0 4px; border: 0; background: none; color: var(--tzx-acc); font: 600 13px var(--tzx-font); cursor: pointer; }
.tzjot-mk { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -2px; padding: 2px; }
.tzjot-mk::-webkit-scrollbar { display: none; }
.tzjot-mk button { flex: 0 0 auto; min-height: 0; height: 34px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--tzx-line); background: rgba(118, 118, 128, .16); color: var(--tzx-ink2); font: 600 13px var(--tzx-font); letter-spacing: -.01em; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.tzjot-mk button[aria-checked="true"] { background: var(--tzx-ink); border-color: var(--tzx-ink); color: #050505; }
.tzjot-find { display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 13px; border-radius: 12px; border: 1px solid transparent; background: rgba(118, 118, 128, .16); cursor: text; transition: border-color .2s, background .2s; }
.tzjot-find svg { flex: none; width: 16px; height: 16px; fill: none; stroke: var(--tzx-ink3); stroke-width: 1.7; stroke-linecap: round; }
.tzjot-find input { flex: 1; min-width: 0; height: 100%; border: 0; background: none; color: var(--tzx-ink); font: 600 15px var(--tzx-font); letter-spacing: -.01em; text-transform: uppercase; outline: none; }
.tzjot-find input::placeholder { text-transform: none; color: var(--tzx-ink3); font-weight: 500; }
.tzjot-find.is-on, .tzjot-find:focus-within { border-color: rgba(245, 245, 247, .28); background: rgba(245, 245, 247, .06); }
.tzjot-find.is-bad { border-color: #ff6f5e; }
#tab-log .tzjot .tzjot-find input:focus, #tab-log .tzjot .tzjot-find input:focus-visible { outline: none; box-shadow: none; }   /* the box shows focus, not the field */
.tzjot-mk:empty { display: none; }
.tzjot-mk button.is-read::before { content: ''; display: inline-block; width: 5px; height: 5px; margin: 0 6px 1px 0; border-radius: 50%; background: var(--tzx-acc); vertical-align: middle; }
.tzjot-mk button.is-read[aria-checked="true"]::before { background: #050505; }
.tzjot-seg button { height: 34px; }
.tzjot-seg[data-g="dir"] button[data-v="LONG"][aria-checked="true"] { color: var(--tzx-acc); }
.tzjot-seg[data-g="dir"] button[data-v="SHORT"][aria-checked="true"] { color: #ff6f5e; }
.tzjot-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 8px; }
.tzjot-row[data-open] { grid-template-columns: minmax(0, 1fr); }
.tzjot-row[data-open] .tzjot-pnl { display: none; }
.tzjot-pnl { display: flex; align-items: center; gap: 6px; height: 42px; padding: 0 12px; border-radius: 12px; background: rgba(118, 118, 128, .16); }
.tzjot-pnl span { font: 600 12px var(--tzx-font); color: var(--tzx-ink3); }
.tzjot-pnl input, .tzjot-note { width: 100%; min-width: 0; border: 0; background: none; color: var(--tzx-ink); font: 600 15px var(--tzx-font); font-variant-numeric: tabular-nums; outline: none; }
.tzjot-note { height: 42px; padding: 0 12px; border-radius: 12px; background: rgba(118, 118, 128, .16); font-weight: 500; font-size: 14px; }
.tzjot-pnl input::placeholder, .tzjot-note::placeholder { color: var(--tzx-ink3); font-weight: 500; }
.tzjot-save { height: 46px; border: 0; border-radius: 13px; background: var(--tzx-acc); color: #050505; font: 700 15px var(--tzx-font); letter-spacing: -.01em; cursor: pointer; transition: transform .12s; }
.tzjot-save:active { transform: scale(.98); }
.tzt-week { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin: 2px 3px 12px; font-family: var(--tzx-font); }
.tzt-week span { font: 600 13px var(--tzx-font); color: var(--tzx-ink3); }
.tzt-week b { font: 700 15px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzt-week i { font-style: normal; font-size: 12.5px; color: var(--tzx-ink3); }
.tzt-autoline { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink2); font: 500 13px var(--tzx-font); text-align: left; cursor: pointer; }
.tzt-autoline b { color: var(--tzx-acc); font-weight: 600; }
.tzt-empty.is-jot { padding: 18px 14px; }
.tzt-empty.is-jot p { margin: 0 auto 6px; font-size: 13.5px; }
.tzt-rank-foot { margin: 14px 3px 0; font-size: 12.5px; color: var(--tzx-ink3); }
.tzt-rank-foot:empty { display: none; }
#tzt-sum { margin-top: 14px; }
@media (prefers-reduced-motion: reduce) { .tzjot.is-hi { animation: none; } html.tz-app .hdr .tz-gift.is-offer i { animation: none; } }
/* on the quick journal the + is a small round button: the box itself is the way to log */
.tzj-fab.is-jot { left: auto; right: 16px; width: 52px; height: 52px; padding: 0; border-radius: 50%; font-size: 0; gap: 0; justify-content: center; }
.tzj-fab.is-jot svg { width: 22px; height: 22px; }

/* ── Auto journal (176-auto.js): exchange-synced trades, live positions, then the reads ── */
#tza { padding: 14px 14px 0; font-family: var(--tzx-font); }
#tza + #tzh { padding-top: 0; }
#tza .tza-h b, #tza .tza-card b { text-transform: none; }
.tza-lead { margin: 2px 3px 12px; font-size: 13.5px; line-height: 1.45; color: var(--tzx-ink2); }
.tza-card { margin-bottom: 16px; padding: 16px; border-radius: 18px; background: rgba(28, 28, 30, .72); border: 1px solid var(--tzx-line); }
.tza-card b { display: block; font: 700 17px var(--tzx-font); letter-spacing: -.02em; color: var(--tzx-ink); }
.tza-card p { margin: 6px 0 12px; font-size: 13.5px; line-height: 1.5; color: var(--tzx-ink2); }
.tza-card .tza-fine { margin: 10px 0 0; font-size: 12.5px; color: var(--tzx-ink3); }
.tza-acts { display: flex; gap: 8px; }
.tza-acts button { min-height: 0; height: 42px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--tzx-line); background: none; color: var(--tzx-ink); font: 600 14px var(--tzx-font); cursor: pointer; }
.tza-acts .tza-go { flex: 1; border: 0; background: var(--tzx-acc); color: #050505; font-weight: 700; }
.tza-links { display: grid; gap: 6px; margin-bottom: 16px; }
.tza-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 12px; border-radius: 14px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tza-link b { display: block; font: 600 14px var(--tzx-font); color: var(--tzx-ink); }
.tza-link small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--tzx-ink3); }
.tza-link.is-err small { color: #ffb44a; }
.tza-link button { flex: 0 0 auto; min-height: 0; height: 32px; padding: 0 12px; border-radius: 999px; border: 0; background: rgba(118, 118, 128, .24); color: var(--tzx-ink); font: 600 13px var(--tzx-font); cursor: pointer; }
.tza-manage, .tza-more { justify-self: start; min-height: 0; height: 32px; padding: 0 4px; border: 0; background: none; color: var(--tzx-acc); font: 600 13px var(--tzx-font); cursor: pointer; }
.tza-more { display: block; margin: 4px auto 14px; }
.tza-h { display: flex; align-items: baseline; justify-content: space-between; margin: 6px 3px 8px; }
.tza-h b { display: inline-flex; align-items: center; gap: 7px; font: 700 15px var(--tzx-font); letter-spacing: -.01em; color: var(--tzx-ink); }
.tza-h span { font: 700 15px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tza-reads { margin-top: 18px; }
.tza-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--tzx-acc); box-shadow: 0 0 0 0 rgba(184, 245, 0, .6); animation: tza-pulse 2s ease-out infinite; }
.tza-dot.is-busy { background: var(--tzx-ink3); animation: none; }
@keyframes tza-pulse { 0% { box-shadow: 0 0 0 0 rgba(184, 245, 0, .55); } 70%, 100% { box-shadow: 0 0 0 7px rgba(184, 245, 0, 0); } }
.tza-list { margin-bottom: 8px; }
.tza-pos { display: flex; align-items: center; gap: 10px; padding: 10px; margin-bottom: 5px; border-radius: 12px; background: var(--tzx-card); border: 1px solid var(--tzx-line); }
.tza-main { flex: 1; min-width: 0; }
.tza-main b { display: block; font: 700 13.5px var(--tzx-font); color: var(--tzx-ink); }
.tza-main b i { font-style: normal; font-weight: 600; font-size: 11.5px; color: var(--tzx-ink3); }
.tza-main small, .tza-res small { display: block; margin-top: 2px; font-size: 12px; color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tza-res { flex-shrink: 0; text-align: right; }
.tza-res b { font: 700 14px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tza-note { margin: 0 3px 10px; font-size: 13px; line-height: 1.45; color: var(--tzx-ink3); }
.tza-note.is-warn { color: #ffb44a; }
.tza-foot { margin: 0 3px 14px; font-size: 11.5px; color: var(--tzx-ink3); }
.tza-noted { font-style: normal; color: var(--tzx-acc); font-size: 12px; }
@media (prefers-reduced-motion: reduce) { .tza-dot { animation: none; } }

/* ── Performance charts, Apple-style (153-curves.js, 2026-10-11): a readout that follows the finger, a range, smooth marks ── */
.tzq.tzc { position: relative; padding: 16px 14px 14px; border-radius: 22px; overflow: hidden;
  /* an evening sky over the sea: a mint glow high on the right, a lavender haze low on the left, over the dark card */
  background: radial-gradient(120% 70% at 92% -10%, rgba(94, 234, 212, .10), transparent 60%), radial-gradient(90% 60% at -10% 105%, rgba(167, 139, 250, .09), transparent 60%), linear-gradient(180deg, rgba(30, 32, 44, .9), rgba(22, 22, 26, .92));
  border-color: rgba(167, 139, 250, .14); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
.tzc-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; min-height: 66px; }
.tzc-read { min-width: 0; }
.tzc-read small { display: block; font: 600 13px var(--tzx-font); color: var(--tzx-ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzc-read b { display: block; margin-top: 2px; font: 700 30px/1.1 var(--tzx-font); letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: var(--tzx-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzc-read span { display: block; margin-top: 3px; font: 600 13px var(--tzx-font); color: var(--tzx-ink2); font-variant-numeric: tabular-nums; }
.tzc-read span.tzc-up { color: rgb(184, 245, 0); }
.tzc-read span.tzc-dn { color: rgb(255, 138, 160); }
.tzc .tzq-st b.is-dn { color: rgb(255, 138, 160); }
.tzc-chart { position: relative; margin: 12px 0 12px; min-height: 120px; touch-action: pan-y; outline: none; border-radius: 12px; -webkit-tap-highlight-color: transparent; }
.tzc-chart:focus-visible { box-shadow: 0 0 0 2px rgba(184, 245, 0, .5); }
.tzc-svg { display: block; width: 100%; height: auto; overflow: visible; }
.tzc-base { stroke: rgba(245, 245, 247, .22); stroke-width: 1; stroke-dasharray: 2 4; }
.tzc-zero { stroke: rgba(245, 245, 247, .16); stroke-width: 1; }
.tzc-peak { fill: none; stroke: rgba(245, 245, 247, .22); stroke-width: 1; stroke-dasharray: 1 3; }
.tzc-ddzone { fill: rgba(255, 96, 82, .07); }
.tzc-axis { fill: var(--tzx-ink3); font: 500 10.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzc-lab { fill: var(--tzx-ink); font: 600 12.5px var(--tzx-font); }
.tzc-val { fill: var(--tzx-ink2); font: 600 11.5px var(--tzx-font); font-variant-numeric: tabular-nums; }
.tzc-mid { fill: var(--tzx-ink); font: 700 17px var(--tzx-font); }
.tzc-nil { fill: rgba(245, 245, 247, .18); }
.tzc-ringbase { stroke: rgba(245, 245, 247, .1); stroke-width: 1; }
.tzc-draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: tzc-draw 1s cubic-bezier(.3, .8, .3, 1) forwards; }
.tzc-area { animation: tzc-fade .8s ease both .15s; }
.tzc-end { animation: tzc-fade .3s ease both .9s; }
.tzc-petal { animation: tzc-fade .5s ease both; transition: opacity .15s; }
.tzc-bar, .tzc-cell { animation: tzc-rise .5s cubic-bezier(.2, .9, .3, 1) both; transform-box: fill-box; transform-origin: center bottom; transition: opacity .15s; }
.tzc-ring { animation: tzc-ring 1.1s cubic-bezier(.3, .8, .3, 1) both; }
.has-lit .tzc-bar, .has-lit .tzc-cell, .has-lit .tzc-petal, .has-lit .tzc-ring, .has-lit .tzc-rings-key li { opacity: .38; }
.has-lit .is-lit { opacity: 1 !important; }
.tzc-cell.is-today { stroke: rgba(245, 245, 247, .7); stroke-width: 1.2; }
.tzc-cross { position: absolute; inset: 0; pointer-events: none; }
.tzc-cross i { position: absolute; top: 0; bottom: 0; left: var(--x); width: 1px; background: linear-gradient(180deg, transparent, rgba(245, 245, 247, .5) 20%, rgba(94, 234, 212, .35) 80%, transparent); }
.tzc-cross b { position: absolute; left: var(--x); top: var(--y); width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; border-radius: 50%; background: var(--c, rgb(184, 245, 0)); box-shadow: 0 0 0 3px rgba(22, 22, 28, .95), 0 0 0 4px rgba(255, 255, 255, .12), 0 0 16px var(--c, rgb(184, 245, 0)); transition: top .08s linear; }
.tzc-rings { display: flex; align-items: center; gap: 16px; }
.tzc-rings svg { flex: 0 0 auto; width: min(46%, 200px); }
.tzc-rings-key { flex: 1; min-width: 0; margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.tzc-rings-key li { display: grid; grid-template-columns: 10px minmax(0, 1fr); column-gap: 8px; cursor: default; transition: opacity .15s; }
.tzc-rings-key i { grid-row: 1 / span 2; width: 10px; height: 10px; margin-top: 4px; border-radius: 50%; }
.tzc-rings-key span { font: 500 13px var(--tzx-font); color: var(--tzx-ink2); }
.tzc-rings-key span b { font-weight: 700; font-size: 17px; color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzc-rings-key small { font-size: 11.5px; line-height: 1.35; color: var(--tzx-ink3); }
.tzc-center { display: flex; justify-content: center; }
.tzc-center svg { max-width: 260px; }
.tzc-none { margin: 30px 8px; text-align: center; font-size: 13.5px; line-height: 1.5; color: var(--tzx-ink3); }
.tzc-seg { margin-bottom: 10px; }
.tzc-seg button { height: 28px; font-size: 12.5px; }
.tzc-kinds { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -2px 2px; padding: 2px; }
.tzc-kinds::-webkit-scrollbar { display: none; }
.tzc-kinds button { flex: 0 0 auto; min-height: 0; height: 30px; padding: 0 13px; border-radius: 999px; border: 0; background: rgba(118, 118, 128, .18); color: var(--tzx-ink2); font: 600 13px var(--tzx-font); cursor: pointer; transition: background .2s, color .2s; }
.tzc-kinds button[aria-selected="true"] { background: var(--tzx-ink); color: #050505; }
.tzc-kinds .tzc-morebtn { background: none; border: 1px dashed var(--tzx-line); }
@keyframes tzc-draw { to { stroke-dashoffset: 0; } }
@keyframes tzc-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes tzc-rise { from { opacity: 0; transform: scaleY(.2); } to { opacity: 1; transform: none; } }
@keyframes tzc-ring { from { stroke-dasharray: 0 var(--c); } }
@media (prefers-reduced-motion: reduce) { .tzc-draw { animation: none; stroke-dashoffset: 0; } .tzc-area, .tzc-end, .tzc-bar, .tzc-cell, .tzc-petal, .tzc-ring { animation: none; } }
/* the liquid line's light: motes drifting up off the line, a glint breathing at the tip (153-curves.js) */
.tzc-mote { opacity: 0; transform-box: fill-box; transform-origin: center; animation: tzc-mote 6s ease-in-out infinite; pointer-events: none; }
.tzc-glint { opacity: 0; transform-box: fill-box; transform-origin: center; animation: tzc-glint 3.6s ease-in-out infinite 1.2s; pointer-events: none; }
@keyframes tzc-mote { 0% { opacity: 0; transform: translateY(0) scale(.6); } 25% { opacity: .75; } 100% { opacity: 0; transform: translateY(-16px) scale(1); } }
@keyframes tzc-glint { 0%, 100% { opacity: 0; transform: scale(.4) rotate(0deg); } 45% { opacity: .55; transform: scale(1) rotate(45deg); } 70% { opacity: 0; transform: scale(.6) rotate(60deg); } }
@media (prefers-reduced-motion: reduce) { .tzc-mote, .tzc-glint { display: none; } }

/* ── Money charts, the full pass (2026-10-11): sky colours, measure, milestones, ripple, celebration ── */
.tzc-badge { display: inline-block; margin: 0 0 0 6px; padding: 2px 8px; border-radius: 999px; font: 700 11px var(--tzx-font); font-style: normal; letter-spacing: .01em; color: #0b0b0d;
  background: linear-gradient(110deg, rgb(184, 245, 0), rgb(94, 234, 212), rgb(184, 245, 0)); background-size: 200% 100%; animation: tzc-shine 3s linear infinite; vertical-align: 1px; }
.tzc-badge[hidden] { display: none; }
.tzc-read small { display: inline-block; max-width: 100%; vertical-align: middle; }
.tzc-read.is-span small { color: rgb(94, 234, 212); }
.tzc-span { position: absolute; top: 0; bottom: 0; left: var(--a); width: calc(var(--b) - var(--a)); pointer-events: none; border-left: 1px solid rgba(184, 245, 0, .55); border-right: 1px solid rgba(184, 245, 0, .55);
  background: linear-gradient(180deg, rgba(184, 245, 0, .16), rgba(94, 234, 212, .05) 70%, transparent); border-radius: 2px; }
.tzc-span.is-dn { border-color: rgba(255, 138, 160, .55); background: linear-gradient(180deg, rgba(255, 138, 160, .14), rgba(167, 139, 250, .05) 70%, transparent); }
.tzc-span b { position: absolute; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(22, 22, 28, .95), 0 0 12px rgba(184, 245, 0, .9); }
.tzc-span b.is-a { left: 0; top: var(--ya); } .tzc-span b.is-b { left: 100%; top: var(--yb); }
.tzc-span[hidden] { display: none; }
.tzc-chart.is-holding { cursor: col-resize; }
.tzc-mile { stroke: rgba(167, 139, 250, .22); stroke-width: 1; stroke-dasharray: 1 5; }
.tzc-axis.is-mile { fill: rgba(200, 186, 255, .75); }
.tzc-pill { fill: rgba(245, 245, 247, .07); stroke: rgba(245, 245, 247, .12); stroke-width: .6; }
.tzc-axis.is-pill { fill: var(--tzx-ink2); font-weight: 600; }
.tzc-ripple { transform-box: fill-box; transform-origin: center; opacity: 0; animation: tzc-ripple 3.4s cubic-bezier(.2, .7, .3, 1) infinite 1.4s; pointer-events: none; }
.tzc-ripple.is-2 { animation-delay: 3.1s; }
.tzc-burst { position: absolute; width: 0; height: 0; pointer-events: none; }
.tzc-burst i { position: absolute; left: -2.5px; top: -2.5px; width: 5px; height: 5px; border-radius: 50%; background: var(--c); box-shadow: 0 0 8px var(--c); opacity: 0; animation: tzc-burst 1.4s cubic-bezier(.15, .8, .3, 1) var(--d) forwards; }
.tzc-burst i:nth-child(3n) { width: 3px; height: 3px; left: -1.5px; top: -1.5px; }
.tzc-chart > svg, .tzc-chart > .tzc-rings, .tzc-chart > .tzc-center { animation: tzc-in .38s cubic-bezier(.2, .8, .3, 1) both; }
.tzc-chart.is-ghost { opacity: .5; pointer-events: none; }
.tzc-read.is-welcome b { white-space: normal; font-size: 24px; line-height: 1.15; }
.tzc-start { display: block; width: 100%; height: 44px; margin-top: 4px; border: 0; border-radius: 13px; background: linear-gradient(110deg, rgb(184, 245, 0), rgb(150, 240, 120)); color: #050505; font: 700 15px var(--tzx-font); cursor: pointer; }
.tzc-hint { margin: -4px 2px 10px; font-size: 12px; color: rgba(94, 234, 212, .85); text-align: center; animation: tzc-fade .5s ease both 1s; }
.tzc-kinds button[aria-selected="true"] { background: linear-gradient(110deg, #fff, rgb(224, 255, 214)); }
.tzc .tzqz-seg > i { background: linear-gradient(110deg, #5b5b66, #4d5560); }
@keyframes tzc-shine { to { background-position: -200% 0; } }
@keyframes tzc-ripple { 0% { opacity: .55; transform: scale(1); } 100% { opacity: 0; transform: scale(4.2); } }
@keyframes tzc-burst { 0% { opacity: 0; transform: translate(0, 0) scale(.4); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--x), var(--y)) scale(1); } }
@keyframes tzc-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .tzc-badge, .tzc-ripple, .tzc-burst, .tzc-chart > svg, .tzc-chart > .tzc-rings, .tzc-chart > .tzc-center { animation: none; } .tzc-ripple { display: none; } }

/* ── Night: the Money chart's card is a night sky the ridge floats in; the Journal's surfaces are deep near-black, not gray
   (owner, 2026-10-11: "depth like a dark gradient sweep from below … like mountains above the clouds, simple, without
   clouds and stars … use darker colours on the journal, gray looks cheap") ── */
.tzq.tzc { background: radial-gradient(130% 60% at 85% -15%, rgba(94, 234, 212, .09), transparent 60%), radial-gradient(100% 50% at 10% -10%, rgba(167, 139, 250, .08), transparent 60%), linear-gradient(180deg, #121733 0%, #0b0e1c 52%, #07080d 100%);
  border-color: rgba(140, 150, 255, .12); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 18px 40px -24px rgba(0, 0, 0, .9); }
.tzc-far { fill: none; stroke: rgba(170, 180, 255, .14); stroke-width: 1; stroke-dasharray: 2 3; }
.tzc-base { stroke: rgba(170, 180, 255, .16); }
.tzc .tzq-st { background: rgba(255, 255, 255, .035); border: 1px solid rgba(140, 150, 255, .07); }
.tzc .tzqz-seg { background: rgba(255, 255, 255, .05); }
.tzc .tzqz-seg > i { background: linear-gradient(110deg, #2a3150, #232842); box-shadow: 0 2px 8px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .08); }
.tzc-kinds button { background: rgba(255, 255, 255, .05); }
body[data-tzx-screen="journal"] { --tzx-card: linear-gradient(180deg, #0e1018, #0a0b11); --tzx-line: rgba(140, 150, 255, .09); }
body[data-tzx-screen="journal"] .tzx-seg-pills { background: rgba(255, 255, 255, .04); border: 1px solid rgba(140, 150, 255, .08); }
body[data-tzx-screen="journal"] .tzx-seg-pills button.is-on { background: linear-gradient(110deg, #262c46, #1d2236); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07); }
body[data-tzx-screen="journal"] .tzjot, body[data-tzx-screen="journal"] .tza-card { background: radial-gradient(120% 70% at 100% 0%, rgba(94, 234, 212, .06), transparent 55%), linear-gradient(180deg, #11142a 0%, #0a0c16 100%); border-color: rgba(140, 150, 255, .12); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
body[data-tzx-screen="journal"] .tzjot-seg, body[data-tzx-screen="journal"] .tzt-week + * .tzqz-seg { background: rgba(255, 255, 255, .045); }
body[data-tzx-screen="journal"] .tzjot-seg > i { background: linear-gradient(110deg, #2a3150, #222843); box-shadow: 0 2px 8px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .08); }
body[data-tzx-screen="journal"] .tzjot-mk button { background: rgba(255, 255, 255, .04); border-color: rgba(140, 150, 255, .1); }
body[data-tzx-screen="journal"] .tzjot-mk button[aria-checked="true"] { background: var(--tzx-ink); border-color: var(--tzx-ink); }
body[data-tzx-screen="journal"] .tzjot-pnl, body[data-tzx-screen="journal"] .tzjot-note, body[data-tzx-screen="journal"] .tzjot-find { background: rgba(0, 0, 0, .35); box-shadow: inset 0 0 0 1px rgba(140, 150, 255, .09); }
body[data-tzx-screen="journal"] .tza-bar, body[data-tzx-screen="journal"] .tzt-row, body[data-tzx-screen="journal"] .tza-pos, body[data-tzx-screen="journal"] .tza-link,
body[data-tzx-screen="journal"] .tzmo, body[data-tzx-screen="journal"] .tzt-kpi, body[data-tzx-screen="journal"] .tzt-ins { background: linear-gradient(180deg, #0e1018, #0a0b11); border-color: rgba(140, 150, 255, .09); }
body[data-tzx-screen="journal"] .tzt-row:hover { background: linear-gradient(180deg, #131626, #0d0f19); }
body[data-tzx-screen="journal"] .tzj-pills button:not(.is-on) { background: rgba(255, 255, 255, .03); border-color: rgba(140, 150, 255, .1); }

/* the liquid strata under the ridge sway a few slow times when the chart arrives, then rest (153-curves.js) */
.tzc-swell { transform-box: view-box; animation: tzc-swell 6s ease-in-out 3 alternate both; }
.tzc-swell.is-l2 { animation-duration: 7.5s; animation-direction: alternate-reverse; }
.tzc-swell.is-l3 { animation-duration: 9s; }
@keyframes tzc-swell { 0% { transform: translate(-3px, 1.5px); } 100% { transform: translate(3px, -1.5px); } }
@media (prefers-reduced-motion: reduce) { .tzc-swell { animation: none; } }

/* ── Money charts, the Apple-like pass (2026-10-12: "a glowing smooth line with the physics of bending in curves with
   lighter colour, not that much glow, seamless and professional; below it a depth of ocean with a gradient, not that crazy;
   drawdown on its own tab; the equity chart with the answers a trader needs") ── */
.tzc-fade { animation: tzc-fade .8s ease both .15s; }
.tzq.tzc { background: linear-gradient(180deg, #10142a 0%, #0a0c17 100%); border-color: rgba(140, 150, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
.tzc-far { display: none; }
.tzc-goal { stroke: rgba(255, 214, 150, .5); stroke-width: 1; stroke-dasharray: 3 4; }
.tzc-axis.is-goal { fill: rgba(255, 226, 180, .9); }
.tzc-ans { list-style: none; margin: 12px 0 2px; padding: 0; }
.tzc-ans li { padding: 11px 2px 10px; border-top: 1px solid rgba(255, 255, 255, .06); }
.tzc-ans small { display: block; margin: 0 0 3px; font: 700 10.5px var(--tzx-font); letter-spacing: .07em; text-transform: uppercase; color: var(--tzx-ink3); }
.tzc-ans span { display: block; font: 500 14px/1.45 var(--tzx-font); color: var(--tzx-ink2); }
.tzc-ans b { font-weight: 700; color: var(--tzx-ink); font-variant-numeric: tabular-nums; }
.tzc-ans b.tzc-up { color: rgb(184, 245, 0); }
.tzc-ans b.tzc-dn { color: rgb(255, 138, 160); }
@media (prefers-reduced-motion: reduce) { .tzc-fade { animation: none; } }

/* ── Darker and neutral (owner, 2026-10-12: "change the background darker, it's too blue to be professional") ──
   near-black with no blue cast: the chart card, its controls, and the Journal surfaces that carried the same tint ── */
.tzq.tzc { background: linear-gradient(180deg, #0c0d11 0%, #08090c 100%); border-color: rgba(255, 255, 255, .07); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04); }
.tzc .tzq-st { background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .06); }
.tzc .tzqz-seg { background: rgba(255, 255, 255, .045); }
.tzc .tzqz-seg > i { background: linear-gradient(110deg, #2d2f36, #25272d); box-shadow: 0 2px 8px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .07); }
.tzc-base { stroke: rgba(245, 245, 247, .18); }
.tzc-mile { stroke: rgba(245, 245, 247, .14); }
.tzc-axis.is-mile { fill: rgba(245, 245, 247, .5); }
body[data-tzx-screen="journal"] { --tzx-card: linear-gradient(180deg, #0c0d11, #08090c); --tzx-line: rgba(255, 255, 255, .07); }
body[data-tzx-screen="journal"] .tzx-seg-pills { border-color: rgba(255, 255, 255, .07); }
body[data-tzx-screen="journal"] .tzx-seg-pills button.is-on { background: linear-gradient(110deg, #2d2f36, #25272d); }
body[data-tzx-screen="journal"] .tzjot, body[data-tzx-screen="journal"] .tza-card { background: linear-gradient(180deg, #0e0f13 0%, #08090c 100%); border-color: rgba(255, 255, 255, .08); }
body[data-tzx-screen="journal"] .tzjot-seg > i { background: linear-gradient(110deg, #2d2f36, #25272d); }
body[data-tzx-screen="journal"] .tzjot-mk button { border-color: rgba(255, 255, 255, .08); }
body[data-tzx-screen="journal"] .tzjot-pnl, body[data-tzx-screen="journal"] .tzjot-note, body[data-tzx-screen="journal"] .tzjot-find { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); }
body[data-tzx-screen="journal"] .tza-bar, body[data-tzx-screen="journal"] .tzt-row, body[data-tzx-screen="journal"] .tza-pos, body[data-tzx-screen="journal"] .tza-link,
body[data-tzx-screen="journal"] .tzmo, body[data-tzx-screen="journal"] .tzt-kpi, body[data-tzx-screen="journal"] .tzt-ins { background: linear-gradient(180deg, #0c0d11, #08090c); border-color: rgba(255, 255, 255, .07); }
body[data-tzx-screen="journal"] .tzt-row:hover { background: linear-gradient(180deg, #111218, #0b0c10); }

/* ── The app's green (owner, 2026-10-12: "make the green the app's green, it's too faded; charm and sparkle like our candles"):
   the candles' two tones, a glass hairline on the line, and a slow light that passes along it now and then ── */
.tzc-sheen { fill: none; stroke: rgb(240, 255, 176); stroke-linecap: round; stroke-dasharray: .12 3; stroke-dashoffset: .12; opacity: 0; pointer-events: none; animation: tzc-sheen 9s linear infinite 2.6s; }
.tzc-sheen.is-soft { stroke: rgb(184, 245, 0); }
@keyframes tzc-sheen { 0% { stroke-dashoffset: .12; opacity: 0; } 3% { opacity: .85; } 15% { stroke-dashoffset: -1; opacity: .85; } 18%, 100% { stroke-dashoffset: -1; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .tzc-sheen { display: none; } }
.tzc-badge { background: linear-gradient(110deg, rgb(184, 245, 0), rgb(150, 232, 40), rgb(184, 245, 0)); background-size: 200% 100%; }
.tzc-read.is-span small { color: rgb(184, 245, 0); }
.tzc-hint { color: rgba(184, 245, 0, .8); }

/* ── HUB: the website's Markets and News as screens (179-hub.js) ──────────────────────────────────────── */
.tzhb-frame { position: relative; margin: 2px -2px 0; border-radius: 16px; overflow: hidden; background: #07080b; border: 1px solid var(--tzx-line); }
.tzhb-frame iframe { display: block; width: 100%; height: 100%; border: 0; background: #07080b; opacity: 0; transition: opacity .25s; }
.tzhb-frame.is-in iframe { opacity: 1; }
.tzhb-wait { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; transition: opacity .25s; }
.tzhb-frame.is-in .tzhb-wait { opacity: 0; }
@media (max-width: 760px) { .tzhb-frame { margin: 0 -12px; border-radius: 0; border-left: 0; border-right: 0; } }

/* setup card: a small, dismissible offer in place of the full-screen welcome; Home's own card look (.tzhw-quiz) */
#tzo-card { position: fixed; z-index: 9000; left: 12px; right: 12px; bottom: calc(66px + env(safe-area-inset-bottom, 0px)); max-width: 420px; margin: 0 auto;
  display: flex; align-items: center; gap: 11px; padding: 10px 8px 10px 12px; border-radius: 15px; border: 1px solid rgba(184, 245, 0, .28);
  background: linear-gradient(100deg, rgba(184, 245, 0, .11), rgba(184, 245, 0, .02) 70%), #0b0c0f; box-shadow: 0 10px 30px rgba(0, 0, 0, .6);
  color: var(--tzx-ink); font-family: var(--tzx-font); animation: tzocIn .35s cubic-bezier(.2, .9, .3, 1); }
@keyframes tzocIn { from { opacity: 0; transform: translateY(14px); } }
.tzoc-i { flex: 0 0 auto; display: grid; place-items: center; width: 30px; height: 30px; }
.tzoc-i svg { width: 26px; height: 26px; fill: none; stroke: rgb(184, 245, 0); stroke-width: 1.7; }
.tzoc-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.tzoc-t b { font: 800 14px var(--tzx-font); }
.tzoc-t small { font: 500 11.5px var(--tzx-font); color: var(--tzx-ink2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tzoc-go { flex: 0 0 auto; height: 30px; padding: 0 14px; border: 0; border-radius: 999px; background: rgb(184, 245, 0); color: #050505; font: 800 12.5px/30px var(--tzx-font); cursor: pointer; }
.tzoc-go:active { transform: scale(.96); }
.tzoc-x { flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; background: none; color: var(--tzx-ink3); cursor: pointer; }
.tzoc-x svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
@media (min-width: 761px) { #tzo-card { left: auto; right: 22px; bottom: 22px; width: 380px; } }
