:root{--background:#000000;--surface:#1a1a1a;--text-primary:#ffffff;--text-secondary:#a0a0a0;--border:rgba(255,255,255,0.1);--primary:#f158ce;--primary-dark:#d94bb8;--accent:#ffffff;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--max-width:1200px;--border-radius:12px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.6;color:var(--text-primary);background-color:var(--background);overflow-x:hidden}a{color:var(--primary);font-weight:500}a,a:hover{text-decoration:none}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-md);font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--spacing-md)}button,input,select,textarea{font-family:var(--font-family)}.btn{display:inline-block;background-color:var(--primary);color:var(--text-primary);border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px rgba(241,88,206,.3)}.btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background-color:rgba(255,255,255,.05);transform:translateY(-2px);box-shadow:0 4px 8px rgba(255,255,255,.05)}.card{border-radius:16px;box-shadow:0 10px 25px rgba(255,255,255,.05);overflow:hidden}.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(255,255,255,.08)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 20px}input,select,textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);font-size:var(--font-size-md);color:var(--text-primary);transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(241,88,206,.15)}label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-primary)}.text-center{text-align:center}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.fade-in{animation:fadeIn .5s ease-out forwards}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgba(255,255,255,.03)}::-webkit-scrollbar-thumb{background-color:rgba(241,88,206,.4);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:rgba(241,88,206,.6)}@media (max-width:768px){:root{--spacing-lg:20px;--spacing-xl:28px}h1{font-size:1.75rem}h2{font-size:1.5rem}.container{padding:0 16px}}.container{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;padding:var(--spacing-lg);max-width:var(--max-width);margin:0 auto;width:100%}.header{padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.logo h1{font-size:var(--font-size-xl);margin:0;background:linear-gradient(45deg,var(--accent),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.logo .tagline{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:4px}.cta-button{background-color:var(--primary);color:var(--text-primary)!important;padding:8px 16px;border-radius:var(--border-radius);font-weight:600;transition:all .2s ease-in-out}.cta-button:hover{background-color:var(--primary-dark);transform:translateY(-1px);text-decoration:none!important;box-shadow:0 4px 8px rgba(241,88,206,.15)}.nav ul{display:flex;list-style:none}.nav li{margin-left:var(--spacing-lg)}.nav a{color:var(--text-primary);font-weight:500;transition:color .2s}.nav a:hover{color:var(--primary);text-decoration:none}.footer{padding:var(--spacing-lg);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.disclaimer{margin-top:var(--spacing-sm);font-style:italic;opacity:.9}.error-screen,.loading-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;text-align:center}.loader{border-top:4px solid var(--border);border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-screen h2{color:var(--error);margin-bottom:var(--spacing-md)}.error-screen button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--primary);color:var(--text-primary);border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:background-color .2s}.error-screen button:hover{background-color:var(--primary-dark)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.preferences-section{grid-column:1;grid-row:2}.asset-analysis-section{grid-column:1;grid-row:3}.market-visualizer{background-color:var(--surface);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:0 4px 12px rgba(255,255,255,.1);border:1px solid var(--border)}.market-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.market-card{background-color:var(--surface);border-radius:var(--border-radius);padding:var(--spacing-md);border:1px solid var(--border)}.market-card h3{font-size:var(--font-size-lg);border-bottom:1px solid var(--border);padding-bottom:var(--spacing-xs);color:var(--text-primary)}.asset-list,.market-card h3{margin-bottom:var(--spacing-md)}.asset-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.asset-name{font-weight:600}.asset-prediction,.metric-trend{padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;font-weight:500}.positive{background-color:rgba(16,185,129,.2);color:var(--success)}.negative{background-color:rgba(239,68,68,.2);color:var(--error)}.neutral{background-color:rgba(160,160,160,.2);color:var(--text-secondary)}.market-sentiment{margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}.main-metric{display:flex;align-items:center;margin-bottom:var(--spacing-sm)}.metric-value{font-size:var(--font-size-xl);font-weight:600;margin-right:var(--spacing-sm)}.metric-analysis{font-size:var(--font-size-sm);color:var(--text-secondary)}.correlation-panel{background-color:var(--surface);border-radius:var(--border-radius);padding:var(--spacing-md);margin-top:var(--spacing-md);border:1px solid var(--border)}.correlation-metrics{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.correlation-item{display:flex;align-items:center}.correlation-label{margin-right:var(--spacing-sm)}.correlation-value{padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;font-weight:500}.insights-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.insight-card{background-color:var(--surface);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:0 4px 8px rgba(255,255,255,.1);border:1px solid var(--border)}.insight-header{display:flex;align-items:center;margin-bottom:var(--spacing-sm)}.insight-number{background-color:var(--primary);color:var(--text-primary);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-sm)}.insight-label,.insight-number{font-size:var(--font-size-sm);font-weight:600}.insight-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.insight-content{line-height:1.6}.preferences-panel{background-color:var(--surface);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:0 4px 12px rgba(255,255,255,.1);border:1px solid var(--border)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500}.form-group input[type=text],.form-group select{width:100%;padding:var(--spacing-sm);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--border-radius);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-md)}.interest-options{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.interest-option{display:flex;align-items:center;cursor:pointer}.interest-option input[type=checkbox]{margin-right:var(--spacing-xs)}.save-button{background-color:var(--primary);color:var(--text-primary);border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover{background-color:var(--primary-dark)}.asset-lookup{background-color:var(--surface);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 4px 12px rgba(255,255,255,.1);border:1px solid var(--border)}.lookup-inputs{display:flex;gap:var(--spacing-md)}.lookup-inputs input,.lookup-inputs select{padding:var(--spacing-sm);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--border-radius);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-md)}.lookup-inputs select{min-width:160px}.lookup-inputs input{flex:1;min-width:0}.lookup-inputs button{background-color:var(--primary);color:var(--text-primary);border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.lookup-inputs button:hover{background-color:var(--primary-dark)}.lookup-inputs button:disabled{background-color:var(--text-secondary);cursor:not-allowed;opacity:.5}.asset-analysis-result{margin-top:var(--spacing-md);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-page{max-width:800px;margin:0 auto}.chat-heading{margin-bottom:var(--spacing-xl)}.chat-container{display:flex;flex-direction:column}.messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md)}.message{max-width:80%;padding:var(--spacing-md);border-radius:var(--border-radius);animation:messageFadeIn .3s ease-out;box-shadow:0 2px 4px rgba(255,255,255,.1)}@keyframes messageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{align-self:flex-end;border-bottom-right-radius:4px}.assistant-message{align-self:flex-start;border-bottom-left-radius:4px}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.message-sender{font-weight:600;color:var(--text-primary)}.message-time{color:var(--text-secondary);font-size:calc(var(--font-size-sm) - 1px)}.message-content{line-height:1.5}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background-color:var(--border);border-radius:50%;display:inline-block;animation:typing 1.4s ease-in-out infinite both}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6)}40%{transform:scale(1)}}.input-form{display:flex;border-top:1px solid var(--border)}.input-form,.input-form input{padding:var(--spacing-md);background-color:var(--surface)}.input-form input{flex:1;border:1px solid var(--border);border-radius:var(--border-radius);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-md);margin-right:var(--spacing-md)}.input-form button{background-color:var(--primary);color:var(--text-primary);border:none;border-radius:var(--border-radius);padding:0 var(--spacing-lg);font-weight:500;cursor:pointer;transition:background-color .2s}.input-form button:hover{background-color:var(--primary-dark)}.input-form button:disabled{background-color:var(--text-secondary);cursor:not-allowed;opacity:.5}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.insights-panel,.preferences-section{grid-column:1}.preferences-section{grid-row:3}.asset-analysis-section{grid-row:4}}@media (max-width:768px){.market-cards{grid-template-columns:1fr}.lookup-inputs{flex-direction:column}.lookup-inputs button,.lookup-inputs input,.lookup-inputs select{width:100%}.header{flex-direction:column;text-align:center;gap:var(--spacing-md)}.nav ul{justify-content:center}.nav li{margin:0 var(--spacing-md)}}.cache-status{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--surface);border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--text-secondary);border:1px solid var(--border)}.refresh-button{background-color:var(--primary);color:var(--text-primary);border:none;border-radius:var(--border-radius);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;transition:background-color .2s;font-weight:500}.refresh-button:hover{background-color:var(--primary-dark)}.chat-cache-status{max-width:800px;margin:0 auto var(--spacing-md) auto}.dashboard-header{margin-bottom:var(--spacing-xl);text-align:center}.dashboard-title{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);color:var(--text-primary);display:inline-block;position:relative}.dashboard-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:60px;height:3px;background-color:var(--primary)}.chat-description,.dashboard-description{max-width:600px;margin:0 auto var(--spacing-lg);color:var(--text-secondary);line-height:1.6}.chat-heading{text-align:center;margin-bottom:var(--spacing-sm)}.section-title{margin-bottom:var(--spacing-md);color:var(--text-primary);position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-5px;left:0;width:40px;height:3px;background-color:var(--primary)}.primary-button{background-color:var(--primary);color:var(--text-primary);border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-lg);font-weight:500;cursor:pointer;transition:all .2s ease}.primary-button:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 3px 8px rgba(241,88,206,.2)}.card{background-color:var(--surface);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:0 4px 12px rgba(255,255,255,.1);border:1px solid var(--border);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,255,255,.15)}.asset-analysis-result{line-height:1.6}.analysis-title{padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border)}.analysis-section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1)}.analysis-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.analysis-section-header{font-weight:600;color:var(--text-primary);background-color:var(--surface);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);margin:var(--spacing-md) 0 var(--spacing-sm) 0;display:block}.key-value-item{margin:var(--spacing-xs) 0;padding:var(--spacing-xs) 0;display:flex;align-items:baseline}.key{font-weight:600;margin-right:var(--spacing-xs);min-width:100px;color:var(--text-primary)}.value{flex:1}.percent-highlight[data-positive=true]{color:var(--success);background-color:rgba(16,185 kota,129,.1)}.percent-highlight[data-positive=false]{color:var(--error);background-color:rgba(239,68,68,.1)}.technical-label{font-weight:600;color:var(--primary)}.level-label{font-weight:600;color:var(--text-primary)}.trend{padding:0 var(--spacing-xs)}.trend-icon{display:inline-block;margin-left:var(--spacing-xs);font-weight:700}.trend-icon.positive{color:var(--success)}.trend-icon.negative{color:var(--error)}.note{font-size:.9em}.content-line{margin:var(--spacing-xs) 0;padding-left:var(--spacing-sm)}.list-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.indent-1{margin-left:var(--spacing-md)}.indent-2{margin-left:calc(var(--spacing-md) * 2)}.timeframe-label{font-weight:600;text-decoration:underline;margin-right:var(--spacing-xs)}.bottom-line{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border);font-weight:500}.asset-analysis-result{background-color:var(--surface);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:0 4px 12px rgba(255,255,255,.1);border:1px solid var(--border)}.analysis-title{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.analysis-question{font-style:italic;color:var(--text-secondary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border)}.analysis-content{line-height:1.6;color:var(--text-primary)}.section-header{font-weight:600;margin:var(--spacing-md) 0 var(--spacing-sm) 0;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--surface);border-radius:var(--border-radius);color:var(--text-primary);font-size:1.1em}.list-item{margin:var(--spacing-xs) 0;padding-left:var(--spacing-sm);position:relative}.list-item:before{content:"-";position:absolute;left:-8px;color:var(--text-primary)}.numbered-item{margin:var(--spacing-sm) 0;font-weight:500}.item-number{margin-right:var(--spacing-xs)}.bold-text,.item-number,.item-title{font-weight:600}.italic-text{font-style:italic}.number-highlight{background-color:rgba(241,88,206,.2);color:var(--text-primary)}.number-highlight,.percent-highlight{font-weight:600;padding:0 3px;border-radius:3px}.percent-highlight{background-color:rgba(16,185,129,.1);color:var(--success)}.trend{font-weight:600;padding:0 4px;border-radius:3px}.trend.bullish{background-color:rgba(16,185,129,.1);color:var(--success)}.trend.bearish{background-color:rgba(239,68,68,.1);color:var(--error)}.trend-up{color:var(--success);font-weight:700}.trend-down{color:var(--error);font-weight:700}.note{font-style:italic;color:var(--text-secondary)}.emphasis{font-weight:600;text-decoration:underline}.key-term{font-weight:600;color:var(--primary)}.emoji{font-size:1.2em;margin:0 2px}.analysis-paragraph{margin:var(--spacing-sm) 0;line-height:1.6}.list-container{margin:var(--spacing-sm) 0;padding-left:var(--spacing-sm)}.message-content .number-highlight{font-weight:600;background-color:rgba(241,88,206,.2);padding:0 3px;border-radius:3px;color:var(--text-primary)}.message-content .percent-highlight{font-weight:600;background-color:rgba(16,185,129,.1);padding:0 3px;border-radius:3px;color:var(--success)}.message-content .trend{font-weight:600;padding:0 4px;border-radius:3px}.message-content .trend.bullish{background-color:rgba(16,185,129,.1);color:var(--success)}.message-content .trend.bearish{background-color:rgba(239,68,68,.1);color:var(--error)}.message-content .trend-up{color:var(--success);font-weight:700}.message-content .trend-down{color:var(--error);font-weight:700}.message-content .note{font-style:italic;color:var(--text-secondary)}.message-content .chat-section-header{font-weight:600;margin:var(--spacing-sm) 0;padding:var(--spacing-xs) var(--spacing-sm);background-color:rgba(241,88,206,.15);border-radius:var(--border-radius);color:var(--text-primary)}.message-content .chat-list-item{margin:var(--spacing-xs) 0;padding-left:var(--spacing-sm);position:relative}.message-content .chat-list-item:before{content:"•";position:absolute;left:0;color:var(--primary)}.message-content .chat-numbered-item{margin:var(--spacing-xs) 0;padding-left:var(--spacing-sm)}.message-content .item-number{font-weight:600;margin-right:var(--spacing-xs)}.message-content strong{font-weight:600;color:var(--text-primary)}.message-content em{font-style:italic;color:var(--text-secondary)}.assistant-message{background-color:var(--surface);border:1px solid var(--border);max-width:85%}.user-message{background-color:var(--primary);color:var(--text-primary);max-width:85%}.messages{background-color:var(--background);padding:var(--spacing-md)}.chat-container{border-radius:var(--border-radius);overflow:hidden;background-color:var(--surface);height:600px;border:1px solid var(--border);box-shadow:0 4px 12px rgba(255,255,255,.1)}