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}.App{display:flex;flex-direction:column;min-height:100vh;text-align:center}.App-header{background-color:#282c34;color:#fff;padding:20px}.App-header h1{font-size:2.5rem;margin:0 0 10px}.App-header p{font-size:1.1rem;margin:0;opacity:.8}.App-main{flex:1 1;margin:0 auto;max-width:1400px;padding:20px;width:100%}.App-footer{background-color:#f5f5f5;border-top:1px solid #ddd;color:#666;font-size:.9rem;padding:15px}.loading-container{color:#666;padding:50px}.error-banner{align-items:center;background-color:#fee;border:1px solid #fcc;border-radius:5px;color:#c33;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.retry-button{background-color:#c33;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.retry-button:hover{background-color:#a22}.data-controls{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:25px;padding:20px}.controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.snapshot-selector{align-items:center;display:flex;gap:10px}.snapshot-selector label{color:#495057;font-weight:600}.snapshot-selector select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;min-width:200px;padding:8px 12px}.action-buttons{display:flex;gap:10px}.refresh-button,.scrape-button{border:none;border-radius:4px;cursor:pointer;font-weight:600;padding:10px 20px;transition:background-color .2s}.scrape-button{background-color:#007bff;color:#fff}.scrape-button:hover:not(:disabled){background-color:#0056b3}.scrape-button:disabled{background-color:#6c757d;cursor:not-allowed}.refresh-button{background-color:#6c757d;color:#fff}.refresh-button:hover{background-color:#545b62}.scrape-message{border-radius:4px;font-weight:500;margin-top:15px;padding:10px}.scrape-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.scrape-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.data-info{background-color:#e9ecef;border-radius:4px;color:#6c757d;font-size:.9rem;margin-top:15px;padding:10px}.significant-moves{background-color:#fff;border-left:4px solid #28a745;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:20px}.significant-moves h3{color:#495057;font-size:1.2rem;margin:0 0 15px}.no-moves{color:#6c757d;font-style:italic;margin:0}.moves-list{display:flex;flex-direction:column;gap:10px}.move-item{align-items:center;background-color:#f8f9fa;border-left:3px solid #28a745;border-radius:6px;color:#495057;display:flex;font-size:.95rem;gap:10px;padding:10px}.move-icon{font-size:1.2rem}.summary-and-predictions{grid-gap:25px;align-items:stretch;display:grid;gap:25px;grid-template-columns:1fr 1fr;margin-bottom:25px}@media (max-width:1024px){.summary-and-predictions{gap:20px;grid-template-columns:1fr}}.timeline-summary .predictions-summary{margin-bottom:0}.predictions-detail .predictions-panel,.predictions-summary{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:100%;padding:20px}.predictions-summary{border-left:4px solid #007bff;display:flex;flex-direction:column;margin-bottom:25px}.predictions-summary h3{color:#495057;font-size:1.2rem;margin:0 0 12px}.timeline-list{display:flex;flex:1 1;flex-direction:column;gap:10px;justify-content:space-between;margin:0 0 12px}.timeline-card{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#495057;display:flex;flex:1 1;font-size:.9rem;font-weight:500;line-height:1.3;padding:10px}.timeline-note{color:#6c757d;font-size:.9rem;font-style:italic;margin:0}.rba-meetings-section{border-top:1px solid #e9ecef;margin-top:20px;padding-top:15px}.rba-meetings-section h4{color:#495057;font-size:1rem;font-weight:600;margin:0 0 10px}.meetings-list{display:flex;flex-direction:column;gap:6px}.meeting-date{background-color:#e7f3ff;border-left:3px solid #007bff;border-radius:4px;color:#495057;font-size:.85rem;font-weight:500;padding:6px 10px}.chart-section,.second-chart-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:20px}.predictions-panel h3{color:#495057;font-size:1.2rem;margin:0 0 15px}.predictions-list{display:flex;flex-direction:column;gap:10px}.prediction-card-compact{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:10px}.prediction-header-compact{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.target-reduction-compact{color:#dc3545;font-size:.95rem;font-weight:700}.predicted-date-compact{color:#495057;font-size:.9rem;font-weight:600}.confidence-score-compact{border-radius:8px;font-size:.8rem;font-weight:500;padding:2px 6px}.confidence-score-compact.high{background-color:#d4edda;color:#155724}.confidence-score-compact.medium{background-color:#fff3cd;color:#856404}.confidence-score-compact.low{background-color:#f8d7da;color:#721c24}.prediction-commentary-compact{color:#6c757d;font-size:.8rem;line-height:1.3}.data-summary{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.data-summary h3{color:#495057;margin:0 0 20px}.summary-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat{display:flex;flex-direction:column;gap:5px}.stat label{color:#6c757d;font-size:.9rem;font-weight:600}.stat span{color:#495057;font-size:1.2rem;font-weight:700}.reduction-positive{color:#28a745!important}.reduction-negative{color:#dc3545!important}.certainty-high{color:#28a745!important}.certainty-low{color:#dc3545!important}.expected-rates-chart,.reduction-chart{overflow:visible;width:100%}.reduction-chart{height:500px}.expected-rates-chart{height:400px}.reduction-chart .js-plotly-plot,.reduction-chart .plotly{height:100%!important;width:100%!important}.chart-empty,.chart-error,.chart-loading{align-items:center;color:#6c757d;display:flex;font-size:1.1rem;height:400px;justify-content:center}.chart-error{color:#dc3545}@media (max-width:768px){.App-main{padding:15px}.controls-row,.snapshot-selector{align-items:stretch;flex-direction:column}.snapshot-selector select{min-width:auto}.summary-stats{grid-template-columns:1fr}.App-header h1{font-size:2rem}.App-header p{font-size:1rem}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.login-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:20px;max-width:400px;padding:40px;width:100%}.login-form h2{color:#333;margin-bottom:10px}.login-form p{color:#666;font-size:14px;margin-bottom:30px}.form-group{margin-bottom:20px}.password-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:16px;padding:12px;width:100%}.password-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.login-button{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px;transition:background-color .2s;width:100%}.login-button:hover{background:#5a6fd8}.error-message{color:#e74c3c;font-size:14px;margin-bottom:15px;text-align:center}*{box-sizing:border-box;margin:0;padding:0}.landing-page{background:linear-gradient(135deg,#1e40af,#60a5fa);color:#2c3e50;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;min-height:100vh;padding-top:50px}.sticky-bar{align-items:center;background:linear-gradient(135deg,#1e40af,#3b82f6);box-shadow:0 2px 10px #0003;color:#fff;display:flex;gap:20px;justify-content:center;left:0;padding:12px 20px;position:fixed;right:0;text-align:center;top:0;z-index:1000}.sticky-bar-text{font-size:16px;font-weight:600}.sticky-bar-button{background:#fff;border-radius:25px;color:#1e40af;font-weight:700;padding:8px 20px;text-decoration:none;transition:all .3s ease}.sticky-bar-button:hover{box-shadow:0 5px 15px #0003;transform:scale(1.05)}.container{margin:0 auto;max-width:1200px;padding:20px}.logo{color:#fff;font-size:28px;font-weight:700;padding:30px 0 10px;text-shadow:2px 2px 4px #0003}.hero,.logo{text-align:center}.hero{background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026;margin:20px 0 40px;overflow:hidden;padding:60px 40px;position:relative}.hero:before{background:radial-gradient(circle,#3b82f61a 0,#0000 70%);border-radius:50%;content:"";height:400px;position:absolute;right:-10%;top:-50%;width:400px}.badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:50px;color:#fff;display:inline-block;font-size:14px;font-weight:600;margin-bottom:20px;padding:8px 20px;text-align:center}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.hero h1{color:#1a202c;font-size:48px;font-weight:800;line-height:1.2;margin-bottom:20px;text-align:center}.subtitle{color:#4a5568;font-size:24px;font-weight:500;margin-bottom:30px;text-align:center}.pain-point{background:#fef5e7;border-left:4px solid #f39c12;border-radius:8px;margin:30px auto;max-width:800px;padding:20px;text-align:left}.pain-point h3{color:#e67e22;font-size:20px;margin-bottom:10px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:40px 0}.stat-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;padding:30px;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e40af,#3b82f6);-webkit-background-clip:text;font-size:36px;font-weight:800;margin-bottom:10px}.stat-label{color:#718096;font-size:16px}.features{background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026;margin:40px 0;padding:50px 40px}.feature-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:40px}.feature{background:#f7fafc;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.feature:hover{background:linear-gradient(135deg,#3b82f61a,#60a5fa1a);transform:translateY(-3px)}.feature-icon{align-items:center;background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:12px;display:flex;font-size:24px;height:50px;justify-content:center;margin:0 auto 15px;width:50px}.feature h3{color:#2d3748;font-size:20px;margin-bottom:10px;text-align:center}.feature p{color:#4a5568;line-height:1.6;text-align:center}.signup-section{background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:20px;color:#fff;margin:40px 0;overflow:hidden;padding:50px 40px;position:relative;text-align:center}.signup-section:before{background:#ffffff1a;border-radius:50%;content:"";height:300px;left:-10%;position:absolute;top:-50%;width:300px}.signup-section h2{font-size:36px;margin-bottom:20px;position:relative}.form-container{margin:30px auto;max-width:500px;position:relative}.email-form{display:flex;gap:10px;margin-bottom:20px}.email-input{flex:1 1;outline:none;padding:15px 20px}.email-input,.submit-btn{border:none;border-radius:50px;font-size:16px}.submit-btn{background:#2d3748;color:#fff;cursor:pointer;font-weight:600;padding:15px 30px;transition:all .3s ease}.submit-btn:hover{background:#1a202c;transform:scale(1.05)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-disclaimer{font-size:14px;opacity:.9}.error-message{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border-radius:8px;color:#ffe6e6;margin:10px 0;padding:10px}.success-message-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:15px;padding:30px}.success-icon{font-size:48px;margin-bottom:15px}.success-message-box h3{font-size:24px;margin-bottom:15px}.free-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50px;display:inline-block;font-size:18px;font-weight:600;margin-top:20px;padding:10px 25px}.report-preview{background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026;margin:40px 0;padding:40px}.report-sample{background:#f8f9fa;border:2px solid #e2e8f0;border-radius:12px;margin-left:auto;margin-right:auto;margin-top:30px;max-width:700px;padding:30px}.report-header{background:#f39c12;border-radius:8px 8px 0 0;color:#fff;margin:-30px -30px 20px;padding:20px;text-align:center}.report-header h3{font-size:22px;margin-bottom:5px}.subtitle-report{font-size:14px;opacity:.95}.confidence-section{background:#fff;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.confidence-label{background:#f39c12;border-radius:20px;color:#fff;display:inline-block;font-size:12px;font-weight:600;margin-bottom:15px;padding:5px 15px}.market-stats{display:flex;justify-content:space-around;margin:20px 0}.market-stat{text-align:center}.market-stat-value{color:#2d3748;font-size:28px;font-weight:700}.market-stat-label{color:#718096;font-size:12px;text-transform:uppercase}.insights-section{margin-top:20px}.insight-box{background:#fffbf0;border-left:3px solid #f39c12;border-radius:5px;margin:10px 0;padding:15px}.forecast-section{margin-top:20px}.forecast-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;margin:10px 0;padding:15px}.forecast-date{color:#2d3748;font-weight:600}.confidence-badge{border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:5px 12px}.confidence-high{background:#48bb78}.confidence-medium{background:#f39c12}.testimonials{background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026;margin:40px 0;padding:50px 40px}.testimonial-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:40px}.testimonial{background:#f7fafc;border-radius:12px;padding:25px;position:relative;text-align:center}.testimonial:before{color:#3b82f6;content:"";font-size:60px;left:20px;opacity:.3;position:absolute;top:10px}.testimonial-text{color:#4a5568;margin-bottom:15px;position:relative;text-align:center;z-index:1}.testimonial-author{color:#2d3748;font-weight:600;text-align:center}.footer-cta{color:#fff;padding:40px;text-align:center}.footer-cta h2{font-size:32px;margin-bottom:20px}.footer-cta-subtitle{font-size:18px;margin-bottom:10px;opacity:.9}.footer-cta-free{font-size:20px;font-weight:700;margin-bottom:20px}.footer-cta-join{font-size:16px;margin-top:20px;opacity:.9}.cta-button{background:#fff;border-radius:50px;color:#1e40af;display:inline-block;font-size:18px;font-weight:600;padding:15px 40px;text-decoration:none;transition:all .3s ease}.cta-button:hover{box-shadow:0 10px 30px #0003;transform:scale(1.05)}@media (max-width:768px){.sticky-bar{flex-direction:column;gap:10px;padding:10px}.sticky-bar-text{font-size:14px}.landing-page{padding-top:80px}.logo{font-size:24px}.hero h1{font-size:32px}.subtitle{font-size:18px}.features,.hero,.report-preview,.signup-section,.testimonials{padding:30px 20px}.email-form{flex-direction:column}.submit-btn{width:100%}.market-stats{flex-direction:column;gap:15px}.feature-grid{grid-template-columns:1fr}}.newsletter-sample{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;padding:30px}.newsletter-header{background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:8px;color:#fff;margin-bottom:30px;padding:30px;text-align:center}.newsletter-header h1{font-size:2em;font-weight:700;margin:0 0 10px}.newsletter-subtitle{font-size:1.1em;margin:0;opacity:.9}.newsletter-date{font-size:.95em;margin-top:10px;opacity:.8}.newsletter-section-title{border-bottom:3px solid #e74c3c;color:#2c3e50;font-size:1.5em;font-weight:600;margin-bottom:20px;margin-top:40px;padding-bottom:10px}.big-picture-section{background:#ecf0f1;border-left:5px solid #e74c3c;border-radius:8px;margin:25px 0;padding:25px}.newsletter-note{color:#7f8c8d;font-size:.95em;font-style:italic;margin:15px 0}.newsletter-meeting-item{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:15px 0;padding:20px}.newsletter-meeting-date{color:#e67e22;font-size:1.1em;font-weight:700;margin-bottom:10px}.newsletter-meeting-change{color:#2c3e50;font-size:1.1em;font-weight:700;margin:5px 0}.newsletter-meeting-meaning{color:#7f8c8d;margin-top:10px}.newsletter-confidence-badge{border-radius:20px;display:inline-block;font-size:.9em;font-weight:700;padding:8px 16px;text-transform:uppercase}.newsletter-likely{background:#d4edda;color:#155724}.newsletter-uncertain{background:#f8d7da;color:#721c24}.newsletter-rate-cut{color:#27ae60;font-weight:700}.newsletter-divider{border:none;border-top:1px solid #dee2e6;margin:30px 0}.newsletter-key-points{background:#f8f9fa;border-radius:8px;margin:25px 0;padding:25px}.newsletter-key-points ul{margin:0;padding-left:20px}.newsletter-key-points li{margin-bottom:12px}.newsletter-disclaimer{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;font-size:.95em;margin:30px 0;padding:20px}