.animate-fade-in{animation:fade-in .22s ease-out}body,html{margin:0;padding:0;background:#f8fafc;color:#0f172a}.timeline-chart-wrap .recharts-surface:focus,.timeline-chart-wrap .recharts-wrapper:focus,.timeline-chart-wrap :focus,.timeline-chart-wrap :focus-visible,.timeline-chart-wrap svg:focus{outline:none!important;box-shadow:none!important}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.notfound-page{min-height:72vh;display:flex;align-items:center;justify-content:center;padding:48px 16px;position:relative;overflow:hidden}.notfound-bg{position:absolute;width:280px;height:280px;border-radius:9999px;filter:blur(54px);opacity:.7;pointer-events:none}.notfound-bg-left{left:-84px;top:-84px;background:#dbeafe}.notfound-bg-right{right:-84px;bottom:-84px;background:#ede9fe}.notfound-card{position:relative;width:100%;max-width:760px;border-radius:24px;border:1px solid #e2e8f0;background:rgba(255,255,255,.92);box-shadow:0 16px 44px rgba(15,23,42,.12);padding:36px;text-align:center}.notfound-code{width:64px;height:64px;margin:0 auto;border-radius:16px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;box-shadow:0 8px 20px rgba(15,23,42,.24)}.notfound-badge{display:inline-flex;margin-top:16px;border-radius:9999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:700;letter-spacing:.04em;padding:6px 10px}.notfound-title{font-size:40px;line-height:1.25;font-weight:800;color:#0f172a}.notfound-desc,.notfound-title{margin-top:14px;margin-bottom:0}.notfound-desc{color:#475569;font-size:22px;line-height:1.7}.notfound-actions{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.notfound-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 16px;font-size:15px;font-weight:700;text-decoration:none;transition:all .2s ease;border:1px solid transparent}.notfound-btn-primary{background:#0f172a;color:#fff}.notfound-btn-primary:hover{background:#1e293b}.notfound-btn-secondary{background:#fff;color:#334155;border-color:#cbd5e1}.notfound-btn-secondary:hover{background:#f8fafc}.notfound-quick-links{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.notfound-chip{text-decoration:none;border-radius:10px;background:#f8fafc;color:#475569;font-size:13px;font-weight:600;padding:9px 8px;transition:background-color .2s ease}.notfound-chip:hover{background:#f1f5f9}@media (max-width:720px){.notfound-card{border-radius:18px;padding:24px}.notfound-title{font-size:30px}.notfound-desc{font-size:18px}.notfound-actions{grid-template-columns:1fr}.notfound-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-page{min-height:72vh;display:flex;align-items:center;justify-content:center;padding:48px 16px;position:relative;overflow:hidden}.contact-bg{position:absolute;width:280px;height:280px;border-radius:9999px;filter:blur(54px);opacity:.68;pointer-events:none}.contact-bg-left{left:-90px;top:-80px;background:#dbeafe}.contact-bg-right{right:-90px;bottom:-90px;background:#ede9fe}.contact-card{position:relative;width:100%;max-width:760px;border-radius:24px;border:1px solid #e2e8f0;background:rgba(255,255,255,.94);box-shadow:0 16px 44px rgba(15,23,42,.1);padding:36px}.contact-title{margin:0;color:#0f172a;font-size:42px;line-height:1.2;font-weight:800}.contact-desc{margin-top:18px;margin-bottom:0;color:#334155;font-size:22px;line-height:1.7}.contact-section{margin-top:28px;border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:22px}.contact-section-title{margin:0;color:#0f172a;font-size:30px;line-height:1.25;font-weight:800}.contact-email-wrap{margin-top:16px;margin-bottom:0;color:#1e293b;font-size:24px;line-height:1.6}.contact-email-link{color:#1d4ed8;text-decoration:underline;text-underline-offset:4px;font-weight:700}.contact-email-link:hover{color:#1e40af}.contact-note{margin-top:12px;margin-bottom:0;color:#64748b;font-size:17px;line-height:1.6}@media (max-width:720px){.contact-card{border-radius:18px;padding:24px}.contact-title{font-size:32px}.contact-desc{font-size:18px}.contact-section-title{font-size:24px}.contact-email-wrap{font-size:20px;word-break:break-all}.contact-note{font-size:15px}}