:root{--bg-primary: #0D0D10;--bg-secondary: #1A1A1E;--bg-tertiary: #2A2A30;--text-primary: #FFFFFF;--text-secondary: #A0A0A5;--accent-green: #00FF88;--accent-red: #FF4444;--border-color: #333333;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary)}.logo-section{display:flex;align-items:center;justify-content:flex-start}.title-section{display:flex;align-items:center;justify-content:center}.logo-image{height:144px;width:auto;object-fit:contain}.logo-text-image{height:96px;width:auto;object-fit:contain}.search-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.search-container{display:flex;align-items:center;background-color:var(--bg-secondary);border-radius:8px;padding:.75rem 1rem;border:1px solid var(--border-color);transition:border-color .2s}.search-container:focus-within{border-color:var(--accent-green)}.search-icon{color:var(--text-secondary);margin-right:.75rem}.search-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:1rem;outline:none}.search-input::placeholder{color:var(--text-secondary)}.quick-links{display:flex;gap:.5rem;flex-wrap:wrap}.quick-link-btn{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid transparent;padding:.4rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600;transition:all .2s}.quick-link-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.ticker-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem}.ticker-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem}.ticker-symbol{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}.ticker-badge{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--border-color)}.ticker-name{color:var(--text-secondary);font-size:1rem}.ticker-price-container{text-align:right}.ticker-price{font-size:3rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:.25rem}.ticker-change{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;font-weight:600;font-size:1rem}.ticker-change.positive{color:var(--accent-green)}.ticker-change.negative{color:var(--accent-red)}.skeleton-line{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-line.title{width:150px;height:3rem;margin-bottom:.5rem}.skeleton-line.subtitle{width:100px;height:1.25rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;height:400px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.chart-title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.chart-ranges{display:flex;gap:.25rem}.range-btn{color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.range-btn:hover{color:var(--text-primary)}.range-btn.active{background-color:var(--accent-green);color:var(--bg-primary)}.chart-wrapper{flex:1;position:relative;width:100%}.skeleton-chart{width:100%;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.news-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;height:400px;overflow:hidden}.news-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-tertiary)}.news-icon{color:var(--text-secondary)}.news-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.news-list{flex:1;overflow-y:auto;padding:1rem 1.5rem}.news-item{display:block;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color);transition:opacity .2s}.news-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.news-item:hover{opacity:.8}.news-headline{font-size:.95rem;font-weight:600;line-height:1.4;margin-bottom:.5rem;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-meta{display:flex;align-items:center;gap:.5rem}.news-source{font-size:.75rem;color:var(--text-secondary);font-weight:500}.news-time{font-size:.75rem;color:var(--text-secondary)}.news-time:before{content:"•";margin-right:.5rem}.no-news{color:var(--text-secondary);font-size:.9rem;text-align:center;padding-top:2rem}.skeleton-line.headline{width:100%;height:1rem;margin-bottom:.25rem}.skeleton-line.headline-short{width:80%;height:1rem;margin-bottom:.5rem}.skeleton-meta{gap:.5rem}.skeleton-line.source{width:60px;height:.75rem}.skeleton-line.time{width:40px;height:.75rem}.app-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%;max-width:100%;margin:0 auto;padding:2rem}.app-footer{margin-top:2rem;padding:1rem;background-color:var(--surface-light);color:var(--text-secondary);font-size:2.4rem;text-align:center}.dashboard-grid{display:grid;grid-template-columns:3fr 1fr;gap:1.5rem;align-items:start}@media (max-width: 900px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 600px){.main-content{padding:1rem}.ticker-header{flex-direction:column;align-items:flex-start;gap:1rem}.ticker-price-container{text-align:left}.ticker-change{justify-content:flex-start}}
