@font-face {
  font-family: Inter;
  src: url('assets/fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  font-feature-settings: "tnum" 1
}
:root {
  color-scheme: dark;
  --bg: #0E0E10;
  --surface: rgba(14,14,16,.72);
  --surface-glass: rgba(14,14,16,.72);
  --ambient-neutral: radial-gradient(circle 480px at top left, color-mix(in srgb, var(--accent) 6%, transparent), transparent), radial-gradient(circle 600px at bottom right, rgb(255 255 255 / .03), transparent), var(--bg);
  --amb-1: #8B7CF6;
  --amb-2: #1E2A44;
  --amb-3: #1F3A33;
  --amb-base: #0E0E10;
  /* Precompose each soft blob over base, then lighten-blend the layers. Their
     overlap cannot accumulate brightness above the strongest single blob. */
  --ambient-search: radial-gradient(circle 520px at -10% 8%, color-mix(in srgb, var(--amb-1) 22%, var(--amb-base)), var(--amb-base)), radial-gradient(circle 720px at 70% 45%, color-mix(in srgb, var(--amb-2) 55%, var(--amb-base)), var(--amb-base)), radial-gradient(circle 600px at 15% 95%, color-mix(in srgb, var(--amb-3) 28%, var(--amb-base)), var(--amb-base)), var(--amb-base);
  --ambient-pro: radial-gradient(circle 520px at 15% 95%, color-mix(in srgb, var(--amb-1) 22%, var(--amb-base)), var(--amb-base)), radial-gradient(circle 720px at 70% 45%, color-mix(in srgb, var(--amb-2) 55%, var(--amb-base)), var(--amb-base)), radial-gradient(circle 600px at -10% 8%, color-mix(in srgb, var(--amb-3) 28%, var(--amb-base)), var(--amb-base)), var(--amb-base);
  --surface-raised: rgba(14,14,16,.72);
  --text: #F2F2F7;
  --muted: #AEAEB2;
  --tertiary: #A1A1A6;
  --hairline: rgba(255,255,255,.12);
  --glass: rgba(14,14,16,.72);
  --sheet-glass: rgba(14,14,16,.72);
  --accent: #B8A5F5;
  --logo-dot: #65D9E8;
  --positive: #5FD39A;
  --positive-text: #5FD39A;
  --negative: #F06B6B;
  --negative-text: #F69A9A;
  --candle-up: #26A69A;
  --candle-down: #EF5350;
  --chart-price: #D1D1D6;
  --chart-label: #A1A1A6;
  --chart-tag: rgba(14,14,16,.9);
  --position-long: var(--positive);
  --position-short: var(--negative);
  --pnl-profit: var(--positive);
  --pnl-loss: var(--negative);
  --feedback: #D1D1D6;
  --font: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sheet-duration: 420ms;
  --sheet-ease: cubic-bezier(.32,.72,0,1);
  --hold-duration: 500ms;
  --spark-duration: 450ms;
  --keyboard: 0px;
  --tab-height: 64px;
}
* {
  box-sizing: border-box
}
html,body {
  margin: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  overscroll-behavior: none;
  background: #000;
  color: var(--text);
  font: 400 14px/1.45 var(--font);
  -webkit-font-smoothing: antialiased
}
button,input,select {
  font: inherit
}
button {
  border:0;
  background: none;
  color: inherit;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent
}
button:disabled {
  opacity: .4;
  cursor: default
}
a {
  color: inherit;
  text-decoration: none
}
button,a,[tabindex],input,select {
  outline-offset: 3px
}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible {
  outline: 2px solid var(--accent)
}
svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0
}
[hidden] {
  display: none!important
}
.sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap
}
.showcase {
  height: 100vh;
  height: -webkit-fill-available;
  height: 100dvh;
  display: flex;
  padding: 0;
  background: #000
}
.phone {
  position: relative;
  isolation: isolate;
  container-type: size;
  overflow: clip;
  width: 100%;
  height: 100vh;
  height: -webkit-fill-available;
  height: 100dvh;
  border:0;
  border-radius: 0;
  background: #000;
  user-select: none;
  -webkit-user-select: none;
  --safe-top: env(safe-area-inset-top,0px);
  --safe-bottom: env(safe-area-inset-bottom,0px);
  --safe-left: env(safe-area-inset-left,0px);
  --safe-right: env(safe-area-inset-right,0px);
  --sheet-peek: 320px;
  --sheet-full: 760px;
  --chart-bottom: 10px
}
.ambient-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: var(--bg)
}
.ambient-backdrop canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* The equivalent 60px blur/saturation/dimming is baked into a 2fps raster. */
  transform: scale(1.2);
  opacity: 0;
  transition: opacity var(--ambient-fade,400ms) ease
}
.media-return {
  display: none;
  position: absolute;
  z-index: 9;
  top: var(--safe-top);
  left: 0;
  right: 0;
  height: var(--media-strip,96px);
  width: 100%;
  touch-action: none
}
.sheet-full .media-return {
  display: block
}
.reel-viewport,.reel-track {
  position: absolute;
  inset: 0;
  touch-action: pan-y
}
.reel-viewport {
  bottom: calc(var(--tab-height) + var(--safe-bottom));
  overflow: clip;
  z-index: 0
}
.reel-track {
  height: 100%;
  will-change: transform
}
.reel-page {
  position: absolute;
  left: 0;
  right: 0;
  height: 100%;
  overflow: clip;
  isolation: isolate;
  touch-action: pan-y
}
.reel-page:not(.is-active) {
  pointer-events: none
}
.reel-page{contain:layout paint style}
.reel-page>.reel {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: transparent;
  touch-action: pan-y
}
.media-stage {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 100%;
  overflow: hidden;
  background: transparent
}
.reel-video,.reel-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  border-radius: 0
}
.reel-video {
  visibility: hidden
}
.reel-video.ready {
  visibility: visible
}
.media-stage:after {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--sheet-duration) var(--sheet-ease)
}
.sheet-full .media-stage:after {
  opacity: 0
}
.swipe-surface {
  position: absolute;
  inset: calc(76px + var(--safe-top)) 0 0;
  z-index: 1;
  touch-action: none
}
.shade {
  display: none
}
.topbar {
  position: absolute;
  z-index: 10;
  isolation: isolate;
  top: 0;
  left: 0;
  right: 0;
  height: calc(76px + var(--safe-top));
  padding: calc(16px + var(--safe-top)) calc(12px + var(--safe-right)) 16px calc(20px + var(--safe-left));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: none;
  transition: opacity 140ms ease
}
.topbar:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(0,0,0,.22);
  box-shadow: 0 18px 26px 12px rgba(0,0,0,.22);
  pointer-events: none
}
.wordmark {
  display: flex;
  align-items: center;
  min-height: 44px;
  font-size: 23px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -1.1px
}
.wordmark span {
  color: var(--logo-dot)
}
.feed-tabs {
  display: flex;
  gap: 18px;
  height: 44px
}
.feed-tabs button {
  position: relative;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  font-size: 13px;
  font-weight: 500;
  color: #D1D1D6
}
.feed-tabs .active {
  color: var(--text)
}
.feed-tabs .active:after {
  content: "";
  position: absolute;
  left: calc(50% - 8px);
  bottom: 1px;
  width: 16px;
  height: 3px;
  border-radius: 3px;
  background: var(--text)
}
.session-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px
}
.session-button svg {
  width: 22px;
  height: 22px
}
.unread-dot {
  position: absolute;
  right: 9px;
  top: 9px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--text)
}
.trade-full .topbar {
  opacity: 0;
  visibility: hidden;
  pointer-events: none
}
.social-mode .topbar:before {
  background: none;
  box-shadow: none
}
.glass {
  background: var(--glass);
  border:0;
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px)
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  :root {
    --glass: rgba(14,14,16,.55);
    --sheet-glass: rgba(14,14,16,.55)
  }
  .bottom-nav {
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%)
  }
}
.icon-button,.social-rail .rail-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  border-radius: 50%;
  background: var(--glass);
  border:0;
  color: var(--text)
}
.icon-button svg,.social-rail svg {
  width: 24px;
  height: 24px
}
.icon-button.ghost {
  background: none;
  }
