body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.news-container{display:flex;flex-direction:column;width:100%}.news-header{margin-bottom:2rem;text-align:center}.news-header h1{color:#c7d2fe;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.news-header p{color:#a5b4fc;font-size:1.1rem;margin-top:0}.controls{align-items:center;gap:1rem;justify-content:space-between;margin-top:1.5rem;padding:0 1rem}.category-tabs,.controls{display:flex;flex-wrap:wrap}.category-tabs{gap:.5rem}.tab{background-color:#ffffff1a;border:1px solid #0000;border-radius:999px;color:#e0e0e0;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease-in-out}.tab:hover{background-color:#fff3}.tab.active{background-color:#f0f0f0;color:#1a1a1d;font-weight:700}.search-container{align-items:center;background-color:#ffffffe6;border-radius:999px;display:flex;flex-grow:1;max-width:400px;padding:.25rem .5rem .25rem 1rem}.search-container input{background:#0000;border:none;color:#333;flex-grow:1;font-size:1rem;outline:none}.search-button{background:none;border:none;cursor:pointer;padding:.5rem}.search-icon{fill:#555;height:24px;width:24px}.news-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.news-card{background:#1e293bb3;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.news-card:hover{box-shadow:0 12px 24px #0006;transform:translateY(-5px)}.news-image{background-position:50%;background-size:cover;height:200px}.news-image.placeholder{align-items:center;background-color:#334155;display:flex;justify-content:center}.image-placeholder-icon{font-size:3rem;opacity:.5}.news-content{display:flex;flex-direction:column;flex-grow:1;padding:1rem}.news-category{align-self:flex-start;background-color:#4f46e5;border-radius:999px;color:#fff;font-size:.75rem;font-weight:700;margin-bottom:.75rem;padding:.25rem .75rem;text-transform:uppercase}.news-title a{color:#f0f0f0;font-size:1.1rem;font-weight:600;text-decoration:none}.news-title a:hover{text-decoration:underline}.news-description{color:#adb5bd;flex-grow:1;font-size:.9rem;margin-top:.5rem}.news-footer{align-items:center;border-top:1px solid #64748b4d;color:#868e96;display:flex;font-size:.8rem;justify-content:space-between;margin-top:1rem;padding-top:.75rem}.skeleton{background-color:#1e293bb3}.skeleton-image{background-color:#475569;height:200px}.skeleton-content{padding:1rem}.skeleton-line{background-color:#475569;border-radius:4px;height:1rem;margin-bottom:.75rem}.skeleton-line:last-child{width:70%}.error-container,.no-results{color:#f0f0f0;padding:2rem;text-align:center}.retry-button{background-color:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1.5rem}@media (max-width:768px){.controls{align-items:stretch;flex-direction:column}.news-grid{grid-template-columns:1fr}}.crypto-container{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#151c2eb3;border:1px solid #64748b4d;border-radius:24px;color:#f0f0f0;display:flex;flex-direction:column;font-family:Poppins,sans-serif;overflow:hidden}.crypto-header{background:linear-gradient(90deg,#1e3a8a,#34d399);color:#fff;padding:24px;text-align:center;text-shadow:0 2px 8px #0000004d}.crypto-header h1{font-size:2rem;font-weight:700;margin:0}.crypto-header p{font-size:1.1rem;margin:8px 0 0;opacity:.9}.crypto-main{padding:24px}.controls-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:24px}.search-wrapper{flex:1 1;min-width:250px;position:relative}.search-icon{color:#94a3b8;height:20px;left:16px;position:absolute;top:50%;transform:translateY(-50%);width:20px}.search-input{background-color:#1e293b;border:1px solid #475569;border-radius:999px;color:#f0f0f0;font-size:1rem;outline:none;padding:12px 16px 12px 48px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#4f46e5}.favorites-button{align-items:center;background-color:#334155;border:1px solid #475569;border-radius:999px;color:#e0e0e0;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.favorites-button:hover{background-color:#475569}.favorites-button.active{background-color:#4f46e5}.crypto-content-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:350px 1fr;min-height:500px}.coin-list-panel{background-color:#0f172acc;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.coin-list-header{background-color:#0003;border-bottom:1px solid #475569;color:#e2e8f0;font-weight:600;padding:16px}.coin-list-scroll{max-height:600px;overflow-y:auto}.coin-list-item{align-items:center;border-bottom:1px solid #334155;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background-color .2s}.coin-list-item:hover{background-color:#ffffff0d}.coin-list-item.active{background-color:#4f46e533}.coin-icon{border-radius:50%;height:32px;width:32px}.coin-info{flex:1 1;min-width:0}.coin-name-price{display:flex;font-weight:600;justify-content:space-between}.coin-name-price span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coin-symbol-change{color:#94a3b8;display:flex;font-size:.9rem;justify-content:space-between;margin-top:4px}.favorite-star-button{background:none;border:none;cursor:pointer;padding:4px}.favorite-star-button svg{stroke:#94a3b8;height:20px;transition:all .2s ease;width:20px}.favorite-star-button.favorited svg{fill:gold;stroke:gold}.loading-text,.no-results-message{color:#94a3b8;padding:20px;text-align:center}.chart-panel{background-color:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;color:#1e293b;display:flex;flex-direction:column}.chart-header{border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:24px}.chart-coin-info{align-items:center;display:flex;gap:16px}.chart-coin-icon{height:48px;width:48px}.chart-coin-name{color:#1e293b;font-size:1.5rem;font-weight:700;gap:10px;margin:0}.chart-coin-name,.coin-rank{align-items:center;display:flex}.coin-rank{color:#64748b;font-size:1rem;font-weight:500;gap:5px}.chart-coin-price{align-items:baseline;color:#1e293b;display:flex;font-size:2rem;font-weight:700;gap:12px;margin-top:4px}.chart-coin-price span{font-size:1rem;font-weight:500}.chart-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.time-range-button{background-color:#f1f5f9;border:none;border-radius:20px;color:#1e293b;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px}.time-range-button.active{background-color:#4f46e5;color:#fff}.ai-button{align-items:center;background:linear-gradient(45deg,#4f46e5,#a259ff);border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:5px;padding:8px 16px}.ai-button:disabled{cursor:not-allowed;opacity:.7}.ai-analysis-section{border-bottom:1px solid #e2e8f0;padding:24px}.ai-analysis-section h3{color:#64748b;font-size:1rem;font-weight:600;letter-spacing:.5px;margin-top:0;text-transform:uppercase}.ai-analysis-content h1{font-size:1.5rem;font-weight:700}.ai-analysis-content h1,.ai-analysis-content h2{color:#1e293b;margin-bottom:.5em;margin-top:1.5em}.ai-analysis-content h2{font-size:1.25rem;font-weight:600}.ai-analysis-content p{color:#475569;line-height:1.7;margin-bottom:1em}.ai-analysis-content strong{color:#1e293b;font-weight:600}.ai-analysis-content ul{color:#475569;list-style-type:none;margin-bottom:1em;padding-left:0}.ai-analysis-content li{margin-bottom:.5em;padding-left:1.5em;position:relative}.ai-analysis-content li:before{color:#4f46e5;content:"■";font-size:.8em;left:0;position:absolute;top:.3em}.chart-wrapper{flex:1 1;min-height:300px;padding:24px;position:relative}.metric-grid{grid-gap:16px;border-top:1px solid #e2e8f0;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);padding:24px}.metric-card{background-color:#f8fafc;border-radius:12px;padding:16px}.metric-label{color:#64748b;font-size:.9rem;margin-bottom:8px}.metric-value{word-wrap:break-word;color:#1e293b;font-size:1.2rem;font-weight:600}@media (max-width:1024px){.crypto-content-grid{grid-template-columns:1fr}.coin-list-scroll{max-height:300px}}@media (max-width:768px){.crypto-main{padding:16px}.crypto-header h1{font-size:1.8rem}.crypto-header p{font-size:1rem}.controls-container{align-items:stretch;flex-direction:column}.chart-header{align-items:flex-start;flex-direction:column;padding:16px}.chart-coin-price{font-size:1.75rem}.chart-wrapper{padding:16px 8px}.ai-analysis-section{padding:16px}.metric-grid{gap:12px;grid-template-columns:1fr;padding:16px}.metric-value{font-size:1.1rem}}.weather-container{color:#e0f7fa;display:flex;flex-direction:column;font-family:Poppins,sans-serif;gap:1.5rem;padding:1rem}.weather-header{align-items:center;border-bottom:1px solid #00bfff4d;display:flex;flex-wrap:wrap;gap:1rem;grid-column:1/-1;justify-content:space-between;padding-bottom:1rem}.weather-title{color:#0fc;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;letter-spacing:1px;margin:0;text-shadow:0 0 8px #00ffffe6}.location-button{background:linear-gradient(45deg,#4f46e5,#a259ff);border:none;border-radius:999px;box-shadow:0 4px 15px #4f46e566;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.2rem;transition:all .2s ease-in-out}.location-button:hover{box-shadow:0 6px 20px #4f46e580;transform:translateY(-2px)}.location-button:disabled{cursor:not-allowed;opacity:.6}.weather-card{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0f172ab3;border:1px solid #00bfff33;border-radius:16px;padding:1.5rem}.card-title{color:#0fc;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;letter-spacing:1px;margin-bottom:1.5rem;margin-top:0;text-shadow:0 0 5px #00ffffb3;text-transform:uppercase}.location-selector-card{grid-column:1/-1}.location-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.location-grid label{color:#bbdefb;display:block;font-size:.9rem;margin-bottom:.5rem}.location-grid select{background-color:#00001480;border:1px solid #2a5298;border-radius:8px;color:#e0f7fa;cursor:pointer;padding:.75rem;width:100%}.current-weather-top{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem;justify-content:space-between;margin-bottom:1.5rem}.current-weather-location h2{color:#fff;font-size:2rem;font-weight:700;margin:0 0 .25rem}.current-weather-location p{color:#bbdefb;margin:0}.current-weather-temp{text-align:left}.current-weather-temp .temp{color:#0fc;font-size:3rem;font-weight:700;margin:0;text-shadow:0 0 8px #0ffc}.current-weather-temp .description{align-items:center;color:#bbdefb;display:flex;gap:.5rem;justify-content:flex-start;text-transform:capitalize}.current-weather-main-grid{display:flex;flex-direction:column;gap:1.5rem}.weather-animation-container{align-items:center;background-color:#0000144d;border-radius:12px;display:flex;justify-content:center;min-height:180px;width:100%}.details-grid,.details-grid-secondary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.detail-item{align-items:center;background-color:#00142880;border-radius:12px;color:#bbdefb;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.detail-item svg{fill:#0fc;height:32px;width:32px}.detail-item .value{color:#e0f7fa;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700}.detail-item-small{align-items:center;background-color:#00142880;border-radius:12px;color:#bbdefb;display:flex;flex-direction:column;font-size:.9rem;gap:.25rem;justify-content:center;padding:.75rem}.detail-item-small svg{stroke:#0fc;height:32px;margin-bottom:.25rem;width:32px}.detail-item-small .value{color:#e0f7fa;font-family:Courier New,monospace;font-weight:700}.full-width-chart-card,.hourly-forecast-card{grid-column:1/-1}.hourly-forecast-scroll{display:flex;gap:1rem;overflow-x:auto;padding:.75rem .25rem}.hourly-item{background-color:#00142880;border-radius:12px;min-width:90px;padding:1rem;text-align:center}.hourly-time{color:#bbdefb;font-size:.9rem;margin:0 0 .5rem}.hourly-icon{margin-bottom:.5rem}.hourly-temp{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.hourly-precipitation{align-items:center;color:#a0d0ff;display:flex;font-size:.8rem;gap:3px;justify-content:center;opacity:.8}.forecast-chart-container{height:300px}.error-container,.loading-container{background-color:#0f172acc;border-radius:16px;padding:3rem;text-align:center}.error-container{border:1px solid #f55;color:#f88}.spinner{animation:spin 1s linear infinite;border:5px solid #ffffff4d;border-radius:50%;border-top-color:#0fc;display:inline-block;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.hourly-forecast-scroll::-webkit-scrollbar{height:8px}.hourly-forecast-scroll::-webkit-scrollbar-track{background:#00142880;border-radius:4px}.hourly-forecast-scroll::-webkit-scrollbar-thumb{background:#2a5298;border-radius:4px}.hourly-forecast-scroll::-webkit-scrollbar-thumb:hover{background:#4f46e5}@media (min-width:768px){.weather-card{padding:1.5rem}.weather-title{font-size:1.8rem}.location-grid{grid-template-columns:repeat(3,1fr)}.current-weather-top{align-items:flex-start;flex-direction:row}.current-weather-temp{text-align:right}.current-weather-temp .description{justify-content:flex-end}.current-weather-temp .temp{font-size:3.5rem}.details-grid,.details-grid-secondary{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.current-weather-main-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr}.detail-item svg,.detail-item-small svg{height:24px;width:24px}}.footer{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#151c2e80;border-radius:24px;border-top:1px solid #64748b4d;box-shadow:0 8px 32px #0003;margin:24px auto;max-width:1200px;padding:20px 30px;position:relative;width:95%;z-index:2}.footer-content{align-items:center;display:flex;flex-direction:column;gap:1rem;text-align:center}.social-links{display:flex;gap:1.5rem}.social-links a{color:#a5b4fc;font-size:2rem;transition:color .2s ease-in-out,transform .2s ease-in-out}.social-links a:hover{color:#0fc;transform:scale(1.1)}.attribution p,.copyright p{color:#94a3b8;font-size:.9rem;margin:0}.attribution a{color:#a5b4fc;font-weight:500;text-decoration:none;transition:color .2s ease}.attribution a:hover{color:#e0f7fa;text-decoration:underline}@media (max-width:768px){.footer{padding:15px 20px;width:calc(100% - 20px)}.attribution p,.copyright p{font-size:.8rem}}.text-rotate-container{align-items:center;color:#fff;display:flex;font-size:3rem;font-weight:700;height:60px;justify-content:center;letter-spacing:1px;margin:0;position:relative;text-shadow:0 2px 8px #00000080}.text-rotate-word-wrapper{display:flex;flex-wrap:wrap;position:relative;white-space:pre-wrap}.text-rotate-word{display:inline-flex;overflow:hidden}.text-rotate-element{color:#0fc;display:inline-block;text-shadow:0 0 8px #00ffffe6}.text-rotate-space{white-space:pre}@media (max-width:768px){.text-rotate-container{font-size:2.5rem;height:50px}}.shiny-text{-webkit-text-fill-color:#0000;animation:shine 5s linear infinite;background:linear-gradient(120deg,#fff0 30%,#fffc 50%,#fff0 70%);-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:#c7d2fe;font-size:1.1rem;margin-top:8px;opacity:.8}@keyframes shine{0%{background-position:100% 0}to{background-position:-100% 0}}.app-root{min-height:100vh;position:relative}.app-header{padding:40px 20px 20px;position:relative;text-align:center;z-index:2}.title-container{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.app-header h1{color:#fff;font-size:3rem;font-weight:700;letter-spacing:1px;margin:0;text-shadow:0 2px 8px #00000080}.content-layer{align-items:center;flex-grow:1;gap:32px;padding:0 20px 40px;position:relative;z-index:1}.component-wrapper,.content-layer{display:flex;flex-direction:column}.component-wrapper{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#151c2e99;border:1px solid #64748b4d;border-radius:24px;box-shadow:0 8px 32px #0000004d;max-width:1200px;padding:15px;width:95%}@media (max-width:768px){.app-header h1{font-size:2.5rem}.content-layer{gap:24px;padding:0 10px 24px}.component-wrapper{padding:10px;width:100%}}
/*# sourceMappingURL=main.da9a5b0b.css.map*/