@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@300;400;500;700&display=swap";:root{--bg-primary: #0a0e17;--bg-secondary: #111827;--bg-card: rgba(17, 24, 39, .7);--bg-glass: rgba(255, 255, 255, .03);--border-glass: rgba(255, 255, 255, .08);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-cyan: #06b6d4;--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-green: #10b981;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--gradient-primary: linear-gradient(135deg, #06b6d4, #3b82f6, #8b5cf6);--gradient-hero: linear-gradient(135deg, #0a0e17 0%, #111827 50%, #0f172a 100%);--gradient-card-hover: linear-gradient(135deg, rgba(6, 182, 212, .1), rgba(59, 130, 246, .05));--section-padding: 100px 0;--container-width: 1200px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--shadow-card: 0 4px 30px rgba(0, 0, 0, .3);--shadow-glow: 0 0 40px rgba(6, 182, 212, .15);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,Noto Sans TC,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Outfit,Noto Sans TC,sans-serif;line-height:1.2;font-weight:700}a{color:var(--accent-cyan);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-blue)}img{max-width:100%;display:block}.container{width:90%;max-width:var(--container-width);margin:0 auto}.section{padding:var(--section-padding);position:relative}.section-title{font-size:2.5rem;margin-bottom:.5rem;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-subtitle{color:var(--text-muted);font-size:1.1rem;margin-bottom:3rem;font-weight:400}.glass-card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:2rem;transition:all var(--transition-smooth);box-shadow:var(--shadow-card)}.glass-card:hover{border-color:#06b6d433;background:var(--gradient-card-hover);transform:translateY(-4px);box-shadow:var(--shadow-card),var(--shadow-glow)}.tag{display:inline-block;padding:4px 12px;border-radius:100px;font-size:.75rem;font-weight:500;background:#06b6d41a;color:var(--accent-cyan);border:1px solid rgba(6,182,212,.2);transition:all var(--transition-fast)}.tag:hover{background:#06b6d433}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:100px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all var(--transition-smooth);font-family:inherit;text-decoration:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 20px #06b6d44d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #06b6d466;color:#fff}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-glass)}.btn-outline:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);background:#06b6d40d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .7s ease-out forwards}.fade-in-up-delay-1{animation-delay:.1s;opacity:0}.fade-in-up-delay-2{animation-delay:.2s;opacity:0}.fade-in-up-delay-3{animation-delay:.3s;opacity:0}.fade-in-up-delay-4{animation-delay:.4s;opacity:0}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 0;transition:all var(--transition-smooth)}.navbar.scrolled{background:#0a0e17d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-glass);padding:.7rem 0}.navbar .container{display:flex;align-items:center;justify-content:space-between}.navbar-logo{font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.navbar-logo .logo-accent{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.navbar-links{display:flex;align-items:center;gap:2rem;list-style:none}.navbar-links a{color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:color var(--transition-fast);position:relative}.navbar-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width var(--transition-smooth);border-radius:1px}.navbar-links a:hover,.navbar-links a.active{color:var(--text-primary)}.navbar-links a:hover:after,.navbar-links a.active:after{width:100%}.navbar-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}.navbar-toggle span{display:block;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-fast)}.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--gradient-hero)}.hero:before{content:"";position:absolute;top:-50%;right:-30%;width:80vw;height:80vw;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.08) 0%,transparent 70%);animation:heroGlow 8s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;bottom:-30%;left:-20%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.06) 0%,transparent 70%);animation:heroGlow 10s ease-in-out infinite alternate-reverse}@keyframes heroGlow{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.05)}}.hero-content{position:relative;z-index:1}.hero-label{display:inline-flex;align-items:center;gap:8px;padding:6px 18px;border-radius:100px;background:#06b6d41a;border:1px solid rgba(6,182,212,.2);color:var(--accent-cyan);font-size:.85rem;font-weight:500;margin-bottom:1.5rem}.hero-name{font-size:clamp(3rem,7vw,5.5rem);font-weight:800;line-height:1.1;margin-bottom:.5rem}.hero-name-en{font-size:clamp(1.2rem,2.5vw,1.8rem);color:var(--text-muted);font-weight:400;margin-bottom:1.5rem}.hero-title{font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--text-secondary);font-weight:400;margin-bottom:2rem}.hero-desc{max-width:600px;color:var(--text-secondary);font-size:1.05rem;line-height:1.8;margin-bottom:2.5rem}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero-stats{display:flex;gap:3rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-glass)}.hero-stat-value{font-size:2rem;font-weight:700;font-family:Outfit,sans-serif}.hero-stat-label{color:var(--text-muted);font-size:.85rem;margin-top:4px}.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.about-text{color:var(--text-secondary);font-size:1.05rem;line-height:1.9}.about-text p+p{margin-top:1.2rem}.about-highlights{display:flex;flex-direction:column;gap:1rem}.about-highlight-item{display:flex;align-items:flex-start;gap:12px;padding:1rem 1.2rem}.about-highlight-icon{font-size:1.5rem;flex-shrink:0}.about-highlight-title{font-weight:600;font-size:.95rem;margin-bottom:2px}.about-highlight-desc{font-size:.85rem;color:var(--text-muted)}.featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.project-card{position:relative;overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;display:block}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.project-card-number{font-family:Outfit,sans-serif;font-size:2.5rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.3;line-height:1}.project-card-arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-glass);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1rem;transition:all var(--transition-smooth)}.project-card:hover .project-card-arrow{background:var(--accent-cyan);color:#fff;border-color:var(--accent-cyan);transform:translate(3px,-3px)}.project-card h3{font-size:1.3rem;margin-bottom:.5rem;transition:color var(--transition-fast)}.project-card:hover h3{color:var(--accent-cyan)}.project-card-subtitle{color:var(--text-muted);font-size:.85rem;margin-bottom:.8rem}.project-card p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.2rem}.project-card-tags{display:flex;flex-wrap:wrap;gap:6px}.project-card-role{font-size:.8rem;color:var(--accent-purple);font-weight:500;margin-bottom:.3rem}.timeline-wrapper{position:relative;padding-left:40px}.timeline-wrapper:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent-cyan),var(--accent-purple),transparent)}.timeline-item{position:relative;margin-bottom:2rem;padding-left:30px}.timeline-dot{position:absolute;left:-33px;top:8px;width:14px;height:14px;border-radius:50%;border:3px solid var(--accent-cyan);background:var(--bg-primary);z-index:1;transition:all var(--transition-fast)}.timeline-item:hover .timeline-dot{background:var(--accent-cyan);box-shadow:0 0 12px #06b6d480}.timeline-item[data-category=work] .timeline-dot{border-color:var(--accent-blue)}.timeline-item[data-category=education] .timeline-dot{border-color:var(--accent-green)}.timeline-item[data-category=project] .timeline-dot{border-color:var(--accent-cyan)}.timeline-item[data-category=award] .timeline-dot{border-color:var(--accent-amber)}.timeline-item[data-category=talk] .timeline-dot{border-color:var(--accent-purple)}.timeline-item:hover[data-category=work] .timeline-dot{background:var(--accent-blue);box-shadow:0 0 12px #3b82f680}.timeline-item:hover[data-category=education] .timeline-dot{background:var(--accent-green);box-shadow:0 0 12px #10b98180}.timeline-item:hover[data-category=award] .timeline-dot{background:var(--accent-amber);box-shadow:0 0 12px #f59e0b80}.timeline-item:hover[data-category=talk] .timeline-dot{background:var(--accent-purple);box-shadow:0 0 12px #8b5cf680}.timeline-date{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-bottom:4px}.timeline-title{font-size:1rem;font-weight:600;margin-bottom:4px}.timeline-title a{color:inherit}.timeline-title a:hover{color:var(--accent-cyan)}.timeline-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.timeline-category-badge{display:inline-block;padding:2px 10px;border-radius:100px;font-size:.7rem;font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.timeline-category-badge.work{background:#3b82f626;color:var(--accent-blue)}.timeline-category-badge.education{background:#10b98126;color:var(--accent-green)}.timeline-category-badge.project{background:#06b6d426;color:var(--accent-cyan)}.timeline-category-badge.award{background:#f59e0b26;color:var(--accent-amber)}.timeline-category-badge.talk{background:#8b5cf626;color:var(--accent-purple)}.timeline-filters{display:flex;gap:.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.timeline-filter-btn{padding:6px 16px;border-radius:100px;font-size:.8rem;font-weight:500;background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border-glass);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.timeline-filter-btn:hover,.timeline-filter-btn.active{background:#06b6d41a;color:var(--accent-cyan);border-color:#06b6d44d}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.skill-card-header{display:flex;align-items:center;gap:10px;margin-bottom:1.2rem}.skill-card-icon{font-size:1.5rem}.skill-card h3{font-size:1.1rem}.skill-items{display:flex;flex-wrap:wrap;gap:8px}.skill-item{padding:6px 14px;border-radius:var(--radius-sm);font-size:.85rem;background:#ffffff0a;color:var(--text-secondary);border:1px solid rgba(255,255,255,.06);transition:all var(--transition-fast)}.skill-item:hover{color:var(--accent-cyan);border-color:#06b6d44d;background:#06b6d414}.awards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.award-card{position:relative}.award-date{font-size:.8rem;color:var(--accent-amber);font-weight:500;margin-bottom:.5rem}.award-card h3{font-size:1.1rem;margin-bottom:.5rem}.award-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.contact-section{padding:80px 0;border-top:1px solid var(--border-glass)}.contact-content{text-align:center}.contact-content h2{font-size:2.5rem;margin-bottom:1rem}.contact-desc{color:var(--text-secondary);font-size:1.05rem;max-width:500px;margin:0 auto 2.5rem}.contact-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.contact-link-card{display:flex;align-items:center;gap:12px;padding:1rem 1.5rem;text-decoration:none;color:inherit}.contact-link-card span:first-child{font-size:1.3rem}.contact-link-card .contact-label{font-size:.75rem;color:var(--text-muted)}.contact-link-card .contact-value{font-weight:600;font-size:.95rem}.footer{padding:2rem 0;text-align:center;color:var(--text-muted);font-size:.8rem;border-top:1px solid var(--border-glass)}.projects-page-header{padding:140px 0 40px;text-align:center}.projects-page-header h1{font-size:3rem;margin-bottom:.5rem}.projects-page-header p{color:var(--text-secondary);font-size:1.1rem}.projects-filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:3rem}.projects-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-bottom:80px}.gallery-card{cursor:pointer;text-decoration:none;color:inherit;display:block}.gallery-card-period{font-size:.8rem;color:var(--text-muted);margin-bottom:.8rem}.gallery-card h3{font-size:1.15rem;margin-bottom:.3rem;transition:color var(--transition-fast)}.gallery-card:hover h3{color:var(--accent-cyan)}.gallery-card .project-card-subtitle{margin-bottom:.8rem}.gallery-card p{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.gallery-card-tags{display:flex;flex-wrap:wrap;gap:5px}.gallery-card .tag{font-size:.7rem;padding:3px 9px}.featured-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:.7rem;font-weight:600;background:#f59e0b26;color:var(--accent-amber);margin-bottom:.8rem}.project-detail{padding-top:100px;padding-bottom:80px}.project-detail-back{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.9rem;margin-bottom:2rem;transition:color var(--transition-fast)}.project-detail-back:hover{color:var(--accent-cyan)}.project-detail-header{margin-bottom:3rem}.project-detail-header h1{font-size:2.5rem;margin-bottom:.5rem}.project-detail-header .project-card-subtitle{font-size:1rem;margin-bottom:1.5rem}.project-detail-meta{display:flex;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem}.project-detail-meta-item{display:flex;flex-direction:column}.project-detail-meta-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}.project-detail-meta-value{font-weight:600;font-size:.95rem}.project-detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2rem}.project-detail-body{display:grid;grid-template-columns:2fr 1fr;gap:3rem}.project-detail-main h2{font-size:1.5rem;margin:2.5rem 0 1rem;color:var(--text-primary)}.project-detail-main h2:first-child{margin-top:0}.project-detail-main p{color:var(--text-secondary);font-size:1rem;line-height:1.8}.architecture-block{margin:1.5rem 0;padding:1.5rem;border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border-glass)}.architecture-block h3{font-size:1rem;color:var(--accent-cyan);margin-bottom:.5rem}.architecture-block p{font-size:.9rem}.project-detail-sidebar .glass-card{margin-bottom:1.5rem}.project-detail-sidebar h3{font-size:1rem;margin-bottom:1rem;color:var(--text-primary)}.result-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:.8rem;font-size:.9rem;color:var(--text-secondary)}.result-item:before{content:"✓";color:var(--accent-green);font-weight:700;flex-shrink:0}.project-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.project-link-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:100px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all var(--transition-smooth);border:1px solid var(--border-glass);background:var(--bg-glass);color:var(--text-primary)}.project-link-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000004d}.project-link-icon{font-size:1rem}.project-link-github{border-color:#ffffff26}.project-link-github:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.project-link-youtube{border-color:#f43f5e4d;color:var(--accent-rose)}.project-link-youtube:hover{background:#f43f5e26;border-color:var(--accent-rose);color:var(--accent-rose)}.project-link-website,.project-link-demo{border-color:#06b6d44d;color:var(--accent-cyan)}.project-link-website:hover,.project-link-demo:hover{background:#06b6d41a;border-color:var(--accent-cyan);color:var(--accent-cyan)}.project-link-paper{border-color:#8b5cf64d;color:var(--accent-purple)}.project-link-paper:hover{background:#8b5cf61a;border-color:var(--accent-purple);color:var(--accent-purple)}.project-gallery{margin-bottom:3rem}.project-gallery h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-grid-multi{grid-auto-rows:250px}.gallery-grid-single{grid-template-columns:1fr;max-width:800px;margin:0 auto}@media(min-width:768px){.gallery-item-featured{grid-column:span 2;grid-row:span 2}}.gallery-item{border-radius:var(--radius-md);overflow:hidden;cursor:pointer;position:relative;border:1px solid var(--border-glass);background:var(--bg-card);transition:all var(--transition-smooth);height:100%;display:flex;flex-direction:column}.gallery-item:hover{border-color:#06b6d44d;transform:translateY(-3px);box-shadow:var(--shadow-glow)}.gallery-item-video{cursor:default}.gallery-video-iframe{width:100%;height:100%;min-height:250px;border:none;flex:1}@media(min-width:768px){.gallery-item-featured .gallery-video-iframe{min-height:500px}}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-smooth);flex:1}.gallery-item:hover img{transform:scale(1.05)}.gallery-caption{padding:10px 14px;font-size:.8rem;color:var(--text-secondary);background:var(--bg-card);border-top:1px solid var(--border-glass)}.lightbox-overlay{position:fixed;inset:0;background:#000000eb;z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{max-width:900px;width:100%;position:relative}.lightbox-content img{width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius-md)}.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:8px;transition:color var(--transition-fast)}.lightbox-close:hover{color:#fff}.lightbox-caption{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-top:1rem}.lightbox-nav{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:1.5rem}.lightbox-nav-btn{width:44px;height:44px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.lightbox-nav-btn:hover:not(:disabled){background:#06b6d433;border-color:var(--accent-cyan)}.lightbox-nav-btn:disabled{opacity:.3;cursor:not-allowed}.lightbox-counter{color:var(--text-muted);font-size:.85rem;font-weight:500}.sidebar-links{display:flex;flex-direction:column;gap:8px}.sidebar-link-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-secondary);text-decoration:none;background:#ffffff08;border:1px solid rgba(255,255,255,.05);transition:all var(--transition-fast)}.sidebar-link-item:hover{background:#06b6d414;border-color:#06b6d433;color:var(--accent-cyan)}.sidebar-link-arrow{margin-left:auto;font-size:.85rem;opacity:0;transition:opacity var(--transition-fast)}.sidebar-link-item:hover .sidebar-link-arrow{opacity:1}@media(max-width:1024px){.featured-grid{grid-template-columns:1fr}.projects-gallery{grid-template-columns:repeat(2,1fr)}.skills-grid,.project-detail-body{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.navbar-links{display:none;position:absolute;top:0;left:0;right:0;height:100vh;background:#0a0e17f7;flex-direction:column;justify-content:center;align-items:center;gap:2rem;z-index:-1}.navbar-links.open{display:flex}.navbar-links a{font-size:1.5rem}.navbar-toggle{display:flex;z-index:1001}.hero-stats{gap:1.5rem;flex-wrap:wrap}.about-grid,.featured-grid,.awards-grid,.skills-grid,.projects-gallery{grid-template-columns:1fr}.section-title{font-size:2rem}.hero-name{font-size:2.5rem}.project-detail-header h1{font-size:1.8rem}.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:180px}.project-links{flex-direction:column;align-items:flex-start}.contact-links{flex-direction:column;align-items:center}.announcement-card{max-width:95vw;padding:1.5rem 1.5rem 1.5rem 1.8rem;margin:0 .5rem}.announcement-title{font-size:1.2rem}.announcement-body{font-size:.9rem}.announcement-footer{font-size:.75rem}.announcement-dismiss-btn{padding:12px 40px;font-size:.95rem}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.announcement-overlay{position:fixed;inset:0;z-index:10000;animation:overlayFadeIn .4s ease-out forwards}.announcement-overlay-backdrop{position:fixed;inset:0;background:#05070ceb}.announcement-overlay-scroll{position:absolute;inset:0;z-index:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.announcement-overlay-scroll::-webkit-scrollbar{width:6px}.announcement-overlay-scroll::-webkit-scrollbar-track{background:transparent}.announcement-overlay-scroll::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.announcement-overlay-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 2rem;min-height:100%;animation:cardSlideUp .6s cubic-bezier(.34,1.56,.64,1) .15s both}.announcement-card{position:relative;max-width:640px;width:100%;background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:2rem 2rem 2rem 2.2rem;box-shadow:var(--shadow-card),0 0 80px #06b6d414;overflow:hidden}.announcement-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.announcement-info:before{background:linear-gradient(to bottom,var(--accent-cyan),var(--accent-blue))}.announcement-warning:before{background:linear-gradient(to bottom,var(--accent-amber),#ef4444)}.announcement-important:before{background:linear-gradient(to bottom,var(--accent-rose),var(--accent-purple))}.announcement-info{border-color:#06b6d426}.announcement-warning{border-color:#f59e0b26}.announcement-important{border-color:#f43f5e26}.announcement-header{display:flex;align-items:center;gap:10px;margin-bottom:1.2rem}.announcement-icon{font-size:1.5rem;flex-shrink:0}.announcement-title{font-size:1.4rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.announcement-date{font-size:.8rem;color:var(--text-muted);font-weight:500;margin-left:auto}.announcement-body{color:var(--text-secondary);font-size:1rem;line-height:1.9}.announcement-body p+p{margin-top:.8rem}.announcement-footer{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border-glass);color:var(--text-muted);font-size:.8rem;line-height:1.7;white-space:pre-line}.announcement-dismiss-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 52px;border-radius:100px;font-size:1rem;font-weight:600;cursor:pointer;border:none;background:var(--gradient-primary);color:#fff;box-shadow:0 4px 24px #06b6d44d;transition:all var(--transition-smooth);font-family:inherit;margin-top:.5rem}.announcement-dismiss-btn:hover{transform:translateY(-2px);box-shadow:0 8px 36px #06b6d473}
