@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@700;800;900&display=swap";:root{--bg:#f8f6f3;--bg-secondary:#fff;--bg-tertiary:#f0ede8;--bg-card:#fff;--text:#374151;--text-muted:#6b7280;--text-heading:#111827;--border:#e5e2dc;--accent:#0d9488;--accent-hover:#0f766e;--accent-light:#0d94881a;--success:#059669;--success-light:#0596691a;--warning:#d97706;--danger:#dc2626;--purple:#7c3aed;--purple-light:#7c3aed1a;--gold:#ca8a04;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Consolas, monospace;--radius:8px;--radius-lg:16px;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--max-width:900px}*{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.7}#app{flex-direction:column;min-height:100vh;display:flex}.main-nav{z-index:100;background:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.nav-brand{align-items:center;gap:12px;display:flex}.brand-icon{font-size:1.75rem}.brand-text{color:var(--text-heading);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:800;line-height:1.2}.nav-links{flex-wrap:wrap;gap:8px;display:flex}.nav-link{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.nav-link:hover{color:var(--text-heading)}.nav-link.active{background:var(--accent);color:#fff;border-color:var(--accent)}.main-content{flex:1;padding:16px 16px 40px}.blog-post{max-width:var(--max-width);margin:0 auto}.post-header{border-bottom:1px solid var(--border);margin-bottom:40px;padding-bottom:32px}.post-meta{gap:16px;margin-bottom:16px;font-size:.85rem;display:flex}.post-date{color:var(--text-muted)}.post-meta{align-items:center;gap:16px;display:flex}.data-list,.updates-list{margin:16px 0;padding-left:20px}.data-list li,.updates-list li{color:var(--text);margin-bottom:10px;line-height:1.6}.data-list li strong,.updates-list li strong{color:var(--accent)}.post-category{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.post-title{color:var(--text-heading);letter-spacing:-.5px;margin:0 0 16px;font-size:2.5rem;font-weight:800;line-height:1.2}.post-subtitle{color:var(--text-muted);margin:0;font-size:1.25rem;line-height:1.5}.content-section{margin-bottom:48px}.content-section h2{color:var(--text-heading);margin:0 0 16px;font-size:1.5rem;font-weight:700}.content-section p{color:var(--text);margin:0 0 16px}.content-section p:last-child{margin-bottom:0}.content-section strong{color:var(--text-heading)}.table-note{color:var(--text-muted);margin-top:16px;font-size:.85rem}.champion-callout{border:2px solid var(--gold);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffd70026 0%,#ffd7000d 100%);align-items:center;gap:24px;margin-bottom:48px;padding:24px 32px;display:flex}.champion-badge{flex-direction:column;align-items:center;gap:4px;display:flex}.champion-badge .trophy{font-size:3rem}.champion-badge .label{text-transform:uppercase;letter-spacing:1px;color:var(--gold);font-size:.7rem;font-weight:600}.champion-info h2{color:var(--text-heading);margin:0;font-size:1.75rem}.champion-info .champion-odds{color:var(--text-muted);margin:4px 0 0}.final-four-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:24px 0;display:grid}.ff-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:20px}.ff-region-label{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:8px;font-size:.75rem;font-weight:600}.ff-team-name{color:var(--text-heading);margin-bottom:4px;font-size:1.1rem;font-weight:700}.ff-prob{color:var(--text-muted);font-size:.85rem}.cta-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px}.cta-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:20px;display:grid}.cta-button{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:12px;padding:16px;transition:all .2s;display:flex}.cta-button:hover{border-color:var(--accent);background:var(--bg-card)}.cta-icon{font-size:1.5rem}.cta-text{flex-direction:column;display:flex}.cta-text strong{color:var(--text-heading);font-size:1rem}.cta-text small{color:var(--text-muted);font-size:.8rem}.odds-table-wrapper{margin:24px 0;overflow-x:auto}.odds-table{border-collapse:collapse;width:100%;font-size:.9rem}.odds-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 8px;font-size:.75rem;font-weight:600}.odds-table td{border-bottom:1px solid var(--border);padding:12px 8px}.odds-table tr:hover{background:var(--bg-tertiary)}.odds-table .rank{color:var(--text-muted);width:40px}.odds-table .seed{color:var(--accent);font-weight:500}.odds-table .team-name{color:var(--text-heading);font-weight:600}.odds-table .region{color:var(--text-muted)}.prob-bar-container{align-items:center;gap:8px;display:flex}.prob-bar{background:linear-gradient(90deg, var(--accent), var(--purple));border-radius:4px;min-width:4px;max-width:100px;height:8px}.prob-value{color:var(--text-heading);font-weight:600;font-family:var(--font-mono);font-size:.85rem}.ff-prob{color:var(--text-muted);font-family:var(--font-mono)}.method-cards{gap:16px;margin:24px 0;display:grid}.method-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.method-card h3{color:var(--text-heading);margin:0 0 12px;font-size:1.1rem}.method-card p{margin:0 0 16px;font-size:.95rem}.method-stat{border-top:1px solid var(--border);justify-content:space-between;padding-top:12px;display:flex}.stat-label{color:var(--text-muted);font-size:.85rem}.stat-value{color:var(--success);font-weight:700;font-family:var(--font-mono)}.feature-list{flex-direction:column;gap:16px;margin:24px 0;display:flex}.feature-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.feature-name{color:var(--text-heading);margin-bottom:8px;font-weight:700}.feature-desc{color:var(--text);margin-bottom:12px;font-size:.95rem}.feature-importance{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.feature-importance.high{color:var(--success);background:#22c55e33}.feature-importance.medium{color:var(--warning);background:#fbbf2433}.validation-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;display:grid}.val-stat{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:24px}.val-number{color:var(--accent);font-size:2.5rem;font-weight:800;font-family:var(--font-mono)}.val-label{color:var(--text-muted);margin-top:4px;font-size:.85rem}.confidence-guide{flex-direction:column;gap:8px;margin:24px 0;display:flex}.conf-row{background:var(--bg-secondary);border-radius:var(--radius);grid-template-columns:100px 120px 1fr;align-items:center;gap:16px;padding:12px;display:grid}.conf-range{color:var(--text-muted);font-size:.85rem;font-family:var(--font-mono)}.conf-desc{color:var(--text);font-size:.9rem}.game-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .2s}.game-card:hover{border-color:var(--accent)}.game-card.upset{border-color:var(--purple);background:#a855f71a}.game-round{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.75rem;font-weight:600}.game-matchup{align-items:center;gap:8px;margin-bottom:12px;display:flex}.game-matchup .team{flex:1;align-items:center;gap:6px;display:flex}.game-matchup .team .seed{color:var(--accent);font-size:.85rem;font-weight:500}.game-matchup .team .name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.game-matchup .team.winner{color:var(--text-heading)}.game-matchup .team.winner .name{font-weight:700}.game-matchup .team.loser{color:var(--text-muted)}.game-matchup .team .check{color:var(--success);font-weight:700}.game-matchup .vs{color:var(--text-muted);text-transform:uppercase;font-size:.75rem}.game-meta{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.game-meta .probability{font-family:var(--font-mono);color:var(--text-muted);font-size:.85rem}.confidence-badge{color:#000;text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:4px 8px;font-size:.65rem;font-weight:700}.games-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin:16px 0;display:grid}.games-grid.single{grid-template-columns:1fr;max-width:400px}.games-row{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin:24px 0;display:grid}.region-tabs{gap:8px;margin-bottom:20px;display:flex}.region-tab{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;border-radius:var(--radius);padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.region-tab:hover{border-color:var(--accent);color:var(--text)}.region-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.region-detail{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.region-header-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.region-header-bar h3{color:var(--text-heading);margin:0;font-size:1.25rem}.region-winner-badge{background:var(--bg-tertiary);border-radius:var(--radius);align-items:center;gap:8px;padding:8px 16px;display:flex}.region-winner-badge .label{color:var(--text-muted);font-size:.85rem}.region-winner-badge .winner{color:var(--success);font-weight:700}.round-group{margin-bottom:24px}.round-group:last-child{margin-bottom:0}.round-group h4{color:var(--accent);margin:0 0 12px;font-size:1rem;font-weight:600}.upset-alert{border:1px solid var(--danger);border-radius:var(--radius-lg);background:#f871711a;padding:24px}.upset-cards{flex-direction:column;gap:24px;margin-top:20px;display:flex}.upset-feature-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.upset-analysis{border-top:1px solid var(--border);background:var(--bg-tertiary);padding:16px}.upset-analysis h4{color:var(--purple);margin:0 0 8px;font-size:.9rem}.upset-analysis p{margin:0;font-size:.9rem}.upset-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:24px 0;display:grid}.upset-stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:20px}.upset-stat-card .matchup{color:var(--text-heading);margin-bottom:8px;font-size:1rem;font-weight:700}.upset-stat-card .rate{color:var(--warning);font-size:2rem;font-weight:800;font-family:var(--font-mono)}.upset-stat-card .note{color:var(--text-muted);margin-top:8px;font-size:.8rem}.tips-list{flex-direction:column;gap:16px;margin:24px 0;display:flex}.tip{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:16px;padding:20px;display:flex}.tip-number{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.tip-content{flex:1}.tip-content strong{color:var(--text-heading)}.featured-game{border:2px solid var(--gold);border-radius:var(--radius-lg);text-align:center;background:linear-gradient(135deg,#ffd7001a 0%,#58a6ff1a 100%);margin:24px 0;padding:32px}.featured-label{text-transform:uppercase;letter-spacing:1px;color:var(--gold);margin-bottom:20px;font-size:.8rem;font-weight:700}.featured-matchup{justify-content:center;align-items:center;gap:24px;margin-bottom:24px;display:flex}.featured-team{flex-direction:column;align-items:center;gap:4px;display:flex}.featured-team .seed{color:var(--accent);font-weight:500}.featured-team .name{color:var(--text-heading);font-size:1.25rem;font-weight:700}.featured-team .region-tag{color:var(--text-muted);background:var(--bg-tertiary);border-radius:4px;padding:2px 8px;font-size:.75rem}.featured-team.winner .name{color:var(--gold)}.featured-vs{color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;display:flex}.featured-conf{font-size:.8rem;font-family:var(--font-mono)}.featured-winner{color:var(--gold);border-top:1px solid #ffd7004d;justify-content:center;align-items:center;gap:8px;padding-top:20px;font-size:1.1rem;font-weight:700;display:flex}.featured-winner .trophy{font-size:1.5rem}.bracket-visual-section{margin:32px 0}.bracket-wrapper{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px}.bracket-center{text-align:center;margin-bottom:32px}.bracket-champion{border:2px solid var(--gold);border-radius:var(--radius);background:linear-gradient(135deg,#ffd70033 0%,#ffd7000d 100%);margin-bottom:24px;padding:24px;display:inline-block}.champ-label{text-transform:uppercase;letter-spacing:1px;color:var(--gold);font-size:.8rem;font-weight:600}.champ-team{color:var(--text-heading);margin:8px 0;font-size:1.5rem;font-weight:700}.champ-team .trophy{margin-right:8px}.champ-prob{color:var(--text-muted);font-size:.9rem}.final-four-bracket{justify-content:center;gap:48px;display:flex}.semifinal-box{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;padding:16px}.sf-label{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);margin-bottom:12px;font-size:.75rem}.sf-team{color:var(--text-muted);border-radius:4px;margin:4px 0;padding:8px}.sf-team.advancing{color:var(--success);background:#22c55e33;font-weight:600}.regional-winners{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.regional-winner-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px}.rw-region{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);margin-bottom:8px;font-size:.75rem}.rw-team{color:var(--text-heading);font-weight:600}.accordion-brackets{flex-direction:column;gap:12px;margin-top:24px;display:flex}.region-accordion{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.region-accordion summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.region-accordion summary:hover{background:var(--bg-tertiary)}.region-name{color:var(--text-heading);font-weight:600}.region-winner-pill{color:var(--success);background:#22c55e26;border-radius:20px;padding:4px 12px;font-size:.85rem}.accordion-content{padding:0 20px 20px}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);margin-top:24px;padding:16px 24px}.footer-content{max-width:var(--max-width);text-align:center;margin:0 auto}.footer p{color:var(--text-muted);margin:0 0 8px;font-size:.75rem;line-height:1.5}.footer strong{color:var(--text)}.footer .disclaimer{color:var(--text-muted);border-top:1px solid var(--border);margin-top:8px;padding-top:8px;font-size:.7rem;font-style:italic}.bracket-page{max-width:100%;padding:0;overflow-x:auto}.bracket-header-compact{justify-content:center;align-items:center;gap:16px;margin-bottom:16px;padding:16px 24px;display:flex}.bracket-header-compact h1{color:var(--text-heading);margin:0;font-size:1.25rem;font-weight:700}.header-tag{text-transform:uppercase;letter-spacing:1px;color:#fff;background:var(--accent);border-radius:4px;padding:4px 10px;font-size:.7rem;font-weight:600}.full-bracket{background:var(--bg);grid-template-columns:1fr 280px 1fr;gap:0;min-width:1400px;padding:20px;display:grid}.bracket-side{flex-direction:column;display:flex}.region-bracket{flex:1;position:relative}.region-bracket .region-label{color:var(--text-heading);text-transform:uppercase;letter-spacing:2px;text-align:center;padding:8px 0;font-size:.9rem;font-weight:800}.region-bracket.left .region-label{text-align:left;padding-left:8px}.region-bracket.right .region-label{text-align:right;padding-right:8px}.region-rounds{align-items:stretch;height:340px;display:flex}.region-bracket.left .region-rounds,.region-bracket.right .region-rounds{flex-direction:row}.bracket-round{flex-direction:column;justify-content:space-around;width:130px;padding:0 4px;display:flex}.bracket-matchup{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:3px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.bracket-matchup:hover{border-color:var(--accent);box-shadow:0 2px 4px #0000001a}.bracket-matchup.upset-game{border-color:var(--purple)}.bracket-team{color:#888;white-space:nowrap;background:#fafafa;align-items:center;gap:6px;min-height:22px;padding:4px 6px;font-size:.7rem;display:flex}.bracket-team:first-child{border-bottom:1px solid #eee}.region-bracket.right .bracket-team{flex-direction:row-reverse}.bracket-team.advancing{color:var(--text-heading);background:#fff;font-weight:600}.bracket-matchup.upset-game .bracket-team.advancing{background:var(--purple-light)}.bracket-seed{text-align:center;color:#666;background:#e5e5e5;border-radius:2px;min-width:18px;padding:2px 4px;font-size:.65rem;font-weight:700}.bracket-team.advancing .bracket-seed{background:var(--accent);color:#fff}.bracket-matchup.upset-game .bracket-team.advancing .bracket-seed{background:var(--purple)}.bracket-name{text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.3px;flex:1;font-size:.6rem;overflow:hidden}.region-bracket.right .bracket-name{text-align:right}.bracket-team.advancing .bracket-name:after{content:" ✓";color:var(--accent);font-weight:700}.bracket-matchup.upset-game .bracket-team.advancing .bracket-name:after{color:var(--purple)}.bracket-center-section{flex-direction:column;justify-content:center;align-items:center;padding:40px 12px;display:flex}.final-four-container{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.ff-matchup{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:3px;flex-direction:column;min-width:160px;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.ff-matchup:hover{border-color:var(--accent)}.ff-team{color:#888;background:#fafafa;align-items:center;gap:6px;min-height:28px;padding:6px 10px;font-size:.75rem;display:flex}.ff-team:first-child{border-bottom:1px solid #eee}.ff-team.advancing{color:var(--text-heading);background:#fff;font-weight:600}.ff-seed{text-align:center;color:#666;background:#e5e5e5;border-radius:2px;min-width:20px;padding:2px 5px;font-size:.7rem;font-weight:700}.ff-team.advancing .ff-seed{background:var(--accent);color:#fff}.ff-name{text-transform:uppercase;letter-spacing:.3px;font-size:.7rem}.ff-team.advancing .ff-name:after{content:" ✓";color:var(--accent);font-weight:700}.championship-matchup{cursor:pointer;border:2px solid var(--gold);background:#fff;border-radius:8px;flex-direction:column;align-items:center;padding:16px;display:flex;box-shadow:0 4px 12px #0000001a}.champ-team{color:#888;background:#fafafa;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-width:150px;margin:4px 0;padding:8px 16px;font-size:.85rem;display:flex}.champ-team:hover{background:var(--accent-light)}.champ-team.champion{background:var(--accent);color:#fff;font-weight:700}.champ-seed{color:var(--text-heading);background:#fff;border-radius:2px;padding:2px 6px;font-size:.75rem;font-weight:700}.champ-team.champion .champ-seed{color:var(--accent);background:#fff}.champ-name{text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.champion-banner{text-align:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;margin:12px 0;padding:12px 20px}.champion-trophy{font-size:2rem}.champion-label{letter-spacing:2px;color:#b45309;text-transform:uppercase;margin-top:4px;font-size:.6rem;font-weight:800}.champion-team-name{color:var(--text-heading);text-transform:uppercase;letter-spacing:1px;font-size:1.1rem;font-weight:900}.bracket-legend{display:none}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-secondary);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.3s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:flex-start;padding:24px 24px 0;display:flex}.modal-round{color:var(--accent);text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--text-heading)}.modal-matchup{text-align:center;padding:24px}.modal-teams{justify-content:center;align-items:center;gap:24px;margin-bottom:16px;display:flex}.modal-team{text-align:center}.modal-team-seed{color:var(--accent);font-size:.85rem;font-weight:600}.modal-team-name{font-family:var(--font-serif);color:var(--text-heading);margin:4px 0;font-size:1.5rem;font-weight:700}.modal-team-region{color:var(--text-muted);font-size:.8rem}.modal-team.winner .modal-team-name{color:var(--success);font-weight:800}.modal-team.loser{opacity:.6}.modal-team.loser .modal-team-name{text-decoration:line-through;-webkit-text-decoration-color:var(--danger);text-decoration-color:var(--danger)}.modal-winner-banner{background:var(--success-light);border:2px solid var(--success);border-radius:var(--radius);align-items:center;gap:16px;margin:0 24px 16px;padding:16px 20px;display:flex}.modal-winner-banner.upset{background:var(--purple-light);border-color:var(--purple)}.winner-icon{font-size:1.75rem}.winner-text{flex:1}.winner-label{color:var(--success);text-transform:uppercase;letter-spacing:1px;font-size:.65rem;font-weight:700}.modal-winner-banner.upset .winner-label{color:var(--purple)}.winner-name{font-family:var(--font-serif);color:var(--text-heading);font-size:1.25rem;font-weight:700}.winner-prob{font-family:var(--font-mono);color:var(--success);font-size:1.25rem;font-weight:700}.modal-winner-banner.upset .winner-prob{color:var(--purple)}.modal-vs{color:var(--text-muted);font-size:.9rem;font-weight:500}.modal-prediction{background:var(--success-light);color:var(--success);border-radius:50px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.modal-prediction.upset{background:var(--purple-light);color:var(--purple)}.modal-section{border-top:1px solid var(--border);padding:20px 24px}.modal-section-title{color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:.75rem;font-weight:700}.modal-rationale{color:var(--text);font-size:.95rem;line-height:1.6}.modal-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.modal-stat{text-align:center;background:var(--bg-tertiary);border-radius:var(--radius);padding:12px}.modal-stat-value{color:var(--text-heading);font-size:1.25rem;font-weight:700;font-family:var(--font-mono)}.modal-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:.7rem}.modal-factors{flex-direction:column;gap:8px;display:flex}.modal-factor{background:var(--bg-tertiary);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.modal-factor-name{color:var(--text);font-weight:500}.modal-factor-value{font-family:var(--font-mono);color:var(--accent);font-size:.85rem;font-weight:600}.modal-factor-value.positive{color:var(--success)}.modal-factor-value.negative{color:var(--danger)}.modal-confidence{text-transform:uppercase;letter-spacing:.5px;border-radius:50px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.modal-confidence.lock{background:var(--success);color:#fff}.modal-confidence.high{color:#fff;background:#10b981}.modal-confidence.medium{background:var(--warning);color:#fff}.modal-confidence.low{color:#fff;background:#f97316}.modal-confidence.toss-up{background:var(--danger);color:#fff}.butterfly-chart{flex-direction:column;gap:6px;display:flex}.butterfly-header{border-bottom:1px solid var(--border);justify-content:space-between;margin-bottom:4px;padding:0 10px 8px;display:flex}.butterfly-team-label{text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:700}.butterfly-team-label.left{color:var(--accent)}.butterfly-team-label.right{color:var(--purple)}.butterfly-row{border-radius:4px;grid-template-columns:1fr 100px 1fr;align-items:center;gap:8px;padding:4px 0;transition:background .15s;display:grid}.butterfly-row:hover{background:var(--bg-tertiary)}.butterfly-row.left{background:#0d94880d}.butterfly-row.right{background:#7c3aed0d}.butterfly-bar-left{justify-content:flex-end;height:18px;display:flex}.butterfly-bar-right{justify-content:flex-start;height:18px;display:flex}.butterfly-bar{border-radius:3px;min-width:4px;height:100%;transition:width .3s}.butterfly-bar.teamA{background:linear-gradient(90deg, #0d94884d, var(--accent))}.butterfly-bar.teamB{background:linear-gradient(-90deg, #7c3aed4d, var(--purple))}.butterfly-label{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.butterfly-feature{color:var(--text);text-transform:uppercase;letter-spacing:.3px;font-size:.65rem;font-weight:600}.butterfly-diff{font-size:.6rem;font-weight:700;font-family:var(--font-mono);border-radius:8px;padding:1px 6px}.butterfly-diff.left{background:var(--accent);color:#fff}.butterfly-diff.right{background:var(--purple);color:#fff}.butterfly-diff.even{color:#666;background:#e5e5e5}.butterfly-legend{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;display:flex}.butterfly-legend-item{font-size:.7rem;font-weight:600}.butterfly-legend-item.teamA{color:var(--accent)}.butterfly-legend-item.teamB{color:var(--purple)}.butterfly-legend-item.winner{color:var(--text-muted);background:var(--bg-tertiary);border-radius:12px;padding:4px 12px;font-weight:500}.deep-dive .numbered-list,.deep-dive .feature-bullets,.deep-dive .output-list,.deep-dive .tech-list{margin:16px 0 16px 24px;padding:0}.deep-dive .numbered-list li,.deep-dive .feature-bullets li,.deep-dive .output-list li,.deep-dive .tech-list li{margin-bottom:8px;line-height:1.6}.deep-dive h3{color:var(--text-heading);margin:32px 0 16px;font-size:1.25rem}.code-block{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:16px 20px;overflow-x:auto}.code-block pre{font-family:var(--font-mono);margin:0;font-size:.85rem;line-height:1.5}.code-block code{color:var(--text)}.model-table-wrapper{margin:24px 0;overflow-x:auto}.model-table{border-collapse:collapse;width:100%;font-size:.95rem}.model-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:.75rem;font-weight:600}.model-table td{border-bottom:1px solid var(--border);padding:12px 16px}.model-table td.mono{font-family:var(--font-mono);color:var(--accent)}.model-table tr:hover{background:var(--bg-tertiary)}.note-callout{border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:#58a6ff1a;margin:24px 0;padding:16px 20px;font-style:italic}.upset-history-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:24px 0;display:grid}.upset-history-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:20px}.upset-history-card .matchup-label{color:var(--text-heading);margin-bottom:8px;font-size:1.1rem;font-weight:700}.upset-history-card .upset-rate{font-size:2.5rem;font-weight:800;font-family:var(--font-mono);margin-bottom:8px}.upset-history-card .upset-rate.low{color:var(--success)}.upset-history-card .upset-rate.medium{color:var(--warning)}.upset-history-card .upset-rate.high{color:var(--danger)}.upset-history-card .upset-note{color:var(--text-muted);font-size:.85rem}.conviction-legend{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);margin:24px 0;padding:20px}.conviction-legend h4{color:var(--text-heading);margin:0 0 16px}.conviction-table{flex-direction:column;gap:8px;display:flex}.conv-row{align-items:center;gap:16px;display:flex}.conv-level{text-transform:uppercase;text-align:center;border-radius:4px;min-width:70px;padding:4px 10px;font-size:.7rem;font-weight:700}.conv-level.lock{background:var(--success);color:#000}.conv-level.high{color:#000;background:#4ade80}.conv-level.medium{background:var(--warning);color:#000}.conv-level.low{color:#000;background:#fb923c}.conv-level.split{background:var(--danger);color:#000}.conv-criteria{color:var(--text-muted);font-size:.9rem;font-family:var(--font-mono)}.lessons-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:24px 0;display:grid}.lesson-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.lesson-card h4{color:var(--accent);margin:0 0 12px;font-size:1rem}.lesson-card p{margin:0;font-size:.95rem}.final-bracket-summary{border:1px solid var(--gold);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffd7001a 0%,#58a6ff0d 100%);margin:24px 0;padding:24px}.final-bracket-summary h4{color:var(--gold);margin:0 0 12px;font-size:1rem}.final-bracket-summary h4:not(:first-child){margin-top:20px}.bracket-picks{margin:0 0 16px;padding:0;list-style:none}.bracket-picks li{border-bottom:1px solid #ffd70033;padding:8px 0}.bracket-picks li:last-child{border-bottom:none}.champ-pick{color:var(--gold);margin:8px 0 16px;font-size:1.5rem;font-weight:700}.contrarian-picks{border:1px solid var(--purple);border-radius:var(--radius);background:#a855f71a;margin:16px 0;padding:16px 16px 16px 40px}.contrarian-picks li{margin-bottom:8px}.contrarian-picks li:last-child{margin-bottom:0}.output-list code{background:var(--bg-tertiary);border-radius:4px;padding:2px 6px;font-size:.85rem}.closing-thought{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.sign-off{text-align:center;color:var(--accent);margin-top:24px;font-size:1.1rem}.tech-details{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.tech-list{margin:0;padding:0;list-style:none}.tech-list li{border-bottom:1px solid var(--border);padding:8px 0}.tech-list li:last-child{border-bottom:none}@media (width<=768px){.main-nav{flex-direction:column;gap:12px;padding:12px 16px}.nav-links{justify-content:center}.main-content{padding:24px 16px 40px}.post-title{font-size:1.75rem}.post-subtitle{font-size:1rem}.champion-callout{text-align:center;flex-direction:column;padding:24px}.champion-info h2{font-size:1.5rem}.validation-stats{grid-template-columns:1fr}.conf-row{grid-template-columns:1fr;gap:8px}.featured-matchup,.final-four-bracket{flex-direction:column;gap:16px}.regional-winners{grid-template-columns:repeat(2,1fr)}.games-grid{grid-template-columns:1fr}.region-tabs{flex-wrap:wrap}}