.social-rail {
  touch-action: none;
  position: absolute;
  right: calc(10px + var(--safe-right));
  bottom: calc(var(--chart-bottom) + var(--current-pad-height) + 12px);
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: opacity 140ms ease,bottom var(--sheet-duration) var(--sheet-ease)
}
.social-rail button {display:flex;flex-direction:column;align-items:center;gap:4px;width:44px;min-width:44px;min-height:44px;height:auto;padding:0;border:0;background:none;position:relative}
.social-rail .rail-icon {display:grid;place-items:center;flex-shrink:0}
.social-rail .rail-count {display:block;font-size:12px;font-weight:600;line-height:14px;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #0009}
.social-rail [aria-pressed=true] svg {fill:currentColor}
.social-rail button:active {
  opacity: .75
}
.caption {
  touch-action: none;
  position: absolute;
  left: calc(20px + var(--safe-left));
  right: calc(72px + var(--safe-right));
  bottom: calc(var(--chart-bottom) + var(--current-pad-height) + 12px);
  z-index: 3;
  transition: opacity 140ms ease,bottom var(--sheet-duration) var(--sheet-ease);
  text-shadow: 0 1px 8px #0008
}
.caption h2 {
  display: none
}
.caption p {
  font-size: 13px;
  line-height: 1.5;
  margin: 2px 0 8px;
  color: var(--text)
}
.creator-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px
}
.creator-link {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0;
  font-size: 13px;
  font-weight: 600
}
.creator-link span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}
.creator-link img {
  width: 28px;
  height: 28px;
  object-fit: cover;
  border-radius: 50%
}
.creator-row>[data-ui=followBtn],button[data-follow],.profile-follow,.following-row button {
  height:32px;min-height:32px;min-width:60px;padding:0 12px;
  background:rgba(255,255,255,.14);border:0;
  border-radius:16px;font-size:12px;line-height:30px;font-weight:500;color:var(--text)
}
.sheet-full .caption,.sheet-full .social-rail {
  opacity: 0;
  visibility: hidden;
  pointer-events: none
}
.change-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 16px;
  padding: 2px 5px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--positive);
  background: rgba(95,211,154,.14);
  font-variant-numeric: tabular-nums;
  white-space: nowrap
}
.change-pill[data-tone=down] {
  color: var(--negative-text);
  background: rgba(240,107,107,.14)
}
.sparkline {
  display: block;
  stroke: var(--text);
  stroke-opacity: .85;
  stroke-width: 1.5;
  fill: none
}
.sparkline[data-tone=down] {
  stroke: var(--text)
}
.chip-spark {
  width: 40px;
  height: 16px
}
.strip-spark {
  width: 56px;
  height: 20px
}
.video-progress{position:absolute;z-index:4;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.12);pointer-events:none;transition:bottom var(--sheet-duration) var(--sheet-ease)}
.video-progress>span{display:block;width:0;height:100%;background:rgba(255,255,255,.72);pointer-events:none}
.reel-page:not(:is(.pad-visible,.handle-preview)) .video-progress{bottom:80px}
.motion-owned[data-snap=chip] .video-progress{transition-delay:180ms}
.handle-dragging .video-progress,.reel-preview .video-progress{transition:none}
.playback-indicator {
  position: absolute;
  z-index: 4;
  left: calc(50% - 24px);
  top: 35%;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(28,28,30,.75);
  pointer-events: none
}
.playback-indicator svg {
  width: 23px;
  height: 23px
}
/* One retained glass surface: Chip → Ride → Pro. Geometry is owned by
   pad-motion during a reveal and by the grabber during an interactive drag. */
.trading {
  position:absolute; z-index:6; left:max(12px,var(--safe-left)); right:max(12px,var(--safe-right)); bottom:var(--chart-bottom);
  height:var(--current-pad-height); border-radius:20px; display:flex;
  flex-direction:column; background:var(--sheet-glass); padding:0;
  transform-origin:center bottom; overflow:hidden; clip-path:inset(0 round 20px);
  contain:paint; touch-action:none; container-type:size; container-name:ridepad;
  transition:height var(--sheet-duration) var(--sheet-ease),bottom var(--sheet-duration) var(--sheet-ease),left var(--sheet-duration) var(--sheet-ease),right var(--sheet-duration) var(--sheet-ease),padding-top var(--sheet-duration) var(--sheet-ease),transform 150ms var(--sheet-ease)
}
.reel-page {--market-height:56px;--current-pad-height:var(--drag-height,var(--market-height))}
:is(.pad-visible,.handle-preview){--market-height:var(--sheet-peek)}
/* Keep both 40px position controls and a readable plot on short/custom Ride.
   This is a temporary visual floor; the saved fractional preference is untouched. */
