﻿:root{--color-bg: #ffffff;--color-bg-alt: #f7eef4;--color-bg-nav: rgba(255, 255, 255, 0.93);--color-text: #1f1117;--color-text-muted: #7a5568;--color-accent: #a1246b;--color-accent-dim: #f5dcea;--color-border: #e5ccd9;--color-card: #ffffff;--color-fp-bg: #f7eef4;--color-fp-border: #e8bdd3;--font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;--font-body: 'Source Sans 3', 'Helvetica Neue', Helvetica, Arial, sans-serif;--font-mono: 'Fira Code', 'Courier New', monospace;--nav-height: 68px;--container-max: 960px;--transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);--transition-slow: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);--shadow-sm: 0 1px 3px rgba(100, 20, 60, .07), 0 1px 2px rgba(100, 20, 60, .05);--shadow: 0 4px 20px rgba(100, 20, 60, .10);--shadow-lg: 0 10px 40px rgba(100, 20, 60, .14)}[data-theme=dark]{--color-bg: #1c0912;--color-bg-alt: #250e19;--color-bg-nav: rgba(28, 9, 18, 0.93);--color-text: #f0d6e8;--color-text-muted: #c891b0;--color-accent: #d4609a;--color-accent-dim: #3d1428;--color-border: #3d1428;--color-card: #2a0e1e;--color-fp-bg: #250e19;--color-fp-border: #3d1428;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);--shadow: 0 4px 20px rgba(0, 0, 0, .55);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .65)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background-color:var(--color-accent);color:#fff}a{color:var(--color-accent);text-decoration:none;transition:var(--transition)}a:hover{opacity:.75}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2;color:var(--color-text)}img{max-width:100%;height:auto;display:block}code,pre{font-family:var(--font-mono)}ul,ol{list-style:none}.container{max-width:var(--container-max);margin:0 auto;padding:0 32px}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 32px}.section{padding:100px 0}@media(max-width: 768px){.section{padding:64px 0}}.section-alt{background-color:var(--color-bg-alt)}.section-label{display:block;font-family:var(--font-mono);font-size:13px;color:var(--color-accent);letter-spacing:.1em;margin-bottom:8px}.section-title{font-family:var(--font-display);font-size:clamp(24px,4vw,36px);font-weight:700;color:var(--color-text);margin-bottom:48px}.section-title::after{content:"";display:block;width:56px;height:3px;background:var(--color-accent);margin-top:12px;border-radius:2px}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 28px;border-radius:4px;font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:var(--transition);text-decoration:none;border:none}.btn.btn-primary{background-color:var(--color-accent);color:#fff}.btn.btn-primary:hover{background-color:#154d7f;opacity:1;transform:translateY(-2px);box-shadow:var(--shadow)}.btn.btn-outline{background:rgba(0,0,0,0);color:var(--color-accent);border:1.5px solid var(--color-accent)}.btn.btn-outline:hover{background-color:var(--color-accent-dim);opacity:1;transform:translateY(-2px)}.btn.btn-large{padding:15px 40px;font-size:16px}.tag{display:inline-block;padding:3px 10px;background:var(--color-accent-dim);color:var(--color-accent);font-family:var(--font-mono);font-size:11px;border-radius:3px;margin-right:5px;margin-bottom:4px}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:200;background:rgba(0,0,0,0);transition:background .3s ease,box-shadow .3s ease}.navbar.scrolled{background:var(--color-bg-nav);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--color-border),var(--shadow-sm)}@media(max-width: 768px){.navbar{background:var(--color-bg-nav) !important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--color-border)}}.nav-container{height:100%;padding:0 40px;display:flex;align-items:center;justify-content:space-between}@media(max-width: 768px){.nav-container{padding:0 24px}}.nav-logo{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;cursor:pointer;border-radius:6px;color:var(--color-text-muted);transition:var(--transition);flex-shrink:0;z-index:210}.nav-logo .logo-text{font-family:var(--font-display);font-size:22px;font-weight:700}.nav-logo:hover{color:var(--color-accent);background:var(--color-accent-dim)}.nav-right{display:flex;align-items:center;gap:4px}.nav-links{display:flex;align-items:center;gap:2px}.nav-links ol{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}.nav-links ol li a{display:inline-block;padding:7px 13px;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-text);text-decoration:none;border-radius:4px;transition:var(--transition)}.nav-links ol li a span{font-family:var(--font-mono);font-size:12px;color:var(--color-accent);margin-right:4px}.nav-links ol li a:hover,.nav-links ol li a.active{color:var(--color-accent);background:var(--color-accent-dim);opacity:1}.nav-links .nav-cv{display:inline-flex;align-items:center;margin-left:12px;padding:7px 18px;font-size:13px;font-family:var(--font-body);font-weight:600;color:var(--color-accent);border:1.5px solid var(--color-accent);border-radius:4px;text-decoration:none;transition:var(--transition)}.nav-links .nav-cv:hover{background:var(--color-accent-dim);opacity:1}@media(max-width: 768px){.nav-links{display:none}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;cursor:pointer;border-radius:6px;color:var(--color-text-muted);transition:var(--transition);flex-shrink:0;z-index:210}.theme-toggle:hover{color:var(--color-accent);background:var(--color-accent-dim)}.theme-toggle .icon-sun{display:block}.theme-toggle .icon-moon{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:none}[data-theme=dark] .theme-toggle .icon-moon{display:block}.hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:40px;height:40px;padding:8px;background:none;border:none;cursor:pointer;border-radius:4px;z-index:210;transition:var(--transition)}.hamburger .hamburger-line{display:block;width:24px;height:2px;background-color:var(--color-text);border-radius:2px;transition:var(--transition);transform-origin:center}.hamburger.open .line1{transform:translateY(8px) rotate(45deg)}.hamburger.open .line2{opacity:0;transform:scaleX(0)}.hamburger.open .line3{transform:translateY(-8px) rotate(-45deg)}@media(max-width: 768px){.hamburger{display:flex}}.mobile-menu{position:fixed;inset:0;padding-top:var(--nav-height);background:var(--color-bg);z-index:190;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:36px;width:100%;padding:0 40px}.mobile-menu nav ol{display:flex;flex-direction:column;align-items:center;gap:24px;list-style:none;padding:0;width:100%}.mobile-menu nav ol li a{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--font-display);font-size:clamp(20px,5vw,28px);font-weight:600;color:var(--color-text);text-decoration:none;transition:var(--transition)}.mobile-menu nav ol li a span{font-family:var(--font-mono);font-size:12px;color:var(--color-accent)}.mobile-menu nav ol li a:hover{color:var(--color-accent);opacity:1}.mobile-menu nav .btn-outline-mobile{display:inline-flex;align-items:center;padding:10px 28px;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-accent);border:1.5px solid var(--color-accent);border-radius:4px;text-decoration:none;transition:var(--transition)}.mobile-menu nav .btn-outline-mobile:hover{background:var(--color-accent-dim);opacity:1}@media(min-width: 769px){.mobile-menu{display:none !important}}body.menu-open{overflow:hidden}.social-sidebar{position:fixed;bottom:0;z-index:10;display:flex;flex-direction:column;align-items:center;gap:0}@media(max-width: 1080px){.social-sidebar{display:none}}.social-sidebar-left{left:32px}.social-sidebar-left ul{display:flex;flex-direction:column;align-items:center;gap:16px;list-style:none;padding:0;margin:0 0 16px 0}.social-sidebar-left ul li a{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);text-decoration:none;transition:var(--transition)}.social-sidebar-left ul li a svg{display:block}.social-sidebar-left ul li a:hover{color:var(--color-accent);opacity:1;transform:translateY(-4px)}.social-sidebar-right{right:32px}.social-sidebar-right .email-link{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--color-text-muted);text-decoration:none;writing-mode:vertical-rl;margin-bottom:16px;transition:var(--transition)}.social-sidebar-right .email-link:hover{color:var(--color-accent);opacity:1;transform:translateY(-4px)}.sidebar-line{display:block;width:1px;height:90px;background-color:var(--color-text-muted);opacity:.4;flex-shrink:0}.social-bar{display:flex;flex-direction:column;align-items:center;gap:20px;padding:48px 40px 32px}.social-bar .social-bar-icons{display:flex;align-items:center;gap:24px;list-style:none;padding:0;margin:0}.social-bar .social-bar-icons li a{display:flex;align-items:center;color:var(--color-text-muted);transition:var(--transition)}.social-bar .social-bar-icons li a:hover{color:var(--color-accent);opacity:1;transform:translateY(-3px)}.social-bar .social-bar-email{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;color:var(--color-text-muted);text-decoration:none;transition:var(--transition)}.social-bar .social-bar-email:hover{color:var(--color-accent);opacity:1}.footer{padding:0 40px 28px}.footer .footer-content{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.footer .footer-content p{font-family:var(--font-mono);font-size:13px;color:var(--color-text-muted)}.footer .footer-content p a{color:var(--color-accent)}.footer .footer-content p a:hover{opacity:.75}.footer .footer-content .footer-sep{font-family:var(--font-mono);font-size:13px;color:var(--color-text-muted);opacity:.35}.social-bottom{display:none;flex-direction:column;align-items:center;padding:40px 20px 28px}.social-bottom .social-bottom-icons{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;list-style:none;padding:0}.social-bottom .social-bottom-icons li a{display:flex;align-items:center;color:var(--color-text-muted);transition:var(--transition)}.social-bottom .social-bottom-icons li a:hover{color:var(--color-accent);opacity:1;transform:translateY(-3px)}@media(max-width: 1080px){.social-bottom{display:flex}}.section-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--nav-height)}.section-hero .hero-greeting{font-family:var(--font-mono);font-size:clamp(14px,1.5vw,16px);color:var(--color-accent);margin-bottom:20px;letter-spacing:.05em}.section-hero .hero-name{font-family:var(--font-display);font-size:clamp(48px,8vw,90px);font-weight:700;line-height:1;color:var(--color-text);margin-bottom:12px;letter-spacing:-0.02em}.section-hero .hero-sub{font-family:var(--font-display);font-size:clamp(26px,4.5vw,54px);font-weight:400;font-style:italic;line-height:1.15;color:var(--color-text-muted);margin-bottom:28px;max-width:680px}.section-hero .hero-desc{font-size:clamp(15px,1.6vw,18px);color:var(--color-text-muted);max-width:520px;line-height:1.75;margin-bottom:44px}.section-hero .hero-desc a{color:var(--color-accent);border-bottom:1px solid currentColor}.section-hero .hero-desc a:hover{opacity:.72}.section-hero .hero-links{display:flex;gap:16px;flex-wrap:wrap}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}@media(max-width: 860px){.about-grid{grid-template-columns:1fr;gap:36px}}.about-bio-text{font-size:17px;line-height:1.8;color:var(--color-text)}.about-bio-text p{margin-bottom:14px}.about-bio-text p:last-child{margin-bottom:0}.about-bio-text a{color:var(--color-accent);border-bottom:1px solid currentColor}.about-bio-text a:hover{opacity:.72}.about-bio-text strong{font-weight:600}.about-info-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;padding:28px 28px 24px;font-size:14px}.about-info-card .info-section{margin-bottom:24px}.about-info-card .info-section:last-child{margin-bottom:0}.about-info-card .info-label{font-family:var(--font-mono);font-size:11px;color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.about-info-card .info-row{display:flex;gap:8px;margin-bottom:6px;font-size:14px}.about-info-card .info-row .info-key{color:var(--color-text-muted);min-width:88px;flex-shrink:0}.about-info-card .info-row .info-val{color:var(--color-text)}.about-info-card .info-row .info-val a{color:var(--color-accent)}.about-info-card .info-row .info-val a:hover{opacity:.75}.about-info-card .interest-tags{display:flex;flex-wrap:wrap;gap:6px}.about-info-card .edu-item{margin-bottom:10px}.about-info-card .edu-item:last-child{margin-bottom:0}.about-info-card .edu-item .edu-degree{font-weight:600;color:var(--color-text)}.about-info-card .edu-item .edu-school{color:var(--color-text-muted);font-size:13px}.about-info-card .edu-item .edu-year{font-family:var(--font-mono);font-size:12px;color:var(--color-accent)}.section{padding:100px 0}@media(max-width: 768px){.section{padding:64px 0}}.section-alt{background-color:var(--color-bg-alt)}.section-label{display:block;font-family:var(--font-mono);font-size:13px;color:var(--color-accent);letter-spacing:.1em;margin-bottom:8px}.section-title{font-family:var(--font-display);font-size:clamp(24px,4vw,36px);font-weight:700;color:var(--color-text);margin-bottom:48px}.section-title::after{content:"";display:block;width:56px;height:3px;background:var(--color-accent);margin-top:12px;border-radius:2px}.publications-list{display:flex;flex-direction:column}.publication-item{padding:28px 0;border-bottom:1px solid var(--color-border)}.publication-item:first-child{border-top:1px solid var(--color-border)}.publication-item .pub-title{font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1.35;margin-bottom:6px}.publication-item .pub-title a{color:inherit;text-decoration:none}.publication-item .pub-title a:hover{color:var(--color-accent);opacity:1}.publication-item .pub-authors{font-size:15px;color:var(--color-text);margin-bottom:3px}.publication-item .pub-authors strong{font-weight:700}.publication-item .pub-venue{font-size:14px;color:var(--color-text-muted);margin-bottom:14px}.publication-item .pub-abstract{margin-bottom:14px;font-size:14px}.publication-item .pub-abstract summary{cursor:pointer;color:var(--color-accent);font-weight:500;user-select:none}.publication-item .pub-abstract summary:hover{opacity:.75}.publication-item .pub-abstract p{margin-top:10px;color:var(--color-text-muted);line-height:1.65}.publication-item .pub-links{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.publication-item .pub-links .pub-link{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--color-accent);text-decoration:none;border:1px solid var(--color-accent);padding:3px 10px;border-radius:3px;transition:var(--transition)}.publication-item .pub-links .pub-link:hover{background:var(--color-accent);color:var(--color-bg);opacity:1}.publication-item .pub-tags{margin-top:6px}.talks-list{display:flex;flex-direction:column}.talk-item{display:grid;grid-template-columns:110px 1fr;gap:0 28px;padding:24px 0;border-bottom:1px solid var(--color-border)}.talk-item:first-child{border-top:1px solid var(--color-border)}@media(max-width: 560px){.talk-item{grid-template-columns:1fr;gap:8px}}.talk-item .talk-date{font-family:var(--font-mono);font-size:13px;color:var(--color-text-muted);padding-top:4px;white-space:nowrap}.talk-item .talk-title{font-family:var(--font-display);font-size:18px;font-weight:600;margin-bottom:4px}.talk-item .talk-venue{font-size:14px;color:var(--color-text-muted);margin-bottom:10px}.talk-item .talk-links{display:flex;gap:10px}.talk-item .talk-links .talk-link{font-family:var(--font-mono);font-size:12px;color:var(--color-accent);text-decoration:none;border:1px solid var(--color-accent);padding:2px 9px;border-radius:3px;transition:var(--transition)}.talk-item .talk-links .talk-link:hover{background:var(--color-accent);color:var(--color-bg);opacity:1}.featured-projects{display:flex;flex-direction:column;gap:80px;margin-bottom:80px}@media(max-width: 768px){.featured-projects{gap:48px;margin-bottom:48px}}.featured-project{position:relative;display:grid;grid-template-columns:repeat(12, 1fr);align-items:center}.featured-project:nth-child(even) .fp-content{grid-column:1/8;text-align:left;align-items:flex-start}.featured-project:nth-child(even) .fp-image{grid-column:6/13}@media(max-width: 768px){.featured-project{display:flex;flex-direction:column;gap:0}}.fp-image{grid-column:1/8;grid-row:1;z-index:1;border-radius:6px;overflow:hidden;border:1px solid var(--color-fp-border);aspect-ratio:16/10;transition:var(--transition-slow)}.fp-image:hover{opacity:.9}.fp-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(20%);transition:var(--transition-slow)}.fp-image img:hover{filter:none}.fp-image .fp-placeholder{width:100%;height:100%;min-height:220px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;color:var(--color-text-muted)}.fp-image .fp-placeholder svg{opacity:.25}.fp-image .fp-dead{flex-direction:column;gap:12px}.fp-image .fp-dead svg{color:var(--color-text-muted);opacity:.55;transition:var(--transition-slow)}.fp-image .fp-dead .fp-dead-label{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);letter-spacing:.06em;opacity:.6}.fp-image .fp-dead:hover svg{opacity:.85}@media(max-width: 768px){.fp-image{width:100%;border-radius:6px 6px 0 0;border-bottom:none}}.fp-content{grid-column:6/13;grid-row:1;z-index:2;display:flex;flex-direction:column;align-items:flex-end;text-align:right}@media(max-width: 768px){.fp-content{align-items:flex-start;text-align:left;padding:24px 24px 28px;background:var(--color-fp-bg);border:1px solid var(--color-fp-border);border-top:none;border-radius:0 0 6px 6px;width:100%}}.fp-label{font-family:var(--font-mono);font-size:12px;color:var(--color-accent);letter-spacing:.1em;margin-bottom:10px}.fp-title{font-family:var(--font-display);font-size:clamp(20px,2.5vw,28px);font-weight:700;color:var(--color-text);margin-bottom:20px}.fp-title a{color:inherit;text-decoration:none}.fp-title a:hover{color:var(--color-accent);opacity:1}.fp-desc{background:var(--color-fp-bg);border:1px solid var(--color-fp-border);border-radius:6px;padding:22px 26px;font-size:15px;line-height:1.7;color:var(--color-text);margin-bottom:20px;box-shadow:var(--shadow-sm)}@media(min-width: 769px){.fp-desc{position:relative;z-index:3}}@media(max-width: 768px){.fp-desc{background:rgba(0,0,0,0);border:none;padding:0;box-shadow:none;margin-bottom:16px}}.fp-tech{display:flex;flex-wrap:wrap;gap:16px;list-style:none;padding:0;margin-bottom:16px;justify-content:flex-end}.fp-tech li{font-family:var(--font-mono);font-size:13px;color:var(--color-text-muted)}@media(max-width: 768px){.fp-tech{justify-content:flex-start}}.fp-links{display:flex;gap:16px}.fp-links a{color:var(--color-text-muted);transition:var(--transition)}.fp-links a:hover{color:var(--color-accent);opacity:1;transform:translateY(-2px)}.project-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:6px;padding:28px 24px 22px;display:flex;flex-direction:column;transition:var(--transition)}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--color-accent)}.project-card .project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.project-card .project-header .project-folder{color:var(--color-accent)}.project-card .project-header .project-links{display:flex;gap:12px}.project-card .project-header .project-links a{color:var(--color-text-muted);transition:var(--transition)}.project-card .project-header .project-links a:hover{color:var(--color-accent);opacity:1}.project-card .project-title{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:10px;color:var(--color-text)}.project-card .project-description{font-size:14px;color:var(--color-text-muted);line-height:1.65;flex:1;margin-bottom:20px}.project-card .project-tech{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin-top:auto}.project-card .project-tech li{font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted)}.project-card .project-tech li:not(:last-child)::after{content:"·";margin-left:8px}.experience-timeline{display:flex;flex-direction:column;position:relative}.experience-timeline::before{content:"";position:absolute;left:148px;top:16px;bottom:16px;width:1px;background:var(--color-border)}@media(max-width: 600px){.experience-timeline::before{display:none}}.timeline-item{display:grid;grid-template-columns:140px 20px 1fr;column-gap:20px;padding:22px 0;align-items:start}@media(max-width: 600px){.timeline-item{grid-template-columns:1fr;gap:8px}}.timeline-item .timeline-left{text-align:right;padding-top:3px}.timeline-item .timeline-left .timeline-date{font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted);white-space:nowrap}@media(max-width: 600px){.timeline-item .timeline-left{text-align:left}}.timeline-item .timeline-dot{width:10px;height:10px;background:var(--color-accent);border-radius:50%;margin-top:6px;flex-shrink:0}@media(max-width: 600px){.timeline-item .timeline-dot{display:none}}.timeline-item .timeline-right .timeline-title{font-family:var(--font-display);font-size:18px;font-weight:600;margin-bottom:4px}.timeline-item .timeline-right .timeline-institution{font-size:15px;color:var(--color-accent);margin-bottom:8px}.timeline-item .timeline-right .timeline-institution a{color:inherit}.timeline-item .timeline-right .timeline-institution a:hover{opacity:.75}.timeline-item .timeline-right .timeline-description{font-size:14px;color:var(--color-text-muted);line-height:1.65}.section-contact{text-align:center}.section-contact .section-title::after{margin:12px auto 0}.section-contact .contact-text{font-size:17px;color:var(--color-text-muted);max-width:480px;margin:0 auto 36px;line-height:1.75}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 28px;border-radius:4px;font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:var(--transition);text-decoration:none;border:none}.btn.btn-primary{background-color:var(--color-accent);color:var(--color-bg)}.btn.btn-primary:hover{filter:brightness(1.1);opacity:1;transform:translateY(-2px);box-shadow:var(--shadow)}.btn.btn-outline{background:rgba(0,0,0,0);color:var(--color-accent);border:1.5px solid var(--color-accent)}.btn.btn-outline:hover{background:var(--color-accent-dim);opacity:1;transform:translateY(-2px)}.btn.btn-large{padding:15px 40px;font-size:16px}.tag{display:inline-block;padding:3px 10px;background:var(--color-accent-dim);color:var(--color-accent);font-family:var(--font-mono);font-size:11px;border-radius:3px;margin-right:5px;margin-bottom:4px}/*# sourceMappingURL=main.css.map */