:root{--bg-primary: #1a1a2e;--bg-panel: #16213e;--bg-highlight: #1a2a50;--accent: #e94560;--text-primary: #eeeeee;--text-secondary: #888888;--text-muted: #555555;--text-score: #f0c040;--color-buy: #4ecca3;--color-sell: #e94560;--color-long-side: #3ecf8e;--color-short-side: #e05571;--color-price-up: #4ecca3;--color-price-down: #e94560;--color-networth: #f0c040;--color-exposure-low: #4ecca3;--color-exposure-mid: #f0a020;--color-exposure-high: #e94560;--color-exposure-leveraged: #ff6b35;--color-exposure-margin: #ff1744;--card-glow-profit: rgba(62, 207, 142, .4);--card-glow-loss: rgba(233, 69, 96, .4);--card-glow-idle: rgba(62, 207, 142, .15);--card-border-radius: 12px;--card-bg: rgba(255, 255, 255, .04);--card-bg-hover: rgba(255, 255, 255, .08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}#root{width:100%}.layout{display:grid;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;height:100vh;height:100dvh;overflow:hidden;padding:.5rem;gap:.5rem}.quadrant-header{display:flex;align-items:center;gap:.75rem;padding:.3rem .6rem;font-variant-numeric:tabular-nums;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;font-weight:700}.chart-header{justify-content:center}.chart-zoom-pills{display:flex;gap:2px;margin-left:auto;background:#ffffff0f;border-radius:4px;padding:2px}.zoom-pill{all:unset;cursor:pointer;font-size:.6rem;font-weight:600;padding:1px 4px;min-width:24px;text-align:center;border-radius:3px;color:var(--text-muted);transition:color .15s,background .15s}.zoom-pill:hover{color:var(--text-secondary)}.zoom-pill.active{background:#ffffff1f;color:var(--text-primary)}.speed-pills{display:flex;gap:2px;margin-left:8px;border-left:1px solid rgba(255,255,255,.15);background:#ffffff0f;border-radius:4px;padding:2px}.trade-header{justify-content:center;gap:1rem}.header-quarter{font-size:1rem;color:var(--color-networth);font-weight:700}.header-day{font-size:1rem;color:var(--text-primary);font-weight:700}.header-timer{font-size:1.2rem;font-weight:700;color:var(--text-primary);min-width:3ch;text-align:center}.header-timer.urgent{color:var(--color-exposure-margin);animation:pulse-margin .8s ease-in-out infinite}.header-phase-label{font-size:.85rem;font-weight:700;color:var(--accent);letter-spacing:.05em}.header-networth{font-size:1.3rem;font-weight:800;color:var(--color-networth)}.header-stat{display:flex;align-items:center;gap:.3rem}.header-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.header-stat-value{font-size:.9rem;font-weight:600;color:var(--text-primary)}.header-stat-value.negative{color:var(--color-exposure-margin)}.header-pnl{font-size:.85rem;font-weight:600}.header-pnl-pct{font-size:.7rem;opacity:.7;margin-left:.15rem}.target-bar-section{padding:.4rem .75rem;border-bottom:1px solid rgba(255,255,255,.06)}.target-bar-section.target-met{animation:target-met-pulse 1.5s ease-in-out 1}@keyframes target-met-pulse{0%,to{background:transparent}50%{background:#3ecf8e1a}}.target-bar-labels{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.target-bar-title{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.target-bar-amount{font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}.target-bar-amount.zone-red{color:var(--color-sell)}.target-bar-amount.zone-yellow{color:#f0b429}.target-bar-amount.zone-green{color:var(--color-long-side)}.target-bar-quarter{margin-left:auto;display:flex;gap:.3rem;align-items:center}.quarter-dot{width:8px;height:8px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.quarter-dot-met{background:var(--color-long-side);border-color:var(--color-long-side)}.target-bar-track{width:100%;height:10px;background:#ffffff0f;border-radius:5px;overflow:hidden;position:relative}.target-bar-ghost{position:absolute;top:0;left:0;height:100%;background:#3ecf8e26;border-radius:5px;transition:width .3s ease}.target-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:5px;transition:width .3s ease}.target-bar-fill.zone-red{background:var(--color-sell)}.target-bar-fill.zone-yellow{background:#f0b429}.target-bar-fill.zone-green{background:var(--color-long-side)}.target-bar-fill.target-bar-met{background:var(--color-long-side);box-shadow:0 0 8px #3ecf8e66}.target-bar-unrealized{margin-top:.2rem;font-size:.65rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.quadrant-chart{grid-row:1;grid-column:1;display:flex;flex-direction:column;position:relative;min-height:0;border-radius:8px;overflow:hidden;background:var(--bg-panel);border:1px solid rgba(255,255,255,.06)}.quadrant-chart .graph-container{position:relative;width:100%;flex:1;min-height:0}.quadrant-chart .score-graph{width:100%;height:100%}.quadrant-chart .score-graph-canvas-wrap{width:100%;height:100%;background:var(--bg-panel);border-radius:8px;overflow:hidden;position:relative}.quadrant-chart .score-graph-canvas-wrap canvas{display:block;width:100%;height:100%}.chart-price-hero{position:absolute;top:.5rem;left:.5rem;z-index:2;text-align:left;pointer-events:none;background:#0a0a0fa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:.35rem .6rem;border-radius:6px}.hero-price-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:.1rem}.chart-price-hero .hero-price-value{font-size:2.8rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.6)}.hero-price-stats{display:flex;gap:.75rem;justify-content:flex-start;margin-top:.2rem;font-size:.7rem;color:var(--text-secondary)}.hero-stat-label{color:var(--text-muted);font-size:.6rem;text-transform:uppercase;margin-right:.15rem}.market-event-banner{position:absolute;bottom:10%;left:50%;transform:translate(-50%);z-index:4;display:flex;align-items:center;gap:.5rem;padding:.3rem 1rem;border-radius:8px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;animation:market-event-pulse 1.5s ease-in-out infinite;pointer-events:none}.market-event-banner.bull{background:#3ecf8e26;border:1px solid rgba(62,207,142,.5);color:#3ecf8e;box-shadow:0 0 20px #3ecf8e33}.market-event-banner.bear{background:#e0557126;border:1px solid rgba(224,85,113,.5);color:#e05571;box-shadow:0 0 20px #e0557133}.market-event-label{font-size:.8rem}.market-event-timer{font-size:.7rem;opacity:.8;font-variant-numeric:tabular-nums}@keyframes market-event-pulse{0%,to{opacity:.9}50%{opacity:1}}.chart-exposure{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;background:#16213ed9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-top:1px solid rgba(255,255,255,.06)}.quadrant-sentiment{grid-row:1;grid-column:2;display:flex;flex-direction:column;background:var(--bg-panel);border-radius:8px;border:1px solid rgba(255,255,255,.06);overflow:hidden;min-height:0}.market-analysis{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;height:100%;min-height:0}.ma-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.3rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.ma-title{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted)}.ma-session-badge{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.1rem .4rem;border-radius:3px}.ma-session-badge.session-pre{background:#f0a02026;color:#f0a020}.ma-session-badge.session-trading{background:#3ecf8e26;color:#3ecf8e}.ma-session-badge.session-after{background:#4a9eff26;color:#4a9eff}.ma-session-badge.session-overnight{background:#88888826;color:#888}.ma-sentiment{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.ma-sentiment-label{font-size:.55rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);min-width:2.5rem;text-align:center;transition:color .3s}.ma-sentiment-label.active{color:var(--text-primary)}.ma-sentiment-track{flex:1;height:8px;background:#ffffff0f;border-radius:4px;position:relative;overflow:hidden}.ma-sentiment-center{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-1px);background:#fff3}.ma-sentiment-fill{position:absolute;top:0;bottom:0;border-radius:4px;transition:width .5s ease}.ma-sentiment-fill.bear{background:linear-gradient(to left,#e9456080,#e94560cc);border-radius:4px 0 0 4px}.ma-sentiment-fill.bull{background:linear-gradient(to right,#3ecf8e80,#3ecf8ecc);border-radius:0 4px 4px 0}.ma-news{flex:1;display:flex;align-items:center;justify-content:center;min-height:3rem}.ma-event{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .8rem;border-radius:8px;font-weight:700;letter-spacing:.03em;width:100%;text-align:center}.ma-event.severity-normal{background:#ffffff0f;color:var(--text-primary);font-size:.8rem}.ma-event.severity-important{background:#f0a0201f;border:1px solid rgba(240,160,32,.3);color:#f0a020;font-size:.85rem}.ma-event.severity-critical{background:#e9456026;border:1px solid rgba(233,69,96,.4);color:var(--accent);font-size:.9rem;animation:market-event-pulse 1.5s ease-in-out infinite}.ma-event-headline{line-height:1.3;word-break:break-word}.ma-event-countdown{font-size:1.2rem;font-variant-numeric:tabular-nums;opacity:.9;animation:pulse-margin 1s ease-in-out infinite}.ma-event-timer{font-size:.75rem;font-variant-numeric:tabular-nums;opacity:.7}.ma-chirp{font-size:.8rem;font-style:italic;color:var(--text-secondary);padding:.5rem .8rem;background:#ffffff08;border-radius:8px;border-left:2px solid rgba(255,255,255,.1);transition:opacity .5s;text-align:center;width:100%;line-height:1.4}.ma-chirp-empty{color:var(--text-muted)}.ma-participants{flex-shrink:0}.ma-participants-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.3rem}.ma-section-label{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.ma-participants-count{font-size:.55rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.ma-participants-grid{display:flex;flex-wrap:wrap;gap:.3rem}.ma-participant-pill{display:flex;align-items:center;gap:.25rem;padding:.15rem .4rem;border-radius:4px;background:#ffffff0a;transition:opacity .3s;min-width:4.2rem}.ma-participant-pill.offline{opacity:.3}.ma-participant-pill.watching{opacity:.6}.ma-participant-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.ma-participant-pill.active .ma-participant-dot{box-shadow:0 0 4px currentColor}.ma-participant-abbrev{font-size:.6rem;font-weight:700;letter-spacing:.05em}.ma-participant-num{font-size:.55rem;font-weight:600;font-variant-numeric:tabular-nums}.quadrant-cards{grid-row:2;grid-column:1;display:flex;flex-direction:column;background:var(--bg-panel);border-radius:8px;border:1px solid rgba(255,255,255,.06);min-height:0;overflow:hidden}.quadrant-cards .card-hand{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem}.quadrant-manipulation{grid-row:2;grid-column:2;display:flex;flex-direction:column;gap:.5rem;padding:.6rem;background:var(--bg-panel);border-radius:8px;border:1px solid rgba(255,255,255,.06);overflow-y:auto}.placeholder-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.placeholder-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.placeholder-text{font-size:.75rem;color:var(--text-muted);font-style:italic}.shop-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0a0a14cc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.shop-overlay-content{background:var(--bg-panel);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;max-width:700px;width:90%;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.shop-body{display:flex;gap:1rem}.shop-hand{flex:1;display:flex;flex-direction:column;gap:.5rem}.shop-hand-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.shop-hand-cards{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;justify-content:center;flex:1}.shop-offerings-panel{flex:1;display:flex;flex-direction:column;gap:.5rem}.shop-header{display:flex;justify-content:space-between;align-items:center}.shop-title{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--color-networth)}.shop-cash{font-size:.8rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.shop-offerings{display:flex;flex-direction:column;gap:.5rem;flex:1}.shop-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.6rem;display:flex;align-items:center;gap:.5rem;transition:border-color .2s}.shop-card:hover:not(.purchased){border-color:#fff3}.shop-card.purchased{opacity:.35}.shop-card-info{flex:1;display:flex;flex-direction:column;gap:.15rem}.shop-card-name{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary)}.shop-card-desc{font-size:.6rem;color:var(--text-secondary);line-height:1.3}.shop-card-buy-btn{font-size:.7rem;font-weight:700;padding:.35rem .6rem;border:none;border-radius:6px;background:var(--color-buy);color:var(--bg-primary);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;transition:background .15s;white-space:nowrap}.shop-card-buy-btn:hover:not(:disabled){background:#3bb88e}.shop-card-buy-btn:disabled{opacity:.4;cursor:not-allowed}.shop-actions{display:flex;gap:.5rem;justify-content:center;align-items:center}.shop-ready-btn{font-size:.9rem;font-weight:700;padding:.5rem 1.25rem;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:background .2s,transform .1s}.shop-ready-btn:hover{background:#c73650}.shop-ready-btn:active{transform:scale(.97)}.round-summary{display:flex;flex-direction:column;gap:.4rem}.round-summary-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary)}.round-summary-stats{display:flex;flex-direction:column;gap:.3rem}.round-summary-stat{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.round-summary-stat-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.round-summary-stat-value{font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}.round-summary-divider{width:100%;height:1px;background:#ffffff1a;margin:.25rem 0}.round-summary-section-label{font-size:.7rem;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.08em}.card-hand{display:flex;flex-direction:column;gap:.35rem;width:100%;position:relative}.card-hand-row{display:flex;gap:.5rem;justify-content:center;align-items:stretch}.trade-card-closed{opacity:.45;pointer-events:none;position:relative}.card-closed-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0a1ebf;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--card-border-radius)}.card-closed-label{font-size:.85rem;font-weight:800;color:#fff;letter-spacing:.12em}.card-closed-session{font-size:.65rem;color:#ffffffb3;margin-top:.15rem}.card-closed-countdown{font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;margin-top:.3rem}.trade-card{width:120px;height:160px;border-radius:var(--card-border-radius);display:flex;flex-direction:column;cursor:pointer;border:2px solid transparent;transition:border-color .15s,transform .2s,box-shadow .3s;padding:.4rem;position:relative;overflow:hidden;flex-shrink:0;perspective:600px}.trade-card:hover:not(:disabled){transform:translateY(-4px) scale(1.02)}.trade-card:active:not(:disabled){transform:scale(.95)}.trade-card-idle{background:#3ecf8e14;border-color:#3ecf8e40;color:var(--color-long-side)}.trade-card-idle:hover:not(:disabled){background:#3ecf8e2e;border-color:#3ecf8e80;box-shadow:0 0 16px var(--card-glow-idle),0 4px 12px #0000004d}.trade-card-open{border-color:#fff3}.trade-card-open.trade-card-profit{background:#3ecf8e1a;border-color:#3ecf8e59;box-shadow:0 0 12px var(--card-glow-profit)}.trade-card-open.trade-card-loss{background:#e055711a;border-color:#e0557159;box-shadow:0 0 12px var(--card-glow-loss)}.trade-card-sellable:hover:not(:disabled){box-shadow:0 0 20px #fff3,0 4px 12px #0000004d}.trade-card-open:not(.trade-card-sellable){cursor:not-allowed;opacity:.6;filter:grayscale(.3)}.trade-card-open:not(.trade-card-sellable){--hold-progress: 0;border-image:none}.trade-card-open.trade-card-sellable{animation:card-ready-pulse 1s ease-in-out infinite}@keyframes card-ready-pulse{0%,to{border-color:#ffffff59}50%{border-color:#fff9}}.trade-card-carried{cursor:default;opacity:.8;width:100px;height:130px}.trade-card-carried:hover{transform:none}.trade-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.15rem}.trade-card-level{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.trade-card-size{font-size:.6rem;font-weight:600;background:#ffffff1a;padding:.05rem .3rem;border-radius:4px;color:var(--text-secondary)}.trade-card-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}.trade-card-pnl{font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.trade-card-entry{font-size:.6rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.trade-card-hold{font-size:.55rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.trade-card-footer{margin-top:auto;text-align:center}.trade-card-action{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#fff}.trade-card-buy{color:var(--color-long-side);font-size:1.2rem}.trade-card-locked{color:var(--text-muted);opacity:.5}.trade-card-badge{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);background:#ffffff0f;padding:.1rem .4rem;border-radius:3px;margin-top:.15rem}@keyframes card-flip-in{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.trade-card-flipping{animation:card-flip-in .3s ease-in-out}.meter-row{display:flex;align-items:center;gap:.4rem;flex:1}.meter-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);flex-shrink:0}.meter-bar-track{position:relative;flex:1;height:6px;background:#ffffff14;border-radius:3px;overflow:visible}.meter-bar-fill{height:100%;border-radius:3px;transition:width .3s ease,background .3s ease;min-width:2px}.meter-bar-fill.exposure-low{background:var(--color-exposure-low)}.meter-bar-fill.exposure-mid{background:var(--color-exposure-mid)}.meter-bar-fill.exposure-high{background:var(--color-exposure-high)}.meter-bar-fill.exposure-leveraged{background:var(--color-exposure-leveraged)}.meter-bar-fill.exposure-margin{background:var(--color-exposure-margin);animation:pulse-margin .8s ease-in-out infinite}.meter-bar-marker{position:absolute;top:-1px;bottom:-1px;width:2px;background:#fff6;pointer-events:none}.meter-bar-marker.margin-threshold{background:#ff174499}.meter-bar-marker.cooldown-cap{background:var(--color-exposure-leveraged);width:2px}.meter-value{font-size:.65rem;font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;min-width:2rem;text-align:right;flex-shrink:0}.meter-value.leveraged{color:var(--color-exposure-leveraged);font-weight:700}.meter-warning{font-size:.65rem;font-weight:700;text-align:center;animation:pulse-margin .8s ease-in-out infinite;letter-spacing:.05em}.meter-warning.margin-warning,.meter-warning.concentration-warning{color:var(--color-exposure-margin)}.meter-warning.margin-call-active{color:var(--color-exposure-margin);animation:margin-call-text-pulse .6s ease-in-out infinite;font-size:.7rem;letter-spacing:.1em}.meter-warning.cooldown-warning{color:var(--color-exposure-leveraged);animation:pulse-margin 1.5s ease-in-out infinite}@keyframes pulse-margin{0%,to{opacity:1}50%{opacity:.6}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes margin-call-flash{0%,to{background:transparent}25%{background:#ff174440}50%{background:transparent}75%{background:#ff174426}}@keyframes margin-call-text-pulse{0%,to{color:var(--color-exposure-margin);opacity:1}50%{color:#f44;opacity:.8;text-shadow:0 0 8px rgba(255,23,68,.6)}}.meter-row.margin-risk{animation:shake .3s ease-in-out}.meter-row.margin-called{animation:shake .4s ease-in-out,margin-call-flash 1s ease-in-out 2;border-radius:4px}.price-display{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--text-primary);position:relative;transition:color .3s ease}.price-display.price-up{color:var(--color-price-up);animation:price-flash-up 1s ease forwards}.price-display.price-down{color:var(--color-price-down);animation:price-flash-down 1s ease forwards}@keyframes price-flash-up{0%{color:var(--color-price-up);text-shadow:0 0 20px rgba(78,204,163,.4)}to{color:var(--text-primary);text-shadow:none}}@keyframes price-flash-down{0%{color:var(--color-price-down);text-shadow:0 0 20px rgba(233,69,96,.4)}to{color:var(--text-primary);text-shadow:none}}.price-arrow{font-size:.8rem;margin-left:.2rem;vertical-align:super}.price-arrow-up{color:var(--color-price-up)}.price-arrow-down{color:var(--color-price-down)}.market-stat-high{color:var(--color-price-up)}.market-stat-low{color:var(--color-price-down)}.pnl-positive{color:var(--color-buy)}.pnl-negative{color:var(--color-sell)}.portfolio-networth{color:var(--color-networth)}.graph-live-btn{position:absolute;top:8px;right:8px;padding:2px 10px;font-size:.65rem;font-weight:700;letter-spacing:.1em;border:1px solid var(--accent);border-radius:4px;background:#e9456026;color:var(--accent);cursor:pointer;z-index:3;transition:background .2s}.graph-live-btn:hover{background:#e9456059}.game.join-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;margin:0 auto;text-align:center}.subtitle{color:var(--text-secondary);font-size:1.1rem}.join-form{display:flex;gap:.75rem}.name-input{font-size:1.25rem;padding:.75rem 1rem;border:2px solid #333;border-radius:8px;background:var(--bg-panel);color:var(--text-primary);outline:none;width:220px}.name-input:focus{border-color:var(--accent)}.join-btn{font-size:1.25rem;padding:.75rem 1.5rem;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;transition:background .2s}.join-btn:hover{background:#c73650}.join-btn:disabled{opacity:.4;cursor:not-allowed}.connecting{grid-column:1 / -1;color:var(--text-secondary);font-style:italic;text-align:center;padding:.25rem}.run-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0a0a14d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.run-overlay-content{background:var(--bg-panel);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;max-width:480px;width:90%;display:flex;flex-direction:column;gap:1rem;text-align:center}.game-over-title{font-size:1.8rem;font-weight:800;color:var(--accent);letter-spacing:.15em;text-transform:uppercase}.game-over-reason{font-size:.85rem;color:var(--color-sell);font-weight:600;margin-top:-.5rem}.game-over-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}.game-over-stat{display:flex;flex-direction:column;gap:.2rem}.game-over-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.game-over-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.game-over-networth{color:var(--color-networth)}.run-btn{font-size:1rem;font-weight:700;padding:.6rem 1.5rem;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .1s;text-transform:uppercase;letter-spacing:.1em}.run-btn:active{transform:scale(.97)}.run-btn:disabled{opacity:.4;cursor:not-allowed}.run-btn-start{background:var(--accent);color:#fff}.run-btn-start:hover:not(:disabled){background:#c73650}.run-btn-reroll{background:#ffffff14;color:var(--text-secondary);border:1px solid rgba(255,255,255,.12);font-size:.8rem;padding:.4rem .8rem}.run-btn-reroll:hover:not(:disabled){background:#ffffff26;color:var(--text-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion: reduce){.trade-card{transition:none}.price-display.price-up,.price-display.price-down{animation:none}.meter-bar-fill{transition:none}.meter-warning,.header-timer.urgent,.trade-card-flipping,.trade-card-open.trade-card-sellable,.ma-event.severity-critical,.ma-event-countdown{animation:none}.ma-sentiment-fill{transition:none}}@media (max-width: 599px){.game.join-screen{padding:2rem 1rem;min-height:100vh;min-height:100dvh}.join-form{flex-direction:column;width:100%}.name-input{width:100%}.join-btn{width:100%;min-height:48px}.layout{grid-template-rows:1fr auto;grid-template-columns:1fr;padding:.25rem;gap:.25rem}.header-networth,.header-timer{font-size:1rem}.quadrant-chart{grid-row:1;grid-column:1;min-height:200px}.quadrant-sentiment{display:none}.quadrant-cards{grid-row:2;grid-column:1}.quadrant-manipulation{display:none}.shop-body{flex-direction:column}.card-hand-row{flex-wrap:wrap}.trade-card{width:100px;height:130px}.chart-price-hero .hero-price-value{font-size:1.8rem}.shop-offerings{flex-direction:column}.game-over-stats{flex-direction:column;gap:.75rem}}