:is(.position-open,.position-settling):is(.pad-visible,.handle-preview):not(.sheet-full){--market-height:max(var(--sheet-peek),276px);--current-pad-height:max(var(--drag-height,var(--market-height)),276px)}
.sheet-full{--market-height:var(--sheet-full)}
.pad-contact .trading{transform:scale(.98)}
.handle-dragging .trading,.handle-dragging .caption,.handle-dragging .social-rail,.handle-dragging .media-stage,
.motion-owned .trading,.motion-owned .caption,.motion-owned .social-rail,.motion-owned .media-stage,.motion-owned .big-moves{transition:none}
/* Toolbar/rotation geometry follows the viewport in the same frame. It must
   not reuse the 420ms user-initiated Chip/Ride reveal transition. */
.viewport-resizing :is(.trading,.caption,.social-rail,.media-stage,.big-moves){transition:none!important}
/* Explicit rows keep every Ride control in one layout slot. Compact mode
   flattens only the row wrappers; the retained price/ticker nodes still morph. */
.grabber-row{position:relative;display:none;flex:0 0 32px;height:32px;min-height:32px}
:is(.pad-visible,.handle-preview,.pad-closing,.handle-dragging) .grabber-row{display:block}
.sheet-grabber{position:relative;display:grid;place-items:center;width:100%;height:32px;min-height:32px;padding:0;touch-action:none}
.sheet-grabber>span{width:36px;height:4px;border-radius:3px;background:#FFFFFF40;transition:width 150ms ease,background-color 150ms ease}
.handle-dragging .sheet-grabber>span{width:48px;background:#FFFFFFAA}
.pad-closing .grabber-row{position:absolute;inset:0 0 auto;z-index:3}
.grabber-tally{position:absolute;right:12px;top:8px;max-width:calc(50% - 32px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:11px;line-height:16px;font-variant-numeric:tabular-nums;color:var(--tertiary)}
.rush-hud{contain:layout paint;position:relative;display:flex;align-items:center;gap:6px;height:54px;min-height:54px;flex-shrink:0;padding:0 76px 0 12px}
.rush-identity-row,.rush-price-row{display:contents}
.rush-hud button:disabled{opacity:1}
.token-chip{position:relative;display:flex;align-items:center;flex:none;width:auto;height:100%;padding:0;gap:6px;text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap;touch-action:none;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.token-heading{display:flex;align-items:center;gap:6px;min-width:0}
.token-heading>b{display:inline-block;font-size:13px;font-weight:500;color:var(--tertiary)}
.practice-badge{font-size:10px;font-weight:400;text-transform:uppercase;color:var(--muted)}
.token-values{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}
.token-values>strong{display:inline-block;font-size:17px;line-height:26px;font-weight:600;letter-spacing:-.45px;font-variant-numeric:tabular-nums;transform-origin:left center}
.token-values .change-pill{display:inline-block;font-size:11px;transform-origin:left center;flex:none}
.reel-page:not(:is(.pad-visible,.handle-preview)) .token-heading{flex:none;gap:4px}
.reel-page:not(:is(.pad-visible,.handle-preview)) .token-values{flex:none;gap:5px}
.token-chip .practice-badge,.pro-name,.token-values>.pro-price,.pro-ohlc,.pro-stats,.pro-controls,.token-heading>[data-ui=proHotBadge]{display:none}
.rush-controls{display:none}
:is(.pad-visible,.handle-preview) .rush-hud{display:flex;flex-direction:column;align-items:stretch;gap:0;height:80px;min-height:80px;padding:0 12px}
:is(.pad-visible,.handle-preview) .rush-identity-row{display:flex;align-items:center;gap:8px;height:36px;min-height:36px}
:is(.pad-visible,.handle-preview) .rush-price-row{display:flex;align-items:center;gap:8px;height:44px;min-height:44px}
:is(.pad-visible,.handle-preview) .token-chip{flex:1;min-width:0;overflow:hidden;height:36px;padding:0}
:is(.pad-visible,.handle-preview) .token-heading{gap:4px;overflow:hidden}
:is(.pad-visible,.handle-preview) .token-heading>b{font-size:15px;font-weight:600;line-height:20px;color:var(--muted);background:transparent;border:0;box-shadow:none}
:is(.pad-visible,.handle-preview) .token-chip .practice-badge{display:inline;position:static;line-height:16px}
:is(.pad-visible,.handle-preview) .token-values{flex:1;height:44px;gap:8px}
:is(.pad-visible,.handle-preview) .token-values>strong{font-size:28px;line-height:36px;letter-spacing:-.7px}
:is(.pad-visible,.handle-preview) .token-values .change-pill{display:inline-flex;align-items:center;height:28px;min-height:28px;padding:0 6px;border-radius:999px;font-size:13px;position:static;margin:0}
:is(.pad-visible,.handle-preview) .rush-controls{position:static;display:flex;align-items:center;gap:8px;height:28px;flex:none}
.stake-chip,.speed-chip{padding:0 7px;height:28px;min-height:28px;min-width:0;white-space:nowrap;border:0;border-radius:16px;font-size:11px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums;background:#FFFFFF05}
.rush-controls>.stake-chip{position:static;max-width:116px;overflow:hidden;text-overflow:ellipsis}
.rush-controls>.icon-button{width:28px;min-width:28px;height:28px;min-height:28px}
.rush-controls>.icon-button svg{width:20px;height:20px}
.live-chat-button{position:relative}
.live-chat-button>span{position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--positive);pointer-events:none}
.chip-volume{position:static;flex:0 0 60px;width:60px;display:flex;flex-direction:column;gap:2px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;margin-left:auto}
.chip-volume small{font-size:10px;line-height:13px;font-weight:400;color:var(--tertiary);letter-spacing:.25px}
.chip-volume strong{font-size:13px;line-height:16px;font-weight:500;color:var(--muted)}
:is(.pad-visible,.handle-preview) .chip-volume{display:none}
.morph-spark{position:absolute;z-index:13;pointer-events:none;right:12px;top:18px;width:56px;height:20px;margin:0;transform-origin:left top;overflow:visible}
.morph-spark path{fill:none;stroke:var(--text);stroke-width:1.5;vector-effect:non-scaling-stroke}
:is(.pad-visible,.handle-preview) .morph-spark{opacity:0}
.closing-chart{position:absolute;z-index:12;pointer-events:none;transform-origin:left top;width:56px;height:20px}
.trade-menu{position:absolute;z-index:25;right:20px;top:auto;bottom:auto;min-width:210px;max-height:min(440px,65cqh);overflow-y:auto;touch-action:pan-y;padding:5px;border:0;border-radius:16px;background:rgba(20,20,23,.97);box-shadow:0 8px 24px #0003}

.trade-menu button {
  display: block;
  min-height: 40px;
  width: 100%;
  padding: 8px 12px;
  border-radius: 11px;
  text-align: left;
  font-size: 13px
}
.trade-menu [aria-checked=true]:after {
  content: '✓';
  float: right
}
.stake-popover{position:absolute;z-index:28;right:16px;bottom:calc(var(--chart-bottom) + var(--current-pad-height) - 118px);width:min(280px,calc(100% - 32px));max-height:min(390px,70cqh);overflow:auto;touch-action:pan-y;padding:12px;border:0;border-radius:18px;background:rgba(20,20,23,.97);box-shadow:0 8px 24px #0003}
.sheet-full .stake-popover{top:calc(var(--safe-top) + 140px);bottom:auto}
.risk-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.risk-popover-heading h3{font-size:15px;line-height:20px;font-weight:600;margin:0}
.risk-popover-heading .icon-button{width:36px;height:36px;min-width:36px;min-height:36px}
.stake-popover p{font-size:12px;line-height:18px;color:var(--muted);margin:4px 0 12px}
.risk-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.risk-presets button{height:36px;min-width:0;padding:0;border:0;border-radius:18px;font-size:13px;font-variant-numeric:tabular-nums;background:#FFFFFF05}
.risk-presets button[aria-pressed=true]{background:#FFFFFF20;color:var(--text)}
.stake-popover form{margin-top:14px}
.stake-popover label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}
.risk-custom-row{display:flex;align-items:center;gap:8px}
.risk-custom-row input{flex:1;min-width:0;height:40px;border-radius:12px;border:0;background:#FFFFFF05;color:var(--text);padding:0 10px;font:400 16px var(--font);font-variant-numeric:tabular-nums}
.risk-custom-row button{height:40px;padding:0 14px;border-radius:20px;border:0;font-size:13px;background:#FFFFFF14}
.analysis-scroll{flex:1;min-height:0;overflow:hidden;visibility:hidden;touch-action:pan-y;display:flex;flex-direction:column}
:is(.pad-visible,.handle-preview) .analysis-scroll{visibility:visible}
.chart-frame{position:relative;flex:1;min-height:0;overflow:hidden}
.chart-surface{position:relative;width:100%;height:100%;min-height:0;touch-action:none;border:0;box-shadow:none;border-radius:0;outline-offset:-2px;overflow:hidden}
.chart-surface:focus:not(:focus-visible),.trading:focus:not(:focus-visible),.phone[data-input-mode=pointer] .chart-surface:focus,.riding .chart-surface:focus{outline:none}
.chart-surface canvas{display:block;width:100%;height:100%;max-width:100%;max-height:100%;pointer-events:none}
.sheet-full .trading{left:0;right:0;bottom:0;padding-top:96px;border-radius:20px;clip-path:inset(0 round 20px)}
.sheet-full .rush-hud{height:88px;min-height:88px;padding-top:6px}
.sheet-full .token-heading{height:28px;padding-right:90px}
.sheet-full .pro-name{display:inline;font-size:12px;font-weight:400;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.sheet-full .token-values{height:50px}
.sheet-full .token-values>strong{font-size:34px;line-height:44px;letter-spacing:-1px}
.sheet-full [data-ui=hudPrice]{display:none}
.sheet-full .token-values>.pro-price{display:inline-block}
.sheet-full [data-ui=hotBadge]{display:none}
.sheet-full .token-heading>[data-ui=proHotBadge]:not([hidden]){display:inline-flex}
.sheet-full .rush-controls{display:flex;top:0;right:8px}
.sheet-full .rush-controls>.stake-chip{display:inline-flex;align-items:center;justify-content:center;position:static;height:32px;min-width:70px;padding:0 8px}
.sheet-full .rush-controls>.speed-chip,.sheet-full .rush-controls>[data-ui=liveChatBtn]{display:none}
.sheet-full .token-chip .practice-badge{position:static;display:inline;line-height:normal}
.sheet-full .pro-ohlc:not([hidden]){display:block;position:absolute;z-index:5;top:150px;left:12px;right:12px;font:500 11px/1.5 var(--font);font-variant-numeric:tabular-nums;background:var(--sheet-glass);padding:4px;border-radius:6px}
.sheet-full .pro-stats{display:flex;padding:2px 12px 8px;margin:0;min-height:0;flex-shrink:0;gap:18px;overflow-x:auto}
.pro-stats:empty{display:none}
.pro-stats>div{flex-shrink:0}
.pro-stats span{display:block;font-size:11px;line-height:16px;text-transform:uppercase;color:var(--tertiary);letter-spacing:.25px}
.pro-stats strong{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}
.sheet-full .pro-controls{display:grid;grid-template-columns:minmax(0,1fr) 40px 40px 40px;align-items:center;gap:4px;padding:0 8px 6px;flex-shrink:0}
.pro-controls .segmented-control{grid-column:1/-1;grid-row:1;margin:0}
.pro-controls>[data-ui=fingerTapBtn]{grid-column:1;grid-row:2}
.pro-controls>[data-ui=chartTypeBtn]{grid-column:2;grid-row:2}
.pro-controls>[data-ui=proLiveChatBtn]{grid-column:3;grid-row:2}
.pro-controls>[data-ui=tradeMoreBtn]{grid-column:4;grid-row:2}
.pro-controls .icon-button{width:40px;height:40px;min-width:40px;min-height:40px}
.finger-tap-button{display:flex;align-items:center;justify-self:start;gap:7px;min-height:40px;padding:4px 8px;border:0;border-radius:18px;background:#FFFFFF05;white-space:nowrap}
.finger-tap-track{position:relative;width:25px;height:16px;flex:none;border-radius:8px;background:#FFFFFF20}
.finger-tap-track:after{content:'';position:absolute;left:3px;top:3px;height:10px;width:10px;border-radius:50%;background:var(--text);transition:translate 150ms ease}
.finger-tap-button[aria-checked=true] .finger-tap-track{background:var(--accent)}
.finger-tap-button[aria-checked=true] .finger-tap-track:after{translate:9px 0;background:var(--bg)}
.finger-tap-copy{display:flex;flex-direction:column;align-items:flex-start;font-size:12px;line-height:16px}
.finger-tap-caption{font-size:10px;line-height:11px;letter-spacing:.3px;color:var(--muted)}

.sheet-full .analysis-scroll{display:flex;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(var(--tab-height) + var(--safe-bottom) + 16px)}
.sheet-full .chart-frame{height:var(--analysis-chart);min-height:var(--analysis-chart);flex:0 0 auto}
.sheet-full .segmented-control{display:grid}
.sheet-full .tertiary-stats:not(.pro-stats){display:none}
.sheet-full .ride-history{display:block;padding:10px 12px;margin:0;flex-shrink:0}
.sheet-full .ride-history summary{min-height:36px;line-height:36px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer}
.sheet-full .rush-disclosure{display:block;padding:0 12px;font-size:11px;flex-shrink:0}
.pro-video-identity{display:none;position:absolute;z-index:10;top:calc(var(--safe-top) + 27px);left:16px;gap:7px;align-items:center;pointer-events:auto}
.sheet-full .pro-video-identity{display:flex}
.pro-video-identity img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:0}
.pro-video-identity button{height:44px;font-size:12px;touch-action:none}
.pro-back{position:absolute;right:14px;top:28px;height:40px;display:flex;gap:6px;align-items:center;font-size:12px;background:rgba(14,14,16,.4);border:0;padding:0 12px;border-radius:20px}
.pro-back svg{height:16px;width:16px}
.segmented-control {
  position: relative; isolation: isolate; display: none; grid-template-columns: repeat(var(--range-count,3),minmax(0,1fr));
  height: 36px; min-height: 36px; margin: 4px 2px 8px; background: #FFFFFF06;
  border:0; border-radius: 12px; padding: 3px; flex-shrink: 0
}
.segmented-control:before {
  content: ''; position: absolute; z-index: -1; top: 3px; left: 3px; bottom: 3px;
  width: calc((100% - 6px)/var(--range-count,3)); border-radius: 9px; background: #FFFFFF10;
  transform: translateX(calc(var(--range-index,0)*100%)); transition: transform 180ms var(--sheet-ease)
}
.segmented-control button {
  min-width: 0;
  min-height: 28px;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  padding: 0
}
.segmented-control .selected {
  color: var(--text)
}
.ride-result {
  isolation: isolate
}
.ride-pnl:before,.ride-result:before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: rgba(95,211,154,.14)
}
.ride-pnl[data-tone=down]:before,.ride-result[data-tone=down]:before {
  background: rgba(240,107,107,.14)
}
.ride-pnl strong {
  font-weight: 600
}
.ride-pnl.released {
  translate: 0 calc(var(--pill-y) - 24px);
  opacity: 0;
  transition: translate var(--ride-result-duration,320ms) var(--sheet-ease),opacity var(--ride-result-duration,320ms) ease
}
.ride-result {
  position: absolute;
  z-index: 16;
  top: 132px;
  left: 12px;
  border-radius: 11px;
  max-width: calc(100% - 24px);
  padding: 3px 8px;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  color: var(--positive-text)
}
.sheet-full .ride-result{top:var(--pro-result-top,296px)}
.ride-result[data-tone=down] {
  color: var(--negative-text)
}
.reel-page:not(:is(.pad-visible,.handle-preview)) .ride-result {
  top: -30px
}
.tertiary-stats {
  display: none;
  align-items: center;
  gap: 18px;
  min-height: 32px;
  overflow-x: auto;
  scrollbar-width: none;
  color: var(--tertiary);
  padding: 0 4px
}
.tertiary-stats div {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  font-size: 11px
}
.tertiary-stats strong {
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: var(--text)
}
.ride-history {
  display: none;
  padding: 0 4px 8px;
  user-select: text
}
.ride-history h3 {
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  margin: 8px 0;
  color: var(--muted)
}
.ride-history .empty-state {
  margin: 0;
  padding: 0;
  font-size: 12px
}
.ride-history-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
  min-height: 36px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size: 12px;
  font-variant-numeric: tabular-nums
}
.ride-history-row>span:first-child small {
  display: block;
  font-size: 10px;
  color: var(--tertiary)
}
.ride-history-row>strong {
  font-size: 12px;
  font-weight: 500;
  color: var(--positive-text)
}
.ride-history-row>strong.negative {
  color: var(--negative-text)
}
.rush-disclosure {
  display: none;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
  margin: 6px 4px 12px
}
.sheet-full .ride-history,.sheet-full .rush-disclosure {
  display: block
}
.sheet-full .tertiary-stats {
  display: flex
}
.open-ride-row {
  display: grid;
  grid-template-columns: 1fr auto 20px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 64px;
  padding: 8px 0;
  text-align: left;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-variant-numeric: tabular-nums
}
.open-ride-row strong {
  font-size: 13px;
  font-weight: 500
}
.open-ride-row small {
  display: block;
  font-size: 11px;
  color: var(--muted)
}
.open-ride-row svg {
  width: 18px;
  height: 18px
}
.open-ride-row .positive {
  color: var(--positive-text)
}
.open-ride-row .negative {
  color: var(--negative-text)
}

/* Markets uses an adapter-backed local collection, not fictional global quotes. */
.market-search {
  border-radius:24px
}
.market-list {
  overflow:hidden;
  border:0;
  border-radius:18px;
  background:var(--surface)
}
.market-row {
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 56px auto;
  align-items:center;
  gap:9px;
  min-height:76px;
  width:100%;
  padding:12px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.08)}
.market-row:last-child {
  border-bottom:0
}
.market-row>.profile-avatar {
  width:36px;
  height:36px
}
.market-row .market-name {
  min-width:0
}
.market-row .market-name strong {
  display:block;
  font-size:13px;
  font-weight:500
}
.market-row .market-name small {
  display:block;
  font-size:11px;
  line-height:16px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.market-row .market-price {
  text-align:right;
  font-variant-numeric:tabular-nums
}
.market-row .market-price strong {
  display:block;
  font-size:13px;
  font-weight:500;
  margin-bottom:4px
}
.market-row .sparkline {
  width:56px;
  height:20px
}
/* Global app shell. One accent is reserved for primary actions, active tabs and focus. */
.bottom-nav {
  position: fixed;
  z-index: 10;
  bottom: 0;
  left: 0;
  right: 0;
  height: calc(var(--tab-height) + var(--safe-bottom));
  padding: 0 max(8px,var(--safe-right)) var(--safe-bottom) max(8px,var(--safe-left));
  display: flex;
  align-items: center;
  border-top:0;
  background: var(--glass);
  border-radius: 0
}
.bottom-nav button {
  flex: 1;
  min-width: 0;
  min-height: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px;
  color: var(--muted);
  font-size: 11px
}
.bottom-nav svg {
  width: 24px;
  height: 24px
}
.bottom-nav .active {
  color: var(--accent);
  font-weight: 500
}
.screen-feedback {
  display: none
}
.toast {
  position: absolute;
  z-index: 50;
  top: calc(78px + var(--safe-top));
  left: 18px;
  right: 18px;
  padding: 11px 13px;
  border:0;
  border-radius: 16px;
  background: rgba(28,28,30,.96);
  font-size: 12px;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease
}
.toast.visible {
  opacity: 1
}
.toast.negative {
  color: var(--negative)
}
/* Social screens keep their local behavior and share the same neutral primitives. */
.social-mode .reel-viewport {
  opacity: 0;
  pointer-events: none
}
.social-screen {
  position: absolute;
  z-index: 8;
  inset: calc(76px + var(--safe-top)) 0 calc(var(--tab-height) + var(--safe-bottom) + var(--keyboard));
  padding: 4px 20px 24px;
  background: var(--bg);
  overflow: auto;
  overscroll-behavior: contain;
  user-select: text;
  -webkit-user-select: text;
  scrollbar-width: thin
}
.social-screen h1 {
  font-size: clamp(22px,6cqw,26px);
  font-weight: 600;
  letter-spacing: -.7px;
  line-height: 1.3;
  margin: 0;
  outline: none
}
.social-screen h2 {
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -.8px;
  margin: 20px 0 8px
}
.social-screen h3,.sheet-content h3 {
  font-size: 14px;
  letter-spacing: -.15px;
  font-weight: 500;
  margin: 26px 0 12px
}
.screen-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 56px;
  margin: 0 -8px 16px
}
.screen-heading h1 {
  flex: 1
}
.screen-heading>.text-button {
  font-size: 12px;
  min-width: 54px
}
.text-button {
  min-height: 44px;
  padding: 0 8px;
  font-size: 12px;
  color: var(--text)
}
.section-note,.empty-state {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
  margin: 12px 0 20px
}
.empty-state {
  font-size: 13px;
  padding: 12px 0
}
.search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  min-height: 48px;
  border:0;
  background: var(--surface);
  border-radius: 14px
}
.search-field svg {
  width: 19px;
  height: 19px;
  color: var(--muted)
}
.search-field input {
  min-width: 0;
  flex: 1;
  width: 100%;
  height: 46px;
  border:0;
  background: none;
  color: var(--text);
  font-size: 16px;
  outline: none
}
.search-field:focus-within {
  border-color: var(--accent)
}
.search-field input::placeholder {
  font-size: 13px;
  color: var(--muted)
}
.result-row,.conversation-row,.notification-target,.result-post {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  width: 100%;
  min-height: 72px;
  padding: 14px 0
}
.result-row>span,.conversation-row>span,.notification-target>span,.result-post>span {
  flex: 1;
  min-width: 0
}
.result-row strong,.conversation-row strong,.result-post strong {
  display: block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.15px
}
.result-row small,.conversation-row small,.notification-target small,.result-post small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  margin-top: 4px
}
.result-row>svg:last-child,.result-post>svg {
  width: 16px;
  height: 16px;
  color: var(--muted)
}
.profile-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0
}
.search-result {
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom: 8px
}
.result-post {
  padding-left: 56px;
  min-height: 64px
}
.result-post>img {
  width: 44px;
  height: 54px;
  object-fit: cover;
  border-radius: 8px
}
.profile-hero {
  text-align: center;
  padding: 20px 0 8px
}
.profile-hero>.profile-avatar {
  display: block;
  width: 104px;
  height: 104px;
  margin: auto;
  border:0}
.profile-hero>p {
  font-size: 14px;
  line-height: 1.6;
  max-width: 270px;
  margin: 0 auto 12px;
  color: var(--muted)
}
.profile-hero .section-note {
  font-size: 12px
}
.profile-hero .profile-follow{width:156px;margin:8px auto 0}
.own-avatar {
  display: grid!important;
  place-items: center;
  background: var(--surface)
}
.own-avatar svg {
  width: 30px;
  height: 30px
}
.profile-future {
  display: flex;
  justify-content: center;
  gap: 22px;
  padding: 18px 0 4px;
  font-size: 12px;
  color: var(--muted)
}
.profile-future small {
  font-size: 11px
}
.post-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 4px
}
.post-grid button {
  position: relative;
  aspect-ratio: 3/4;
  padding: 0;
  overflow: hidden;
  border-radius: 9px;
  background: #000
}
.post-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.post-grid span {
  position: absolute;
  bottom: 5px;
  left: 5px;
  font-size: 11px;
  border-radius: 5px;
  padding: 3px 6px;
  background: rgba(28,28,30,.8)
}
.project-link {
  border-top:0}
.notification-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  border-bottom:1px solid rgba(255,255,255,.08)}
.notification-row.unread:after {
  content: "";
  position: absolute;
  right: 46px;
  top: 26px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--text);
  pointer-events: none
}
.notification-target {
  font-size: 13px;
  line-height: 1.6;
  padding: 16px 0
}
.notification-target strong {
  font-weight: 500
}
.notification-target .profile-avatar {
  width: 40px;
  height: 40px
}
.notification-target small {
  font-size: 12px
}
.mark-read svg {
  width: 17px;
  height: 17px
}
.conversation-row {
  position: relative;
  border-bottom:1px solid rgba(255,255,255,.08)}
.conversation-row small {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}
.conversation-row>time {
  font-size: 11px;
  color: var(--muted);
  align-self: flex-start;
  margin-top: 4px
}
.read-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--text)
}
.conversation-row.unread strong {
  font-weight: 600
}
.conversation-person {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  width: 100%;
  min-height: 52px;
  padding: 4px 0
}
.conversation-person strong {
  display: block;
  font-size: 15px;
  font-weight: 500
}
.conversation-person small {
  display: block;
  font-size: 12px;
  color: var(--muted)
}
.social-screen.is-conversation {
  display: flex;
  flex-direction: column;
  padding-bottom: 10px;
  overflow: hidden
}
.is-conversation .screen-heading,.is-conversation .conversation-person,.is-conversation .section-note,.is-conversation .message-composer {
  flex-shrink: 0
}
.message-history {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 10px 0 24px;
  overscroll-behavior: contain
}
.message {
  align-self: flex-start;
  max-width: 85%
}
.message p {
  padding: 12px 14px;
  border-radius: 18px 18px 18px 5px;
  background: var(--surface);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap
}
.message.outgoing {
  align-self: flex-end
}
.message.outgoing p {
  background: var(--surface-raised);
  border-radius: 18px 18px 5px 18px
}
.message time {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin: 5px 3px
}
.message.outgoing time {
  text-align: right
}
.message-composer {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--bg);
  padding: 12px 0 4px;
  margin-top: auto
}
.message-composer input {
  width: 100%;
  min-width: 0;
  height: 46px;
  border:0;
  background: var(--surface);
  border-radius: 24px;
  color: var(--text);
  padding: 10px 16px;
  font-size: 16px
}
.message-composer button {
  border-radius: 50%;
  color: var(--text)
}
.is-conversation .section-note {
  max-height: clamp(0px,calc(60px - var(--keyboard)),60px);
  margin-top: clamp(0px,calc(12px - var(--keyboard)),12px);
  margin-bottom: clamp(0px,calc(20px - var(--keyboard)),20px);
  overflow: hidden
}
/* Dialogs, settings and comments are neutral sheets, not tinted panels. */
.scrim {
  position: absolute;
  inset: 0;
  z-index: 20;
  background: rgba(0,0,0,.6)
}
.sheet {
  position: absolute;
  bottom: var(--keyboard);
  left: 0;
  right: 0;
  z-index: 30;
  background: var(--surface);
  border:0;
  border-bottom:0;
  border-radius: 26px 26px 0 0;
  max-height: 88%;
  padding: 10px calc(20px + var(--safe-right)) calc(22px + var(--safe-bottom)) calc(20px + var(--safe-left));
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  user-select: text;
  -webkit-user-select: text;
  animation: sheet-in .24s var(--sheet-ease)
}
.sheet-handle {
  width: 28px;
  height: 3px;
  margin: 0 auto 10px;
  border-radius: 3px;
  background: #8E8E9366
}
.sheet-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px
}
.sheet-header h2 {
  font-size: 20px;
  letter-spacing: -.5px;
  font-weight: 600;
  margin: 0
}
.sheet-content {
  font-size: 14px;
  line-height: 1.55;
  color: var(--muted)
}
.sheet-content p {
  margin-top: 0
}
.muted {
  color: var(--muted)
}
.small-print {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
  margin: 14px 0 0
}
.field-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  margin: 18px 0 8px
}
.options {
  display: flex;
  gap: 7px
}
.options button {
  flex: 1;
  min-height: 44px;
  border:0;
  border-radius: 12px;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  background: #FFFFFF03;
  color: var(--muted)
}
.options .selected {
  background: var(--surface-raised);
  color: var(--text);
  }
