:root{--white:#fff;--off-white:#fafafa;--light-grey:#f0f0f0;--mid-grey:#e0e0e0;--dark-grey:#404040;--black:#0a0a0a;--accent-red:#d63031;--accent-blue:#0969b7;--accent-green:#007f68;--warning:#8a5a00;--positive:#007f68;--positive-light:#55efc4;--negative:#d63031;--negative-light:#ff7675;--neutral:#0969b7;--neutral-light:#74b9ff;--font-sans:"Archivo", -apple-system, system-ui, sans-serif;--font-mono:"DM Mono", monospace;--unit:8px;--grid-1:calc(var(--unit) * 1);--grid-2:calc(var(--unit) * 2);--grid-3:calc(var(--unit) * 3);--grid-4:calc(var(--unit) * 4);--grid-5:calc(var(--unit) * 5);--grid-6:calc(var(--unit) * 6);--grid-8:calc(var(--unit) * 8);--grid-10:calc(var(--unit) * 10);--grid-12:calc(var(--unit) * 12)}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-color:var(--dark-grey) var(--light-grey)}::selection{background:var(--black);color:var(--white)}button{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent-blue);outline-offset:3px}body{font-family:var(--font-sans);background:var(--off-white);color:var(--black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.container{max-width:1600px;margin:0 auto}.header{background:var(--white);border-bottom:1px solid var(--mid-grey);z-index:100;position:sticky;top:0}.header-content{padding:var(--grid-4) var(--grid-6);justify-content:space-between;align-items:center;max-width:1600px;margin:0 auto;display:flex}.logo{align-items:center;gap:var(--grid-2);letter-spacing:-.02em;font-size:1.25rem;font-weight:600;display:flex}.logo-box{width:var(--grid-3);height:var(--grid-3);background:var(--accent-red);display:block}.header-right{align-items:center;gap:var(--grid-4);display:flex}.header-meta{gap:var(--grid-4);font-size:.875rem;font-family:var(--font-mono);color:var(--dark-grey);display:flex}.info-control{position:relative}.info-button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.info-icon{border:2px solid var(--dark-grey);width:24px;height:24px;font-family:var(--font-mono);color:var(--dark-grey);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.info-control:hover .info-icon,.info-control:focus-within .info-icon{background:var(--accent-red);border-color:var(--accent-red);color:var(--white)}.info-tooltip{margin-top:var(--grid-2);width:320px;padding:var(--grid-4);background:var(--black);color:var(--white);opacity:0;visibility:hidden;z-index:200;font-size:.875rem;line-height:1.6;transition:all .2s;position:absolute;top:100%;right:0;transform:translateY(-8px)}.info-tooltip:before{content:"";background:var(--black);width:12px;height:12px;position:absolute;top:-6px;right:8px;transform:rotate(45deg)}.info-control:hover .info-tooltip,.info-control:focus-within .info-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.info-tooltip strong{color:var(--negative-light)}.layout{grid-template-columns:280px 1fr;min-height:calc(100vh - 64px);display:grid}.sidebar{background:var(--white);border-right:1px solid var(--mid-grey);padding:var(--grid-6);gap:var(--grid-8);flex-direction:column;display:flex}.nav-section{animation:.4s cubic-bezier(.16,1,.3,1) slideUp}.nav-section:nth-child(2){animation-delay:.1s;animation-fill-mode:backwards}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.section-label{align-items:center;gap:var(--grid-2);text-transform:uppercase;letter-spacing:.1em;color:var(--dark-grey);margin-bottom:var(--grid-3);font-size:.75rem;font-weight:600;display:flex}.label-indicator{width:var(--grid-1);height:var(--grid-1);background:var(--accent-red)}.input-field{width:100%;padding:var(--grid-3);border:1px solid var(--mid-grey);background:var(--off-white);font-family:var(--font-mono);margin-bottom:var(--grid-3);font-size:.875rem;transition:all .2s}.input-field:focus{border-color:var(--black);background:var(--white);outline:none}.action-button{width:100%;padding:var(--grid-3);background:var(--black);color:var(--white);font-family:var(--font-sans);cursor:pointer;justify-content:center;align-items:center;gap:var(--grid-2);border:none;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.action-button:hover{background:var(--dark-grey)}.button-icon{font-size:1.25rem;line-height:1}.stock-grid{gap:var(--grid-2);flex-direction:column;display:flex}.stock-chip{padding:var(--grid-3);background:var(--light-grey);cursor:pointer;width:100%;min-height:44px;color:inherit;text-align:left;border:0;justify-content:space-between;align-items:center;transition:all .2s;display:flex;position:relative}.stock-chip:before{content:"";background:0 0;width:3px;transition:background .2s;position:absolute;top:0;bottom:0;left:0}.stock-chip:hover{background:var(--mid-grey)}.stock-chip.active{background:var(--white)}.stock-chip.active:before{background:var(--accent-red)}.chip-ticker,.chip-score{font-family:var(--font-mono);font-size:.875rem;font-weight:600}.chip-score.pos{color:var(--positive)}.chip-score.neg{color:var(--negative)}.chip-score.neu{color:var(--neutral)}.content{padding:var(--grid-8);gap:var(--grid-8);flex-direction:column;animation:.6s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.content-header{gap:var(--grid-2);flex-direction:column;display:flex}.header-row{justify-content:space-between;align-items:center;display:flex}.ticker-display{font-family:var(--font-mono);letter-spacing:-.02em;font-size:3rem;font-weight:700}.status-indicator{align-items:center;gap:var(--grid-2);color:var(--dark-grey);font-size:.875rem;display:flex}.status-indicator.degraded .indicator-dot{background:var(--warning)}.indicator-dot{width:var(--grid-1);height:var(--grid-1);background:var(--positive);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.meta-row{color:var(--dark-grey);gap:var(--grid-2);flex-wrap:wrap;font-size:.875rem;display:flex}.source-statuses{gap:var(--grid-1);margin-top:var(--grid-1);flex-wrap:wrap;display:flex}.source-badge{align-items:center;gap:var(--grid-1);border:1px solid var(--mid-grey);background:var(--white);min-height:28px;color:var(--dark-grey);border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.source-badge-dot{background:var(--positive);border-radius:50%;width:6px;height:6px}.source-badge.partial .source-badge-dot,.source-badge.stale .source-badge-dot{background:var(--warning)}.source-badge-count{font-family:var(--font-mono);color:var(--black);font-variant-numeric:tabular-nums}.separator{color:var(--mid-grey)}.score-section{background:var(--white);border:1px solid var(--mid-grey)}.score-container{padding:var(--grid-8)}.score-grid{gap:var(--grid-8);grid-template-columns:2fr 1fr;display:grid}.score-main{gap:var(--grid-3);flex-direction:column;display:flex}.score-label{text-transform:uppercase;letter-spacing:.1em;color:var(--dark-grey);font-size:.75rem;font-weight:600}.score-display{align-items:baseline;gap:var(--grid-2);display:flex}.score-display.positive{color:var(--positive)}.score-display.negative{color:var(--negative)}.score-sign{font-size:3rem;font-weight:300;font-family:var(--font-mono);line-height:1}.score-number{font-size:6rem;font-weight:700;font-family:var(--font-mono);line-height:1}.score-bar{margin-top:var(--grid-4)}.bar-track{height:var(--grid-1);background:var(--light-grey);position:relative;overflow:hidden}.bar-progress{height:100%;position:relative}.bar-progress.positive{background:var(--positive)}.bar-progress.negative{background:var(--negative)}.bar-progress:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s ease-in-out infinite slide;position:absolute;inset:0}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.metrics{gap:var(--grid-3);grid-template-rows:repeat(3,1fr);display:grid}.metric-box{background:var(--off-white);padding:var(--grid-4);gap:var(--grid-1);flex-direction:column;transition:background .2s;display:flex}.metric-box:hover{background:var(--light-grey)}.metric-value{font-size:2rem;font-weight:700;font-family:var(--font-mono);line-height:1}.metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--dark-grey);font-size:.75rem;font-weight:600}.sources-section{background:var(--white);border:1px solid var(--mid-grey);padding:var(--grid-8)}.section-title{align-items:center;gap:var(--grid-2);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--grid-6);font-size:.875rem;font-weight:600;display:flex}.title-accent{width:var(--grid-4);background:var(--accent-red);height:2px}.sources-list{gap:var(--grid-4);flex-direction:column;display:flex}.source-row{gap:var(--grid-6);padding:var(--grid-4);background:var(--off-white);width:100%;color:inherit;text-align:left;cursor:pointer;border:0;grid-template-columns:200px 1fr;align-items:center;transition:all .2s;display:grid}.source-row:hover{background:var(--light-grey);transform:translate(4px)}.source-info{gap:var(--grid-1);flex-direction:column;display:flex}.source-visualization,.viz-track,.viz-fill{display:block}.source-name{font-size:.875rem;font-weight:600}.source-count{font-size:.75rem;font-family:var(--font-mono);color:var(--dark-grey)}.source-visualization{flex:1}.viz-track{height:var(--grid-5);background:var(--light-grey);position:relative}.viz-fill{height:100%;padding-right:var(--grid-2);justify-content:flex-end;align-items:center;display:flex}.viz-fill.positive{background:var(--positive)}.viz-fill.negative{background:var(--negative)}.viz-label{font-size:.75rem;font-weight:700;font-family:var(--font-mono);color:var(--white)}.posts-section{background:var(--white);border:1px solid var(--mid-grey);padding:var(--grid-8)}.posts-list{gap:var(--grid-4);flex-direction:column;display:flex}.post-card{background:var(--off-white);padding:var(--grid-5);gap:var(--grid-3);border:1px solid #0000;flex-direction:column;transition:all .2s;display:flex}.post-card:hover{background:var(--light-grey);border-color:var(--mid-grey)}.post-header{justify-content:space-between;align-items:center;display:flex}.post-meta{gap:var(--grid-2);font-size:.75rem;font-family:var(--font-mono);color:var(--dark-grey);display:flex}.post-date,.post-source{color:var(--dark-grey)}.post-title a{color:inherit;text-underline-offset:4px;text-decoration-color:#0000;text-decoration-thickness:1px;transition:text-decoration-color .2s}.post-title a:hover,.post-title a:focus-visible{-webkit-text-decoration-color:var(--accent-red);text-decoration-color:var(--accent-red)}.post-sentiment{font-family:var(--font-mono);font-size:.875rem;font-weight:700}.post-sentiment.positive{color:var(--positive)}.post-sentiment.negative{color:var(--negative)}.post-title{color:var(--black);font-size:1rem;font-weight:600;line-height:1.4}.post-body{color:var(--dark-grey);font-size:.875rem;line-height:1.5}.post-tickers{gap:var(--grid-2);flex-wrap:wrap;display:flex}.post-ticker-tag{background:var(--mid-grey);padding:var(--grid-1) var(--grid-2);font-family:var(--font-mono);font-size:.75rem;font-weight:600}.post-sentiment-bar{background:var(--light-grey);height:4px;display:flex;overflow:hidden}.sentiment-segment{height:100%}.sentiment-segment.positive{background:var(--positive)}.sentiment-segment.neutral{background:var(--neutral)}.sentiment-segment.negative{background:var(--negative)}.no-posts{text-align:center;padding:var(--grid-8);color:var(--dark-grey);font-size:.875rem}.loader{justify-content:center;align-items:center;gap:var(--grid-2);min-height:120px;padding:var(--grid-6);color:var(--dark-grey);font-size:.875rem;display:flex}.loader-mark{background:var(--accent-red);width:10px;height:10px;animation:1.2s ease-in-out infinite loaderPulse}@keyframes loaderPulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}.sentiment-chart{width:100%;min-width:0}.error-message,.empty-message{max-width:65ch;padding:var(--grid-4);background:var(--light-grey);color:var(--dark-grey);font-size:.875rem}.error-message{color:#8b1a1a;background:#fff0f0}@media (width<=1200px){.score-grid{grid-template-columns:1fr}.metrics{grid-template-rows:auto;grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--mid-grey)}.stock-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.source-row{gap:var(--grid-3);grid-template-columns:1fr}}@media (width<=640px){.header-content{padding:var(--grid-2) var(--grid-3)}.header-meta{display:none}.info-tooltip{width:min(320px,100vw - 32px);right:-4px}.sidebar,.content{padding:var(--grid-4)}.ticker-display{font-size:2rem;line-height:1.1}.score-number{font-size:4rem}.score-sign{font-size:2rem}.metrics{grid-template-columns:1fr}.score-container,.sources-section,.posts-section{padding:var(--grid-4)}.header-row{align-items:flex-start;gap:var(--grid-3)}.status-indicator{white-space:nowrap}}@media (prefers-reduced-motion:reduce){.nav-section,.content,.indicator-dot,.loader-mark,.bar-progress:after{animation:none}.stock-chip,.source-row,.post-card,.info-icon,.info-tooltip{transition:none}}
