:root{--bg-primary:#0f1117;--bg-secondary:#1a1b23;--bg-hover:#252630;--border:#2a2b36;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--accent:#818cf8;--accent-bg:#818cf81f;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.navbar{z-index:100;background:var(--bg-secondary);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;max-width:1100px;height:60px;margin:0 auto;padding:0 24px;display:flex}.navbar-brand{color:var(--accent);letter-spacing:-.5px;font-size:1.4rem;font-weight:700;text-decoration:none}.navbar-links{gap:8px;margin:0;padding:0;list-style:none;display:flex}.nav-link{color:var(--text-secondary);border-radius:6px;padding:6px 14px;font-size:.9rem;text-decoration:none;transition:all .2s}.nav-link:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-link.active{color:var(--accent);background:var(--accent-bg);font-weight:500}@media (width<=768px){.navbar-inner{flex-direction:column;gap:8px;height:auto;padding:12px 16px}.navbar-links{flex-wrap:wrap;justify-content:center;gap:4px}.nav-link{padding:4px 10px;font-size:.85rem}}.footer{border-top:1px solid var(--border);text-align:center;margin-top:auto;padding:32px 24px}.footer-inner{max-width:1100px;margin:0 auto}.footer p{color:var(--text-tertiary);margin:0;font-size:.85rem}.footer-sub{margin-top:4px!important;font-size:.8rem!important}.post-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;text-decoration:none;transition:all .25s;display:block;overflow:hidden}.post-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.post-card-cover{width:100%;height:180px;overflow:hidden}.post-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.post-card:hover .post-card-cover img{transform:scale(1.03)}.post-card-body{padding:20px}.post-card-meta{align-items:center;gap:12px;margin-bottom:10px;display:flex}.post-category{text-transform:uppercase;letter-spacing:.3px;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600}.cat-study{color:#63b3ed;background:#63b3ed26}.cat-life{color:#68d391;background:#68d39126}.cat-entertainment{color:#f6ad55;background:#f6ad5526}.post-date{color:var(--text-tertiary);font-size:.8rem}.post-card-title{color:var(--text-primary);margin:0 0 8px;font-size:1.15rem;font-weight:600;line-height:1.4}.post-card-summary{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 14px;font-size:.9rem;line-height:1.6;display:-webkit-box;overflow:hidden}.post-card-tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--bg-hover);color:var(--text-tertiary);border-radius:4px;padding:2px 8px;font-size:.75rem}.hero{text-align:center;padding:64px 24px 48px}.hero-title{background:linear-gradient(135deg, var(--accent), #a78bfa);-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.8rem;font-weight:800}.hero-subtitle{color:var(--text-secondary);margin:12px 0 0;font-size:1.15rem}.categories-section{max-width:1100px;margin:0 auto;padding:0 24px 48px}.categories-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.category-card{background:var(--bg-secondary);border:1px solid var(--border);text-align:center;border-radius:12px;padding:24px 20px;text-decoration:none;transition:all .25s}.category-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.category-icon{margin-bottom:12px;font-size:2rem;display:block}.category-card h3{color:var(--text-primary);margin:0 0 6px;font-size:1.05rem;font-weight:600}.category-card p{color:var(--text-tertiary);margin:0;font-size:.85rem;line-height:1.5}.recent-section{max-width:1100px;margin:0 auto;padding:0 24px 64px}.section-header{margin-bottom:24px}.section-header h2{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.posts-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=900px){.categories-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hero-title{font-size:2rem}.posts-grid{grid-template-columns:1fr}}@media (width<=480px){.categories-grid{grid-template-columns:1fr}}.category-page{max-width:900px;margin:0 auto;padding:48px 24px 64px}.category-header{margin-bottom:32px}.category-header h1{color:var(--text-primary);margin:0 0 8px;font-size:2rem;font-weight:800}.category-header p{color:var(--text-secondary);margin:0;font-size:1rem}.category-posts-grid{grid-template-columns:1fr;gap:16px;display:grid}.no-posts{color:var(--text-tertiary);text-align:center;padding:48px 0}.projects-page{max-width:1000px;margin:0 auto;padding:48px 24px 64px}.projects-header{margin-bottom:32px}.projects-header h1{color:var(--text-primary);margin:0 0 8px;font-size:2rem;font-weight:800}.projects-header p{color:var(--text-secondary);margin:0;font-size:1rem}.projects-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.project-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;transition:all .25s}.project-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.project-title{color:var(--text-primary);margin:0 0 8px;font-size:1.15rem;font-weight:600}.project-desc{color:var(--text-secondary);margin:0 0 16px;font-size:.9rem;line-height:1.6}.project-tech{flex-wrap:wrap;gap:6px;display:flex}.tech-tag{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:500}@media (width<=600px){.projects-grid{grid-template-columns:1fr}}.about-page{max-width:700px;margin:0 auto;padding:48px 24px 64px}.about-header{text-align:center;margin-bottom:40px}.about-avatar{margin-bottom:20px}.avatar-placeholder{background:linear-gradient(135deg, var(--accent), #a78bfa);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;font-size:1.8rem;font-weight:700;display:inline-flex}.about-header h1{color:var(--text-primary);margin:0 0 8px;font-size:2rem;font-weight:800}.about-tagline{color:var(--text-secondary);margin:0;font-size:1.05rem}.about-section{margin-bottom:32px}.about-section h2{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 12px;padding-bottom:8px;font-size:1.3rem;font-weight:700}.about-section p{color:var(--text-secondary);margin:0 0 12px;font-size:.95rem;line-height:1.8}.skills-grid{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:6px 16px;font-size:.85rem;font-weight:500}.hobbies{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.hobby-item{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;display:flex}.hobby-icon{font-size:1.3rem}.contact-list{margin:0;padding:0;list-style:none}.contact-list li{color:var(--text-secondary);border-bottom:1px solid var(--border);padding:8px 0;font-size:.95rem}.contact-list li:last-child{border-bottom:none}@media (width<=480px){.hobbies{grid-template-columns:repeat(2,1fr)}}.post-detail{max-width:760px;margin:0 auto;padding:48px 24px 64px}.post-detail.not-found{text-align:center;padding-top:80px}.post-detail.not-found h2{color:var(--text-secondary);margin-bottom:16px}.post-detail-header{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:24px}.post-detail-meta{align-items:center;gap:12px;margin-bottom:14px;display:flex}.post-detail-meta .post-category{border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600;text-decoration:none}.post-detail-title{color:var(--text-primary);letter-spacing:-.5px;margin:0 0 14px;font-size:2rem;font-weight:800;line-height:1.3}.post-detail-tags{flex-wrap:wrap;gap:6px;display:flex}.post-detail-cover{border-radius:10px;margin-bottom:32px;overflow:hidden}.post-detail-cover img{border-radius:10px;width:100%;display:block}.post-detail-content{color:var(--text-secondary);font-size:1rem;line-height:1.8}.post-detail-content h2{color:var(--text-primary);margin:32px 0 12px;font-size:1.4rem;font-weight:700}.post-detail-content h3{color:var(--text-primary);margin:24px 0 8px;font-size:1.15rem;font-weight:600}.post-detail-content p{margin:0 0 16px}.post-detail-content ul,.post-detail-content ol{margin:0 0 16px;padding-left:24px}.post-detail-content li{margin-bottom:4px}.post-detail-content code{background:var(--bg-hover);border-radius:4px;padding:2px 6px;font-size:.9em}.post-image{margin:24px 0}.post-image img{border-radius:8px;width:100%;display:block}.post-image figcaption{text-align:center;color:var(--text-tertiary);margin-top:8px;font-size:.85rem}.post-detail-footer{border-top:1px solid var(--border);margin-top:48px;padding-top:24px}.back-link{color:var(--accent);font-size:.95rem;font-weight:500;text-decoration:none;transition:opacity .2s}.back-link:hover{opacity:.8}.football-predictions-page{max-width:1200px;margin:0 auto;padding:48px 24px 64px}.predictions-header{margin-bottom:32px}.predictions-header h1{color:var(--text-primary);margin:0 0 8px;font-size:2rem;font-weight:800}.predictions-header p{color:var(--text-secondary);margin:0;font-size:1rem}.error-message{background-color:#ef44441a;border:1px solid #ef4444;border-radius:8px;margin-bottom:24px;padding:16px}.error-message p{color:var(--text-primary);margin:0 0 8px;font-size:.9rem}.error-message p:last-child{margin-bottom:0}.tabs-container{margin-bottom:24px}.tabs{gap:8px;margin-bottom:16px;display:flex}.tab{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex;position:relative}.tab:hover{border-color:var(--accent);color:var(--text-primary)}.tab.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.tab-badge{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:.75rem}.tab.active .tab-badge{background:var(--accent);color:#fff}.model-info{align-items:center;gap:16px;display:flex}.model-tag{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:500}.update-time{color:var(--text-secondary);font-size:.85rem}.loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px 0;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading p{color:var(--text-secondary);margin:0}.no-data{text-align:center;color:var(--text-secondary);padding:64px 0}.predictions-table-container{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;overflow-x:auto}.predictions-table{border-collapse:collapse;width:100%;min-width:800px}.predictions-table thead{background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.predictions-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:16px 12px;font-size:.85rem;font-weight:600}.predictions-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.predictions-table tbody tr:hover{background-color:var(--bg-tertiary)}.predictions-table tbody tr:last-child{border-bottom:none}.predictions-table td{color:var(--text-primary);padding:16px 12px;font-size:.9rem}.team{font-weight:500}.team.home{color:var(--accent)}.league-tag{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;padding:2px 8px;font-size:.8rem}.prediction-badge{color:#fff;text-align:center;border-radius:999px;min-width:36px;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-block}.prediction-badge.secondary{opacity:.8}.probability{color:var(--text-primary);font-family:Monaco,Consolas,monospace;font-weight:600}.predictions-footer{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.legend{flex-wrap:wrap;gap:24px;margin-bottom:16px;display:flex}.legend-item{align-items:center;gap:8px;display:flex}.legend-color{border-radius:4px;width:16px;height:16px}.disclaimer{color:var(--text-secondary);margin:0;font-size:.85rem}@media (width<=768px){.football-predictions-page{padding:24px 16px 48px}.tabs{flex-direction:column}.tab{justify-content:center;width:100%}.predictions-table th,.predictions-table td{padding:12px 8px}.legend{gap:16px}}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}