.sheet-content select {
  min-height: 44px;
  width: 100%;
  padding: 10px 12px;
  background: var(--surface-raised);
  border:0;
  border-radius: 12px;
  color: var(--text)
}
.primary,.secondary {
  width: 100%;
  min-height: 46px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 23px;
  padding: 12px;
  margin-top: 18px
}
.primary {
  background: var(--text);
  color: #121214
}
.secondary {
  border:0;
  background: #FFFFFF05;
  color: var(--text)
}
.comment {
  display: flex;
  gap: 10px;
  margin: 18px 0
}
.comment-avatar {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 11px;
  background: var(--surface-raised);
  color: var(--text)
}
.comment-main {
  flex: 1;
  min-width: 0
}
.comment-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--text)
}
.comment-time {
  margin-left: 8px;
  font-size: 11px;
  color: var(--tertiary)
}
.comment-text {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 4px;
  overflow-wrap: anywhere
}
.comment-list {
  max-height: 260px;
  overflow: auto;
  overscroll-behavior: contain
}
.comment-input {
  display: flex;
  gap: 8px;
  position: sticky;
  bottom: 0;
  background: var(--surface);
  padding: 12px 0 2px
}
.comment-input input {
  flex: 1;
  min-width: 0;
  min-height: 44px;
  font-size: 16px;
  padding: 10px 12px;
  border-radius: 14px;
  border:0;
  background: var(--surface-raised);
  color: var(--text)
}
.comment-input button {
  min-width: 44px;
  min-height: 44px;
  background: var(--surface-raised);
  color: var(--text);
  border-radius: 22px
}
.comment-input svg {
  width: 18px;
  height: 18px
}
.comment-actions {
  display: flex;
  gap: 12px
}
.comment-actions button {
  min-height: 44px;
  min-width: 44px;
  display: flex;
  gap: 5px;
  align-items: center;
  color: var(--muted);
  padding: 0;
  font-size: 12px
}
.comment-actions svg {
  width: 15px;
  height: 15px
}
.comment-actions [aria-pressed=true] {
  color: var(--text)
}
.comment-actions [aria-pressed=true] svg {
  fill: currentColor
}
.reply {
  border-left:0;
  padding: 6px 0 6px 12px;
  margin: 4px 0 8px
}
.reply-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted)
}
.sheet-position {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  padding: 10px 0;
  margin-bottom: 12px;
  border-bottom:1px solid rgba(255,255,255,.08)}
