/* base.css - Reset, layout, ticker, trade feed */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
*{scrollbar-width:thin;scrollbar-color:#2B2F36 transparent}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#2B2F36;border-radius:3px}
html{overflow:hidden;height:100%;--sat:env(safe-area-inset-top,0px)}
body{font-family:'Fira Code',monospace;background:#0a0b0e;color:#EAECEF;overflow:hidden;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}
button{cursor:pointer;font-family:'Fira Code',monospace;border:none;background:none;color:inherit}

/* Layout — Bloomberg-style grid */
.app{display:grid;grid-template-rows:32px 44px 1fr 28px;grid-template-columns:1fr;height:100vh;width:100vw;overflow:hidden;gap:1px;background:#1a1d24}

/* Ticker tape — scrolling top bar (toggled via Top Bar setting) */
.ticker{grid-column:1/-1;background:#0d0e12;display:none;align-items:center;overflow:hidden;border-bottom:1px solid #FCD535;position:relative;z-index:65}
.ticker.active{display:flex}
.ticker-inner{display:flex;gap:28px;animation:tickerScroll 40s linear infinite;white-space:nowrap;padding:0 16px}
.ticker:hover .ticker-inner{animation-play-state:paused}
.ticker-item{font-size:13px;font-weight:500;letter-spacing:0.5px;display:flex;gap:8px;align-items:center;cursor:pointer;padding:2px 6px;border-radius:2px;transition:background 0.15s}
.ticker-item:hover{background:rgba(252,213,53,0.12)}
.ticker-item:hover .sym{color:#fff}
.ticker-item .sym{color:#FCD535;transition:color 0.15s}
.ticker-item .up{color:#0ecb81}
.ticker-item .dn{color:#f6465d}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Desktop trade feed — toggled via Top Bar setting */
.desktop-trade-feed{grid-column:1/-1;background:#0d0e12;display:none;align-items:center;overflow:hidden;border-bottom:1px solid rgba(252,213,53,0.15);position:relative;z-index:65;height:32px}
.desktop-trade-feed.active{display:flex}
.desktop-trade-feed::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(252,213,53,0.3) 50%,transparent 90%);z-index:1}
.desktop-trade-feed-inner{display:flex;gap:0;white-space:nowrap;will-change:transform}
.desktop-feed-item{display:inline-flex;align-items:center;gap:8px;padding:0 24px;height:32px;flex-shrink:0;position:relative;overflow:hidden}
.desktop-feed-avatar{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(252,213,53,0.25);flex-shrink:0}
.desktop-feed-name{font-size:12px;font-weight:600;color:#848E9C;letter-spacing:0.3px;font-family:'Fira Code',monospace}
.desktop-feed-pnl{font-size:12px;font-weight:800;font-family:'Fira Code',monospace;letter-spacing:0.3px}
.desktop-feed-pnl.win{color:#0ecb81;text-shadow:0 0 6px rgba(14,203,129,0.25)}
.desktop-feed-pnl.lose{color:#f6465d;text-shadow:0 0 6px rgba(246,70,93,0.25)}
