:root{--color-background: #000000;--color-primary-data: #00FF41;--color-header: #FFFFFF;--color-alert: #FFAA00;--color-negative: #FF0000;--color-label: #00FFFF;--color-border: #333333;--font-family: "JetBrains Mono", "Courier New", Courier, monospace}body{margin:0;font-family:var(--font-family);background-color:var(--color-background);color:var(--color-primary-data);overflow:hidden;display:flex;flex-direction:column;height:100vh;width:100vw}#app{display:flex;flex-direction:column;height:100%;width:100%;padding:0;margin:0}.app-container{display:flex;flex-grow:1;height:calc(100vh - 80px);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.panel-left{width:25%;border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.panel-center{width:50%;border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.panel-right{width:25%;display:flex;flex-direction:column;overflow:hidden}.section-title{font-size:1.1em;font-weight:700;padding:8px 16px;background-color:var(--color-background);border-bottom:1px solid var(--color-border);text-align:center;color:var(--color-header);display:flex;justify-content:space-between;align-items:center;height:40px;box-sizing:border-box}.section-title span{flex-grow:1}.section-title.amber{color:var(--color-alert)}.section-title.white{color:var(--color-header)}.scrollable-content{flex-grow:1;overflow-y:auto;padding:16px}.text-primary{color:var(--color-primary-data)}.text-white{color:var(--color-header)}.text-amber{color:var(--color-alert)}.text-red{color:var(--color-negative)}.text-cyan{color:var(--color-label)}.text-bold{font-weight:700}.top-bar{height:40px;background-color:var(--color-background);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 16px;box-sizing:border-box;color:var(--color-header);font-size:.9em}.top-bar-prompt{color:var(--color-primary-data);margin-right:8px}.top-bar-input{background:none;border:none;color:var(--color-primary-data);outline:none;flex-grow:1;font-family:var(--font-family);font-size:.9em;caret-color:var(--color-primary-data);padding:4px 0}.top-bar-branding{color:var(--color-header);margin-left:auto}.bottom-bar{height:40px;background-color:var(--color-background);border-top:1px solid var(--color-border);display:flex;align-items:center;padding:0 16px;box-sizing:border-box;font-size:.8em;color:var(--color-header);gap:16px}.bottom-bar-status-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;background-color:var(--color-primary-data);margin-right:4px;animation:blink-green 1.5s infinite step-end}.bottom-bar-status-indicator.amber{background-color:var(--color-alert);animation:blink-amber 1.5s infinite step-end}.bottom-bar-status-indicator.red{background-color:var(--color-negative);animation:blink-red 1.5s infinite step-end}.status-text{color:var(--color-primary-data);font-weight:700}.status-separator{color:var(--color-border)}@keyframes blink-green{0%,to{opacity:1}50%{opacity:0}}@keyframes blink-amber{0%,to{opacity:1}50%{opacity:0}}@keyframes blink-red{0%,to{opacity:1}50%{opacity:0}}.new-badge{animation:blink-green .8s infinite step-start;font-size:.7em;font-weight:700;padding:2px 5px;border:1px solid var(--color-primary-data);margin-left:5px;vertical-align:middle;white-space:nowrap}.ascii-separator-title{font-size:1.2em;font-weight:700;padding:8px 16px;text-align:center;color:var(--color-header);display:flex;align-items:center;justify-content:center;height:40px;box-sizing:border-box}.ascii-separator-title .line{color:var(--color-header);margin:0 8px}.ascii-separator-content{height:1px;background-color:var(--color-border);width:100%}.scrollable-content::-webkit-scrollbar{width:8px}.scrollable-content::-webkit-scrollbar-track{background:#111;border-radius:4px}.scrollable-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.scrollable-content::-webkit-scrollbar-thumb:hover{background:var(--color-label)}.news-feed{display:flex;flex-direction:column;gap:8px}.news-item{display:flex;flex-wrap:wrap;align-items:center;font-size:.85em;line-height:1.4;word-break:break-word}.news-timestamp{margin-right:8px}.news-source{margin-right:8px;color:var(--color-alert)}.news-title{color:var(--color-primary-data);text-decoration:none;display:inline-flex;align-items:center}.news-title:hover{text-decoration:underline}.stock-dashboard{display:flex;flex-direction:column;gap:4px}.market-summary-bar{display:flex;gap:16px;padding:8px 0;font-size:.8em;border-bottom:1px solid var(--color-border);margin-bottom:8px;flex-wrap:wrap}.market-summary-item{white-space:nowrap}.countdown-timer{margin-left:auto;color:var(--color-alert)}.ticker-header-row{display:grid;grid-template-columns:80px 1fr 100px 160px 120px 200px;gap:8px;padding:4px 0;font-weight:700;color:var(--color-label);border-bottom:1px solid var(--color-border);margin-bottom:4px}.ticker-row{display:grid;grid-template-columns:80px 1fr 100px 160px 120px 200px;gap:8px;padding:6px 0;align-items:center;border-radius:0}.ticker-row.highlighted{background-color:#00ff411a}.ticker-symbol{color:var(--color-label)}.ticker-company-name{color:var(--color-header);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticker-price{text-align:right}.ticker-change{text-align:right;font-weight:700}.ticker-volume{text-align:right;color:var(--color-alert)}.ticker-sparkline{font-size:1.2em;line-height:1;letter-spacing:0;display:block;color:var(--color-primary-data);white-space:pre}.market-movers{display:flex;flex-direction:column;gap:16px}.mover-list{display:flex;flex-direction:column;gap:8px}.mover-title{font-weight:700;margin-bottom:8px}.mover-item{display:flex;justify-content:space-between;font-size:.85em}.mover-symbol{color:var(--color-label);flex-basis:60px}.mover-name{flex-grow:1;color:var(--color-header);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mover-change{font-weight:700;flex-basis:100px;text-align:right}.system-info{display:flex;flex-direction:column;gap:8px;font-size:.8em}.info-row{display:flex;justify-content:space-between;align-items:center}.info-label{color:var(--color-label);flex-basis:80px}.info-value{color:var(--color-primary-data);text-align:right;flex-basis:calc(100% - 80px)}.info-value .bottom-bar-status-indicator{margin-right:8px;margin-bottom:-2px}