.sheet-position>span {
  display: flex;
  align-items: center;
  gap: 5px
}
.sheet-position svg {
  width: 14px;
  height: 14px
}
.sheet-position b {
  font-size: 15px;
  font-weight: 500;
  color: var(--positive);
  font-variant-numeric: tabular-nums
}
.sheet-position b.negative {
  color: var(--negative)
}
.stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px
}
.stat {
  padding: 14px 12px;
  border-radius: 14px;
  background: #FFFFFF03;
  border:0}
.stat small {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 6px
}
.stat strong {
  font-size: 23px;
  font-weight: 500;
  font-variant-numeric: tabular-nums
}
.trade-row {
  border-top:1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  font-size: 13px
}
.trade-row small {
  display: block;
  color: var(--tertiary);
  font-size: 11px
}
.trade-row b {
  font-size: 13px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: var(--positive)
}
.trade-row b.negative {
  color: var(--negative)
}
.file-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  border:0;
  border-radius: 14px;
  padding: 24px 14px;
  font-size: 13px
}
.file-zone input {
  max-width: 100%;
  font-size: 12px;
  margin-top: 4px
}
.divider {
  height: 1px;
  background: var(--hairline);
  margin: 18px 0
}
.about-list {
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.8
}
.following-row {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding: 12px 0
}
.following-row img {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 50%
}
.following-row span {
  flex: 1;
  font-size: 13px
}
.following-row small {
  font-size: 11px;
  color: var(--muted)
}.motion-settled .media-stage,.motion-settled .media-stage:after,.reel-page:not(.is-active) .trading,.reel-page:not(.is-active) .media-stage,.reel-page:not(.is-active) .media-stage:after,.reel-preview .caption,.reel-preview .social-rail,.reel-preview .token-chip,.reel-preview .token-values {
  transition: none
}
.motion-settled.is-active .trading {transition:transform 150ms var(--sheet-ease)}
.feed-dragging .trading {
  pointer-events: none
}
@keyframes spark-draw {
  from {
    stroke-dashoffset: 1
  }
  to {
    stroke-dashoffset: 0
  }
}
@keyframes skeleton {
  50% {
    opacity: .45
  }
}
@keyframes sheet-in {
  from {
    opacity: 0;
    translate: 0 10px
  }
  to {
    opacity: 1;
    translate: 0 0
  }
}
/* Smaller phones retain the row order and touch controls without wrapping. */
@media(max-width:360px){
 :is(.pad-visible,.handle-preview):not(.sheet-full) .stake-chip,
 :is(.pad-visible,.handle-preview):not(.sheet-full) .speed-chip{font-size:10px;padding:0 4px}
 :is(.pad-visible,.handle-preview):not(.sheet-full) .token-values>strong{font-size:24px;letter-spacing:-.6px}
 :is(.pad-visible,.handle-preview):not(.sheet-full) .token-values .change-pill{font-size:11px;padding-left:4px;padding-right:4px}
}
@media(max-width:414px){.chip-volume{display:none}}
@media(max-width:414px){
 :is(.pad-visible,.handle-preview) .rush-identity-row{gap:4px}
 :is(.pad-visible,.handle-preview) .token-heading .hot-badge{font-size:0;gap:0;min-width:18px;padding:2px 3px}
}
@media(max-width:340px){
 :is(.pad-visible,.handle-preview):not(.sheet-full) .token-values>strong{font-size:22px}
}
@media(max-width:360px){
  .reel-page:not(:is(.pad-visible,.handle-preview)) .token-chip{gap:3px}
  .reel-page:not(:is(.pad-visible,.handle-preview)) .token-heading{gap:3px}
  .reel-page:not(:is(.pad-visible,.handle-preview)) .token-values{gap:3px}
  .reel-page:not(:is(.pad-visible,.handle-preview)) .token-values .change-pill{padding-left:4px;padding-right:4px}
  .token-heading .hot-badge{font-size:0;gap:0;min-width:20px;padding:2px 4px}
  .token-heading .hot-badge svg{width:10px;height:10px}
  .sheet-full .rush-controls>.stake-chip{font-size:10px;min-width:68px;padding:0 6px}
}
@media(max-width:370px) {
  .topbar {
    padding-left: calc(12px + var(--safe-left));
    padding-right: calc(8px + var(--safe-right));
    gap: 4px
  }
  .wordmark {
    font-size: 21px
  }
  .feed-tabs {
    gap: 11px
  }
  .feed-tabs button {
    font-size: 12px
  }
  .caption {
    left: calc(16px + var(--safe-left));
    right: calc(68px + var(--safe-right))
  }
  .caption p {
    font-size: 12px
  }
  .creator-link {
    font-size: 12px
  }
  .creator-row {
    gap: 6px
  }
  .token-chip {
    height: 100%;
    gap: 5px;
    padding: 0;
    font-size: 10.5px
  }
  .token-chip>.change-pill {
    font-size: 9.5px
  }
  .trading {
    left: 10px;
    right: 10px
  }
  .social-screen {
    padding-left: 16px;
    padding-right: 16px
  }
  .screen-heading {
    min-height: 52px;
    margin-bottom: 8px
  }
  .profile-hero {
    padding-top: 8px
  }
  .profile-hero>.profile-avatar {
    width: 92px;
    height: 92px
  }
  .profile-hero>h2 {
    font-size: 25px;
    margin-top: 16px
  }
  .profile-hero>p {
    margin-bottom: 8px
  }
  .profile-future {
    padding-top: 12px
  }
  .profile-future+h3 {
    margin-top: 18px
  }
}
@media(max-height:650px) {
  .chart-expanded .social-rail {
    display: grid;
    grid-template-columns: 44px 44px;
    gap: 6px
  }
  .chart-expanded .caption {
    right: calc(120px + var(--safe-right))
  }
  .chart-expanded .caption p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
  }
}
/* Tall custom Ride on a short phone keeps a single accessible social row
   and creator identity in the remaining strip, clear of the fixed header. */
