/* Official-logo samples: black #000000, blue #0091fc, turquoise #26cdd9,
   and the pale violet #dcd8f1. Dark surfaces and stronger violet are tonal variants. */
:root{--ink:#e2eaf6;--navy:#050b16;--teal:#26cdd9;--muted:#a8bad1;--paper:#080e1b;--line:#2c3c55;--gold:#b8a2e4;--surface:#0e1728;--violet:#b8a2e4;color-scheme:dark}
html,body{background:#080e1b;color:#e2eaf6}
header{background:#080e1b!important;border-color:#243550}
header nav,header .language,header .menu-toggle{color:#d9e7f7}
.brand img,.footer-official-logo{background:transparent;border-radius:0;padding:0}
.brand{background:none!important}
#main-nav{background:#080e1b!important}
#main-nav a[aria-current=page]:after{background:#26cdd9!important}
footer{background:#040810!important;color:#acbdd3;border-color:#263750}
footer h2,footer .eyebrow{color:#e1eaf6}
:root body main :is(h1,h2,h3,h4){color:#e7eef9!important}
:root body main :is(p,li,dt,dd,label,summary,th,td,time){color:#b6c7dc!important}
main a{color:#85dfe9}
:root :is(.page-intro,.research-section,.research-contents,.research-context,.strain-chapter,.complementary-research,.home-people-band,.home-news-band,.home-glimpse-band,.material-scene-films,.project-card,.source-card,.contact-panel,.synchrotron-cinema){background:#0e1728!important;color:#d6e4f4;border-color:#2c3c55}
.home-materials,.material-scene-metals,.material-scene-interfaces,.home-section{background:#080e1b}
:root :is(.research-figure,.research-figure-wide,.research-figure-panel,.home-portal,.home-person-portrait,.home-paper-details .paper-details,.cinema-paper){background:#111d30!important;color:#b6c7dc;border-color:#31435e}
.research-figure img,.research-figure-wide img,.research-figure-panel img{background:#fff}
.material-art{background:#0e1728!important;border:1px solid #243650}
.material-art>img{border-radius:0}
.material-navigation{background:#101b2e!important;border-color:#30445f;color:#91dce6}
.material-number,.material-number span,.home-scroll-line{color:#26cdd9}
.material-number span{background:#26cdd9!important}
.home-lab-name,.home-hero-ident,.home-hero-lede,.home-person-role,.home-person-area,.home-paper-meta,.paper-meta,.publication-meta,.home-photo-credit{color:#b8cbe1!important}
.home-illustrated-hero{background:#050b16!important}
.home-hero::before{background:none!important}
.home-hero-art::after{background:linear-gradient(90deg,#050b16 0%,#050b16f5 28%,#050b169c 49%,#050b1633 78%,#050b1622)!important}
.home-illustrated-hero .home-hero-copy{color:#e7eef9}
.home-illustrated-hero .home-hero-lede{color:#c5d8eb!important}
.home-action,.button{background:#26cdd9!important;border-color:#26cdd9!important;color:#03111f!important}
.home-action-secondary{background:#0e172899!important;color:#dcd8f1!important;border-color:#b8a2e4!important}
.home-motion,.home-scroll,.home-text-link{color:#a5e8e7}
.home-scroll-line::after{background:#b8a2e4!important}
.home-glimpse-figure .home-figure-image{background:#fff!important}
.home-paper-details,.home-selected-paper,.home-update,.home-person,.chapter-heading,.archive-row,.activity-row{border-color:#2c3c55!important}
.home-hero-art img{opacity:.83}
.floating-keywords .keyword-slot{color:#9cf1e4}
.floating-keywords .keyword-slot-2{color:#dcd8f1}
.keyword-item{background:radial-gradient(ellipse,#071321ba,transparent 74%)!important;text-shadow:0 1px 7px #030710!important}
.equation-float{color:#c9d8f1;background:radial-gradient(ellipse,#071321c9,transparent 78%)!important;opacity:.8}
.equation-context{color:#b1c7e0}
.equation-key{color:#b6c7dc}
.equation-definition{border-color:#2c3c55}
.equation-definition a{color:#82dfe6}
.cinema-atmosphere{opacity:.12}
.cinema-kicker,.cinema-introduction,.cinema-basis,.cinema-sources,.mft-method-name{color:#afc7df!important}
.cinema-label,.cinema-symbol,.cinema-axes text,.tracking-labels text{fill:#bcd3ea!important}
.cinema-field,.cinema-axes path{stroke:#8c9dbe!important}
.cinema-magnet{fill:#0091fc14;stroke:#618aaf}
.cinema-pole-N{fill:#26cdd923}
.cinema-pole-S{fill:#b8a2e421}
.cinema-magnet text{fill:#bdd2e5}
.ring-outer,.ring-inner{fill:none;stroke:#5c7b9f}
#cinema-electron-orbit{stroke:#94accb}
.cinema-electron{fill:#b8a2e4}
.cinema-photon{fill:#26cdd9}
#cinema-photon-path,.xray-halo,.micro-ray-in,.micro-ray-out,.nano-ray{stroke:#26cdd9!important}
.xray-halo{opacity:.1}
.crystal-plane,.crystal-back{stroke:#a9bdd9;fill:#a9bdd914}
.sample-wireframe path,.loading-frame{stroke:#9bb3ce!important;fill:#0091fc08}
.sample-features circle{fill:#7bebdd}
.sample-axis,.sample-rotation,.cinema-sample>path{stroke:#839cb8}
.upper-grip,.cinema-loading>path:not(.loading-frame){stroke:#bccce0}
.cinema-roi{stroke:#b8a2e4}
.zone-plate{stroke:#7bebdd}
.visible-light,.visible-objective{stroke:#c3a7ea!important}
.scintillator{stroke:#7bebdd;fill:#26cdd923}
.ccd{stroke:#b8a2e4;fill:#b8a2e41a}
.cinema-equation{color:#9edbea;opacity:.8}
.reconstruction-volume,.reconstruction-slices,.cinema-reconstruction rect{stroke:#789abd;fill:#0091fc0a}
.cinema-reconstruction ellipse{stroke:#8ccbcc;fill:#26cdd91a}
.cinema-caption p,.mft-workflow p,.cinema-reasons p,.mft-technical p{color:#b6c7dc!important}
.cinema-controls button{color:#a2bad1}
.cinema-step[aria-pressed=true]{color:#7bebdd!important;border-color:#26cdd9}
.cinema-inspect{color:#7bebdd!important;border-color:#26cdd9}
.cinema-progress{background:#263952}
.cinema-progress span{background:#26cdd9}
.cinema-paper,.cinema-mft,.cinema-purpose,.ct-comparison{border-color:#30425e!important}
.mft-technical,.cinema-methods{color:#b6c7dc}
.publication-tools input,.publication-tools select,input,select{background:#111d30!important;color:#dce8f7!important;border-color:#425678!important}
input::placeholder{color:#9ab0ca}
.publication-card,.paper-card,.project-card,.activity-card,.source-card,.contact-panel{background:#0e1728!important;border-color:#30425e!important}
.publication-card p,.project-card p,.source-card p,.contact-panel p,.research-prose p{color:#b6c7dc!important}
.eyebrow,.page-kicker,.research-subtitle,.chapter-heading>span{color:#79dce7!important}
.chapter-heading{background:transparent!important;border-color:#30425e}
.menu-toggle{background:none!important;color:#dce8f7}
@media(max-width:850px){.home-hero-art::after{background:linear-gradient(180deg,#050b1630,#050b161a 65%,#080e1b55)!important}.home-hero-art img{opacity:.92}}

.floating-equations-films .equation-float-photon{left:3%;top:6%}.floating-equations-films .equation-float-bandgap{right:3%;top:37%}.floating-equations-films .equation-float-faraday{left:3%;bottom:5%}.floating-keywords-films .keyword-slot-1{top:23%}.floating-keywords-films .keyword-slot-2{bottom:25%}
.mft-matched-pair{font-size:18px;line-height:1.8;padding:15px 0;color:#dcd8f1}.mft-explorer:not([data-step="1"]) .mft-matched-pair{visibility:hidden}

header{position:relative;isolation:isolate}.brand,.language,.menu-toggle{z-index:2}header nav{z-index:3}.brand>svg{display:none!important}
.brand-motion{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;--logo-x:100px;--logo-y:75px;opacity:0}
.brand-ring{position:absolute;left:var(--logo-x);top:var(--logo-y);width:90px;height:90px;margin:-45px;border:.8px solid #26cdd9;border-radius:50%;opacity:0}
.brand-ring:nth-child(even){border-color:#c4a1f7}
.brand-bokeh{position:absolute;left:var(--left);top:var(--top);width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,var(--bokeh-colour),transparent 70%);opacity:0}
.brand-diffraction-spot{position:absolute;left:var(--logo-x);top:var(--logo-y);width:3px;height:3px;margin:-1.5px;border-radius:50%;background:#a5fff0;box-shadow:0 0 9px #26cdd9;opacity:0}
.brand-diffraction-spot:nth-child(3n){background:#efd8ff;box-shadow:0 0 9px #b8a2e4}
@media(min-width:851px){header #main-nav{background:transparent!important}}

/* Fade the decorative sketches into their section; labels remain crisp. */
.material-art{border:0!important;box-shadow:none!important;background:transparent!important;overflow:visible}
.material-art>img{mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 93%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 93%,transparent);-webkit-mask-composite:source-in}
.home-hero-art>img{mask-image:linear-gradient(180deg,#000 0%,#000 89%,transparent 100%)}

/* One intact optical sequence; its final frame is the official static artwork. */
header{height:144px}header .brand{height:136px;overflow:visible}
.brand:after{left:8px;right:10px;bottom:5px;font-size:10px;line-height:1.25;font-weight:400;letter-spacing:.055em;text-align:center;color:#d3e2f3;text-shadow:0 1px 3px #030810}
.page-home .brand::before{display:none}
.page-home .brand img.official-logo{animation:none!important;opacity:1;transform:none!important}
.logo-optics{display:none;position:absolute;left:0;top:0;width:var(--logo-width,240px);pointer-events:none}
.logo-optics svg{display:block;width:100%;height:auto;overflow:visible}
.logo-optical-bokeh{opacity:0;filter:blur(4px);transform-box:fill-box;transform-origin:center}
.logo-clean-ring{fill:none;stroke:url(#logo-pearl-spectrum);stroke-width:4.2;opacity:.48}
.logo-clean-ring-inner{stroke:#e1eff0;stroke-width:1.7;opacity:.18}
.logo-pearl-facet{stroke:#081721;stroke-width:4.5;stroke-linejoin:round}
.logo-crystal-outline{fill:none;stroke:#d1e4e4;stroke-width:1.2;opacity:.55}
.logo-crystal-glint{fill:#fff8f0;opacity:0;mix-blend-mode:screen}
.logo-beam-sweep{transform-origin:242px 425px;color:#edc6b8}
.logo-beam-sweep path{fill:none;stroke:currentColor;stroke-linecap:round}
.logo-beam-halo{stroke-width:27;filter:url(#logo-beam-glow);opacity:.8}
.logo-beam-core{stroke-width:7}
.logo-beam-white{stroke:#fff9f3!important;stroke-width:1.8;opacity:.85}
.logo-impact-particle{fill:#e8eff3;opacity:0}
.logo-impact-particle:nth-child(3n){fill:#cbbbe7}
.logo-impact-particle:nth-child(3n+1){fill:#f3d8b8}
.logo-impact-particle:nth-child(3n+2){fill:#b4dcec}
.logo-impact-core{fill:#fffaf4;filter:url(#logo-particle-glow);opacity:0}
.brand-ring:nth-child(3n){border-color:#efd7be}
.brand-bokeh{background:radial-gradient(circle,#fff9f344 0,var(--bokeh-colour) 38%,transparent 72%)}
.brand-settled .logo-optics,.brand-settled .brand-motion{display:none}
@media(prefers-reduced-motion:no-preference){
 .brand-optics-ready:not(.brand-settled) .logo-optics{display:block;animation:logo-optics-lifetime 18s linear both}
 .brand-optics-ready:not(.brand-settled) .brand img.official-logo{animation:logo-static-return 18s linear both!important}
 .brand-optics-ready .logo-beam-sweep{animation:logo-beam-steer 15s ease-in-out both,logo-optical-colour 15s ease-in-out both}
 .brand-optics-ready .logo-beam-pulse{animation:logo-beam-breathe 1.6s ease-in-out .45s 9 alternate}
 .brand-optics-ready .logo-beam-core,.brand-optics-ready .logo-beam-white{stroke-dasharray:1;animation:logo-beam-arrival 1.2s ease-out both}
 .brand-optics-ready .logo-crystal-colour{animation:logo-pearl-shine 15s ease-in-out both}
 .brand-optics-ready .logo-pearl-flow{animation:logo-pearl-flow 15s ease-in-out both}
 .brand-optics-ready .logo-crystal-vibration{animation:logo-crystal-vibrate .18s ease-in-out 1.1s 70 alternate;transform-origin:263px 409px}
 .brand-optics-ready .logo-crystal-glint{animation:logo-facet-glint 2.8s ease-in-out .7s 5}
 .brand-optics-ready .logo-impact-particle{animation:logo-particle-flight 3.3s cubic-bezier(.1,.55,.4,1) var(--delay) 2}
 .brand-optics-ready .logo-impact-core{animation:logo-impact-breathe 1.6s ease-in-out 1.1s 8}
 .brand-optics-ready .logo-optical-bokeh{animation:logo-bokeh-shimmer 16.5s ease-in-out var(--delay) both}
 .brand-optics-ready .brand-motion{animation:logo-optics-lifetime 18s linear both}
 .brand-optics-ready .brand-ring{animation:brand-ring-expand 9.5s cubic-bezier(.12,.45,.5,1) var(--delay) both}
 .brand-optics-ready .brand-bokeh{animation:brand-bokeh-shine 15s ease-in-out var(--delay) both}
 .brand-optics-ready .brand-diffraction-spot{animation:brand-spot-out 8s cubic-bezier(.1,.55,.4,1) var(--delay) both}
 @keyframes logo-optics-lifetime{0%,82%{opacity:1}100%{opacity:0}}
 @keyframes logo-static-return{0%,87%{opacity:0}100%{opacity:1}}
 @keyframes logo-beam-arrival{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
 @keyframes logo-optical-colour{0%,10%{color:#edb9b4}27%{color:#f1d5ac}44%{color:#bce6d6}61%{color:#afd8ef}78%{color:#c9b6e5}94%{color:#f0eaf2}100%{color:#b6e7db}}
 @keyframes logo-beam-steer{0%{transform:rotate(-32deg);opacity:0}12%{opacity:1;transform:rotate(-10deg)}30%{transform:rotate(18deg)}50%{transform:rotate(-23deg)}70%{transform:rotate(25deg)}88%{transform:rotate(0);opacity:1}100%{transform:rotate(0);opacity:0}}
 @keyframes logo-beam-breathe{from{opacity:.5}to{opacity:1}}
 @keyframes logo-pearl-shine{0%,100%{filter:saturate(.85) brightness(1)}22%{filter:saturate(.95) brightness(1.16)}46%{filter:saturate(.8) brightness(1.26)}70%{filter:saturate(.9) brightness(1.12)}}
 @keyframes logo-pearl-flow{0%{transform:translate(-22px,55px)}28%{transform:translate(15px,-25px)}55%{transform:translate(-12px,-75px)}78%{transform:translate(22px,25px)}100%{transform:translate(0,0)}}
 @keyframes logo-crystal-vibrate{0%,100%{transform:translate(-1.3px,.5px) rotate(-.12deg)}50%{transform:translate(1.3px,-.6px) rotate(.12deg)}}
 @keyframes logo-facet-glint{0%,12%{opacity:0;transform:translateX(-140px)}45%{opacity:.44}80%,100%{opacity:0;transform:translateX(170px)}}
 @keyframes logo-particle-flight{0%{opacity:0;transform:translate(0,0) scale(.25)}12%{opacity:.85}85%,100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.45)}}
 @keyframes logo-impact-breathe{0%,100%{opacity:.08;transform:scale(.96)}50%{opacity:.7;transform:scale(1.01)}}
 @keyframes logo-bokeh-shimmer{0%,100%{opacity:0;transform:translate(0,5px) scale(.88);filter:blur(5px) hue-rotate(-8deg)}23%{opacity:.55;transform:translate(calc(var(--drift-x)*.4),calc(var(--drift-y)*.3)) scale(1.03)}52%{opacity:.76;transform:translate(var(--drift-x),var(--drift-y)) scale(1.12);filter:blur(3px) hue-rotate(16deg)}78%{opacity:.38;transform:translate(calc(var(--drift-x)*-.2),calc(var(--drift-y)*.6)) scale(.96);filter:blur(6px) hue-rotate(-12deg)}}
 @keyframes brand-ring-expand{0%{transform:scale(.3);opacity:0}12%{opacity:.32}65%{opacity:.16}100%{transform:scale(34);opacity:0}}
 @keyframes brand-bokeh-shine{0%,100%{transform:translate(-12px,7px) scale(.8);opacity:0;filter:blur(2px) hue-rotate(-9deg)}28%{opacity:.38;transform:translate(4px,-8px) scale(1.08)}62%{transform:translate(var(--drift-x),var(--drift-y)) scale(1.2);opacity:.3;filter:blur(1px) hue-rotate(15deg)}83%{opacity:.16;transform:translate(10px,3px) scale(.94)}}
 @keyframes brand-spot-out{0%{transform:translate(0,0);opacity:0}12%,50%{opacity:.7}100%{transform:translate(var(--dx),var(--dy));opacity:0}}
}
.motion-paused .logo-optics,.document-hidden .logo-optics,.brand-offscreen .logo-optics,
.motion-paused .logo-optics *,.document-hidden .logo-optics *,.brand-offscreen .logo-optics *,
.motion-paused .brand-motion,.document-hidden .brand-motion,.brand-offscreen .brand-motion,
.motion-paused .brand-motion *,.document-hidden .brand-motion *,.brand-offscreen .brand-motion *{animation-play-state:paused!important}
.document-hidden .brand-optics-ready .brand img.official-logo,.brand-optics-ready.brand-offscreen .brand img.official-logo{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.logo-optics,.brand-motion{display:none!important}.page-home .brand img.official-logo{animation:none!important;opacity:1!important}}


.home-collaboration{padding-top:45px;padding-bottom:68px;border-top:1px solid #2c3c55;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}
.home-collaboration h2{font-size:29px;margin:12px 0 16px}.home-collaboration p{font-size:18px}.home-collaboration>a{font-size:21px;line-height:1.7;text-decoration:underline;text-underline-offset:6px}
@media(max-width:850px){#main-nav{top:143px}.home-collaboration{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){header{height:128px}header .brand{height:120px}.brand:after{font-size:9.5px;left:0;right:0;bottom:6px;letter-spacing:.015em;text-align:left}#main-nav{top:127px}.home-collaboration{padding-top:36px;padding-bottom:48px}}
@media(max-width:380px){.brand:after{font-size:8px;letter-spacing:0}.logo-optics{top:12px}}


/* Source captions and links retain the dark theme's reading contrast. */
body main a,body main a:visited{color:#85dfe9!important}
body main .home-action,body main .button{color:#03111f!important}
body main .home-action-secondary{color:#dcd8f1!important}
body main :is(.research-figure,.research-figure-wide,.research-figure-panel) figcaption{color:#bdcee3!important}
body main :is(.research-figure,.research-figure-wide,.research-figure-panel) figcaption>[data-ja]{color:#bdcee3!important}
body main .student-note{background:#111d30!important;color:#bdcee3}
body main .page-intro .lede{color:#b6c7dc!important}
body main .pub-year{color:#9fc9e9!important}
body main .email-image{filter:brightness(0) invert(1);opacity:.87}
.publication h2,.full-citation{overflow-wrap:anywhere}

body main .material-navigation a span{color:inherit!important}
