:root{--bg: #080808;--bg-panel: #0D0D0F;--bg-hover: #131318;--border: #1A1A22;--border-glow: #252530;--text: #C8C8C0;--text-mid: #7A7A72;--text-dim: #3E3E3A;--green: #4ADE80;--green-dim: #166534;--red: #F87171;--red-dim: #991B1B;--amber: #EF9F27;--gold: #F9CB42;--blue: #60A5FA;--purple: #A78BFA;--cyan: #4FD1C5;--mono: "JetBrains Mono", "Fira Code", "Consolas", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{font-family:var(--mono);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::selection{background:#4ade8033;color:var(--green)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-glow);border-radius:2px}#root:after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 4px);pointer-events:none;z-index:9999}#root:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(74,222,128,.015) 0%,transparent 50%,rgba(0,0,0,.3) 100%);pointer-events:none;z-index:9998}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes priceFlash{0%{background:#4ade801f}to{background:transparent}}@keyframes priceFlashRed{0%{background:#f871711f}to{background:transparent}}.legalOverlay{position:fixed;inset:0;background:#000c;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease-out}.legalModal{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;max-width:680px;width:100%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.legalHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.legalTitle{font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:1.5px}.legalClose{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:14px;cursor:pointer;padding:4px 10px;font-family:var(--mono);transition:color .15s,border-color .15s}.legalClose:hover{color:var(--text);border-color:var(--border-glow)}.legalBody{padding:20px;overflow-y:auto;font-size:12px;line-height:1.7;color:var(--text-mid)}.legalBody h3{font-size:12px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.8px;margin:20px 0 8px}.legalBody h3:first-of-type{margin-top:8px}.legalBody p{margin-bottom:10px}.legalBody ul{margin:0 0 10px 20px}.legalBody li{margin-bottom:4px}.legalBody a{color:var(--green);text-decoration:none}.legalBody a:hover{text-decoration:underline}.legalBody strong{color:var(--text)}.legalDate{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.bootOverlay{position:fixed;inset:0;background:#080808;z-index:99999;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease}.bootFadeOut{opacity:0}.bootContent{font-family:var(--mono);font-size:13px;line-height:1.8;color:var(--green);max-width:560px;padding:24px}.bootLine{opacity:0;animation:bootReveal .15s ease forwards}.bootOk{color:var(--green)}.bootOnline{color:var(--green);font-weight:700;margin-top:4px}.bootWelcome{color:var(--text-mid);margin-top:4px}.bootCursor{animation:blink .8s step-end infinite;color:var(--green)}@keyframes bootReveal{0%{opacity:0}to{opacity:1}}.app{background:var(--bg);min-height:100vh;font-family:var(--mono);color:var(--text);position:relative;overflow-x:hidden}.topBar{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border);background:var(--bg-panel);position:relative;z-index:10}.topBarLeft{display:flex;align-items:center;gap:8px}.logoIcon{color:var(--green);font-size:13px;font-weight:700}.logoText{font-size:13px;font-weight:600;color:var(--green);letter-spacing:2px}.logoDot{font-size:13px;color:var(--text-dim);letter-spacing:2px}.logoCursor{display:inline-block;width:7px;height:13px;background:var(--green);margin-left:3px;animation:blink 1s step-end infinite;vertical-align:middle}.topBarRight{display:flex;align-items:center;gap:16px}.topBarDate{font-size:10px;color:var(--text-dim)}.topBarTime{font-size:13px;font-weight:600;color:var(--green);letter-spacing:2px}.tickerBar{border-bottom:1px solid var(--border);padding:4px 0;overflow:hidden;white-space:nowrap;background:#4ade8005}.tickerTrack{display:inline-flex;gap:28px;animation:ticker 45s linear infinite;padding-left:16px}.tickerItem{font-size:11px;display:inline-flex;gap:6px;align-items:center}.tickerSymbol{color:var(--text-dim);font-weight:600;font-size:10px}.tickerPrice{color:var(--text);font-size:11px}.tickerChange{font-size:10px}.tickerUp{color:var(--green)}.tickerDown{color:var(--red)}.priceFlashUp{animation:flashGreen .6s ease-out}.priceFlashDown{animation:flashRed .6s ease-out}@keyframes flashGreen{0%{color:var(--green);text-shadow:0 0 8px rgba(74,222,128,.4)}to{color:inherit;text-shadow:none}}@keyframes flashRed{0%{color:var(--red);text-shadow:0 0 8px rgba(248,113,113,.4)}to{color:inherit;text-shadow:none}}.panel{transition:border-color .15s ease}.panel:hover{border-color:var(--border-glow)}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;padding:0;background:var(--border);max-width:100%;width:100%}.spanCol2{grid-column:span 2}.spanCol3{grid-column:span 3}.panel{background:var(--bg);padding:12px 14px;overflow:hidden}.panelHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.panelHeaderLeft{display:flex;align-items:center;gap:8px}.panelTitle{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px}.panelTag{font-size:8px;color:var(--green);background:#4ade800f;padding:1px 5px;border-radius:2px;letter-spacing:.5px;border:1px solid rgba(74,222,128,.1)}.panelTagDim{font-size:7px;color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase}.panelLive{display:flex;align-items:center;gap:4px}.liveDot{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 4px #4ade8066;animation:pulse 2s infinite}.liveText{font-size:8px;color:var(--text-dim);letter-spacing:1px}.priceMain{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px}.priceValue{font-size:32px;font-weight:700;color:var(--text);letter-spacing:-1px;line-height:1}.priceChange{font-size:13px;margin-top:4px}.priceRange{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.priceRangeLabel{font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.priceRangeValue{font-size:11px;color:var(--text-mid)}.statsGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.statLabel{font-size:8px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}.statValue{font-size:18px;font-weight:600}.statValueSm{font-size:12px;color:var(--text-mid)}.statSuffix{font-size:12px;color:var(--text-dim)}.statFullWidth{grid-column:span 2}.listRow{display:flex;justify-content:space-between;align-items:center;padding:3px 0}.listRowSymbol{font-size:11px;font-weight:600;color:var(--text)}.listRowName{font-size:9px;color:var(--text-dim);margin-left:6px}.listRowPrice{font-size:11px;color:var(--text)}.listRowChange{font-size:10px;margin-left:8px}.newsFilters{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.newsPill{background:none;border:1px solid var(--border);border-radius:2px;color:var(--text-dim);font-family:var(--mono);font-size:8px;padding:2px 6px;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;transition:all .15s}.newsPill:hover{color:var(--text-mid);border-color:var(--border-glow)}.newsPillActive{color:var(--green);border-color:var(--green);background:#4ade800f}.newsRow{display:flex;align-items:center;gap:8px;padding:5px 2px;border-bottom:1px solid rgba(26,26,34,.5);cursor:pointer;border-radius:2px;transition:background .15s;text-decoration:none;color:inherit}.newsRow:last-child{border-bottom:none}.newsRow:hover{background:var(--bg-hover)}.newsTag{font-size:8px;font-weight:600;padding:1px 5px;border-radius:2px;min-width:42px;text-align:center;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.newsTitle{font-size:11px;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.newsMeta{font-size:9px;color:var(--text-dim);flex-shrink:0}.fgValue{font-size:28px;font-weight:700;line-height:1;text-align:center}.fgLabel{font-size:9px;margin-top:4px;text-transform:uppercase;letter-spacing:1.5px;text-align:center}.fgBar{margin-top:8px;height:3px;border-radius:2px;overflow:hidden;background:linear-gradient(90deg,var(--red),var(--amber),var(--green));position:relative}.fgIndicator{width:2px;height:100%;background:var(--text);border-radius:1px;box-shadow:0 0 4px var(--text);position:absolute;top:0;transition:left 1s ease}.netRow{display:flex;justify-content:space-between;padding:3px 0}.netLabel{font-size:10px;color:var(--text-dim)}.netValue{font-size:10px;color:var(--text-mid);font-weight:500}.scoreRow{display:flex;align-items:center;gap:10px;padding:4px 2px;border-bottom:1px solid rgba(26,26,34,.5)}.scoreRow:last-child{border-bottom:none}.scoreLeague{font-size:8px;font-weight:600;color:var(--text-dim);min-width:28px;letter-spacing:.5px}.scoreTeams{display:flex;align-items:center;gap:6px;flex:1}.scoreTeam{display:flex;align-items:center;gap:5px}.scoreAbbr{font-size:11px;font-weight:600;color:var(--text);min-width:30px}.scoreVal{font-size:13px;font-weight:700;color:var(--text-mid)}.scoreLive{color:var(--text)!important}.scoreAt{font-size:9px;color:var(--text-dim)}.scoreStatus{font-size:8px;color:var(--text-dim);min-width:55px;text-align:right}.scoreStatusLive{color:var(--red);font-weight:600}.marketHoursRow{display:flex;align-items:center;justify-content:space-between;padding:3px 0}.marketHoursLeft{display:flex;align-items:center;gap:6px}.marketDot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.marketOpen{background:var(--green);box-shadow:0 0 4px #4ade8066}.marketClosed{background:var(--red);opacity:.6}.marketAbbr{font-size:10px;font-weight:600;color:var(--text);min-width:34px}.marketName{font-size:9px;color:var(--text-dim)}.marketHoursRight{display:flex;align-items:center;gap:8px}.marketTime{font-size:9px;color:var(--text-dim)}.marketEvent{font-size:8px;font-weight:600;letter-spacing:.5px;padding:1px 4px;border-radius:2px;min-width:40px;text-align:center}.marketEventOpen{color:var(--green);background:#4ade8014}.marketEventClosed{color:var(--red);background:#f871710f;opacity:.7}.marketExtended{background:var(--amber);box-shadow:0 0 4px #ef9f274d}.marketEventExtended{color:var(--amber);background:#ef9f2714}.marketCountdown{font-size:8px;color:var(--text-dim);min-width:52px;text-align:right}.ghStars{font-size:10px;font-weight:600;color:var(--gold);min-width:36px;text-align:right;flex-shrink:0}.ghRepoName{font-size:10px;color:var(--blue);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ghRepoDesc{font-size:9px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.ghLang{font-size:8px;color:var(--text-dim);flex-shrink:0;letter-spacing:.5px}.redditScore{font-size:10px;font-weight:600;color:var(--amber);min-width:36px;text-align:right;flex-shrink:0}.redditSub{font-size:8px;color:var(--text-dim);flex-shrink:0;letter-spacing:.3px}.adPlaceholder{border:1px dashed var(--border);border-radius:3px;padding:14px;text-align:center;margin-bottom:10px}.adLabel{font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.adSize{font-size:10px;color:var(--text-dim)}.donateLabel{font-size:10px;color:var(--text-dim);margin-bottom:6px}.donateAddr{background:var(--bg-panel);border-radius:3px;padding:6px 8px;font-size:9px;color:var(--amber);word-break:break-all;line-height:1.5;border:1px solid var(--border)}.donateNote{font-size:9px;color:var(--text-dim);margin-top:6px;text-align:center}.bottomBar{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-top:1px solid var(--border);font-size:9px;color:var(--text-dim);background:var(--bg-panel)}.bottomBarLeft{display:flex;align-items:center;gap:12px}.bottomBarDivider{color:var(--border-glow)}.footerLink{background:none;border:none;color:var(--text-dim);font-family:var(--mono);font-size:9px;cursor:pointer;padding:0;transition:color .15s}.footerLink:hover{color:var(--green)}.bottomBarStatus{display:flex;align-items:center;gap:4px}.bottomBarDot{width:5px;height:5px;border-radius:50%;background:var(--green);display:inline-block}@media(max-width:1100px){.grid{grid-template-columns:1fr 1fr}.spanCol3{grid-column:span 2}}@media(max-width:700px){.grid{grid-template-columns:1fr}.spanCol2,.spanCol3{grid-column:span 1}.topBar{padding:6px 12px}.priceValue{font-size:24px}}