@media(max-height:650px) {
  .tight-media .caption{left:calc(12px + var(--safe-left));right:auto;width:100px}
  .tight-media .caption p,.tight-media .caption [data-ui=followBtn]{display:none}
  .tight-media .creator-row{min-height:24px;gap:0}
  .tight-media .creator-link{width:100px;min-height:24px;gap:5px;font-size:11px;overflow:hidden}
  .tight-media .creator-link img{width:24px;height:24px;flex-shrink:0}
  .tight-media .creator-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tight-media .social-rail{display:flex;flex-direction:row;gap:4px;right:calc(10px + var(--safe-right))}
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation: none!important;
    transition: none!important;
    scroll-behavior: auto!important
  }
}

.position-row-host{display:contents}
.ride-result{isolation:isolate;background:rgba(95,211,154,.14)}
.ride-result[data-tone=down]{background:rgba(240,107,107,.14)}

/* Retained chip fields keep their slots during a close; no duplicate text. */
.reel-page:not(.sheet-full) .token-values>[data-ui=hudPrice]{width:9ch;flex:none}
.reel-page:not(.sheet-full) .token-values>[data-ui=hudChange]{min-width:7ch;text-align:center;font-variant-numeric:tabular-nums}
.pad-morphing .rush-hud{contain:layout}

