:root{--color-navy: #1a4468;--color-blue: #235787;--color-blue-l: #2c6ea3;--color-bg: #ffffff;--color-gray: #f5f7fa;--color-slate: #e8edf4;--color-text: #1a202c;--color-muted: #4a5570;--color-border: #cdd6e4;--font-heading: "Source Serif 4", Georgia, "Times New Roman", serif;--font-body: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 6px;--shadow-sm: 0 1px 3px rgba(26, 68, 104, .06);--shadow-md: 0 4px 12px rgba(26, 68, 104, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}a{color:var(--color-blue);text-decoration:none;transition:color .2s}a:hover{color:var(--color-navy);text-decoration:underline}img{max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.3;color:var(--color-navy)}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.35rem,3vw,1.875rem)}h3{font-size:1.2rem}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.site-header{background:var(--color-navy);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;max-width:1100px;margin:0 auto;height:64px}.site-logo{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:700;font-size:1rem;text-decoration:none}.site-logo:hover{color:#e2e8f0;text-decoration:none}.site-logo img{height:30px;width:auto;max-width:min(280px,calc(100vw - 80px));filter:brightness(0) invert(1);object-fit:contain;object-position:left center}.nav-links{display:flex;list-style:none;align-items:center;gap:.25rem}.nav-links a{color:#ffffffe0;padding:.4rem .75rem;border-radius:4px;font-family:var(--font-body);font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.nav-links a:hover,.nav-links a.active{background:#ffffff26;color:#fff}.lang-switch{display:flex;gap:.2rem;margin-left:.75rem;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.25)}.lang-switch a{color:#ffffffa6;font-size:.8rem;font-weight:600;padding:.2rem .45rem;border-radius:3px;text-transform:uppercase;text-decoration:none}.lang-switch a:hover{color:#fff;text-decoration:none}.lang-switch a.current{color:#fff;background:#fff3}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.menu-toggle span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .2s}#menu-check{display:none}@media(max-width:768px){.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--color-navy);flex-direction:column;padding:1rem 1.5rem;gap:.1rem;align-items:flex-start;box-shadow:0 4px 12px #0003}#menu-check:checked~nav .nav-links{display:flex}.lang-switch{margin-left:0;padding-left:0;border-left:none;padding-top:.5rem;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.2);width:100%}}.hero{background:linear-gradient(135deg,var(--color-navy) 0%,var(--color-blue-l) 100%);color:#fff;padding:4rem 1.5rem 3.5rem;text-align:center}.hero-logo{height:auto;width:min(320px,80%);filter:brightness(0) invert(1);margin-bottom:1.25rem}.hero h1{color:#fff;font-size:clamp(1.6rem,4vw,2.5rem);margin-bottom:.75rem}.hero p{color:#ffffffd9;font-size:1.1rem;max-width:600px;margin:0 auto}.section{padding:3.5rem 0}.section-alt{background:var(--color-gray)}.section-title{font-size:1.5rem;color:var(--color-navy);margin-bottom:1.5rem}.research-sections{display:flex;flex-direction:column}.research-section{padding:2rem 0}.research-section+.research-section{border-top:1px solid var(--color-border)}.research-section h3{font-size:1.15rem;margin-bottom:.5rem}.research-section p{color:var(--color-muted);font-size:.95rem;line-height:1.7;max-width:680px;margin-bottom:.5rem}.research-section p:last-child{margin-bottom:0}.pub-list{display:flex;flex-direction:column;gap:1rem}.pub-item{border-left:3px solid var(--color-border);padding:1rem 1.5rem;transition:background .15s}.pub-item:hover{background:var(--color-gray)}.pub-item.type-journal{border-left-color:var(--color-blue)}.pub-item.type-thesis{border-left-color:#b45309}.pub-item.type-article{border-left-color:#0d9488}.pub-item.type-press{border-left-color:#7c3aed}.pub-item>a{text-decoration:none;color:inherit}.pub-links{margin-top:.5rem}.pub-fulltext{display:inline-block;font-size:.85rem;font-weight:600;color:var(--color-blue);text-decoration:none}.pub-fulltext:hover{text-decoration:underline}.pub-title{font-weight:600;color:var(--color-navy);font-size:.97rem;margin-bottom:.35rem;line-height:1.4}.pub-meta{font-size:.85rem;color:var(--color-muted)}.pub-journal{font-style:italic}.pub-type-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:3px;background:var(--color-slate);color:var(--color-blue);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.type-press .pub-type-badge{background:#ede9fe;color:#7c3aed}.pub-abstract{font-size:.9rem;color:var(--color-muted);line-height:1.65;margin-top:.75rem}.pub-doi{margin-top:.75rem;font-size:.85rem}.pub-doi a{color:var(--color-blue-l)}.pub-detail{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem}.pub-detail h1{font-size:clamp(1.3rem,3vw,1.8rem);margin-bottom:1rem}.pub-authors{color:var(--color-muted);font-size:.95rem;margin-bottom:.5rem}.news-list{display:flex;flex-direction:column}.news-item{display:flex;gap:1.25rem;padding:1rem 0;border-bottom:1px solid var(--color-border)}.news-item:last-child{border-bottom:none}.news-item a{text-decoration:none;color:inherit;display:flex;gap:1.25rem;width:100%}.news-item:hover{background:var(--color-gray);margin:0 -.75rem;padding:1rem .75rem;border-radius:var(--radius)}.news-date{font-size:.82rem;color:var(--color-muted);white-space:nowrap;min-width:6.5rem;padding-top:.15rem}.news-content h3{color:var(--color-navy);font-size:1rem;line-height:1.4;margin-bottom:.25rem}.news-content p{font-size:.88rem;color:var(--color-muted);line-height:1.55}.news-grid{display:flex;flex-direction:column}.news-card{padding:1rem 0;border-bottom:1px solid var(--color-border)}.news-card:last-child{border-bottom:none}.news-card a{text-decoration:none;color:inherit;display:block}.news-card:hover{background:var(--color-gray);margin:0 -.75rem;padding:1rem .75rem;border-radius:var(--radius)}.news-card h3{color:var(--color-navy);font-size:1rem;margin-bottom:.25rem;line-height:1.4}.news-card time{font-size:.82rem;color:var(--color-muted);display:block;margin-bottom:.4rem}.news-card p{font-size:.88rem;color:var(--color-muted);line-height:1.55}.post-detail{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem}.post-detail h1{margin-bottom:.5rem}.post-date{color:var(--color-muted);font-size:.9rem;margin-bottom:2rem}.post-body{line-height:1.8}.post-body p{margin-bottom:1em}.post-body h2{margin:1.5em 0 .5em}.post-body ul,.post-body ol{padding-left:1.5rem;margin-bottom:1em}.section-link{display:inline-block;margin-top:1.25rem;color:var(--color-blue);font-weight:600;font-size:.9rem;text-decoration:none}.section-link:hover{text-decoration:underline}.btn{display:inline-block;background:var(--color-blue);color:#fff;padding:.65rem 1.5rem;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:.95rem;transition:background .2s}.btn:hover{background:var(--color-navy)}.btn-lg{padding:.85rem 2rem;font-size:1.1rem}.tool-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm)}.tool-card h2,.tool-card h3{font-size:1.05rem;color:var(--color-navy);margin-bottom:.4rem}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.contact-box{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;max-width:560px;box-shadow:var(--shadow-sm)}.contact-box p{margin-bottom:.5rem;color:var(--color-muted);font-size:.95rem}.contact-box a{color:var(--color-blue)}.contact-name{font-size:1.15rem;font-weight:700;color:var(--color-navy);margin-bottom:.25rem}.contact-role{font-size:.9rem;color:var(--color-muted);margin-bottom:1.25rem}.tools-wrapper{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.tools-wrapper iframe{display:block;width:100%;border:none}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{background:var(--color-slate);color:var(--color-navy);font-weight:600;text-align:left;padding:.6rem 1rem}td{padding:.55rem 1rem;border-bottom:1px solid var(--color-border)}tr:last-child td{border-bottom:none}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.45rem;top:.5rem;bottom:.5rem;width:2px;background:var(--color-border)}.timeline-item{position:relative;padding-bottom:1.75rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-1.6rem;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--color-blue);border:2px solid #fff}.timeline-current:before{background:#fff;border:2px solid var(--color-blue);box-shadow:0 0 0 3px #23578733}.timeline-year{font-family:var(--font-heading);font-weight:700;font-size:.9rem;color:var(--color-blue);margin-bottom:.2rem}.timeline-content strong{color:var(--color-navy);font-size:.95rem}.timeline-content p{color:var(--color-muted);font-size:.9rem;line-height:1.55;margin-top:.2rem}.prose p{margin-bottom:1em}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1em}.prose h2{margin:1.5em 0 .5em}.prose h3{margin:1.25em 0 .4em}.prose strong{color:var(--color-navy)}.prose em{font-style:italic}.site-footer{background:var(--color-navy);color:#ffffffb3;padding:2rem 1.5rem;text-align:center;font-size:.85rem;margin-top:4rem}.site-footer a{color:#ffffffd9;text-decoration:none}.site-footer a:hover{color:#fff}.footer-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:.75rem}.footer-links a{font-size:.82rem;font-weight:600;letter-spacing:.02em}.page-hero{background:var(--color-navy);color:#fff;padding:2.5rem 1.5rem}.page-hero h1{color:#fff;font-size:clamp(1.4rem,3vw,2rem)}.page-hero p{color:#fffc;margin-top:.5rem}.back-link{display:inline-block;margin-bottom:1.5rem;color:var(--color-blue);font-size:.9rem;text-decoration:none}.back-link:hover{text-decoration:underline}