/* Addendum30: drag changes only the pad height; HUD rows never reflow. */
.trading{contain:layout paint}
.rush-hud,.rush-identity-row,.rush-price-row,.token-heading,.rush-controls{flex-wrap:nowrap;white-space:nowrap}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .rush-hud{contain:layout;display:flex;flex-direction:column;align-items:stretch;gap:0;flex:0 0 80px;height:80px;min-height:80px;max-height:80px;padding:0 12px;overflow:hidden}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .rush-identity-row{display:flex;align-items:center;gap:4px;flex:0 0 36px;height:36px;min-height:36px;max-height:36px;min-width:0;overflow:hidden}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .rush-price-row{display:flex;align-items:center;flex:0 0 44px;height:44px;min-height:44px;max-height:44px;min-width:0;overflow:hidden;visibility:visible}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .token-chip{display:flex;flex:1 1 0;min-width:0;height:36px;overflow:hidden}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .token-heading{display:flex;flex:1 1 0;align-items:center;gap:4px;min-width:0;overflow:hidden;height:36px}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .token-heading>b{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .token-heading .practice-badge{display:inline;flex:none;white-space:nowrap;font-size:9px;line-height:16px}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .rush-controls{display:flex;flex:none;position:static;align-items:center;gap:4px;height:28px;min-width:0}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .token-values{display:flex;flex:1;min-width:0;height:44px;overflow:hidden;white-space:nowrap}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .analysis-scroll{visibility:visible;flex:1 1 0;min-height:0;contain:layout}
:is(.pad-visible,.handle-preview,.handle-dragging,.pad-closing):not(.sheet-full) .chart-frame{flex:1 1 0;min-height:0}
